/* Extra rules for the static (no-React) version. Loaded after style.css. */

[hidden] { display: none !important; }

/* Scroll reveal (replaces the FadeIn animation component) */
.js [data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.js [data-reveal].is-visible { opacity: 1; transform: none; }

/* Mega menu + slide entrance */
@keyframes static-fade-down { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes static-fade-up { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.mega-enter { animation: static-fade-down 0.28s cubic-bezier(0.16, 1, 0.3, 1); }
.slide-enter { animation: static-fade-up 0.38s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

/* Mobile menu */
[data-mobile-menu] { height: 100dvh; animation: static-fade-down 0.3s cubic-bezier(0.22, 1, 0.36, 1); }
.mobile-menu-open, .mobile-menu-open body { overflow: hidden; }

/* Burger icon -> cross */
[data-mobile-toggle] span { transition: transform 0.25s ease, width 0.2s ease; }
[data-mobile-toggle][aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(-45deg); }
[data-mobile-toggle][aria-expanded="true"] span:nth-child(2) { width: 0; }
[data-mobile-toggle][aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(45deg); }
[data-mobile-menu] button[aria-expanded] svg { transition: transform 0.2s; }
[data-mobile-menu] button[aria-expanded="true"] svg { transform: rotate(180deg); }

/* Single-image gallery cross-fade */
[data-swap-gallery] img { transition: opacity 0.18s ease-out; }
[data-swap-gallery] img.is-swapping { opacity: 0; }

/* Contact form: native select in place of the custom dropdown */
.static-select { width: 100%; cursor: pointer; background-color: transparent; }

@media (prefers-reduced-motion: reduce) {
  .mega-enter, .slide-enter, [data-mobile-menu] { animation: none; }
}
