/* ==========================================================
   PREMIUM CATEGORY PAGE
   Palette: White / Black / Champagne Gold
   ========================================================== */

:root {
    --premium-black: #171713;
    --premium-text: #33332e;
    --premium-muted: #88877f;
    --premium-gold: #b69a63;
    --premium-gold-light: #eee4d1;
    --premium-border: #eae7df;
    --premium-background: #ffffff;
}


/* =========================
   PAGE BACKGROUND
   ========================= */

.page-content {
    background: #fff !important;
}

.main-content-wrap {
    align-items: flex-start !important;
}


/* =========================
   BREADCRUMBS
   ========================= */

.premium-breadcrumb {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 0 28px !important;
    padding: 15px 0 !important;
    color: var(--premium-muted) !important;
    font-size: 12px !important;
    letter-spacing: .15px !important;
}

.premium-breadcrumb a {
    color: #66665e !important;
    text-decoration: none !important;
    transition: color .2s ease !important;
}

.premium-breadcrumb a:hover {
    color: var(--premium-gold) !important;
}

.premium-breadcrumb i {
    font-size: 14px !important;
}

.breadcrumb-separator {
    color: #c8c4ba !important;
}

.breadcrumb-current {
    color: var(--premium-black) !important;
    font-weight: 600 !important;
}


/* =========================
   CATEGORY HEADING
   ========================= */

.premium-category-header {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 24px !important;
    margin: 0 0 32px !important;
    padding: 0 0 26px !important;
    border-bottom: 1px solid var(--premium-border) !important;
}

.category-heading-content {
    min-width: 0 !important;
}

.category-eyebrow {
    display: block !important;
    margin-bottom: 12px !important;
    color: var(--premium-gold) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
}

.premium-category-title {
    margin: 0 !important;
    color: var(--premium-black) !important;
    font-family: inherit !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: -1.2px !important;
    overflow-wrap: anywhere !important;
}

.premium-category-description {
    max-width: 480px !important;
    margin: 13px 0 0 !important;
    color: #77766e !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
}

.category-product-count {
    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    padding-bottom: 3px !important;
}

.count-number {
    color: var(--premium-black) !important;
    font-size: 27px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

.count-label {
    margin-top: 5px !important;
    color: var(--premium-muted) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
}


/* =========================
   SHOP TOOLBAR
   ========================= */

.premium-shop-toolbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 54px !important;
    margin: 0 0 20px !important;
    padding: 10px 0 !important;
    border-top: 1px solid #f1efe9 !important;
    border-bottom: 1px solid #e8e5dc !important;
}

.premium-mobile-filter {
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-height: 42px !important;
    padding: 0 17px !important;
    border: 1px solid #d8c7a5 !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: var(--premium-black) !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
}

.premium-mobile-filter i {
    color: var(--premium-gold) !important;
    font-size: 14px !important;
}

.premium-results-count {
    color: #77766e !important;
    font-size: 12px !important;
}

.premium-results-count strong {
    color: var(--premium-black) !important;
    font-weight: 600 !important;
}

.premium-sort-label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #77766e !important;
    font-size: 11px !important;
}

.premium-sort-label i {
    color: var(--premium-gold) !important;
}


/* =========================
   PRODUCT GRID
   ========================= */

.product-wrapper {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 28px 18px !important;
    margin: 0 !important;
}

.product-wrapper > .product-wrap {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.product-wrapper .product {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 1px solid #efede7 !important;
    border-radius: 5px !important;
    background: #fff !important;
    box-shadow: 0 2px 12px rgba(25, 24, 20, .025) !important;
    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease !important;
}

.product-wrapper .product:hover {
    border-color: #dfd2b9 !important;
    box-shadow: 0 10px 30px rgba(25, 24, 20, .075) !important;
    transform: translateY(-3px) !important;
}

.product-wrapper .product-media {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 4 / 4.7 !important;
    overflow: hidden !important;
    margin: 0 !important;
    background: #f7f6f2 !important;
}

.product-wrapper .product-media > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.product-wrapper .product-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transition: transform .45s ease !important;
}

.product-wrapper .product:hover .product-media img {
    transform: scale(1.045) !important;
}


/* =========================
   SALE LABEL
   ========================= */

.product-wrapper .product-label-group {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    z-index: 2 !important;
}

.product-wrapper .product-label.label-sale {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 25px !important;
    padding: 0 9px !important;
    border: 0 !important;
    border-radius: 2px !important;
    background: var(--premium-black) !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .6px !important;
}


/* =========================
   VIEW BUTTON
   ========================= */

.product-wrapper .product-action {
    position: absolute !important;
    right: 10px !important;
    bottom: 10px !important;
    left: 10px !important;
    z-index: 3 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(7px) !important;
    transition: all .25s ease !important;
}

.product-wrapper .product:hover .product-action,
.product-wrapper .product:focus-within .product-action {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.product-wrapper .product-action .btn-product {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 40px !important;
    border: 1px solid rgba(255,255,255,.5) !important;
    border-radius: 3px !important;
    background: #c2a33d !important;
    color: var(--premium-black) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .8px !important;
    text-decoration: none !important;
}


/* =========================
   PRODUCT DETAILS
   ========================= */

.product-wrapper .product-details {
    flex: 1 !important;
    padding: 15px 12px 16px !important;
    text-align: left !important;
}

.product-wrapper .product-name {
    margin: 0 0 10px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.65 !important;
}

.product-wrapper .product-name a {
    display: -webkit-box !important;
    overflow: hidden !important;
    color: #373730 !important;
    text-decoration: none !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

.product-wrapper .product-name a:hover {
    color: var(--premium-gold) !important;
}

.product-wrapper .product-price {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    color: var(--premium-black) !important;
}

.product-wrapper .product-price .new-price,
.product-wrapper .product-price .price {
    color: var(--premium-black) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.product-wrapper .product-price .old-price {
    color: #99968d !important;
    font-size: 11px !important;
    font-weight: 400 !important;
}


/* =========================
   EMPTY STATE
   ========================= */

.product-wrapper > p {
    grid-column: 1 / -1 !important;
    padding: 35px 20px !important;
    border: 1px solid var(--premium-border) !important;
    border-radius: 5px !important;
    background: #fbfaf7 !important;
    color: #68675f !important;
    text-align: center !important;
    font-size: 13px !important;
}


/* =========================
   PAGINATION
   ========================= */

.premium-nav-pagination {
    gap: 12px !important;
    margin-top: 35px !important;
    padding-top: 22px !important;
    border-top: 1px solid var(--premium-border) !important;
}

.premium-nav-pagination .nav-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-height: 43px !important;
    padding: 0 17px !important;
    border: 1px solid #ded8ca !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: var(--premium-black) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all .2s ease !important;
}

.premium-nav-pagination a.nav-btn:hover {
    border-color: var(--premium-gold) !important;
    background: #f9f5ec !important;
}

.premium-nav-pagination .nav-btn.disabled {
    opacity: .4 !important;
    cursor: not-allowed !important;
}

.premium-nav-pagination .page-info {
    color: #77766e !important;
    font-size: 12px !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1199px) {
    .product-wrapper {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 22px 14px !important;
    }

    .premium-category-title {
        font-size: 34px !important;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 991px) {

    .page-content {
        padding-top: 0 !important;
    }

    .page-content > .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-right: 15px !important;
        padding-left: 15px !important;
    }

    .main-content-wrap {
        display: block !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .main-content-wrap > .main-content {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 !important;
    }

    .premium-breadcrumb {
        gap: 8px !important;
        margin-bottom: 20px !important;
        padding: 13px 0 !important;
        font-size: 11px !important;
    }

    .premium-category-header {
        align-items: flex-end !important;
        gap: 12px !important;
        margin-bottom: 20px !important;
        padding-bottom: 20px !important;
    }

    .category-eyebrow {
        margin-bottom: 8px !important;
        font-size: 9px !important;
        letter-spacing: 2px !important;
    }

    .premium-category-title {
        font-size: clamp(25px, 6vw, 34px) !important;
        line-height: 1.15 !important;
        letter-spacing: -.7px !important;
    }

    .premium-category-description {
        margin-top: 9px !important;
        font-size: 12px !important;
        line-height: 1.65 !important;
    }

    .category-product-count {
        padding-bottom: 2px !important;
    }

    .count-number {
        font-size: 21px !important;
    }

    .count-label {
        font-size: 8px !important;
        letter-spacing: 1px !important;
    }

    .premium-shop-toolbar {
        gap: 10px !important;
        margin-bottom: 15px !important;
        padding: 9px 0 !important;
    }

    .premium-mobile-filter {
        display: inline-flex !important;
        min-height: 40px !important;
        padding: 0 14px !important;
        flex-shrink: 0 !important;
    }

    .premium-results-count {
        flex: 1 !important;
        min-width: 0 !important;
        font-size: 10px !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    .premium-sort-label {
        flex-shrink: 0 !important;
        gap: 5px !important;
        font-size: 10px !important;
    }

    .product-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px 12px !important;
    }

    .product-wrapper .product {
        border-radius: 4px !important;
        box-shadow: 0 2px 9px rgba(25,24,20,.035) !important;
    }

    .product-wrapper .product-media {
        aspect-ratio: 4 / 4.8 !important;
    }

    .product-wrapper .product-label-group {
        top: 8px !important;
        left: 8px !important;
    }

    .product-wrapper .product-label.label-sale {
        min-height: 22px !important;
        padding: 0 6px !important;
        font-size: 8px !important;
    }

    .product-wrapper .product-action {
        right: 7px !important;
        bottom: 7px !important;
        left: 7px !important;
    }

    .product-wrapper .product-action .btn-product {
        min-height: 34px !important;
        font-size: 10px !important;
    }

    .product-wrapper .product-details {
        padding: 11px 9px 12px !important;
    }

    .product-wrapper .product-name {
        margin-bottom: 8px !important;
        font-size: 11px !important;
        line-height: 1.5 !important;
    }

    .product-wrapper .product-price {
        gap: 5px !important;
    }

    .product-wrapper .product-price .new-price,
    .product-wrapper .product-price .price {
        font-size: 12px !important;
    }

    .product-wrapper .product-price .old-price {
        font-size: 10px !important;
    }

    .premium-nav-pagination {
        margin-top: 26px !important;
        padding-top: 18px !important;
    }

    .premium-nav-pagination .nav-btn {
        min-height: 40px !important;
        padding: 0 11px !important;
        gap: 6px !important;
        font-size: 10px !important;
    }

    .premium-nav-pagination .page-info {
        font-size: 11px !important;
        white-space: nowrap !important;
    }
}


/* ==========================================================
   SMALL MOBILE
   ========================================================== */

@media (max-width: 380px) {

    .page-content > .container {
        padding-right: 10px !important;
        padding-left: 10px !important;
    }

    .premium-category-header {
        gap: 8px !important;
    }

    .premium-category-title {
        font-size: 24px !important;
    }

    .category-product-count {
        max-width: 65px !important;
    }

    .count-number {
        font-size: 19px !important;
    }

    .premium-sort-label span {
        display: none !important;
    }

    .product-wrapper {
        gap: 16px 9px !important;
    }

    .product-wrapper .product-details {
        padding: 10px 8px 11px !important;
    }

    .product-wrapper .product-name {
        font-size: 10px !important;
    }

    .premium-results-count {
        font-size: 9px !important;
    }
}


/* ==========================================================
   ACCESSIBILITY: REDUCED MOTION
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
    .product-wrapper .product,
    .product-wrapper .product-media img,
    .product-wrapper .product-action {
        transition: none !important;
    }
}

/* ============================================================
   1. SIDEBAR FOUNDATION
   ============================================================ */

aside.sidebar.sidebar-fixed.shop-sidebar {
    position: relative !important;
    padding: 0 !important;
    background: #ffffff !important;
    color: #292720 !important;
    border: 1px solid #eee8dc !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 35px rgba(24, 22, 17, 0.045) !important;
    overflow: hidden !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .sidebar-content {
    padding: 0 !important;
    background: #ffffff !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .sticky-sidebar {
    padding: 0 !important;
    background: #ffffff !important;
}


/* ============================================================
   2. FILTER WIDGETS
   ============================================================ */

aside.sidebar.sidebar-fixed.shop-sidebar .widget.widget-noncollapsible {
    position: relative !important;
    margin: 0 !important;
    padding: 0 21px 20px !important;
    border: 0 !important;
    border-bottom: 1px solid #eee9df !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget.widget-noncollapsible:last-child {
    padding-bottom: 22px !important;
    border-bottom: 0 !important;
}


/* ============================================================
   3. LUXURY FILTER HEADINGS
   ============================================================ */

aside.sidebar.sidebar-fixed.shop-sidebar .widget-title {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 -21px 15px !important;
    padding: 20px 21px 15px !important;
    border: 0 !important;
    border-bottom: 1px solid #f0ece4 !important;
    background: linear-gradient(
        110deg,
        #ffffff 0%,
        #fcfaf6 100%
    ) !important;
    color: #171714 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.5 !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget-title::before {
    content: "" !important;
    display: inline-block !important;
    flex: 0 0 3px !important;
    width: 3px !important;
    height: 17px !important;
    margin-right: 11px !important;
    border-radius: 2px !important;
    background: linear-gradient(
        180deg,
        #e3c990,
        #b28b48
    ) !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget-title::after {
    content: "" !important;
    display: block !important;
    width: 27px !important;
    height: 1px !important;
    margin-left: auto !important;
    background: #c5a267 !important;
    opacity: 0.8 !important;
}


/* ============================================================
   4. FILTER LISTS
   ============================================================ */

aside.sidebar.sidebar-fixed.shop-sidebar .widget-body {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    list-style: none !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget-body > li {
    position: relative !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget-body > li + li {
    margin-top: 5px !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget-body > li > a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 37px !important;
    padding: 8px 9px !important;
    border: 1px solid transparent !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    color: #666257 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    letter-spacing: 0.1px !important;
    text-decoration: none !important;
    transition:
        color 0.22s ease !important,
        background 0.22s ease !important,
        border-color 0.22s ease !important,
        padding-left 0.22s ease !important !;
    overflow-wrap: anywhere !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget-body > li > a:hover {
    padding-left: 13px !important;
    border-color: #f0e5cf !important;
    background: #fcf8f0 !important;
    color: #9b753b !important;
}


/* ============================================================
   5. CATEGORY LINKS
   ============================================================ */

aside.sidebar.sidebar-fixed.shop-sidebar .widget:first-child .widget-body > li > a {
    position: relative !important;
    padding-left: 11px !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget:first-child .widget-body > li > a::before {
    content: "" !important;
    display: inline-block !important;
    flex: 0 0 5px !important;
    width: 5px !important;
    height: 5px !important;
    border: 1px solid #c5a267 !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    transition: background 0.2s ease !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget:first-child .widget-body > li > a:hover::before {
    background: #c5a267 !important;
}


/* ============================================================
   6. PREMIUM CHECKBOXES
   ============================================================ */

aside.sidebar.sidebar-fixed.shop-sidebar .widget-body input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    position: relative !important;
    display: inline-flex !important;
    flex: 0 0 17px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 17px !important;
    min-width: 17px !important;
    height: 17px !important;
    min-height: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #d9d2c5 !important;
    border-radius: 3px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    cursor: pointer !important;
    pointer-events: none !important;
    transition:
        background 0.2s ease !important,
        border-color 0.2s ease !important !;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget-body input[type="checkbox"]:checked {
    border-color: #b48d4d !important;
    background: #c5a267 !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget-body input[type="checkbox"]:checked::after {
    content: "" !important;
    position: absolute !important;
    top: 2px !important;
    left: 5px !important;
    width: 4px !important;
    height: 8px !important;
    border: solid #ffffff !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
}


/* ============================================================
   7. SIZE FILTERS
   ============================================================ */

aside.sidebar.sidebar-fixed.shop-sidebar .widget:nth-child(2) .widget-body > li > a {
    gap: 10px !important;
    min-height: 40px !important;
    padding: 8px 10px !important;
    border: 1px solid #f0ece4 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget:nth-child(2) .widget-body > li > a:hover {
    border-color: #d5bc8b !important;
    background: #fcf8f0 !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget:nth-child(2) .widget-body input[type="checkbox"]:checked {
    border-color: #b48d4d !important;
    background: #c5a267 !important;
}


/* ============================================================
   8. COLOR FILTERS
   ============================================================ */

aside.sidebar.sidebar-fixed.shop-sidebar .widget:nth-child(3) .widget-body > li {
    margin-bottom: 7px !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget:nth-child(3) .widget-body > li > a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 38px !important;
    padding: 5px 8px !important;
    border: 1px solid transparent !important;
    border-radius: 4px !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget:nth-child(3) .widget-body > li > a:hover {
    border-color: #eee4d2 !important;
    background: #fcf9f3 !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget:nth-child(3) .widget-body input[type="checkbox"] {
    flex: 0 0 16px !important;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget:nth-child(3) .widget-body span {
    display: inline-block !important;
    flex: 0 0 23px !important;
    width: 23px !important;
    min-width: 23px !important;
    height: 23px !important;
    min-height: 23px !important;
    border: 1px solid rgba(0, 0, 0, 0.13) !important;
    border-radius: 50% !important;
    box-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, 0.65),
        0 1px 3px rgba(0, 0, 0, 0.07) !important;
    transition:
        transform 0.2s ease !important,
        box-shadow 0.2s ease !important !;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget:nth-child(3) .widget-body > li > a:hover span {
    transform: scale(1.08) !important;
    box-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, 0.8),
        0 0 0 2px #dfc89f !important;
}


/* ============================================================
   9. BRAND FILTERS
   ============================================================ */

aside.sidebar.sidebar-fixed.shop-sidebar .widget:nth-child(4) .widget-body > li > a {
    gap: 10px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
}

aside.sidebar.sidebar-fixed.shop-sidebar .widget:nth-child(4) .widget-body > li > a:hover {
    background: #fcf8f0 !important;
}


/* ============================================================
   10. COLLAPSIBLE WIDGET BODY
   Preserve Riode's collapse behavior
   ============================================================ */

aside.sidebar.sidebar-fixed.shop-sidebar .widget-noncollapsible .widget-body {
    background: #ffffff !important;
}

/* =====================================================
   PREMIUM MOBILE SIDEBAR — CLOSED BY DEFAULT
   Riode-compatible
   ===================================================== */

@media (max-width: 991px) {

    /* Sidebar stays off-screen until Riode opens it */
    aside.sidebar.sidebar-fixed.shop-sidebar {
        position: fixed !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;

        width: min(86vw, 350px) !important;
        max-width: 350px !important;
        height: 100vh !important;
        height: 100dvh !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior-y: contain !important;
        -webkit-overflow-scrolling: touch !important;

        background: #fff !important;
        border: none !important;
        border-right: 1px solid #eee5d6 !important;
        border-radius: 0 !important;

        box-shadow: 15px 0 45px rgba(0, 0, 0, 0.12) !important;

        /* CLOSED STATE */
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;

        transform: translateX(-105%) !important;

        transition:
            transform 0.3s ease,
            opacity 0.3s ease,
            visibility 0.3s ease !important;

        z-index: 1055 !important;
    }

    /* OPEN STATE: Riode sidebar-open class */
    body.sidebar-open
    aside.sidebar.sidebar-fixed.shop-sidebar,

    aside.sidebar.sidebar-fixed.shop-sidebar.show,

    aside.sidebar.sidebar-fixed.shop-sidebar.open,

    aside.sidebar.sidebar-fixed.shop-sidebar.active,

    aside.sidebar.sidebar-fixed.shop-sidebar.opened {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateX(0) !important;
    }

    /* Sidebar content */
    aside.sidebar.sidebar-fixed.shop-sidebar .sidebar-content {
        display: block !important;
        min-height: 100% !important;
        height: auto !important;
        padding: 0 0 25px !important;
        overflow: visible !important;
        background: #fff !important;
    }

    aside.sidebar.sidebar-fixed.shop-sidebar .sticky-sidebar {
        position: static !important;
        top: auto !important;
        height: auto !important;
        padding-bottom: 20px !important;
        overflow: visible !important;
        background: #fff !important;
    }

    /* Close button */
    aside.sidebar.sidebar-fixed.shop-sidebar .sidebar-close {
        position: sticky !important;
        top: 0 !important;
        z-index: 20 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;

        width: 100% !important;
        height: 50px !important;
        padding: 0 18px !important;

        background: rgba(255, 255, 255, 0.97) !important;
        border-bottom: 1px solid #eee8dc !important;

        color: #27251f !important;
        text-decoration: none !important;
        backdrop-filter: blur(10px) !important;
    }

    aside.sidebar.sidebar-fixed.shop-sidebar .sidebar-close i {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 32px !important;
        height: 32px !important;

        border: 1px solid #eadcc1 !important;
        border-radius: 50% !important;

        background: #fbf7ee !important;
        color: #a37d3d !important;
        font-size: 15px !important;
    }

    /* Overlay hidden until the sidebar opens */
    aside.sidebar.sidebar-fixed.shop-sidebar .sidebar-overlay {
        position: fixed !important;
        inset: 0 !important;

        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;

        background: rgba(18, 17, 14, 0.48) !important;
        backdrop-filter: blur(3px) !important;

        transition: opacity 0.3s ease,
                    visibility 0.3s ease !important;
    }

    /* Show overlay when Riode activates the sidebar */
    body.sidebar-open
    aside.sidebar.sidebar-fixed.shop-sidebar .sidebar-overlay,

    aside.sidebar.sidebar-fixed.shop-sidebar.show .sidebar-overlay,

    aside.sidebar.sidebar-fixed.shop-sidebar.open .sidebar-overlay,

    aside.sidebar.sidebar-fixed.shop-sidebar.active .sidebar-overlay,

    aside.sidebar.sidebar-fixed.shop-sidebar.opened .sidebar-overlay {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    /* Prevent the page from scrolling while the menu is open */
    body.sidebar-open {
        overflow: hidden !important;
    }
}

/* Small phones */
@media (max-width: 380px) {
    aside.sidebar.sidebar-fixed.shop-sidebar {
        width: 89vw !important;
        max-width: 320px !important;
    }
}


/* ============================================================
   13. ACCESSIBILITY
   ============================================================ */

aside.sidebar.sidebar-fixed.shop-sidebar a:focus-visible {
    outline: 2px solid #c5a267 !important;
    outline-offset: 2px !important;
}

@media (prefers-reduced-motion: reduce) {
    aside.sidebar.sidebar-fixed.shop-sidebar *,
    aside.sidebar.sidebar-fixed.shop-sidebar *::before,
    aside.sidebar.sidebar-fixed.shop-sidebar *::after {
        transition: none !important;
        animation: none !important;
    }
}

