* { font-family: 'DM Sans', sans-serif; }
.font-display { font-family: 'Playfair Display', serif; }

/* Smooth transitions */
a, button { transition: all 0.25s ease; }

/* Custom scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #1a1a2e; border-radius: 3px; }

/* Cart badge pulse */
.cart-badge { animation: pulse-badge 2s infinite; }
@keyframes pulse-badge {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.15); }
}

/* Product card hover */
.product-card { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.product-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(0,0,0,0.12); }
.product-card:hover .product-actions { opacity: 1; transform: translateY(0); }
.product-actions { opacity: 0; transform: translateY(8px); transition: all 0.3s ease; }

/* Fade in */
.fade-in { animation: fadeIn 0.5s ease forwards; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }

/* Overlay nav for mobile */
#mobile-menu { transition: transform 0.35s cubic-bezier(0.4,0,0.2,1), opacity 0.35s ease; }
#mobile-menu.hidden { transform: translateX(-100%); opacity: 0; pointer-events: none; display: flex !important; }
#mobile-menu:not(.hidden) { transform: translateX(0); opacity: 1; }

/* Hero gradient */
.hero-gradient {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
}
/* Badge */
.badge-sale {
    background: #e94560;
    color: white;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 20px;
    letter-spacing: 0.5px;
}
/* Input focus ring */
input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: #e94560 !important;
    box-shadow: 0 0 0 3px rgba(233,69,96,0.12);
}
/* Btn primary */
.btn-primary {
    background: #e94560;
    color: white;
    padding: 12px 28px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.3px;
    transition: all 0.25s;
    border: none;
    cursor: pointer;
}
.btn-primary:hover { background: #c73652; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(233,69,96,0.35); }
.btn-outline {
    border: 2px solid #1a1a2e;
    color: #1a1a2e;
    padding: 10px 24px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    background: transparent;
    transition: all 0.25s;
    cursor: pointer;
}
.btn-outline:hover { background: #1a1a2e; color: white; }
/* Toast */
#toast { transition: all 0.4s ease; }
/* Star rating */
.stars { color: #f5a623; }
/* Dropdown */
.dropdown:hover .dropdown-menu { display: block; }
.dropdown-menu { display: none; }
@media (min-width: 1360px) {
.max-w-7xl{
    max-width: min(100% - 120px, 1640px)!important;
    }
}
