/* ─── ASMAC Mineral v3 — Custom CSS ─────────────────────────────────────── */

/* Scroll reveal */
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal-d1 { transition-delay: 0.1s; }
.reveal-d2 { transition-delay: 0.2s; }
.reveal-d3 { transition-delay: 0.32s; }
.reveal-d4 { transition-delay: 0.44s; }

/* Nav active underline */
.nav-link-active {
  position: relative;
  color: #1A5C35;
  font-weight: 600;
}
.nav-link-active::after {
  content: '';
  position: absolute;
  left: 0; right: 0;
  bottom: -4px;
  height: 1.5px;
  background: #C9A227;
}

/* Hero photo overflow */
.hero-section { overflow: hidden; }

/* Quick card hover */
.quick-card {
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.quick-card:hover { transform: translateY(-3px); }

/* News card image zoom */
.news-thumb { overflow: hidden; }
.news-thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.news-card:hover .news-thumb img { transform: scale(1.06); }

/* Featured article image zoom */
.featured-img { overflow: hidden; }
.featured-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease;
}
.featured-card:hover .featured-img img { transform: scale(1.04); }

/* Campaign card image zoom */
.campaign-card .campaign-img {
  transition: transform 0.55s ease;
}
.campaign-card:hover .campaign-img { transform: scale(1.05); }

/* Sede photo zoom */
.sede-photo { overflow: hidden; }
.sede-photo img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease;
}
.sede-section:hover .sede-photo img { transform: scale(1.03); }

/* Custom scrollbar */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: #F5F4F1; }
::-webkit-scrollbar-thumb { background: #C0CECC; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #252928; }

/* Prevent FOUC */
[x-cloak] { display: none !important; }
