        /* --- BRAND PALETTE & TYPOGRAPHY --- */
        :root {
            --color-cream: #FDFDF7;
            --color-red: #A52A2A; /* Deep Christmas Red */
            --color-green: #004D40; /* Pine Green */
            --color-gold: #FFD700; /* Champagne Gold */
            --color-text: #333333; /* Charcoal Gray */
        }

        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--color-cream);
            color: var(--color-text);
            min-height: 100vh;
        }
        
        h1, h2, h3, .serif-heading {
            font-family: 'Playfair Display', serif;
        }

        /* --- LAYOUT & TRANSITIONS --- */
        .page-content {
            display: none;
            min-height: 80vh; /* Ensure pages take up screen space */
        }
        .page-content.active {
            display: block;
            animation: fadeIn 1s ease-in-out;
        }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }
        .nav-link.active {
            color: var(--color-red);
            border-bottom: 2px solid var(--color-red);
        }

        /* --- HERO & ANIMATIONS --- */
        .hero-section {
            background-image: url('https://i.pinimg.com/736x/78/cc/88/78cc8887c5031a717580ffc206a079ec.jpg'); /* Placeholder background */
            background-size: cover;
            background-position: center;
            position: relative;
            overflow: hidden;
            height: 100vh;
        }

        /* Snowfall Effect */
        .snow-container {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            overflow: hidden;
            z-index: 10;
        }
        .snow {
            position: absolute;
            background: rgba(255, 255, 255, 0.8);
            border-radius: 50%;
            animation: snowfall linear infinite;
        }

        @keyframes snowfall {
            0% { transform: translateY(-10vh); opacity: 0; }
            100% { transform: translateY(100vh); opacity: 1; }
        }

        /* --- ECOMMERCE STYLES --- */
        .product-card {
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            overflow: hidden;
        }
        .product-card:hover {
            transform: translateY(-5px) scale(1.02);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
            border: 1px solid var(--color-gold); /* Soft glow border */
        }
        .discount-badge {
            background-color: var(--color-red);
            color: white;
            border: 2px solid var(--color-gold);
        }

        /* --- COUNTDOWN STYLES --- */
        .countdown-digit {
            background-color: var(--color-green);
            color: white;
            padding: 10px 15px;
            border-radius: 8px;
            font-size: 2.5rem;
            font-family: 'Playfair Display', serif;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }

        /* --- MODAL STYLES --- */
        .modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.7);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 1000;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.3s ease, visibility 0.3s ease;
        }

        .modal-overlay.active {
            opacity: 1;
            visibility: visible;
        }

        .modal-content {
            background: var(--color-cream);
            padding: 2rem;
            border-radius: 12px;
            width: 90%;
            max-width: 500px;
            max-height: 90vh;
            overflow-y: auto;
            transform: translateY(-50px);
            transition: transform 0.3s ease;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
        }
        
        .modal-overlay.active .modal-content {
            transform: translateY(0);
        }

        body.no-scroll {
            overflow: hidden;
        }

        /* --- CART SIDEBAR --- */
        #cart-sidebar {
            position: fixed;
            top: 0;
            right: 0;
            width: 100%;
            max-width: 380px;
            height: 100%;
            background-color: var(--color-cream);
            transform: translateX(100%);
            transition: transform 0.4s ease-in-out;
            box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
            z-index: 900;
        }
        #cart-sidebar.active {
            transform: translateX(0);
        }

        .marquee {
    width: max-content;
    animation: marquee-scroll 25s linear infinite;
}

.marquee-img {
    width: 420px;
    height: 600px;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.5);
    transition: transform 0.4s ease;
}

.marquee-img:hover {
    transform: scale(1.08);
}

@keyframes marquee-scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}
