/*
 * static-reveal.css — make scroll-animation content visible without the JS library.
 *
 * Several of these sites animate content in on scroll:
 *   - vetprana : GSAP + ScrollTrigger  (fixed at the markup level — GSAP had already
 *                written its hidden state into inline styles when we captured, so
 *                scripts/unhide-animated.cjs strips it)
 *   - xebra    : AOS (Animate On Scroll) — hides via CSS, reveals by adding .aos-animate
 *
 * convert_c3.py strips every <script>, so the reveal never fires and content that is
 * present and correct renders invisible. A migrated static site should not depend on
 * an animation library to be readable.
 *
 * Scope is deliberately narrow: only selectors an animation library uses for its
 * pre-reveal state. Drawers, modals, overlays, dropdowns and hover effects are
 * SUPPOSED to be hidden — they are untouched.
 *
 * Loaded last by Base.astro so it wins on specificity.
 */

/* AOS — the initial hidden state for every fade/zoom/flip/slide variant. */
[data-aos^="fade"][data-aos^="fade"],
[data-aos^="zoom"][data-aos^="zoom"],
[data-aos^="flip"][data-aos^="flip"],
[data-aos^="slide"][data-aos^="slide"] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* AOS marks initialised elements with .aos-init and reveals with .aos-animate. */
.aos-init:not(.drawer):not(.modal):not(.drawer-overlay) {
  opacity: 1 !important;
  transform: none !important;
}

/* GSAP/ScrollTrigger convention used by the vetprana redesign. */
.anim-header,
.anim-fade-up,
.anim-fade-left,
.anim-fade-right,
.anim-fade-in,
.anim-scale {
  opacity: 1 !important;
  transform: none !important;
}

/* WOW.js / Animate.css, in case another site uses them. */
.wow,
.animated:not(.drawer):not(.modal) {
  opacity: 1 !important;
  visibility: visible !important;
  animation-name: none !important;
}
