/* Anywedding shared public-page motion layer.
   Static content remains visible unless js/site-motion.js explicitly enhances it. */
:root {
  --aw-motion-ink: #252525;
  --aw-motion-paper: #f4f4f3;
  --aw-motion-gold: #b68a38;
  --aw-motion-ease: cubic-bezier(.25, .46, .45, .94);
  --aw-motion-fast: 180ms;
  --aw-motion-slow: 380ms;
}

html { scroll-behavior: smooth; }

/* Local icon fallbacks for the legacy detail pages (no font/CDN required). */
.bi { display: inline-block; width: 1em; font-style: normal; line-height: 1; text-align: center; }
.bi-house-door::before { content: '⌂'; }
.bi-chevron-down::before { content: '⌄'; }
.bi-list::before { content: '☰'; }
.bi-arrow-right::before { content: '→'; }
.bi-instagram::before { content: '◎'; }
.bi-chat-fill::before { content: '●'; }

.aw-scroll-progress {
  position: fixed;
  inset: 0 auto auto 0;
  z-index: 10020;
  width: 100%;
  height: 2px;
  pointer-events: none;
  transform: scaleX(var(--aw-scroll, 0));
  transform-origin: left center;
  background: rgb(37 37 37 / .42);
}

.aw-page-transition {
  position: fixed;
  inset: 0;
  z-index: 10010;
  display: block;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  background: #f4f4f3;
}

html.aw-page-enter .aw-page-transition,
html.aw-page-leaving .aw-page-transition { visibility: visible; }

html.aw-page-enter .aw-page-transition { animation: aw-page-fade-out 240ms ease-out both; }
html.aw-page-leaving .aw-page-transition { animation: aw-page-fade-in 180ms ease-in both; }

@keyframes aw-page-fade-out {
  0% { opacity: .72; }
  100% { opacity: 0; }
}

@keyframes aw-page-fade-in {
  0% { opacity: 0; }
  100% { opacity: .82; }
}

/* Reveal is opt-in from JS, so a JS failure never leaves content hidden. */
html.aw-motion-js .aw-auto-reveal {
  opacity: 0;
  transform: translate3d(0, 12px, 0);
  transition:
    opacity var(--aw-motion-slow) var(--aw-motion-ease),
    transform var(--aw-motion-slow) var(--aw-motion-ease);
  transition-delay: var(--aw-reveal-delay, 0ms);
}

html.aw-motion-js .aw-auto-reveal.aw-is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Header reacts to scroll without changing layout dimensions. */
.site-header,
.aw-header {
  transition: box-shadow 320ms ease, background-color 320ms ease, backdrop-filter 320ms ease;
}

.site-header.aw-header-scrolled,
.aw-header.aw-header-scrolled {
  box-shadow: 0 10px 34px rgb(37 37 37 / .1);
  background-color: rgb(255 255 255 / .9);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

/* Navigation underline and button feedback. */
.nav-links a,
.aw-desktop-nav > a,
.aw-dropdown-toggle,
.footer-links a,
.aw-footer nav a {
  position: relative;
}

.nav-links a::after,
.aw-desktop-nav > a::after,
.footer-links a::after,
.aw-footer nav a::after {
  content: '';
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: -5px;
  height: 1px;
  background: currentColor;
  transition: left 280ms var(--aw-motion-ease), right 280ms var(--aw-motion-ease);
}

.nav-links a:hover::after,
.nav-links a:focus-visible::after,
.aw-desktop-nav > a:hover::after,
.aw-desktop-nav > a:focus-visible::after,
.footer-links a:hover::after,
.aw-footer nav a:hover::after { left: 0; right: 0; }

.btn,
.aw-button,
.aw-circle-arrow,
.aw-text-arrow,
button[type='submit'] {
  transition:
    transform var(--aw-motion-fast) ease,
    box-shadow var(--aw-motion-fast) ease,
    filter var(--aw-motion-fast) ease,
    background-color var(--aw-motion-fast) ease;
}

.btn:hover,
.aw-button:hover,
button[type='submit']:hover {
  transform: translateY(-1px);
  box-shadow: 0 7px 18px rgb(37 37 37 / .1);
}

.btn:active,
.aw-button:active,
button[type='submit']:active { transform: translateY(0); }

/* Cards and media: restrained depth and image zoom. */
.card,
.help-card,
.step,
.aw-policy-card,
.aw-service-card,
.form-card,
.notice-box,
.flow-note {
  transition: transform 380ms var(--aw-motion-ease), box-shadow 380ms ease, border-color 300ms ease, background-color 300ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .card:hover,
  .help-card:hover,
  .step:hover,
  .aw-policy-card:hover,
  .aw-service-card:hover,
  .form-card:hover,
  .notice-box:hover,
  .flow-note:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgb(37 37 37 / .08);
  }

  .aw-service-card:hover img,
  .card:hover .card-media img,
  .aw-order-image:hover img {
    transform: scale(1.012);
    filter: grayscale(0);
  }

  .aw-event-card:hover .aw-event-icon { transform: scale(1.02); }
}

.aw-event-icon,
.aw-poster-pair img,
.aw-order-image img {
  transition: transform 480ms var(--aw-motion-ease), filter 400ms ease;
}

.aw-poster-slide { transition: opacity 360ms ease, filter 360ms ease; }
.aw-poster-slide[aria-hidden='true'] { filter: saturate(.76); }

/* Keyboard focus stays strong after motion styling. */
.btn:focus-visible,
.aw-button:focus-visible,
.aw-circle-arrow:focus-visible,
.aw-text-arrow:focus-visible {
  outline: 2px solid var(--aw-motion-gold);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  html.aw-motion-js .aw-auto-reveal,
  html.aw-motion-js .aw-auto-reveal.aw-is-visible {
    opacity: 1;
    transform: none;
    filter: none;
  }
  .aw-page-transition,
  .aw-scroll-progress { display: none; }
}
