/* Fix: 100vw full-bleed sections cause a horizontal scrollbar/white gap
   because 100vw includes the scrollbar width. Suppress the outer scrollbar. */
html, body {
  overflow-x: hidden;
}

/* Fix: Astra's Transparent Header floats the header over the hero via
   position:absolute, which collided with our centered hero text. Make it
   a normal, solid, in-flow header instead so nothing overlaps. */
.ast-theme-transparent-header #masthead {
  position: relative !important;
}
.ast-theme-transparent-header .ast-above-header-wrap,
.ast-theme-transparent-header .ast-main-header-wrap,
.ast-theme-transparent-header .ast-below-header-wrap {
  background-color: #0b1120 !important;
}

/* Hero fade-up entrance animation */
.avistrata-fade-in {
  opacity: 0;
  animation: avistrataFadeUp .9s ease forwards;
}
.avistrata-fade-in.delay-1 { animation-delay: .15s; }
.avistrata-fade-in.delay-2 { animation-delay: .35s; }
.avistrata-fade-in.delay-3 { animation-delay: .55s; }

@keyframes avistrataFadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Slideshow arrow hover */
.avistrata-arrow {
  transition: background .25s ease, transform .25s ease;
}
.avistrata-arrow:hover {
  background: rgba(255,255,255,.35) !important;
  transform: translateY(-50%) scale(1.08);
}

/* Hero buttons hover */
.avistrata-btn-primary,
.avistrata-btn-secondary {
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.avistrata-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(212,160,23,.4);
}
.avistrata-btn-secondary:hover {
  background: rgba(255,255,255,.15) !important;
  transform: translateY(-2px);
}

/* Site-wide button polish */
.wp-block-button__link {
  transition: transform .2s ease, box-shadow .2s ease;
}
.wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,.15);
}

/* Service link hover on section grids */
.wp-block-column h3.wp-block-heading a,
.entry-content h2.wp-block-heading a {
  transition: color .2s ease;
}

/* Smooth scroll for anchor-based slideshow navigation */
html {
  scroll-behavior: smooth;
}
