.wb-category-drawer-trigger[hidden], .wb-category-drawer:not([open]) { display: none !important; }
.wb-category-drawer-trigger { margin: 0 0 1.25rem; clear: both; }
.wb-category-drawer { box-sizing: border-box; position: fixed; inset: 0 0 0 auto; margin: 0; padding: 0; border: 0; width: min(90vw, 400px); max-width: 100vw; height: 100vh; height: 100dvh; max-height: none; background: #fff; color: #333; overflow: hidden; }
.wb-category-drawer[open] { display: flex; flex-direction: column; animation: wb-category-enter .22s ease-out; }
.wb-category-drawer::backdrop { background: rgb(0 0 0 / 55%); }
.wb-category-drawer-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-shrink: 0; padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) 1rem 1rem; border-bottom: 1px solid #ddd; }
.wb-category-drawer-header h2 { margin: 0; font-size: 1.3rem; }
.wb-category-drawer-close { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0; font-size: 1.8rem; line-height: 1; background: #eee; color: #333; }
.wb-category-drawer-content { min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 1rem max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) 1rem; }
/* Reset desktop sidebar geometry only inside the modal. Retain its ID so
   existing widget, active-filter, and current-category rules still apply. */
#wb-category-drawer #secondary.widget-area { display: block; float: none; width: 100%; max-width: none; margin: 0; padding: 0; }
#wb-category-drawer #secondary .widget { margin-bottom: 2rem; }
#wb-category-drawer #secondary .widget:last-child { margin-bottom: 0; }
#wb-category-drawer #secondary a { color: #333; }
#wb-category-drawer #secondary a:hover { color: #761214; }
#wb-category-drawer #secondary ul.menu li.current-menu-item > a,
#wb-category-drawer #secondary .chosen a { color: #761214; font-weight: 700; }
#wb-category-drawer #secondary .woocommerce-widget-layered-nav-list__item a { padding-top: .45rem; padding-bottom: .45rem; }
#wb-category-drawer #secondary .count { color: #444; }
/* Storefront floats the document icon beside an inline link. Use a grid row
   instead, so padding cannot push the link baseline below the icon. */
#wb-category-drawer #secondary .widget_nav_menu ul.menu li {
    display: grid;
    grid-template-columns: 1rem minmax(0, 1fr);
    column-gap: .65rem;
    align-items: center;
    padding: 0;
    margin: 0;
}
#wb-category-drawer #secondary .widget_nav_menu ul.menu li::before {
    position: static;
    float: none;
    width: auto;
    margin: 0;
    grid-column: 1;
    grid-row: 1;
    line-height: 1;
    text-align: center;
}
#wb-category-drawer #secondary .widget_nav_menu ul.menu li > a {
    display: block;
    grid-column: 2;
    grid-row: 1;
    padding: .4rem 0;
    min-height: none;
    box-sizing: border-box;
    line-height: 1.5;
}
#wb-category-drawer #secondary .widget_nav_menu ul.menu li > .sub-menu {
    grid-column: 2;
    margin: 0;
}
.wb-category-drawer-content ul.menu li.current-menu-item > a { color: #761214; font-weight: 700; }
.wb-category-drawer button:focus-visible, .wb-category-drawer a:focus-visible, .wb-category-drawer-trigger button:focus-visible { outline: 3px solid #024b8e; outline-offset: 3px; }
@keyframes wb-category-enter { from { transform: translateX(100%); } to { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { .wb-category-drawer[open] { animation: none; } }
@media (min-width: 767px) { .wb-category-drawer-trigger { display: none !important; } }

/* Both sorting bars use the same layout; product grids are untouched. */
@media (width < 767px) {
    body.post-type-archive-product .storefront-sorting,
    body.tax-product_cat .storefront-sorting,
    body.tax-product_tag .storefront-sorting,
    body.woocommerce.archive .storefront-sorting {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: center;
        gap: .75rem;
        margin: 0 0 1.25rem;
    }
    body.woocommerce.archive .storefront-sorting::before,
    body.woocommerce.archive .storefront-sorting::after { display: none; }
    body.woocommerce.archive .storefront-sorting > .woocommerce-notices-wrapper {
        grid-column: 1 / -1;
        order: -1;
    }
    body.woocommerce.archive .storefront-sorting > .woocommerce-notices-wrapper:empty { display: none; }
    body.woocommerce.archive .storefront-sorting > .woocommerce-ordering,
    body.woocommerce.archive .storefront-sorting > .products-per-page {
        float: none !important;
        width: 100%;
        min-width: 0;
        margin: 0 !important;
    }
    body.woocommerce.archive .storefront-sorting > .woocommerce-ordering { order: 0; }
    body.woocommerce.archive .storefront-sorting > .products-per-page { order: 1; }
    body.woocommerce.archive .storefront-sorting select {
        display: block;
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-height: 44px;
        font-size: 16px;
        padding: 10px;
    }
    body.woocommerce.archive .storefront-sorting > .woocommerce-result-count {
        grid-column: 1 / -1;
        order: 2;
        float: none;
        width: auto;
        margin: 0;
        padding: 0;
        text-align: left;
    }
    body.woocommerce.archive .storefront-sorting > .woocommerce-pagination {
        grid-column: 1 / -1;
        order: 3;
        float: none;
        width: 100%;
        margin: 0;
        padding: .75rem 0 0;
        border: 0;
        border-top: 1px solid #eee;
    }
    body.woocommerce.archive .storefront-sorting .woocommerce-pagination ul.page-numbers {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: .25rem;
        margin: 0;
        padding: 0;
        border: 0;
    }
    body.woocommerce.archive .storefront-sorting .woocommerce-pagination ul.page-numbers li {
        float: none;
        margin: 0;
        border: 0;
    }
    body.woocommerce.archive .storefront-sorting .woocommerce-pagination .page-numbers li > a,
    body.woocommerce.archive .storefront-sorting .woocommerce-pagination .page-numbers li > span {
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        min-width: 40px;
        min-height: 44px;
        padding: .4rem;
    }
    .wb-category-drawer-trigger { margin-bottom: .75rem; }
    .wb-category-drawer-trigger button { min-height: 44px; padding: .65rem 1.25rem; width: 100%;
    }
}
@media (width < 767px) {
    body.woocommerce.archive .storefront-sorting select {
        appearance: none;
        -webkit-appearance: none;
        padding: 10px 36px 10px 12px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%23333' stroke-width='1.5'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 12px center;
        background-size: 16px;
    }
}
