/*
  Reglas globales finales. Los demás archivos (base/layout/components/sections)
  se cargan como <link> independientes desde index.html, en ese orden —
  evita el encadenamiento de @import, que bloquea la carga en cascada.
*/

html {
  overflow-x: hidden;
}

main {
  position: relative;
}

/*
  Transición entre páginas — API nativa del navegador (sin JS, sin frameworks
  de router). Solo funciona en navegadores que la soportan (Chrome/Edge
  recientes); en el resto simplemente no pasa nada y la navegación es
  instantánea como siempre, así que es seguro dejarla siempre activa.
*/
@view-transition {
  navigation: auto;
}

::view-transition-old(root) {
  animation: pageFadeOut var(--dur-fast) var(--ease-out) both;
}

::view-transition-new(root) {
  animation: pageFadeIn var(--dur-med) var(--ease-out) both;
}

@keyframes pageFadeOut {
  to {
    opacity: 0;
  }
}

@keyframes pageFadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
}

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