:root {
            --primary-color: #b05d5d; /* Ethnic Red/Pink */
            --secondary-color: #fdfbf7; /* Off-white background */
            --text-dark: #333;
            --font-heading: 'Playfair Display', serif;
            --font-body: 'Lato', sans-serif;
        }

        body {
            font-family: var(--font-body);
            background-color: var(--secondary-color);
            color: var(--text-dark);
            padding-right: 0 !important; /* Fix bootstrap modal jitter */
            padding-top: 120px; 
        }
        header.fixed-top {
    z-index: 1030;
    width: 100%;
    background-color: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

        h1, h2, h3, h4, h5, .navbar-brand {
            font-family: var(--font-heading);
        }

        /* Top Bar */
        .top-bar {
            background-color: var(--primary-color);
            color: white;
            font-size: 0.75rem;
            letter-spacing: 1px;
            font-weight: 600;
        }
        .logo{
            height: 100px;
        }
        /* Navbar */
        .navbar { background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,0.05); padding: 0; }
        .navbar-brand { font-size: 2rem; font-weight: 700; letter-spacing: 2px; padding: 15px 0; }
        
        .nav-link {
            color: #333 !important;
            text-transform: uppercase;
            font-size: 0.8rem;
            font-weight: 700;
            margin: 0 10px;
            letter-spacing: 0.5px;
            padding: 25px 0 !important;
            position: relative;
            cursor: pointer;
        }
        
        .nav-link:hover { color: var(--primary-color) !important; }

        /* Mega Menu */
        @media (min-width: 992px) {
            .nav-item.dropdown:hover .dropdown-menu { display: block; margin-top: 0; }
        }
        .dropdown-menu {
            border: none; border-radius: 0; padding: 10px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
        }
        .dropdown-item { font-size: 0.85rem; color: #555; padding: 8px 15px; }
        .dropdown-item:hover { color: var(--primary-color); background: #f9f9f9; }

        /* Search Bar Toggle */
        .search-strip {
            background: #fff;
            border-bottom: 1px solid #eee;
            position: absolute;
            top: 100%;
            left: 0;
            width: 100%;
            z-index: 1000;
            padding: 15px 0;
            display: none; /* Hidden by default */
            box-shadow: 0 10px 20px rgba(0,0,0,0.05);
        }
        .search-strip.active { display: block; animation: slideDown 0.3s ease; }
        @keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }

        /* Offcanvas Cart */
        .offcanvas-end { width: 400px; }
        .cart-item img { width: 80px; height: 100px; object-fit: cover; }
        .btn-checkout { background-color: var(--primary-color); color: white; border-radius: 0; letter-spacing: 1px; }
        .btn-checkout:hover { background-color: #944646; color: white; }

        /* Carousel & Cards */
        .carousel-item img { height: 600px; object-fit: cover; filter: brightness(0.95); }
        @media (max-width: 768px) { .carousel-item img { height: 300px; } }
        
        .cat-img-wrapper {
            width: 140px; height: 140px; border-radius: 50%; overflow: hidden;
            margin: 0 auto 15px; border: 3px solid #fff;
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
            transition: transform 0.3s, border-color 0.3s;
        }
        .category-card:hover .cat-img-wrapper { transform: scale(1.05); border-color: var(--primary-color); }
        .cat-img-wrapper img { width: 100%; height: 100%; object-fit: cover; }

        .product-card { border: none; background: transparent; transition: transform 0.3s; }
        .product-card:hover { transform: translateY(-5px); }
        .product-card img { height: 400px; object-fit: cover; width: 100%; }
        .product-title { font-size: 0.95rem; margin-top: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        
        /* Footer */
        footer { background: #f9f9f9; padding-top: 60px; border-top: 1px solid #eee; }
        footer h5 { font-size: 0.9rem; font-weight: 700; margin-bottom: 20px; }
        footer ul li a { color: #666; text-decoration: none; font-size: 0.85rem; }