        :root {
            --deep-red: #D62828;
            --soft-cream: #FFF8F0;
            --warm-tan: #C08552;
            --dark-text: #2D1A0D;
            --transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
        }

        * { margin: 0; padding: 0; box-sizing: border-box; scroll-behavior: smooth; }
        
        body { 
            background-color: var(--soft-cream); 
            color: var(--dark-text); 
            font-family: 'Inter', sans-serif; 
            overflow-x: hidden;
            line-height: 1.6;
        }

        /* Utility Classes */
        .inter-regular { font-weight: 400; }
        .inter-medium { font-weight: 500; }
        .inter-bold { font-weight: 700; }
        .inter-black { font-weight: 900; }

        /* --- Header --- */
        header { 
            background-color: var(--soft-cream); 
            padding: 25px 5%; 
            position: sticky; 
            top: 0; 
            z-index: 1000; 
            transition: var(--transition);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        header.scrolled { padding: 15px 5%; box-shadow: 0 10px 30px rgba(0,0,0,0.05); }

.logo{
    cursor: pointer;
    display: flex;
    align-items: center;
    height: 50px; /* fixed logo container height */
}

.logo img{
    height: 160px;
    width: auto;
    object-fit: contain;
}        
        nav { display: flex; gap: 35px; }
        nav a { 
            text-decoration: none; color: var(--dark-text); font-weight: 500; font-size: 0.9rem; 
            transition: 0.3s; cursor: pointer; text-transform: uppercase; letter-spacing: 1px;
        }
        nav a:hover, nav a.active { color: var(--deep-red); }

        .header-actions { display: flex; gap: 20px; align-items: center; }
        .action-icon { cursor: pointer; transition: var(--transition); position: relative; display: flex; align-items: center; gap: 8px;}
        .action-icon:hover { color: var(--deep-red); }
        .cart-badge {
            position: absolute; top: -8px; right: -8px; background: var(--deep-red);
            color: white; font-size: 0.65rem; width: 18px; height: 18px; border-radius: 50%;
            display: flex; align-items: center; justify-content: center; font-weight: 700;
        }

        /* --- Hero Section --- */
        .hero {
            display: grid;
            grid-template-columns: 1.2fr 0.8fr;
            min-height: 90vh;
            background: var(--soft-cream);
            overflow: hidden;
            position: relative;
        }
        .hero-image-side {
            position: relative;
            background: #222;
            overflow: hidden;
        }
        .hero-img {
            width: 100%; height: 100%; object-fit: cover; opacity: 0.9;
            animation: panEffect 30s infinite alternate;
        }
        @keyframes panEffect { 
            0% { transform: scale(1) translateX(0); } 
            100% { transform: scale(1.1) translateX(-20px); } 
        }

        .hero-text-side {
            padding: 10%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            background: var(--soft-cream);
            position: relative;
            z-index: 2;
        }
        .hero-text-side::before {
            content: ""; position: absolute; left: -80px; top: 0; bottom: 0; width: 160px;
            background: var(--soft-cream); transform: skewX(-7deg); z-index: -1;
        }
        .hero h1 { font-size: clamp(3.5rem, 6vw, 6rem); font-weight: 900; color: var(--deep-red); line-height: 0.9; margin-bottom: 25px; letter-spacing: -2px; }
        .hero p { font-size: 1.25rem; color: var(--warm-tan); margin-bottom: 40px; max-width: 450px; font-weight: 400; }
        
        .btn-group { display: flex; gap: 15px; }
        .btn {
            padding: 18px 40px; border: none; font-weight: 700; cursor: pointer;
            transition: var(--transition); border-radius: 0; text-transform: uppercase; letter-spacing: 1px;
            font-size: 0.85rem;
        }
        .btn-primary { background: var(--deep-red); color: var(--soft-cream); }
        .btn-secondary { background: var(--warm-tan); color: var(--soft-cream); }
        .btn:hover { transform: translateY(-5px); box-shadow: 0 15px 30px rgba(214, 40, 40, 0.2); filter: brightness(1.1); }

        /* --- Featured Deals --- */
        section { padding: 120px 5%; }
        .section-header { margin-bottom: 80px; display: flex; justify-content: space-between; align-items: flex-end; }
        .section-title { font-size: clamp(2.5rem, 4vw, 4rem); font-weight: 900; color: var(--deep-red); letter-spacing: -1.5px; line-height: 1;}

        .deals-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
            gap: 50px;
        }
        .deal-card {
            background: white; border-radius: 0; overflow: hidden; position: relative;
            transition: var(--transition); box-shadow: 0 10px 40px rgba(0,0,0,0.02);
            padding: 15px; border: 1px solid rgba(192, 133, 82, 0.1);
        }
        /* Staggered effect */
        .deal-card:nth-child(even) { margin-top: 60px; }
        
        .deal-card:hover { transform: translateY(-20px); box-shadow: 0 40px 80px rgba(45, 26, 13, 0.1); }
        .deal-image-wrap { height: 450px; overflow: hidden; position: relative; cursor: pointer; background: #fdfdfd; }
        .deal-image-wrap img { width: 100%; height: 100%; object-fit: cover; transition: var(--transition); }
        .deal-card:hover .deal-image-wrap img { transform: scale(1.08); }

        .card-content { padding: 30px 15px 15px; }
        .card-tag { color: var(--deep-red); font-weight: 700; font-size: 0.75rem; text-transform: uppercase; margin-bottom: 12px; display: block; letter-spacing: 2px; }
        .card-title { font-weight: 700; font-size: 1.35rem; margin-bottom: 15px; color: var(--dark-text); line-height: 1.2; }
        .price-row { display: flex; align-items: center; gap: 15px; margin-bottom: 30px; }
        .current-price { color: var(--deep-red); font-weight: 900; font-size: 1.6rem; }
        .old-price { color: var(--warm-tan); text-decoration: line-through; opacity: 0.5; font-weight: 500; }

        /* --- Category Showcase --- */
        .category-showcase { background: var(--warm-tan); color: var(--soft-cream); padding: 0; }
        .showcase-row { display: grid; grid-template-columns: 1fr 1fr; min-height: 700px; }
        .showcase-row.reverse { direction: rtl; }
        .showcase-row.reverse .showcase-text { direction: ltr; }
        .showcase-image { background-size: cover; background-position: center; filter: grayscale(20%); }
        .showcase-text { padding: 12%; display: flex; flex-direction: column; justify-content: center; background: var(--warm-tan); }
        .showcase-text h4 { letter-spacing: 4px; color: var(--soft-cream); opacity: 0.7; margin-bottom: 20px; }
        .showcase-text h2 { font-size: clamp(3rem, 5vw, 5rem); font-weight: 900; margin-bottom: 25px; line-height: 0.9; color: var(--soft-cream); }
        .showcase-text p { font-size: 1.2rem; margin-bottom: 40px; opacity: 0.95; max-width: 550px; }

        /* --- Testimonials --- */
        .testimonial-carousel {
            display: flex; gap: 30px; overflow-x: auto; padding: 20px 0;
            scrollbar-width: none;
        }
        .testimonial-card {
            min-width: 400px; background: white; padding: 50px; border-radius: 0;
            box-shadow: 0 10px 40px rgba(0,0,0,0.03); border-bottom: 5px solid var(--deep-red);
        }

        /* --- Newsletter --- */
        .newsletter-section { 
            background: var(--deep-red); padding: 150px 5%; text-align: center; color: var(--soft-cream);
            margin: 100px 5%; position: relative; overflow: hidden;
        }
        .newsletter-section::after {
            content: "DEALS"; position: absolute; bottom: -50px; right: -50px; font-size: 20rem; 
            font-weight: 900; opacity: 0.05; pointer-events: none;
        }
        .newsletter-section h2 { font-size: 4rem; font-weight: 900; margin-bottom: 25px; letter-spacing: -2px; }
        .input-group { 
            max-width: 700px; margin: 50px auto 0; display: flex; 
            background: var(--soft-cream); padding: 8px; box-shadow: 0 30px 60px rgba(0,0,0,0.2);
        }
        .input-group input { 
            flex: 1; border: none; background: transparent; padding: 25px; 
            font-size: 1.1rem; color: var(--dark-text); outline: none; font-family: inherit;
        }
        .input-group button { 
            background: var(--deep-red); color: white; border: none; padding: 0 50px; 
            font-weight: 900; text-transform: uppercase; cursor: pointer; transition: 0.3s;
        }
        .input-group button:hover { filter: brightness(1.2); }

        /* --- Modals --- */
        .modal-overlay {
            position: fixed; top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(45, 26, 13, 0.95); backdrop-filter: blur(15px);
            z-index: 5000; display: none; align-items: center; justify-content: center; padding: 40px;
        }
        .modal-content {
            background: var(--soft-cream); width: 100%; max-width: 1200px; max-height: 90vh;
            border-radius: 0; position: relative; overflow-y: auto; display: grid;
            grid-template-columns: 1.1fr 0.9fr; animation: modalFadeIn 0.8s cubic-bezier(0.19, 1, 0.22, 1);
        }
        @keyframes modalFadeIn { from { opacity: 0; transform: translateY(100px); } to { opacity: 1; transform: translateY(0); } }
        .modal-close { position: absolute; top: 30px; right: 30px; cursor: pointer; color: var(--deep-red); z-index: 100; transition: 0.3s; }
        .modal-close:hover { transform: rotate(90deg); }

        /* --- Auth Styling --- */
        .auth-container { padding: 80px; max-width: 600px; margin: 0 auto; text-align: left; }
        .auth-container h2 { font-size: 3rem; font-weight: 900; color: var(--deep-red); margin-bottom: 20px; }
        .form-input { 
            width: 100%; padding: 20px; border: 1px solid rgba(192, 133, 82, 0.3); 
            background: white; margin-bottom: 20px; outline: none; font-family: inherit; font-size: 1rem;
        }
        .form-input:focus { border-color: var(--deep-red); }

        /* --- Cart Drawer --- */
        .cart-drawer {
            position: fixed; right: -550px; top: 0; width: 550px; height: 100vh;
            background: white; z-index: 6000; transition: var(--transition);
            box-shadow: -30px 0 80px rgba(0,0,0,0.15); padding: 50px; display: flex; flex-direction: column;
        }
        .cart-drawer.open { right: 0; }
        .cart-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 50px; border-bottom: 2px solid var(--soft-cream); padding-bottom: 30px; }
        .cart-items { flex: 1; overflow-y: auto; }
        .cart-item { display: flex; gap: 25px; margin-bottom: 35px; padding-bottom: 25px; border-bottom: 1px solid #f2f2f2; }
        .cart-item img { width: 100px; height: 130px; object-fit: cover; }
        .cart-summary { padding-top: 40px; border-top: 2px solid var(--soft-cream); }

        /* --- Footer --- */
        footer { background: var(--soft-cream); padding: 120px 5% 50px; border-top: 1px solid rgba(192, 133, 82, 0.1); }
        .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 80px; margin-bottom: 100px; }
        .footer-logo { font-size: 2.2rem; font-weight: 900; color: var(--deep-red); margin-bottom: 30px; display: block; letter-spacing: -1.5px; }
        .footer-col h4 { text-transform: uppercase; letter-spacing: 3px; font-size: 0.85rem; margin-bottom: 30px; color: var(--warm-tan); font-weight: 900; }
        .footer-col ul { list-style: none; }
        .footer-col li { margin-bottom: 15px; }
        .footer-col a { text-decoration: none; color: var(--dark-text); transition: 0.3s; cursor: pointer; font-size: 1rem; opacity: 0.8; }
        .footer-col a:hover { color: var(--deep-red); opacity: 1; padding-left: 8px; }
        .social-links { display: flex; gap: 20px; margin-top: 30px; }
        .social-links i { cursor: pointer; transition: 0.3s; }
        .social-links i:hover { color: var(--deep-red); transform: translateY(-5px); }
        .footer-bottom { border-top: 1px solid rgba(192, 133, 82, 0.1); padding-top: 50px; text-align: center; color: var(--warm-tan); font-size: 0.9rem; font-weight: 500; }

        /* --- Page Swapping --- */
        .page { display: none; min-height: 80vh; }
        .page.active { display: block; animation: pageIn 0.5s ease; }
        @keyframes pageIn { from { opacity: 0; } to { opacity: 1; } }

        /* Content Blocks for Policy Pages */
        .policy-content { max-width: 900px; margin: 0 auto; padding: 100px 5%; }
        .policy-content h1 { font-size: 4rem; font-weight: 900; color: var(--deep-red); margin-bottom: 40px; }
        .policy-content h2 { font-size: 2rem; margin: 60px 0 25px; color: var(--warm-tan); }
        .policy-content p { margin-bottom: 25px; font-size: 1.15rem; color: var(--dark-text); opacity: 0.9; }
        .policy-content ul { margin-left: 20px; margin-bottom: 40px; }
        .policy-content li { margin-bottom: 15px; font-size: 1.1rem; }

        /* Responsive */
        @media (max-width: 1024px) {
            .hero { grid-template-columns: 1fr; }
            .hero-image-side { height: 50vh; }
            .showcase-row { grid-template-columns: 1fr; }
            .modal-content { grid-template-columns: 1fr; }
            .footer-grid { grid-template-columns: 1fr 1fr; }
            .cart-drawer { width: 100%; right: -100%; }
        }

        /* Mobile Menu Button */
.menu-toggle{
    display:none;
    cursor:pointer;
}

/* Mobile Responsive Header */
@media (max-width: 900px){

    nav{
        position:absolute;
        top:100%;
        left:0;
        width:100%;
        background:var(--soft-cream);
        flex-direction:column;
        align-items:center;
        gap:20px;
        padding:30px 0;
        display:none;
        box-shadow:0 15px 30px rgba(0,0,0,0.05);
    }

    nav.show{
        display:flex;
    }

    .menu-toggle{
        display:block;
    }

    .header-actions{
        gap:15px;
    }

    #userLabel{
        display:none;
    }

}

.unsubscribe-link{
    margin-top:25px;
    cursor:pointer;
    opacity:0.8;
    font-size:0.9rem;
    text-decoration:underline;
}

.unsubscribe-link:hover{
    opacity:1;
}

.unsubscribe-form{
    margin-top:20px;
    display:none;
}