/* Custom Bike — cross-document View Transitions
   Motion: old −18vh + slight scale, new from 100vh, 1.05s, ease [.79,.01,.16,1] */

@view-transition {
  navigation: auto;
}

::view-transition {
  background-color: #0a0a0a;
}

::view-transition-group(root) {
  animation-duration: 1.05s;
  animation-timing-function: cubic-bezier(0.79, 0.01, 0.16, 1);
}

::view-transition-old(root) {
  animation: 1.05s cubic-bezier(0.79, 0.01, 0.16, 1) both cb-vt-out;
  transform-origin: top center;
  z-index: 1;
}

::view-transition-new(root) {
  animation: 1.05s cubic-bezier(0.79, 0.01, 0.16, 1) both cb-vt-in;
  transform-origin: top center;
  z-index: 2;
}

::view-transition-image-pair(root) {
  isolation: isolate;
}

@keyframes cb-vt-out {
  from {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 1;
    filter: brightness(1);
  }
  to {
    transform: translate3d(0, -18vh, 0) scale(0.96);
    opacity: 0.45;
    filter: brightness(0.55);
  }
}

@keyframes cb-vt-in {
  from {
    transform: translate3d(0, 100vh, 0);
    opacity: 1;
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(root),
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none !important;
  }
}

/* === CB HEADER HIT FIX === */
/* Closed mobile menu uses backdrop-blur; some engines still hit-test it. */
body > div.fixed.inset-0.z-40.pointer-events-none,
body > div.fixed.inset-0.z-40.invisible,
body > div.fixed.inset-0.z-40.opacity-0 {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body > div.fixed.inset-0.z-40.pointer-events-auto {
  display: block !important;
  pointer-events: auto !important;
}
body > header.fixed {
  z-index: 10060 !important;
  pointer-events: auto !important;
}
body > header.fixed button[aria-label="Открыть меню"],
body > header.fixed button[aria-label="Закрыть меню"] {
  position: relative;
  z-index: 2;
  pointer-events: auto !important;
  touch-action: manipulation;
}
