/* =============================================================================
   PRODUCT LIST PAGE (PLP) STYLES
   Jackys Theme — Greenhonchos/Jackys
   ============================================================================= */

:root {
    --plp-bg: #fff;
    --sidebar-bg: #fff;
    --text-primary: #1A1A1A;
    --text-secondary: #718096;
    --border-color: #E2E8F0;
    --accent-blue: #112F91;
    --accent-light-blue: #DCE7FF;
}

/* =============================================
   CUSTOM PAGINATION - Matching Target Design
   ============================================= */

/* Floating Filter & Sort Buttons */
/* ============================================ */
.amshopby-filter-current .amshopby-items {
    padding: 0;
}

.catalog-topnav.amasty-catalog-topnav {
    display: none;
}

.page-products .products-grid .product-item {
    margin: 0 !important;
}

.page-products .products-grid .product-item a.action.primary {
    background-color: #00158B !important;
    border-color: #00158B !important;
}

.page-products .products-grid .product-item:nth-child(3n + 1) {
    margin: 0 !important;
}

.amshopby-filter-current .amshopby-item.item {
    padding: 5px 30px 5px 10px !important;
    position: relative;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 0;

}

.amshopby-filter-current .amshopby-item.item:hover {
    border-color: #3e4152 !important;

}

.filter-current+.filter-actions {
    position: absolute;
    top: 1px;
    right: 0;
    margin: 0;
}

.filter-actions .filter-clear {
    color: #000;
}

.amshopby-filter-current .amshopby-remove:after,
.amshopby-filter-current .amshopby-remove:before {
    background-color: #3e4152;
}

.amshopby-filter-current .amshopby-filter-value {
    display: flex;
    gap: 7px;
    align-items: center;
}

.amshopby-filter-current .amshopby-filter-value {
    font-size: 13px;
    margin-top: 5px;
}



.amshopby-items {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.amshopby-item {
    display: flex !important;
    align-items: center;
    gap: 5px !important;
    padding: 4px 8px !important;
    border: 1px solid #d4d5d9;
    border-radius: 20px;
}

.amshopby-filter-current .amshopby-filter-value {
    margin-top: unset;
}

.amshopby-filter-value .am-shopby-form .swatch-option.color {
    border-radius: 50px;
    min-width: 20px !important;
    height: 20px !important;
}



.amshopby-filter-current .amshopby-remove {
    height: 12px;
    left: inherit;
    position: absolute;
    width: 12px;
    right: 8px;
    top: 8px;
}

.floating-filter-sort {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    z-index: 1000;
    /* padding: 0 20px; */
    background: #0D143B;
    border-radius: 4px;
    z-index: 9;
}

.mst-search__index-image {
    display: none;
}

.filter-options .am-labels-folding .item {
    flex-wrap: initial !important;
}

.floating-btn {
    display: flex;
    align-items: center;
    /* gap: 8px; */
    padding: 12px 20px;
    background: transparent;
    border: none;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    transition: all 0.3s ease;
    /* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); */
    white-space: nowrap;
}

.floating-btn:hover {
    background: transparent;
    border-color: transparent;
    /* transform: translateY(-2px); */
    /* box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2); */
}

.floating-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.floating-btn .icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}



/* Mobile responsiveness */
@media (max-width: 767px) {
    .floating-filter-sort {
        bottom: 15px;
        gap: 0;
        padding: 0 15px;
    }

    .floating-btn {
        padding: 14px 0;
        font-size: 13px;
        border-radius: 20px;
        gap: 10px;
        text-transform: uppercase;
    }

    button.floating-btn.filter-btn {
        position: relative;
        padding-right: 15px;
        margin-right: 15px;
    }

    button.floating-btn.filter-btn::after {
        content: "";
        position: absolute;
        right: 0;
        width: 1px;
        height: 20px;
        background: #fff;
    }

    .floating-btn .icon {
        width: 16px;
        height: 16px;
    }
}

/* Hide on desktop if needed */
@media (min-width: 768px) {
    .floating-filter-sort {
        display: none;
    }
}

@media (max-width: 1024px) {
    .block-search .block-content {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Filter panel transitions for mobile */
@media (max-width: 767px) {


    body.page-products {
        padding-bottom: 0 !important;
    }

    body.page-products .jacky-footer {
        position: relative;
        z-index: 999999;
    }

    body:has(.sections.nav-sections.nav-sections--active) .jacky-footer {
        z-index: auto;
    }

    body:has(.filter-overlay.active) .custom-header,
    body:has(.sort-overlay.active) .custom-header {
        z-index: 1 !important;
    }

    body:has(.sort-overlay.active) .toolbar-sorter.sorter.mobiletogelbar {
        display: block;
    }

    body:has(.sort-overlay.active) .toolbar-sorter.sorter.mobiletogelbar .sorter-label,
    body:has(.sort-overlay.active) .toolbar-sorter.sorter.mobiletogelbar .Descending,
    body:has(.sort-overlay.active) .sorter-action:before {
        display: none !important;
    }

    body:has(.sort-overlay.active) .short_by.sorter_list_view {
        position: fixed;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 9999 !important;
        gap: 0 !important;
    }

    .sorter_list_view a.sorter-item {
        display: block !important;
        width: 100%;
        border-radius: 0 !important;
        border: 0 !important;
        padding: 20px 16px !important;
        font-size: 14px;
    }

    .sorter_list_view a.sorter-item.active {
        background: #0e122b !important;
        border-color: #0e122b !important;
    }

    .amshopby-filter-current .amshopby-remove {
        right: 0;
        top: 3px;
    }

    .amshopby-filter-value .am-shopby-form .swatch-option.color {
        min-width: 15px !important;
        height: 15px !important;
    }

    .filter-current+.filter-actions {
        top: -15px;
    }

    /* .plp-title-row {
        display: none !important;
    } */

    body:has(.sort-overlay.active) .plp-title-row {
        display: flex !important;
    }

    .sidebar.sidebar-main {
        display: none;
    }

    body:has(.filter-overlay.active) .sidebar.sidebar-main {
        display: block;
    }

    .columns .sidebar-main {
        position: relative;
        z-index: 99999;
    }

    .block.filter.active {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        top: auto;
        z-index: 1001;
        background: #fff;
        max-height: 70vh;
        overflow-y: auto;
        border-top: 1px solid #e0e0e0;
        box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.15);
        margin: 0;
        padding: 30px 20px 0 20px;
        height: 65%;
    }

    body:has(.block.filter.active) .floating-filter-sort {
        display: none;
    }

    body:has(.block.filter.active) .page-header,
    body:has(.block.filter.active) .plp-wishlist {
        z-index: 0;
    }

    body:has(.block.filter.active) {
        overflow: hidden;
    }

    .block.filter.active .block-content,
    .block.filter.active .filter-content {
        transform: translateY(0);
        opacity: 1;
        transition: transform 0.3s ease-out, opacity 0.3s ease-out;
        position: relative;
        z-index: 1002;
    }

    .block.filter .block-content,
    .block.filter .filter-content {
        transform: translateY(100%);
        opacity: 0;
        transition: transform 0.3s ease-out, opacity 0.3s ease-out;
        position: relative;
        z-index: 1002;
    }

    .filter-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 99;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .filter-overlay.active {
        opacity: 1;
    }

    /* Ensure filter options are clickable */
    .block.filter.active .filter-options,
    .block.filter.active .filter-options-item,
    .block.filter.active .filter-options-content,
    .block.filter.active .item,
    .block.filter.active a,
    .block.filter.active input,
    .block.filter.active label,
    .block.filter.active .swatch-option {
        position: relative;
        z-index: 1003;
    }

    /* Sort overlay styling */
    .sort-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 9;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .sort-overlay.active {
        opacity: 1;
    }

    /* Hide floating buttons when sort is active */
    body:has(.sort-overlay.active) .floating-filter-sort {
        display: none;
    }

    /* Hide other elements when sort is active */
    body:has(.sort-overlay.active) .page-header,
    body:has(.sort-overlay.active) .plp-wishlist {
        z-index: 0;
    }

    body:has(.sort-overlay.active) {
        overflow: hidden;
    }

    /* Hide compare and other top elements when popups are active */
    .block.filter.active~*,
    .sort-overlay.active~*,
    body:has(.block.filter.active) .product-compare,
    body:has(.sort-overlay.active) .product-compare,
    body:has(.block.filter.active) .toolbar-products,
    body:has(.sort-overlay.active) .toolbar-products {
        z-index: 1;
    }

    /* Hide compare button specifically when popups are open */
    body:has(.block.filter.active) .action.tocompare,
    body:has(.sort-overlay.active) .action.tocompare {
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}

/* ============================================= */
/* CUSTOM PAGINATION - Matching Target Design
   ============================================= */

/* Hide show per page & toolbar amount */
.limiter,
.toolbar .limiter,
.toolbar-products .limiter,
.toolbar .toolbar-amount,
.toolbar-products .toolbar-amount {
    display: none !important;
}

/* Toolbar - center everything */
.toolbar.toolbar-products {
    text-align: center !important;
    margin: 20px 0 !important;
}

/* Pages container - centered */
.pages {
    text-align: center !important;
    margin: 40px 0 !important;
    float: none !important;
    display: block !important;
}

/* Pages items list - inline flex centered */
.pages .pages-items {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 !important;
    margin: 0 auto !important;
    list-style: none !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Each list item */
.pages .pages-items>.item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Hide accessibility labels */
.pages .pages-items .label {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
}

/* ---- Number page links (a tags) ---- */
.pages .pages-items .item a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    background: #fff !important;
    color: #333 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    font-family: 'DM Sans', sans-serif !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
    float: none !important;
    line-height: 1 !important;
}

/* Hover on number links */
.pages .pages-items .item a:hover {
    background: #f5f5f5 !important;
    border-color: #333 !important;
    color: #000 !important;
}

/* ---- Current/active page (strong tag, no link) ---- */
.pages .pages-items .item.current strong,
.pages .pages-items .item.current .page {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    background: #fff !important;
    color: #000 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: 'DM Sans', sans-serif !important;
    border: 1px solid #000 !important;
    border-radius: 6px !important;
    cursor: default !important;
    margin: 0 !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

/* ---- Previous button ---- */
.pages .pages-items .item .action.previous {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: auto !important;
    height: 34px !important;
    padding: 0 !important;
    background: #f0f0f0 !important;
    color: #999 !important;
    font-size: 0 !important;
    font-weight: 500 !important;
    font-family: 'DM Sans', sans-serif !important;
    border: none !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
    gap: 0 !important;
    line-height: 1 !important;
    /* width: 70px; */
    position: relative;
    width: auto !important;
    padding-right: 15px !important;
}

.pages .pages-items .item .action.previous:hover {
    background: #e0e0e0 !important;
    color: #333 !important;
}

.pages .pages-items .item .action.previous span:not(.label) {
    /* display: none !important; */
    font-size: 12px;
    width: inherit;
    overflow: visible;
    margin: 0;
    clip: inherit;
    position: static;
    height: auto;
    color: #C9C9C9;
}

.pages .pages-items .item .action.previous::before {
    /* content: '‹  Previous' !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    display: inline !important;
    color: #999 !important;
    letter-spacing: 0.3px !important; */


    color: #C9C9C9;
    margin: 0;
    font-size: 24px;
    content: '\e617';
    font-family: 'icons-blank-theme';
    display: block;
    /* position: absolute;
    left: 5px;
    top: 6px; */
}

.pages .pages-items .item .action.previous:hover::before {
    color: #333 !important;
}

.sidebar.sidebar-additional .block.block-wishlist,
.sidebar.sidebar-additional .block.block-compare {
    display: none;
}

/* ---- Next button (black solid) ---- */
.pages .pages-items .item .action.next {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: auto !important;
    height: 36px !important;
    padding: 0 30px 0 10px !important;
    background: #000 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    /* font-family: 'DM Sans', sans-serif !important; */
    border: none !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
    gap: 0 !important;
    line-height: 1 !important;
    position: relative;
    width: 70px !important;
}

.pages .pages-items .item .action.next:hover {
    background: #333 !important;
    color: #fff !important;
}

.pages .action.next>span {
    border: none !important;
    clip: initial !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    position: static !important;
    width: auto !important;
}

.pages .action.next>span.label,
.pages .action.next:visited:before {
    display: none !important;
}


.pages .action.next:visited:before {
    display: none !important;
}

.pages .action.next:after {
    color: #ffffff;
    margin: 0;
    font-size: 24px;
    content: '\e608';
    font-family: 'icons-blank-theme';
    display: block;
    position: absolute;
    right: 5px;
    top: 6px;
}

/* .pages .pages-items .item .action.next span:not(.label) {
    display: none !important;
} */

/* .pages .pages-items .item .action.next::before {
    content: 'Next  ›' !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    display: inline !important;
    color: #fff !important;
    letter-spacing: 0.3px !important;
} */

/* Ensure toolbar centers pagination */
.toolbar-products .pages {
    float: none !important;
    display: block !important;
}

/* Clearfix */
.toolbar::after,
.toolbar-products::after {
    content: '';
    display: table;
    clear: both;
}


.breadcrumbs {
    max-width: 100% !important;
    padding: 0 40px !important;
}

.page-products .page-main {
    /* max-width: 1440px !important; */
    padding: 0 40px !important;
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    max-width: 100%;
}

.page-products .page-main .page-title-wrapper,
.page-products .page-main .category-view {
    display: none;
}

/* 1. Layout Structure */
.columns {
    display: flex;
    gap: 30px;
    padding: 20px 0;
    align-items: flex-start;
}

.sidebar-main {
    width: 280px;
    flex-shrink: 0;
    position: sticky;
    top: 100px;
    /* Adjust based on header height */
    z-index: 10;
    align-self: flex-start;
}

.column.main {
    flex-grow: 1;
    min-width: 0;
    /* Important for grid layout within flex */
}

.plp-sidebar {
    width: 100%;
}

/* 2. Sidebar Filters */
.filter-group {
    border-bottom: 1px solid var(--border-color);
    padding: 20px 0;
}

.filter-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 15px;
    cursor: pointer;
}

.filter-title::after {
    content: '⌃';
    /* Down arrow placeholder */
    transform: rotate(180deg);
}

.filter-options {
    list-style: none;
    padding: 0;
    margin: 0;
}

.filter-item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    font-size: 14px;
    color: #4A5568;
}

.filter-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
}

.filter-count {
    margin-left: auto;
    color: #A0AEC0;
    font-size: 12px;
}

.show-more {
    color: #FF5C5C;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 5px;
}

/* 3. Toolbar & Breadcrumbs */
.plp-header {
    margin-bottom: 25px;
}

.breadcrumbs {
    font-size: 13px;
    color: #4A5568;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.breadcrumbs .separator {
    color: #A0AEC0;
}

.plp-title-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.plp-title-row h1 {
    font-size: 28px;
    font-weight: 500;
    margin: 0;
    color: var(--text-black);
}

.product-count-sort {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 14px;
    color: #4A5568;
}

.product-count-sort .count {
    font-weight: 500;
}

.product-count-sort .divider {
    color: #CFCFCF;
}


.ui-slider-handle:not(.ui-state-hover):not(.ui-state-active) .amshopby-slider-corner,
.ui-slider-handle:not(.ui-state-hover):not(.ui-state-active) .amshopby-slider-tooltip {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Sorter inside PLP header */
.product-count-sort .toolbar-sorter.sorter {
    display: flex;
    align-items: center;
    gap: 8px;
}

.product-count-sort .sorter-label {
    font-weight: 500;
    font-size: 14px;
    color: #4A5568;
    white-space: nowrap;
}

.product-count-sort .sorter-options {
    border: none;
    background: transparent;
    font-size: 14px;
    font-weight: 700;
    font-family: 'DM Sans', sans-serif;
    color: #1A1A1A;
    cursor: pointer;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right center;
    padding-right: 18px;
    outline: none;
    padding-left: 10px;
    margin: 0;
}

.product-count-sort .sorter-action {
    display: none;
}

/* Filter Main Div Overlay */
.filter_main_div {
    /* border-top: 1px solid var(--border-color); */
    padding: 0;
    margin-bottom: 25px;
}

.filter-chips-bar {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: flex-end;
}


.filter-chips-bar .filters-label,
.filter-chips-bar .clear-all-link,
.filter-chips-bar .chips-container {
    display: none;
}

.filters-label {
    font-weight: 700;
    font-size: 16px;
    margin-right: 15px;
    color: var(--text-primary);
}

.clear-all-link {
    font-size: 13px;
    color: var(--text-primary);
    text-decoration: underline;
    margin-right: 30px;
    font-weight: 500;
}

.chips-container {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-grow: 1;
}

.filter-chip {
    padding: 8px 14px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    /* Squarish rounded corners in screenshot */
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    cursor: pointer;
    color: #4A5568;
}

.filter-chip::after {
    content: '⌄';
}

.more-filters-text {
    font-size: 13px;
    color: var(--text-secondary);
    font-weight: 500;
}

.toolbar-right-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

.compare-toggle-container {
    display: flex;
    align-items: center;
    gap: 12px;
}

.compare-label {
    font-size: 13px;
    font-weight: 400;
    color: #121212;
}

.compare-toggle-container {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    font-size: 14px;
}

/* Toggle Switch */
.switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 22px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #5B5B5B;
    transition: .4s;
    border-radius: 34px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
}

input:checked+.slider {
    background-color: #2D3748;
}

input:checked+.slider:before {
    transform: translateX(22px);
}

.view-mode-separator {
    width: 1px;
    height: 30px;
    background: #E2E8F0;
    margin: 0 5px;
}

.view-modes {
    display: flex;
    align-items: center;
    background: #fff;
    padding: 0;
    gap: 10px;
}

.view-mode-icon {
    /* width: 24px !important;
    height: 24px !important; */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: #A0AEC0 !important;
    background: #fff !important;
    border: none !important;
    transition: all 0.2s ease !important;
    position: relative !important;
    font-size: 0 !important;
    /* Hide any default text */
    text-indent: -9999px;
    /* Absolute fallback for text */
    padding: 0 !important;
}

/* .view-mode-icon:first-child {
    border-right: 1px solid #E2E8F0 !important;
} */
.view-mode-icon.active {
    position: relative;
}

.view-mode-icon.active svg::after {
    /* color: var(--jackys-red) !important;
    background: #FFF5F5 !important; */
    /* content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    right: 0;
    height: 1px;
    width: 100%;
    background: #23282c;
    display: block; */
}

/* Ensure SVG is visible despite font-size: 0 */
.view-mode-icon svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    text-indent: 0;
}

.view-mode-icon:nth-child(2) svg {
    width: 10px !important;
}



.modes-mode.active:before {
    content: "";
    position: absolute;
    bottom: -5px;
    width: 100%;
    height: 1px;
    background: #23282C;
}

/* 4. Product Grid */
.plp-product-grid,
.plp-skeleton-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.page-layout-2columns-left .sidebar-main {
    padding: 0;
}

._keyfocus *:focus,
input:not([disabled]):focus,
textarea:not([disabled]):focus,
select:not([disabled]):focus {
    box-shadow: none !important;
}

.plp-skeleton-grid .plp-image-container {
    background: #f6f7f8;
}

.plp-product-card {
    background: #fff;
    display: flex;
    flex-direction: column;
    min-width: 0;
    /* Prevent flex items from overflowing */
}

.plp-image-container {
    position: relative;
    /* background: #F4F7F9; */
    background: #ffffff;
    /* height: 380px; */
    /* border-radius: 4px; */
    /* display: flex; */
    /* align-items: center;
    justify-content: center; */
    padding: 2%;
    margin-bottom: 15px;
    overflow: hidden;
}

.products.wrapper.list.products-list .product-item-info {
    display: flex;
}

.products-list .product-item-photo {
    /* display: block!important; */
    padding: 0 !important;
}

.products-list .plp-badge {
    top: 24px;
    left: 24px;
}

.products-list .plp-rating {
    bottom: 24px;
    left: 34px;
}

.products-list .product.description.product-item-description {
    display: none;
}

.products-list .plp-wishlist {
    top: 25px !important;
    right: 25px !important;
}

.plp-image-container .product-item-inner.plp-image-actions {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 30px;
    margin: 0;
    display: block !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    z-index: 12;
    pointer-events: none;
    text-align: center;
}


.products.wrapper.list.products-list .product-item-inner.plp-image-actions {
    bottom: 40px;
}

.plp-image-container .product-item-inner.plp-image-actions .product-item-actions,
.plp-image-container .product-item-inner.plp-image-actions .actions-primary {
    margin: 0;
}


.plp-image-container .product-item-inner.plp-image-actions .action.tocart {
    width: auto;
    min-width: 132px;
    display: inline-flex;
    justify-content: center;
}

.plp-product-card:hover .product-item-inner.plp-image-actions,
.plp-product-card:focus-within .product-item-inner.plp-image-actions {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.plp-image-container img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
    /* position: relative; */
    z-index: 1;
}

.plp-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 5px 10px;
    border-radius: 2px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 5px;
    z-index: 10;
}

.badge-express {
    background: #FFFBEB;
    color: #D69E2E;
}

.badge-express::before {
    content: '⚡';
}

.badge-preorder {
    background: #EBF8FF;
    color: #3182CE;
}

.badge-new {
    background: #F0FFF4;
    color: #38A169;
}

.plp-wishlist {
    color: #1A1A1A;

    position: absolute !important;
    top: 15px;
    right: 15px;
    width: 30px;
    height: 30px;
    background: #fff !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    z-index: 2;
    padding: 0;
    border: none;
    background: #F9F9F9;
}

.plp-wishlist svg {
    width: 16px;
    height: 16px;
    position: relative;
    top: 1px;
}

.plp-rating {
    position: absolute;
    bottom: 14px;
    left: 14px;
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 700;
    font-size: 26px;
    color: #333;
    z-index: 10;
}

.plp-add-to-cart {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: #00158B !important;
    color: #fff !important;
    padding: 10px 24px;
    border-radius: 4px;
    font-size: 14px !important;
    font-weight: 600 !important;
    font-family: 'DM Sans', sans-serif !important;
    line-height: 20px !important;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    visibility: hidden;
    opacity: 0;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 10;
}

/* Magento default Add to Cart button on PLP */
.product-item .action.tocart.primary,
.product-item-actions .action.tocart,
.products-grid .action.tocart,
.product-items .action.tocart,
.product-item-info .action.tocart {
    background: #00158B !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    font-family: 'DM Sans', sans-serif !important;
    line-height: 20px !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 10px 24px !important;
    cursor: pointer !important;
    text-transform: none !important;
    transition: all 0.2s ease !important;
}

.product-item .action.tocart.primary:hover,
.product-item-actions .action.tocart:hover,
.products-grid .action.tocart:hover,
.product-items .action.tocart:hover,
.product-item-info .action.tocart:hover {
    background: #001070 !important;
    color: #fff !important;
}

.plp-product-card:hover .plp-add-to-cart {
    visibility: visible;
    opacity: 1;
}

.plp-info {
    padding: 0;
}

.page-products .plp-info {
    padding: 0 2%;
}

.plp-info .product-item-name {
    margin: 0 0 8px;
    font-size: 27px;
    line-height: 1.35;
    font-weight: 500;
}

.plp-info .product-item-link {
    color: #5C5C5C;
    text-decoration: none;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
    text-transform: capitalize;
}

.plp-info .price-box {
    margin: 0 0 6px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.plp-info .price-box .price {
    font-size: 16px !important;
    line-height: 1.2;
    font-weight: 600 !important;
    color: #161616 !important;
}

.plp-info .price-box .old-price .price {
    font-size: 16px !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    color: #4A4A4A !important;
}

.plp-info .price-box .price-label {
    display: none !important;
}

.plp-info .price-box .price-container {
    margin: 0;
}

.plp-info .price-box .special-price,
.plp-info .price-box .old-price {
    margin: 0;
}

.plp-info .product-item-details,
.plp-info .product.details.product-item-details {
    margin: 0;
}

.plp-info .price-box+.price-box,
.plp-info .price-box+.minimal-price-link {
    margin-top: 0;
}

.plp-info [class*='off'],
.plp-info .save,
.plp-info .discount {
    color: #E60000;
    font-size: 13px;
    font-weight: 700;
}

.plp-product-title a {
    font-size: 14px;
    font-weight: 500;
    color: #1A1A1A;
    text-decoration: none;
    line-height: 1.5;
}

.plp-price-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 10px 0;
}

.plp-final-price {
    font-size: 18px;
    font-weight: 800;
    color: #1A1A1A;
}

.plp-old-price {
    color: #A0AEC0;
    text-decoration: line-through;
    font-size: 13px;
}

.plp-discount {
    color: #E53E3E;
    font-weight: 700;
    font-size: 13px;
}

.plp-emi {
    font-size: 11px;
    color: #718096;
    margin-bottom: 12px;
}

.plp-swatches {
    display: flex;
    gap: 8px;
}

.plp-swatch {
    width: 20px;
    height: 20px;
    border-radius: 2px;
    border: 1px solid var(--border-color);
}

.plp-swatch.active {
    outline: 1px solid #000;
    outline-offset: 2px;
}

.plp-swatches {
    margin-top: 5px;
}

/* Price styling overrides */
.plp-final-price .price {
    font-size: 20px;
    font-weight: 800;
    color: #1A1A1A;
}

.plp-final-price .price-label {
    display: none;
}

.plp-old-price {
    color: #A0AEC0;
    text-decoration: line-through;
    font-size: 14px;
    margin-left: 5px;
}

.plp-discount {
    color: #E53E3E;
    font-weight: 700;
    font-size: 14px;
    margin-left: 8px;
}

/* 5. Magneto Specific Layered Nav Styles */
.block.filter {
    background: #fff;
    padding: 0;
}

.block.filter .filter-title strong {
    font-size: 18px;
    font-weight: 700;
    /* margin-bottom: 20px; */
    display: block;
}

.block.filter.active .filter-content .block-subtitle {
    display: none;
}

.filter-options-item {
    border-bottom: 1px solid var(--border-color);
    padding: 15px 0;
}

.filter-options-title {
    font-weight: 500 !important;
    font-size: 16px !important;
    color: var(--text-primary);
    cursor: pointer;
    position: relative;
    padding-right: 20px;
    /* text-transform: uppercase; */
    letter-spacing: 0.5px;
}

.filter-options-title:after {
    content: '⌃';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
    font-size: 14px;
    color: #A0AEC0;
}

.filter-options-content {
    padding: 15px 0 5px;
}

.filter-options-content .item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.filter-options-content .item label {
    font-size: 14px;
    color: #4A5568;
    font-weight: 500;
    cursor: pointer;
}

.filter-options-content a {
    color: inherit;
    text-decoration: none;
}

.filter-options-content a:hover {
    color: var(--accent-blue);
}

.filter-options-content input[type="checkbox"] {
    width: 18px;
    height: 18px;
    border: 1px solid var(--border-color);
    border-radius: 3px;
    cursor: pointer;
}

.show-more-filters {
    color: #E53E3E;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 10px;
    display: block;
}

/* Price Slider Style placeholder */
.price-slider-label {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 600;
    margin-top: 10px;
}

/* Search Results Header */
.page-title-wrapper {
    margin-bottom: 40px;
}

.page-title {
    font-size: 36px;
    font-weight: 800;
    color: #1A1A1A;
}

.breadcrumbs {
    padding: 20px 0 10px 0 !important;
    background: transparent;
    margin: 0;
}

.breadcrumbs .items {
    display: flex;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 12px;
    color: #111111;
    font-weight: 400;
}

.breadcrumbs .item:last-child {
    font-weight: 600;
}

.breadcrumbs .item:not(:last-child):after {
    content: '•';
    margin-left: 8px;
    display: none;
}

/* 6. List View Styles */
.products-list .plp-product-grid {
    grid-template-columns: 1fr !important;
    gap: 20px;
}

.products-list .plp-product-grid .plp-product-card {
    border: 1px solid #E3E3E3;
}

.product-image-container {
    width: 100% !important;
    border: 1px solid #E3E3E3;
}

.products.wrapper.list.products-list .product-image-container {
    border: 0
}


.products-list .plp-product-card {
    flex-direction: row;
    height: auto;
}

.products-list .plp-image-container {
    width: 300px;
    height: 300px;
    flex-shrink: 0;
    margin-bottom: 0;
}

.products-list .plp-info {
    padding: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.products-list .plp-product-title a {
    font-size: 20px;
}

/* Dynamic Swatch Overrides */
.swatch-attribute.color {
    /* margin-top: 10px; */
}


.swatch-attribute-options {
    display: flex;
    gap: 8px;
    margin-top: 5px;
    margin-bottom: 20px;
}

.swatch-option {
    /* width: 20px !important;
    height: 20px !important;
    min-width: 20px !important; */
    /* border-radius: 2px !important; */
    border: 0 !important;
    cursor: pointer;
    background-size: cover;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
}

.am-filter-items-color.swatch-attribute.swatch-layered.color .swatch-option {
    height: 30px !important;
}

.swatch-option:focus {
    box-shadow: none !important;
}

.swatch-option.selected {
    outline: none !important;
    outline-offset: none !important;
    position: relative;
    overflow: visible;
}

.swatch-option.selected:after,
.swatch-option.image:not(.disabled):hover:after,
.swatch-option.color:not(.disabled):hover:after {
    content: "";
    display: block;
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #000;
}

.swatch-option.image:not(.disabled):hover,
.swatch-option.color:not(.disabled):hover {
    outline: none !important;
}

.swatch-option.image {
    background-position: center;
}

/* Hide label in swatch row */
.swatch-attribute-label {
    display: none;
}

/* Tooltip fix */
.swatch-option-tooltip {
    display: none !important;
}

/* Price Block Overrides */
.plp-price-row .price-box {
    display: flex;
    align-items: center;
    gap: 10px;
}

.plp-price-row .old-price {
    margin: 0;
}

.plp-price-row .old-price .price {
    color: #A0AEC0 !important;
    text-decoration: line-through !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}

.plp-price-row .special-price {
    margin: 0;
}

.plp-price-row .price-label {
    display: none !important;
}

.plp-final-price .price {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #1A1A1A !important;
}

/* Wishlist link reset */
a.plp-wishlist {
    text-decoration: none !important;
}

a.plp-wishlist:hover {
    background: #F4F7F9;
    color: #E53E3E;
}

/* Filter Toggle Arrow Rotation */
.filter-options-item.active .filter-options-title:after {
    transform: translateY(-50%) rotate(0deg);
}

.filter-options-item .filter-options-content {
    display: none;
}

.filter-options-item.active .filter-options-content {
    display: block;
}

/* Enhanced Filter Toggle Styles */
.block.filter .block-title.filter-title {
    position: relative;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* padding: 15px 0; */
    /* border-bottom: 2px solid var(--jackys-red); */
    margin: 0;
    pointer-events: none;
}

.block.filter .block-title.filter-title strong {
    /* display: none; */
    font-size: 0;
    display: flex;
    align-items: center;
    gap: 5px;
}

.block.filter .block-title.filter-title strong::before {
    content: "";
    background: url("../images/filter-icon.png");
    background-size: cover;
    width: 14px;
    height: 10px;
    display: block;
    background-repeat: no-repeat;
}

.block.filter .block-title.filter-title strong::after {
    content: 'Filters';
    font-size: 16px;
    font-weight: 500;
    color: #000000;
}

.block.filter .block-title.filter-title:after {
    display: none;
    content: '\e622';
    font-family: 'icons-blank-theme';
    font-size: 20px;
    transition: transform 0.3s ease;
    color: #1A1A1A;
    font-size: 26px;

}

.block.filter.active .block-title.filter-title:after {
    transform: rotate(180deg);
}

.block.filter .filter-content {
    display: none;
    padding-top: 15px;
}

.block.filter.active .filter-content {
    display: block;
}

/* Individual Filter Item Arrow Rotation */
.filter-options-item .filter-options-title:after {
    content: '\e622';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 26px;
    transition: transform 0.3s ease;
    color: #A0AEC0;
    font-family: 'icons-blank-theme';
}

.filter-options-item.active .filter-options-title:after {
    transform: translateY(-50%) rotate(180deg);
}

.filter-options-item .filter-options-content {
    display: none;
}

.filter-options-item.active .filter-options-content {
    display: block;
}

/* Hiding potential Amasty duplicates in breadcrumbs */
.breadcrumbs #amasty-shopby-product-list {
    display: none !important;
}

/* Ensure the main Shop By block and individual items have cursor pointer on the whole header */
.filter-title strong,
.filter-options-title {
    cursor: pointer;
    user-select: none;
}

/* Amasty Swatch Wrapper Design Improvement */
.amasty-shopby-swatch-attribute.am-swatch-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 10px 0;
}

.amasty-shopby-swatch-attribute.am-swatch-wrapper .am-shopby-swatch-label {
    display: none !important;
    /* Hide redundant labels inside the swatch grid */
}

.amasty-shopby-swatch-attribute.am-swatch-wrapper .am-shopby-item {
    margin: 0 !important;
    padding: 0 !important;
}

.amasty-shopby-swatch-attribute.am-swatch-wrapper .swatch-option {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    border-radius: 6px !important;
    border: 1px solid #E2E8F0 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    transition: all 0.2s ease;
    cursor: pointer;
    background-size: cover;
    background-position: center;
    position: relative;
}

.amasty-shopby-swatch-attribute.am-swatch-wrapper .swatch-option:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border-color: var(--jackys-red) !important;
}

.amasty-shopby-swatch-attribute.am-swatch-wrapper .swatch-option.selected {
    outline: 2px solid var(--jackys-red) !important;
    outline-offset: 2px;
    border-color: transparent !important;
}

/* For Color Swatches in Sidebar */
.amasty-shopby-swatch-attribute.am-swatch-wrapper .swatch-option.color {
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
}

/* For Text Swatches in Sidebar */
.amasty-shopby-swatch-attribute.am-swatch-wrapper .swatch-option.text {
    width: auto !important;
    height: auto !important;
    padding: 6px 12px !important;
    font-size: 13px;
    font-weight: 500;
    background: #F8FAFC;
    color: #4A5568;
    display: flex;
    align-items: center;
    justify-content: center;
}

.amasty-shopby-swatch-attribute.am-swatch-wrapper .swatch-option.text:hover {
    background: #EDF2F7;
    color: #1A202C;
}

.swatch-option.text {
    padding: 5px 10px !important;
}

.swatch-option.text.selected {
    background-color: #f0f0f0 !important;
}

.swatch-option:not(.disabled):hover {
    outline: none !important;
}

/* 7. Filter Checkbox & List Styles (Consolidated) */
.filter-options-content ul,
.filter-options-content ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

.filter-options .filter-options-title {
    margin: 5px 0 !important;
}

.filter-options-content .item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 0 !important;
    /* margin-bottom: 8px !important; */
    padding: 2px 0 !important;
    padding-left: 0 !important;
    position: relative;
    min-height: 28px;
    cursor: pointer;
}

/* Real checkbox - visible, styled, on the left */
.filter-options-content .item input[type="checkbox"],
.filter-options-content .item .am-input {
    position: relative !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    margin: 0 10px 0 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    cursor: pointer;
    z-index: 2;
    order: -2 !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    accent-color: var(--text-black);
    flex-shrink: 0;
}

.filter-options-content .am-ranges .items.-am-multiselect .item [class*='am-filter-item'] {
    padding-left: 0 !important;
}

/* Hide the Amasty custom checkbox span - use native checkbox instead */
.filter-options-content .item .amshopby-choice {
    display: none !important;
}

/* Label and Count Alignment */
.filter-options-content .item a {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    flex-grow: 1;
    width: auto !important;
    text-decoration: none !important;
    color: #4A5568;
    font-size: 14px;
    font-weight: 500;
    transition: color 0.2s ease;
    order: 0 !important;
}

.filter-options-content .item a:hover {
    color: var(--jackys-red);
}

.filter-options-content .item .count {
    color: #A0AEC0;
    font-size: 12px;
    font-weight: 400;
}

.filter-options-content .item .filter-count-label {
    display: none;
}

/* Price Slider Enhancements */
.amshopby-slider-wrapper {
    padding: 15px 5px 25px !important;
    display: block !important;
}

/* Slider track - multiple selectors */
.amshopby-slider-container .am-slider.ui-slider,
.amshopby-slider-container .ui-slider,
.am-slider.ui-slider,
.ui-slider {
    height: 2px !important;
    background: #EDF2F7 !important;
    border: none !important;
    border-radius: 10px !important;
    position: relative !important;
}

.ui-slider-handle:not(.ui-state-hover):not(.ui-state-active) .amshopby-slider-corner,
.ui-slider-handle:not(.ui-state-hover):not(.ui-state-active) .amshopby-slider-tooltip,
.amshopby-slider-container .amshopby-slider-tooltip {
    background: transparent !important;
    border-color: transparent !important;
    color: #161616;
    font-weight: 600;
    font-family: "DMSans", sans-serif;
    display: none !important;
}


.amshopby-slider-container .ui-slider-handle .amshopby-slider-corner:before,
.amshopby-slider-container .ui-slider-handle .amshopby-slider-corner:after {
    display: none !important;
}

.amshopby-slider-container .amshopby-slider-tooltip {
    bottom: -20px !important;
}

.amshopby-slider-container,
.amshopby-slider-wrapper,
.filter-options-content .amshopby-slider-container {
    margin: 0 !important;
    padding: 0 !important;
}

.amshopby-slider-container.-improved .am-slider:before,
.amshopby-slider-container.-improved .am-slider:after {
    display: none !important;
}


.amshopby-slider-container.-improved .am-slider:after {
    display: none !important;
}

.amshopby-slider-container.-improved .am-slider .amshopby-slider-tooltip:last-child {
    right: 0 !important;
}


.amshopby-slider-container .amshopby-slider-tooltip

/* Filled range */
.amshopby-slider-container .ui-slider-range,
.am-slider .ui-slider-range,
.ui-slider-range {
    background: var(--jackys-red) !important;
    border-radius: 10px !important;
    height: 2px !important;
}

/* Slider handles - comprehensive selectors */
.amshopby-slider-container .ui-slider-handle,
.amshopby-slider-container .am-slider .ui-slider-handle,
.am-slider .ui-slider-handle,
.ui-slider .ui-slider-handle,
.ui-slider-handle {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    min-height: 16px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    top: -7px !important;
    background: #FF4537 !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
    cursor: pointer !important;
    z-index: 100 !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: absolute !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: all 0.2s ease !important;
    outline: none !important;
}

/* Force handle visibility */
.amshopby-slider-container .ui-slider-handle:before,
.am-slider .ui-slider-handle:before,
.ui-slider-handle:before {
    content: '' !important;
    width: 5px !important;
    height: 5px !important;
    background: #fff !important;
    border-radius: 50% !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: block !important;
}

/* Price range display */
.amshopby-slider-display,
.amshopby-slider-container .amshopby-slider-display,
.filter-options-content .amshopby-slider-display {
    text-align: center !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    color: #1A1A1A !important;
    background: #F8FAFC !important;
    padding: 12px 15px !important;
    border: 1px solid #E2E8F0 !important;
    margin-top: 20px !important;
    /* display: none !important; */
    opacity: 1 !important;
    visibility: visible !important;
    min-height: 40px !important;
    line-height: 1.4 !important;
}

/* Price range label */
.amshopby-slider-display:before,
.amshopby-slider-container .amshopby-slider-display:before {
    content: 'Price Range: ' !important;
    font-weight: 500 !important;
    color: #64748b !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    display: none !important;
}

/* Ensure containers are visible */
.amshopby-slider-container,
.amshopby-slider-wrapper,
.filter-options-content .amshopby-slider-container {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
}

/* Memory/ROM Swatch Spacing Fix */
.filter-options-content .swatch-attribute.swatch-layered {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 5px 0;
}

/* Hide broken or unwanted category images in sidebar */
.filter-options-content .item a img,
.filter-options-content .item img {
    display: none !important;
}

.filter-options-content .item .label {
    font-weight: 500;
    font-size: 12px;
}

.filter-options-content .item .count {
    background: #f1f5f9;
    color: #64748b;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    margin-left: 10px;
}

/* Multi-select items adjustment */
.-am-multiselect li.item {
    padding-left: 0 !important;
}

/* Fix for nested lists or folding items */
.filter-options-content .items {
    padding-left: 0 !important;
}

.filter-options-content .item.-filter-parent>a {
    font-weight: 600 !important;
}

/* Tooltip/Label cleanup if any remains */
.amshopby-slider-display:before {
    content: 'Price Range: ';
    font-weight: 500;
    color: #64748b;
}

/* Scrollbar for long filter lists */
.filter-options-content ul.items {
    max-height: 250px;
    overflow-y: auto;
    padding-right: 5px;
}

.filter-options-content ul.items::-webkit-scrollbar {
    width: 4px;
}

.filter-options-content ul.items::-webkit-scrollbar-thumb {
    background: #e2e8f0;
    border-radius: 4px;
}



/* Compare UI */
.plp-product-compare {
    display: none;
    align-items: center;
    gap: 10px;
    position: absolute;
    top: 15px;
    left: 15px;
    background: #ffffff;
    padding: 8px 16px;
    border-radius: 8px;
    z-index: 25;
    font-size: 13px;
    font-weight: 700;
    color: #1A1A1A;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    border: 1px solid #E2E8F0;
    transition: all 0.2s ease;
    cursor: pointer;
}

.plp-product-compare:hover {
    /* transform: translateY(-2px); */
    border-color: #1A1A1A;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.compare-enabled .plp-product-compare {
    display: flex;
}

/* Prevent badge overlap when compare is enabled */
.compare-enabled .plp-badge {
    top: 60px;
    transition: top 0.3s ease;
}

.plp-product-compare input[type="checkbox"] {
    width: 15px;
    height: 15px;
    cursor: pointer;
    margin: 0;
    top: 0;
}

/* Floating Compare Bar */
.compare-summary-bar {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);
    padding: 12px 24px;
    border-radius: 60px;
    display: flex;
    align-items: center;
    gap: 20px;
    z-index: 1000;
    visibility: hidden;
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.compare-summary-bar.active {
    visibility: visible;
    opacity: 1;
    bottom: 40px;
}

.compare-summary-bar .selected-count {
    font-weight: 700;
    font-size: 15px;
    display: none;
}

.compare-summary-bar .compare-actions {
    display: flex;
    gap: 15px;
}

.btn-compare-now {
    background: #1A1A1A;
    color: #fff !important;
    border: none;
    padding: 10px 25px;
    border-radius: 25px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none !important;
    display: inline-block;
}

.btn-compare-now:hover {
    background: #000;
    /* transform: scale(1.05); */
}

.btn-compare-now:disabled {
    background: #CBD5E0;
    cursor: not-allowed;
    transform: none;
}

.btn-close-compare {
    border: none !important;
    cursor: pointer;


    background: #1A1A1A;
    color: #fff !important;
    border: none;
    padding: 10px 25px;
    border-radius: 25px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none !important;
    display: inline-block;
}


.btn-close-compare:hover{
        background: #000;
}

/* Wishlist Active State */
.plp-wishlist.active svg {
    fill: #e74c3c;
    stroke: #e74c3c;
}

.plp-wishlist:hover svg {
    fill: #e74c3c;
    stroke: #e74c3c;
    transform: scale(1.1);
    transition: all 0.3s ease;
}

.plp-wishlist svg {
    transition: all 0.3s ease;
}

/* Wishlist button animation */
.plp-wishlist {
    transition: all 0.3s ease;
}

.plp-wishlist.active {
    animation: heartbeat 0.6s ease;
}

#amasty-shopby-product-list .products.wrapper {
    margin: 0;
}

.toolbar-sorter.sorter {
    display: none;
}

@keyframes heartbeat {
    0% {
        transform: scale(1);
    }

    25% {
        transform: scale(1.2);
    }

    50% {
        transform: scale(1);
    }

    75% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}


/* Mobile responsive */
@media (max-width: 768px) {

    .compare-summary-bar.active {
        bottom: 80px;
        display: block;
        text-align: center;
        width: 90%;
    }

    .compare-summary-bar .selected-count {
        padding-bottom: 10px;
        display: block;
    }

    .compare-summary-bar .compare-actions {
        justify-content: space-around;
    }

    .plp-wishlist {
        top: 5px;
        right: 5px;
    }

    .plp-info .price-box .price,
    .plp-info .price-box .old-price .price,
    .discount-percent-badge {
        font-size: 13px !important;
    }

    .product-count-sort .sorter-options {
        margin: 0;
        border-radius: 0 !important;
        padding: 10px;
        height: max-content;
        bottom: 0 !important;
        min-width: 100% !important;
    }


    .amshopby-filter-current .amshopby-item.item {
        flex-direction: row;
        padding: 5px 10px 5px 10px !important;
    }

    .products.wrapper.list.products-list .product-item-info {
        display: block;
    }

    .products-list .plp-image-container {
        width: 100%;
        height: auto;
    }

    .products-list .plp-product-grid {
        gap: 0;
    }

    .products.wrapper.list.products-list .product-item-inner.plp-image-actions {
        bottom: -40px;
    }

    .breadcrumbs {
        padding-bottom: 10px !important;
    }

    .plp-title-row h1 {
        font-size: 19px;
        font-weight: 500;
    }

    .product-count-sort .count {
        font-size: 12px;
        font-weight: 500;
        color: #3C3C3C;
    }

    .product-count-sort .divider,
    .product-count-sort .toolbar-sorter.sorter {
        display: none;
    }

    /* body:has(.sort-overlay.active) .product-count-sort .toolbar-sorter.sorter,
    body:has(.sort-overlay.active) .product-count-sort .count {
        display: block !important;
    } */

    body:has(.sort-overlay.active) .product-count-sort .sorter-label {
        display: none;
    }

    body:has(.sort-overlay.active) .custom-header {
        position: relative !important;
    }

    body:has(.sort-overlay.active) .columns,
    body:has(.filter-overlay.active) .columns {
        z-index: 1 !important;
        position: relative;
    }

    .toolbar-right-actions {
        width: 100%;
        justify-content: space-between;
    }

    .compare-toggle-container {
        order: 2;
    }

    .view-modes {
        order: 1;
    }

    .view-mode-separator {
        display: none;
    }

    .plp-image-container {
        margin: 0;
        /* border-bottom: 1px solid #E3E3E3; */
        height: 52vw;
    }

    .page-products .plp-info {
        width: 100%;
        box-sizing: border-box;
        padding: 10px;
    }

    .plp-info .product-item-link {
        width: calc(100% - 40px);
    }

    .plp-image-container .product-item-inner.plp-image-actions {
        opacity: 1;
        transform: translateY(0);
        left: initial;
        bottom: -35px;
        visibility: visible;
        z-index: 99;
        width: 20px;
    }

    .plp-image-container .product-item-inner.plp-image-actions .action.tocart {
        background: transparent !important;
        padding: 0 !important;
        border-radius: initial !important;
        background: url(../images/cartIcon.svg) !important;
        background-repeat: no-repeat !important;
        font-size: 0 !important;
        width: 20px !important;
        height: 20px !important;
        background-size: contain !important;
    }

    .plp-info .price-box {
        margin-bottom: 0;
        gap: 0 10px !important;
    }

    .plp-product-grid,
    .plp-skeleton-grid {
        gap: 0;
        grid-template-columns: repeat(2, 1fr) !important;
        margin: 0 -10px;
        border-top: 1px solid #E3E3E3;
        border-bottom: 1px solid #E3E3E3;
    }

    .page-products .products-grid .product-item:nth-last-child(n+3) {
        border-bottom: 1px solid #E3E3E3;
    }

    .product-image-container {
        border: 0;
    }

    .page-products .products-grid .product-item:nth-child(2n+1) {
        border-right: 1px solid #E3E3E3;
    }

    .plp-image-container {
        padding: 0;
        overflow: visible;
    }

    .page-products .page-main {
        padding: 0 10px !important;
        max-width: 100% !important;
        box-sizing: border-box;
        margin-top: 0;
        overflow: hidden;
    }

    .page-products .page-header {
        margin: 0;
    }

    .page-products .columns {
        padding: 0 !important;
        gap: initial !important;
    }

    #amasty-shopby-product-list .products.wrapper {
        margin-top: 0 !important;
    }

    /* .plp-title-row h1 {
        display: none !important;
    } */

    /* .sidebar.sidebar-main {
        display: none;
    } */

    .pages {
        margin: 30px 0 !important;
    }

    .pages .pages-items {
        gap: 4px !important;
    }

    .pages .pages-items .item.current strong {
        min-width: 38px !important;
        height: 38px !important;
        font-size: 14px !important;
        padding: 0 30px 0 12px !important;
    }


    .pages .pages-items .item a {
        padding: 0 !important;
    }

    .pages .pages-items .item .action.previous,
    .pages .pages-items .item .action.next {
        height: 38px !important;
        padding: 0 14px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 480px) {
    .pages .pages-items {
        gap: 3px !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
    }

    .pages .pages-items .item.current strong {
        min-width: 34px !important;
        height: 34px !important;
        font-size: 13px !important;
        padding: 0 8px !important;
    }

    .pages .pages-items .item .action.previous {
        height: 34px !important;
        padding: 0 12px 0 0 !important;
        font-size: 12px !important;
    }

    .pages .pages-items .item .action.next {
        height: 34px !important;
        padding: 0 30px 0 12px !important;
        font-size: 12px !important;
    }
}