/* Dreamland AJAX Shop Filters V2 Stable 2.3.0 */
.dla22-shop,
.dla22-shop * {
    box-sizing: border-box;
}

.dla22-shop {
    display: grid;
    grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
    gap: 30px;
    align-items: start;
    width: 100%;
}

.dla22-sidebar,
.dla22-main-products {
    min-width: 0;
}

/* Never show mobile controls on desktop. */
.dla22-mobile-filter-toggle,
.dla22-mobile-sidebar-header,
.dla22-filter-overlay {
    display: none !important;
}

.dla22-sidebar-content {
    width: 100%;
}

.dla22-filter-group,
.dla22-category-navigation {
    margin: 0 0 26px;
    padding: 0 0 24px;
    border: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.dla22-category-navigation h3,
.dla22-filter-group legend {
    display: block;
    width: 100%;
    margin: 0 0 14px;
    padding: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    text-transform: uppercase;
}

.dla22-category-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.dla22-category-navigation li {
    margin: 0 0 2px;
    padding: 0;
}

.dla22-category-navigation a {
    color: inherit;
    text-decoration: none;
}

.dla22-category-navigation a:hover,
.dla22-category-navigation .current-cat > a {
    font-weight: 700;
    color:#1b75bb;
}

.dla22-category-navigation .children {
    margin: 10px 0 0;
    padding-left: 16px;
}

.dla22-checkbox,
.dla22-radio {
    display: flex;
    gap: 9px;
    align-items: center;
    margin: 0px 0px;
    cursor: pointer;
}

.dla22-checkbox input,
.dla22-radio input {
    flex: 0 0 auto;
    margin: 0;
}

.dla22-price-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
}

.dla22-price-fields label,
.dla22-price-fields input {
    width: 100%;
}

.dla22-price-fields label span {
    display: block;
    margin-bottom: 5px;
    font-size: 13px;
}

.dla22-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
}

.dla22-filter-actions .button {
    margin: 0;
}

.dla22-toolbar {
    display: flex;
    justify-content: flex-end;
    margin: 0px 0px;
}

.dla22-toolbar label {
    margin: 0;
}

.dla22-toolbar select {
    min-width: 210px;
    margin: 0;
}

.dla22-loading-status {
    min-height: 20px;
    margin-bottom: 8px;
    font-size: 14px;
}

.dla22-result-summary {
    margin-bottom: 15px;
    font-size: 14px;
}

.dla22-results {
    width: 100%;
    transition: opacity 0.18s ease;
}

.dla22-shop.is-loading .dla22-results {
    opacity: 0.45;
    pointer-events: none;
}

/* Stable WooCommerce grid even inside an Elementor archive shortcode. */
.dla22-results ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

.dla22-results ul.products::before,
.dla22-results ul.products::after {
    display: none !important;
    content: none !important;
}

.dla22-results ul.products > li.product {
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

.dla22-pagination-wrap {
    margin-top: 28px;
}

.dla22-ajax-pagination,
.dla22-crawlable-pagination ul.page-numbers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dla22-ajax-pagination button,
.dla22-crawlable-pagination .page-numbers a,
.dla22-crawlable-pagination .page-numbers span {
    display: inline-flex;
    min-width: 38px;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(0, 0, 0, 0.18);
    background: #fff;
    color: inherit;
    cursor: pointer;
    text-decoration: none;
}

.dla22-ajax-pagination button[aria-current="page"],
.dla22-crawlable-pagination .page-numbers .current {
    font-weight: 700;
    text-decoration: underline;
}

@media screen and (max-width: 1100px) {
    .dla22-results ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 901px) {
    body.dla22-filter-drawer-open {
        overflow: hidden !important;
    }

    .dla22-shop {
        display: block;
    }

    .dla22-main-products {
        width: 100%;
    }

    .dla22-mobile-filter-toggle {
        position: fixed !important;
        top: 52% !important;
        left: 8px !important;
        z-index: 999997 !important;
        display: inline-flex !important;
        width: 52px !important;
        height: 52px !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: #111 !important;
        color: #fff !important;
        box-shadow: 0 7px 24px rgba(0, 0, 0, 0.3) !important;
        cursor: pointer !important;
        transform: translateY(-50%) !important;
    }

    .dla22-mobile-filter-toggle svg {
        display: block !important;
        width: 25px !important;
        height: 25px !important;
    }

    .dla22-shop.is-filter-open .dla22-mobile-filter-toggle {
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .dla22-filter-overlay {
        position: fixed !important;
        inset: 0 !important;
        z-index: 999998 !important;
        display: block !important;
        background: rgba(0, 0, 0, 0.56) !important;
        opacity: 0;
        transition: opacity 0.24s ease;
    }

    .dla22-filter-overlay[hidden] {
        display: none !important;
    }

    .dla22-filter-overlay.is-visible {
        opacity: 1;
    }

    .dla22-sidebar {
        position: fixed !important;
        top: 0 !important;
        right: auto !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 999999 !important;
        display: flex !important;
        width: min(390px, 92vw) !important;
        max-width: 92vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        flex-direction: column !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #fff !important;
        box-shadow: 8px 0 28px rgba(0, 0, 0, 0.24) !important;
        transform: translate3d(-110%, 0, 0) !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transition: transform 0.28s ease, opacity 0.2s ease, visibility 0s linear 0.28s !important;
    }

    .dla22-shop.is-filter-open .dla22-sidebar {
        transform: translate3d(0, 0, 0) !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transition: transform 0.28s ease, opacity 0.2s ease !important;
    }

    .dla22-mobile-sidebar-header {
        display: flex !important;
        flex: 0 0 auto !important;
        min-height: 64px !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin: 0 !important;
        padding: 12px 18px !important;
        background: #111 !important;
        color: #fff !important;
        font-size: 18px !important;
        text-transform: uppercase !important;
    }

    .dla22-mobile-filter-close {
        display: inline-flex !important;
        width: 42px !important;
        height: 42px !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: #fff !important;
        font-size: 36px !important;
        line-height: 1 !important;
        cursor: pointer !important;
    }

    .dla22-sidebar-content {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        padding: 20px !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    .dla22-filter-actions {
        position: sticky !important;
        bottom: -20px !important;
        z-index: 2 !important;
        margin: 0 -20px -20px !important;
        padding: 14px 20px 18px !important;
        border-top: 1px solid rgba(0, 0, 0, 0.12) !important;
        background: #fff !important;
    }

    .dla22-filter-actions .button {
        flex: 1 1 calc(50% - 5px);
        text-align: center;
    }

    .dla22-toolbar {
        justify-content: flex-end;
    }
}

@media screen and (max-width: 560px) {
    .dla22-results ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .dla22-toolbar select {
        width: 100%;
        min-width: 0;
    }
}

@media screen and (max-width: 380px) {
    .dla22-results ul.products {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dla22-mobile-filter-toggle,
    .dla22-filter-overlay,
    .dla22-sidebar,
    .dla22-results {
        transition: none !important;
    }
}
