/* Header surfaces bundle 2026-08-27: shared cache invalidation marker. */
/* Shared navigation layout. Document View Transitions are deliberately not
   opted in here: Chromium can abort a cross-document transition after a
   regular location.assign() and emit a console InvalidStateError. */
::view-transition-old(root) { animation: tt-page-out var(--motion-fast,160ms) ease both; }
::view-transition-new(root) { animation: tt-page-in var(--motion-normal,280ms) var(--ease-tintin,ease) both; }
@keyframes tt-page-out { to { opacity: 0; transform: translateY(-4px); } }
@keyframes tt-page-in { from { opacity: 0; transform: translateY(7px); } }
@media (prefers-reduced-motion:reduce) {
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}
/* La variante móvil no se descarga en tablet/desktop, por eso este límite
   compartido mantiene oculto el tabbar fuera de su rango. */
@media (min-width: 768px) {
  #tt-tabbar { display: none !important; visibility: hidden !important; pointer-events: none !important; }
}

@media (min-width: 768px) and (max-width: 1024px) {
  #tt-header-desktop-tablet { display: none !important; visibility: hidden !important; pointer-events: none !important; }
}

@media (max-width: 767px) {
  #tt-header-desktop-tablet,
  #tt-header-tablet,
  .tt-tablet-menu { display: none !important; visibility: hidden !important; pointer-events: none !important; }
}

@media (min-width: 1025px) {
  #tt-header-tablet,
  .tt-tablet-menu,
  #tt-tabbar { display: none !important; visibility: hidden !important; pointer-events: none !important; }
}
