:root {
        --primary-color: #2d2d2d;
        --secondary-color: #6b8e23;
        --light-bg:#e5e6e1;
        --btn-color:#046104;
        --accent-color: #689115;
        --text-dark: #333;
        --text-light: #666;
        --border-color: #e0e0e0;
    }

    body {
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        color: var(--primary-color);
        background-color: var(--light-bg);
    }
    
    a {
        text-decoration: none;
    }
    

body {
    padding-top: var(--nav-height, 120px);
}

.container-top-increase{
    top:5rem !important;
}

label.required::after {
    content: " *";
    color: #dc3545; /* Bootstrap danger red */
    font-weight: bold;
}


    .quantity-btn:disabled {
        opacity: 0.4;
        cursor: not-allowed;
    }

    /* Header & Search Suggestions */
    .search-suggestions {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #fff;
        border: 1px solid #ddd;
        border-radius: 6px;
        z-index: 999;
    }
    
    .suggestion-item {
        display: flex;
        /*justify-content: space-between;*/
        padding: 10px 12px;
        text-decoration: none;
        color: #333;
        border-bottom: 1px solid #eee;
    }
    
    .suggestion-item:hover {
        background: #f8f9fa;
    }
    
    .suggestion-empty {
        padding: 12px;
        text-align: center;
        color: #888;
    }

    /* Sticky Navbar */
    .navbar {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        background: #000000ad;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        transition: all 0.3s ease;
        padding: 5px 0;
    }
    
    .search-btn {
        background: none;
        border: none;
        padding: 0 12px;
        color: #555;
    }

    .navbar.scrolled {
        box-shadow: 0 4px 20px rgba(0,0,0,0.15);
        padding: 8px 0;
    }

    .navbar .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .navbar-brand img {
        height: 150px;
        transition: all 0.3s ease;
    }

    .navbar.scrolled .navbar-brand img {
        height: 40px;
    }

    /* Desktop Navigation */
    .navbar-nav .nav-link {
        color: #ffffff !important;
        font-weight: 500;
        border: 2px solid transparent;
        outline: none;
        box-shadow: none;
        padding: 8px 18px !important;
        transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease;
    }

    .navbar-nav .nav-item:hover > .nav-link,
    .navbar-nav .nav-link:hover {
        color: #ffffff !important;
        border-color: #064d97;
        background: rgba(0, 0, 0, 0.18);
        outline: none;
        box-shadow: none;
    }

    .navbar-nav .nav-link.active,
    .navbar-nav .nav-item.active > .nav-link {
        color: #ffffff !important;
        border-color: #064d97;
        background: rgba(0, 0, 0, 0.18);
        outline: none;
        box-shadow: none;
    }

    .navbar-nav .dropdown:has(> .dropdown-menu.show) > .nav-link,
    .navbar-nav .dropdown > .nav-link.show {
        color: #ffffff !important;
        border-color: #064d97;
        background: rgba(0, 0, 0, 0.18);
        outline: none;
        box-shadow: none;
    }

    /* Desktop Search Bar */
    .search-bar-desktop {
        position: relative;
        display: flex;
        align-items: center;
    }

    .search-bar-desktop input {
        border: 1px solid #ddd;
        border-radius: 15px;
        padding: 8px 40px 8px 20px;
        width: 250px;
        transition: all 0.3s ease;
    }

    .search-bar-desktop input:focus {
        outline: none;
        border-color: #689115;
        width: 300px;
    }

    .search-bar-desktop i {
        position: absolute;
        right: 35px;
        bottom: 13px;
        color: #666;
    }

    /* Right Side Container */
    .right-side-container {
        display: flex;
        align-items: center;
        gap: 15px;
        margin-left: 2rem;
    }

    /* Nav Icons */
    .nav-icons {
        display: flex;
        align-items: center;
        gap: 20px;
    }

    .icon-wrapper {
        position: relative;
        cursor: pointer;
        transition: transform 0.3s ease;
    }

    .icon-wrapper.dropdown {
        position: relative; /* needed for absolute menu */
    }
    
    .icon-wrapper.dropdown .dropdown-menu {
        display: none;   
        width:200px;
        position: absolute;  
        top: 100%;          
        right: 0;            
        z-index: 1000;
        background: #fff;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    }

.icon-wrapper.dropdown:hover .dropdown-menu {
    display: block;      /* show on hover */
}

    .icon-wrapper i {
        font-size: 1.3rem;
        color: #ffffff;
    }

    .icon-wrapper a {
        color: #333;
        text-decoration: none;
    }

    .badge-count {
        position: absolute;
        top: -8px;
        right: -8px;
        background: var(--btn-color);
        color: white;
        font-size: 0.7rem;
        font-weight: bold;
        padding: 2px 6px;
        border-radius: 10px;
        min-width: 18px;
        text-align: center;
    }

    /* Mobile Search Toggle */
    .mobile-search-toggle {
        display: none;
        cursor: pointer;
    }

    .mobile-search-bar {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: white;
        padding: 15px;
        box-shadow: 0 5px 15px rgba(0,0,0,0.1);
        z-index: 999;
    }

    .mobile-search-bar.active {
        display: block;
        animation: slideDown 0.3s ease;
    }

    @keyframes slideDown {
        from {
            opacity: 0;
            transform: translateY(-10px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .mobile-search-bar input {
        width: 100%;
        border: 1px solid #ddd;
        border-radius: 25px;
        padding: 10px 20px;
    }

    .mobile-search-bar input:focus {
        outline: none;
        border-color: #689115;
    }

    /* Navbar toggler */
    .navbar-toggler {
        border: none;
        padding: 5px;
        order: 5;
    }

    .navbar-toggler:focus {
        box-shadow: none;
    }

    .navbar-light .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.95%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }
    
    /* ========================================
       MULTI-LEVEL DROPDOWN STYLES
    ======================================== */
    
    .dropdown-submenu {
        position: relative;
        width:250px;
    }
    
    .dropdown-submenu > .dropdown-menu {
        top: 0;
        left: 100%;
        margin-top: -1px;
        margin-left: 0.1rem;
        display: none;
    }
    
    /* Show submenu on hover for desktop */
    @media (min-width: 992px) {
        .dropdown-submenu:hover > .dropdown-menu {
            display: block;
        }
    }
    
    /* Right arrow indicator for submenus */
    .dropdown-submenu > a::after {
        content: "\203A"; /* › character */
        float: right;
        margin-left: 10px;
        font-size: 1.2rem;
        line-height: 1;
        transition: transform 0.2s ease;
    }
    
    /* Rotate arrow on mobile when expanded */
    @media (max-width: 991px) {
        .dropdown-submenu.show > a::after {
            transform: rotate(90deg);
        }
    }

    /* Mobile submenu styling */
    @media (max-width: 991px) {
        .dropdown-submenu > .dropdown-menu {
            position: static;
            float: none;
            width: 100%;
            margin-left: 1rem;
            border-left: 2px solid #dee2e6;
            box-shadow: none;
        }
        
        .dropdown-submenu > .dropdown-menu.show {
            display: block;
        }
    }
    
    .dropdown-submenu > .submenu-trigger {
        display: flex;
        align-items: center;
        width: 100%;
    }

    .dropdown-submenu > .submenu-trigger > .dropdown-item {
        flex: 1;
        margin-bottom: 0;
    }

    .dropdown-submenu > .submenu-trigger > .submenu-toggle {
        appearance: none;
        -webkit-appearance: none;
        border: none;
        box-shadow: none;
        outline: none;
        background: transparent;
        color: inherit;
        padding: 0.5rem 1rem;
        margin-left: auto;
        line-height: 1;
        transition: transform 0.2s ease;
    }

    .dropdown-submenu > .submenu-trigger > .submenu-toggle span {
        display: inline-block;
        font-size: 1.2rem;
    }

    @media (min-width: 992px) {
        .dropdown-submenu > .submenu-trigger > .submenu-toggle {
            display: none;
        }

        .dropdown-submenu > .submenu-trigger > .dropdown-item::after {
            content: "\203A";
            float: right;
            margin-left: 10px;
            font-size: 1.2rem;
            line-height: 1;
        }
    }

    @media (max-width: 991px) {
        .dropdown-submenu > a::after {
            content: none;
        }

        .dropdown-submenu > .submenu-trigger {
            justify-content: space-between;
        }

        .dropdown-submenu.show > .submenu-trigger > .submenu-toggle {
            transform: rotate(90deg);
        }

        .dropdown-submenu > .submenu-trigger > .submenu-toggle {
            min-width: 44px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 44px;
            padding: 0.5rem;
            border: none;
            background: transparent;
        }
    }

    /* Improve dropdown appearance */
    .dropdown-menu {
        border-radius: 0.5rem;
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
        border: none;
        padding: 0.5rem 0;
        height:auto;
    }

    
    .dropdown-item {
        padding: 0.5rem 1.5rem;
        transition: background-color 0.2s ease;
    }
    
    .dropdown-item:hover {
        background-color: #f8f9fa;
    }
    
    .dropdown-item.active {
        background-color: #007bff;
        color: white;
    }

    /* Cart Toast */
    .cart-toast {
        position: fixed;
        top: 90px;
        right: 20px;
        width: 360px;
        background: #fff;
        border-radius: 10px;
        box-shadow: 0 10px 40px rgba(0,0,0,.15);
        opacity: 0;
        transform: translateY(-10px);
        pointer-events: none;
        transition: all .35s ease;
        z-index: 9999;
    }

    .cart-toast.show {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    .toast-content {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 16px;
    }

    .toast-icon {
        background: #2ecc71;
        color: #fff;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .toast-text {
        flex: 1;
        font-size: 14px;
    }

    .toast-btn {
        background: #111;
        color: #fff;
        padding: 6px 12px;
        border-radius: 6px;
        font-size: 13px;
        text-decoration: none;
    }

    .toast-close {
        background: none;
        border: none;
        font-size: 18px;
        cursor: pointer;
    }

    /* Mobile Styles */
    @media (max-width: 991px) {
       
body {
        padding-top: var(--nav-height, 70px);
    }
        .navbar-brand img {
            height: 40px;
        }
        
      

        .search-bar-desktop {
            display: none;
        }

        .mobile-search-toggle {
            display: block;
            order: 4;
        }

        .right-side-container {
            gap: 12px;
            order: 2;
        }

        .nav-icons {
            gap: 15px;
            order: 1;
        }

        .icon-wrapper i {
            font-size: 1.2rem;
        }

        .navbar-collapse {
            width: 100%;
            order: 6;
            margin-top: 15px;
        }

        .navbar-nav {
            margin-bottom: 15px;
        }

        .navbar-nav .nav-link {
            padding: 10px 0;
        }
    }

    @media (max-width: 576px) {
        .icon-wrapper i {
            font-size: 1.1rem;
        }

        .nav-icons {
            gap: 25px;
        }

        .right-side-container {
            gap: 10px;
        }

        .badge-count {
            font-size: 0.65rem;
            padding: 2px 5px;
            min-width: 16px;
        }
    }
    
    /* Button Styles */
    .btn-wishlist-icon {
        background: none;
        border: none;
        font-size: 18px;
        color: #c0392b;
        cursor: pointer;
    }
    
    .ingredient-actions {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-top: 12px;
    }

    .btn-buy-now {
        background: #ffffff;
        border: 2px solid #6b8e23;
        color: #6b8e23;
        padding: 8px 14px;
        font-size: 14px;
        font-weight: 600;
        border-radius: 6px;
        cursor: pointer;
        transition: all 0.2s ease;
    }

    .btn-buy-now:hover {
        background: var(--btn-color);
        color: #ffffff;
    }

    .btn-add-cart {
        background: #6b8e23;
        color: #fff;
        padding: 8px 14px;
        font-size: 14px;
        font-weight: 600;
        border-radius: 6px;
        border: none;
        cursor: pointer;
    }

    /* Wishlist count */
    #wishlistCount {
        position: absolute;
        top: -8px;
        right: -8px;
        background: #046104;
        color: white;
        font-size: 0.7rem;
        font-weight: bold;
        padding: 2px 6px;
        border-radius: 10px;
        min-width: 18px;
        text-align: center;
    }
    
    
.coupon-modal {
    border-radius: 20px;
    overflow: hidden;
}

.coupon-card {
    display: flex;
    border-radius: 14px;
    border: 1px dashed #ffc107;
    background: #fffbea;
    overflow: hidden;
}

.coupon-card.app-only {
    border-color: #212529;
    background: linear-gradient(135deg, #fff, #f5f5f5);
}

.coupon-left {
    min-width: 90px;
    background: linear-gradient(135deg, #ffc107, #ff9800);
    color: #000;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}

.coupon-card.app-only .coupon-left {
    background: linear-gradient(135deg, #212529, #000);
    color: #fff;
}

.coupon-left .discount {
    font-size: 20px;
}

.coupon-right {
    flex: 1;
    padding: 14px;
}

.bg-nav {
    background-image: url('../../images/garden-hero.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.bg-nav::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgb(0 0 0 / 83%); /* black overlay */
    z-index: -1;
}
a.ingredient-title {
    font-weight: 600;
}
