/* ── Filters + products layout ───────────────────────────── */
.wp-block-columns:has(.wc-block-product-filters) {
    gap: 2rem !important;

    .wp-block-column:has(.wc-block-product-filters) {
        flex-basis: 24% !important;
    }

    .wp-block-column:not(:has(.wc-block-product-filters)) {
        flex-basis: 76% !important;
    }
}

/* ── Product filters ─────────────────────────────────────── */
.wc-block-product-filters {
    --wc-product-filter-block-spacing: 0.75rem;
    gap: 0.75rem !important;
    border-radius: 16px;
    padding: 1rem;

    /* Section headings */
    h2.wp-block-heading {
        font-size: 16px;
        font-weight: 700;
        color: #3b3b3b;
        margin-bottom: 0.75rem !important;
        padding-bottom: 0.4rem;
        border-bottom: 2px solid var(--color-primary);
    }

    h3.wp-block-heading {
        font-size: 13px;
        font-weight: 600;
        color: #3b3b3b;
        margin-top: 0.75rem !important;
        margin-bottom: 0.25rem !important;
    }

    /* Always show price filter and its contents */
    .wp-block-woocommerce-product-filter-price[hidden],
    .wp-block-woocommerce-product-filter-price-slider[hidden],
    .wc-block-product-filter-price-slider__content[hidden],
    .wc-block-product-filter-price-slider__range[hidden] {
        display: block !important;
    }

    /* Price slider */
    .wc-block-product-filter-price-slider__range::before {
        display: none;
    }

    .wc-block-product-filter-price-slider__range {
        .range-bar {
            height: 17px !important;
            border-radius: 100px !important;
            background-color: var(--color-primary) !important;
            background-image: linear-gradient(
                to right,
                #e0e0e0 var(--low, 0%),
                transparent var(--low, 0%),
                transparent var(--high, 100%),
                #e0e0e0 var(--high, 100%)
            ) !important;
        }

        input[type="range"] {
            appearance: none;
            background: transparent !important;
            height: 14px;

            &::-webkit-slider-runnable-track {
                background: transparent !important;
                height: 14px;
                border-radius: 100px;
            }

            &::-webkit-slider-thumb {
                appearance: none;
                width: 10px;
                height: 10px;
                border-radius: 50%;
                background: white;
                border: 3px solid var(--color-primary);
                cursor: pointer;
                margin-top: 0;
            }

            &::-moz-range-track {
                background: transparent !important;
                height: 14px;
                border-radius: 100px;
            }

            &::-moz-range-thumb {
                width: 10px;
                height: 10px;
                border-radius: 50%;
                background: white;
                border: 3px solid var(--color-primary);
                cursor: pointer;
                box-sizing: border-box;
            }
        }
    }

    .wc-block-product-filter-price-slider__left,
    .wc-block-product-filter-price-slider__right {
        input[type="text"] {
            border: 0px solid #ddd;
            border-radius: 8px;
            padding: 0.2rem 0.4rem;
            font-size: 12px;
            background: white;
            width: auto;
            field-sizing: content;
        }
    }

    .wc-block-product-filter-price-slider__right {
        width: fit-content;

        input[type="text"] {
            text-align: right;
        }
    }

    /* Checkbox list */
    .wc-block-product-filter-checkbox-list__item {
        padding: 0.1rem 0;

        label {
            display: flex;
            align-items: center;
            gap: 0.4rem;
            cursor: pointer;
            font-size: 13px;
            color: #3b3b3b;
        }

        .wc-block-product-filter-checkbox-list__input-wrapper {
            position: relative;
            width: 16px;
            height: 16px;
            flex-shrink: 0;

            input[type="checkbox"] {
                appearance: none;
                width: 16px;
                height: 16px;
                border: 2px solid #ccc;
                border-radius: 4px;
                background: white;
                cursor: pointer;
                transition: border-color 0.15s, background 0.15s;

                &:checked {
                    background: var(--color-primary);
                    border-color: var(--color-primary);
                }
            }

            .wc-block-product-filter-checkbox-list__mark {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                width: 10px;
                height: 10px;
                color: #3b3b3b;
                pointer-events: none;
            }
        }
    }

    /* Active filters — push to bottom */
    .wp-block-woocommerce-product-filter-active {
        order: 999;
        border-top: 1px solid #e0e0e0;
        padding-top: 0.75rem;
        margin-top: 0.25rem;
    }

    .wc-block-product-filter-removable-chips__items {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
    }

    .wc-block-product-filter-removable-chips__item {
        display: inline-flex;
        align-items: center;
        gap: 0.2rem;
        border: 1px solid #ccc;
        color: #3b3b3b;
        border-radius: 100px;
        padding: 0.2rem 0.35rem 0.2rem 0.6rem;
        font-size: 12px;
        font-weight: 500;
        line-height: 1;
    }

    .wc-block-product-filter-removable-chips__label {
        white-space: nowrap;
    }

    .wc-block-product-filter-removable-chips__remove {
        display: flex;
        align-items: center;
        background: none;
        border: none;
        padding: 0;
        cursor: pointer;
        color: #3b3b3b;
        opacity: 0.7;
        line-height: 1;

        &:hover {
            opacity: 1;
        }

        svg {
            width: 14px;
            height: 14px;
        }
    }

    /* Status filter — hidden for now */
    .wp-block-woocommerce-product-filter-status {
        display: none;
    }

    /* Clear filters button */
    .wc-block-product-filter-clear-button .wp-block-button__link {
        border-color: var(--color-accent) !important;
        color: var(--color-accent) !important;
        border-radius: 100px !important;
        font-size: 12px;
        padding: 0.25rem 0.75rem !important;
    }
}
.woocommerce.wc-block-store-notices.alignwide {
    margin-block-start: 2rem !important;
}

.wp-block-woocommerce-product-collection, ul.wp-block-woocommerce-product-collection {
    margin-block-start: 2rem !important;
}

/* ── Result count + sorting bar ──────────────────────────── */
.wp-block-group.alignwide.is-nowrap.is-content-justification-space-between {
    margin-block-start: 0 !important;
    background: #f5f5f5;
    padding: 1.1rem 1rem;
    border-radius: 8px;
    margin-bottom: 15px;

    .woocommerce-result-count,
    .woocommerce-ordering {
        font-weight: 500;
        font-size: 14px;
        line-height: 20px;
        letter-spacing: -0.15px;
        color: #3b3b3b;
    }

    .woocommerce-ordering select.orderby {
        padding: 0.25rem 0.6rem;
        border-radius: 6px;
        font-weight: 500;
        font-size: 14px;
        line-height: 20px;
        letter-spacing: -0.15px;
        color: #3b3b3b;

        option {
            font-weight: 500;
            font-size: 14px;
            line-height: 20px;
            letter-spacing: -0.15px;
            color: #3b3b3b;
        }
    }

    @media screen and (max-width: 600px) {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.75rem;

        .woocommerce-ordering select.orderby {
            width: 100%;
        }
    }
}

/* Overlay apply button */
.wc-block-product-filters__apply {
    background: var(--color-primary) !important;
    color: #3b3b3b !important;
    border: none !important;
    border-radius: 100px !important;
    font-weight: 600 !important;
    padding: 0.6rem 1.5rem !important;
    cursor: pointer;
}

/* Overlay header/footer */
.wc-block-product-filters__overlay-header,
.wc-block-product-filters__overlay-footer {
    padding: 1rem;
    border-color: #e0e0e0;
}

/* ── Block query pagination ───────────────────────────────── */
.wp-block-query-pagination {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding-block: 2rem;
    flex-wrap: wrap;
}

.wp-block-query-pagination-numbers {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.wp-block-query-pagination-numbers .page-numbers,
.wp-block-query-pagination-next,
.wp-block-query-pagination-previous {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    height: 2.25rem;
    padding-inline: 0.75rem;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: white;
    color: var(--color-black);
    font-size: 0.9rem;
    text-decoration: none;
    transition: background 0.15s;
}

.wp-block-query-pagination-numbers .page-numbers:hover:not(.current),
.wp-block-query-pagination-next:hover,
.wp-block-query-pagination-previous:hover {
    background: #f2f2f2;
}

.wp-block-query-pagination-numbers .page-numbers.current {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: white;
    font-weight: 600;
    pointer-events: none;
}

.wp-block-query-pagination-next,
.wp-block-query-pagination-previous {
    padding-inline: 1rem;
}

/* ── Category page: remove block gap before CTA and footer ── */
.tax-product_cat .call-to-action,
.tax-product_cat .wp-block-template-part:last-of-type {
             margin-top: 0 !important;
         }
