/* AURA Boutique — Estilos diferenciados (no copia de NOW) */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

/* Accessibility: focus-visible for keyboard navigation */
:focus-visible { outline: 2px solid #be185d; outline-offset: 2px; border-radius: 4px; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid #be185d; outline-offset: 2px; }

/* Accessibility: reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
    html { scroll-behavior: auto; }
}

/* Hero carousel */
.hero-carousel { position: relative; }
.hero-slide { opacity: 0; pointer-events: none; transition: opacity 0.7s ease; }
.hero-slide.active { opacity: 1; pointer-events: auto; }
.hero-dot.active { background: #be185d !important; border-color: #be185d !important; }
.hero-carousel:hover .hero-pause-indicator { opacity: 1; }

/* Product card — estilo editorial limpio, distinto a ConfeccionesMath */
.product-card {
    background: white;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.06);
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}
.product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 36px rgba(15,23,42,0.10);
    border-color: rgba(190,24,93,0.12);
}
.product-card .product-img { position: relative; aspect-ratio: 3/4; overflow: hidden; background: #f8f5f3; cursor: pointer; }
.product-card .product-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.product-card:hover .product-img img { transform: scale(1.04); }
.discount-badge {
    position: absolute; top: 10px; left: 10px;
    background: #be185d; color: white; font-size: 11px; font-weight: 700;
    padding: 5px 9px; border-radius: 9999px; letter-spacing: 0.02em;
}
.bestseller-badge {
    position: absolute; top: 10px; left: 10px;
    background: #0f172a; color: white; font-size: 10px; font-weight: 700;
    padding: 5px 9px; border-radius: 9999px; letter-spacing: 0.08em; text-transform: uppercase;
}
.color-dots { display: flex; gap: 6px; margin-top: 6px; }
.color-dots span { width: 14px; height: 14px; border-radius: 9999px; border: 2px solid white; box-shadow: 0 0 0 1px rgba(0,0,0,0.12); }
.tallas-list { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.talla-tag { font-size: 10px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: #6b7280; background: #fdf8f6; border: 1px solid rgba(0,0,0,0.06); padding: 3px 6px; border-radius: 6px; }

/* Filters active */
.filter-talla.active { border-color: #be185d !important; color: #be185d; background: #fce7f3; }
.filter-color.active { box-shadow: 0 0 0 3px #be185d; border-color: white !important; }

/* Animations */
@keyframes fadeInUp { from { opacity:0; transform: translateY(10px);} to { opacity:1; transform: translateY(0);} }
.product-card { animation: fadeInUp 0.4s ease both; }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #e5d5d0; border-radius: 9999px; }
::-webkit-scrollbar-thumb:hover { background: #d6b8b0; }

/* Cart */
#cartSidebar.open { transform: translateX(0); }
#cartSidebar .cart-item { display: flex; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid rgba(0,0,0,0.05); }
#cartSidebar .cart-item img { width: 72px; height: 96px; object-fit: cover; border-radius: 10px; background: #f8f5f3; flex-shrink: 0; }
#cartSidebar .cart-item .qty-btn { width: 26px; height: 26px; border-radius: 8px; border: 1px solid rgba(0,0,0,0.1); display: flex; align-items: center; justify-content: center; font-size: 12px; cursor: pointer; transition: all 0.15s ease; }
#cartSidebar .cart-item .qty-btn:hover { border-color: #be185d; color: #be185d; }
.cart-added-toast {
    position: fixed; top: 80px; right: 20px; z-index: 200;
    background: #0f172a; color: white; padding: 14px 20px; border-radius: 14px;
    font-size: 13px; font-weight: 500; box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    display: flex; align-items: center; gap: 10px;
    transform: translateX(120%); transition: transform 0.3s ease;
}
.cart-added-toast.show { transform: translateX(0); }
.cart-added-toast .check { width: 22px; height: 22px; border-radius: 50%; background: #25d366; display: flex; align-items: center; justify-content: center; }

/* Image error fallback */
.img-error { display: flex; align-items: center; justify-content: center; background: #fdf8f6; color: #9ca3af; font-size: 12px; }

/* Print styles */
@media print {
    header, .whatsapp-float, #cartSidebar, #cartOverlay, #quickViewModal, .hero-carousel, footer, .bg-secondary { display: none !important; }
    body { background: white; }
}

@media (max-width: 768px) {
    .hero-carousel { height: auto !important; }
    .hero-slide { position: relative !important; }
    .hero-slide:not(.active) { display: none; }
}
