  /* --- ESTILOS DEL SLIDER --- */
      .hide-scroll::-webkit-scrollbar { display: none; }
      .hide-scroll { -ms-overflow-style: none; scrollbar-width: none; }
      
      .slider-track {
          display: flex;
          overflow-x: auto;
          scroll-snap-type: x mandatory;
          scroll-behavior: smooth;
          -webkit-overflow-scrolling: touch;
      }
      
      .slider-item {
          min-width: 100%;
          width: 100%;
          flex-shrink: 0;
          scroll-snap-align: center;
          object-fit: contain;
      }
      #product-grid {
    display: grid !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* --- FIX DE SCROLL PARA EL CARRITO --- */
#cart-sidebar {
    display: flex !important; /* Obligatorio para que funcione el orden */
    flex-direction: column !important;
    overflow: hidden !important; /* Evita que el aside mismo haga scroll */
}

/* Solo la lista de productos tiene permiso de hacer scroll */
#cart-items-container {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    min-height: 0 !important;
}

/* El pie con el formulario se queda siempre pegado abajo */
#cart-sidebar > div:last-child {
    flex-shrink: 0 !important;
}

@media (max-width: 768px) {
    #cart-sidebar {
        height: 100dvh !important;
        max-height: 100dvh !important;
        top: 0 !important;
    }
}

    /* Etiquetas de IVA y ENVIO */
/* Etiquetas de IVA y ENVIO */
.badge-info {
    font-size: 0.65rem;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 700;
    text-transform: uppercase;
    display: inline-block;
    margin-right: 4px;
    margin-bottom: 4px;
}

/* 🚀 ESTO ES LO CRÍTICO: Usamos el selector combinado Y !important */
.badge-info.badge-iva { 
    background-color: #e07cef !important; 
    color: #ec99cf !important;           
    border: 1px solid #c7d2fe !important; 
}

.badge-info.badge-envio { 
    background-color: #f7b4d9 !important; 
    color: #f1afea !important;           
    border: 1px solid #fc4db6 !important; 
}

      .modal-backdrop { background-color: rgba(0, 0, 0, 0.8); }
      #filters-container { transition: all 0.3s ease-in-out; }
      input[type=number]::-webkit-inner-spin-button, 
      input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
      
      /* Animación de precio */
      .price-flash { animation: flashPrice 0.5s ease-out; }
      @keyframes flashPrice { 0% { color: #16a34a; transform: scale(1.1); } 100% { color: inherit; transform: scale(1); } }