/* La tipografía Inter ya no se carga aquí con @import: eso obligaba al
   navegador a esperar a bajar este CSS, parsearlo, y solo ENTONCES pedir la
   hoja de Google Fonts (una petición completa de más antes de poder pedir
   la fuente). Ahora se pide directamente desde el <head> del HTML, en
   paralelo con todo lo demás, así el texto del Hero se pinta antes. */

body {
    font-family: 'Inter', sans-serif;
    scroll-behavior: smooth;
}

/* Custom Scrollbar for Cart Drawer */
.cart-scroll::-webkit-scrollbar {
    width: 6px;
}
.cart-scroll::-webkit-scrollbar-track {
    background: #020617;
}
.cart-scroll::-webkit-scrollbar-thumb {
    background: #1e293b;
    border-radius: 3px;
}
.cart-scroll::-webkit-scrollbar-thumb:hover {
    background: #334155;
}

/* Animations */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
    animation: fadeIn 0.3s ease-out forwards;
}

/* Pulse animation for WhatsApp floating button or badge */
@keyframes pulse-whatsapp {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.5);
    }
    70% {
        box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
    }
}

.whatsapp-pulse {
    animation: pulse-whatsapp 2s infinite;
}

/* Hero Video Performance & Accessibility Optimizations */
.hero-video-perf {
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
}

@media (prefers-reduced-motion: reduce) {
    #hero-video {
        display: none !important;
    }
}

/* Menú móvil: categorías en lista vertical a ancho completo */
@media (max-width: 767px) {
    #category-filters-container .category-btn {
        width: 100%;
        text-align: left;
        border-radius: 0.75rem;
    }
}

/* Menú de categorías en escritorio: centrado, en varias filas si hace falta,
   sin barra de scroll horizontal. En móvil se mantiene la lista vertical. */
@media (min-width: 768px) {
    #mobile-menu-panel {
        overflow: visible !important;
    }
    #category-filters-container {
        flex-wrap: wrap !important;
        justify-content: center !important;
        min-width: 0 !important;
        max-width: 64rem;
        margin: 0 auto;
        gap: 0.5rem 0.6rem !important;
        padding: 0.4rem 0 !important;
    }
    #category-filters-container .category-btn {
        padding: 0.45rem 1rem;
        white-space: nowrap;
    }
}
