/* ==========================================================================
   AR TMC SCROLL SNAP + REVEAL — lightweight, accessibility-first enhancement
   for full-viewport homepage sections (task: home-new-1 / home-new-2).

   Activated purely via Elementor's native "CSS Classes" field on the
   Advanced tab of a Section/Container -- zero hardcoded page targeting,
   zero JS scroll-hijacking library. Usage:

     - Add class `artmc-scroll-container` to the outer wrapping
       Section/Container that holds the full-page sections.
     - Add class `artmc-snap-section` to EACH individual full-height
       section inside it.
     - Add class `artmc-reveal` to any inner element/column that should
       fade+rise into view as the user scrolls to its section (heading,
       text block, image -- apply per-element, not just once per section).

   Respects prefers-reduced-motion (WCAG 2.1 AA -- see
   artmc-wp-plugin-standards section 6). scroll-snap-type uses "proximity"
   (not "mandatory") specifically so it never fights normal scrolling,
   trackpad momentum, or screen-reader/keyboard navigation.
   ========================================================================== */

.artmc-scroll-container {
    scroll-snap-type: y proximity;
}

.artmc-snap-section {
    scroll-snap-align: start;
    scroll-snap-stop: normal;
    min-height: 100vh;
    display: flex;
    align-items: center;
    position: relative;
}

/* Reveal: hidden/offset by default, JS (IntersectionObserver) adds
   .is-in-view when the element enters the viewport. */
.artmc-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.7s ease, transform 0.7s ease;
    will-change: opacity, transform;
}

.artmc-reveal.is-in-view {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger helper: add alongside .artmc-reveal on successive children of the
   same section to offset their transition start (optional, purely additive). */
.artmc-reveal.artmc-reveal-delay-1 { transition-delay: 0.1s; }
.artmc-reveal.artmc-reveal-delay-2 { transition-delay: 0.2s; }
.artmc-reveal.artmc-reveal-delay-3 { transition-delay: 0.3s; }
.artmc-reveal.artmc-reveal-delay-4 { transition-delay: 0.4s; }

@media (prefers-reduced-motion: reduce) {
    .artmc-scroll-container { scroll-snap-type: none; }
    .artmc-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

@media (max-width: 767px) {
    /* Full-viewport snapping feels cramped with mobile browser chrome
       (address bar show/hide) constantly resizing the viewport -- fall
       back to natural height + no snap on small screens. */
    .artmc-scroll-container { scroll-snap-type: none; }
    .artmc-snap-section { min-height: auto; }
}
