/* Detalles que Tailwind por CDN no cubre: selección, foco, barras de desplazamiento y slider. */
::selection { background: #0b2f5b; color: #fff; }
html { scroll-behavior: smooth; -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid #0b2f5b; outline-offset: 2px; }
.bg-blue-900 :focus-visible, footer :focus-visible { outline-color: #fff; }
input, select, textarea { caret-color: #0b2f5b; }
* { scrollbar-width: thin; scrollbar-color: #c3cad6 transparent; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #c3cad6; border-radius: 4px; }
.tabular-nums { font-variant-numeric: tabular-nums; }

/* Slider del inicio: las diapositivas se superponen y se cambia la opacidad */
.hero-slide { opacity: 0; visibility: hidden; transition: opacity .6s cubic-bezier(.16,1,.3,1), visibility 0s .6s; }
.hero-slide.activa { opacity: 1; visibility: visible; transition: opacity .6s cubic-bezier(.16,1,.3,1); }
.hero-slide.activa .hero-img { animation: hero-entrada .9s cubic-bezier(.16,1,.3,1); }
@keyframes hero-entrada { from { transform: translateX(24px) scale(.97); filter: blur(4px); opacity: .4; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition-duration: 0s !important; scroll-behavior: auto !important; }
}

/* Impresión (hoja de reclamación, pedido): solo el contenido principal */
@media print {
  body > *:not(main), .no-imprimir { display: none !important; }
  body { background: #fff; }
}

/* Carrito abierto: el panel entra y la página no se desplaza detrás */
body.carrito-abierto { overflow: hidden; }
body.carrito-abierto #carrito-panel { transform: translateX(0); }
body.carrito-abierto #carrito-fondo { display: block; }
