:root {
  --educa-pink: #e71f5d;
  --educa-blue: #212148;
  --educa-light-gray: #f8f9fa;
  --educa-dark-gray: #6b7280;
}

.hero-gradient {
  background: linear-gradient(135deg, var(--educa-pink), #ad1457);
}

body {
  scroll-behavior: smooth;
}

details summary::marker {
  color: var(--educa-pink);
}

button:hover {
  opacity: 0.95;
}

.leaflet-control-zoom a {
  background-color: var(--educa-blue) !important;
  color: white !important;
}

#lista-parceiros::-webkit-scrollbar {
  width: 8px;
}
#lista-parceiros::-webkit-scrollbar-thumb {
  background: var(--educa-pink);
  border-radius: 8px;
}
#lista-parceiros::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.leaflet-popup-content-wrapper {
  border-radius: 12px !important;
  border-top: 4px solid var(--educa-pink);
  background: #ffffff;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
}
.leaflet-popup-tip {
  background: #ffffff !important;
}
/* Efeito blur para thumbnails */
.lazy-image-actual.blurred-thumbnail {
  filter: blur(5px);
  transition: filter 0.3s ease-out;
}

/* Otimização de performance */
.lazy-image-actual {
  will-change: opacity;
}

/* Skeleton loading opcional */
.image-skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
}

@keyframes loading {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}