/* =========================================================================
   Smooth scrolling (Lenis) + subtiele GSAP fade-ins
   Losse stylesheet (wordt NIET door wp-scss overschreven).

   Belangrijk: de reveals gebruiken UITSLUITEND opacity — geen transforms,
   geen scale, geen will-change. Daardoor kan er nooit iets "verspringen"
   of van layout schuiven.
   ========================================================================= */

/* ---------- Lenis aanbevolen basis-styling ---------- */
html.lenis,
html.lenis body {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.lenis.lenis-smooth iframe {
    pointer-events: none;
}

/* ---------- Reveal: beginstatus (alleen als JS draait) ----------
   html.has-anim wordt vóór de eerste paint gezet. We verbergen per sectie de
   INHOUD-container (één element → geen flits), zodat de rij zelf (incl. hero-
   curve/banner) blijft staan. GSAP zet de container weer zichtbaar en onthult
   de losse items met een slide-up + stagger. De hero (row2) doet niet mee.
   Zonder JS / libs blijft alles zichtbaar (klasse wordt dan nooit gezet / 4s-failsafe). */
html.has-anim main .row.flex-content:not(.row2) .blocks-container {
    opacity: 0;
}

/* ---------- Toegankelijkheid: geen beweging bij voorkeur ---------- */
@media (prefers-reduced-motion: reduce) {
    html.has-anim main .row.flex-content .blocks-container {
        opacity: 1 !important;
    }
}
