/* On Seven microinteractions — stage 6
   Touch-first press feedback, restrained gallery motion, keyboard-safe focus. */

html.stage6-ready .button,
html.stage6-ready .text-link,
html.stage6-ready .quiet-link,
html.stage6-ready .header-cta,
html.stage6-ready .site-search-trigger,
html.stage6-ready .menu-button,
html.stage6-ready .back-to-top,
html.stage6-ready .whatsapp-float,
html.stage6-ready .modal-close,
html.stage6-ready .spotlight-nav,
html.stage6-ready .lightbox-nav,
html.stage6-ready .filter-row button,
html.stage6-ready .schedule-tabs button {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  transition:
    transform 180ms cubic-bezier(.22,1,.36,1),
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 220ms ease !important;
}

html.stage6-ready .button {
  overflow: hidden;
  isolation: isolate;
}

html.stage6-ready .button::after {
  content: "";
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: #d85d1a;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 260ms cubic-bezier(.22,1,.36,1);
  pointer-events: none;
}

html.stage6-ready .button:hover::after,
html.stage6-ready .button:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}

html.stage6-ready .button span,
html.stage6-ready .text-link span,
html.stage6-ready .quiet-link span,
html.stage6-ready .header-cta span {
  transition: transform 220ms cubic-bezier(.22,1,.36,1) !important;
}

@media(hover:hover) and (pointer:fine) {
  html.stage6-ready .button:hover {
    transform: translate3d(0,-2px,0) !important;
  }

  html.stage6-ready .button:hover span,
  html.stage6-ready .text-link:hover span,
  html.stage6-ready .quiet-link:hover span,
  html.stage6-ready .header-cta:hover span {
    transform: translate3d(5px,0,0) !important;
  }
}

html.stage6-ready .stage6-pressed {
  transform: translate3d(0,1px,0) scale(.972) !important;
  transition-duration: 90ms !important;
}

html.stage6-ready .gallery-card {
  --stage6-gallery-x: 50%;
  --stage6-gallery-y: 50%;
  outline-offset: -4px;
  isolation: isolate;
  transition:
    transform 320ms cubic-bezier(.22,1,.36,1),
    box-shadow 320ms ease,
    filter 320ms ease,
    background-position 420ms cubic-bezier(.22,1,.36,1) !important;
}

html.stage6-ready .gallery-card::after {
  content: "";
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  height: 4px;
  background: #d85d1a;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 300ms cubic-bezier(.22,1,.36,1);
  pointer-events: none;
}

html.stage6-ready .gallery-card span {
  transition:
    opacity 260ms ease,
    transform 320ms cubic-bezier(.22,1,.36,1) !important;
}

html.stage6-ready .gallery-card:hover,
html.stage6-ready .gallery-card:focus-visible {
  transform: scale(.992) !important;
  box-shadow: 0 20px 46px rgba(3,15,31,.24) !important;
  filter: saturate(1.04) contrast(1.02);
}

html.stage6-ready .gallery-card:hover::after,
html.stage6-ready .gallery-card:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}

html.stage6-ready .gallery-card:hover span,
html.stage6-ready .gallery-card:focus-visible span {
  transform: translate3d(0,-4px,0);
}

html.stage6-ready .gallery-card.stage6-pressed {
  transform: scale(.978) !important;
}

html.stage6-ready .lightbox figure.stage6-switching #lightboxImage {
  animation: stage6LightboxSwitch 300ms cubic-bezier(.22,1,.36,1);
}

html.stage6-ready .lightbox-nav:hover,
html.stage6-ready .lightbox-nav:focus-visible,
html.stage6-ready .spotlight-nav:hover,
html.stage6-ready .spotlight-nav:focus-visible {
  border-color: #d85d1a;
  color: #f5b91f;
}

@keyframes stage6LightboxSwitch {
  0% { opacity: .45; transform: scale(.992); }
  100% { opacity: 1; transform: scale(1); }
}

@media(max-width:820px) {
  html.stage6-ready .gallery-card span {
    transform: none;
  }

  html.stage6-ready .gallery-card::after {
    height: 3px;
  }
}

@media(prefers-reduced-motion:reduce) {
  html.stage6-ready .button,
  html.stage6-ready .text-link,
  html.stage6-ready .quiet-link,
  html.stage6-ready .header-cta,
  html.stage6-ready .site-search-trigger,
  html.stage6-ready .menu-button,
  html.stage6-ready .back-to-top,
  html.stage6-ready .whatsapp-float,
  html.stage6-ready .modal-close,
  html.stage6-ready .spotlight-nav,
  html.stage6-ready .lightbox-nav,
  html.stage6-ready .filter-row button,
  html.stage6-ready .schedule-tabs button,
  html.stage6-ready .gallery-card,
  html.stage6-ready .gallery-card span,
  html.stage6-ready .gallery-card::after,
  html.stage6-ready .button::after {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

html[data-motion-mode="reduced"].stage6-ready .stage6-pressed {
  transform: none !important;
}
