/* --- Global Strict SVG Dimensions Fix --- */
.wpc-filters-main-wrap svg,
.widget_wpc_filters svg,
.wpc-filter-content svg,
.woo-offcanvas-body svg,
.wpc-checkbox-icon,
.wpc-term-item svg,
.wpc-filter-item svg,
[class*="wpc-"] svg {
    max-width: 16px !important;
    max-height: 16px !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    object-fit: contain !important;
}

#woo-open-offcanvas-btn,
#woo-offcanvas-overlay,
#woo-offcanvas-drawer {
    display: none;
}

@media (max-width: 991px) {

    /* Base Floating Button */
    #woo-open-offcanvas-btn {
        display: flex !important;
        align-items: center;
        gap: 8px;
        position: fixed;
        z-index: 99990;
        background: #111111;
        color: #ffffff;
        padding: 12px 24px;
        border-radius: 50px;
        font-weight: 600;
        font-size: 14px;
        border: none;
        box-shadow: 0 10px 25px rgba(0,0,0,0.3);
        cursor: pointer;
        transition: transform 0.2s ease, background-color 0.2s ease;
    }

    #woo-open-offcanvas-btn:active {
        transform: scale(0.95);
    }

    /* Positions */
    #woo-open-offcanvas-btn.pos-bottom-center {
        bottom: 25px;
        left: 50%;
        transform: translateX(-50%);
    }

    #woo-open-offcanvas-btn.pos-bottom-right {
        bottom: 100px;
        right: 20px;
    }

    #woo-open-offcanvas-btn.pos-bottom-left {
        bottom: 25px;
        left: 20px;
    }

    #woo-open-offcanvas-btn.pos-mid-left {
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        border-radius: 0 50px 50px 0;
    }

    #woo-open-offcanvas-btn.pos-mid-right {
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        border-radius: 50px 0 0 50px;
    }

    /* Hide Filter Everything Duplicate Mobile Button */
    .woo-offcanvas-body .wpc-open-button,
    .woo-offcanvas-body .wpc-filters-open-button,
    .woo-offcanvas-body button.wpc-open-btn {
        display: none !important;
    }

    /* Force Accordion Container Visible */
    .woo-offcanvas-body .wpc-filter-content,
    .woo-offcanvas-body .wpc-filters-scroll,
    .woo-offcanvas-body .wpc-filters-section,
    .woo-offcanvas-body .wpc-filters-main-wrap,
    .woo-offcanvas-body .widget_wpc_filters {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        max-height: none !important;
    }

    /* Hide Zero-Count Terms */
    #woo-offcanvas-drawer.hide-empty-terms .wpc-term-count-0,
    #woo-offcanvas-drawer.hide-empty-terms .wpc-empty-term,
    #woo-offcanvas-drawer.hide-empty-terms [data-count="0"] {
        display: none !important;
    }

    /* Hide Price Slider Options */
    #woo-offcanvas-drawer.hide-price-slider [data-filter-type="price"],
    #woo-offcanvas-drawer.hide-price-slider [data-e-type="price"],
    #woo-offcanvas-drawer.hide-price-slider .wpc-filter-price,
    #woo-offcanvas-drawer.hide-price-slider .wpc-filter-layout-slider,
    #woo-offcanvas-drawer.hide-price-slider .wpc-filters-section-price,
    #woo-offcanvas-drawer.hide-price-slider .wpc-filter-header-price,
    #woo-offcanvas-drawer.hide-price-slider .wpc-filters-section:has(.wpc-filter-price),
    #woo-offcanvas-drawer.hide-price-slider .wpc-filters-section:has(.wpc-slider-wrapper),
    #woo-offcanvas-drawer.hide-price-slider .wpc-filters-section:has(input[name*="min_price"]) {
        display: none !important;
    }

    /* Force Expand All Items */
    .woo-offcanvas-body .wpc-filters-ul-list li.wpc-term-item-hidden {
        display: flex !important;
    }

    .woo-offcanvas-body .wpc-see-more-link,
    .woo-offcanvas-body .wpc-see-less-link,
    .woo-offcanvas-body .wpc-opened-link {
        display: none !important;
    }

    /* Overlay Backdrop */
    #woo-offcanvas-overlay {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.45);
        backdrop-filter: blur(5px);
        z-index: 99995;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }

    body.woo-offcanvas-open #woo-offcanvas-overlay {
        opacity: 1;
        visibility: visible;
    }

    /* Off-canvas Shell */
    #woo-offcanvas-drawer {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 0;
        right: 0;
        width: 85%;
        max-width: 350px;
        height: 100vh;
        background: #ffffff;
        z-index: 99999;
        box-shadow: -5px 0 25px rgba(0,0,0,0.2);
        transform: translateX(100%);
        transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1);
        box-sizing: border-box;
    }

    #woo-offcanvas-drawer.active {
        transform: translateX(0);
    }

    .woo-offcanvas-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 18px 20px;
        border-bottom: 1px solid #eeeeee;
        background: #ffffff;
    }

    .woo-offcanvas-title {
        font-size: 18px;
        font-weight: 700;
        color: #111111;
    }

    #woo-close-offcanvas-btn {
        background: transparent;
        border: none;
        font-size: 28px;
        line-height: 1;
        color: #555555;
        cursor: pointer;
    }

    .woo-offcanvas-body {
        padding: 20px;
        padding-bottom: 110px !important;
        overflow-y: auto;
        flex-grow: 1;
    }

    .woo-offcanvas-body button[type="submit"],
    .woo-offcanvas-body .wpc-filter-button {
        display: none !important;
    }
}