        :root {
            --primary-green: #2a6f47; /* Re-aliasing for consistency */
            --secondary-yellow: #ffc107;
            --light-gray: #f8f9fa;
            --dark-text: #343a40;
            --primary-color: var(--primary-green);
            --secondary-color: var(--secondary-yellow);
            --light-color: var(--light-gray);
            --dark-color: var(--dark-text);
            --menu-z: 1100;
        }

        body {
            font-family: 'Inter', sans-serif;
            color: var(--dark-text);
        }

        .top-bar {
            background-color: var(--primary-green);
            color: white;
            font-size: 0.9rem;
            padding: 0.5rem 0;
        }

        .navbar-brand {
            font-weight: 700;
            color: var(--primary-green) !important;
        }
        
        .nav-link {
            font-weight: 500;
        }

        .btn-primary {
            background-color: var(--primary-green);
            border-color: var(--primary-green);
        }
        .btn-primary:hover {
            background-color: #215a38;
            border-color: #215a38;
        }

        .btn-secondary {
            background-color: var(--secondary-yellow);
            border-color: var(--secondary-yellow);
            color: var(--dark-text);
        }
        .btn-secondary:hover {
             background-color: #e0a800;
            border-color: #e0a800;
        }
        
        .section-padding { padding: 80px 0; }

        /* --- Styles for Category Menu & Popover (From your code) --- */
        .category-menu {
            list-style: none;
            padding: 0;
            margin: 0;
            background: white;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            overflow: visible;
            position: relative;
            z-index: var(--menu-z);
        }
        .category-menu li { border-bottom: 1px solid #eee; position: relative; }
        .category-menu li:last-child { border-bottom: none; }
        .category-menu a {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 12px 15px;
            color: var(--dark-color);
            text-decoration: none;
            transition: all 0.15s ease;
        }
        .category-menu a:hover { background-color: var(--primary-color); color: white; }
        .subcategory-menu {
            position: absolute;
            top: 0;
            left: 100%;
            width: 250px;
            background: white;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            list-style: none;
            padding: 10px 0;
            margin: 0;
            display: none;
            z-index: calc(var(--menu-z) + 1);
        }
        .products-menu {
            position: absolute;
            top: 0;
            left: 100%;
            width: 300px;
            background: white;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            list-style: none;
            padding: 10px 0;
            margin: 0;
            display: none;
            z-index: calc(var(--menu-z) + 2);
        }
        .subcategory-menu a, .products-menu a {
            padding: 10px 15px;
            color: var(--dark-color);
            text-decoration: none;
            display: block;
        }
        .subcategory-menu a:hover, .products-menu a:hover { background-color: var(--primary-color); color: white; }
        .carousel { position: relative; z-index: 1; }
        .product-popover {
            position: absolute;
            display: none;
            min-width: 260px;
            max-width: 380px;
            background: #fff;
            border-radius: 8px;
            box-shadow: 0 8px 30px rgba(0,0,0,0.18);
            padding: 12px;
            z-index: calc(var(--menu-z) + 50);
            transition: opacity .12s ease, transform .12s ease;
            opacity: 0;
            transform: translateY(6px) scale(.995);
            pointer-events: auto;
            border: 1px solid rgba(0,0,0,0.06);
        }
        .product-popover.show { display: block; opacity: 1; transform: translateY(0) scale(1); }
        .product-popover .pp-row { display:flex; gap:12px; align-items:flex-start; }
        .product-popover .pp-img {
            width: 96px;
            height: 72px;
            flex: 0 0 96px;
            background-size: cover;
            background-position: center;
            border-radius: 6px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.08);
        }
        .product-popover h4 { margin: 0 0 6px; font-size: 1rem; }
        .product-popover .price { color: var(--primary-color); font-weight:600; margin-bottom:6px; }
        .product-popover p { margin:0; font-size:.92rem; color:#444; max-height:3.6rem; overflow:hidden; }
        .product-popover .pp-actions { margin-top:10px; display:flex; gap:8px; justify-content:flex-end; }
        .product-popover .btn-sm { padding: .32rem .6rem; font-size:.85rem; }
        .product-popover::after {
            content: ""; position: absolute; width: 10px; height: 10px; background: white;
            transform: rotate(45deg); left: 12px; top: -5px; box-shadow: -2px -2px 6px rgba(0,0,0,0.03);
            border-left: 1px solid rgba(0,0,0,0.04); border-top: 1px solid rgba(0,0,0,0.04);
        }
        @media (max-width: 991px) {
            .subcategory-menu, .products-menu { position: static; width: 100%; box-shadow: none; border-radius: 0; }
            .product-popover { position: fixed; left: 8px; right: 8px; top: auto; bottom: 16px; max-width: none; }
            .product-popover::after { display:none; }
        }

        /* --- Styles for other sections --- */
        .product-card {
            transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
            border: 1px solid #e9ecef;
        }
        .product-card:hover { transform: translateY(-5px); box-shadow: 0 8px 20px rgba(0,0,0,0.08); }
        .product-card .card-img-top { aspect-ratio: 1 / 1; object-fit: cover; }
        .product-card .badge { font-size: 0.8rem; }
        .product-card .card-footer { background: none; border-top: 1px solid #e9ecef; }
        .footer { background-color: var(--dark-text); }
        .footer a { text-decoration: none; color: #adb5bd; transition: color 0.2s; }
        .footer a:hover { color: #fff; }
        .footer .form-control { background-color: #495057; border-color: #495057; color: #fff; }
        .footer .form-control::placeholder { color: #adb5bd; }
        .offcanvas-body .accordion-button:not(.collapsed) { background-color: rgba(42, 111, 71, 0.1); color: var(--dark-text); box-shadow: none; }
        .offcanvas-body .accordion-body { padding: 0; }
        .offcanvas-body .list-group-item { border: none; padding-left: 2.5rem; }
        .offcanvas-body .list-group-item-action:hover { background-color: var(--light-color); }