/* ===== RESET & BASE ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: #F9F7F2;
    font-family: 'Segoe UI', Arial, Helvetica, sans-serif;
    color: #2d2d2d;
}

/* ===== EVERY CELL: centered text, visible box ===== */
.cell {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    border: 1px solid rgba(58, 90, 58, 0.12);
    overflow: hidden;
    word-break: break-word;
    padding: 6px 8px;
    line-height: 1.4;
}

/* ===== CLICKABLE ELEMENTS ===== */
.click-home, .click-department, .click-product, .click-location,
.click-login, .click-forgotpassword, .click-signup, .click-cart,
.click-shipping, .click-payment, .click-review, .click-confirmation,
.click-movie, .click-project, .navigate {
    cursor: pointer;
}


/* ===== COLOR PALETTE ===== */
.grey1 { background-color: #e8e2d6; color: #2d2d2d; }
.grey2 { background-color: #ffffff; color: #2d2d2d; }
.grey3 { background-color: #a8b99c; color: #2d2d2d; }
.grey4 { background-color: #5b7a4b; color: #ffffff; }
.grey5 { background-color: #3a5a3a; color: #ffffff; }

/* Dark-bg text */
.grey4, .grey4 *, .grey5, .grey5 * { color: #ffffff; }
/* Light-bg text */
.grey1, .grey1 *, .grey2, .grey2 *, .grey3, .grey3 * { color: #2d2d2d; }

/* ===== HEIGHT SCALE ===== */
.height1 { height: 40px;  }
.height2 { height: 55px;  }
.height3 { height: 80px;  }
.height4 { height: 100px; }
.height5 { height: 120px; }
.height6 { height: 160px; }
.height7 { height: 180px; }
.height8 { height: 240px; }

:root {
    --primary-green: #4B5338; 
    --accent-green: #9CB75E;  
    --text-dark: #1A1A1A;
    --white: #F9F7F2;
}

* {
    margin: 0;
    padding: 0;
    font-family: 'instrument sans', 'Segoe UI', Arial, Helvetica, sans-serif;
}

.navbar {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1000;
    padding: 30px 0;
}

body.page-home .navbar {
    position: absolute;
    background: transparent;
}

body.page-inner .navbar {
    position: fixed;
    left: 0;
    right: 0;
    background: #4B5338;
    padding: 30px 0;
    z-index: 1200;
    overflow: visible;
}

body.page-inner .navbar::after {
    content: "";
    position: absolute;
    left: 100%;
    width: 100vw;
    transform: translateX(-100%);
    height: 250px;
    background-image: url("../img/curve-light.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center;
    pointer-events: none;
    z-index: 0;
}

body.page-inner .header-container {
    position: relative;
    z-index: 1;
}

/* Keep non-home pages below the overlaid navbar without adding space from hidden main wrappers */
#department,
#product,
#forgotpassword,
#signup,
#cart,
#shipping,
#payment,
#review,
#confirmation {
    padding-top: 360px;
}

#location {
    padding-top: 360px !important;
}

.header-container {
    display: flex;
    align-items: center;
    padding: 0 50px;
    max-width: 100%;
}

.header-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-grow: 1; 
    gap: 40px;
}

.logo {
    height: 70px;
    width: auto;
}

body.page-inner #site-logo {
    filter: brightness(0) invert(1);
}



.main-nav {
    display: flex;
    gap: 30px;
}

.nav-link {
    color: white; 
    text-decoration: none;
    font-weight: 600;
    font-size: 18px;
    letter-spacing: 1px;
}

.search-bar {
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 1px solid #e1e1e1; 
    border-radius: 100px; 
    height: 42px; 
    width: 200px;
    padding: 0 15px 0 20px;
    transition: all 0.2s ease-in-out;
}

.search-bar input {
    flex: 1; 
    border: none !important;
    outline: none !important;
    background: transparent;
    font-size: 14px;
    font-weight: 400;
    color: #333;
    margin: 0;
    padding: 0; 
    height: 100%;
    line-height: normal;
}

.search-bar input::placeholder {
    color: #a0a0a0;
    font-size: 13px;
}

.search-submit {
    height: 18px; 
    width: 18px;
    cursor: pointer;
    margin-left: 8px;
    flex-shrink: 0; 
}

.user-icons {
    display: flex;
    gap: 30px;
}

.icon-white {
    height: 30px;
    width: 30px;
    filter: brightness(0) invert(1); 
    cursor: pointer;
}

.icon-white:hover {
    transform: scale(1.1);
}

/* --- THE PARENT WRAPPER --- */
/* This container holds both sections so the SVG can span them without gaps */
/* --- 1. THE SHARED WRAPPER --- */
/* Wrap your Hero and Discount sections in this to sync the background */
/* --- 1. THE SHARED WRAPPER --- */
.main-content-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden; /* Prevents horizontal scroll from absolute elements */
}

/* --- 2. THE BACKGROUND RIBBON (SVG) --- */
.hero-bg-curve {
    position: absolute;
    top: 0;
    right: 0;
    width: 55%;      
    height: 40%;    /* Spans Hero + Discount Banner perfectly */
    z-index: 1;      /* Bottom-most layer */
}

.hero-bg-curve img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
    object-position: right top;
}

/* --- 3. SECTIONS (CONTENT) --- */
.hero {
    position: relative;
    width: 100%;
    z-index: 5;    
        min-height: 90vh; 
    display: flex;
    align-items: center;
}



.discount-banner {
    background-color: #E8E4DB;
    /* Ensure no overflow:hidden here or it will clip the herbs */
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
    padding: 0 20px;
    position: relative; 
}

/* --- 4. THE FLOATING ASSETS (OVERLAYS) --- */
/* These must have the highest z-index to avoid being cut off by section backgrounds */

.floating-fruit {
    position: absolute;
    right: 5%;         
    top: 50%;
    transform: translateY(-50%);
    width: 25vw;       
    max-width: 420px;
    z-index: 20;       
    filter: drop-shadow(0 20px 40px rgba(0,0,0,0.15));
}


.floating-herbs {
    position: absolute;
    right: 0;
    margin-top: -220px;
    bottom: 500;     
    width: 28vw;
    max-width: 480px;
    z-index: 25;       /* Set slightly higher than fruit to ensure visibility */
    pointer-events: none; /* Allows clicks to pass through to the 'Get Offer' button */
    filter: drop-shadow(0 15px 30px rgba(0,0,0,0.15));
}

/* --- 5. TEXT & COMPONENTS --- */
.hero-text { 
    max-width: 600px;
}

.hero-text h1 {
    font-size: clamp(3rem, 7vw, 5.5rem); 
    font-weight: 700;
    line-height: 0.95;
    color: var(--text-dark);
    margin-bottom: 20px;
}

.highlight {
    color: var(--accent-green);
}

.hero-text p {
    font-size: 20px;
    color: #444;
}

.discount-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.discount-image-left {
    width: 38%;
}

.discount-left-curve {
    margin-top: -25%
}

.discount-left-spoon {
    margin-top: -25%
}

.discount-left-oil {
    margin-left: -50px;
}

.discount-content {
    width: 40%;
    color: var(--text-dark);
    position: relative;
    z-index: 6; /* Keeps text above background but below herbs */
}

.discount-content h2 {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
}

/* --- 6. BUTTONS & TIMERS --- */
.btn-primary, .btn-dark {
    background-color: var(--primary-green);
    color: var(--white);
    border: none;
    padding: 16px 45px;
    border-radius: 50px;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-primary:hover {
    background-color: #384730;
    transform: translateY(-3px);
}

.countdown {
    display: flex;
    gap: 15px;
    margin: 30px 0;
}

.time-box {
    background: #fff;
    padding: 15px;
    border-radius: 12px;
    text-align: center;
    min-width: 80px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.time-box span {
    display: block;
    font-size: 1.5rem;
    font-weight: bold;
}


/* --- RESPONSIVENESS --- */
@media (max-width: 1024px) {
    .hero-bg-curve { width: 50%; }
    .floating-fruit { width: 30vw; right: 2%; }
}

@media (max-width: 768px) {
    /* Make the green a transparent overlay so text is readable */
    .hero-bg-curve { 
        width: 100%; 
        opacity: 0.2; 
    }
    
    .hero-text {
        text-align: center;
        margin: 0 auto;
    }

    .floating-fruit {
        position: relative;
        width: 70%;
        margin: 40px auto;
        right: auto;
        top: auto;
        transform: none;
        display: block;
    }

    .discount-container {
        flex-direction: column;
        text-align: center;
    }

    .discount-content, .discount-image-left {
        width: 100%;
        margin-bottom: 30px;
    }

    .countdown {
        justify-content: center;
    }

    .floating-herbs {
        width: 40%;
        opacity: 0.6;
    }
}
.categories-section {
    padding: 60px 0;
    background-color: #F9F7F2; /* Matches your body color */
}

.categories-container {
    display: flex;
    justify-content: center;
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
        height: 300px;
}

.category-card {
    flex: 1;
    width: 400px;
    border-radius: 15px;
    position: relative;
    overflow: visible; /* Allows the product to pop out the top */
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 20px;
}

.card-shape {
    width: 100%;
    height: 250px;
    background-color: #F9F7F2; /* Same as section background to create the 'cutout' */
    position: relative;
    /* This uses your curve.svg to 'cut' the bottom of the white area */
    mask-size: cover;
    mask-repeat: no-repeat;
    mask-position: bottom;
    margin-bottom: 10px;
}

.product-img {
    position: absolute;
    bottom: 10px; /* Adjust to make it sit right on the curve */
    left: 50%;
    transform: translateX(-50%);
    width: 80%; /* Adjust size of product */
    height: auto;
    z-index: 5;
}

.card-label {
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 1px;
    text-align: right;
    width: 100%;
    padding-right: 25px;
    margin-top: auto;
}

.section-title {
    font-size: 32px;
    font-weight: 500;
    margin-bottom: 20px;
    letter-spacing: 1px;
}


.restock-frame {
    background-color: #4B5338; /* Dark olive green */
    border-radius: 40px; /* Big rounded corners */
    padding: 40px;
    display: flex;
    gap: 30px;
    align-items: center;
}

.restock-info {
    flex: 1;
    color: #F9F7F2;
    font-size: 16px;
    line-height: 1.5;
}

.restock-info p {
    margin-bottom: 20px;
}

/* The horizontal product row */
.product-row {
    flex: 3;
    display: flex;
    gap: 20px;
}

/* Individual White Product Cards */
.product-card {
    background: #fff;
    border-radius: 20px;
    padding: 15px;
    flex: 1;
    display: flex;
    flex-direction: column;
    text-align: left;
    height: 380px;
}

.product-thumb img {
    width: 100%;
    height: 200px; /* Fixed height to uniform cards */
    object-fit: contain; /* Prevent stretching */
    margin-bottom: 10px;
}


.product-card {
    height: 100%;
}

.product-details .brand { font-size: 12px; color: #666; }
.product-details .name { font-size: 18px; font-weight: 600; margin: 5px 0; }
.product-details .sku, .product-details .weight { 
    display: block; 
    font-size: 11px; 
    color: #999; 
}
.product-details .price { 
    display: block; 
    font-size: 20px; 
    font-weight: 700; 
    margin: 10px 0; 
    color: #4B5338; 
}

/* Add to Cart Buttons */
.product-action, .add-to-cart-simple {
    background: #4B5338;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 25px;
    padding: 8px 15px;
    margin-top: auto;
    font-size: 14px;
}

.qty-btn {
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    font-weight: bold;
}.restock-frame {
    background-color: #4B5338; 
    border-radius: 35px;
    padding: 30px;
    display: grid;
    /* This creates 4 equal columns */
    grid-template-columns: repeat(4, 1fr); 
    gap: 20px;
}

/* Breadcrumbs */
.breadcrumb {
    padding: 40px 0 20px 0;
    max-width: 1200px;
    margin: 0 auto;
    font-size: 14px;
    color: #333;
}
.breadcrumb a {
    text-decoration: none;
    color: #333;
}

/* Background strip effect */
.product-main-section {
    /* Top half is body color, bottom 100px is olive green */
    background: linear-gradient(to bottom, #F9F7F2 85%, #4B5338 85%);
    padding-bottom: 0;
}

.product-container-bg {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.product-white-card {
    background: #fff;
    border-radius: 40px;
    padding: 60px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    margin-bottom: 50px;
}

.product-top-row {
    display: flex;
    gap: 60px;
    align-items: center;
    margin-bottom: 40px;
}

.product-image-large {
    flex: 1;
    text-align: center;
}
.product-image-large img {
    max-width: 100%;
    height: auto;
}

.product-info-summary {
    flex: 1;
}

.brand-label { color: #666; font-size: 18px; }
.product-title { font-size: 48px; margin: 5px 0; font-weight: 600; }
.product-sku { color: #999; font-size: 14px; display: block; }
.product-price-large { 
    font-size: 42px; 
    color: #9CB75E; /* The light accent green from your variables */
    font-weight: 700;
    margin: 20px 0 5px 0;
}
.product-weight { color: #666; margin-bottom: 30px; display: block; }

/* The big Add to Cart button */
.product-action-large {
    background: #4B5338;
    color: #fff;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    width: 250px;
    padding: 12px 20px;
    border-radius: 30px;
    font-weight: 600;
}

.product-description {
    line-height: 1.6;
    color: #2d2d2d;
    font-size: 16px;
}
.product-description p { margin-bottom: 15px; }
/* The special text block on the left */
.restock-text-card {
    color: #F9F7F2;
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.product-card {
    background: #fff;
    border-radius: 20px;
    padding: 20px;
    display: flex;
    flex-direction: column;
}

/* The button for the text block is white with dark text */
.product-action-white {
    background: #fff;
    color: #4B5338;
    display: flex;
    justify-content: space-between;
    padding: 10px 15px;
    border-radius: 25px;
    font-weight: 600;
}

.qty-btn-dark {
    background: none;
    border: none;
    color: #4B5338;
    cursor: pointer;
}

.product-grid-frame {
    background-color: #4B5338; /* The dark olive border frame */
    border-radius: 35px;
    padding: 30px;
    margin-bottom: 50px;
}

.product-grid-frame::-webkit-scrollbar {
    display: none;
}
.product-grid-frame {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

.product-grid-frame .product-card {
    transition: background-color 0.3s ease;
    position: relative;
    cursor: pointer;
}

/* Hide front content smoothly but keep layout intact */
.card-front {
    transition: opacity 0.3s ease;
}

/* Card overlay description styles - Covers the whole card above the button */
.card-back {
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 70px;
    background: transparent;
    color: #F9F7F2;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    opacity: 0;
    pointer-events: none; /* Crucial: Allows mouse to stay hovered on the image below */
    transition: opacity 0.3s ease;
}

/* HOVER STATE: Trigger only when hovering over the image */
.product-card:has(.product-thumb:hover) {
    background-color: #4B5338; /* Turn entire card green */
}

/* Hide the front content (image, title, price) */
.product-card:has(.product-thumb:hover) .card-front {
    opacity: 0;
}

/* Show the description */
.product-card:has(.product-thumb:hover) .card-back {
    opacity: 1;
}

/* Invert the add-to-cart button */
.product-card:has(.product-thumb:hover) .product-action {
    background: #fff;
    color: #4B5338;
}

.product-card:has(.product-thumb:hover) .qty-btn {
    color: #4B5338;
}

/* Standard Button Style */
.product-action {
    background: #4B5338;
    color: #fff;
    display: flex;
    justify-content: space-between;
    padding: 10px 15px;
    border-radius: 25px;
    margin-top: auto;
}



.qty-btn {
    background: none;
    border: none;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
}
/* ===== FOOTER ===== */
.main-footer {
    background-color: #4B5338; /* Match your olive green */
    color: #F9F7F2;
    padding: 50px;
    margin-top: 180px; /* Space between last section and footer */
    position: relative;
}

/* Optional: Add that subtle top wave using a mask or background image */
.main-footer::before {
    content: "";
    position: absolute;
    top: -175px; /* Pulls it above the footer */
    left: 0;
    width: 100%;
    height: 200px;
    background: url('../img/footer.svg') no-repeat;}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr 2fr; /* Centers the social icons */
    align-items: flex-end;
    padding: 0 20px;
}

.footer-links {
    display: flex;
    gap: 60px;
}

.link-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.link-group a {
    color: #F9F7F2;
    text-decoration: none;
    font-size: 13px;
    opacity: 0.9;
    transition: opacity 0.2s;
}

.link-group a:hover {
    opacity: 1;
    text-decoration: underline;
}

.footer-socials {
    display: flex;
    justify-content: center;
    gap: 25px;
}

.footer-socials a {
    color: #F9F7F2;
    font-size: 24px;
    transition: transform 0.2s;
}

.footer-socials a:hover {
    transform: translateY(-3px);
}

.footer-disclaimer {
    text-align: right;
}

.footer-disclaimer p {
    font-size: 12px;
    opacity: 0.7;
}

/* ===== SECTION SPACING ===== */
section.grid-x {
    margin-top: 8px;
    margin-bottom: 8px;
}

/* ===== HIDE / SHOW ===== */
.hideAll { display: none; }

/* ===== PRODUCT CARD (unified column with green border) ===== */


/* Category department boxes */
.click-department.grey3 {
    border-radius: 12px;
    margin: 6px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* ===== SECTION HEADINGS ===== */
.grey1.height2 {
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border: none;
}

/* ===== HERO BANNER ===== */
#home .grid-x:first-child .grey1.height8 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    text-align: left;
    padding-left: 24px;
    justify-content: flex-start;
}

/* ===== HERO / DISCOUNT TUNING ===== */
/* Remove thin borders but preserve the intended background colors for hero + discount rows */
#home .grid-x:nth-of-type(1) .cell,
#home .grid-x:nth-of-type(2) .cell {
    border: none;
    /* keep background colors from the element classes (grey1/grey2/grey5) */
    justify-content: center;
    padding: 12px 24px;
}

/* restore a small gap under the discount banner so the curve and content breathe */
#home .grid-x:nth-of-type(2) {
    margin-bottom: 12px;
}

/* ===== DISCOUNT BANNER ===== */
.grey5.height6 {
    border-radius: 0;
}

/* ===== FORM INPUTS (white boxes) ===== */
.grey2.height2 {
    border: 1.5px solid #c5c0b6;
    border-radius: 6px;
    margin: 2px 0;
}

/* ===== FORGOT PASSWORD CARD ===== */
.forgot-wrapper{display:flex;align-items:center;justify-content:center;padding:36px 16px}
.forgot-card{background:#ffffff;max-width:520px;width:100%;border-radius:12px;padding:26px;box-shadow:0 18px 40px rgba(15,22,12,0.08)}
.forgot-header{font-size:20px;color:#3a5a3a;font-weight:700;margin-bottom:8px}
.forgot-sub{color:#6b6f68;margin-bottom:14px;font-size:14px}
.forgot-card .vertical-form input{background:#f7f5ef;border:1px solid #e6e3dc;padding:12px 14px;border-radius:8px;margin-bottom:12px}
.forgot-card .primary-btn{width:100%;padding:12px;border-radius:10px}
.forgot-card .form-row{justify-content:flex-start}

/* ===== SIGNUP CARD ===== */
.signup-wrapper{display:flex;align-items:center;justify-content:center;padding:32px 16px}
.signup-card{background:#ffffff;max-width:640px;width:100%;border-radius:12px;padding:26px;box-shadow:0 18px 40px rgba(15,22,12,0.08)}
.signup-header{font-size:22px;color:#3a5a3a;font-weight:800;margin-bottom:6px}
.signup-sub{color:#6b6f68;margin-bottom:14px;font-size:14px}
.signup-card .vertical-form input{background:#f7f5ef;border:1px solid #e6e3dc;padding:12px 14px;border-radius:8px;margin-bottom:12px}
.signup-card .terms{display:block;font-size:13px;color:#60655f;margin:10px 0}
.signup-card .primary-btn{width:100%;padding:12px;border-radius:10px}
.signup-footer{margin-top:12px;text-align:center;color:#6b6f68}
.signup-footer a{color:#3a5a3a;font-weight:700}
.signup-wrapper{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:48px 16px;
    min-height:60vh;
}
.signup-card{
    width:100%;
    max-width:540px;
    background:#ffffff;
    border-radius:8px;
    box-shadow:0 10px 30px rgba(20,30,20,0.12);
    overflow:hidden;
}
.signup-card__header{
    background:transparent;
    padding:22px 28px;
    font-weight:700;
    font-size:20px;
    color:#243c2a;
}
.signup-card__content{
    padding:20px 28px 28px;
    background:transparent;
}
.signup-sub{
    margin:0 0 14px 0;
    color:#66705f;
    font-size:14px;
}
.signup-card label{display:block;margin-bottom:12px;color:#374a3a}
.signup-card input[type="text"],
.signup-card input[type="email"],
.signup-card input[type="tel"],
.signup-card input[type="password"]{
    width:100%;
    box-sizing:border-box;
    padding:10px 12px;
    border:1px solid #e6e3dd;
    border-radius:6px;
    background:#fbf9f6;
    margin-top:6px;
}
.signup-card .terms{font-size:13px;color:#596454;margin-top:6px}
.signup-card .primary-btn{
    display:block;
    width:100%;
    margin-top:14px;
    background:#5b7a4b;
    color:#fff;
    border:none;
    padding:12px 14px;
    border-radius:6px;
    font-weight:700;
}
.signup-footer{margin-top:12px;color:#6b7668;font-size:13px}
.signup-footer a{color:#3a5a3a;font-weight:600}

/* ===== BUTTONS (olive green) ===== */
.grey4.height2 {
    border-radius: 6px;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.5px;
    margin: 4px 0;
}
.grey4.height3 {
    border-radius: 6px;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.5px;
    margin: 4px 0;
}
.grey4.height4 {
    font-size: 20px;
    font-weight: 700;
}

/* ===== SECONDARY BUTTONS (sage) ===== */
.grey3.height2 {
    border-radius: 6px;
    font-weight: 600;
    font-size: 12px;
    margin: 4px 0;
}

/* ===== ORDER SUMMARY SIDEBAR ===== */
.grey5.height2 {
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.grey5.height1 {
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.5px;
}

/* ===== CHECKOUT PROGRESS BAR ===== */
.grey4.height1,
.grey3.height1 {
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.3px;
}

/* ===== CART ROW ITEMS ===== */
#cart .grid-x .grey2.height4,
#cart .grid-x .grey1.height4,
#cart .grid-x .grey3.height4 {
        border: 1px solid #d5d0c6;
        margin: 2px 0;
}

/* ===== CART LAYOUT ===== */
.cart-page{gap:20px}
.cart-items{display:flex;flex-direction:column;gap:12px}
.cart-item{background:#ffffff;border-radius:10px;padding:10px;box-shadow:0 6px 18px rgba(20,30,20,0.06)}
.cart-item__image{display:flex;align-items:center;justify-content:center;border-radius:8px;padding:10px}
.cart-item__meta{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:6px 12px}
.cart-item__title{font-weight:700;color:#243c2a;margin-bottom:4px}
.cart-item__subtitle{font-size:13px;color:#66705f}
.cart-item__qty{display:flex;align-items:center;justify-content:center}
.cart-item__price{display:flex;align-items:center;justify-content:center;font-weight:700}
.cart-item__remove{display:flex;align-items:center;justify-content:center}
.remove-btn{background:transparent;border:0;color:#8a8a85;cursor:pointer;padding:8px;border-radius:8px}
.remove-btn:hover{color:#3a5a3a}

.continue-btn{background:#ffffff;border:1px solid #dcd8cf;padding:10px 14px;border-radius:8px;color:#3a5a3a;font-weight:700}
.continue-btn:hover{background:#fbfbfb}

.cart-summary.card{background:#ffffff;border-radius:12px;padding:0;box-shadow:0 18px 40px rgba(15,22,12,0.06);overflow:hidden}
.card__title{padding:18px 20px;font-weight:700;color:#ffffff;background:#3a5a3a}
.card__body{padding:16px 20px}
.card__body .grid-x .cell{padding:6px 0}
.promo{background:#fbf9f6;border:1px solid #e6e3dc;padding:10px;border-radius:8px}
.checkout-btn{width:100%;padding:12px;border-radius:8px;background:#5b7a4b;color:#fff;border:none;font-weight:700}

@media screen and (max-width: 639px){
    .cart-item{padding:10px}
    .cart-item .cell{justify-content:flex-start}
    .cart-item__remove{margin-top:8px}
    .cart-item__image{min-height:60px}
    .cart-page{flex-direction:column}
    .cart-summary.card{margin-top:12px}
}

/* ===== CART OVERRIDES TO FIX BOXY CELL STYLING ===== */
/* Remove the global .cell borders and centered text inside cart rows */
#cart .cart-item .cell {
    border: none !important;
    padding: 0 !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left !important;
}

/* Tidy up summary cells (no extra borders) */
#cart .card__body .grid-x .cell {
    border: none !important;
    padding: 6px 0 !important;
    justify-content: space-between !important;
}

/* Ensure remove button stays compact on small screens */
#cart .cart-item__remove .remove-btn{padding:6px 8px}


/* ===== BREADCRUMB ===== */
.grey1.height1 {
    font-size: 11px;
    font-weight: 500;
    text-transform: none;
    border: none;
    justify-content: flex-start;
    padding-left: 12px;
}

/* ===== DEPARTMENT PAGE TITLE ===== */
.grey1.height3 {
    font-size: 22px;
    font-weight: 700;
    border: none;
}

/* ===== PRODUCT DETAIL PAGE ===== */
#product .grey2.height8 {
    border: 2px solid #3a5a3a;
    border-radius: 12px;
}
#product .grey2.height6 {
    text-align: left;
    justify-content: flex-start;
    padding: 16px 20px;
    line-height: 1.6;
    font-size: 12px;
}

/* ===========================
   RESPONSIVE STYLES
   =========================== */

/* ===== PRODUCT GRID WRAPPER (large rounded green frame) ===== */
.product-grid-wrapper {
    background: #3a5a3a;
    padding: 18px;
    border-radius: 18px;
    margin: 12px 0 28px 0;
}
.product-grid-wrapper .grid-x {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    align-items: stretch;
}
.product-grid-wrapper .cell.click-product {
    /* remove the card's outer green border so the wrapper becomes the frame */
    border: none;
    background: transparent;
    margin: 0;
    flex: 0 0 calc(25% - 18px);
}

/* ===== DEPARTMENT TOP: remove centered beige boxes and left-align title/breadcrumb ===== */
#department > .cell.grey1.height1,
#department > .cell.grey1.height3,
#department > .cell.grey2.height1 {
    border: none;
    background: transparent;
    padding-left: 24px;
    justify-content: flex-start;
    text-align: left;
}

#department .department-content-layout {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px 20px;
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

#department .department-sidebar {
    background: #ffffff;
    border: 1px solid #e8e2d6;
    border-radius: 14px;
    padding: 16px;
    position: sticky;
    top: 100px;
}

#department .department-sidebar-title {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    color: #243c2a;
    margin-bottom: 12px;
}

#department .department-sidebar-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

#department .department-sidebar-list li {
    border-radius: 10px;
    padding: 10px 12px;
    color: #3a5a3a;
    font-weight: 600;
    font-size: 14px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

#department .department-sidebar-list li:hover {
    background: #f0ebe1;
}

#department .department-sidebar-list li.active {
    background: #4B5338;
    color: #ffffff;
}

#department .department-main-content .container {
    max-width: none;
    padding: 0;
}

#department .department-main-content .product-grid-frame {
    margin-top: 0;
}

#department .department-empty-state {
    text-align: center;
    color: #c0392b;
    font-size: 20px;
    padding: 40px 0;
}

/* Slightly reduce the top padding of the product wrapper to sit closer under the title */

@media screen and (max-width: 1024px) {
    #department .department-content-layout {
        grid-template-columns: 210px minmax(0, 1fr);
        gap: 16px;
    }
    .product-grid-wrapper .cell.click-product { flex: 0 0 calc(50% - 18px); }
}

@media screen and (max-width: 639px) {
    #department .department-content-layout {
        grid-template-columns: 1fr;
    }

    #department .department-sidebar {
        position: static;
    }

    #department .department-sidebar-list {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
    }

    #department .department-sidebar-list li {
        padding: 8px 10px;
        font-size: 13px;
    }

    .product-grid-wrapper { padding: 12px; }
    .product-grid-wrapper .cell.click-product { flex: 0 0 calc(100% - 12px); }
}

/* MEDIUM (tablet) */
@media screen and (max-width: 1024px) {
    .height1 { height: 36px;  }
    .height2 { height: 48px;  }
    .height3 { height: 70px;  }
    .height4 { height: 90px;  }
    .height5 { height: 105px; }
    .height6 { height: 140px; }
    .height7 { height: 160px; }
    .height8 { height: 200px; }

    .cell { font-size: 11px; padding: 4px 6px; }
    header .cell { font-size: 12px; }

    #home .grid-x:first-child .grey1.height8 {
        font-size: 14px;
        padding-left: 16px;
    }
}

/* SMALL (mobile) */
@media screen and (max-width: 639px) {
    .height1 { height: 32px;  }
    .height2 { height: 44px;  }
    .height3 { height: 64px;  }
    .height4 { height: 80px;  }
    .height5 { height: 95px;  }
    .height6 { height: 120px; }
    .height7 { height: 140px; }
    .height8 { height: 180px; }

    .cell { font-size: 10px; padding: 3px 4px; }
    header .cell { font-size: 10px; }

    /* Stack header items */
    header .grid-x {
        flex-wrap: wrap;
    }

    /* Hero text */
    #home .grid-x:first-child .grey1.height8 {
        font-size: 13px;
        padding-left: 12px;
        text-align: center;
        justify-content: center;
    }

    /* Product cards tighter on mobile */
    .click-product {
        margin: 3px;
        border-radius: 8px;
    }
    .click-department.grey3 {
        margin: 3px;
        border-radius: 8px;
        font-size: 11px;
    }

    /* Buttons */
    .grey4.height2, .grey4.height3 { font-size: 11px; }
    .grey3.height2 { font-size: 10px; }
    
    /* Footer */
    footer .cell { font-size: 9px; }
}

:root {
  --cream: #f0ebe1;
  --sage: #a8b99c;
  --olive: #5b7a4b;
  --olive-dark: #3a5a3a;
  --soft-shadow: 0 12px 30px rgba(22, 30, 18, 0.18);
}

/* The Full-Screen Darkened Overlay */
.login-overlay {
    position: fixed; /* Takes the modal completely out of the page flow */
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.5);
}
/* Show state */
.login-overlay.visible {
  display: flex;
}

/* The Actual White Box */
.login-modal-card {
  background: white;
  border-radius: 16px;
  padding: 32px;
  width: 90%;
  max-width: 420px;
  position: relative;
  box-shadow: var(--soft-shadow);
  animation: modalPop 0.25s ease-out;
}

@keyframes modalPop {
  from { transform: scale(0.9); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

/* Close Circle Button */
.modal-close-circle {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 32px;
  height: 32px;
  background: white;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Form Styling */
.vertical-form label { display: block; font-size: 13px; color: #657063; margin-bottom: 6px; font-weight: 600; }
.vertical-form input { 
  width: 100%; padding: 12px; border-radius: 8px; border: 1px solid #e6e3dc; 
  background: var(--cream); margin-bottom: 16px; box-sizing: border-box;
}
.primary-btn { 
  width: 100%; background: var(--olive); color: white; border: none; 
  padding: 14px; border-radius: 10px; font-weight: 700; cursor: pointer; 
}

    /* Responsive nav / hamburger styles */
    /* Make header sticky across the site */
    header.grid-container{position:sticky;top:0;z-index:1200;background:#fff;box-shadow:0 6px 18px rgba(20,30,20,0.06)}
    .mobile-menu-toggle{display:none;position:fixed;right:18px;top:12px;background:transparent;border:0;font-size:28px;line-height:1;color:#243c2a;z-index:1100;cursor:pointer}
    .mobile-nav{display:none;background:#fff;padding:10px 14px;border-top:1px solid #f0ebe1;box-shadow:0 12px 30px rgba(22,30,18,0.08);position:relative;z-index:1099}
    .mobile-nav a{display:block;padding:10px 8px;color:#243c2a;text-decoration:none;font-weight:700;border-bottom:1px solid #f6f4ef}
    .mobile-nav a:last-child{border-bottom:none}
    .mobile-nav.open{display:block}

    @media (max-width:640px){
      /* layout header as a simple flex row: logo left, hamburger right */
      header.grid-container{display:flex;align-items:center;padding:10px 14px}
      header.grid-container .grid-x{display:flex;align-items:center;width:100%;gap:8px;margin:0;padding:0}
      /* hide other cells but keep logo visible */
      header.grid-container .grid-x .cell{display:none}
      header.grid-container .grid-x .cell.click-home{display:flex;align-items:center;gap:8px;font-weight:700}
      .mobile-menu-toggle{display:block;position:static;margin-left:auto;background:transparent;border:0;font-size:28px}
      /* make mobile nav span full width below header */
      .mobile-nav{position:absolute;top:100%;left:0;right:0;border-top:1px solid #f0ebe1}
    }
    /* Polished modal styles (cream/olive palette accents) */


    /* ============================
       PRODUCT DETAIL PAGE
       ============================ */
    .pd-breadcrumb{
      font-size:12px;color:#6b7668;padding:10px 2px;
      border:none;background:transparent;
    }
    .pd-card{
      background:#fff;border-radius:12px;overflow:hidden;
      box-shadow:0 6px 22px rgba(20,30,20,.07);margin-bottom:20px;
    }
    .pd-layout{
      display:flex;gap:0;
    }
    .pd-photo{
      flex:0 0 42%;background:#f5f2ec;display:flex;align-items:center;
      justify-content:center;min-height:300px;font-size:13px;color:#8a8a85;
      border-right:1px solid #f0ebe1;
    }
    .pd-info{
      flex:1;padding:28px 32px;display:flex;flex-direction:column;
      align-items:flex-start;justify-content:center;text-align:left;
    }
    .pd-brand{
      font-size:12px;color:#6b7668;text-transform:uppercase;
      letter-spacing:.8px;font-weight:600;margin-bottom:4px;
    }
    .pd-title{
      font-size:26px;font-weight:700;color:#243c2a;margin:0 0 6px;
    }
    .pd-sku{
      font-size:12px;color:#9a9690;margin-bottom:14px;
    }
    .pd-price{
      font-size:24px;font-weight:700;color:#3a5a3a;margin-bottom:6px;
    }
    .pd-weight{
      font-size:14px;color:#6b7668;margin-bottom:18px;
      padding:4px 12px;background:#f6faf4;border-radius:6px;
      border:1px solid #d5e8d0;display:inline-block;
    }
    .pd-qty-row{
      display:flex;align-items:center;gap:8px;margin-bottom:18px;
    }
    .pd-qty-label{
      font-size:13px;font-weight:600;color:#4a5447;margin-right:4px;
    }
    .pd-add-btn{
      background:#5b7a4b;color:#fff;border:none;padding:14px 36px;
      border-radius:10px;font-weight:700;font-size:15px;cursor:pointer;
      letter-spacing:.3px;transition:background .15s;
    }
    .pd-add-btn:hover{background:#3a5a3a}
    .pd-desc{
      border-top:1px solid #f0ebe1;
    }
    .pd-desc__head{
      background:#3a5a3a;color:#fff;padding:12px 24px;
      font-weight:700;font-size:13px;text-transform:uppercase;
      letter-spacing:.5px;
    }
    .pd-desc__text{
      padding:18px 24px;font-size:14px;color:#4a5447;line-height:1.7;
      margin:0;
    }
    .pd-section-head{
      font-weight:700;font-size:14px;letter-spacing:.5px;
      text-transform:uppercase;color:#2d2d2d;padding:12px 2px;
      border:none;background:transparent;
    }

    /* Product page responsive */
    @media (max-width:768px){
      .pd-layout{flex-direction:column}
      .pd-photo{flex:none;min-height:200px;border-right:none;border-bottom:1px solid #f0ebe1}
      .pd-info{padding:22px 20px}
      .pd-title{font-size:22px}
      .pd-price{font-size:20px}
    }
    @media (max-width:480px){
      .pd-info{padding:16px}
      .pd-title{font-size:19px}
      .pd-price{font-size:18px}
      .pd-add-btn{width:100%;text-align:center;padding:13px}
      .pd-desc__text{padding:14px 16px;font-size:13px}
    }

    /* small screens */
    @media (max-width:640px){
      .site-modal__box{width:96%;max-width:520px}
      .site-modal__header{padding:12px 14px}
      .site-modal__content{padding:16px}
    }

    /* ============================
       CART PAGE — COMPLETE STYLES
       ============================ */
    .cart-header{
      background:#3a5a3a;color:#fff;padding:14px 20px;font-size:16px;font-weight:700;
      border-radius:10px 10px 0 0;margin-top:12px;letter-spacing:.4px;
    }
    .cart-layout{
      display:flex;gap:24px;margin-top:16px;align-items:flex-start;
    }
    .cart-left{flex:2;min-width:0}
    .cart-right{flex:1;min-width:260px;position:sticky;top:80px}

    /* Individual item card */
    .cart-card{
      background:#fff;border-radius:10px;padding:16px 18px;margin-bottom:12px;
      box-shadow:0 4px 14px rgba(20,30,20,.06);
    }
    .cart-row{
      display:flex;align-items:center;gap:14px;flex-wrap:wrap;
    }
    .cart-row__img{
      width:80px;height:80px;background:#f5f2ec;border-radius:8px;
      display:flex;align-items:center;justify-content:center;
      font-size:11px;color:#8a8a85;flex-shrink:0;
    }
    .cart-row__info{flex:1;min-width:120px}
    .cart-row__name{font-weight:700;color:#243c2a;font-size:14px;margin-bottom:3px}
    .cart-row__detail{font-size:12px;color:#6b7668}
    .cart-row__qty{
      display:flex;align-items:center;gap:6px;
    }
    .qty-btn{
      width:28px;height:28px;border:1px solid #d5d0c6;border-radius:6px;
      background:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;
    }
    .qty-btn:hover{background:#f0ebe1}
    .qty-val{font-weight:700;min-width:20px;text-align:center}
    .cart-row__price{font-weight:700;font-size:15px;color:#243c2a;min-width:60px;text-align:right}
    .cart-row__remove{
      background:none;border:none;color:#b0a8a0;font-size:12px;cursor:pointer;
      padding:4px 8px;border-radius:6px;
    }
    .cart-row__remove:hover{color:#c0392b;background:#fdf2f2}

    .cart-continue{
      margin-top:14px;background:#fff;border:1px solid #d5d0c6;padding:10px 20px;
      border-radius:8px;color:#3a5a3a;font-weight:700;font-size:13px;cursor:pointer;
    }
    .cart-continue:hover{background:#faf8f4}

    /* Order summary card */
    .summary-card{
      background:#fff;border-radius:10px;overflow:hidden;
      box-shadow:0 8px 28px rgba(20,30,20,.08);
    }
    .summary-card__head{
      background:#3a5a3a;color:#fff;padding:14px 20px;font-weight:700;font-size:14px;
      text-transform:uppercase;letter-spacing:.5px;
    }
    .summary-card__body{padding:18px 20px}
    .summary-line{
      display:flex;justify-content:space-between;padding:8px 0;
      font-size:13px;color:#4a5447;border-bottom:1px solid #f0ebe1;
    }
    .summary-line:last-of-type{border-bottom:none}
    .summary-free{color:#5b7a4b;font-weight:600}
    .summary-promo{
      display:flex;gap:8px;margin:14px 0;
        }

        /* Product card quantity bar */
        .product-card .product-action {
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: #4B5338;
            border: none;
            border-radius: 999px;
            height: 42px;
            padding: 0 4px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        }

        .product-card .product-action .qty-control {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0;
        }

        .product-card .product-action .qty-btn {
            width: 34px;
            height: 34px;
            background: #fff;
            color: #4B5338;
            border-radius: 50%;
            border: none;
            font-size: 20px;
            font-weight: 800;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: transform 0.1s ease, background 0.2s ease;
        }

        .product-card .product-action .qty-btn:hover {
            background: #f0ebe1;
            transform: scale(1.05);
        }

        .product-card .product-action .qty-btn:active {
            transform: scale(0.95);
        }

        .product-card .product-action .qty-value {
            color: #ffffff;
            font-size: 16px;
            font-weight: 700;
            flex: 1;
            text-align: center;
            pointer-events: none;
            font-variant-numeric: tabular-nums;
        }

        .product-card:has(.product-thumb:hover) .product-action {
            background: #fff;
        }

        .product-card:has(.product-thumb:hover) .product-action .qty-btn {
            background: #4B5338;
            color: #fff;
        }

        .product-card:has(.product-thumb:hover) .product-action .qty-btn:hover {
            background: #2a3d28;
        }

        .product-card:has(.product-thumb:hover) .product-action .qty-value {
            color: #4B5338;
        }
    .promo-input{
      flex:1;padding:9px 12px;border:1px solid #e6e3dc;border-radius:8px;
      background:#fbf9f6;font-size:13px;
    }
    .promo-input:focus{outline:none;border-color:#5b7a4b;box-shadow:0 0 0 3px rgba(91,122,75,.1)}
    .promo-apply{
      padding:9px 14px;background:#a8b99c;border:none;border-radius:8px;
      color:#243c2a;font-weight:700;font-size:12px;cursor:pointer;
    }
    .promo-apply:hover{background:#97ab8c}
    .summary-total{
      display:flex;justify-content:space-between;padding:14px 0 6px;
      font-size:16px;font-weight:700;color:#243c2a;
      border-top:2px solid #3a5a3a;margin-top:6px;
    }
    .summary-checkout{
      width:100%;padding:13px;margin-top:14px;
      background:#5b7a4b;color:#fff;border:none;border-radius:10px;
      font-weight:700;font-size:14px;cursor:pointer;letter-spacing:.3px;
    }
    .summary-checkout:hover{background:#3a5a3a}

    /* Cart responsive */
    @media (max-width:768px){
      .cart-layout{flex-direction:column}
      .cart-right{position:static;min-width:0;width:100%}
    }
    @media (max-width:480px){
      .cart-row{gap:10px}
      .cart-row__img{width:60px;height:60px}
      .cart-row__price{min-width:50px;font-size:13px}
    }

    /* =====================================
       CHECKOUT FLOW — shared styles
       ===================================== */

    /* Progress steps */
    .co-steps{
      display:flex;gap:0;margin:16px 0 20px;border-radius:10px;overflow:hidden;
      box-shadow:0 2px 8px rgba(20,30,20,.06);
    }
    .co-step{
      flex:1;padding:12px 16px;background:#e8e2d6;color:#6b7668;
      font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px;justify-content:center;
    }
    .co-step--active{background:#5b7a4b;color:#fff}
    .co-step--done{background:#a8b99c;color:#243c2a}
    .co-step__num{
      width:24px;height:24px;border-radius:50%;display:inline-flex;
      align-items:center;justify-content:center;font-size:12px;font-weight:700;
      background:rgba(255,255,255,.25);
    }
    .co-step--active .co-step__num{background:rgba(255,255,255,.35)}
    .co-step--done .co-step__num{background:rgba(58,90,58,.2)}

    /* Two-column layout */
    .co-layout{display:flex;gap:24px;align-items:flex-start}
    .co-left{flex:2;min-width:0}
    .co-right{flex:1;min-width:260px;position:sticky;top:80px}

    /* Cards */
    .co-card{
      background:#fff;border-radius:10px;margin-bottom:14px;
      box-shadow:0 4px 14px rgba(20,30,20,.06);overflow:hidden;
    }
    .co-card__head{
      background:#3a5a3a;color:#fff;padding:12px 18px;
      font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:space-between;
    }
    .co-card__body{padding:18px 20px}

    /* Edit button inside card heads */
    .co-edit{
      background:rgba(255,255,255,.2);border:none;color:#fff;padding:4px 12px;
      border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;
    }
    .co-edit:hover{background:rgba(255,255,255,.35)}

    /* Form fields */
    .co-field{margin-bottom:14px}
    .co-field label{display:block;font-size:12px;color:#657063;margin-bottom:5px;font-weight:600}
    .co-field input, .co-field select{
      width:100%;padding:10px 14px;border:1px solid #e6e3dc;border-radius:8px;
      background:#fbf9f6;font-size:14px;box-sizing:border-box;
    }
    .co-field input:focus, .co-field select:focus{
      outline:none;border-color:#5b7a4b;box-shadow:0 0 0 3px rgba(91,122,75,.1);
    }
    .co-form-row{display:flex;gap:12px}
    .co-form-row .co-field{flex:1}
    .co-field--grow{flex:2 !important}

    /* Radio options (shipping methods) */
    .co-radio{
      display:flex;align-items:center;justify-content:space-between;
      padding:12px 14px;border:1px solid #e6e3dc;border-radius:8px;
      margin-bottom:8px;cursor:pointer;font-size:14px;color:#4a5447;
    }
    .co-radio input{margin-right:10px;accent-color:#5b7a4b}
    .co-radio span{flex:1}
    .co-radio strong{color:#243c2a;font-size:14px}
    .co-radio--selected, .co-radio:has(input:checked){
      border-color:#5b7a4b;background:#f6faf4;
    }

    /* Payment tabs */
    .co-tabs{display:flex;gap:0;margin-bottom:16px;border-radius:8px;overflow:hidden;border:1px solid #e6e3dc}
    .co-tab{
      flex:1;padding:10px;background:#fbf9f6;border:none;
      font-size:13px;font-weight:600;color:#6b7668;cursor:pointer;text-align:center;
    }
    .co-tab--active{background:#5b7a4b;color:#fff}
    .co-tab:hover:not(.co-tab--active){background:#f0ebe1}

    /* Checkbox options */
    .co-check{
      display:flex;align-items:center;gap:10px;
      padding:10px 0;font-size:14px;color:#4a5447;cursor:pointer;
    }
    .co-check input{accent-color:#5b7a4b;width:16px;height:16px}

    /* Action buttons */
    .co-actions{display:flex;gap:12px;margin-top:6px;margin-bottom:20px}
    .co-btn--primary{
      flex:1;padding:13px;background:#5b7a4b;color:#fff;border:none;
      border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;
    }
    .co-btn--primary:hover{background:#3a5a3a}
    .co-btn--secondary{
      flex:1;padding:13px;background:#fff;color:#3a5a3a;border:1px solid #d5d0c6;
      border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;
    }
    .co-btn--secondary:hover{background:#faf8f4}

    /* Review page items */
    .rv-text{font-size:14px;color:#4a5447;line-height:1.7;margin:0}
    .rv-item{
      display:flex;align-items:center;gap:14px;
      padding:12px 0;border-bottom:1px solid #f0ebe1;
    }
    .rv-item:last-child{border-bottom:none}
    .rv-item__img{
      width:60px;height:60px;background:#f5f2ec;border-radius:8px;
      display:flex;align-items:center;justify-content:center;
      font-size:10px;color:#8a8a85;flex-shrink:0;
    }
    .rv-item__info{flex:1;font-size:14px;color:#4a5447;line-height:1.5}
    .rv-item__price{font-weight:700;font-size:15px;color:#243c2a}

    /* ============================
       CONFIRMATION PAGE
       ============================ */
    .confirm-wrapper{
      display:flex;justify-content:center;padding:40px 16px;
    }
    .confirm-card{
      background:#fff;border-radius:14px;padding:36px 32px;text-align:center;
      max-width:540px;width:100%;box-shadow:0 12px 36px rgba(20,30,20,.1);
    }
    .confirm-icon{
      width:64px;height:64px;border-radius:50%;background:#5b7a4b;
      color:#fff;font-size:30px;display:inline-flex;align-items:center;
      justify-content:center;margin-bottom:16px;
    }
    .confirm-title{font-size:22px;color:#243c2a;margin:0 0 8px;font-weight:700}
    .confirm-sub{color:#6b7668;font-size:14px;margin:0 0 20px}
    .confirm-order{
      display:inline-flex;gap:10px;align-items:center;background:#f6faf4;
      border:1px solid #d5e8d0;border-radius:10px;padding:12px 20px;margin-bottom:16px;
    }
    .confirm-label{font-size:13px;color:#6b7668}
    .confirm-number{font-size:18px;font-weight:700;color:#3a5a3a}
    .confirm-email{color:#6b7668;font-size:13px;margin:0 0 20px}
    .confirm-details{
      display:flex;gap:20px;text-align:left;margin-top:14px;
      padding-top:18px;border-top:1px solid #f0ebe1;
    }
    .confirm-col{flex:1;font-size:13px;color:#4a5447;line-height:1.6}
    .confirm-col strong{display:block;color:#243c2a;margin-bottom:4px;font-size:13px}

    /* Checkout responsive */
    @media (max-width:768px){
      .co-layout{flex-direction:column}
      .co-right{position:static;min-width:0;width:100%}
      .co-form-row{flex-direction:column;gap:0}
      .co-steps{font-size:11px}
      .co-step{padding:10px 8px}
    }
    @media (max-width:480px){
      .confirm-details{flex-direction:column;gap:14px}
      .confirm-card{padding:28px 20px}
      .co-actions{flex-direction:column}
    }










/* Nav Dropdown Styles */
.nav-item-dropdown {
    position: relative;
    display: inline-block;
}

.nav-item-dropdown .dropdown-content {
    display: none;
    position: absolute;
    background-color: #fff;
    min-width: 180px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1000;
    border-radius: 8px;
    overflow: hidden;
    padding: 0;
    margin: 0;
    list-style: none;
    top: 100%;
    left: 0;
}

.nav-item-dropdown:hover .dropdown-content {
    display: block;
}

.dropdown-content li {
    padding: 12px 16px;
    color: #333;
    font-size: 14px;
    cursor: pointer;
    border-bottom: 1px solid #eee;
    text-transform: capitalize;
}

.dropdown-content li:last-child {
    border-bottom: none;
}

.dropdown-content li:hover {
    background-color: #4B5338;
    color: #fff;
}


/* Department Grid Layout */
#department .products-grid, #product .related-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
    padding: 20px;
}

/* Pagination Styles */
.pagination-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 30px;
    gap: 10px;
}
.page-btn {
    background-color: #fff;
    border: 1px solid #798645;
    color: #798645;
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    font-weight: bold;
    transition: all 0.2s ease;
}
.page-btn:hover:not(:disabled) {
    background-color: #798645;
    color: #fff;
}
.page-btn.active {
    background-color: #798645;
    color: #fff;
}
.page-btn:disabled {
    border-color: #ccc;
    color: #ccc;
    cursor: not-allowed;
}
