/* Estilos para tema Moderna - Diseño estilo LUXE */
/* Comentario: diseño moderno limpio basado en la imagen de referencia */

/* Ocultar scrollbar pero mantener funcionalidad */
.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

/* Filtros de categoría estilo pill */
.category-filter {
    transition: all 0.2s ease;
    font-weight: 500;
}

.category-filter.active {
    background-color: var(--tenant-primary) !important;
    color: white !important;
    border-color: var(--tenant-primary) !important;
}

.category-filter:not(.active):hover {
    border-color: #d1d5db;
    background-color: #f9fafb;
}

/* Barra de búsqueda */
#search-input {
    font-size: 0.9375rem;
}

#search-input::placeholder {
    color: #9ca3af;
}

/* Tarjetas de producto */
[data-product-id] {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

[data-product-id]:hover {
    transform: translateY(-2px);
}

/* Botón circular de agregar */
.add-to-cart {
    transition: all 0.2s ease;
}

.add-to-cart:hover {
    transform: scale(1.1);
}

.add-to-cart:active {
    transform: scale(0.95);
}

/* Badge de categoría */
[data-product-id] span[style*="background-color"] {
    font-size: 0.625rem;
    letter-spacing: 0.05em;
}

/* Banner promocional */
.rounded-2xl {
    border-radius: 1rem;
}

/* Sección Member Exclusive */
[style*="background-color: var(--tenant-primary)"] {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

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

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

/* Responsive */
@media (max-width: 640px) {
    .category-filter {
        font-size: 0.8125rem;
        padding: 0.5rem 1rem;
    }
    
    /* Grid 2 columnas en móvil */
    #products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }
    
    /* Ajustar padding de tarjetas en móvil */
    [data-product-id] .p-4 {
        padding: 0.75rem;
    }
    
    /* Tamaño de texto en móvil */
    [data-product-id] h3 {
        font-size: 0.875rem;
    }
    
    [data-product-id] .text-lg {
        font-size: 1rem;
    }
}

/* Mejoras de accesibilidad */
button:focus-visible {
    outline: 2px solid var(--tenant-primary);
    outline-offset: 2px;
}

/* Efectos hover suaves */
.hover\:bg-gray-100:hover {
    background-color: #f3f4f6;
}

/* Estilos para vista de detalle de producto */
.product-quantity {
    user-select: none;
}

.color-option.selected-color {
    border: 2px solid var(--tenant-primary);
}

.size-option.selected-size {
    border-color: var(--tenant-primary);
    background-color: rgba(var(--tenant-primary-rgb), 0.1);
    color: var(--tenant-primary);
}

/* Galería de imágenes */
#product-image-container {
    will-change: background-image;
}

.gallery-indicator {
    cursor: pointer;
    transition: all 0.3s ease;
}

/* Barra inferior fija */
.fixed.bottom-0 {
    padding-bottom: env(safe-area-inset-bottom, 2rem);
}

/* Animación de entrada */
@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.rounded-t-3xl {
    animation: slideUp 0.4s ease-out;
}

/* Estilos para botón de checkout - Asegurar visibilidad en producción */
/* Comentario: estilos con !important para garantizar que el botón siempre sea visible */
#checkout-form button[type="submit"] {
    background-color: #4F46E5 !important;
    color: #FFFFFF !important;
    border: none !important;
}

#checkout-form button[type="submit"]:hover {
    background-color: #4338CA !important;
    color: #FFFFFF !important;
}

#checkout-form button[type="submit"]:focus {
    outline: 2px solid #4F46E5 !important;
    outline-offset: 2px !important;
}

