
.kih-filter-panel {
    padding: 20px;
    background: #fff;
    border: 1px solid #dce8df;
    border-radius: 16px;
    box-shadow: 0 8px 28px rgba(24, 77, 40, .055);
}

.kih-filter-panel__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
    padding-bottom: 16px;
    border-bottom: 1px solid #edf1ee;
}

.kih-filter-panel__eyebrow {
    display: block;
    margin-bottom: 3px;
    color: #4d8c5d;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.kih-filter-panel__head h2 {
    margin: 0;
    color: #214c30;
    font-size: 22px;
}

.kih-filter-panel__close {
    display: none;
    width: 38px;
    height: 38px;
    padding: 0;
    background: #f3f8f4;
    border: 0;
    border-radius: 50%;
    color: #31523a;
    font-size: 25px;
    cursor: pointer;
}

.kih-filter-group {
    padding: 15px 0;
    border-bottom: 1px solid #edf1ee;
}

.kih-filter-group summary {
    display: flex;
    align-items: center;
    gap: 8px;
    list-style: none;
    color: #2e4836;
    font-weight: 750;
    cursor: pointer;
}

.kih-filter-group summary::-webkit-details-marker {
    display: none;
}

.kih-filter-group summary::after {
    content: "⌄";
    margin-left: auto;
    color: #6b7f70;
}

.kih-filter-group__selected-count {
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e8f6ec;
    border-radius: 999px;
    color: #19813d;
    font-size: 11px;
}

.kih-filter-options {
    display: grid;
    gap: 6px;
    max-height: 290px;
    overflow-y: auto;
    margin-top: 12px;
    padding-right: 3px;
}

.kih-filter-option {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
    min-height: 36px;
    padding: 5px 2px;
    color: #3f5145;
    cursor: pointer;
}

.kih-filter-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.kih-filter-option__check {
    position: relative;
    width: 18px;
    height: 18px;
    background: #fff;
    border: 1px solid #bdcdc1;
    border-radius: 5px;
}

.kih-filter-option input:checked + .kih-filter-option__check {
    background: #239248;
    border-color: #239248;
}

.kih-filter-option input:checked + .kih-filter-option__check::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 2px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.kih-filter-option__name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kih-filter-option__count {
    min-width: 27px;
    height: 24px;
    padding: 0 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f4f7f5;
    border-radius: 999px;
    color: #758078;
    font-size: 11px;
    font-weight: 700;
}

.kih-filter-price {
    padding-top: 14px;
}

.kih-filter-price__inputs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.kih-filter-price__inputs label span {
    display: block;
    margin-bottom: 5px;
    color: #718078;
    font-size: 11px;
    font-weight: 650;
}

.kih-filter-price__inputs input {
    width: 100%;
    min-height: 38px;
    padding: 6px 9px;
    border: 1px solid #ccd9cf;
    border-radius: 8px;
}

.kih-filter-panel__footer {
    display: flex;
    gap: 8px;
    padding-top: 16px;
}

.kih-filter-clear,
.kih-filter-mobile-apply {
    min-height: 39px;
    padding: 7px 12px;
    border-radius: 9px;
    font-weight: 700;
    cursor: pointer;
}

.kih-filter-clear {
    flex: 1;
    background: #fff;
    border: 1px solid #cfdcd2;
    color: #4a5e50;
}

.kih-filter-mobile-apply {
    display: none;
    flex: 1;
    background: #248f48;
    border: 1px solid #248f48;
    color: #fff;
}

.kih-filter-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
    padding: 10px 12px;
    background: #f8fbf9;
    border: 1px solid #e0e9e2;
    border-radius: 12px;
}

.kih-filter-toolbar__left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.kih-filter-open {
    display: none;
    min-height: 38px;
    padding: 7px 12px;
    background: #edf7ef;
    border: 1px solid #c9e3d0;
    border-radius: 9px;
    color: #20783d;
    font-weight: 750;
    cursor: pointer;
}

.kih-filter-toolbar__count {
    color: #68776d;
    font-size: 13px;
    font-weight: 650;
}

.kih-filter-sort {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #68766d;
    font-size: 12px;
    font-weight: 650;
}

.kih-filter-sort select {
    min-height: 38px;
    padding: 5px 34px 5px 10px;
    background: #fff;
    border: 1px solid #d1ded4;
    border-radius: 9px;
    color: #344a3b;
}

.kih-filter-category-shell {
    display: grid;
    grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
    gap: 25px;
    clear: both;
}

.kih-filter-category-sidebar {
    align-self: start;
}

.kih-filter-category-content {
    min-width: 0;
}

.kih-search-layout {
    grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
}

.kih-search-filters {
    align-self: start;
}

.kih-filter-products-holder {
    transition: opacity .16s ease;
}

.is-kih-filter-loading .kih-filter-products-holder {
    opacity: .42;
    pointer-events: none;
}

.kih-filter-pagination {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 24px;
}

.kih-filter-pagination button {
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    background: #fff;
    border: 1px solid #cfddd2;
    border-radius: 9px;
    color: #33543e;
    font-weight: 700;
    cursor: pointer;
}

.kih-filter-pagination button:hover,
.kih-filter-pagination button.is-current {
    background: #258f48;
    border-color: #258f48;
    color: #fff;
}

.kih-filter-overlay {
    position: fixed;
    inset: 0;
    z-index: 999880;
    display: none;
    padding: 0;
    background: rgba(12, 27, 17, .45);
    border: 0;
}

html.kih-filter-no-scroll {
    overflow: hidden;
}

@media (max-width: 900px) {

    .kih-filter-category-shell,
    .kih-search-layout {
        display: block !important;
    }

    .kih-filter-open {
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }

    .kih-filter-panel,
    .kih-filter-category-sidebar {
        position: fixed !important;
        left: 0;
        top: 0;
        bottom: 0;
        z-index: 999900;
        width: min(390px, calc(100vw - 26px)) !important;
        overflow-y: auto;
        padding: 18px;
        border: 0;
        border-radius: 0 18px 18px 0;
        box-shadow: 18px 0 45px rgba(0, 0, 0, .18);
        transform: translateX(-104%);
        transition: transform .22s ease;
    }

    .kih-filter-panel.is-kih-filter-open,
    .kih-filter-category-sidebar.is-kih-filter-open {
        transform: translateX(0);
    }

    .kih-filter-panel__close,
    .kih-filter-mobile-apply {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .kih-filter-overlay.is-visible {
        display: block;
    }

    .kih-filter-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .kih-filter-toolbar__left {
        justify-content: space-between;
    }

    .kih-filter-sort {
        justify-content: space-between;
    }

    .kih-filter-sort select {
        flex: 1;
        max-width: 240px;
    }
}

@media (max-width: 520px) {

    .kih-filter-panel,
    .kih-filter-category-sidebar {
        width: calc(100vw - 18px) !important;
    }

    .kih-filter-sort {
        align-items: stretch;
        flex-direction: column;
    }

    .kih-filter-sort select {
        width: 100%;
        max-width: none;
    }
}


/* =========================================================
   SELECTED FILTERS
========================================================= */

.kih-filter-selected {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;

    padding: 14px 0 0;
}

.kih-filter-selected[hidden] {
    display: none;
}

.kih-filter-chip {
    min-height: 30px;

    padding: 5px 9px;

    background: #edf7ef;

    border: 1px solid #cce5d2;
    border-radius: 999px;

    color: #237440;

    font-size: 12px;
    font-weight: 650;

    cursor: pointer;
}


/* =========================================================
   PREVIEW / "SHOW N PRODUCTS"
========================================================= */

.kih-filter-preview-bubble {
    position: fixed;

    z-index: 999700;

    min-width: 175px;
    min-height: 44px;

    padding: 9px 15px;

    background: #285f3b;

    border: 0;
    border-radius: 10px;

    color: #fff;

    font-size: 13px;
    font-weight: 750;

    box-shadow:
        0 12px 28px
        rgba(18, 67, 34, .24);

    cursor: pointer;

    animation:
        kihFilterPreviewIn
        .16s ease both;
}

.kih-filter-preview-bubble[hidden] {
    display: none;
}

.kih-filter-preview-bubble::before {
    content: "";

    position: absolute;

    left: -7px;
    top: 50%;

    width: 14px;
    height: 14px;

    background: #285f3b;

    transform:
        translateY(-50%)
        rotate(45deg);
}

@keyframes kihFilterPreviewIn {

    from {
        opacity: 0;
        transform: translateX(-5px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}


/* =========================================================
   MATCHED VARIATIONS IN CATEGORY CARDS
========================================================= */

.kih-filter-card-variants {
    margin:
        9px
        0
        10px;

    padding:
        8px;

    background:
        #f7fbf8;

    border:
        1px solid
        #dce9df;

    border-radius:
        9px;
}

.kih-filter-card-variants__title {
    margin-bottom: 6px;

    color: #607267;

    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .04em;
}

.kih-filter-card-variants__list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.kih-filter-card-variant {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    min-height: 29px;

    padding:
        4px
        7px;

    background: #fff;

    border:
        1px solid
        #cde0d2;

    border-radius:
        7px;

    color: #2a633c;

    font-size: 11px;
    line-height: 1.2;

    text-decoration: none !important;
}

.kih-filter-card-variant:hover {
    background: #edf8f0;

    border-color: #8fc59d;

    color: #176f36;
}

.kih-filter-card-variant.is-out-of-stock {
    opacity: .5;

    filter: grayscale(.35);
}

.kih-filter-card-variant__price {
    color: #1b8b42;

    font-weight: 750;
}


/* Mobile uses the sticky apply button, not the side bubble. */

@media (max-width: 900px) {

    .kih-filter-preview-bubble {
        display: none !important;
    }

    .kih-filter-panel__footer {
        position: sticky;

        bottom: -18px;

        z-index: 5;

        margin:
            15px
            -18px
            -18px;

        padding:
            12px
            18px
            16px;

        background:
            rgba(
                255,
                255,
                255,
                .97
            );

        border-top:
            1px solid
            #dfe8e1;

        backdrop-filter:
            blur(8px);
    }
}

@media (prefers-reduced-motion: reduce) {

    .kih-filter-preview-bubble {
        animation: none;
    }
}


/* =========================================================
   FILTER v3 — layout / price / preview stability
========================================================= */

@media (min-width: 901px) {

    .kih-filter-panel,
    .kih-filter-category-sidebar {
        position: relative;
        overflow: visible;
    }

    .kih-filter-preview-bubble {
        position: absolute !important;

        left:
            calc(
                100% + 12px
            ) !important;

        right: auto !important;

        margin: 0;

        transform: none !important;
    }
}


/* Price */

.kih-filter-price__inputs {
    min-width: 0;
}

.kih-filter-price__inputs label {
    min-width: 0;
}

.kih-filter-price__label {
    display: block;

    margin-bottom: 5px;

    color: #718078;

    font-size: 11px;
    font-weight: 650;
}

.kih-filter-price__field {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    min-width: 0;

    overflow: hidden;

    background: #fff;

    border:
        1px solid
        #ccd9cf;

    border-radius:
        9px;

    transition:
        border-color .16s ease,
        box-shadow .16s ease;
}

.kih-filter-price__field:focus-within {
    border-color:
        #74b889;

    box-shadow:
        0 0 0 3px
        rgba(
            40,
            143,
            72,
            .09
        );
}

.kih-filter-price__field input {
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;

    margin: 0 !important;
    padding:
        7px
        6px
        7px
        10px !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
    outline: 0 !important;

    color: #2f4737;

    font-size: 13px;
    font-weight: 650;

    -moz-appearance: textfield;
}

.kih-filter-price__field input::-webkit-inner-spin-button,
.kih-filter-price__field input::-webkit-outer-spin-button {
    margin: 0;

    -webkit-appearance: none;
}

.kih-filter-price__currency {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 38px;

    padding:
        0
        8px;

    background:
        #f5f8f6;

    border-left:
        1px solid
        #e0e8e2;

    color: #748078;

    font-size: 10px;
    font-weight: 750;

    text-transform:
        uppercase;
}

.kih-filter-price__range-caption {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 8px;

    margin-top: 7px;

    color: #8a958e;

    font-size: 10px;
}


/* Stock is visually the last group */

.kih-filter-group--stock {
    margin-top: 4px;
}


/* Matched variants must not be clipped by theme cards. */

.kih-filter-card-variants,
.kih-filter-card-variants__list {
    max-height: none !important;

    overflow: visible !important;
}

.kih-filter-category-content
ul.products
li.product {
    height: auto !important;
}


/* Server rendered category shell should be visible immediately. */

.kih-filter-category-shell[data-kih-filter-server-shell] {
    visibility: visible;
}


/* Preview bubble is attached to filter row, not viewport. */

.kih-filter-preview-bubble {
    z-index: 40;
}

@media (max-width: 900px) {

    .kih-filter-price__inputs {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );
    }
}


/* =========================================================
   FILTER v5 — scroll stability
========================================================= */

/*
 * Chromium scroll anchoring иногда пытается "помочь",
 * когда внутри длинного фильтра появляется preview-кнопка.
 * В результате страница может самопроизвольно прыгнуть вниз.
 */
.kih-filter-panel,
.kih-filter-category-sidebar,
.kih-search-filters {
    overflow-anchor: none;
}

.kih-filter-preview-bubble {
    overflow-anchor: none;
}


/* =========================================================
   FILTER v6 — price slider
========================================================= */

.kih-filter-price__slider {
    position: relative;

    height: 34px;

    margin:
        10px
        2px
        2px;
}

.kih-filter-price__slider-track {
    position: absolute;

    left: 0;
    right: 0;
    top: 15px;

    height: 4px;

    background:
        #dce8df;

    border-radius:
        999px;
}

.kih-filter-price__slider
input[type="range"] {
    position: absolute;

    left: 0;
    top: 5px;

    width: 100%;
    height: 24px;

    margin: 0;

    background: transparent;

    pointer-events: none;

    -webkit-appearance: none;
    appearance: none;
}

.kih-filter-price__slider
input[type="range"]::-webkit-slider-runnable-track {
    height: 4px;

    background: transparent;
}

.kih-filter-price__slider
input[type="range"]::-webkit-slider-thumb {
    width: 18px;
    height: 18px;

    margin-top: -7px;

    background:
        var(
            --kih-filter-accent,
            #239248
        );

    border:
        3px solid
        #fff;

    border-radius:
        50%;

    box-shadow:
        0 1px 5px
        rgba(
            0,
            0,
            0,
            .22
        );

    pointer-events: auto;

    cursor: grab;

    -webkit-appearance: none;
    appearance: none;
}

.kih-filter-price__slider
input[type="range"]::-moz-range-track {
    height: 4px;

    background: transparent;
}

.kih-filter-price__slider
input[type="range"]::-moz-range-thumb {
    width: 14px;
    height: 14px;

    background:
        var(
            --kih-filter-accent,
            #239248
        );

    border:
        3px solid
        #fff;

    border-radius:
        50%;

    box-shadow:
        0 1px 5px
        rgba(
            0,
            0,
            0,
            .22
        );

    pointer-events: auto;

    cursor: grab;
}

.kih-filter-price--slider
.kih-filter-price__range-caption,
.kih-filter-price--fields_slider
.kih-filter-price__range-caption {
    margin-top: 5px;
}


/* Prevent any filter selection from becoming a browser scroll anchor. */

.kih-filter-option,
.kih-filter-chip,
.kih-filter-price,
.kih-filter-group {
    overflow-anchor: none;
}


/* =========================================================
   FILTER v7 — load more / infinite
========================================================= */

.kih-filter-load-more-host {
    display: flex;
    justify-content: center;
    margin-top: 24px;
}

.kih-filter-load-more {
    min-width: 210px;
    min-height: 46px;
    padding: 10px 20px;
    background: var(--kih-filter-accent, #239248);
    border: 1px solid var(--kih-filter-accent, #239248);
    border-radius: 10px;
    color: #fff;
    font-size: 14px;
    font-weight: 750;
    cursor: pointer;
    transition:
        transform .15s ease,
        opacity .15s ease,
        box-shadow .15s ease;
}

.kih-filter-load-more:hover {
    transform: translateY(-1px);
    box-shadow:
        0 8px 20px
        rgba(34, 116, 57, .16);
}

.kih-filter-load-more:disabled {
    opacity: .55;
    cursor: wait;
}

.kih-filter-infinite-sentinel {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 64px;
    margin-top: 18px;
    color: #718078;
    font-size: 12px;
    font-weight: 650;
}

.kih-filter-infinite-sentinel span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.kih-filter-infinite-sentinel span::before {
    content: "";
    width: 16px;
    height: 16px;
    border: 2px solid #d4e2d7;
    border-top-color:
        var(--kih-filter-accent, #239248);
    border-radius: 50%;
    animation:
        kihFilterInfiniteSpin
        .7s linear infinite;
}

@keyframes kihFilterInfiniteSpin {
    to {
        transform: rotate(360deg);
    }
}

/*
 * После AJAX сетка товаров не должна ждать физического scroll,
 * чтобы lazy-load тема заметила новые карточки.
 */
.kih-filter-products-holder img {
    content-visibility: auto;
}

@media (prefers-reduced-motion: reduce) {

    .kih-filter-infinite-sentinel span::before {
        animation: none;
    }

    .kih-filter-load-more {
        transition: none;
    }
}


/* =========================================================
   FILTER v8 — polished price slider
========================================================= */

/*
 * Строго разделяем 3 режима цены.
 * Это также страхует от старого кешированного HTML.
 */
.kih-filter-price--slider .kih-filter-price__inputs {
    display: none !important;
}

.kih-filter-price--fields .kih-filter-price__slider {
    display: none !important;
}

.kih-filter-price--slider,
.kih-filter-price--fields_slider {
    width: 100%;
    min-width: 0;
}

.kih-filter-price__slider {
    --kih-price-min-pos: 0%;
    --kih-price-max-pos: 100%;

    position: relative;

    width: 100%;
    min-width: 0;
    height: 48px;

    margin:
        9px
        0
        2px;

    padding:
        0
        12px;

    box-sizing: border-box;

    background:
        #f8fbf9;

    border:
        1px solid
        var(
            --kih-filter-border,
            #dce8df
        );

    border-radius: 12px;

    overflow: visible;
}

.kih-filter-price__slider-track {
    position: absolute;

    left: 12px;
    right: 12px;
    top: 50%;

    height: 6px;

    margin-top: -3px;

    background:
        linear-gradient(
            to right,
            #dce6df 0%,
            #dce6df var(--kih-price-min-pos),
            var(--kih-filter-accent, #239248)
                var(--kih-price-min-pos),
            var(--kih-filter-accent, #239248)
                var(--kih-price-max-pos),
            #dce6df var(--kih-price-max-pos),
            #dce6df 100%
        );

    border-radius: 999px;

    box-shadow:
        inset 0 1px 2px
        rgba(20, 60, 31, .06);

    pointer-events: none;
}

.kih-filter-price__slider
input[type="range"] {
    position: absolute;

    left: 12px;
    top: 50%;

    width:
        calc(
            100% - 24px
        );

    height: 30px;

    margin: 0;

    padding: 0;

    background: transparent !important;

    border: 0 !important;
    outline: 0 !important;

    transform:
        translateY(-50%);

    pointer-events: none;

    -webkit-appearance: none;
    appearance: none;
}

.kih-filter-price__slider
input[type="range"]::-webkit-slider-runnable-track {
    height: 6px;

    background: transparent;

    border: 0;
}

.kih-filter-price__slider
input[type="range"]::-webkit-slider-thumb {
    width: 20px;
    height: 20px;

    margin-top: -7px;

    background:
        var(
            --kih-filter-accent,
            #239248
        );

    border:
        3px solid
        #fff;

    border-radius:
        50%;

    box-shadow:
        0 2px 7px
        rgba(20, 80, 38, .25);

    pointer-events: auto;

    cursor: grab;

    transition:
        transform .12s ease,
        box-shadow .12s ease;

    -webkit-appearance: none;
    appearance: none;
}

.kih-filter-price__slider
input[type="range"]:active::-webkit-slider-thumb {
    cursor: grabbing;

    transform: scale(1.12);

    box-shadow:
        0 3px 10px
        rgba(20, 80, 38, .34);
}

.kih-filter-price__slider
input[type="range"]::-moz-range-track {
    height: 6px;

    background: transparent;

    border: 0;
}

.kih-filter-price__slider
input[type="range"]::-moz-range-progress {
    background: transparent;
}

.kih-filter-price__slider
input[type="range"]::-moz-range-thumb {
    width: 14px;
    height: 14px;

    background:
        var(
            --kih-filter-accent,
            #239248
        );

    border:
        3px solid
        #fff;

    border-radius:
        50%;

    box-shadow:
        0 2px 7px
        rgba(20, 80, 38, .25);

    pointer-events: auto;

    cursor: grab;
}

.kih-filter-price__range-caption {
    gap: 10px;
}

.kih-filter-price__range-caption span {
    max-width: 48%;

    overflow: hidden;

    text-overflow: ellipsis;

    white-space: nowrap;
}

.kih-filter-price--slider
.kih-filter-price__range-caption {
    margin-top: 7px;

    padding: 0 2px;

    color: #68796e;

    font-size: 11px;
    font-weight: 650;
}


/* Compact mode + slider */

.kih-filter-panel
.kih-filter-price__slider {
    max-width: 100%;
}

@media (max-width: 520px) {

    .kih-filter-price__slider {
        height: 46px;

        padding:
            0
            11px;
    }

    .kih-filter-price__slider-track {
        left: 11px;
        right: 11px;
    }

    .kih-filter-price__slider
    input[type="range"] {
        left: 11px;

        width:
            calc(
                100% - 22px
            );
    }
}


.kih-filter-price__slider
input[data-kih-price-range-min] {
    z-index: 2;
}

.kih-filter-price__slider
input[data-kih-price-range-max] {
    z-index: 3;
}

.kih-filter-price__slider
input[type="range"]:focus,
.kih-filter-price__slider
input[type="range"]:active {
    z-index: 5;
}


/* =========================================================
   FILTER v9 — strict price mode
========================================================= */

.kih-filter-price__inputs[hidden],
.kih-filter-price__slider[hidden] {
    display: none !important;
}

.kih-filter-price--slider .kih-filter-price__inputs {
    display: none !important;
}

.kih-filter-price--fields .kih-filter-price__slider {
    display: none !important;
}


/* =========================================================
   FILTER v9 — mobile filter trigger
========================================================= */

.kih-mobile-filter-trigger {
    display: none;
}
@media (max-width: 900px) {

    /*
     * Старого .kih-filter-open больше нет в DOM.
     * Новая кнопка управляется только настройками v9.
     */
    .kih-filter-open {
        display: none !important;
    }

    .kih-mobile-filter-trigger {
        position: relative;

        z-index: 999760;

        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;

        min-height: 38px;

        padding:
            7px
            12px;

        border:
            1px solid
            transparent;

        font: inherit;
        font-size: 12px;
        font-weight: 800;
        line-height: 1;

        text-transform: uppercase;
        letter-spacing: .025em;

        cursor: pointer;

        box-shadow:
            0 7px 20px
            rgba(29, 91, 47, .13);

        transition:
            transform .16s ease,
            box-shadow .16s ease,
            opacity .16s ease;

        -webkit-tap-highlight-color:
            transparent;
    }

    .kih-mobile-filter-trigger:active {
        box-shadow:
            0 4px 12px
            rgba(29, 91, 47, .15);
    }

    .kih-mobile-filter-trigger__icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        font-size: 16px;
        line-height: 1;
    }

    .kih-mobile-filter-trigger__label {
        line-height: 1;
    }


    /* ---------- colors ---------- */

    .kih-mobile-filter-trigger--green {
        background:
            var(
                --kih-filter-accent,
                #239248
            );

        border-color:
            var(
                --kih-filter-accent,
                #239248
            );

        color: #fff;
    }

    .kih-mobile-filter-trigger--dark {
        background: #1f2d24;

        border-color: #1f2d24;

        color: #fff;
    }

    .kih-mobile-filter-trigger--light {
        background: #f5faf6;

        border-color: #cfe2d4;

        color: #176c35;

        box-shadow:
            0 7px 18px
            rgba(29, 91, 47, .08);
    }

    .kih-mobile-filter-trigger--custom {
        background:
            var(
                --kih-mobile-filter-custom-bg,
                #239248
            );

        border-color:
            var(
                --kih-mobile-filter-custom-bg,
                #239248
            );

        color:
            var(
                --kih-mobile-filter-custom-text,
                #ffffff
            );
    }


    /* ---------- shapes ---------- */

    .kih-mobile-filter-trigger--rounded {
        border-radius: 11px;
    }

    .kih-mobile-filter-trigger--pill {
        border-radius: 999px;
    }

    .kih-mobile-filter-trigger--tab {
        border-radius: 10px;
    }

    .kih-mobile-filter-trigger--circle {
        width: 46px;
        min-width: 46px;
        height: 46px;
        min-height: 46px;

        padding: 0;

        border-radius: 50%;
    }

    .kih-mobile-filter-trigger--circle
    .kih-mobile-filter-trigger__label {
        display: none;
    }


    /* ---------- toolbar ---------- */

    .kih-mobile-filter-trigger--toolbar {
        position: static;

        flex: 0 0 auto;
    }


    /* ---------- near menu ---------- */

    .kih-mobile-filter-menu-host {
        display: inline-flex;
        align-items: center;

        margin-left: 6px;

        vertical-align: middle;
    }

    .kih-mobile-filter-trigger--near_menu {
        position: static;

        min-height: 36px;

        padding:
            6px
            9px;

        font-size: 11px;
    }

    .kih-mobile-filter-trigger--near_menu
    .kih-mobile-filter-trigger__icon {
        font-size: 15px;
    }


    /* ---------- side left / right ---------- */

    .kih-mobile-filter-trigger--side_left,
    .kih-mobile-filter-trigger--side_right {
        position: fixed;

        top: 52%;

        z-index: 999760;

        min-width: 42px;
        min-height: 118px;

        padding:
            12px
            9px;

        gap: 8px;

        writing-mode: vertical-rl;

        box-shadow:
            0 9px 25px
            rgba(22, 74, 38, .20);
    }

    .kih-mobile-filter-trigger--side_left {
        left: 0;

        transform:
            translateY(-50%)
            rotate(180deg);
    }

    .kih-mobile-filter-trigger--side_right {
        right: 0;

        transform:
            translateY(-50%);
    }

    .kih-mobile-filter-trigger--side_left:hover,
    .kih-mobile-filter-trigger--side_left:focus-visible {
        transform:
            translateY(-50%)
            rotate(180deg)
            translateY(-2px);
    }

    .kih-mobile-filter-trigger--side_right:hover,
    .kih-mobile-filter-trigger--side_right:focus-visible {
        transform:
            translateY(-50%)
            translateY(-2px);
    }


    /* side tabs attach to screen edge */

    .kih-mobile-filter-trigger--side_left.kih-mobile-filter-trigger--tab {
        border-radius:
            0
            13px
            13px
            0;
    }

    .kih-mobile-filter-trigger--side_right.kih-mobile-filter-trigger--tab {
        border-radius:
            13px
            0
            0
            13px;
    }


    /* circle side button */

    .kih-mobile-filter-trigger--side_left.kih-mobile-filter-trigger--circle,
    .kih-mobile-filter-trigger--side_right.kih-mobile-filter-trigger--circle {
        min-width: 50px;
        width: 50px;
        min-height: 50px;
        height: 50px;

        padding: 0;

        writing-mode: horizontal-tb;
    }

    .kih-mobile-filter-trigger--side_left.kih-mobile-filter-trigger--circle {
        left: 8px;
    }

    .kih-mobile-filter-trigger--side_right.kih-mobile-filter-trigger--circle {
        right: 8px;
    }


    /*
     * В toolbar на маленьком экране сортировка остаётся
     * отдельной строкой, а кнопка фильтра не растягивается.
     */
    .kih-filter-toolbar__left {
        min-height: 38px;
    }
}

@media (max-width: 420px) {

    .kih-mobile-filter-trigger--near_menu
    .kih-mobile-filter-trigger__label {
        display: none;
    }

    .kih-mobile-filter-trigger--near_menu {
        width: 36px;
        min-width: 36px;
        height: 36px;

        padding: 0;

        border-radius: 10px;
    }
}


/* =========================================================
   FILTER v10 — mobile drawer / touch scroll / sticky apply
========================================================= */

html.kih-filter-no-scroll,
body.kih-filter-no-scroll {
    overflow: hidden !important;
    overscroll-behavior: none;
}

@media (max-width: 900px) {

    .kih-filter-panel,
    .kih-filter-category-sidebar,
    .kih-search-filters.kih-filter-panel {
        top: 0 !important;
        bottom: auto !important;

        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100vh !important;
        max-height: 100dvh !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        overscroll-behavior-y: contain;
        touch-action: pan-y !important;

        -webkit-overflow-scrolling: touch;

        scrollbar-gutter: stable;

        padding-bottom:
            max(
                14px,
                env(safe-area-inset-bottom)
            ) !important;
    }


    /*
     * Внутренние списки тоже должны нормально прокручиваться
     * пальцем, но не блокировать прокрутку всего drawer.
     */
    .kih-filter-options {
        overscroll-behavior-y: contain;
        touch-action: pan-y;
        -webkit-overflow-scrolling: touch;
    }


    /*
     * Footer всегда находится у нижнего края drawer.
     * После изменения фильтра появляется зелёная кнопка.
     */
    .kih-filter-panel__footer {
        position: sticky !important;

        left: 0;
        right: 0;
        bottom: 0 !important;

        z-index: 30;

        display: grid !important;
        grid-template-columns: 1fr;
        gap: 8px;

        margin:
            14px
            -12px
            -14px !important;

        padding:
            10px
            12px
            calc(
                10px
                +
                env(safe-area-inset-bottom)
            ) !important;

        background:
            rgba(
                255,
                255,
                255,
                .985
            ) !important;

        border-top:
            1px solid
            #dbe7de !important;

        box-shadow:
            0 -10px 24px
            rgba(
                29,
                77,
                41,
                .08
            );

        backdrop-filter:
            blur(10px);
    }


    .kih-filter-mobile-apply {
        display: none !important;

        width: 100%;

        min-height: 46px;

        border-radius: 11px;

        font-size: 13px;
        font-weight: 800;

        box-shadow:
            0 7px 18px
            rgba(
                36,
                143,
                72,
                .20
            );
    }


    .kih-filter-panel__footer.is-kih-mobile-dirty
    .kih-filter-mobile-apply:not([hidden]) {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }


    .kih-filter-mobile-apply[hidden] {
        display: none !important;
    }


    .kih-filter-clear {
        width: 100%;
        min-height: 42px;
    }
}


/* =========================================================
   FILTER v10 — mobile side button fonts
========================================================= */

@media (max-width: 900px) {

    .kih-mobile-filter-trigger--font-system {
        font-family:
            -apple-system,
            BlinkMacSystemFont,
            "Segoe UI",
            Arial,
            sans-serif;
    }

    .kih-mobile-filter-trigger--font-rounded {
        font-family:
            "Arial Rounded MT Bold",
            "Trebuchet MS",
            Arial,
            sans-serif;

        letter-spacing: .02em;
    }

    .kih-mobile-filter-trigger--font-condensed {
        font-family:
            "Arial Narrow",
            "Roboto Condensed",
            Arial,
            sans-serif;

        font-stretch: condensed;
        letter-spacing: .045em;
    }

    .kih-mobile-filter-trigger--font-serif {
        font-family:
            Georgia,
            "Times New Roman",
            serif;

        letter-spacing: .02em;
    }

    .kih-mobile-filter-trigger--font-mono {
        font-family:
            ui-monospace,
            SFMono-Regular,
            Menlo,
            Monaco,
            Consolas,
            monospace;

        letter-spacing: .035em;
    }


    /* side button length */

    .kih-mobile-filter-trigger--side_left.kih-mobile-filter-trigger--length-short,
    .kih-mobile-filter-trigger--side_right.kih-mobile-filter-trigger--length-short {
        min-height: 96px;
        height: 96px;
    }

    .kih-mobile-filter-trigger--side_left.kih-mobile-filter-trigger--length-medium,
    .kih-mobile-filter-trigger--side_right.kih-mobile-filter-trigger--length-medium {
        min-height: 124px;
        height: 124px;
    }

    .kih-mobile-filter-trigger--side_left.kih-mobile-filter-trigger--length-long,
    .kih-mobile-filter-trigger--side_right.kih-mobile-filter-trigger--length-long {
        min-height: 154px;
        height: 154px;
    }

    .kih-mobile-filter-trigger--side_left.kih-mobile-filter-trigger--length-xlong,
    .kih-mobile-filter-trigger--side_right.kih-mobile-filter-trigger--length-xlong {
        min-height: 184px;
        height: 184px;
    }


    /*
     * Круг остаётся кругом независимо от выбранной длины.
     */
    .kih-mobile-filter-trigger--side_left.kih-mobile-filter-trigger--circle,
    .kih-mobile-filter-trigger--side_right.kih-mobile-filter-trigger--circle {
        min-height: 50px !important;
        height: 50px !important;
    }
}


/* =========================================================
   FILTER v10.2 — Sticky Header stability after mobile apply
========================================================= */

@media (max-width: 900px) {

    /*
     * Фильтр не задаёт Header собственный offset.
     * Его top всегда берётся из общей переменной Sticky Header.
     */
    .kih-site-header {
        top:
            var(
                --kih-sticky-top,
                0px
            ) !important;
    }
}


/* =========================================================
   FILTER v10.3 — desktop promo modules
========================================================= */

.kih-filter-desktop-promo {
    display: grid;
    gap: 14px;
    margin-top: 16px;
}

.kih-filter-promo-product {
    overflow: hidden;
    border: 1px solid var(--kih-filter-border, #dce8df);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(25, 76, 39, .08);
}

.kih-filter-promo-product__badge {
    padding: 8px 10px;
    background: color-mix(
        in srgb,
        var(--kih-filter-accent, #239248) 12%,
        #fff
    );
    color: var(--kih-filter-accent, #239248);
    font-size: 11px;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .035em;
}

.kih-filter-promo-product__image {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f7faf8;
}

.kih-filter-promo-product__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.kih-filter-promo-product__body {
    display: grid;
    gap: 9px;
    padding: 12px;
    text-align: center;
}

.kih-filter-promo-product__title {
    color: var(--kih-filter-text, #2e4836);
    font-size: 14px;
    font-weight: 750;
    line-height: 1.35;
    text-decoration: none;
}

.kih-filter-promo-product__price {
    color: var(--kih-filter-accent, #239248);
    font-size: 18px;
    font-weight: 800;
}

.kih-filter-promo-product__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 14px;
    border-radius: 9px;
    background: var(--kih-filter-accent, #239248);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.kih-filter-promo-banner {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    border-radius: 14px;
    background: #eef5f0;
    text-decoration: none;
}

.kih-filter-promo-banner img {
    display: block;
    width: 100%;
    height: auto;
}

.kih-filter-promo-banner__text {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    padding: 8px 10px;
    border-radius: 9px;
    background: rgba(18, 48, 27, .82);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
    backdrop-filter: blur(6px);
}

@media (max-width: 900px) {
    .kih-filter-desktop-promo {
        display: none !important;
    }

    /*
     * Не повертаємо width:auto: для fixed drawer це могло
     * стискати мобільну панель до ширини її контенту.
     */
    .kih-filter-panel,
    .kih-filter-category-sidebar,
    .kih-search-filters.kih-filter-panel {
        width:
            min(
                460px,
                calc(100vw - 14px)
            ) !important;

        max-width: none !important;
    }
}

@media (max-width: 520px) {

    .kih-filter-panel,
    .kih-filter-category-sidebar,
    .kih-search-filters.kih-filter-panel {
        width:
            calc(
                100vw - 10px
            ) !important;
    }
}


/* =========================================================
   FILTER v10.11 — recommendations after filtered products
========================================================= */

.kih-filter-recommendations-host {
    clear: both;
    width: 100%;
    margin-top: 28px;
}

.kih-filter-recommendations {
    --kih-rec-bg: #f6fbf7;
    --kih-rec-text: #163f24;
    --kih-rec-accent: #239248;
    --kih-rec-border: #d8e8dc;
    --kih-rec-radius: 20px;
    --kih-rec-padding: 24px;
    --kih-rec-shadow: 0 18px 48px rgba(26, 75, 40, .10);

    overflow: hidden;

    width: 100%;
    padding: var(--kih-rec-padding);

    background: var(--kih-rec-bg);
    border: 1px solid var(--kih-rec-border);
    border-radius: var(--kih-rec-radius);
    box-shadow: var(--kih-rec-shadow);

    color: var(--kih-rec-text);

    box-sizing: border-box;
}

.kih-filter-recommendations--outline {
    background: transparent;
    box-shadow: none;
}

.kih-filter-recommendations--dark {
    color: #fff;
}

.kih-filter-recommendations__head {
    max-width: 780px;
    margin-bottom: 20px;
}

.kih-filter-recommendations__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    margin-bottom: 7px;

    color: var(--kih-rec-accent);

    font-size: 11px;
    font-weight: 850;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.kih-filter-recommendations__eyebrow::before {
    content: "";

    width: 8px;
    height: 8px;

    background: var(--kih-rec-accent);
    border-radius: 50%;
}

.kih-filter-recommendations__head h2 {
    margin: 0;

    color: inherit;

    font-size: clamp(22px, 2.2vw, 32px);
    font-weight: 800;
    line-height: 1.15;
}

.kih-filter-recommendations__head p {
    margin: 8px 0 0;

    color: inherit;
    opacity: .72;

    font-size: 14px;
    line-height: 1.55;
}

.kih-filter-recommendations__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.kih-filter-recommend-card {
    position: relative;

    overflow: hidden;

    min-width: 0;

    background: #fff;
    border: 1px solid color-mix(in srgb, var(--kih-rec-border) 88%, #fff);
    border-radius: 15px;

    box-shadow:
        0 7px 22px
        rgba(31, 73, 43, .07);

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.kih-filter-recommend-card:hover {
    transform: translateY(-3px);

    border-color:
        color-mix(
            in srgb,
            var(--kih-rec-accent) 35%,
            var(--kih-rec-border)
        );

    box-shadow:
        0 13px 28px
        rgba(31, 73, 43, .12);
}

.kih-filter-recommend-card__image {
    position: relative;

    display: block;
    overflow: hidden;

    aspect-ratio: 1 / 1;

    background: #f5f7f5;
}

.kih-filter-recommend-card__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .25s ease;
}

.kih-filter-recommend-card:hover
.kih-filter-recommend-card__image img {
    transform: scale(1.025);
}

.kih-filter-recommend-card__badge {
    position: absolute;
    top: 9px;
    left: 9px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 25px;
    padding: 4px 8px;

    background: var(--kih-rec-accent);
    border-radius: 999px;

    color: #fff;

    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}

.kih-filter-recommend-card__body {
    display: flex;
    flex-direction: column;

    min-height: 132px;
    padding: 12px;
}

.kih-filter-recommend-card__title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    min-height: 39px;

    color: #24372a;

    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
    text-decoration: none;
}

.kih-filter-recommend-card__price {
    margin-top: 8px;

    color: var(--kih-rec-accent);

    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
}

.kih-filter-recommend-card__price del {
    margin-right: 5px;

    color: #8c978f;

    font-size: .78em;
    font-weight: 500;
}

.kih-filter-recommend-card__price ins {
    text-decoration: none;
}

.kih-filter-recommend-card__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    margin-top: auto;
    padding-top: 11px;

    color: #35573f;

    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .025em;
}

.kih-filter-recommend-card__link span {
    color: var(--kih-rec-accent);

    font-size: 15px;

    transition: transform .16s ease;
}

.kih-filter-recommend-card__link:hover span {
    transform: translateX(3px);
}

.kih-filter-recommendations--dark
.kih-filter-recommend-card {
    border-color: rgba(255,255,255,.13);
    background: rgba(255,255,255,.96);
}

.kih-filter-recommendations__cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 22px;

    margin-top: 20px;
    padding: 18px;

    background:
        color-mix(
            in srgb,
            var(--kih-rec-accent) 8%,
            #fff
        );

    border:
        1px solid
        color-mix(
            in srgb,
            var(--kih-rec-accent) 18%,
            var(--kih-rec-border)
        );

    border-radius:
        max(
            12px,
            calc(var(--kih-rec-radius) - 5px)
        );
}

.kih-filter-recommendations--dark
.kih-filter-recommendations__cta {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.15);
}

.kih-filter-recommendations__cta-copy strong {
    display: block;

    margin: 0;

    color: inherit;

    font-size: 18px;
    font-weight: 800;
    line-height: 1.25;
}

.kih-filter-recommendations__cta-copy p {
    margin: 6px 0 0;

    color: inherit;
    opacity: .72;

    font-size: 13px;
    line-height: 1.5;
}

.kih-filter-recommend-call {
    --kih-call-bg: #239248;
    --kih-call-text: #fff;
    --kih-call-border: #239248;
    --kih-call-font: 15px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    min-height: 46px;
    padding: 10px 18px;

    border: 1px solid var(--kih-call-border);

    color: var(--kih-call-text);

    font: inherit;
    font-size: var(--kih-call-font);
    font-weight: 800;
    line-height: 1;

    cursor: pointer;

    transition:
        transform .16s ease,
        box-shadow .16s ease,
        opacity .16s ease;
}

.kih-filter-recommend-call:hover {
    transform: translateY(-2px);

    box-shadow:
        0 10px 22px
        color-mix(
            in srgb,
            var(--kih-call-bg) 24%,
            transparent
        );
}

.kih-filter-recommend-call--solid {
    background: var(--kih-call-bg);
}

.kih-filter-recommend-call--outline {
    background: transparent;
    color: var(--kih-call-text);
}

.kih-filter-recommend-call--gradient {
    background:
        linear-gradient(
            135deg,
            var(--kih-call-bg),
            var(--kih-rec-accent)
        );
}

.kih-filter-recommend-call--rounded {
    border-radius: 12px;
}

.kih-filter-recommend-call--pill {
    border-radius: 999px;
}

.kih-filter-recommend-call--square {
    border-radius: 0;
}

.kih-filter-recommend-call--full {
    width: 100%;
}

@media (min-width: 768px) {

    .kih-filter-recommend-card.is-desktop-extra {
        display: none !important;
    }
}

@media (max-width: 1100px) and (min-width: 768px) {

    .kih-filter-recommendations__grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {

    .kih-filter-recommendations-host {
        margin-top: 20px;
    }

    .kih-filter-recommendations {
        padding:
            min(
                var(--kih-rec-padding),
                16px
            );

        border-radius:
            min(
                var(--kih-rec-radius),
                18px
            );
    }

    .kih-filter-recommendations__head {
        margin-bottom: 15px;
    }

    .kih-filter-recommendations__head h2 {
        font-size: 21px;
    }

    .kih-filter-recommendations__head p {
        font-size: 12px;
    }

    .kih-filter-recommendations__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 9px;
    }

    .kih-filter-recommend-card.is-mobile-extra {
        display: none !important;
    }

    .kih-filter-recommend-card {
        border-radius: 12px;
    }

    .kih-filter-recommend-card__body {
        min-height: 119px;
        padding: 9px;
    }

    .kih-filter-recommend-card__title {
        min-height: 36px;

        font-size: 12px;
    }

    .kih-filter-recommend-card__price {
        font-size: 15px;
    }

    .kih-filter-recommend-card__link {
        font-size: 10px;
    }

    .kih-filter-recommendations__cta {
        grid-template-columns: 1fr;
        gap: 13px;

        padding: 14px;
    }

    .kih-filter-recommendations__cta-copy strong {
        font-size: 16px;
    }

    .kih-filter-recommendations__cta-copy p {
        font-size: 12px;
    }

    .kih-filter-recommend-call {
        width: 100%;
        min-height: 45px;
    }
}


/* =========================================================
   FILTER v10.11 — recommendation placement
========================================================= */

.kih-filter-load-more-host
+ .kih-filter-recommendations-host,
.kih-filter-pagination-host
+ .kih-filter-recommendations-host,
.kih-filter-infinite-sentinel
+ .kih-filter-recommendations-host {
    margin-top: 22px;
}


/* =========================================================
   FILTER v10.12 — variation stock status / recommendations
========================================================= */

.kih-filter-card-variant {
    flex-wrap: wrap;
}

.kih-filter-card-variant__stock {
    flex-basis: 100%;

    color: #a63b3b;

    font-size: 9px;
    font-weight: 800;
    line-height: 1.15;

    text-transform: uppercase;
    letter-spacing: .025em;
}

.kih-filter-card-variant.is-out-of-stock {
    opacity: .72;
}

.kih-filter-recommend-card__variants {
    margin-top: 10px;
}

.kih-filter-recommend-card__variants-title {
    margin-bottom: 6px;

    color: #738078;

    font-size: 9px;
    font-weight: 800;
    line-height: 1.2;

    text-transform: uppercase;
    letter-spacing: .04em;
}

.kih-filter-recommend-card__variants-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.kih-filter-recommend-card__variant {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px 5px;

    min-width: 0;
    min-height: 28px;

    padding: 4px 6px;

    background: #f8fbf9;
    border: 1px solid #d8e7dc;
    border-radius: 8px;

    color: #2f593b;

    font-size: 10px;
    font-weight: 700;
    line-height: 1.15;

    text-decoration: none !important;

    transition:
        border-color .16s ease,
        background .16s ease,
        transform .16s ease;
}

.kih-filter-recommend-card__variant:hover {
    background: #eff8f1;
    border-color: #9fcbaa;
    transform: translateY(-1px);
}

.kih-filter-recommend-card__variant-value {
    min-width: 0;

    overflow: hidden;

    text-overflow: ellipsis;
    white-space: nowrap;
}

.kih-filter-recommend-card__variant-price {
    color: var(--kih-rec-accent);

    font-weight: 850;
    white-space: nowrap;
}

.kih-filter-recommend-card__variant-stock {
    flex-basis: 100%;

    color: #a63b3b;

    font-size: 8px;
    font-weight: 850;
    line-height: 1.15;

    text-transform: uppercase;
    letter-spacing: .02em;
}

.kih-filter-recommend-card__variant.is-out-of-stock {
    background: #faf7f7;
    border-color: #ead8d8;

    opacity: .72;
}

.kih-filter-recommend-card__variants-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 28px;

    padding: 4px 7px;

    border: 1px dashed #bfd6c5;
    border-radius: 8px;

    color: #54705c;

    font-size: 9px;
    font-weight: 800;
    line-height: 1;

    text-decoration: none !important;
}

.kih-filter-recommend-card__variants-more.is-mobile {
    display: none;
}

@media (max-width: 900px) {

    .kih-filter-recommend-card__variant.is-mobile-extra {
        display: none;
    }

    .kih-filter-recommend-card__variants-more.is-desktop {
        display: none;
    }

    .kih-filter-recommend-card__variants-more.is-mobile {
        display: inline-flex;
    }
}

@media (max-width: 520px) {

    .kih-filter-recommend-card__body {
        padding: 10px;
    }

    .kih-filter-recommend-card__variants {
        margin-top: 8px;
    }

    .kih-filter-recommend-card__variant {
        width: 100%;
    }

    .kih-filter-card-variant__stock {
        font-size: 8px;
    }
}

/* =========================================================
   EMPTY CATEGORY → KIH FILTER FALLBACK
   ========================================================= */

.kih-filter-empty-category {
    width: 100%;
    margin-top: 18px;
}

.kih-filter-empty-category__intro {
    margin: 0 0 18px;
    padding: 18px 20px;
    border: 1px solid #dce9df;
    border-radius: 16px;
    background:
        linear-gradient(
            135deg,
            rgba(240, 250, 243, .96),
            rgba(255, 255, 255, .98)
        );
    box-shadow: 0 8px 26px rgba(25, 77, 42, .05);
}

.kih-filter-empty-category__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    margin-bottom: 7px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #eaf6ed;
    color: #08752c;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.kih-filter-empty-category__intro h2 {
    margin: 0 0 7px !important;
    color: #102b19;
    font-size: clamp(22px, 2vw, 30px);
    line-height: 1.15;
}

.kih-filter-empty-category__intro p {
    max-width: 760px;
    margin: 0;
    color: #617067;
    font-size: 14px;
    line-height: 1.55;
}

.kih-filter-category-shell--fallback {
    margin-top: 0;
}

@media (max-width: 900px) {
    .kih-filter-empty-category {
        margin-top: 12px;
    }

    .kih-filter-empty-category__intro {
        margin-bottom: 12px;
        padding: 15px 16px;
        border-radius: 14px;
    }

    .kih-filter-empty-category__intro h2 {
        font-size: 21px;
    }

    .kih-filter-empty-category__intro p {
        font-size: 13px;
    }
}



/* =========================================================
   FILTER v10.14 — catalog variation preview / expand
========================================================= */

.kih-filter-card-variants--catalog {
    margin-top: 10px;
    padding: 9px 10px 10px;
    background:
        linear-gradient(
            180deg,
            #f8fcf9 0%,
            #f4faf6 100%
        );
    border-color: #d8e8dc;
}

.kih-filter-card-variants__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 7px;
}

.kih-filter-card-variants__head
.kih-filter-card-variants__title {
    margin-bottom: 0;
}

.kih-filter-card-variants--catalog
.kih-filter-card-variants__title {
    color: #315d3f;
    font-size: 10px;
    letter-spacing: .055em;
}

.kih-filter-card-variants--catalog
.kih-filter-card-variant {
    min-height: 30px;
    padding: 4px 8px;
    background: #fff;
    border-color: #cfe1d4;
    border-radius: 999px;
    box-shadow:
        0 2px 8px
        rgba(31, 91, 49, .035);
}

.kih-filter-card-variants--catalog
.kih-filter-card-variant:hover {
    transform: translateY(-1px);
    box-shadow:
        0 5px 14px
        rgba(31, 91, 49, .08);
}

.kih-filter-card-variants--catalog
.kih-filter-card-variant__value {
    font-weight: 750;
}

.kih-filter-card-variants--catalog
.kih-filter-card-variant__price {
    font-size: 10px;
    white-space: nowrap;
}

.kih-filter-card-variants--catalog
.kih-filter-card-variant__stock {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-basis: 100%;
    width: max-content;
    max-width: 100%;
    margin-top: 2px;
    padding: 3px 6px;

    background: #fff1f1;
    border: 1px solid #f0c9c9;
    border-radius: 999px;

    color: #b42318;

    font-size: 8px;
    font-weight: 850;
    line-height: 1;
    letter-spacing: .02em;
    text-transform: none;
}

.kih-filter-card-variants--catalog
.kih-filter-card-variant__stock::before {
    content: "";

    width: 6px;
    height: 6px;
    flex: 0 0 6px;

    background: #dc3545;
    border-radius: 50%;

    box-shadow:
        0 0 0 2px
        rgba(220, 53, 69, .10);
}

.kih-filter-card-variants--catalog
.kih-filter-card-variant.is-out-of-stock {
    opacity: 1;
    filter: none;

    background: #fffafa;
    border-color: #edcccc;
    border-radius: 12px;

    color: #715858;
}

.kih-filter-card-variants--catalog
.kih-filter-card-variant.is-out-of-stock
.kih-filter-card-variant__price {
    color: #9a6a6a;
}

.kih-filter-card-variants--catalog
.kih-filter-card-variant.is-catalog-extra {
    display: none;
}

.kih-filter-card-variants--catalog.is-expanded
.kih-filter-card-variant.is-catalog-extra {
    display: inline-flex;
}

.kih-filter-card-variants__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;

    min-height: 28px;
    padding: 3px 7px 3px 9px;

    background: #fff;

    border:
        1px solid
        #cfe1d4;

    border-radius: 999px;

    color: #25733c;

    font-size: 10px;
    font-weight: 800;
    line-height: 1;

    cursor: pointer;

    box-shadow:
        0 2px 8px
        rgba(31, 91, 49, .045);

    transition:
        background .15s ease,
        border-color .15s ease,
        transform .15s ease,
        box-shadow .15s ease;
}

.kih-filter-card-variants__toggle:hover {
    background: #eef8f1;
    border-color: #9fcaaa;
    transform: translateY(-1px);
    box-shadow:
        0 5px 14px
        rgba(31, 91, 49, .08);
}

.kih-filter-card-variants__toggle svg {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;

    transition:
        transform .18s ease;
}

.kih-filter-card-variants--catalog.is-expanded
.kih-filter-card-variants__toggle svg {
    transform: rotate(180deg);
}

@media (max-width: 900px) {

    .kih-filter-card-variants--catalog {
        margin-top: 8px;
        padding: 8px;
    }

    .kih-filter-card-variants--catalog
    .kih-filter-card-variant {
        min-height: 28px;
        padding: 4px 7px;
        font-size: 10px;
    }

    .kih-filter-card-variants__toggle {
        min-height: 27px;
        font-size: 9.5px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .kih-filter-card-variants__toggle,
    .kih-filter-card-variants__toggle svg,
    .kih-filter-card-variants--catalog
    .kih-filter-card-variant {
        transition: none !important;
    }
}


/* =========================================================
   FILTER v10.15 — catalog variation stock badge
========================================================= */

@media (max-width: 520px) {

    .kih-filter-card-variants--catalog
    .kih-filter-card-variant__stock {
        font-size: 7.5px;
        padding: 3px 5px;
    }
}


/* =========================================================
   FILTER v10.16 — catalog variants polish + admin styles
========================================================= */

/*
 * Не даём теме перекрашивать кнопку "Ще / Згорнути" в чёрный
 * при :focus / :active / expanded state.
 */
.kih-filter-card-variants--catalog
.kih-filter-card-variants__toggle,
.kih-filter-card-variants--catalog
.kih-filter-card-variants__toggle:hover,
.kih-filter-card-variants--catalog
.kih-filter-card-variants__toggle:focus,
.kih-filter-card-variants--catalog
.kih-filter-card-variants__toggle:focus-visible,
.kih-filter-card-variants--catalog
.kih-filter-card-variants__toggle:active {
    appearance: none !important;
    -webkit-appearance: none !important;

    background:
        var(
            --kih-catalog-variant-toggle-bg,
            #ffffff
        ) !important;

    color:
        var(
            --kih-catalog-variant-toggle-text,
            #25733c
        ) !important;

    border:
        1px solid
        color-mix(
            in srgb,
            var(
                --kih-catalog-variant-toggle-text,
                #25733c
            ) 28%,
            #dce8df
        ) !important;

    text-shadow: none !important;
    outline: none !important;
}

.kih-filter-card-variants--catalog
.kih-filter-card-variants__toggle:hover,
.kih-filter-card-variants--catalog
.kih-filter-card-variants__toggle:focus-visible {
    background:
        color-mix(
            in srgb,
            var(
                --kih-catalog-variant-toggle-bg,
                #ffffff
            ) 88%,
            var(
                --kih-catalog-variant-toggle-text,
                #25733c
            ) 12%
        ) !important;

    box-shadow:
        0 5px 14px
        color-mix(
            in srgb,
            var(
                --kih-catalog-variant-toggle-text,
                #25733c
            ) 14%,
            transparent
        ) !important;
}


/* Доступные варианты. */
.kih-filter-card-variants--catalog
.kih-filter-card-variant {
    box-sizing: border-box;

    background:
        var(
            --kih-catalog-variant-instock-bg,
            #ffffff
        ) !important;

    color:
        var(
            --kih-catalog-variant-instock-text,
            #2a633c
        ) !important;

    border-radius:
        var(
            --kih-catalog-variant-radius,
            12px
        ) !important;
}

.kih-filter-card-variants--catalog
.kih-filter-card-variant__value {
    min-width: 0;
}

.kih-filter-card-variants--catalog
.kih-filter-card-variant__price {
    flex: 0 0 auto;
}


/*
 * Недоступный вариант: статус компактный и больше НЕ растягивается
 * на всю ширину вариации.
 */
.kih-filter-card-variants--catalog
.kih-filter-card-variant.is-out-of-stock {
    background:
        var(
            --kih-catalog-variant-outstock-bg,
            #fff7f7
        ) !important;

    color:
        var(
            --kih-catalog-variant-outstock-text,
            #b42318
        ) !important;

    border-color:
        color-mix(
            in srgb,
            var(
                --kih-catalog-variant-outstock-text,
                #b42318
            ) 24%,
            #ffffff
        ) !important;
}

.kih-filter-card-variants--catalog
.kih-filter-card-variant.is-out-of-stock
.kih-filter-card-variant__price {
    color:
        color-mix(
            in srgb,
            var(
                --kih-catalog-variant-outstock-text,
                #b42318
            ) 72%,
            #68736c
        ) !important;
}

.kih-filter-card-variants--catalog
.kih-filter-card-variant__stock {
    flex:
        0
        0
        auto !important;

    flex-basis:
        auto !important;

    width:
        auto !important;

    max-width:
        max-content !important;

    margin:
        1px
        0
        0 !important;

    padding:
        2px
        5px !important;

    background:
        var(
            --kih-catalog-variant-outstock-badge-bg,
            #eef0ee
        ) !important;

    border:
        1px solid
        color-mix(
            in srgb,
            var(
                --kih-catalog-variant-outstock-badge-text,
                #737b75
            ) 22%,
            #ffffff
        ) !important;

    color:
        var(
            --kih-catalog-variant-outstock-badge-text,
            #737b75
        ) !important;

    white-space: nowrap;
}


/* Приблизно однакова ширина всіх кнопок. */
.kih-filter-card-variants--catalog.is-equal-width
.kih-filter-card-variant {
    width:
        min(
            var(
                --kih-catalog-variant-width,
                132px
            ),
            100%
        );

    min-width:
        min(
            var(
                --kih-catalog-variant-width,
                132px
            ),
            100%
        );

    max-width:
        min(
            var(
                --kih-catalog-variant-width,
                132px
            ),
            100%
        );
}

.kih-filter-card-variants--catalog.is-equal-width
.kih-filter-card-variant__value {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* Варианты оформления из админки. */
.kih-filter-card-variants--style-outline
.kih-filter-card-variant {
    box-shadow: none !important;
}

.kih-filter-card-variants--style-outline
.kih-filter-card-variant:hover {
    box-shadow:
        0 3px 10px
        rgba(31, 91, 49, .05) !important;
}

.kih-filter-card-variants--style-pill
.kih-filter-card-variant {
    border-radius: 999px !important;
    min-height: 29px;
}

.kih-filter-card-variants--style-pill
.kih-filter-card-variant__stock {
    border-radius: 999px !important;
}


/* Mobile: не допускаем вылезания фиксированной ширины из карточки. */
@media (max-width: 520px) {

    .kih-filter-card-variants--catalog.is-equal-width
    .kih-filter-card-variant {
        width:
            min(
                var(
                    --kih-catalog-variant-width,
                    132px
                ),
                100%
            );
    }

    .kih-filter-card-variants--catalog
    .kih-filter-card-variant__stock {
        max-width: 100% !important;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}


/* =========================================================
   FILTER v10.18 — variation picker modal
   Карточки каталога больше не растягиваются при "Ще N".
   Полный список вариантов открывается в отдельном popup.
========================================================= */

body.kih-filter-variants-modal-open {
    overflow: hidden !important;
}

.kih-filter-variants-modal {
    position: fixed;
    inset: 0;
    z-index: 1000000;

    display: grid;
    place-items: center;

    padding: 24px;

    opacity: 0;
    visibility: hidden;

    transition:
        opacity .16s ease,
        visibility .16s ease;
}

.kih-filter-variants-modal.is-open {
    opacity: 1;
    visibility: visible;
}

.kih-filter-variants-modal__backdrop {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

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

    background:
        rgba(
            21,
            42,
            29,
            var(
                --kih-variants-modal-overlay,
                .48
            )
        ) !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
    outline: 0 !important;

    cursor: default;

    backdrop-filter:
        blur(
            var(
                --kih-variants-modal-blur,
                5px
            )
        );

    -webkit-backdrop-filter:
        blur(
            var(
                --kih-variants-modal-blur,
                5px
            )
        );
}

.kih-filter-variants-modal__dialog {
    position: relative;
    z-index: 2;

    width:
        min(
            var(
                --kih-variants-modal-width,
                560px
            ),
            100%
        );
    max-height: min(78vh, 720px);

    overflow: hidden;

    background:
        var(
            --kih-variants-modal-bg,
            #ffffff
        );

    border:
        1px solid
        var(
            --kih-variants-modal-border,
            #dce8df
        );

    border-radius:
        var(
            --kih-variants-modal-radius,
            20px
        );

    box-shadow:
        var(
            --kih-variants-modal-shadow,
            0 28px 80px rgba(20, 43, 27, .22)
        );

    transform:
        translateY(10px)
        scale(.985);

    transition:
        transform .18s ease;
}

.kih-filter-variants-modal.is-open
.kih-filter-variants-modal__dialog {
    transform:
        translateY(0)
        scale(1);
}

.kih-filter-variants-modal__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;

    padding:
        20px
        20px
        14px;

    background:
        linear-gradient(
            180deg,
            var(
                --kih-variants-modal-header-bg,
                #f8fcf9
            ) 0%,
            var(
                --kih-variants-modal-bg,
                #ffffff
            ) 100%
        );

    border-bottom:
        1px solid
        #e3ece5;
}

.kih-filter-variants-modal__heading {
    min-width: 0;
}

.kih-filter-variants-modal__eyebrow {
    margin-bottom: 5px;

    color:
        var(
            --kih-variants-modal-accent,
            var(
                --kih-catalog-variant-toggle-text,
                #25733c
            )
        );

    font-size: 10px;
    font-weight: 850;
    line-height: 1.15;

    letter-spacing: .08em;
    text-transform: uppercase;
}

.kih-filter-variants-modal__title {
    color:
        var(
            --kih-variants-modal-title,
            #163d24
        );

    font-size: 18px;
    font-weight: 800;
    line-height: 1.25;
}

.kih-filter-variants-modal__close,
.kih-filter-variants-modal__close:hover,
.kih-filter-variants-modal__close:focus,
.kih-filter-variants-modal__close:active {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;

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

    background: #ffffff !important;

    border:
        1px solid
        #dbe7de !important;

    border-radius: 12px !important;

    color: #355841 !important;

    box-shadow:
        0 3px 12px
        rgba(28, 67, 40, .05) !important;

    outline: 0 !important;
    text-shadow: none !important;

    cursor: pointer;
}

.kih-filter-variants-modal__close:hover {
    background: #f3faf5 !important;
    border-color: #b9d5c0 !important;
}

.kih-filter-variants-modal__close svg {
    width: 19px;
    height: 19px;
}

.kih-filter-variants-modal__hint {
    padding:
        12px
        20px;

    background:
        var(
            --kih-variants-modal-bg,
            #ffffff
        );

    border-bottom:
        1px solid
        #edf2ee;

    color:
        var(
            --kih-variants-modal-hint,
            #6a776e
        );

    font-size: 12px;
    line-height: 1.45;
}

.kih-filter-variants-modal__body {
    max-height:
        calc(
            min(78vh, 720px) - 145px
        );

    overflow-x: hidden;
    overflow-y: auto;

    padding:
        16px
        20px
        20px;

    overscroll-behavior: contain;
}

.kih-filter-variants-modal__options {
    display: grid;

    grid-template-columns:
        repeat(
            var(
                --kih-variants-modal-columns,
                2
            ),
            minmax(0, 1fr)
        );

    gap: 10px;
}

.kih-filter-variants-modal
.kih-filter-variants-modal__option {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    width: 100%;
    min-width: 0;
    min-height: 42px;

    gap:
        4px
        8px;

    margin: 0;
    padding:
        8px
        10px;

    background:
        var(
            --kih-catalog-variant-instock-bg,
            #ffffff
        );

    border:
        1px solid
        color-mix(
            in srgb,
            var(
                --kih-catalog-variant-instock-text,
                #25733c
            ) 24%,
            #dce8df
        );

    border-radius:
        var(
            --kih-catalog-variant-radius,
            10px
        );

    color:
        var(
            --kih-catalog-variant-instock-text,
            #25733c
        );

    opacity: 1;
    filter: none;

    text-decoration: none !important;

    box-shadow:
        0 3px 10px
        rgba(31, 91, 49, .035);

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        transform .15s ease,
        background .15s ease;
}

.kih-filter-variants-modal
.kih-filter-variants-modal__option:hover {
    transform: translateY(-1px);

    border-color:
        color-mix(
            in srgb,
            var(
                --kih-catalog-variant-instock-text,
                #25733c
            ) 50%,
            #dce8df
        );

    box-shadow:
        0 7px 18px
        rgba(31, 91, 49, .08);
}

.kih-filter-variants-modal
.kih-filter-card-variant__value {
    min-width: 0;

    color: inherit;

    font-size: 12px;
    font-weight: 780;
    line-height: 1.2;
}

.kih-filter-variants-modal
.kih-filter-card-variant__price {
    margin-left: auto;

    color: #159447;

    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;

    white-space: nowrap;
}

.kih-filter-variants-modal
.kih-filter-card-variant__quantity {
    display: inline-flex;
    align-items: center;

    flex: 0 0 auto;

    margin-left: auto;
    padding: 2px 7px;

    border-radius: 999px;

    background:
        color-mix(
            in srgb,
            var(
                --kih-variants-modal-accent,
                #25733c
            ) 8%,
            #ffffff
        );

    color:
        var(
            --kih-variants-modal-accent,
            #25733c
        );

    font-size: 11px;
    font-weight: 760;
    line-height: 1.25;

    white-space: nowrap;
}

.kih-filter-variants-modal
.kih-filter-variants-modal__option.is-out-of-stock {
    background:
        var(
            --kih-catalog-variant-outstock-bg,
            #fff7f7
        );

    border-color:
        color-mix(
            in srgb,
            var(
                --kih-catalog-variant-outstock-text,
                #b42318
            ) 24%,
            #f2d6d6
        );

    color:
        var(
            --kih-catalog-variant-outstock-text,
            #b42318
        );

    opacity: 1;
    filter: none;
}

.kih-filter-variants-modal
.kih-filter-variants-modal__option.is-out-of-stock
.kih-filter-card-variant__price {
    color:
        color-mix(
            in srgb,
            var(
                --kih-catalog-variant-outstock-text,
                #b42318
            ) 72%,
            #68736c
        );
}

.kih-filter-variants-modal
.kih-filter-card-variant__stock {
    display: inline-flex;
    align-items: center;
    gap: 5px;

    flex:
        0
        0
        auto;

    width: auto;
    max-width: 100%;

    margin: 2px 0 0;
    padding:
        3px
        6px;

    background:
        color-mix(
            in srgb,
            var(
                --kih-catalog-variant-outstock-text,
                #b42318
            ) 7%,
            #ffffff
        );

    border:
        1px solid
        color-mix(
            in srgb,
            var(
                --kih-catalog-variant-outstock-text,
                #b42318
            ) 18%,
            #ffffff
        );

    border-radius: 999px;

    color:
        var(
            --kih-catalog-variant-outstock-text,
            #b42318
        );

    font-size: 9px;
    font-weight: 850;
    line-height: 1;

    white-space: nowrap;
}

.kih-filter-variants-modal
.kih-filter-card-variant__stock::before {
    content: "";

    width: 6px;
    height: 6px;
    flex: 0 0 6px;

    background:
        var(
            --kih-catalog-variant-outstock-text,
            #dc3545
        );

    border-radius: 50%;
}


/*
 * "Ще N" теперь всегда открывает popup.
 * Не меняем высоту карточки и не вращаем кнопку в состояние "Згорнути".
 */
.kih-filter-card-variants__toggle[aria-haspopup="dialog"] svg {
    transform: none !important;
}

.kih-filter-card-variants--filtered
.kih-filter-card-variants__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.kih-filter-card-variants--filtered
.kih-filter-card-variants__title {
    margin-bottom: 0;
}

@media (max-width: 640px) {

    .kih-filter-variants-modal {
        padding:
            12px;
    }

    .kih-filter-variants-modal.is-mobile-sheet {
        align-items: end;
    }

    .kih-filter-variants-modal.is-mobile-sheet
    .kih-filter-variants-modal__dialog {
        width: 100%;
        max-height: 82vh;

        border-radius:
            18px
            18px
            14px
            14px;
    }

    .kih-filter-variants-modal__header {
        padding:
            16px
            16px
            12px;
    }

    .kih-filter-variants-modal__title {
        font-size: 16px;
    }

    .kih-filter-variants-modal__hint {
        padding:
            10px
            16px;

        font-size: 11px;
    }

    .kih-filter-variants-modal__body {
        max-height:
            calc(
                82vh - 130px
            );

        padding:
            13px
            16px
            18px;
    }

    .kih-filter-variants-modal__options {
        grid-template-columns:
            1fr;

        gap: 8px;
    }

    .kih-filter-variants-modal
    .kih-filter-variants-modal__option {
        min-height: 40px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .kih-filter-variants-modal,
    .kih-filter-variants-modal__dialog,
    .kih-filter-variants-modal__option {
        transition: none !important;
    }
}


.kih-filter-card-variants--filtered
.kih-filter-card-variants__toggle,
.kih-filter-card-variants--filtered
.kih-filter-card-variants__toggle:hover,
.kih-filter-card-variants--filtered
.kih-filter-card-variants__toggle:focus,
.kih-filter-card-variants--filtered
.kih-filter-card-variants__toggle:focus-visible,
.kih-filter-card-variants--filtered
.kih-filter-card-variants__toggle:active {
    appearance: none !important;
    -webkit-appearance: none !important;

    background: #ffffff !important;
    color: #25733c !important;

    border:
        1px solid
        #cfe1d4 !important;

    text-shadow: none !important;
    outline: none !important;
}

.kih-filter-card-variants--filtered
.kih-filter-card-variants__toggle:hover {
    background: #eef8f1 !important;
    border-color: #9fcaaa !important;
}


/* =========================================================
 * RECOMMENDATIONS — VARIATION MODAL BRIDGE
 * Keeps promo cards compact while reusing the common
 * catalog variation modal and its admin-controlled styles.
 * ========================================================= */

.kih-filter-recommend-card__variants.kih-filter-card-variants--catalog {
    margin-top: 10px;
    padding: 0;

    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.kih-filter-recommend-card__variants-more {
    appearance: none;
    -webkit-appearance: none;

    background: transparent;
    cursor: pointer;

    font: inherit;
}

.kih-filter-recommend-card__variants-more:hover,
.kih-filter-recommend-card__variants-more:focus-visible {
    background: #f4faf6;
    border-color: #8ebd9b;
    color: #245a34;
    outline: none;
}

/* =========================================================
   FILTER 2.15.19 — Clear button theme isolation
   Не даём теме перекрашивать «Очистити все» в чёрный.
========================================================= */

.kih-filter-panel .kih-filter-panel__footer .kih-filter-clear,
.kih-filter-panel .kih-filter-panel__footer .kih-filter-clear:visited {
    -webkit-appearance: none !important;
    appearance: none !important;
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid var(--kih-filter-border, #cfdcd2) !important;
    color: var(--kih-filter-text, #4a5e50) !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.kih-filter-panel .kih-filter-panel__footer .kih-filter-clear:hover,
.kih-filter-panel .kih-filter-panel__footer .kih-filter-clear:focus,
.kih-filter-panel .kih-filter-panel__footer .kih-filter-clear:focus-visible,
.kih-filter-panel .kih-filter-panel__footer .kih-filter-clear:active {
    background: color-mix(
        in srgb,
        var(--kih-filter-accent, #248f48) 8%,
        #ffffff
    ) !important;
    background-image: none !important;
    border-color: var(--kih-filter-accent, #248f48) !important;
    color: var(--kih-filter-accent, #248f48) !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.kih-filter-panel .kih-filter-panel__footer .kih-filter-clear:focus-visible {
    outline: 2px solid color-mix(
        in srgb,
        var(--kih-filter-accent, #248f48) 35%,
        transparent
    ) !important;
    outline-offset: 2px;
}

/* =========================================================
   FILTER 2.15.20 — compact stock quantity in preview chips
   Вне modal: 4шт / 75м. В modal остаётся полный "Залишок: ...".
========================================================= */

.kih-filter-card-variant__quantity-compact,
.kih-filter-recommend-card__variant-quantity {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    min-height: 16px;
    padding: 1px 4px;

    border-radius: 999px;

    background:
        color-mix(
            in srgb,
            var(--kih-filter-accent, #239248) 9%,
            #ffffff
        );

    color:
        var(--kih-filter-accent, #239248);

    font-size: 8px;
    font-weight: 850;
    line-height: 1;

    white-space: nowrap;
    letter-spacing: -.01em;
}

.kih-filter-card-variants--catalog
.kih-filter-card-variant__quantity-compact {
    margin-left: auto;
}

.kih-filter-card-variants--filtered
.kih-filter-card-variant__quantity-compact {
    margin-left: auto;
}

.kih-filter-card-variant.is-out-of-stock
.kih-filter-card-variant__quantity-compact,
.kih-filter-recommend-card__variant.is-out-of-stock
.kih-filter-recommend-card__variant-quantity {
    background: #fff0f0;
    color: #b42318;
}

.kih-filter-recommend-card__variant-quantity {
    font-size: 7.5px;
    padding-inline: 3px;
}

/*
 * Promo-карточка в левой колонке получает тот же общий renderer,
 * но без лишнего внешнего отступа, чтобы блок оставался компактным.
 */
.kih-filter-promo-product
.kih-filter-card-variants--catalog {
    margin: 0;
    padding: 8px;
    text-align: left;
}

.kih-filter-promo-product
.kih-filter-card-variants__list {
    gap: 5px;
}

.kih-filter-promo-product
.kih-filter-card-variants--catalog.is-equal-width
.kih-filter-card-variant {
    width: 100%;
}

@media (max-width: 520px) {
    .kih-filter-card-variant__quantity-compact,
    .kih-filter-recommend-card__variant-quantity {
        font-size: 7.5px;
    }
}



/* =========================================================
   FILTER 2.15.26 — configurable placement
========================================================= */

@media (min-width: 901px) {

    body.kih-filter-desktop--right
    .kih-filter-category-shell,
    body.kih-filter-desktop--right
    .kih-search-layout,
    .kih-filter-category-shell--right {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(230px, 280px) !important;
    }

    body.kih-filter-desktop--right
    .kih-filter-category-sidebar,
    body.kih-filter-desktop--right
    .kih-search-filters,
    .kih-filter-category-shell--right
    .kih-filter-category-sidebar {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    body.kih-filter-desktop--right
    .kih-filter-category-content,
    body.kih-filter-desktop--right
    .kih-search-results,
    .kih-filter-category-shell--right
    .kih-filter-category-content {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }
}


@media (max-width: 900px) {

    body.kih-filter-drawer--right
    .kih-filter-panel,
    body.kih-filter-drawer--right
    .kih-filter-category-sidebar,
    body.kih-filter-drawer--right
    .kih-search-filters.kih-filter-panel {
        left: auto !important;
        right: 0 !important;

        border-radius:
            18px 0 0 18px !important;

        box-shadow:
            -18px 0 45px
            rgba(0, 0, 0, .18) !important;

        transform:
            translateX(104%) !important;
    }

    body.kih-filter-drawer--right
    .kih-filter-panel.is-kih-filter-open,
    body.kih-filter-drawer--right
    .kih-filter-category-sidebar.is-kih-filter-open,
    body.kih-filter-drawer--right
    .kih-search-filters.kih-filter-panel.is-kih-filter-open {
        transform:
            translateX(0) !important;
    }
}


.kih-filter-location-card {
    padding: 14px 0;
    border-bottom: 1px solid #e1ebe4;
}

.kih-filter-location-card:last-of-type {
    border-bottom: 0;
}

.kih-filter-location-parts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    padding-top: 8px;
}


/* =========================================================
   FILTER v10.19 — neutral unavailable state
========================================================= */

.kih-filter-card-variants--catalog
.kih-filter-card-variant__stock::before,
.kih-filter-variants-modal
.kih-filter-card-variant__stock::before {
    background:
        var(
            --kih-catalog-variant-outstock-badge-text,
            #737b75
        ) !important;

    box-shadow:
        0 0 0 2px
        color-mix(
            in srgb,
            var(
                --kih-catalog-variant-outstock-badge-text,
                #737b75
            ) 10%,
            transparent
        ) !important;
}

.kih-filter-variants-modal
.kih-filter-card-variant__stock {
    background:
        var(
            --kih-catalog-variant-outstock-badge-bg,
            #eef0ee
        ) !important;

    color:
        var(
            --kih-catalog-variant-outstock-badge-text,
            #737b75
        ) !important;

    border-color:
        color-mix(
            in srgb,
            var(
                --kih-catalog-variant-outstock-badge-text,
                #737b75
            ) 22%,
            #ffffff
        ) !important;
}


/* =========================================================
   FILTER v10.20 — custom sorting picker
========================================================= */

.kih-filter-toolbar {
    position: relative;
    z-index: 30;
    overflow: visible;
}

.kih-filter-toolbar__right {
    position: relative;
    z-index: 31;
}

.kih-filter-sort {
    position: relative;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #647269;
}

.kih-filter-sort__caption {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 10px;
    white-space: nowrap;
    background: #eef8f1;
    border: 1px solid #d3e8d9;
    border-radius: 999px;
    color: #22683a;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.kih-filter-sort__native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.kih-filter-sort__picker {
    position: relative;
    min-width: 192px;
}

.kih-filter-sort__trigger {
    width: 100%;
    min-height: 42px;
    display: inline-flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 12px 7px 14px !important;
    background: #fff !important;
    border: 1px solid #d7e4da !important;
    border-radius: 13px !important;
    box-shadow: 0 2px 8px rgba(28, 74, 42, .035) !important;
    color: #263f2f !important;
    font: inherit !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    text-align: left;
    cursor: pointer;
    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        background .16s ease;
}

.kih-filter-sort__trigger:hover,
.kih-filter-sort.is-open .kih-filter-sort__trigger {
    background: #fbfdfb !important;
    border-color: #9fcfaf !important;
    box-shadow: 0 5px 16px rgba(28, 96, 49, .08) !important;
}

.kih-filter-sort__trigger svg {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    fill: none;
    stroke: #3d6e4d;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .16s ease;
}

.kih-filter-sort.is-open .kih-filter-sort__trigger svg {
    transform: rotate(180deg);
}

.kih-filter-sort__menu {
    position: absolute;
    z-index: 99960;
    top: calc(100% + 8px);
    right: 0;
    width: max(100%, 225px);
    max-height: min(420px, 62vh);
    overflow-y: auto;
    padding: 7px;
    background: #fff;
    border: 1px solid #d9e6dc;
    border-radius: 16px;
    box-shadow:
        0 18px 45px rgba(25, 58, 35, .16),
        0 4px 14px rgba(25, 58, 35, .07);
}

.kih-filter-sort__menu[hidden] {
    display: none !important;
}

.kih-filter-sort__menu button {
    width: 100%;
    min-height: 39px;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 10px !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    color: #33483a !important;
    font: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    cursor: pointer;
}

.kih-filter-sort__menu button:hover,
.kih-filter-sort__menu button:focus-visible {
    background: #f3f8f4 !important;
    color: #175f30 !important;
    outline: none;
}

.kih-filter-sort__menu button.is-active {
    background: #eaf6ed !important;
    color: #137332 !important;
    font-weight: 750 !important;
}

.kih-filter-sort__menu button svg {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 0;
}

.kih-filter-sort__menu button.is-active svg {
    opacity: 1;
}

@media (max-width: 900px) {

    .kih-filter-sort {
        width: 100%;
        justify-content: space-between;
    }

    .kih-filter-sort__picker {
        width: min(250px, 100%);
    }
}

@media (max-width: 520px) {

    .kih-filter-sort {
        align-items: stretch;
        flex-direction: column;
    }

    .kih-filter-sort__caption {
        align-self: flex-start;
    }

    .kih-filter-sort__picker {
        width: 100%;
        min-width: 0;
    }

    .kih-filter-sort__menu {
        left: 0;
        right: auto;
        width: 100%;
        min-width: 0;
    }
}


/* =========================================================
   FILTER v10.23 — price slider theme isolation
   ========================================================= */

body .kih-filter-panel
.kih-filter-price__slider
input[type="range"],
body .kih-filter-panel
.kih-filter-price__slider
input[type="range"]:hover,
body .kih-filter-panel
.kih-filter-price__slider
input[type="range"]:focus,
body .kih-filter-panel
.kih-filter-price__slider
input[type="range"]:active {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

body .kih-filter-panel
.kih-filter-price__slider
input[type="range"]::-webkit-slider-thumb,
body .kih-filter-panel
.kih-filter-price__slider
input[type="range"]:hover::-webkit-slider-thumb,
body .kih-filter-panel
.kih-filter-price__slider
input[type="range"]:focus::-webkit-slider-thumb,
body .kih-filter-panel
.kih-filter-price__slider
input[type="range"]:active::-webkit-slider-thumb {
    background:
        var(
            --kih-filter-accent,
            #239248
        ) !important;

    background-color:
        var(
            --kih-filter-accent,
            #239248
        ) !important;

    border:
        3px solid
        #fff !important;

    border-radius:
        50% !important;

    color:
        var(
            --kih-filter-accent,
            #239248
        ) !important;
}

body .kih-filter-panel
.kih-filter-price__slider
input[type="range"]::-moz-range-thumb,
body .kih-filter-panel
.kih-filter-price__slider
input[type="range"]:hover::-moz-range-thumb,
body .kih-filter-panel
.kih-filter-price__slider
input[type="range"]:focus::-moz-range-thumb,
body .kih-filter-panel
.kih-filter-price__slider
input[type="range"]:active::-moz-range-thumb {
    background:
        var(
            --kih-filter-accent,
            #239248
        ) !important;

    background-color:
        var(
            --kih-filter-accent,
            #239248
        ) !important;

    border:
        3px solid
        #fff !important;

    border-radius:
        50% !important;

    color:
        var(
            --kih-filter-accent,
            #239248
        ) !important;
}
