/* =========================================
   4WD OUTFITTERS - GLOBAL VARIABLES
   ========================================= */
:root {
    /* --- BRAND COLORS --- */
    --fwd-primary:       #f1651f; /* Main Orange */
    --fwd-primary-hover: #d84e0b; /* Darker Orange for Hover */
    
    /* --- NEUTRALS --- */
    --fwd-black:         #000000;
    --fwd-dark:          #333333; /* Dark Gray for Text/Buttons */
    --fwd-text:          #555555; /* Body Text */
    --fwd-light:         #999999; /* Light Text */
    --fwd-white:         #ffffff;
    
    /* --- UI ELEMENTS --- */
    --fwd-bg-light:      #f5f5f5; /* Light Gray Backgrounds */
    --fwd-border:        #e0e0e0; /* Border Color */
    
    /* --- STATUS COLORS --- */
    --fwd-success:       #8bc34a; /* Green (In Stock) */
    --fwd-error:         #e53935; /* Red (Out of Stock) */
    --fwd-star:          #dead4b; /* Gold (Ratings) */
}

/* =========================================
   SEARCH WIDGET (The Orange Bar - SEPARATED STYLE)
   ========================================= */
.fwd-search-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; /* SPACE BETWEEN BOXES */
    width: 100%;
    margin-bottom: 30px;
    /* Removed wrapper styles to allow gaps */
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}

.fwd-search-col {
    flex: 1;
    min-width: 280px;
    padding: 25px;
    position: relative;
    
    /* STYLES FOR EACH INDIVIDUAL BOX */
    background-color: var(--fwd-primary); /* Orange Background */
    color: var(--fwd-white);
    border-radius: 6px; /* Rounded corners for each box */
    box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Shadow for each box */
    border-right: none; /* No divider needed */
}

/*.fwd-search-col.fwd-orange-bg.select-vehicle{
    flex: unset;
    width: 40%;
}*/

@media screen and (min-width: 981px){
    .fwd-search-col.fwd-orange-bg.select-vehicle{
        flex: unset;
        width: 40%;
    }
}

.fwd-col-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.fwd-title {
    color: var(--fwd-white, #FFF);
    font-family: "Roboto Condensed";
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

/* --- FORM ELEMENTS --- */
.fwd-form-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.fwd-select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,0.4);
    background-color: var(--fwd-white);
    color: var(--fwd-dark);
    font-size: 14px;
    border-radius: 4px;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.fwd-select:focus {
    outline: none;
    border-color: var(--fwd-white);
    box-shadow: 0 0 5px rgba(255,255,255,0.5);
}

.fwd-select:disabled {
    background-color: #f0f0f0;
    color: #999;
    cursor: not-allowed;
}

/* --- GARAGE TOGGLE --- */
/* --- GARAGE TOGGLE (Custom Design) --- */
.fwd-garage-toggle {
    font-size: 16px;
    font-weight: 700;
    color: var(--fwd-white); /* Used Variable */
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    transition: opacity 0.2s;
}

.fwd-garage-toggle:hover {
    opacity: 0.9;
}

/* The Counter Box (White Square) */
.fwd-badge {
    background-color: var(--fwd-white); /* Used Variable */
    color: var(--fwd-light);            /* Used Variable (Grey text) */
    border-radius: 6px;
    min-width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* The Arrow Icon */
.fwd-garage-toggle .dashicons {
    font-size: 22px;
    width: 22px;
    height: 22px;
    color: var(--fwd-white); /* Used Variable */
    margin: 0;
}

/* --- GARAGE DROPDOWN --- */
.fwd-garage-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: var(--fwd-white);
    color: var(--fwd-dark);
    z-index: 999;
    box-shadow: 0 5px 15px rgba(0,0,0,0.15);
    padding: 15px;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.hidden {
    display: none !important;
}

.fwd-garage-label {
    font-weight: 700;
    margin-bottom: 10px;
    font-size: 13px;
    text-transform: uppercase;
    color: var(--fwd-primary);
}

.fwd-saved-vehicles {
    list-style: none;
    padding: 0;
    margin: 0;
}

.fwd-vehicle-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid var(--fwd-border);
    font-size: 14px;
}

.fwd-vehicle-item:last-child {
    border-bottom: none;
}

.vehicle-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

.btn-select {
    background: var(--fwd-primary);
    color: var(--fwd-white);
    border: none;
    padding: 4px 8px;
    font-size: 11px;
    border-radius: 3px;
    cursor: pointer;
    text-transform: uppercase;
    font-weight: 700;
}

.btn-select:hover {
    background: var(--fwd-primary-hover);
}

.btn-remove {
    color: #aaa;
    cursor: pointer;
    font-size: 16px;
}

.btn-remove:hover {
    color: var(--fwd-error);
}

/* =========================================
   FULL SHOP LAYOUT (Sidebar + Grid)
   ========================================= */

/* --- HEADER --- */
.fwd-shop-header {
    margin-bottom: 30px;
    border-bottom: 1px solid var(--fwd-bg-light);
    padding-bottom: 20px;
}

.fwd-breadcrumbs {
    font-size: 18px;
    margin-bottom: 10px;
    color: var(--fwd-black);
    font-family: "Roboto Condensed";
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.fwd-breadcrumbs a {
    color: var(--fwd-black);
    text-decoration: underline;
}
.fwd-breadcrumbs .sep {
    margin: 0 5px;
    color: #ccc;
}
.fwd-breadcrumbs .current {
    color: var(--fwd-light);
}

.fwd-page-title {
    font-size: 32px;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.1;
    margin: 0;
    color: var(--fwd-black);
}

/* --- COLUMNS --- */
.fwd-shop-columns {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.fwd-sidebar {
    width: 250px;
    flex-shrink: 0;
}

.fwd-content {
    flex-grow: 1;
}

/* --- SIDEBAR FILTERS --- */
.fwd-filter-heading {
    font-size: 20px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 20px;
    color: var(--fwd-black);
}

.fwd-filter-title {
    font-size: 14px;
    font-weight: 700;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--fwd-bg-light);
    padding-bottom: 10px;
    margin-bottom: 15px;
    color: var(--fwd-dark);
}

.fwd-checkbox-item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    cursor: pointer;
    font-size: 14px;
    color: var(--fwd-text);
}

.fwd-checkbox-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    border: 1px solid #ccc;
    border-radius: 3px;
    accent-color: var(--fwd-primary); /* Uses Brand Color */
}

.fwd-checkbox-item:hover {
    color: var(--fwd-primary);
}

/* --- PRICE FILTER --- */
.fwd-price-inputs {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.fwd-price-row {
    display: flex;
    align-items: center;
    position: relative;
}

.currency-symbol {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-weight: 600;
    color: var(--fwd-dark);
    z-index: 2;
}

.fwd-price-row input[type="number"] {
    width: 100%;
    padding: 10px 10px 10px 25px;
    background-color: var(--fwd-bg-light);
    border: 1px solid var(--fwd-border);
    border-radius: 6px;
    font-size: 14px;
    color: var(--fwd-dark);
}

.fwd-price-row input[type="number"]:focus {
    background-color: var(--fwd-white);
    border-color: #ccc;
    outline: none;
}

.fwd-btn-apply {
    margin-top: 5px;
    background-color: var(--fwd-dark);
    color: var(--fwd-white);
    border: none;
    padding: 8px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 700;
    width: 100%;
    transition: background 0.2s;
}

.fwd-btn-apply:hover {
    background-color: var(--fwd-primary);
}


/* =========================================
   PRODUCT GRID & CARD
   ========================================= */
.fwd-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}

.fwd-product-card {
    background: var(--fwd-white);
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    position: relative;
}

.fwd-product-card:hover {
    /*border-color: var(--fwd-primary);
    box-shadow: 0 5px 15px rgba(241, 101, 31, 0.15);*/ /* Orange Shadow */
}

/* IMAGE AREA */
.fwd-card-image-wrapper {
    position: relative;
    padding: 0;
    overflow: hidden;
    text-align: center;

    padding: 15px 8px;
    border-radius: 15px;
    border: 1.5px solid #F2600C;
    background: #FFF;
}

.fwd-card-image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s;
}

/*.fwd-product-card:hover .fwd-card-image-wrapper img {
    transform: scale(1.05);
}*/

/* BADGES */
.fwd-badge-stock {
    position: absolute;
    top: 0;
    right: 0;
    background-color: var(--fwd-success);
    color: var(--fwd-white);
    font-size: 11px;
    font-weight: 700;
    padding: 4px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    z-index: 2;

    border-radius: 0 15px 0 0;
    background: #8AC440;

    color: #FFF;
    text-align: center;
    font-family: "Roboto Condensed";
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;

    padding: 5px 10px;
}

.fwd-badge-stock.out-of-stock {
    background-color: var(--fwd-error);
}

/* CONTENT */
.fwd-card-details {
    padding: 15px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.fwd-product-title {
    color: var(--fwd-black, #000);
    font-family: "Roboto Condensed";
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
}

.fwd-product-title a {
    color: var(--fwd-black);
    text-decoration: none;
}

.fwd-product-title a:hover {
    color: var(--fwd-primary);
}

/* RATINGS */
.fwd-star-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.fwd-stars {
    color: var(--fwd-star);
    font-size: 18px;
    letter-spacing: 1px;
}

.review-count {
    color: #000;
    font-family: "Roboto Condensed";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.fwd-product-price {
    color: #000;
    font-family: "Roboto Condensed";
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    margin-bottom: 15px;
}

/* BUTTONS */
.fwd-card-actions-row {
    display: flex;
    gap: 10px;
    margin-top: auto;
}

.fwd-btn {
    flex: 1;
    padding: 10px 0;
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 4px;
    text-decoration: none;
    transition: background 0.3s;
    border: none;
    cursor: pointer;
    display: inline-block;

    color: #FFF;
    font-family: "Roboto Condensed";
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: uppercase;
}

.fwd-btn-black {
    background-color: var(--fwd-black);
    color: var(--fwd-white);
}

.fwd-btn-black:hover {
    background-color: var(--fwd-dark);
}

.fwd-btn-orange {
    background-color: var(--fwd-primary);
    color: var(--fwd-white);
}

.fwd-btn-orange:hover {
    background-color: var(--fwd-primary-hover);
}

/* =========================================
   EMPTY STATE (No Results)
   ========================================= */
.fwd-empty-state {
    text-align: center;
    padding: 60px 20px;
    background: var(--fwd-white);
    border: 1px dashed var(--fwd-border);
    border-radius: 8px;
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.fwd-empty-icon {
    font-size: 50px;
    color: var(--fwd-border);
    margin-bottom: 20px;
}

.fwd-empty-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--fwd-dark);
    margin-bottom: 10px;
    text-transform: uppercase;
}

.fwd-empty-text {
    font-size: 14px;
    color: var(--fwd-text);
    margin-bottom: 25px;
    max-width: 400px;
    line-height: 1.5;
}

.fwd-btn-reset {
    background-color: var(--fwd-dark);
    color: var(--fwd-white);
    padding: 12px 25px;
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 13px;
    border-radius: 4px;
    transition: background 0.3s;
}

.fwd-btn-reset:hover {
    background-color: var(--fwd-primary);
}

/* =========================================
   LOADER SPINNER
   ========================================= */
.fwd-spinner-wrapper {
    text-align: center;
    padding: 10px;
    display: none;
}

.fwd-spinner {
    display: inline-block;
    width: 30px;
    height: 30px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: var(--fwd-white);
    animation: fwd-spin 1s ease-in-out infinite;
}

@keyframes fwd-spin {
    to { transform: rotate(360deg); }
}

/* =========================================
   RESPONSIVE
   ========================================= */
@media (max-width: 900px) {
    .fwd-shop-columns {
        flex-direction: column;
    }
    .fwd-sidebar {
        width: 100%;
        margin-bottom: 30px;
        background: var(--fwd-bg-light);
        padding: 20px;
        border-radius: 8px;
    }
}



/* --- PAGINATION --- */
.fwd-pagination {
    margin-top: 40px;
    display: flex;
    justify-content: center;
}

.fwd-pagination ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 8px;
}

.fwd-pagination li {
    display: inline-block;
}

.fwd-pagination a,
.fwd-pagination span.current {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--fwd-border);
    border-radius: 4px;
    color: var(--fwd-dark);
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    transition: all 0.2s ease;
    background-color: var(--fwd-white);
}

/* Hover State */
.fwd-pagination a:hover {
    border-color: var(--fwd-primary);
    color: var(--fwd-primary);
}

/* Active State (Current Page) */
.fwd-pagination span.current {
    background-color: var(--fwd-primary);
    border-color: var(--fwd-primary);
    color: var(--fwd-white);
}





/* =========================================
   FEATURED SLIDER MODULE
   ========================================= */
.fwd-slider-section {
    margin: 50px 0;
    position: relative;
}

.fwd-slider-heading {
    text-align: center;
    font-size: 28px;
    font-weight: 900; /* Extra bold */
    text-transform: uppercase;
    margin-bottom: 30px;
    color: var(--fwd-black);
}

/* --- CARD STYLE --- */
.fwd-slide-card {
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    background: var(--fwd-white);
    transition: transform 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.fwd-slide-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.fwd-slide-img-link {
    display: block;
    margin-bottom: 15px;
    overflow: hidden;
    border-radius: 4px;
    padding: 10px;
    border: 2px solid var(--fwd-primary); /* Orange Border */
}

.fwd-slide-img-link img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.fwd-slide-title {
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
    margin: 10px 0 15px;
    line-height: 1.3;
    flex-grow: 1;
}

.fwd-slide-title a {
    color: var(--fwd-black);
    text-decoration: none;
}

.fwd-btn-visit {
    background-color: var(--fwd-primary);
    color: var(--fwd-white);
    padding: 10px 20px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    display: inline-block;
    transition: background 0.3s;
}

.fwd-btn-visit:hover {
    background-color: var(--fwd-primary-hover);
    color: var(--fwd-white);
}

/* --- CONTROLS (Progress Bar + Arrows) --- */
.fwd-slider-controls {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
    max-width: 100%;
}

/* The Progress Bar Container */
.fwd-swiper-progressbar {
    flex-grow: 1; /* Takes up all available space */
    height: 6px;
    background: #e0e0e0; /* Light Grey Track */
    border-radius: 3px;
    position: relative;
    overflow: hidden;
}

/* The Moving Inner Bar (Swiper injects this span) */
.fwd-swiper-progressbar .swiper-pagination-progressbar-fill {
    background: #777; /* Dark Grey Progress */
    border-radius: 3px;
    /* Swiper handles width/transform automatically */
}

/* Navigation Arrows */
.fwd-nav-arrows {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

.fwd-swiper-prev,
.fwd-swiper-next {
    width: 30px;
    height: 30px;
    color: var(--fwd-primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: bold;
    transition: transform 0.2s;
}

.fwd-swiper-prev:hover,
.fwd-swiper-next:hover {
    transform: scale(1.2);
}

/* --- CONTROLS (Progress Bar + Arrows) --- */
.fwd-slider-controls {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
    width: 100%;        /* Ensure it spans full width */
    position: relative; /* Context for children */
}

/* The Progress Bar Container */
/* We target both our class AND the class Swiper adds automatically */
.fwd-swiper-progressbar,
.fwd-swiper-progressbar.swiper-pagination-progressbar {
    flex-grow: 1;            /* Takes up all available space */
    height: 6px !important;  /* Force height */
    background: #e0e0e0;     /* Light Grey Track */
    border-radius: 3px;
    position: relative !important; /* OVERRIDE Swiper's absolute positioning */
    top: auto !important;
    left: auto !important;
    width: auto !important;  /* Let Flexbox handle the width */
    overflow: hidden;
}

/* The Moving Inner Bar */
.fwd-swiper-progressbar .swiper-pagination-progressbar-fill {
    background: #777; /* Dark Grey Progress */
    border-radius: 3px;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    /* Swiper handles width/transform automatically */
}

/* Navigation Arrows */
.fwd-nav-arrows {
    display: flex;
    gap: 10px;
    flex-shrink: 0; /* Prevent arrows from squishing */
}

.fwd-swiper-prev,
.fwd-swiper-next {
    width: 30px;
    height: 30px;
    color: var(--fwd-primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: bold;
    transition: transform 0.2s;
    /* Reset any default Swiper button styles */
    position: static !important; 
    margin: 0 !important;
}

.fwd-swiper-prev:hover,
.fwd-swiper-next:hover {
    transform: scale(1.2);
}


/* =========================================
   MOBILE RESPONSIVENESS
   ========================================= */

/* Default: Hide Mobile Elements on Desktop */
.fwd-mobile-filter-btn,
.fwd-mobile-header,
.fwd-sidebar-overlay {
    display: none;
}

@media (max-width: 900px) {

    /* --- 1. SEARCH WIDGET STACKING --- */
    .fwd-search-wrapper {
        flex-direction: column; /* Stack boxes vertically */
        gap: 15px;
    }
    
    .fwd-search-col {
        width: 100%; /* Full width */
        min-width: 0;
        border-right: none;
    }

    /* --- 2. MOBILE FILTER BUTTON --- */
    .fwd-mobile-filter-btn {
        display: block;
        width: 100%;
        background-color: var(--fwd-primary);
        color: var(--fwd-white);
        border: none;
        padding: 12px;
        text-transform: uppercase;
        font-weight: 800;
        border-radius: 4px;
        margin-bottom: 20px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }

    /* --- 3. OFF-CANVAS SIDEBAR --- */
    .fwd-shop-columns {
        display: block; /* Remove flex to allow stacking */
        position: relative;
    }

    .fwd-sidebar {
        position: absolute;
        top: 0;
        left: -400px; /* Hide off-screen */
        width: 280px;
        height: 100%;
        background: var(--fwd-white);
        z-index: 10000;
        padding: 20px;
        box-shadow: 2px 0 10px rgba(0,0,0,0.2);
        transition: left 0.3s ease-in-out;
        overflow-y: auto;
    }

    .fwd-sidebar.active {
        left: -30px; /* Slide in */
    }

    /* Header inside Sidebar */
    .fwd-mobile-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 20px;
        padding-bottom: 15px;
        border-bottom: 1px solid var(--fwd-border);
    }

    .fwd-mobile-title {
        font-size: 18px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .fwd-close-btn {
        font-size: 24px;
        cursor: pointer;
        color: var(--fwd-dark);
    }

    /* Dark Overlay */
    .fwd-sidebar-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.5);
        z-index: 9999;
    }

    .fwd-sidebar-overlay.active {
        display: block;
    }

    .fwd-content {
        width: 100%;
    }
}



/* =========================================
   HEADER SEARCH MODULE
   ========================================= */
.fwd-header-search-wrapper {
    position: relative; /* Anchor for dropdown */
    width: 100%;
    max-width: 800px; /* Adjust as needed */
    margin: 0 auto;
}

/* --- THE SEARCH FORM --- */
.fwd-search-form {
    display: flex;
    border: 2px solid var(--fwd-black); /* Dark border like image */
    background: var(--fwd-white);
    height: 50px;
}

.fwd-search-input {
    flex-grow: 1;
    border: none;
    padding: 0 20px;
    font-size: 16px;
    color: var(--fwd-black);
    outline: none;
    background: transparent;
}

.fwd-search-submit {
    width: 50px;
    background: transparent;
    border: none;
    color: var(--fwd-primary); /* Orange Icon */
    font-size: 18px;
    cursor: pointer;
    transition: color 0.3s;
}

.fwd-search-submit:hover {
    color: var(--fwd-primary-hover);
}

/* --- THE DROPDOWN --- */
.fwd-search-dropdown {
    position: absolute;
    top: 100%; /* Right below input */
    right: 0;
    width: 100%;
    background: var(--fwd-white);
    border: 1px solid #ddd;
    border-top: none;
    box-shadow: 0 10px 20px rgba(0,0,0,0.15);
    z-index: 1000;
    display: none; /* Hidden by default */
}

@media screen and (min-width: 981px){
    .fwd-search-dropdown{
        width: 215%;
    }
}

.fwd-header-search-wrapper.active .fwd-search-dropdown {
    display: block; /* Show when active */
}

.fwd-dropdown-grid {
    display: flex;
    min-height: 250px;
}

.fwd-dropdown-col {
    padding: 20px;
    width: 50%;
}

.fwd-col-suggestions {
    border-right: 1px solid #eee;
    background-color: #fcfcfc;
}

.fwd-dropdown-title {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #999; /* Light grey header */
    margin-bottom: 15px;
    letter-spacing: 1px;
    border-bottom: 1px solid #eee;
    padding-bottom: 5px;
}

/* Popular List */
.fwd-suggestion-list {
    list-style: none !important;
    padding: 0;
    margin: 0;
}

.fwd-suggestion-list li {
    margin-bottom: 12px;
}

.fwd-suggestion-list a {
    color: var(--fwd-black);
    font-weight: 700;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    transition: color 0.2s;
}

.fwd-suggestion-list a:hover {
    color: var(--fwd-primary);
}

.fwd-suggestion-list i {
    color: #ccc;
    width: 20px;
    text-align: center;
}

/* Live Results */
.fwd-search-placeholder {
    color: #999;
    font-size: 14px;
    font-style: italic;
}

.fwd-live-product-list {
    list-style: none !important;
    padding: 0;
    margin: 0;
}

.fwd-live-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    text-decoration: none;
    border-bottom: 1px solid #f5f5f5;
}

.fwd-live-item:hover {
    background-color: #fafafa;
}

.fwd-live-thumb img {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 4px;
}

.fwd-live-info {
    display: flex;
    flex-direction: column;
}

.fwd-live-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--fwd-dark);
}

.fwd-live-price {
    font-size: 12px;
    color: var(--fwd-primary);
    font-weight: 700;
}

.fwd-view-all {
    display: block;
    margin-top: 10px;
    font-size: 13px;
    font-weight: 700;
    color: var(--fwd-black);
    text-align: right;
    text-decoration: none;
}

.fwd-view-all:hover {
    text-decoration: underline;
}

/* Responsive */
@media (max-width: 600px) {
    .fwd-dropdown-grid {
        flex-direction: column;
    }
    .fwd-dropdown-col {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #eee;
    }
}

/* --- PRODUCT BADGES --- */
/* Existing Stock Badge style... keep that */

/* NEW: Sale Badge */
.fwd-badge-sale {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background-color: #d32f2f; /* Red Sale Color */
    color: var(--fwd-white);
    padding: 6px 14px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    z-index: 2;
    line-height: 1;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}


/* --- Cart Icon Wrapper --- */
.fwd-cart-icon-wrapper {
    position: relative;
    display: inline-flex; /* Better for alignment */
    align-items: center;
    justify-content: center;
    text-decoration: none;
    margin-left: 15px;
    padding: 5px; /* Give it some breathing room */
}

/* --- The Custom SVG Image --- */
.fwd-custom-cart-svg {
    width: 28px; /* Adjustable size */
    height: 28px;
    display: block;
    transition: opacity 0.3s ease;
}

.fwd-cart-icon-wrapper:hover .fwd-custom-cart-svg {
    opacity: 0.8; /* Slight fade on hover since we can't change color of <img> tag easily */
}

/* --- The Number Badge (Orange Circle) --- */
.fwd-cart-count {
    position: absolute;
    top: -2px;   /* Adjusted for the new image */
    right: -4px; /* Adjusted for the new image */
    
    background-color: #ffffff; /* Orange */
    color: #f1651f;
    
    font-size: 10px;
    font-weight: 700;
    font-family: sans-serif;
    
    min-width: 16px; /* Ensures circle shape even with 2 digits */
    height: 16px;
    line-height: 16px;
    text-align: center;
    border-radius: 50%;
    
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    z-index: 2; /* Ensure it sits ON TOP of the image */
    pointer-events: none; /* Let clicks pass through to the link */
}


/* --- Active Filters Bar (Top of Grid) --- */
.fwd-active-filters-bar {
    margin-bottom: 20px;
    padding: 10px 15px;
    background: #f9f9f9;
    border-radius: 4px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    border: 1px solid #eee;
}

.fwd-active-label {
    font-weight: 600;
    font-size: 14px;
    color: #333;
    margin-right: 5px;
}

.fwd-filter-tag {
    background: #fff;
    border: 1px solid #ddd;
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 12px;
    color: #555;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    cursor: default;
}

.fwd-clear-all-link {
    margin-left: auto; /* Pushes it to the far right */
    color: #d32f2f;
    font-size: 13px;
    text-decoration: underline;
    font-weight: 600;
    cursor: pointer;
}

.fwd-clear-all-link:hover {
    color: #a00;
    text-decoration: none;
}

/* --- Sidebar Header Row --- */
.fwd-sidebar-heading-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #f1f1f1;
}

.fwd-filter-heading {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #222;
}

.fwd-reset-link {
    font-size: 12px;
    color: #d32f2f;
    text-decoration: underline;
    cursor: pointer;
}

.fwd-reset-link:hover {
    color: #a00;
    text-decoration: none;
}