/* =========================================================
   KihCarpet — no legacy sale-label flash on Product Page
   2.16.69
========================================================= */
/*
 * Static fallback for the early wp_head guard in inc/storefront.php.
 * Keep the legacy sale label in DOM for storefront.js, but never paint it.
 */
html body.kih-storefront-visual.single-product .product .onsale:not(.kih-site-sale-badge--replacement),
html body.kih-storefront-visual.single-product .product .sale-badge:not(.kih-site-sale-badge--replacement),
html body.kih-storefront-visual.single-product .product .sale_badge:not(.kih-site-sale-badge--replacement),
html body.kih-storefront-visual.single-product .product .product-sale:not(.kih-site-sale-badge--replacement),
html body.kih-storefront-visual.single-product .product .product-sale-label:not(.kih-site-sale-badge--replacement),
html body.kih-storefront-visual.single-product .product .discount-badge:not(.kih-site-sale-badge--replacement) {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* =========================================================
   KihCarpet Storefront — controlled sale badge
   2.15.24
========================================================= */

/*
 * Keep Avanam / TemplateMela sale output in DOM for compatibility,
 * but hide only its visual badge after KihCarpet has created a replacement.
 */
html body .kih-site-sale-badge-source {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}


/*
 * Product card anchor for all KihCarpet badge variants.
 */
html body.kih-storefront-visual
.kih-sale-card {
    position: relative !important;
    overflow: visible !important;
}


/*
 * Important:
 * this node is created by KihCarpet itself, so it has no Avanam sale-label
 * classes. Theme-specific blue badge CSS cannot win against it.
 */
html body.kih-storefront-visual
.kih-sale-card
.kih-site-sale-badge--replacement {
    position: absolute !important;
    z-index: 999 !important;

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

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;

    padding:
        var(--kih-sale-pad-y, 7px)
        var(--kih-sale-pad-x, 12px)
        !important;

    border:
        var(--kih-sale-border-width, 1px)
        solid
        var(--kih-sale-border, #ffffff)
        !important;

    background:
        var(
            --kih-sale-bg-paint,
            var(--kih-sale-bg, #ef4056)
        )
        !important;

    color:
        var(--kih-sale-text, #ffffff)
        !important;

    font-family: inherit !important;
    font-size:
        var(--kih-sale-font-size, 12px)
        !important;
    font-style: normal !important;
    font-weight: 850 !important;

    line-height: 1 !important;
    letter-spacing: .015em !important;

    text-align: center !important;
    text-decoration: none !important;
    text-shadow: none !important;
    text-transform: none !important;

    box-shadow:
        var(--kih-sale-shadow, none)
        !important;

    box-sizing: border-box !important;

    opacity: 1 !important;
    visibility: visible !important;

    pointer-events: none !important;
}


/* =========================================================
   Capsule
========================================================= */

html body.kih-sale-badge--pill
.kih-sale-card
.kih-site-sale-badge--replacement {
    top: var(--kih-sale-top, 12px) !important;
    left: var(--kih-sale-side, 10px) !important;
    right: auto !important;

    border-radius: 999px !important;

    transform: none !important;
    clip-path: none !important;
}


/* =========================================================
   Ribbon — left
========================================================= */

html body.kih-sale-badge--ribbon_left
.kih-sale-card
.kih-site-sale-badge--replacement {
    top: var(--kih-sale-top, 12px) !important;
    left: var(--kih-sale-side, 0px) !important;
    right: auto !important;

    padding-right:
        calc(
            var(--kih-sale-pad-x, 12px)
            + 7px
        )
        !important;

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

    transform: none !important;

    clip-path:
        polygon(
            0 0,
            calc(100% - 8px) 0,
            100% 50%,
            calc(100% - 8px) 100%,
            0 100%
        )
        !important;
}


/* =========================================================
   Ribbon — right
========================================================= */

html body.kih-sale-badge--ribbon_right
.kih-sale-card
.kih-site-sale-badge--replacement {
    top: var(--kih-sale-top, 12px) !important;
    right: var(--kih-sale-side, 0px) !important;
    left: auto !important;

    padding-left:
        calc(
            var(--kih-sale-pad-x, 12px)
            + 7px
        )
        !important;

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

    transform: none !important;

    clip-path:
        polygon(
            8px 0,
            100% 0,
            100% 100%,
            8px 100%,
            0 50%
        )
        !important;
}


/* =========================================================
   Diagonal corner — left
========================================================= */

html body.kih-sale-badge--corner_left
.kih-sale-card
.kih-site-sale-badge--replacement {
    top:
        calc(
            var(--kih-sale-top, 12px)
            + 8px
        )
        !important;

    left: -34px !important;
    right: auto !important;

    width: 126px !important;

    border-radius: 0 !important;

    transform: rotate(-45deg) !important;
    transform-origin: center !important;

    clip-path: none !important;
}


/* =========================================================
   Diagonal corner — right
========================================================= */

html body.kih-sale-badge--corner_right
.kih-sale-card
.kih-site-sale-badge--replacement {
    top:
        calc(
            var(--kih-sale-top, 12px)
            + 8px
        )
        !important;

    right: -34px !important;
    left: auto !important;

    width: 126px !important;

    border-radius: 0 !important;

    transform: rotate(45deg) !important;
    transform-origin: center !important;

    clip-path: none !important;
}


/* =========================================================
   Full top band
========================================================= */

html body.kih-sale-badge--top_band
.kih-sale-card
.kih-site-sale-badge--replacement {
    top: var(--kih-sale-top, 0px) !important;
    left: 0 !important;
    right: 0 !important;

    width: 100% !important;

    border-radius: 0 !important;

    transform: none !important;
    clip-path: none !important;
}


@media (max-width: 620px) {

    html body.kih-storefront-visual
    .kih-sale-card
    .kih-site-sale-badge--replacement {
        font-size:
            max(
                9px,
                calc(
                    var(--kih-sale-font-size, 12px)
                    - 1px
                )
            )
            !important;
    }
}

/* =========================================================
   KihCarpet Product Variation UI — 2.15.28
========================================================= */

/*
 * Native WooCommerce select stays in DOM as the source of truth.
 * We hide it visually only after KihCarpet successfully builds the UI.
 */
body.kih-product-variation-ui
form.variations_form.kih-variation-ui-active
select.kih-native-variation-select {
    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;
}


/*
 * Visual swatches injected by WCBoost / other swatch plugins are hidden
 * only after our own control exists. Their plugin can remain active.
 */
body.kih-product-variation-ui
form.variations_form.kih-variation-ui-active
.kih-external-swatch-hidden {
    display: none !important;
}


body.kih-product-variation-ui
form.variations_form.kih-variation-ui-active
.kih-variation-option[hidden],
body.kih-product-variation-ui
form.variations_form.kih-variation-ui-active
.kih-variation-option.is-price-filter-hidden {
    display: none !important;
}


body.kih-product-variation-ui
form.variations_form.kih-variation-ui-active
table.variations {
    width: 100% !important;

    margin: 0 0 18px !important;

    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}


body.kih-product-variation-ui
form.variations_form.kih-variation-ui-active
table.variations tbody {
    display: grid;

    gap: 16px;
}


body.kih-product-variation-ui
form.variations_form.kih-variation-ui-active
tr.kih-variation-row {
    display: grid !important;

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

    align-items: start;

    gap: 16px;

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

    border: 0 !important;
}


body.kih-product-variation-ui
form.variations_form.kih-variation-ui-active
tr.kih-variation-row
> th.label {
    display: flex !important;
    align-items: baseline;
    flex-wrap: wrap;

    gap: 5px;

    width: auto !important;

    padding: 10px 0 0 !important;

    border: 0 !important;

    color: #25372b;

    text-align: left !important;
}


body.kih-product-variation-ui
form.variations_form.kih-variation-ui-active
tr.kih-variation-row
> th.label
label {
    margin: 0 !important;

    color: inherit !important;

    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}


.kih-variation-selected-value {
    color:
        var(
            --kih-var-accent,
            #1f9a4a
        );

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

    white-space: nowrap;
}


body.kih-product-variation-ui
form.variations_form.kih-variation-ui-active
tr.kih-variation-row
> td.value {
    position: relative;

    width: auto !important;

    padding: 0 !important;

    border: 0 !important;
}


.kih-variation-options {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;

    gap:
        var(
            --kih-var-gap,
            8px
        );

    width: 100%;
}


.kih-variation-option {
    position: relative;

    appearance: none;
    -webkit-appearance: none;

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

    min-height: 44px;

    padding: 9px 16px;

    border:
        1px solid
        var(
            --kih-var-border,
            #cfdcd3
        )
        !important;

    border-radius:
        var(
            --kih-var-radius,
            10px
        )
        !important;

    background: #ffffff !important;

    color: #526157 !important;

    box-shadow: none !important;

    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;

    text-decoration: none !important;
    text-shadow: none !important;
    text-transform: none !important;

    cursor: pointer;

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


.kih-variation-option:hover:not(.is-disabled) {
    border-color:
        color-mix(
            in srgb,
            var(--kih-var-accent, #1f9a4a) 55%,
            var(--kih-var-border, #cfdcd3)
        )
        !important;

    color:
        var(
            --kih-var-accent,
            #1f9a4a
        )
        !important;
}


.kih-variation-option:focus-visible {
    outline:
        3px solid
        color-mix(
            in srgb,
            var(--kih-var-accent, #1f9a4a) 22%,
            transparent
        ) !important;

    outline-offset: 2px;
}


.kih-variation-option.is-selected {
    border-color:
        var(
            --kih-var-accent,
            #1f9a4a
        )
        !important;

    background:
        var(
            --kih-var-selected-bg,
            #eaf7ee
        )
        !important;

    color:
        var(
            --kih-var-selected-text,
            #126532
        )
        !important;

    box-shadow:
        0 0 0 1px
        color-mix(
            in srgb,
            var(--kih-var-accent, #1f9a4a) 16%,
            transparent
        )
        !important;
}


.kih-variation-option.is-selected::after {
    content: "✓";

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

    width: 16px;
    height: 16px;

    margin-left: 7px;

    border-radius: 50%;

    background:
        var(
            --kih-var-accent,
            #1f9a4a
        );

    color: #ffffff;

    font-size: 9px;
    font-weight: 900;
    line-height: 1;
}


.kih-variation-option.is-disabled,
.kih-variation-option:disabled {
    border-style: dashed !important;

    background: #f7f8f7 !important;

    color: #a4ada7 !important;

    opacity: .62;

    cursor: not-allowed;
}


/* Soft cards — default KihCarpet */
body.kih-product-variation-ui--soft_cards
.kih-variation-option {
    background:
        linear-gradient(
            180deg,
            #ffffff,
            #fbfdfb
        )
        !important;

    box-shadow:
        0 4px 14px
        rgba(28, 77, 42, .045)
        !important;
}


body.kih-product-variation-ui--soft_cards
.kih-variation-option.is-selected {
    background:
        var(
            --kih-var-selected-bg,
            #eaf7ee
        )
        !important;

    box-shadow:
        0 5px 18px
        color-mix(
            in srgb,
            var(--kih-var-accent, #1f9a4a) 12%,
            transparent
        )
        !important;

    transform:
        translateY(-1px);
}


/* Outline */
body.kih-product-variation-ui--outline
.kih-variation-option {
    border-width: 1.5px !important;

    background: transparent !important;
}


body.kih-product-variation-ui--outline
.kih-variation-option.is-selected {
    background: #ffffff !important;

    box-shadow:
        inset 0 0 0 1px
        var(
            --kih-var-accent,
            #1f9a4a
        )
        !important;
}


/* Pills */
body.kih-product-variation-ui--pills
.kih-variation-option {
    min-height: 38px;

    padding: 8px 15px;

    border-radius: 999px !important;
}


body.kih-product-variation-ui--pills
.kih-variation-option.is-selected::after {
    width: 14px;
    height: 14px;

    margin-left: 6px;

    font-size: 8px;
}


/* Segments */
body.kih-product-variation-ui--segments
.kih-variation-options {
    gap: 0;

    padding: 3px;

    width: fit-content;
    max-width: 100%;

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

    border-radius:
        calc(
            var(--kih-var-radius, 10px)
            + 4px
        );

    background: #f4f8f5;
}


body.kih-product-variation-ui--segments
.kih-variation-option {
    min-height: 38px;

    margin: 0;

    border: 0 !important;
    border-radius:
        var(
            --kih-var-radius,
            10px
        )
        !important;

    background: transparent !important;

    box-shadow: none !important;
}


body.kih-product-variation-ui--segments
.kih-variation-option.is-selected {
    background: #ffffff !important;

    box-shadow:
        0 3px 11px
        rgba(24, 67, 36, .10)
        !important;
}


/* Equal width grid */
body.kih-product-variation-ui--equal
.kih-variation-options {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(
                min(118px, 100%),
                1fr
            )
        );
}


body.kih-product-variation-ui--equal
.kih-variation-option {
    width: 100%;
}


/* Reset link gets a small KihCarpet treatment too */
body.kih-product-variation-ui
form.variations_form.kih-variation-ui-active
.reset_variations {
    display: inline-flex !important;
    align-items: center;

    margin-top: 10px !important;

    color:
        var(
            --kih-var-accent,
            #1f9a4a
        )
        !important;

    font-size: 12px !important;
    font-weight: 750 !important;

    text-decoration: none !important;
}


@media (max-width: 767px) {

    body.kih-product-variation-ui
    form.variations_form.kih-variation-ui-active
    tr.kih-variation-row {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 8px;
    }


    body.kih-product-variation-ui
    form.variations_form.kih-variation-ui-active
    tr.kih-variation-row
    > th.label {
        padding-top: 0 !important;
    }


    .kih-variation-option {
        min-height: 42px;

        padding: 9px 13px;

        font-size: 12px !important;
    }


    body.kih-product-variation-ui--segments
    .kih-variation-options {
        width: 100%;
    }
}


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

    .kih-variation-option {
        transition: none !important;
    }
}

/* =========================================================
   KihCarpet Product Variation UI — 2.15.29
   No native flash + exact out-of-stock states
========================================================= */

/*
 * Critical anti-FOUC rule.
 *
 * In 2.15.28 native select was hidden only after JS added
 * .kih-variation-ui-active. That allowed WooCommerce's original selector
 * to flash for a fraction of a second. Body class is server-rendered, so
 * this rule applies before the first paint.
 */
body.kih-product-variation-ui
form.variations_form
select[name^="attribute_"] {
    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;
    visibility: hidden !important;

    pointer-events: none !important;
}


/*
 * Also suppress legacy swatch wrappers before our JS hydrates the row.
 * This prevents theme/plugin markup from flashing if it is still present
 * in cached HTML.
 */
body.kih-product-variation-ui
form.variations_form
.wcboost-variation-swatches,
body.kih-product-variation-ui
form.variations_form
.wcboost-variation-swatches-wrapper,
body.kih-product-variation-ui
form.variations_form
.variable-items-wrapper,
body.kih-product-variation-ui
form.variations_form
.variation-swatches,
body.kih-product-variation-ui
form.variations_form
.swatch-control,
body.kih-product-variation-ui
form.variations_form
.swatches-select {
    display: none !important;
}


/*
 * Tighter alignment: the old 118px+16px left column made choices look
 * detached from the attribute title on desktop.
 */
body.kih-product-variation-ui
form.variations_form.kih-variation-ui-active
tr.kih-variation-row {
    grid-template-columns:
        minmax(102px, 112px)
        minmax(0, 1fr);

    gap: 8px;
}


.kih-variation-option {
    flex-direction: column;

    gap: 2px;
}


.kih-variation-option__value {
    display: block;

    line-height: 1.15;
}


.kih-variation-option__stock {
    display: none;

    margin-top: 1px;

    color: #aaaead;

    font-size: 8.5px;
    font-weight: 700;
    line-height: 1.05;

    white-space: nowrap;
}


/*
 * Existing but unavailable variation:
 * keep the size visible for the customer, but intentionally quiet.
 */
.kih-variation-option.is-out-of-stock,
.kih-variation-option.is-out-of-stock:hover,
.kih-variation-option.is-out-of-stock:focus {
    border-color: #e1e4e2 !important;
    border-style: solid !important;

    background: #f6f7f6 !important;

    color: #a9aeaa !important;

    box-shadow: none !important;

    opacity: .58;

    transform: none !important;

    cursor: not-allowed;
}


.kih-variation-option.is-out-of-stock
.kih-variation-option__stock {
    display: block;
}


.kih-variation-option.is-out-of-stock::after {
    display: none !important;
}


body.kih-product-variation-ui--segments
.kih-variation-option.is-out-of-stock {
    background: #eef1ef !important;
}


body.kih-product-variation-ui--pills
.kih-variation-option.is-out-of-stock {
    padding-left: 13px;
    padding-right: 13px;
}


@media (max-width: 767px) {

    body.kih-product-variation-ui
    form.variations_form.kih-variation-ui-active
    tr.kih-variation-row {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 7px;
    }


    .kih-variation-option__stock {
        font-size: 8px;
    }
}

/* =========================================================
   Product Page copy + variation labels — 2.15.31
========================================================= */

/* Product title */
body.kih-product-page-visual.kih-product-title-styled
.summary
.product_title.entry-title,
body.kih-product-page-visual.kih-product-title-styled
.summary
h1.product_title {
    width: 100% !important;
    max-width: none !important;

    margin:
        0
        0
        var(--kih-product-title-margin, 12px)
        !important;

    padding: 0 !important;

    color:
        var(--kih-product-title-color, #17251b)
        !important;

    font-family: inherit !important;
    font-size:
        clamp(
            24px,
            2vw,
            var(--kih-product-title-size, 32px)
        )
        !important;
    font-weight:
        var(--kih-product-title-weight, 600)
        !important;
    line-height:
        var(--kih-product-title-line, 1.18)
        !important;

    letter-spacing: -.025em !important;

    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: normal !important;
    overflow-wrap: anywhere;

    text-wrap: balance;
}


/* Short description can be completely removed from visual flow. */
body.kih-product-page-visual.kih-product-short-description--hidden
.summary
.woocommerce-product-details__short-description {
    display: none !important;
}


body.kih-product-page-visual
.summary
.woocommerce-product-details__short-description {
    margin: 0 0 20px !important;

    color:
        var(--kih-product-desc-color, #667269)
        !important;

    font-size:
        var(--kih-product-desc-size, 13px)
        !important;
    line-height:
        var(--kih-product-desc-line, 1.6)
        !important;
}


body.kih-product-page-visual
.summary
.woocommerce-product-details__short-description
p:last-child {
    margin-bottom: 0 !important;
}


/* Variation attribute label — never clip or ellipsize. */
body.kih-product-page-visual
form.variations_form.kih-variation-ui-active
tr.kih-variation-row
> th.label,
body.kih-product-page-visual
form.variations_form.kih-variation-ui-active
tr.kih-variation-row
> th.label
label {
    max-width: none !important;

    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: normal !important;
    overflow-wrap: anywhere;
}


body.kih-product-page-visual
form.variations_form.kih-variation-ui-active
tr.kih-variation-row
> th.label
label {
    color:
        var(--kih-var-label-color, #203a29)
        !important;

    font-size:
        var(--kih-var-label-size, 13px)
        !important;
    font-weight:
        var(--kih-var-label-weight, 750)
        !important;

    letter-spacing: -.01em !important;
}


/*
 * Default: label above choices.
 * This gives long names like "Розмір килиму (м)" full width.
 */
body.kih-variation-label--above
form.variations_form.kih-variation-ui-active
tr.kih-variation-row {
    grid-template-columns:
        minmax(0, 1fr) !important;

    gap:
        var(--kih-var-label-gap, 8px)
        !important;
}


body.kih-variation-label--above
form.variations_form.kih-variation-ui-active
tr.kih-variation-row
> th.label {
    padding: 0 !important;
}


body.kih-variation-label--above
form.variations_form.kih-variation-ui-active
tr.kih-variation-row
> td.value {
    width: 100% !important;
}


/* Optional compact left layout from admin. */
body.kih-variation-label--left
form.variations_form.kih-variation-ui-active
tr.kih-variation-row {
    grid-template-columns:
        minmax(140px, 170px)
        minmax(0, 1fr)
        !important;

    gap:
        var(--kih-var-label-gap, 8px)
        !important;
}


body.kih-variation-label--left
form.variations_form.kih-variation-ui-active
tr.kih-variation-row
> th.label {
    padding-top: 9px !important;
}


@media (max-width: 767px) {

    body.kih-product-page-visual.kih-product-title-styled
    .summary
    .product_title.entry-title,
    body.kih-product-page-visual.kih-product-title-styled
    .summary
    h1.product_title {
        font-size:
            min(
                var(--kih-product-title-size, 32px),
                27px
            )
            !important;

        line-height:
            max(
                var(--kih-product-title-line, 1.18),
                1.16
            )
            !important;
    }


    body.kih-variation-label--left
    form.variations_form.kih-variation-ui-active
    tr.kih-variation-row {
        grid-template-columns:
            minmax(0, 1fr)
            !important;
    }


    body.kih-variation-label--left
    form.variations_form.kih-variation-ui-active
    tr.kih-variation-row
    > th.label {
        padding: 0 !important;
    }
}

/* =========================================================
   Product title + variation label polish — 2.15.32
========================================================= */

/*
 * Slightly calmer heading than 2.15.31:
 * the title stays prominent but no longer reads as extra-bold.
 */
body.kih-product-page-visual.kih-product-title-styled
.summary
.product_title.entry-title,
body.kih-product-page-visual.kih-product-title-styled
.summary
h1.product_title {
    font-weight:
        var(--kih-product-title-weight, 500)
        !important;

    letter-spacing:
        -.018em !important;
}


/*
 * Base variation label typography.
 */
body.kih-product-page-visual
form.variations_form.kih-variation-ui-active
tr.kih-variation-row
> th.label {
    align-items: center !important;
}


body.kih-product-page-visual
form.variations_form.kih-variation-ui-active
tr.kih-variation-row
> th.label
label {
    display: inline-flex !important;
    align-items: center !important;

    width: fit-content !important;
    max-width: 100% !important;

    margin: 0 !important;

    font-weight:
        var(--kih-var-label-weight, 600)
        !important;

    line-height: 1.25 !important;
}


/* Soft badge — default */
body.kih-variation-label-style--soft_badge
form.variations_form.kih-variation-ui-active
tr.kih-variation-row
> th.label
label {
    padding:
        var(--kih-var-label-pad-y, 5px)
        var(--kih-var-label-pad-x, 10px)
        !important;

    border:
        1px solid
        var(--kih-var-label-border, #cfe6d5)
        !important;

    border-radius:
        var(--kih-var-label-radius, 999px)
        !important;

    background:
        linear-gradient(
            180deg,
            color-mix(
                in srgb,
                var(--kih-var-label-bg, #eef8f1) 92%,
                #ffffff
            ),
            var(--kih-var-label-bg, #eef8f1)
        )
        !important;

    box-shadow:
        0 3px 12px
        rgba(30, 98, 50, .055)
        !important;
}


/* Small decorative dot makes the label feel intentional, not like raw text. */
body.kih-variation-label-style--soft_badge
form.variations_form.kih-variation-ui-active
tr.kih-variation-row
> th.label
label::before {
    content: "";

    flex: 0 0 auto;

    width: 6px;
    height: 6px;

    margin-right: 7px;

    border-radius: 50%;

    background:
        var(--kih-var-accent, #1f9a4a);

    box-shadow:
        0 0 0 3px
        color-mix(
            in srgb,
            var(--kih-var-accent, #1f9a4a) 12%,
            transparent
        );
}


/* Accent line — cleaner editorial variant. */
body.kih-variation-label-style--accent_line
form.variations_form.kih-variation-ui-active
tr.kih-variation-row
> th.label
label {
    padding:
        3px
        0
        3px
        10px
        !important;

    border-left:
        3px solid
        var(--kih-var-accent, #1f9a4a)
        !important;

    border-radius: 0 !important;

    background: transparent !important;
}


/* Plain keeps only typography. */
body.kih-variation-label-style--plain
form.variations_form.kih-variation-ui-active
tr.kih-variation-row
> th.label
label {
    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;

    box-shadow: none !important;
}

/* =========================================================
   Product purchase UI — 2.15.33
========================================================= */

/* ---------------- stock / availability ---------------- */

body.kih-product-page-visual.kih-product-stock-badge--styled
.summary
.stock,
body.kih-product-page-visual.kih-product-stock-badge--styled
.woocommerce-variation-availability
.stock {
    display: inline-flex !important;
    align-items: center !important;

    width: fit-content !important;
    max-width: 100% !important;

    margin: 8px 0 10px !important;
    padding:
        var(--kih-stock-pad-y, 5px)
        var(--kih-stock-pad-x, 10px)
        !important;

    border:
        1px solid
        var(--kih-stock-border, #cfe6d5)
        !important;

    border-radius:
        var(--kih-stock-radius, 999px)
        !important;

    background:
        linear-gradient(
            180deg,
            color-mix(
                in srgb,
                var(--kih-stock-bg, #eef8f1) 92%,
                #ffffff
            ),
            var(--kih-stock-bg, #eef8f1)
        )
        !important;

    color:
        var(--kih-stock-text, #1c743a)
        !important;

    box-shadow:
        0 3px 12px
        rgba(24, 108, 53, .055)
        !important;

    font-size:
        var(--kih-stock-font, 12px)
        !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;

    white-space: normal !important;
}


body.kih-product-page-visual.kih-product-stock-badge--styled
.summary
.stock::before,
body.kih-product-page-visual.kih-product-stock-badge--styled
.woocommerce-variation-availability
.stock::before {
    content: "";

    flex: 0 0 auto;

    width: 6px;
    height: 6px;

    margin-right: 7px;

    border-radius: 50%;

    background:
        var(--kih-stock-text, #1c743a);

    opacity: .8;
}


body.kih-product-page-visual.kih-product-stock-badge--styled
.summary
.stock.out-of-stock,
body.kih-product-page-visual.kih-product-stock-badge--styled
.woocommerce-variation-availability
.stock.out-of-stock {
    border-color: #ecd4d4 !important;
    background: #fff4f4 !important;
    color: #a43a3a !important;
}


/* ---------------- quantity: carpets + mats only ---------------- */

body.kih-product-quantity--styled.kih-product-family--carpet
.summary
form.cart
.quantity,
body.kih-product-quantity--styled.kih-product-family--mat
.summary
form.cart
.quantity {
    display: inline-grid !important;

    grid-template-columns:
        var(--kih-qty-height, 44px)
        minmax(42px, 48px)
        var(--kih-qty-height, 44px);

    align-items: stretch !important;

    width: fit-content !important;
    min-width: 0 !important;

    height:
        var(--kih-qty-height, 44px)
        !important;

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

    overflow: hidden !important;

    border:
        1px solid
        var(--kih-qty-border, #d5e2d9)
        !important;

    border-radius:
        var(--kih-qty-radius, 12px)
        !important;

    background:
        var(--kih-qty-bg, #ffffff)
        !important;

    box-shadow:
        0 4px 14px
        rgba(27, 76, 40, .055)
        !important;
}


body.kih-product-quantity--styled.kih-product-family--carpet
.summary
form.cart
.quantity
.minus,
body.kih-product-quantity--styled.kih-product-family--carpet
.summary
form.cart
.quantity
.plus,
body.kih-product-quantity--styled.kih-product-family--mat
.summary
form.cart
.quantity
.minus,
body.kih-product-quantity--styled.kih-product-family--mat
.summary
form.cart
.quantity
.plus {
    appearance: none !important;
    -webkit-appearance: none !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width:
        var(--kih-qty-height, 44px)
        !important;
    min-width:
        var(--kih-qty-height, 44px)
        !important;
    height:
        var(--kih-qty-height, 44px)
        !important;

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

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

    background: transparent !important;

    color:
        var(--kih-qty-text, #203127)
        !important;

    box-shadow: none !important;

    font-family: inherit !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    cursor: pointer;

    transition:
        background .15s ease,
        color .15s ease;
}


body.kih-product-quantity--styled.kih-product-family--carpet
.summary
form.cart
.quantity
.minus:hover,
body.kih-product-quantity--styled.kih-product-family--carpet
.summary
form.cart
.quantity
.plus:hover,
body.kih-product-quantity--styled.kih-product-family--mat
.summary
form.cart
.quantity
.minus:hover,
body.kih-product-quantity--styled.kih-product-family--mat
.summary
form.cart
.quantity
.plus:hover {
    background:
        color-mix(
            in srgb,
            var(--kih-qty-accent, #1f9a4a) 9%,
            transparent
        )
        !important;

    color:
        var(--kih-qty-accent, #1f9a4a)
        !important;
}


body.kih-product-quantity--styled.kih-product-family--carpet
.summary
form.cart
.quantity
.qty,
body.kih-product-quantity--styled.kih-product-family--mat
.summary
form.cart
.quantity
.qty {
    appearance: textfield !important;
    -moz-appearance: textfield !important;

    width: 100% !important;
    min-width: 0 !important;
    height:
        var(--kih-qty-height, 44px)
        !important;

    margin: 0 !important;
    padding: 0 4px !important;

    border: 0 !important;
    border-right:
        1px solid
        var(--kih-qty-border, #d5e2d9)
        !important;
    border-left:
        1px solid
        var(--kih-qty-border, #d5e2d9)
        !important;

    border-radius: 0 !important;

    background: transparent !important;

    color:
        var(--kih-qty-text, #203127)
        !important;

    box-shadow: none !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height:
        var(--kih-qty-height, 44px)
        !important;

    text-align: center !important;
}


body.kih-product-quantity--styled.kih-product-family--carpet
.summary
form.cart
.quantity
.qty::-webkit-inner-spin-button,
body.kih-product-quantity--styled.kih-product-family--carpet
.summary
form.cart
.quantity
.qty::-webkit-outer-spin-button,
body.kih-product-quantity--styled.kih-product-family--mat
.summary
form.cart
.quantity
.qty::-webkit-inner-spin-button,
body.kih-product-quantity--styled.kih-product-family--mat
.summary
form.cart
.quantity
.qty::-webkit-outer-spin-button {
    margin: 0 !important;

    -webkit-appearance: none !important;
}


/* ---------------- compact purchase row ---------------- */

body.kih-product-page-visual.kih-product-family--carpet
.summary
form.cart
.woocommerce-variation-add-to-cart,
body.kih-product-page-visual.kih-product-family--mat
.summary
form.cart
.woocommerce-variation-add-to-cart,
body.kih-product-page-visual.kih-product-family--carpet
.summary
form.cart:not(.variations_form),
body.kih-product-page-visual.kih-product-family--mat
.summary
form.cart:not(.variations_form) {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;

    gap: 12px !important;

    width: 100% !important;
}


/* ---------------- Add to Cart: carpets + mats only ---------------- */

body.kih-product-cart-button--styled.kih-product-family--carpet
.summary
form.cart
.single_add_to_cart_button,
body.kih-product-cart-button--styled.kih-product-family--mat
.summary
form.cart
.single_add_to_cart_button {
    flex:
        0 0
        var(--kih-buy-width, 260px)
        !important;

    width:
        var(--kih-buy-width, 260px)
        !important;
    min-width:
        min(
            var(--kih-buy-width, 260px),
            100%
        )
        !important;
    max-width: 100% !important;

    height:
        var(--kih-buy-height, 46px)
        !important;
    min-height:
        var(--kih-buy-height, 46px)
        !important;

    margin: 0 !important;
    padding: 0 20px !important;

    border: 0 !important;
    border-radius:
        var(--kih-buy-radius, 10px)
        !important;

    background:
        var(--kih-buy-bg, #1f9a4a)
        !important;

    color:
        var(--kih-buy-text, #ffffff)
        !important;

    box-shadow:
        0 7px 18px
        color-mix(
            in srgb,
            var(--kih-buy-bg, #1f9a4a) 18%,
            transparent
        )
        !important;

    font-family: inherit !important;
    font-size:
        var(--kih-buy-font, 13px)
        !important;
    font-weight: 800 !important;
    line-height: 1 !important;

    letter-spacing: .01em !important;

    text-align: center !important;
    text-transform: uppercase !important;
    text-shadow: none !important;

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


body.kih-product-cart-button--styled.kih-product-family--carpet
.summary
form.cart
.single_add_to_cart_button:hover,
body.kih-product-cart-button--styled.kih-product-family--mat
.summary
form.cart
.single_add_to_cart_button:hover {
    background:
        var(--kih-buy-hover, #17823e)
        !important;

    box-shadow:
        0 9px 22px
        color-mix(
            in srgb,
            var(--kih-buy-hover, #17823e) 22%,
            transparent
        )
        !important;

    transform:
        translateY(-1px);
}


body.kih-product-cart-button--styled.kih-product-family--carpet
.summary
form.cart
.single_add_to_cart_button:active,
body.kih-product-cart-button--styled.kih-product-family--mat
.summary
form.cart
.single_add_to_cart_button:active {
    transform:
        translateY(0);
}


@media (max-width: 620px) {

    body.kih-product-page-visual.kih-product-family--carpet
    .summary
    form.cart
    .woocommerce-variation-add-to-cart,
    body.kih-product-page-visual.kih-product-family--mat
    .summary
    form.cart
    .woocommerce-variation-add-to-cart {
        align-items: stretch !important;
    }


    body.kih-product-cart-button--styled.kih-product-family--carpet
    .summary
    form.cart
    .single_add_to_cart_button,
    body.kih-product-cart-button--styled.kih-product-family--mat
    .summary
    form.cart
    .single_add_to_cart_button {
        flex: 1 1 190px !important;

        width: auto !important;
        min-width: 190px !important;
    }
}

/* =========================================================
   Product benefits cards — 2.15.34
========================================================= */

body.kih-product-benefits--styled
.summary
.kih-product-benefits {
    display: grid;
    gap: var(--kih-benefits-gap, 12px);

    margin: 14px 0 18px;
}


body.kih-product-benefits--styled
.summary
.kih-product-benefits__item {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 14px;
    align-items: center;

    padding: 16px 18px;

    border: 1px solid var(--kih-benefits-border, #dfeae2);
    border-radius: var(--kih-benefits-radius, 16px);

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

    box-shadow: 0 6px 18px rgba(29, 77, 42, .05);
}


body.kih-product-benefits--styled
.summary
.kih-product-benefits__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 54px;
    height: 54px;

    border-radius: 14px;

    background: var(--kih-benefits-icon-bg, #eef8f1);
    color: var(--kih-benefits-icon-color, #1f9a4a);
}


body.kih-product-benefits--styled
.summary
.kih-product-benefits__icon
svg {
    width: 24px;
    height: 24px;
    display: block;
}


body.kih-product-benefits--styled
.summary
.kih-product-benefits__content
h4 {
    margin: 0 0 4px !important;

    color: var(--kih-benefits-title, #203127) !important;

    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}


body.kih-product-benefits--styled
.summary
.kih-product-benefits__content
p {
    margin: 0 !important;

    color: var(--kih-benefits-text, #69776f) !important;

    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}


/* generic hiding hook for leftover Avanam product widgets */
body.single-product
.summary
.kih-theme-benefit-hidden {
    display: none !important;
}


/* =========================================================
   Product after-buy layout + one-click — 2.15.35
========================================================= */

body.single-product
.summary
.kih-product-afterbuy {
    display: grid;
    grid-template-columns: minmax(230px, .88fr) minmax(300px, 1.12fr);
    gap: 18px;
    align-items: start;

    margin: 18px 0 18px;
}


body.single-product
.summary
.kih-product-afterbuy--benefits-only {
    grid-template-columns: minmax(0, 1fr);
}


body.kih-product-benefits--styled
.summary
.kih-product-afterbuy
.kih-product-benefits {
    margin: 0 !important;
}


body.kih-product-benefits--styled
.summary
.kih-product-afterbuy
.kih-product-benefits__item {
    grid-template-columns: 46px minmax(0, 1fr);

    min-height: 82px;

    padding: 12px 14px;
}


body.kih-product-benefits--styled
.summary
.kih-product-afterbuy
.kih-product-benefits__icon {
    width: 46px;
    height: 46px;

    border-radius: 12px;
}


body.kih-product-benefits--styled
.summary
.kih-product-afterbuy
.kih-product-benefits__icon
svg {
    width: 22px;
    height: 22px;
}


body.kih-product-benefits--styled
.summary
.kih-product-afterbuy
.kih-product-benefits__content
h4 {
    font-size: 16px !important;
}


body.kih-product-benefits--styled
.summary
.kih-product-afterbuy
.kih-product-benefits__content
p {
    font-size: 12px !important;
    line-height: 1.42 !important;
}


/* One click card */
body.single-product
.summary
.kih-one-click-card {
    padding: 17px;

    border:
        1px solid
        var(--kih-one-click-border, #dfeae2);

    border-radius:
        var(--kih-one-click-radius, 16px);

    background:
        var(--kih-one-click-bg, #ffffff);

    box-shadow:
        0 6px 18px
        rgba(29, 77, 42, .05);
}


body.single-product
.summary
.kih-one-click-card__head {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}


body.single-product
.summary
.kih-one-click-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    border-radius: 12px;

    background:
        color-mix(
            in srgb,
            var(--kih-one-click-accent, #1f9a4a) 9%,
            #ffffff
        );

    color:
        var(--kih-one-click-accent, #1f9a4a);
}


body.single-product
.summary
.kih-one-click-card__icon
svg {
    width: 22px;
    height: 22px;
}


body.single-product
.summary
.kih-one-click-card__head
h3 {
    margin: 1px 0 5px !important;

    color: #203127 !important;

    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}


body.single-product
.summary
.kih-one-click-card__head
p {
    margin: 0 !important;

    color: #69776f !important;

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


body.single-product
.summary
.kih-one-click-form {
    margin-top: 16px;
}


body.single-product
.summary
.kih-one-click-form__label {
    display: block;

    margin: 0 0 6px;

    color: #405047;

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


body.single-product
.summary
.kih-one-click-form__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}


body.single-product
.summary
.kih-one-click-form__phone {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;

    margin: 0 !important;
    padding: 0 12px !important;

    border:
        1px solid
        var(--kih-one-click-border, #dfeae2)
        !important;

    border-radius: 10px !important;

    background: #ffffff !important;

    color: #243229 !important;

    box-shadow: none !important;

    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}


body.single-product
.summary
.kih-one-click-form__phone:focus {
    border-color:
        var(--kih-one-click-accent, #1f9a4a)
        !important;

    outline:
        3px solid
        color-mix(
            in srgb,
            var(--kih-one-click-accent, #1f9a4a) 12%,
            transparent
        )
        !important;

    outline-offset: 1px;
}


body.single-product
.summary
.kih-one-click-form__submit {
    min-width: 96px;
    height: 42px;

    padding: 0 16px;

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

    background:
        var(--kih-one-click-accent, #1f9a4a)
        !important;

    color:
        var(--kih-one-click-button-text, #ffffff)
        !important;

    box-shadow:
        0 6px 16px
        color-mix(
            in srgb,
            var(--kih-one-click-accent, #1f9a4a) 17%,
            transparent
        )
        !important;

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

    cursor: pointer;

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


body.single-product
.summary
.kih-one-click-form__submit:hover {
    transform: translateY(-1px);
}


body.single-product
.summary
.kih-one-click-form__submit:disabled {
    opacity: .58;
    cursor: wait;
    transform: none;
}


body.single-product
.summary
.kih-one-click-form__message {
    min-height: 0;

    margin-top: 9px;

    font-size: 11px;
    font-weight: 650;
    line-height: 1.4;
}


body.single-product
.summary
.kih-one-click-form__message.is-error {
    color: #b43a3a;
}


body.single-product
.summary
.kih-one-click-form__message.is-success {
    color: #18733a;
}


body.single-product
.summary
.kih-one-click-form__honeypot {
    position: absolute !important;

    left: -99999px !important;

    width: 1px !important;
    height: 1px !important;

    opacity: 0 !important;
    pointer-events: none !important;
}


/*
 * Common Avanam / TemplateMela product-info class names.
 * JS below additionally removes text-matched leftovers.
 */
body.single-product
.kih-product-page-visual
.product
.tm-product-payment,
body.single-product
.kih-product-page-visual
.product
.product-payment-info,
body.single-product
.kih-product-page-visual
.product
.safe-payment,
body.single-product
.kih-product-page-visual
.product
.secure-payment,
body.single-product
.kih-product-page-visual
.product
.safe-checkout,
body.single-product
.kih-product-page-visual
.product
.woocommerce-product-payment {
    display: none !important;
}


@media (max-width: 760px) {

    body.single-product
    .summary
    .kih-product-afterbuy {
        grid-template-columns: minmax(0, 1fr);
    }


    body.single-product
    .summary
    .kih-one-click-form__row {
        grid-template-columns: minmax(0, 1fr);
    }


    body.single-product
    .summary
    .kih-one-click-form__submit {
        width: 100%;
    }
}


/* =========================================================
   After-buy polish — 2.15.36
========================================================= */

body.single-product
.summary
.kih-product-afterbuy {
    margin-top: 22px;
}


body.single-product
.summary
.kih-product-afterbuy--split {
    display: grid;

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

    gap: 24px;

    align-items: stretch;
}


body.single-product
.summary
.kih-product-afterbuy--one-click-only,
body.single-product
.summary
.kih-product-afterbuy--benefits-only {
    display: grid;

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


body.single-product
.summary
.kih-product-afterbuy__divider {
    position: relative;

    width: 1px;
    min-height: 100%;

    align-self: stretch;

    background:
        linear-gradient(
            180deg,
            transparent 0%,
            var(--kih-benefits-border, #dfeae2) 14%,
            var(--kih-benefits-border, #dfeae2) 86%,
            transparent 100%
        );
}


body.single-product
.summary
.kih-product-afterbuy__divider
span {
    position: absolute;
    top: 50%;
    left: 50%;

    width: 9px;
    height: 9px;

    border:
        2px solid
        var(--kih-one-click-bg, #ffffff);

    border-radius: 50%;

    background:
        var(--kih-one-click-accent, #1f9a4a);

    box-shadow:
        0 0 0 4px
        color-mix(
            in srgb,
            var(--kih-one-click-accent, #1f9a4a) 10%,
            transparent
        );

    transform:
        translate(-50%, -50%);
}


/* one-click: wider visually, more breathing room */
body.single-product
.summary
.kih-one-click-card {
    position: relative;

    min-width: 0;
    height: 100%;

    padding: 21px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 0 0,
            color-mix(
                in srgb,
                var(--kih-one-click-accent, #1f9a4a) 6%,
                transparent
            ),
            transparent 44%
        ),
        var(--kih-one-click-bg, #ffffff);
}


body.single-product
.summary
.kih-one-click-card::before {
    content: "";

    position: absolute;
    top: 0;
    left: 20px;
    right: 20px;

    height: 3px;

    border-radius: 0 0 999px 999px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--kih-one-click-accent, #1f9a4a),
            transparent
        );

    opacity: .48;
}


body.single-product
.summary
.kih-one-click-card__head {
    grid-template-columns:
        50px
        minmax(0, 1fr);

    gap: 15px;
}


body.single-product
.summary
.kih-one-click-card__icon {
    width: 50px;
    height: 50px;

    border-radius: 14px;
}


body.single-product
.summary
.kih-one-click-card__head
h3 {
    font-size: 18px !important;
}


body.single-product
.summary
.kih-one-click-card__head
p {
    max-width: 34em;

    font-size: 12.5px !important;
    line-height: 1.48 !important;
}


body.single-product
.summary
.kih-one-click-form {
    margin-top: 20px;
}


body.single-product
.summary
.kih-one-click-form__row {
    grid-template-columns:
        minmax(0, 1fr)
        108px;

    gap: 10px;
}


/* payment / delivery / warranty: move icon further from the text */
body.kih-product-benefits--styled
.summary
.kih-product-afterbuy
.kih-product-benefits {
    display: grid;

    gap:
        max(
            var(--kih-benefits-gap, 12px),
            14px
        );

    align-content: start;
}


body.kih-product-benefits--styled
.summary
.kih-product-afterbuy
.kih-product-benefits__item {
    grid-template-columns:
        52px
        minmax(0, 1fr);

    gap: 19px;

    min-height: 88px;

    padding: 15px 17px;

    box-shadow:
        0 5px 16px
        rgba(29, 77, 42, .042);
}


body.kih-product-benefits--styled
.summary
.kih-product-afterbuy
.kih-product-benefits__icon {
    width: 52px;
    height: 52px;

    border-radius: 14px;
}


body.kih-product-benefits--styled
.summary
.kih-product-afterbuy
.kih-product-benefits__content {
    min-width: 0;

    padding-right: 4px;
}


body.kih-product-benefits--styled
.summary
.kih-product-afterbuy
.kih-product-benefits__content
h4 {
    margin-bottom: 5px !important;
}


@media (max-width: 900px) {

    body.single-product
    .summary
    .kih-product-afterbuy--split {
        grid-template-columns:
            minmax(0, 1fr);

        gap: 16px;
    }


    body.single-product
    .summary
    .kih-product-afterbuy__divider {
        width: 100%;
        min-height: 1px;
        height: 1px;

        background:
            linear-gradient(
                90deg,
                transparent 0%,
                var(--kih-benefits-border, #dfeae2) 15%,
                var(--kih-benefits-border, #dfeae2) 85%,
                transparent 100%
            );
    }
}


@media (max-width: 520px) {

    body.single-product
    .summary
    .kih-one-click-card {
        padding: 16px;
    }


    body.single-product
    .summary
    .kih-one-click-form__row {
        grid-template-columns:
            minmax(0, 1fr);
    }
}


/* =========================================================
   Variation price + dynamic benefit icons — 2.15.37
========================================================= */

/*
 * WooCommerce inserts a second price inside .single_variation after
 * matching a variation. KihCarpet now mirrors that price into the
 * primary Product Page price, so the inline duplicate stays hidden.
 */
body.single-product.kih-product-variation-ui
.summary
form.variations_form
.woocommerce-variation-price {
    display: none !important;
}


body.kih-product-benefits--styled
.summary
.kih-product-benefits__icon--image {
    padding: 0 !important;

    overflow: hidden;

    background:
        var(--kih-benefits-icon-bg, #eef8f1);
}


body.kih-product-benefits--styled
.summary
.kih-product-benefits__icon--image
img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    border-radius: inherit;
}


/* =========================================================
   Lightweight Product Gallery — 2.15.38
========================================================= */

body.kih-product-gallery--custom
.woocommerce-product-gallery {
    position: relative;
    width: 100% !important;
    overflow: visible !important;
}


/* No-JS first paint: one native image only, never a vertical stack. */
body.kih-product-gallery--custom
.woocommerce-product-gallery
.woocommerce-product-gallery__wrapper
> .woocommerce-product-gallery__image:not(:first-child) {
    display: none !important;
}


body.kih-product-gallery--custom
.woocommerce-product-gallery
.woocommerce-product-gallery__trigger,
body.kih-product-gallery--custom
.woocommerce-product-gallery
.flex-direction-nav,
body.kih-product-gallery--custom
.woocommerce-product-gallery
.flex-control-nav {
    display: none !important;
}


body.kih-product-gallery--custom
.woocommerce-product-gallery.kih-gallery-ready
.woocommerce-product-gallery__wrapper {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}


.kih-gallery-shell {
    display: grid;
    gap: 10px;
    width: 100%;
}


.kih-gallery-viewer {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    aspect-ratio: var(--kih-gallery-ratio, 1 / 1);

    overflow: hidden;

    border-radius: var(--kih-gallery-radius, 14px);

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

    isolation: isolate;
    touch-action: pan-y;
}


.kih-gallery-stage {
    position: absolute;
    inset: 0;

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

    overflow: hidden;

    cursor: zoom-in;
}


.kih-gallery-main-image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;

    transform: scale(1);
    transform-origin: 50% 50%;

    transition: transform .18s ease;

    user-select: none;
    -webkit-user-drag: none;
}


.kih-gallery-viewer.is-hover-zoomed
.kih-gallery-main-image {
    transform: scale(1.42);
    transition-duration: .08s;
}


.kih-gallery-action,
.kih-gallery-arrow {
    position: absolute;
    z-index: 4;

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

    padding: 0;

    border: 1px solid rgba(18, 56, 29, .12);

    background: rgba(255, 255, 255, .94);
    color: #173720;

    box-shadow: 0 5px 18px rgba(22, 58, 31, .10);

    backdrop-filter: blur(8px);

    cursor: pointer;

    transition:
        background .15s ease,
        transform .15s ease,
        opacity .15s ease;
}


.kih-gallery-action:hover,
.kih-gallery-arrow:hover {
    background: #ffffff;
}


.kih-gallery-action {
    top: 12px;
    right: 12px;

    width: 42px;
    height: 42px;

    border-radius: 50%;
}


.kih-gallery-action svg,
.kih-gallery-arrow svg,
.kih-lightbox-button svg,
.kih-gallery-lightbox__nav svg {
    display: block;
    width: 20px;
    height: 20px;
}


.kih-gallery-arrow {
    top: 50%;

    width: 38px;
    height: 52px;

    margin-top: -26px;

    border-radius: 12px;

    opacity: 0;
}


.kih-gallery-viewer:hover
.kih-gallery-arrow,
.kih-gallery-viewer:focus-within
.kih-gallery-arrow {
    opacity: 1;
}


.kih-gallery-arrow--prev {
    left: 12px;
}


.kih-gallery-arrow--next {
    right: 12px;
}


.kih-gallery-arrow[hidden],
.kih-gallery-action[hidden] {
    display: none !important;
}


.kih-gallery-thumbs {
    display: flex;

    gap: 8px;

    width: 100%;

    padding: 2px 1px 4px;

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

    scrollbar-width: thin;

    scroll-snap-type: x proximity;
    overscroll-behavior-inline: contain;
}


.kih-gallery-thumbs[hidden] {
    display: none !important;
}


.kih-gallery-thumb {
    flex: 0 0 var(--kih-gallery-thumb-size, 68px);

    width: var(--kih-gallery-thumb-size, 68px);
    height: var(--kih-gallery-thumb-size, 68px);

    padding: 3px;

    overflow: hidden;

    border: 1px solid #dce7df;
    border-radius: 10px;

    background: #ffffff;

    opacity: .76;

    cursor: pointer;

    scroll-snap-align: center;

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


.kih-gallery-thumb:hover {
    opacity: 1;
    transform: translateY(-1px);
}


.kih-gallery-thumb.is-active {
    border-color: #1f9a4a;

    box-shadow: 0 0 0 2px rgba(31, 154, 74, .12);

    opacity: 1;
}


.kih-gallery-thumb img {
    display: block;

    width: 100%;
    height: 100%;

    border-radius: 7px;

    object-fit: cover;

    user-select: none;
    -webkit-user-drag: none;
}


@media (min-width: 821px) {

    body.kih-product-gallery-thumbs--left
    .kih-gallery-shell {
        grid-template-columns:
            var(--kih-gallery-thumb-size, 68px)
            minmax(0, 1fr);

        align-items: start;
    }


    body.kih-product-gallery-thumbs--left
    .kih-gallery-viewer {
        grid-column: 2;
        grid-row: 1;
    }


    body.kih-product-gallery-thumbs--left
    .kih-gallery-thumbs {
        grid-column: 1;
        grid-row: 1;

        flex-direction: column;

        max-height: min(680px, 78vh);

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

        scroll-snap-type: y proximity;
    }
}


/* ========================= fullscreen ========================= */

.kih-gallery-lightbox {
    position: fixed;
    z-index: 2147483000;
    inset: 0;

    display: none;

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

    background:
        color-mix(
            in srgb,
            var(--kih-gallery-lightbox-bg, #07140d) 96%,
            #000000
        );

    color: #ffffff;

    opacity: 0;

    transition: opacity .16s ease;
}


.kih-gallery-lightbox.is-open {
    display: grid;
}


.kih-gallery-lightbox.is-visible {
    opacity: 1;
}


html.kih-gallery-lightbox-open,
body.kih-gallery-lightbox-open {
    overflow: hidden !important;
    overscroll-behavior: none;
}


.kih-gallery-lightbox__topbar {
    position: relative;
    z-index: 5;

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

    gap: 12px;

    min-height: 62px;

    padding:
        max(10px, env(safe-area-inset-top))
        max(12px, env(safe-area-inset-right))
        10px
        max(12px, env(safe-area-inset-left));

    border-bottom: 1px solid rgba(255, 255, 255, .09);

    background: rgba(0, 0, 0, .14);

    backdrop-filter: blur(10px);
}


.kih-gallery-lightbox__counter {
    min-width: 58px;

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

    text-align: center;

    opacity: .86;
}


.kih-gallery-lightbox__toolbar {
    display: flex;
    align-items: center;
    gap: 7px;
}


.kih-lightbox-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    padding: 0;

    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 12px;

    background: rgba(255, 255, 255, .08);
    color: #ffffff;

    cursor: pointer;
}


.kih-lightbox-button:hover {
    background: rgba(255, 255, 255, .14);
}


.kih-gallery-lightbox__viewport {
    position: relative;

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

    min-width: 0;
    min-height: 0;

    overflow: hidden;

    touch-action: none;

    cursor: grab;
}


.kih-gallery-lightbox__viewport.is-dragging {
    cursor: grabbing;
}


.kih-gallery-lightbox__image {
    display: block;

    max-width: 92vw;
    max-height: calc(100vh - 150px);

    width: auto;
    height: auto;

    object-fit: contain;

    transform:
        translate3d(
            var(--kih-lb-x, 0px),
            var(--kih-lb-y, 0px),
            0
        )
        scale(
            var(--kih-lb-scale, 1)
        );

    transform-origin: center center;

    user-select: none;
    -webkit-user-drag: none;

    will-change: transform;
}


.kih-gallery-lightbox__nav {
    position: absolute;
    z-index: 4;

    top: 50%;

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

    width: 48px;
    height: 62px;

    margin-top: -31px;
    padding: 0;

    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 14px;

    background: rgba(0, 0, 0, .26);
    color: #ffffff;

    cursor: pointer;

    backdrop-filter: blur(7px);
}


.kih-gallery-lightbox__nav--prev {
    left: max(12px, env(safe-area-inset-left));
}


.kih-gallery-lightbox__nav--next {
    right: max(12px, env(safe-area-inset-right));
}


.kih-gallery-lightbox__nav[hidden] {
    display: none !important;
}


.kih-gallery-lightbox__hint {
    min-height: 42px;

    padding:
        8px
        14px
        max(8px, env(safe-area-inset-bottom));

    color: rgba(255, 255, 255, .66);

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

    text-align: center;
}


@media (max-width: 820px) {

    .kih-gallery-viewer {
        border-radius:
            min(
                var(--kih-gallery-radius, 14px),
                12px
            );

        touch-action: pan-y;
    }


    .kih-gallery-arrow {
        display: none !important;
    }


    .kih-gallery-action {
        top: 9px;
        right: 9px;

        width: 40px;
        height: 40px;
    }


    .kih-gallery-thumb {
        flex-basis:
            min(
                var(--kih-gallery-thumb-size, 68px),
                64px
            );

        width:
            min(
                var(--kih-gallery-thumb-size, 68px),
                64px
            );

        height:
            min(
                var(--kih-gallery-thumb-size, 68px),
                64px
            );
    }


    .kih-gallery-lightbox__nav {
        display: none;
    }


    .kih-gallery-lightbox__image {
        max-width: 100vw;
        max-height: calc(100vh - 126px);
    }


    .kih-gallery-lightbox__hint {
        font-size: 10px;
    }
}


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

    .kih-gallery-main-image,
    .kih-gallery-lightbox,
    .kih-gallery-thumb,
    .kih-gallery-action,
    .kih-gallery-arrow {
        transition: none !important;
    }
}


/* =========================================================
   Gallery sizing correction — 2.15.39
========================================================= */

/*
 * Avanam / TemplateMela / WooCommerce may target every image inside
 * `.images` with stronger selectors (height:auto, width:auto, etc.).
 * Our generated main image must own its box completely.
 */
body.single-product.kih-product-gallery--custom
.woocommerce-product-gallery
.kih-gallery-viewer {
    width: 100% !important;

    aspect-ratio:
        var(
            --kih-gallery-ratio,
            1 / 1
        )
        !important;

    min-height: 0 !important;
}


body.single-product.kih-product-gallery--custom
.woocommerce-product-gallery
.kih-gallery-stage {
    width: 100% !important;
    height: 100% !important;
}


body.single-product.kih-product-gallery--custom
.woocommerce-product-gallery
img.kih-gallery-main-image {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    min-width: 100% !important;
    min-height: 100% !important;

    max-width: none !important;
    max-height: none !important;

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

    object-fit:
        var(
            --kih-gallery-fit,
            contain
        )
        !important;

    object-position:
        center center
        !important;
}


/*
 * Desktop: allow the gallery to use the whole left product column.
 * The stable frame removes the large empty zone that appeared when a
 * thumbnail-sized secondary source was selected.
 */
@media (min-width: 821px) {

    body.single-product.kih-product-gallery--custom
    .woocommerce-product-gallery
    .kih-gallery-shell {
        width: 100% !important;

        max-width: none !important;
    }


    body.single-product.kih-product-gallery--custom
    .woocommerce-product-gallery
    .kih-gallery-viewer {
        width: 100% !important;

        max-width: none !important;
    }
}


/* Mobile stays dense; no forced desktop-style whitespace. */
@media (max-width: 820px) {

    body.single-product.kih-product-gallery--custom
    .woocommerce-product-gallery
    .kih-gallery-viewer {
        width: 100% !important;
    }
}


/* =========================================================
   Product gallery desktop layout correction — 2.15.40
========================================================= */

/*
 * Avanam / TemplateMela lets the image column shrink to its content in
 * some gallery modes. When thumbnails are moved left the original
 * WooCommerce wrapper is visually hidden, so the column can collapse
 * down to the width of the thumbnail rail.
 *
 * KihCarpet now explicitly owns the two desktop Product Page columns.
 */
@media (min-width: 1024px) {

    body.single-product.kih-product-gallery--custom
    div.product
    > .woocommerce-product-gallery {
        display: block !important;

        float: left !important;
        clear: none !important;

        width:
            var(
                --kih-gallery-desktop-width,
                52%
            )
            !important;

        min-width: 0 !important;
        max-width: none !important;

        margin:
            0
            var(
                --kih-gallery-desktop-gap,
                34px
            )
            34px
            0
            !important;
    }


    body.single-product.kih-product-gallery--custom
    div.product
    > .summary {
        display: block !important;

        float: right !important;
        clear: none !important;

        width:
            calc(
                100%
                -
                var(
                    --kih-gallery-desktop-width,
                    52%
                )
                -
                var(
                    --kih-gallery-desktop-gap,
                    34px
                )
            )
            !important;

        min-width: 0 !important;
        max-width: none !important;

        margin-right: 0 !important;
        margin-left: 0 !important;
    }


    body.single-product.kih-product-gallery--custom
    div.product::after {
        content: "";

        display: table;

        clear: both;
    }


    body.single-product.kih-product-gallery--custom
    .woocommerce-product-gallery
    .kih-gallery-shell {
        box-sizing: border-box !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }


    body.single-product.kih-product-gallery--custom
    .woocommerce-product-gallery
    .kih-gallery-viewer {
        box-sizing: border-box !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}


/*
 * LEFT THUMBNAILS
 *
 * The main viewer owns all remaining width. The thumbnail rail can never
 * determine the width of the WooCommerce image column.
 */
@media (min-width: 821px) {

    body.single-product.kih-product-gallery--custom.kih-product-gallery-thumbs--left
    .woocommerce-product-gallery
    .kih-gallery-shell {
        display: grid !important;

        grid-template-columns:
            var(
                --kih-gallery-thumb-size,
                68px
            )
            minmax(
                0,
                1fr
            )
            !important;

        grid-template-rows:
            minmax(
                0,
                auto
            );

        column-gap: 12px !important;
        row-gap: 0 !important;

        align-items: stretch !important;

        width: 100% !important;
        min-width: 0 !important;
    }


    body.single-product.kih-product-gallery--custom.kih-product-gallery-thumbs--left
    .woocommerce-product-gallery
    .kih-gallery-viewer {
        grid-column: 2 !important;
        grid-row: 1 !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        align-self: start !important;
    }


    body.single-product.kih-product-gallery--custom.kih-product-gallery-thumbs--left
    .woocommerce-product-gallery
    .kih-gallery-thumbs {
        grid-column: 1 !important;
        grid-row: 1 !important;

        display: flex !important;
        flex-direction: column !important;

        align-self: stretch !important;

        width:
            var(
                --kih-gallery-thumb-size,
                68px
            )
            !important;

        min-width:
            var(
                --kih-gallery-thumb-size,
                68px
            )
            !important;

        max-width:
            var(
                --kih-gallery-thumb-size,
                68px
            )
            !important;

        height: 100% !important;
        max-height: none !important;

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

        padding: 1px 3px 3px 1px !important;

        scroll-snap-type: y proximity;
    }


    body.single-product.kih-product-gallery--custom.kih-product-gallery-thumbs--left
    .woocommerce-product-gallery
    .kih-gallery-thumb {
        flex:
            0
            0
            var(
                --kih-gallery-thumb-size,
                68px
            )
            !important;

        width:
            var(
                --kih-gallery-thumb-size,
                68px
            )
            !important;

        min-width:
            var(
                --kih-gallery-thumb-size,
                68px
            )
            !important;

        height:
            var(
                --kih-gallery-thumb-size,
                68px
            )
            !important;
    }
}


/*
 * Desktop main image should visually dominate the left column, close to
 * the reference product page: large square viewing area + compact
 * thumbnails. It remains responsive with the product container.
 */
@media (min-width: 1024px) {

    body.single-product.kih-product-gallery--custom
    .woocommerce-product-gallery
    .kih-gallery-viewer {
        aspect-ratio:
            var(
                --kih-gallery-ratio,
                1 / 1
            )
            !important;

        min-height:
            clamp(
                500px,
                38vw,
                690px
            )
            !important;

        max-height:
            720px
            !important;
    }


    body.single-product.kih-product-gallery--custom
    .woocommerce-product-gallery
    .kih-gallery-main-image {
        width: 100% !important;
        height: 100% !important;
    }
}


/*
 * Tablets/mobile return to theme flow: gallery first, summary below.
 * The desktop column rules above never leak into narrow screens.
 */
@media (max-width: 1023px) {

    body.single-product.kih-product-gallery--custom
    div.product
    > .woocommerce-product-gallery,
    body.single-product.kih-product-gallery--custom
    div.product
    > .summary {
        float: none !important;

        width: 100% !important;
        max-width: none !important;

        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}



/* =========================================================
   Gallery polish — 2.15.41
========================================================= */

/* Keep desktop gallery controls inside the image and avoid white spill. */
.kih-gallery-viewer {
    overflow: hidden;
}

.kih-gallery-arrow,
.kih-gallery-action {
    overflow: hidden;

    background: rgba(255, 255, 255, .94) !important;
    border-color: rgba(23, 55, 32, .14) !important;

    box-shadow:
        0 8px 22px rgba(19, 61, 31, .08);
}

.kih-gallery-arrow:hover,
.kih-gallery-action:hover,
.kih-gallery-arrow:focus-visible,
.kih-gallery-action:focus-visible {
    background: #f4fbf6 !important;
    color: #1f9a4a !important;
    border-color: rgba(31, 154, 74, .24) !important;

    box-shadow:
        0 12px 24px rgba(31, 154, 74, .14);
}

.kih-gallery-arrow--prev {
    left: 14px !important;
    right: auto !important;
}

.kih-gallery-arrow--next {
    right: 14px !important;
    left: auto !important;
}

/* Nice scrollable thumbnail rail under the main image. */
.kih-gallery-thumbs-wrap {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    align-items: center;
    gap: 10px;

    width: 100%;
    margin-top: 12px;
    padding: 10px 12px;

    border: 1px solid #dce7df;
    border-radius: 18px;

    background:
        linear-gradient(
            180deg,
            #fbfdfb 0%,
            #f3f8f4 100%
        );

    box-sizing: border-box;
}

.kih-gallery-thumbs-viewport {
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.kih-gallery-thumbs-viewport::-webkit-scrollbar {
    display: none;
}

.kih-gallery-thumbs {
    width: max-content;
    min-width: 100%;
    margin: 0;
    padding: 2px 0;
}

.kih-gallery-thumbs::-webkit-scrollbar {
    display: none;
}

.kih-gallery-thumb-scroll {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;
    padding: 0;

    border: 1px solid #dce7df;
    border-radius: 12px;

    background: #ffffff;
    color: #173720;

    cursor: pointer;
    box-shadow: 0 6px 16px rgba(19, 61, 31, .05);

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

.kih-gallery-thumb-scroll:hover,
.kih-gallery-thumb-scroll:focus-visible {
    background: #f4fbf6;
    color: #1f9a4a;
    border-color: rgba(31, 154, 74, .28);
    box-shadow: 0 10px 18px rgba(31, 154, 74, .11);
}

.kih-gallery-thumb-scroll:disabled {
    opacity: .38;
    cursor: default;
    box-shadow: none;
}

/* When thumbnails are on the left, keep the large image dominant. */
@media (min-width: 821px) {
    body.single-product.kih-product-gallery--custom.kih-product-gallery-thumbs--left
    .woocommerce-product-gallery
    .kih-gallery-thumbs-wrap {
        grid-column: 1 !important;
        grid-row: 1 !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;

        width:
            var(
                --kih-gallery-thumb-size,
                68px
            ) !important;
        min-width:
            var(
                --kih-gallery-thumb-size,
                68px
            ) !important;
        max-width:
            var(
                --kih-gallery-thumb-size,
                68px
            ) !important;

        height: 100% !important;
        margin-top: 0 !important;
        padding: 0 !important;

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

    body.single-product.kih-product-gallery--custom.kih-product-gallery-thumbs--left
    .woocommerce-product-gallery
    .kih-gallery-thumbs-viewport {
        height: 100% !important;
        min-height: 0 !important;
    }

    body.single-product.kih-product-gallery--custom.kih-product-gallery-thumbs--left
    .woocommerce-product-gallery
    .kih-gallery-thumbs {
        flex-direction: column !important;
        width:
            var(
                --kih-gallery-thumb-size,
                68px
            ) !important;
        min-width:
            var(
                --kih-gallery-thumb-size,
                68px
            ) !important;

        height: 100% !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        padding: 1px 3px 3px 1px !important;
    }

    body.single-product.kih-product-gallery--custom.kih-product-gallery-thumbs--left
    .woocommerce-product-gallery
    .kih-gallery-thumb-scroll {
        display: none !important;
    }
}

/* Mobile: keep the scroller compact and touch-friendly. */
@media (max-width: 820px) {
    .kih-gallery-thumbs-wrap {
        grid-template-columns: 38px minmax(0, 1fr) 38px;
        gap: 8px;
        padding: 8px 10px;
        border-radius: 16px;
    }

    .kih-gallery-thumb-scroll {
        width: 38px;
        height: 38px;
        border-radius: 11px;
    }
}


/* =========================================================
   Gallery thumbnail modes — 2.15.43
========================================================= */

/* Slider: arrows are navigation, not scroll-state indicators. */
.kih-gallery-thumbs-wrap--slider
.kih-gallery-thumb-scroll {
    opacity: 1;
    cursor: pointer;
}

.kih-gallery-thumbs-wrap--slider
.kih-gallery-thumb-scroll:disabled {
    opacity: 1;
    cursor: pointer;
}


/* Plain framed strip, no left/right controls. */
.kih-gallery-thumbs-wrap--strip {
    grid-template-columns:
        minmax(0, 1fr);

    padding-left: 14px;
    padding-right: 14px;
}

.kih-gallery-thumbs-wrap--strip
.kih-gallery-thumb-scroll {
    display: none !important;
}


/* Minimal thumbnails: no outer panel, just the images. */
.kih-gallery-thumbs-wrap--minimal {
    display: block;

    margin-top: 10px;
    padding: 2px 0;

    border: 0;
    border-radius: 0;

    background: transparent;
    box-shadow: none;
}

.kih-gallery-thumbs-wrap--minimal
.kih-gallery-thumb-scroll {
    display: none !important;
}

.kih-gallery-thumbs-wrap--minimal
.kih-gallery-thumbs {
    gap: 9px;
}


/* Dots mode. */
.kih-gallery-thumbs-wrap--dots {
    display: flex;
    justify-content: center;

    margin-top: 10px;
    padding: 8px 12px;

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

.kih-gallery-thumbs-wrap--dots
.kih-gallery-thumb-scroll {
    display: none !important;
}

.kih-gallery-thumbs-wrap--dots
.kih-gallery-thumbs-viewport {
    overflow: visible;
}

.kih-gallery-thumbs--dots {
    display: flex;
    justify-content: center;
    align-items: center;

    gap: 9px;

    width: auto;
    min-width: 0;

    overflow: visible;
}

.kih-gallery-thumbs--dots
.kih-gallery-thumb {
    flex: 0 0 10px;

    width: 10px;
    min-width: 10px;
    height: 10px;

    padding: 0;

    border: 0;
    border-radius: 50%;

    background: #cbd9cf;

    box-shadow: none;

    opacity: 1;

    transform: none;
}

.kih-gallery-thumbs--dots
.kih-gallery-thumb img {
    display: none !important;
}

.kih-gallery-thumbs--dots
.kih-gallery-thumb:hover {
    background: #86bd96;
    transform: scale(1.12);
}

.kih-gallery-thumbs--dots
.kih-gallery-thumb.is-active {
    background: #1f9a4a;

    box-shadow:
        0 0 0 4px
        rgba(31, 154, 74, .12);

    transform: scale(1.05);
}


/*
 * If dots are selected together with "thumbnails left", dots remain
 * below the main image. A vertical dot rail would waste desktop space.
 */
@media (min-width: 821px) {

    body.kih-product-gallery-thumb-style--dots.kih-product-gallery-thumbs--left
    .woocommerce-product-gallery
    .kih-gallery-shell {
        grid-template-columns:
            minmax(0, 1fr)
            !important;

        grid-template-rows:
            auto
            auto
            !important;
    }


    body.kih-product-gallery-thumb-style--dots.kih-product-gallery-thumbs--left
    .woocommerce-product-gallery
    .kih-gallery-viewer {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }


    body.kih-product-gallery-thumb-style--dots.kih-product-gallery-thumbs--left
    .woocommerce-product-gallery
    .kih-gallery-thumbs-wrap--dots {
        grid-column: 1 !important;
        grid-row: 2 !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        height: auto !important;

        margin-top: 10px !important;
        padding: 8px 12px !important;

        flex-direction: row !important;
    }


    body.kih-product-gallery-thumb-style--dots.kih-product-gallery-thumbs--left
    .woocommerce-product-gallery
    .kih-gallery-thumbs--dots {
        flex-direction: row !important;

        width: auto !important;
        min-width: 0 !important;

        height: auto !important;

        overflow: visible !important;
    }
}


/* Mobile variants remain touch-friendly. */
@media (max-width: 820px) {

    .kih-gallery-thumbs-wrap--minimal {
        padding-left: 2px;
        padding-right: 2px;
    }


    .kih-gallery-thumbs-wrap--dots {
        padding-top: 7px;
        padding-bottom: 7px;
    }
}


/* =========================================================
   Product information tabs — 2.15.44
========================================================= */

body.single-product.kih-product-tabs--styled
.woocommerce-tabs {
    width: 100%;

    margin-top: 28px;

    border:
        1px solid
        var(--kih-tabs-border, #dfe9e2);

    border-radius:
        var(--kih-tabs-radius, 18px);

    background:
        var(--kih-tabs-panel-bg, #ffffff);

    box-shadow:
        0 12px 34px
        rgba(26, 67, 38, .055);

    overflow: hidden;
}


/* Remove Avanam / theme tab chrome. */
body.single-product.kih-product-tabs--styled
.woocommerce-tabs::before,
body.single-product.kih-product-tabs--styled
.woocommerce-tabs::after,
body.single-product.kih-product-tabs--styled
.woocommerce-tabs
ul.tabs::before,
body.single-product.kih-product-tabs--styled
.woocommerce-tabs
ul.tabs::after,
body.single-product.kih-product-tabs--styled
.woocommerce-tabs
ul.tabs
li::before,
body.single-product.kih-product-tabs--styled
.woocommerce-tabs
ul.tabs
li::after {
    display: none !important;
    content: none !important;
}


body.single-product.kih-product-tabs--styled
.woocommerce-tabs
ul.tabs {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;

    gap:
        var(--kih-tabs-gap, 8px);

    width: 100%;

    margin: 0 !important;
    padding: 12px !important;

    list-style: none !important;

    border: 0 !important;
    border-bottom:
        1px solid
        var(--kih-tabs-border, #dfe9e2)
        !important;

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

    box-sizing: border-box;
}


body.single-product.kih-product-tabs-align--left
.woocommerce-tabs
ul.tabs {
    justify-content: flex-start;
}


body.single-product.kih-product-tabs-align--center
.woocommerce-tabs
ul.tabs {
    justify-content: center;
}


body.single-product.kih-product-tabs-align--stretch
.woocommerce-tabs
ul.tabs
li {
    flex: 1 1 0;
}


body.single-product.kih-product-tabs--styled
.woocommerce-tabs
ul.tabs
li {
    position: relative !important;

    display: block !important;

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

    border: 0 !important;
    border-radius:
        var(--kih-tabs-nav-radius, 14px)
        !important;

    background: transparent !important;

    box-shadow: none !important;
}


body.single-product.kih-product-tabs--styled
.woocommerce-tabs
ul.tabs
li
a {
    display: flex !important;
    align-items: center;
    justify-content: center;

    min-height: 42px;

    padding: 10px 16px !important;

    border: 1px solid transparent;
    border-radius:
        var(--kih-tabs-nav-radius, 14px);

    color:
        var(--kih-tabs-text, #526158)
        !important;

    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;

    text-decoration: none !important;
    white-space: nowrap;

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


body.single-product.kih-product-tabs--styled
.woocommerce-tabs
ul.tabs
li
a:hover {
    color:
        var(--kih-tabs-accent, #1f9a4a)
        !important;

    background:
        color-mix(
            in srgb,
            var(--kih-tabs-active-bg, #eef8f1) 62%,
            transparent
        )
        !important;
}


body.single-product.kih-product-tabs--styled
.woocommerce-tabs
ul.tabs
li.active
a {
    color:
        var(--kih-tabs-active-text, #126532)
        !important;

    background:
        var(--kih-tabs-active-bg, #eef8f1)
        !important;

    border-color:
        color-mix(
            in srgb,
            var(--kih-tabs-accent, #1f9a4a) 28%,
            var(--kih-tabs-border, #dfe9e2)
        )
        !important;

    box-shadow:
        0 6px 16px
        rgba(31, 154, 74, .09);
}


/* Underline variant. */
body.single-product.kih-product-tabs-style--underline
.woocommerce-tabs
ul.tabs {
    padding-top: 4px !important;
    padding-bottom: 0 !important;
    background: transparent;
}


body.single-product.kih-product-tabs-style--underline
.woocommerce-tabs
ul.tabs
li
a {
    border-radius: 0;
    border: 0 !important;
    border-bottom: 3px solid transparent !important;
    background: transparent !important;
    box-shadow: none !important;
}


body.single-product.kih-product-tabs-style--underline
.woocommerce-tabs
ul.tabs
li.active
a {
    color:
        var(--kih-tabs-active-text, #126532)
        !important;

    border-bottom-color:
        var(--kih-tabs-accent, #1f9a4a)
        !important;

    background: transparent !important;
}


/* Segmented variant. */
body.single-product.kih-product-tabs-style--segments
.woocommerce-tabs
ul.tabs {
    gap: 0;

    padding: 8px !important;
}


body.single-product.kih-product-tabs-style--segments
.woocommerce-tabs
ul.tabs
li {
    border-radius: 0 !important;
}


body.single-product.kih-product-tabs-style--segments
.woocommerce-tabs
ul.tabs
li
a {
    border-radius: 0;
    border-right:
        1px solid
        var(--kih-tabs-border, #dfe9e2);
}


body.single-product.kih-product-tabs-style--segments
.woocommerce-tabs
ul.tabs
li:first-child
a {
    border-radius:
        var(--kih-tabs-nav-radius, 14px)
        0
        0
        var(--kih-tabs-nav-radius, 14px);
}


body.single-product.kih-product-tabs-style--segments
.woocommerce-tabs
ul.tabs
li:last-child
a {
    border-radius:
        0
        var(--kih-tabs-nav-radius, 14px)
        var(--kih-tabs-nav-radius, 14px)
        0;

    border-right: 0;
}


/* Panel. */
body.single-product.kih-product-tabs--styled
.woocommerce-tabs
.woocommerce-Tabs-panel {
    margin: 0 !important;

    padding:
        var(--kih-tabs-panel-padding, 28px)
        !important;

    border: 0 !important;

    background:
        var(--kih-tabs-panel-bg, #ffffff)
        !important;

    color:
        var(--kih-tabs-panel-text, #617067);

    font-size: 14px;
    line-height: 1.72;

    box-sizing: border-box;
}


/* Hide Woo's duplicate generic panel headings. */
body.single-product.kih-product-tabs--styled
.woocommerce-tabs
.woocommerce-Tabs-panel
> h2:first-child {
    display: none !important;
}


body.single-product.kih-product-tabs--styled
.woocommerce-tabs
.woocommerce-Tabs-panel
h1,
body.single-product.kih-product-tabs--styled
.woocommerce-tabs
.woocommerce-Tabs-panel
h2,
body.single-product.kih-product-tabs--styled
.woocommerce-tabs
.woocommerce-Tabs-panel
h3,
body.single-product.kih-product-tabs--styled
.woocommerce-tabs
.woocommerce-Tabs-panel
h4 {
    color:
        var(--kih-tabs-heading, #17251b);

    font-family: inherit !important;
    font-weight: 600 !important;
    line-height: 1.28 !important;

    letter-spacing: -.015em;
}


body.single-product.kih-product-tabs--styled
.woocommerce-tabs
.woocommerce-Tabs-panel
h2 {
    margin: 0 0 14px !important;

    font-size: clamp(22px, 2vw, 30px) !important;
}


body.single-product.kih-product-tabs--styled
.woocommerce-tabs
.woocommerce-Tabs-panel
h3 {
    margin: 24px 0 12px !important;

    font-size: clamp(18px, 1.55vw, 23px) !important;
}


body.single-product.kih-product-tabs--styled
.woocommerce-tabs
.woocommerce-Tabs-panel
p {
    margin: 0 0 14px;

    color:
        var(--kih-tabs-panel-text, #617067);

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


body.single-product.kih-product-tabs--styled
.woocommerce-tabs
.woocommerce-Tabs-panel
hr {
    height: 1px;

    margin: 22px 0;

    border: 0;

    background:
        var(--kih-tabs-border, #dfe9e2);
}


body.single-product.kih-product-tabs--styled
.woocommerce-tabs
.woocommerce-Tabs-panel
ul:not(.woocommerce-error):not(.woocommerce-message) {
    display: grid;

    gap: 8px;

    margin: 14px 0 18px;
    padding-left: 20px;
}


/* Characteristics table. */
body.single-product.kih-product-tabs--styled
#tab-additional_information
.woocommerce-product-attributes {
    display: block;

    width: 100%;

    margin: 0 !important;

    border: 0 !important;
    border-collapse: separate !important;
}


body.single-product.kih-product-tabs--styled
#tab-additional_information
.woocommerce-product-attributes
tbody {
    display: grid;

    gap: 0;
}


body.single-product.kih-product-tabs--styled
#tab-additional_information
.woocommerce-product-attributes-item {
    display: grid;

    grid-template-columns:
        minmax(180px, 30%)
        minmax(0, 1fr);

    align-items: center;

    min-height: 48px;

    border: 0 !important;
    border-bottom:
        1px solid
        var(--kih-tabs-border, #dfe9e2)
        !important;

    background: transparent !important;
}


body.single-product.kih-product-tabs--styled
#tab-additional_information
.woocommerce-product-attributes-item:last-child {
    border-bottom: 0 !important;
}


body.single-product.kih-product-tabs--styled
#tab-additional_information
.woocommerce-product-attributes-item__label,
body.single-product.kih-product-tabs--styled
#tab-additional_information
.woocommerce-product-attributes-item__value {
    display: block !important;

    width: auto !important;

    padding: 12px 14px !important;

    border: 0 !important;

    background: transparent !important;

    text-align: left !important;
}


body.single-product.kih-product-tabs--styled
#tab-additional_information
.woocommerce-product-attributes-item__label {
    color:
        var(--kih-tabs-heading, #17251b)
        !important;

    font-style: normal !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}


body.single-product.kih-product-tabs--styled
#tab-additional_information
.woocommerce-product-attributes-item__value,
body.single-product.kih-product-tabs--styled
#tab-additional_information
.woocommerce-product-attributes-item__value
p {
    color:
        var(--kih-tabs-panel-text, #617067)
        !important;

    font-style: normal !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}


body.single-product.kih-product-tabs--styled
#tab-additional_information
.woocommerce-product-attributes-item.kih-attribute-row--selected
.woocommerce-product-attributes-item__value {
    color:
        var(--kih-tabs-active-text, #126532)
        !important;

    font-weight: 650 !important;
}


/* Shipping / payment custom panel. */
.kih-shipping-payment {
    display: grid;

    gap: 20px;
}


.kih-shipping-payment__notice {
    display: flex;
    align-items: center;

    gap: 12px;

    padding: 15px 18px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--kih-tabs-accent, #1f9a4a) 28%,
            var(--kih-tabs-border, #dfe9e2)
        );

    border-radius: 14px;

    background:
        color-mix(
            in srgb,
            var(--kih-tabs-active-bg, #eef8f1) 78%,
            #ffffff
        );

    color:
        var(--kih-tabs-active-text, #126532);
}


.kih-shipping-payment__notice-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 30px;

    width: 30px;
    height: 30px;

    border-radius: 50%;

    background:
        var(--kih-tabs-accent, #1f9a4a);

    color: #ffffff;

    font-size: 15px;
    font-weight: 800;
}


.kih-shipping-payment__notice
strong {
    color: inherit !important;

    font-size: 15px;
    font-weight: 700;
}


.kih-shipping-payment__grid {
    display: grid;

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

    gap: 16px;
}


.kih-shipping-payment__card {
    padding: 20px;

    border:
        1px solid
        var(--kih-tabs-border, #dfe9e2);

    border-radius: 16px;

    background:
        color-mix(
            in srgb,
            var(--kih-tabs-panel-bg, #ffffff) 94%,
            var(--kih-tabs-active-bg, #eef8f1)
        );
}


.kih-shipping-payment__heading {
    display: flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 12px;
}


.kih-shipping-payment__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 46px;

    width: 46px;
    height: 46px;

    border-radius: 13px;

    background:
        var(--kih-tabs-active-bg, #eef8f1);

    color:
        var(--kih-tabs-accent, #1f9a4a);
}


.kih-shipping-payment__icon
svg {
    width: 22px;
    height: 22px;
}


.kih-shipping-payment__heading
h3 {
    margin: 0 !important;

    font-size: 19px !important;
}


.kih-shipping-payment__intro {
    margin-bottom: 14px !important;
}


.kih-shipping-payment__list {
    display: grid !important;

    gap: 10px !important;

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

    list-style: none !important;
}


.kih-shipping-payment__list
li {
    display: grid;

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

    gap: 10px;

    align-items: start;
}


.kih-shipping-payment__bullet {
    width: 7px;
    height: 7px;

    margin-top: 8px;

    border-radius: 50%;

    background:
        var(--kih-tabs-accent, #1f9a4a);
}


.kih-shipping-payment__list
strong {
    color:
        var(--kih-tabs-heading, #17251b);

    font-weight: 650;
}


.kih-shipping-payment__list
strong::after {
    content: " — ";
}


.kih-shipping-payment__list
span {
    color:
        var(--kih-tabs-panel-text, #617067);
}


.kih-shipping-payment__footnote {
    margin-top: 16px;
    padding-top: 14px;

    border-top:
        1px dashed
        var(--kih-tabs-border, #dfe9e2);

    color:
        var(--kih-tabs-panel-text, #617067);

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


/* Reviews. */
body.single-product.kih-product-tabs--styled
#tab-reviews
#reviews {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(340px, .9fr);

    gap: 28px;

    align-items: start;
}


body.single-product.kih-product-tabs--styled
#tab-reviews
#comments,
body.single-product.kih-product-tabs--styled
#tab-reviews
#review_form_wrapper {
    width: 100% !important;
    float: none !important;
}


body.single-product.kih-product-tabs--styled
#tab-reviews
#review_form_wrapper {
    padding: 20px;

    border:
        1px solid
        var(--kih-tabs-border, #dfe9e2);

    border-radius: 16px;

    background:
        color-mix(
            in srgb,
            var(--kih-tabs-panel-bg, #ffffff) 94%,
            var(--kih-tabs-active-bg, #eef8f1)
        );
}


body.single-product.kih-product-tabs--styled
#tab-reviews
.comment-reply-title {
    display: block;

    margin-bottom: 16px;

    color:
        var(--kih-tabs-heading, #17251b);

    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
}


body.single-product.kih-product-tabs--styled
#tab-reviews
textarea,
body.single-product.kih-product-tabs--styled
#tab-reviews
input[type="text"],
body.single-product.kih-product-tabs--styled
#tab-reviews
input[type="email"] {
    width: 100%;

    padding: 12px 14px;

    border:
        1px solid
        var(--kih-tabs-border, #dfe9e2);

    border-radius: 10px;

    background: #ffffff;

    box-shadow: none;
}


body.single-product.kih-product-tabs--styled
#tab-reviews
.form-submit
input[type="submit"] {
    min-height: 43px;

    padding: 10px 22px !important;

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

    background:
        var(--kih-tabs-accent, #1f9a4a)
        !important;

    color: #ffffff !important;

    font-size: 13px !important;
    font-weight: 700 !important;

    box-shadow:
        0 7px 18px
        rgba(31, 154, 74, .15);
}


body.single-product.kih-product-tabs--styled
#tab-reviews
.stars
a {
    color: #f3ad1d !important;
}


/* Mobile. */
@media (max-width: 820px) {

    body.single-product.kih-product-tabs--styled
    .woocommerce-tabs {
        margin-top: 20px;

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


    body.single-product.kih-product-tabs--styled
    .woocommerce-tabs
    ul.tabs {
        flex-wrap: nowrap;

        justify-content: flex-start !important;

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

        padding: 9px !important;

        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }


    body.single-product.kih-product-tabs--styled
    .woocommerce-tabs
    ul.tabs::-webkit-scrollbar {
        display: none;
    }


    body.single-product.kih-product-tabs--styled
    .woocommerce-tabs
    ul.tabs
    li {
        flex: 0 0 auto !important;

        scroll-snap-align: start;
    }


    body.single-product.kih-product-tabs--styled
    .woocommerce-tabs
    .woocommerce-Tabs-panel {
        padding:
            max(
                18px,
                calc(
                    var(--kih-tabs-panel-padding, 28px)
                    * .68
                )
            )
            !important;
    }


    body.single-product.kih-product-tabs--styled
    #tab-additional_information
    .woocommerce-product-attributes-item {
        grid-template-columns:
            minmax(0, 1fr);
    }


    body.single-product.kih-product-tabs--styled
    #tab-additional_information
    .woocommerce-product-attributes-item__label {
        padding-bottom: 2px !important;
    }


    body.single-product.kih-product-tabs--styled
    #tab-additional_information
    .woocommerce-product-attributes-item__value {
        padding-top: 2px !important;
    }


    .kih-shipping-payment__grid,
    body.single-product.kih-product-tabs--styled
    #tab-reviews
    #reviews {
        grid-template-columns:
            minmax(0, 1fr);
    }


    .kih-shipping-payment__card {
        padding: 17px;
    }
}


/* =========================================================
   Reviews polish — 2.15.45
========================================================= */

body.single-product.kih-product-tabs--styled
#tab-reviews
#reviews {
    gap: 22px;
}


body.single-product.kih-product-tabs--styled.kih-product-reviews--stacked
#tab-reviews
#reviews {
    grid-template-columns:
        minmax(0, 1fr);
}


/* Left side / review list / empty state. */
body.single-product.kih-product-tabs--styled
#tab-reviews
#comments {
    min-height: 100%;

    padding: 22px;

    border:
        1px solid
        var(--kih-tabs-border, #dfe9e2);

    border-radius:
        var(--kih-review-radius, 18px);

    background:
        var(--kih-review-card-bg, #ffffff);

    box-sizing: border-box;
}


body.single-product.kih-product-tabs--styled
#tab-reviews
#comments
> h2 {
    display: block !important;

    margin: 0 0 12px !important;

    color:
        var(--kih-tabs-heading, #17251b);

    font-size: 20px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
}


body.single-product.kih-product-tabs--styled
#tab-reviews
#comments
.woocommerce-noreviews {
    position: relative;

    margin: 0 !important;
    padding: 16px 16px 16px 50px;

    border:
        1px dashed
        color-mix(
            in srgb,
            var(--kih-tabs-accent, #1f9a4a) 24%,
            var(--kih-tabs-border, #dfe9e2)
        );

    border-radius: 13px;

    background:
        color-mix(
            in srgb,
            var(--kih-tabs-active-bg, #eef8f1) 70%,
            #ffffff
        );

    color:
        var(--kih-tabs-panel-text, #617067);
}


body.single-product.kih-product-tabs--styled
#tab-reviews
#comments
.woocommerce-noreviews::before {
    content: "★";

    position: absolute;
    left: 16px;
    top: 50%;

    width: 24px;
    height: 24px;

    margin-top: -12px;

    color:
        var(--kih-review-star, #f2a900);

    font-size: 22px;
    line-height: 24px;

    text-align: center;
}


/* Existing reviews become clean cards. */
body.single-product.kih-product-tabs--styled
#tab-reviews
.commentlist {
    display: grid;

    gap: 12px;

    margin: 16px 0 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


body.single-product.kih-product-tabs--styled
#tab-reviews
.commentlist
li.review {
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}


body.single-product.kih-product-tabs--styled
#tab-reviews
.comment_container {
    padding: 16px;

    border:
        1px solid
        var(--kih-tabs-border, #dfe9e2);

    border-radius: 14px;

    background:
        color-mix(
            in srgb,
            var(--kih-review-card-bg, #ffffff) 96%,
            var(--kih-tabs-active-bg, #eef8f1)
        );
}


body.single-product.kih-product-tabs--styled
#tab-reviews
.star-rating {
    color:
        var(--kih-review-star, #f2a900)
        !important;
}


/* Review form card. */
body.single-product.kih-product-tabs--styled
#tab-reviews
#review_form_wrapper {
    padding: 22px;

    border:
        1px solid
        var(--kih-tabs-border, #dfe9e2);

    border-radius:
        var(--kih-review-radius, 18px);

    background:
        var(--kih-review-form-bg, #f7fbf8);

    box-shadow:
        0 10px 28px
        rgba(26, 67, 38, .045);

    box-sizing: border-box;
}


body.single-product.kih-product-tabs--styled
#tab-reviews
#review_form {
    width: 100%;
}


body.single-product.kih-product-tabs--styled
#tab-reviews
.comment-reply-title {
    margin: 0 0 18px;

    color:
        var(--kih-tabs-heading, #17251b);

    font-size: clamp(19px, 1.7vw, 24px);
    font-weight: 650;
    line-height: 1.3;
}


body.single-product.kih-product-tabs--styled
#tab-reviews
.comment-form-rating {
    display: grid;

    gap: 7px;

    margin-bottom: 16px;
}


body.single-product.kih-product-tabs--styled
#tab-reviews
.comment-form-rating
label,
body.single-product.kih-product-tabs--styled
#tab-reviews
.comment-form-comment
label,
body.single-product.kih-product-tabs--styled
#tab-reviews
.comment-form-author
label,
body.single-product.kih-product-tabs--styled
#tab-reviews
.comment-form-email
label {
    display: block;

    margin-bottom: 7px;

    color:
        var(--kih-tabs-heading, #17251b);

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


body.single-product.kih-product-tabs--styled
#tab-reviews
p.stars {
    display: inline-flex;

    width: fit-content;

    margin: 0 !important;
    padding: 8px 10px;

    border:
        1px solid
        var(--kih-tabs-border, #dfe9e2);

    border-radius: 999px;

    background: #ffffff;
}


body.single-product.kih-product-tabs--styled
#tab-reviews
p.stars
a {
    color:
        var(--kih-review-star, #f2a900)
        !important;

    font-size: 18px;
}


body.single-product.kih-product-tabs--styled
#tab-reviews
textarea,
body.single-product.kih-product-tabs--styled
#tab-reviews
input[type="text"],
body.single-product.kih-product-tabs--styled
#tab-reviews
input[type="email"] {
    border-color:
        var(--kih-tabs-border, #dfe9e2);

    border-radius: 12px;

    background: #ffffff;

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


body.single-product.kih-product-tabs--styled
#tab-reviews
textarea:focus,
body.single-product.kih-product-tabs--styled
#tab-reviews
input[type="text"]:focus,
body.single-product.kih-product-tabs--styled
#tab-reviews
input[type="email"]:focus {
    outline: 0;

    border-color:
        color-mix(
            in srgb,
            var(--kih-tabs-accent, #1f9a4a) 55%,
            var(--kih-tabs-border, #dfe9e2)
        );

    box-shadow:
        0 0 0 3px
        rgba(31, 154, 74, .08);
}


body.single-product.kih-product-tabs--styled
#tab-reviews
textarea {
    min-height: 130px;
    resize: vertical;
}


body.single-product.kih-product-tabs--styled
#tab-reviews
.form-submit {
    margin: 18px 0 0 !important;
}


body.single-product.kih-product-tabs--styled
#tab-reviews
.form-submit
input[type="submit"] {
    min-width: 150px;

    border-radius: 12px !important;

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


body.single-product.kih-product-tabs--styled
#tab-reviews
.form-submit
input[type="submit"]:hover {
    transform: translateY(-1px);

    box-shadow:
        0 10px 22px
        rgba(31, 154, 74, .20);
}


@media (max-width: 820px) {

    body.single-product.kih-product-tabs--styled
    #tab-reviews
    #comments,
    body.single-product.kih-product-tabs--styled
    #tab-reviews
    #review_form_wrapper {
        padding: 17px;
    }
}


/* =========================================================
   Smart matched recommendations — 2.15.46
========================================================= */

/* Native WooCommerce block is intentionally replaced. */
body.single-product.kih-recommendations--enabled
.related.products {
    display: none !important;
}


.kih-matched-recommendations {
    width: 100%;

    margin: 30px 0 34px;
    padding: 24px;

    border:
        1px solid
        var(--kih-reco-border, #dfe9e2);

    border-radius:
        var(--kih-reco-radius, 18px);

    background:
        var(--kih-reco-section-bg, #f7fbf8);

    box-sizing: border-box;
}


.kih-matched-recommendations[hidden] {
    display: none !important;
}


.kih-matched-recommendations__head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;

    margin-bottom: 18px;
}


.kih-matched-recommendations__eyebrow {
    display: block;

    margin-bottom: 5px;

    color:
        var(--kih-reco-accent, #1f9a4a);

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


.kih-matched-recommendations__head
h2 {
    margin: 0 0 5px !important;

    color:
        var(--kih-reco-text, #17251b)
        !important;

    font-family: inherit !important;
    font-size: clamp(22px, 2.1vw, 30px) !important;
    font-weight: 600 !important;
    line-height: 1.22 !important;
    letter-spacing: -.02em;
}


.kih-matched-recommendations__head
p {
    margin: 0 !important;

    color: #6a786f;

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


.kih-matched-recommendations__loader {
    flex: 0 0 34px;

    width: 34px;
    height: 34px;
}


.kih-matched-recommendations__loader
span {
    display: block;

    width: 30px;
    height: 30px;

    border: 3px solid rgba(31, 154, 74, .15);
    border-top-color:
        var(--kih-reco-accent, #1f9a4a);

    border-radius: 50%;

    animation:
        kih-reco-spin .7s linear infinite;
}


@keyframes kih-reco-spin {
    to {
        transform: rotate(360deg);
    }
}


.kih-matched-recommendations__grid {
    display: grid;

    grid-template-columns:
        repeat(
            var(--kih-reco-columns, 4),
            minmax(0, 1fr)
        );

    gap: 14px;
}


.kih-match-card {
    min-width: 0;

    overflow: hidden;

    border:
        1px solid
        var(--kih-reco-border, #dfe9e2);

    border-radius:
        var(--kih-reco-card-radius, 15px);

    background:
        var(--kih-reco-card-bg, #ffffff);

    box-shadow:
        0 8px 22px
        rgba(26, 67, 38, .04);

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


.kih-match-card:hover {
    transform: translateY(-2px);

    border-color:
        color-mix(
            in srgb,
            var(--kih-reco-accent, #1f9a4a) 30%,
            var(--kih-reco-border, #dfe9e2)
        );

    box-shadow:
        0 13px 28px
        rgba(26, 67, 38, .09);
}


.kih-match-card--minimal {
    border-color: transparent;

    box-shadow: none;
}


.kih-match-card--minimal:hover {
    box-shadow: none;
}


.kih-match-card--bordered {
    border-width: 2px;

    box-shadow: none;
}


.kih-match-card__image {
    position: relative;

    display: block;

    overflow: hidden;

    background: #f4f7f5;
}


body.kih-recommendations-ratio--portrait
.kih-match-card__image {
    aspect-ratio: 4 / 5;
}


body.kih-recommendations-ratio--square
.kih-match-card__image {
    aspect-ratio: 1 / 1;
}


body.kih-recommendations-ratio--landscape
.kih-match-card__image {
    aspect-ratio: 4 / 3;
}


.kih-match-card__image
img {
    display: block;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;

    object-fit: cover;

    transition:
        transform .22s ease;
}


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


.kih-match-card__body {
    display: grid;

    gap: 9px;

    padding: 13px 13px 14px;
}


.kih-match-card__match {
    width: fit-content;

    max-width: 100%;

    padding: 5px 8px;

    border-radius: 999px;

    background:
        color-mix(
            in srgb,
            var(--kih-reco-accent, #1f9a4a) 9%,
            #ffffff
        );

    color:
        var(--kih-reco-accent, #1f9a4a);

    font-size: 10px;
    font-weight: 700;
    line-height: 1.25;
}


.kih-match-card__title {
    display: -webkit-box;

    min-height: 2.7em;

    overflow: hidden;

    color:
        var(--kih-reco-text, #17251b)
        !important;

    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none !important;

    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}


.kih-match-card__title:hover {
    color:
        var(--kih-reco-accent, #1f9a4a)
        !important;
}


.kih-match-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 8px;

    min-width: 0;
}


.kih-match-card__price {
    color:
        var(--kih-reco-accent, #1f9a4a);

    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}


.kih-match-card__price
del {
    opacity: .48;
    font-size: .88em;
}


.kih-match-card__stock {
    display: inline-flex;
    align-items: center;

    gap: 5px;

    color: #617067;

    font-size: 10px;
    font-weight: 600;
    white-space: nowrap;
}


.kih-match-card__stock
> span {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background:
        var(--kih-reco-accent, #1f9a4a);
}


@media (max-width: 1100px) {

    .kih-matched-recommendations__grid {
        grid-template-columns:
            repeat(
                min(
                    var(--kih-reco-columns, 4),
                    3
                ),
                minmax(0, 1fr)
            );
    }
}


@media (max-width: 820px) {

    .kih-matched-recommendations {
        margin-top: 22px;
        padding: 16px;

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


    .kih-matched-recommendations__head {
        align-items: flex-start;
    }


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

        gap: 10px;
    }


    .kih-match-card__body {
        padding: 10px;
    }


    .kih-match-card__meta {
        align-items: flex-start;
        flex-direction: column;
    }
}


@media (max-width: 460px) {

    .kih-matched-recommendations__grid {
        display: flex;

        gap: 10px;

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

        margin-right: -16px;
        padding-right: 16px;
        padding-bottom: 5px;

        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }


    .kih-matched-recommendations__grid::-webkit-scrollbar {
        display: none;
    }


    .kih-match-card {
        flex:
            0 0
            min(
                72vw,
                270px
            );

        scroll-snap-align: start;
    }
}


/* =========================================================
   Smart recommendations polish — 2.15.48
========================================================= */

/* Softer, more editorial recommendation heading. */
.kih-matched-recommendations__head
h2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    gap: 7px;

    margin-bottom: 7px !important;

    font-size:
        clamp(
            20px,
            1.85vw,
            27px
        )
        !important;

    font-weight: 500 !important;
    line-height: 1.25 !important;
    letter-spacing: -.015em !important;
}


.kih-matched-recommendations__value {
    display: inline-flex;
    align-items: center;

    min-height: 31px;

    padding: 4px 11px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--kih-reco-accent, #1f9a4a) 24%,
            var(--kih-reco-border, #dfe9e2)
        );

    border-radius: 999px;

    background:
        color-mix(
            in srgb,
            var(--kih-reco-accent, #1f9a4a) 8%,
            #ffffff
        );

    color:
        var(--kih-reco-accent, #1f9a4a);

    font-size: .76em;
    font-weight: 650;
    line-height: 1;
    letter-spacing: 0;
}


.kih-matched-recommendations__eyebrow {
    opacity: .78;

    font-size: 10px;
    letter-spacing: .11em;
}


/* Mobile scroll controls are deliberately obvious and touch-friendly. */
.kih-matched-recommendations__mobile-controls {
    display: none;
}


.kih-matched-recommendations__mobile-controls[hidden] {
    display: none !important;
}


@media (max-width: 820px) {

    .kih-matched-recommendations__grid {
        display: flex;

        grid-template-columns: none;

        gap: 11px;

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

        margin-right: -16px;
        padding-right: 16px;
        padding-bottom: 6px;

        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;

        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }


    .kih-matched-recommendations__grid::-webkit-scrollbar {
        display: none;
    }


    .kih-match-card {
        flex:
            0 0
            min(
                76vw,
                300px
            );

        scroll-snap-align: start;
    }


    .kih-matched-recommendations__mobile-controls {
        display: flex;
        align-items: center;
        justify-content: center;

        gap: 12px;

        margin-top: 14px;
    }


    .kih-matched-recommendations__mobile-controls
    > span {
        color: #6d7a72;

        font-size: 11px;
        font-weight: 650;
        letter-spacing: .02em;
    }


    .kih-matched-recommendations__mobile-arrow {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        width: 44px;
        height: 44px;
        padding: 0;

        border:
            1px solid
            color-mix(
                in srgb,
                var(--kih-reco-accent, #1f9a4a) 24%,
                var(--kih-reco-border, #dfe9e2)
            );

        border-radius: 50%;

        background: #ffffff;

        color:
            var(--kih-reco-accent, #1f9a4a);

        box-shadow:
            0 8px 18px
            rgba(26, 67, 38, .08);

        cursor: pointer;

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


    .kih-matched-recommendations__mobile-arrow
    svg {
        width: 21px;
        height: 21px;
    }


    .kih-matched-recommendations__mobile-arrow:hover,
    .kih-matched-recommendations__mobile-arrow:focus-visible {
        outline: none;

        transform: translateY(-1px);

        background:
            color-mix(
                in srgb,
                var(--kih-reco-accent, #1f9a4a) 8%,
                #ffffff
            );

        box-shadow:
            0 10px 22px
            rgba(26, 67, 38, .12);
    }


    .kih-matched-recommendations__mobile-arrow:disabled {
        opacity: .32;

        cursor: default;
        transform: none;
        box-shadow: none;
    }


    .kih-matched-recommendations__head
    h2 {
        font-size: 21px !important;
    }
}


/* =========================================================
   Mobile recommendation controls — 2.15.49
========================================================= */

@media (max-width: 820px) {

    .kih-matched-recommendations {
        position: relative;
    }


    /* Empty custom hint should not leave an artificial gap. */
    .kih-matched-recommendations__mobile-controls
    > span:empty {
        display: none;
    }


    /* -----------------------------------------------------
       Arrow styles
       ----------------------------------------------------- */

    body.kih-recommendations-mobile-arrows--soft_square
    .kih-matched-recommendations__mobile-arrow {
        border-radius: 13px;

        background:
            color-mix(
                in srgb,
                var(--kih-reco-accent, #1f9a4a) 7%,
                #ffffff
            );
    }


    body.kih-recommendations-mobile-arrows--filled
    .kih-matched-recommendations__mobile-arrow {
        border-color:
            var(--kih-reco-accent, #1f9a4a);

        background:
            var(--kih-reco-accent, #1f9a4a);

        color: #ffffff;

        box-shadow:
            0 9px 20px
            color-mix(
                in srgb,
                var(--kih-reco-accent, #1f9a4a) 25%,
                transparent
            );
    }


    body.kih-recommendations-mobile-arrows--filled
    .kih-matched-recommendations__mobile-arrow:hover,
    body.kih-recommendations-mobile-arrows--filled
    .kih-matched-recommendations__mobile-arrow:focus-visible {
        background:
            color-mix(
                in srgb,
                var(--kih-reco-accent, #1f9a4a) 90%,
                #000000
            );

        color: #ffffff;
    }


    body.kih-recommendations-mobile-arrows--minimal
    .kih-matched-recommendations__mobile-arrow {
        width: 40px;
        height: 40px;

        border-color: transparent;

        background: transparent;

        box-shadow: none;
    }


    body.kih-recommendations-mobile-arrows--minimal
    .kih-matched-recommendations__mobile-arrow:hover,
    body.kih-recommendations-mobile-arrows--minimal
    .kih-matched-recommendations__mobile-arrow:focus-visible {
        background:
            color-mix(
                in srgb,
                var(--kih-reco-accent, #1f9a4a) 8%,
                transparent
            );

        box-shadow: none;
    }


    /* -----------------------------------------------------
       Positions
       ----------------------------------------------------- */

    body.kih-recommendations-mobile-position--below_edges
    .kih-matched-recommendations__mobile-controls {
        justify-content: space-between;

        width: 100%;
    }


    body.kih-recommendations-mobile-position--below_edges
    .kih-matched-recommendations__mobile-controls
    > span {
        flex: 1;

        text-align: center;
    }


    body.kih-recommendations-mobile-position--overlay_sides
    .kih-matched-recommendations__mobile-controls {
        position: absolute;
        z-index: 5;

        left: 9px;
        right: 9px;

        top:
            calc(
                50%
                +
                18px
            );

        display: flex;
        justify-content: space-between;

        margin-top: 0;

        pointer-events: none;

        transform: translateY(-50%);
    }


    body.kih-recommendations-mobile-position--overlay_sides
    .kih-matched-recommendations__mobile-controls
    > span {
        display: none;
    }


    body.kih-recommendations-mobile-position--overlay_sides
    .kih-matched-recommendations__mobile-arrow {
        pointer-events: auto;

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

        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);

        box-shadow:
            0 7px 20px
            rgba(22, 60, 33, .13);
    }


    body.kih-recommendations-mobile-position--overlay_sides.kih-recommendations-mobile-arrows--filled
    .kih-matched-recommendations__mobile-arrow {
        background:
            color-mix(
                in srgb,
                var(--kih-reco-accent, #1f9a4a) 92%,
                transparent
            );

        color: #ffffff;
    }


    body.kih-recommendations-mobile-position--overlay_sides.kih-recommendations-mobile-arrows--minimal
    .kih-matched-recommendations__mobile-arrow {
        background:
            rgba(255, 255, 255, .82);

        box-shadow:
            0 5px 16px
            rgba(22, 60, 33, .10);
    }
}


/* =========================================================
   Mobile recommendation disabled-arrow visibility — 2.15.50
========================================================= */

@media (max-width: 820px) {

    /*
     * Do not fade the whole button. With a white button/background that
     * made the disabled chevron practically disappear and left a blank
     * circle on screen.
     */
    .kih-matched-recommendations__mobile-arrow:disabled {
        opacity: 1;

        cursor: default;
        transform: none;

        color:
            color-mix(
                in srgb,
                var(--kih-reco-accent, #1f9a4a) 42%,
                #9fb1a5
            );

        border-color:
            color-mix(
                in srgb,
                var(--kih-reco-border, #dfe9e2) 78%,
                #c8d5cc
            );

        background:
            color-mix(
                in srgb,
                #ffffff 92%,
                var(--kih-reco-section-bg, #f7fbf8)
            );

        box-shadow:
            0 4px 12px
            rgba(26, 67, 38, .045);
    }


    .kih-matched-recommendations__mobile-arrow:disabled
    svg {
        opacity: .72;
    }


    body.kih-recommendations-mobile-arrows--filled
    .kih-matched-recommendations__mobile-arrow:disabled {
        color:
            rgba(255, 255, 255, .78);

        border-color:
            color-mix(
                in srgb,
                var(--kih-reco-accent, #1f9a4a) 58%,
                #b8c7bd
            );

        background:
            color-mix(
                in srgb,
                var(--kih-reco-accent, #1f9a4a) 54%,
                #ffffff
            );

        box-shadow:
            0 4px 12px
            rgba(26, 67, 38, .05);
    }


    body.kih-recommendations-mobile-arrows--minimal
    .kih-matched-recommendations__mobile-arrow:disabled {
        color:
            color-mix(
                in srgb,
                var(--kih-reco-accent, #1f9a4a) 48%,
                #9fb1a5
            );

        border-color: transparent;
        background: transparent;
        box-shadow: none;
    }


    body.kih-recommendations-mobile-position--overlay_sides
    .kih-matched-recommendations__mobile-arrow:disabled {
        background:
            rgba(255, 255, 255, .90);

        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
    }
}


/* =========================================================
   Product top review summary — 2.15.51
========================================================= */

/*
 * Hide any theme/default duplicate if a theme prints the native
 * WooCommerce rating independently of the standard hook.
 */
body.single-product
.summary
.woocommerce-product-rating:not(.kih-product-rating) {
    display: none !important;
}


body.single-product
.summary
.kih-product-rating {
    display: inline-flex !important;
    align-items: center;

    gap: 8px;

    width: fit-content;

    margin:
        5px
        0
        14px
        !important;

    padding:
        7px
        10px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--kih-tabs-accent, #1f9a4a) 20%,
            #dfe9e2
        );

    border-radius: 999px;

    background:
        color-mix(
            in srgb,
            var(--kih-tabs-active-bg, #eef8f1) 72%,
            #ffffff
        );

    box-shadow:
        0 5px 16px
        rgba(26, 67, 38, .045);

    line-height: 1;
}


body.single-product
.summary
.kih-product-rating
.kih-product-rating__stars {
    display: inline-flex;
    align-items: center;

    min-width: 0;
}


body.single-product
.summary
.kih-product-rating
.star-rating {
    float: none !important;

    width: 5.4em !important;
    height: 1em !important;

    margin: 0 !important;

    color:
        var(--kih-review-star, #f2a900)
        !important;

    font-size: 13px !important;
    line-height: 1 !important;
}


body.single-product
.summary
.kih-product-rating__score {
    color:
        var(--kih-tabs-heading, #17251b);

    font-size: 12px;
    font-weight: 750;
    line-height: 1;
}


body.single-product
.summary
.kih-product-rating__divider {
    width: 1px;
    height: 16px;

    background:
        color-mix(
            in srgb,
            var(--kih-tabs-border, #dfe9e2) 86%,
            #b9c8be
        );
}


body.single-product
.summary
.kih-product-rating__link {
    display: inline-flex !important;
    align-items: center;

    gap: 2px;

    margin: 0 !important;

    color:
        var(--kih-tabs-active-text, #126532)
        !important;

    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1 !important;
    text-decoration: none !important;

    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    transition:
        color .15s ease,
        transform .15s ease;
}


body.single-product
.summary
.kih-product-rating__link:hover {
    color:
        var(--kih-tabs-accent, #1f9a4a)
        !important;
}


body.single-product
.summary
.kih-product-rating__link
svg {
    width: 15px;
    height: 15px;

    transition:
        transform .15s ease;
}


body.single-product
.summary
.kih-product-rating__link:hover
svg {
    transform: translateX(2px);
}


@media (max-width: 620px) {

    body.single-product
    .summary
    .kih-product-rating {
        gap: 6px;

        padding:
            7px
            9px;
    }


    body.single-product
    .summary
    .kih-product-rating
    .star-rating {
        font-size: 12px !important;
    }


    body.single-product
    .summary
    .kih-product-rating__score,
    body.single-product
    .summary
    .kih-product-rating__link {
        font-size: 11px !important;
    }
}


/* =========================================================
   Product callback after recommendations — 2.15.52
========================================================= */

.kih-product-callback {
    display: grid;

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

    align-items: center;

    gap: 18px;

    width: 100%;

    margin:
        -12px
        0
        34px;

    padding:
        20px
        22px;

    border:
        1px solid
        var(--kih-reco-border, #dfe9e2);

    border-radius:
        var(--kih-reco-radius, 18px);

    background:
        linear-gradient(
            135deg,
            color-mix(
                in srgb,
                var(--kih-reco-accent, #1f9a4a) 7%,
                #ffffff
            ),
            #ffffff 72%
        );

    box-shadow:
        0 9px 28px
        rgba(26, 67, 38, .05);

    box-sizing: border-box;
}


.kih-product-callback__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    border-radius: 16px;

    background:
        color-mix(
            in srgb,
            var(--kih-reco-accent, #1f9a4a) 10%,
            #ffffff
        );

    color:
        var(--kih-reco-accent, #1f9a4a);
}


.kih-product-callback__icon
svg {
    width: 25px;
    height: 25px;

    fill: currentColor;
}


.kih-product-callback__content {
    min-width: 0;
}


.kih-product-callback__eyebrow {
    display: block;

    margin-bottom: 4px;

    color:
        var(--kih-reco-accent, #1f9a4a);

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


.kih-product-callback__content
h2 {
    margin:
        0
        0
        5px
        !important;

    color:
        var(--kih-reco-text, #17251b)
        !important;

    font-family: inherit !important;
    font-size:
        clamp(
            19px,
            1.6vw,
            24px
        )
        !important;

    font-weight: 600 !important;
    line-height: 1.25 !important;
}


.kih-product-callback__content
p {
    max-width: 760px;

    margin: 0 !important;

    color: #68776e;

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


.kih-product-callback__action {
    display: grid;

    justify-items: center;

    gap: 6px;
}


.kih-product-callback__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height: 44px;

    padding:
        0
        17px;

    border:
        1px solid
        var(--kih-reco-accent, #1f9a4a);

    border-radius: 12px;

    background:
        var(--kih-reco-accent, #1f9a4a);

    color: #ffffff;

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

    cursor: pointer;

    box-shadow:
        0 8px 20px
        color-mix(
            in srgb,
            var(--kih-reco-accent, #1f9a4a) 18%,
            transparent
        );

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


.kih-product-callback__button
svg {
    width: 18px;
    height: 18px;

    fill: currentColor;
}


.kih-product-callback__button:hover,
.kih-product-callback__button:focus-visible {
    outline: none;

    transform: translateY(-1px);

    background:
        color-mix(
            in srgb,
            var(--kih-reco-accent, #1f9a4a) 90%,
            #000000
        );

    box-shadow:
        0 11px 24px
        color-mix(
            in srgb,
            var(--kih-reco-accent, #1f9a4a) 24%,
            transparent
        );
}


.kih-product-callback__action
small {
    color: #78857d;

    font-size: 10px;
    line-height: 1.2;
}


/* Admin-selected visual variants. */
body.kih-product-callback-style--outline
.kih-product-callback {
    background: #ffffff;

    box-shadow: none;
}


body.kih-product-callback-style--outline
.kih-product-callback__icon {
    border:
        1px solid
        color-mix(
            in srgb,
            var(--kih-reco-accent, #1f9a4a) 22%,
            var(--kih-reco-border, #dfe9e2)
        );
}


body.kih-product-callback-style--accent
.kih-product-callback {
    border-color:
        var(--kih-reco-accent, #1f9a4a);

    background:
        linear-gradient(
            135deg,
            var(--kih-reco-accent, #1f9a4a),
            color-mix(
                in srgb,
                var(--kih-reco-accent, #1f9a4a) 78%,
                #123c21
            )
        );

    color: #ffffff;
}


body.kih-product-callback-style--accent
.kih-product-callback__icon {
    background:
        rgba(255, 255, 255, .15);

    color: #ffffff;
}


body.kih-product-callback-style--accent
.kih-product-callback__eyebrow,
body.kih-product-callback-style--accent
.kih-product-callback__content
h2,
body.kih-product-callback-style--accent
.kih-product-callback__content
p,
body.kih-product-callback-style--accent
.kih-product-callback__action
small {
    color: #ffffff !important;
}


body.kih-product-callback-style--accent
.kih-product-callback__content
p,
body.kih-product-callback-style--accent
.kih-product-callback__action
small {
    opacity: .84;
}


body.kih-product-callback-style--accent
.kih-product-callback__button {
    border-color: #ffffff;

    background: #ffffff;

    color:
        var(--kih-reco-accent, #1f9a4a);

    box-shadow: none;
}


body.kih-product-callback-align--center
.kih-product-callback {
    grid-template-columns:
        1fr;

    justify-items: center;

    text-align: center;
}


body.kih-product-callback-align--center
.kih-product-callback__content
p {
    margin-left: auto !important;
    margin-right: auto !important;
}


@media (max-width: 760px) {

    .kih-product-callback {
        grid-template-columns:
            auto
            minmax(0, 1fr);

        gap:
            13px
            12px;

        margin:
            -8px
            0
            24px;

        padding:
            16px;

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


    .kih-product-callback__icon {
        width: 44px;
        height: 44px;

        border-radius: 13px;
    }


    .kih-product-callback__content
    h2 {
        font-size: 19px !important;
    }


    .kih-product-callback__content
    p {
        font-size: 12px;
    }


    .kih-product-callback__action {
        grid-column:
            1
            /
            -1;

        width: 100%;

        margin-top: 2px;
    }


    .kih-product-callback__button {
        width: 100%;
        min-height: 46px;
    }


    body.kih-product-callback-align--center
    .kih-product-callback {
        grid-template-columns:
            1fr;
    }


    body.kih-product-callback-align--center
    .kih-product-callback__action {
        grid-column: auto;
    }
}


/* =========================================================
   Legacy Avanam / theme sticky product bar — 2.15.53
========================================================= */

/*
 * The custom KihCarpet Product Page has its own variation / cart UI.
 * The old theme sticky purchase strip duplicates that UI at the bottom.
 */
body.single-product
.kih-hide-legacy-sticky-product-bar {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/*
 * Immediate selectors prevent the legacy bar from flashing before JS
 * identifies dynamically injected variants.
 */
body.single-product
.sticky-add-to-cart,
body.single-product
.sticky-add-to-cart-bar,
body.single-product
.sticky_add_to_cart,
body.single-product
.single-product-sticky-cart,
body.single-product
.tm-sticky-add-to-cart,
body.single-product
.templatemela-sticky-add-to-cart,
body.single-product
.avanam-sticky-add-to-cart,
body.single-product
.product-sticky-cart,
body.single-product
.product-sticky-bar,
body.single-product
.sticky-product-bar,
body.single-product
.woocommerce-sticky-add-to-cart,
body.single-product
.storefront-sticky-add-to-cart {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}



/* =========================================================
   Product page top actions row — 2.15.58
========================================================= */

body.single-product
.summary
.kih-product-top-meta{
    display:flex;
    align-items:center;
    gap:12px 14px;
    flex-wrap:wrap;
    width:100%;
    margin:12px 0 18px;
}

body.single-product
.summary
.kih-product-top-meta
.price{
    order:1;
    margin:0 !important;
    flex:0 0 auto;
}

body.single-product
.summary
.kih-product-top-meta
.price,
body.single-product
.summary
.kih-product-top-meta
.price *{
    white-space:nowrap;
}

body.single-product
.summary
.kih-product-top-meta
.kih-fc-actions--single{
    order:2;
    width:auto !important;
    max-width:100%;
    margin:0 !important;
    flex:0 1 auto;
    align-items:center;
    gap:10px;
}

body.single-product
.summary
.kih-product-top-meta
.kih-fc-action{
    min-height:40px;
    padding:0 15px;
}

body.single-product
.summary
.kih-product-top-meta
.kih-product-rating{
    order:3;
    margin:0 0 0 auto !important;
    flex:0 0 auto;
}

body.single-product
.summary
.kih-product-top-meta
.kih-product-rating,
body.single-product
.summary
.kih-product-top-meta
.kih-product-rating *{
    white-space:nowrap;
}

@media (max-width: 1200px){
    body.single-product
    .summary
    .kih-product-top-meta{
        gap:10px 12px;
    }

    body.single-product
    .summary
    .kih-product-top-meta
    .kih-product-rating{
        margin-left:0 !important;
    }
}

@media (max-width: 767px){
    body.single-product
    .summary
    .kih-product-top-meta{
        align-items:flex-start;
        margin:10px 0 14px;
    }

    body.single-product
    .summary
    .kih-product-top-meta
    .price{
        width:100%;
    }

    body.single-product
    .summary
    .kih-product-top-meta
    .kih-fc-actions--single{
        width:100% !important;
    }

    body.single-product
    .summary
    .kih-product-top-meta
    .kih-product-rating{
        width:100%;
    }
}


/* =========================================================
   Configurable Favorite / Compare controls on Product Page — 2.15.64
========================================================= */

body.single-product .summary{
    position:relative;
}

/* Base wrapper: placement is selected in KihCarpet admin. */
body.single-product
.summary
.kih-product-top-meta
.kih-fc-actions--single{
    z-index:12;
    display:flex!important;
    align-items:center;
    flex-wrap:nowrap;
    gap:var(--kih-fc-single-gap,7px)!important;
    opacity:var(--kih-fc-single-opacity,.9);
}

/* Position: top-right corner. */
body.single-product
.summary
.kih-product-top-meta
.kih-fc-actions--single.kih-fc-single-pos-corner{
    position:absolute!important;
    top:2px!important;
    right:0!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
}

/* Positions inside the normal Product Page flow. */
body.single-product
.summary
.kih-product-top-meta
.kih-fc-actions--single.kih-fc-single-pos-title_row,
body.single-product
.summary
.kih-product-top-meta
.kih-fc-actions--single.kih-fc-single-pos-price_row,
body.single-product
.summary
.kih-product-top-meta
.kih-fc-actions--single.kih-fc-single-pos-below_price{
    position:static!important;
    right:auto!important;
    top:auto!important;
    margin:0!important;
}

body.single-product
.summary
.kih-product-top-meta
.kih-fc-actions--single.kih-fc-single-pos-title_row{
    order:0;
    flex:1 0 100%;
    width:100%!important;
    justify-content:flex-start;
    margin-bottom:2px!important;
}

body.single-product
.summary
.kih-product-top-meta
.kih-fc-actions--single.kih-fc-single-pos-price_row{
    order:2;
    width:auto!important;
    justify-content:flex-start;
}

body.single-product
.summary
.kih-product-top-meta
.kih-fc-actions--single.kih-fc-single-pos-below_price{
    order:2;
    flex:1 0 100%;
    width:100%!important;
    justify-content:flex-start;
}

/* Keep the product title clear only when the controls really sit in the corner. */
body.single-product
.summary:has(.kih-fc-single-pos-corner)
.product_title{
    padding-right:92px;
}

body.single-product
.summary:has(.kih-fc-single-pos-title_row)
.product_title,
body.single-product
.summary:has(.kih-fc-single-pos-price_row)
.product_title,
body.single-product
.summary:has(.kih-fc-single-pos-below_price)
.product_title{
    padding-right:0;
}

/* Shared single-product button skin. */
body.single-product
.summary
.kih-fc-actions--single
.kih-fc-action{
    min-height:var(--kih-fc-single-size,34px)!important;
    border:1px solid var(--kih-fc-card-border,#d7e4da)!important;
    background:var(--kih-fc-card-bg,#fff)!important;
    color:var(--kih-fc-card-color,#476052)!important;
    box-shadow:0 5px 14px rgba(25,66,37,.055)!important;
    backdrop-filter:blur(7px);
    transition:.15s ease;
}

body.single-product
.summary
.kih-fc-actions--single
.kih-fc-action svg{
    flex:0 0 auto;
    width:var(--kih-fc-single-icon-size,15px)!important;
    height:var(--kih-fc-single-icon-size,15px)!important;
}

body.single-product
.summary
.kih-fc-actions--single
.kih-fc-action:hover,
body.single-product
.summary
.kih-fc-actions--single
.kih-fc-action.is-active{
    opacity:1;
    transform:translateY(-1px);
    border-color:var(--kih-fc-card-active-color,#159447)!important;
    background:var(--kih-fc-card-active-bg,#eef9f1)!important;
    color:var(--kih-fc-card-active-color,#159447)!important;
}

/* Style: icons only. */
body.single-product
.summary
.kih-fc-actions--single.kih-fc-single-style-icons
.kih-fc-action{
    position:relative;
    width:var(--kih-fc-single-size,34px)!important;
    height:var(--kih-fc-single-size,34px)!important;
    min-width:var(--kih-fc-single-size,34px)!important;
    padding:0!important;
    border-radius:50%!important;
}

body.single-product
.summary
.kih-fc-actions--single.kih-fc-single-style-icons
.kih-fc-action span{
    position:absolute;
    z-index:30;
    top:calc(100% + 8px);
    right:0;
    width:max-content;
    max-width:180px;
    padding:6px 8px;
    border-radius:8px;
    background:#183222;
    color:#fff;
    font-size:10px;
    font-weight:650;
    line-height:1.2;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-3px);
    transition:.14s ease;
    box-shadow:0 6px 18px rgba(20,45,29,.14);
}

body.single-product
.summary
.kih-fc-actions--single.kih-fc-single-style-icons
.kih-fc-action:hover span,
body.single-product
.summary
.kih-fc-actions--single.kih-fc-single-style-icons
.kih-fc-action:focus-visible span{
    opacity:1;
    visibility:visible;
    transform:none;
}

/* Style: compact pills. */
body.single-product
.summary
.kih-fc-actions--single.kih-fc-single-style-compact
.kih-fc-action{
    width:auto!important;
    min-width:0!important;
    height:var(--kih-fc-single-size,34px)!important;
    padding:0 11px!important;
    border-radius:999px!important;
    gap:6px!important;
}

body.single-product
.summary
.kih-fc-actions--single.kih-fc-single-style-compact
.kih-fc-action span{
    position:static!important;
    display:inline!important;
    width:auto!important;
    max-width:150px;
    padding:0!important;
    background:none!important;
    color:inherit!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    box-shadow:none!important;
    font-size:9px;
    font-weight:750;
    white-space:nowrap;
}

/* Style: normal text buttons. */
body.single-product
.summary
.kih-fc-actions--single.kih-fc-single-style-buttons
.kih-fc-action{
    width:auto!important;
    min-width:0!important;
    height:var(--kih-fc-single-size,34px)!important;
    padding:0 14px!important;
    border-radius:10px!important;
    gap:7px!important;
}

body.single-product
.summary
.kih-fc-actions--single.kih-fc-single-style-buttons
.kih-fc-action span{
    position:static!important;
    display:inline!important;
    width:auto!important;
    max-width:180px;
    padding:0!important;
    background:none!important;
    color:inherit!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    box-shadow:none!important;
    font-size:10px;
    font-weight:750;
    white-space:nowrap;
}

/* Flow ordering of price and rating. */
body.single-product
.summary
.kih-product-top-meta
.price{
    order:1;
}

body.single-product
.summary
.kih-product-top-meta
.kih-product-rating{
    order:3;
}

@media(max-width:767px){
    body.single-product
    .summary:has(.kih-fc-single-pos-corner)
    .product_title{
        padding-right:80px;
    }

    body.single-product
    .summary
    .kih-product-top-meta
    .kih-fc-actions--single.kih-fc-single-pos-corner{
        top:1px!important;
    }

    body.single-product
    .summary
    .kih-fc-actions--single.kih-fc-single-style-icons
    .kih-fc-action span{
        display:none!important;
    }

    /* Text modes remain usable on phones but are kept deliberately compact. */
    body.single-product
    .summary
    .kih-fc-actions--single.kih-fc-single-style-compact
    .kih-fc-action,
    body.single-product
    .summary
    .kih-fc-actions--single.kih-fc-single-style-buttons
    .kih-fc-action{
        padding-left:9px!important;
        padding-right:9px!important;
    }
}



/* Extra room when a text style is intentionally placed in the corner. */
body.single-product
.summary:has(.kih-fc-single-pos-corner.kih-fc-single-style-compact)
.product_title{
    padding-right:220px;
}

body.single-product
.summary:has(.kih-fc-single-pos-corner.kih-fc-single-style-buttons)
.product_title{
    padding-right:280px;
}

@media(max-width:767px){
    /* Text buttons are more usable below the title on narrow screens. */
    body.single-product
    .summary
    .kih-product-top-meta
    .kih-fc-actions--single.kih-fc-single-pos-corner.kih-fc-single-style-compact,
    body.single-product
    .summary
    .kih-product-top-meta
    .kih-fc-actions--single.kih-fc-single-pos-corner.kih-fc-single-style-buttons{
        position:static!important;
        order:0;
        flex:1 0 100%;
        width:100%!important;
        justify-content:flex-start;
        margin:0 0 2px!important;
    }

    body.single-product
    .summary:has(.kih-fc-single-pos-corner.kih-fc-single-style-compact)
    .product_title,
    body.single-product
    .summary:has(.kih-fc-single-pos-corner.kih-fc-single-style-buttons)
    .product_title{
        padding-right:0;
    }
}


/* =========================================================
   Product Page Favorite / Compare — mobile controls 2.15.67
   Separate mobile positioning prevents long titles from colliding
   with Favorite / Compare controls.
========================================================= */
@media(max-width:767px){

    body.single-product
    .summary
    .kih-product-top-meta
    .kih-fc-actions--single{
        max-width:100%!important;
    }

    /* ---------------------------------------------------------
       Dedicated mobile mode
    --------------------------------------------------------- */
    body.single-product
    .summary
    .kih-product-top-meta
    .kih-fc-actions--single.kih-fc-mobile-custom{
        gap:var(--kih-fc-single-mobile-gap,7px)!important;
        opacity:var(--kih-fc-single-mobile-opacity,.92)!important;
    }

    /* Long product names get their full width in all safe flow modes. */
    body.single-product
    .summary:has(.kih-fc-mobile-custom.kih-fc-mobile-pos-below_title_right)
    .product_title,
    body.single-product
    .summary:has(.kih-fc-mobile-custom.kih-fc-mobile-pos-below_title_left)
    .product_title,
    body.single-product
    .summary:has(.kih-fc-mobile-custom.kih-fc-mobile-pos-price_right)
    .product_title,
    body.single-product
    .summary:has(.kih-fc-mobile-custom.kih-fc-mobile-pos-price_left)
    .product_title{
        width:100%!important;
        max-width:100%!important;
        padding-right:0!important;
    }

    /* Under title — recommended mobile placement. */
    body.single-product
    .summary
    .kih-product-top-meta
    .kih-fc-actions--single.kih-fc-mobile-custom.kih-fc-mobile-pos-below_title_right,
    body.single-product
    .summary
    .kih-product-top-meta
    .kih-fc-actions--single.kih-fc-mobile-custom.kih-fc-mobile-pos-below_title_left{
        position:static!important;
        inset:auto!important;
        order:0!important;
        flex:1 0 100%!important;
        width:100%!important;
        margin:-2px 0 5px!important;
    }

    body.single-product
    .summary
    .kih-product-top-meta
    .kih-fc-actions--single.kih-fc-mobile-custom.kih-fc-mobile-pos-below_title_right{
        justify-content:flex-end!important;
    }

    body.single-product
    .summary
    .kih-product-top-meta
    .kih-fc-actions--single.kih-fc-mobile-custom.kih-fc-mobile-pos-below_title_left{
        justify-content:flex-start!important;
    }

    /* In the price row. */
    body.single-product
    .summary:has(.kih-fc-mobile-custom.kih-fc-mobile-pos-price_right)
    .kih-product-top-meta,
    body.single-product
    .summary:has(.kih-fc-mobile-custom.kih-fc-mobile-pos-price_left)
    .kih-product-top-meta{
        align-items:center!important;
    }

    body.single-product
    .summary:has(.kih-fc-mobile-custom.kih-fc-mobile-pos-price_right)
    .kih-product-top-meta
    .price,
    body.single-product
    .summary:has(.kih-fc-mobile-custom.kih-fc-mobile-pos-price_left)
    .kih-product-top-meta
    .price{
        width:auto!important;
        min-width:0!important;
        flex:1 1 auto!important;
    }

    body.single-product
    .summary
    .kih-product-top-meta
    .kih-fc-actions--single.kih-fc-mobile-custom.kih-fc-mobile-pos-price_right,
    body.single-product
    .summary
    .kih-product-top-meta
    .kih-fc-actions--single.kih-fc-mobile-custom.kih-fc-mobile-pos-price_left{
        position:static!important;
        inset:auto!important;
        flex:0 0 auto!important;
        width:auto!important;
        margin:0!important;
    }

    body.single-product
    .summary
    .kih-product-top-meta
    .kih-fc-actions--single.kih-fc-mobile-custom.kih-fc-mobile-pos-price_right{
        order:2!important;
        margin-left:auto!important;
        justify-content:flex-end!important;
    }

    body.single-product
    .summary
    .kih-product-top-meta
    .kih-fc-actions--single.kih-fc-mobile-custom.kih-fc-mobile-pos-price_left{
        order:1!important;
        margin-right:2px!important;
        justify-content:flex-start!important;
    }

    body.single-product
    .summary:has(.kih-fc-mobile-custom.kih-fc-mobile-pos-price_left)
    .kih-product-top-meta
    .price{
        order:2!important;
    }

    /* Optional true corner placement. Reserve the same width for every title line. */
    body.single-product
    .summary
    .kih-product-top-meta
    .kih-fc-actions--single.kih-fc-mobile-custom.kih-fc-mobile-pos-corner{
        position:absolute!important;
        top:1px!important;
        right:0!important;
        left:auto!important;
        width:auto!important;
        max-width:none!important;
        margin:0!important;
        justify-content:flex-end!important;
    }

    body.single-product
    .summary:has(.kih-fc-mobile-custom.kih-fc-mobile-pos-corner)
    .product_title{
        width:100%!important;
        max-width:100%!important;
        padding-right:calc(
            (var(--kih-fc-single-mobile-size,32px) * 2)
            + var(--kih-fc-single-mobile-gap,7px)
            + 14px
        )!important;
    }

    /* ---------------------------------------------------------
       Dedicated mobile appearance
    --------------------------------------------------------- */
    body.single-product
    .summary
    .kih-fc-actions--single.kih-fc-mobile-custom
    .kih-fc-action{
        min-height:var(--kih-fc-single-mobile-size,32px)!important;
    }

    body.single-product
    .summary
    .kih-fc-actions--single.kih-fc-mobile-custom
    .kih-fc-action svg{
        width:var(--kih-fc-single-mobile-icon-size,14px)!important;
        height:var(--kih-fc-single-mobile-icon-size,14px)!important;
    }

    /* Mobile icons. */
    body.single-product
    .summary
    .kih-fc-actions--single.kih-fc-mobile-custom.kih-fc-mobile-style-icons
    .kih-fc-action{
        position:relative!important;
        width:var(--kih-fc-single-mobile-size,32px)!important;
        height:var(--kih-fc-single-mobile-size,32px)!important;
        min-width:var(--kih-fc-single-mobile-size,32px)!important;
        padding:0!important;
        border-radius:50%!important;
        gap:0!important;
    }

    body.single-product
    .summary
    .kih-fc-actions--single.kih-fc-mobile-custom.kih-fc-mobile-style-icons
    .kih-fc-action span{
        display:none!important;
    }

    /* Mobile compact pills. */
    body.single-product
    .summary
    .kih-fc-actions--single.kih-fc-mobile-custom.kih-fc-mobile-style-compact
    .kih-fc-action{
        position:relative!important;
        width:auto!important;
        min-width:0!important;
        height:var(--kih-fc-single-mobile-size,32px)!important;
        padding:0 9px!important;
        border-radius:999px!important;
        gap:5px!important;
    }

    body.single-product
    .summary
    .kih-fc-actions--single.kih-fc-mobile-custom.kih-fc-mobile-style-compact
    .kih-fc-action span{
        position:static!important;
        display:inline!important;
        width:auto!important;
        max-width:120px!important;
        padding:0!important;
        background:none!important;
        color:inherit!important;
        opacity:1!important;
        visibility:visible!important;
        transform:none!important;
        box-shadow:none!important;
        font-size:9px!important;
        font-weight:750!important;
        line-height:1!important;
        white-space:nowrap!important;
    }

    /* Mobile text buttons. */
    body.single-product
    .summary
    .kih-fc-actions--single.kih-fc-mobile-custom.kih-fc-mobile-style-buttons
    .kih-fc-action{
        position:relative!important;
        width:auto!important;
        min-width:0!important;
        height:var(--kih-fc-single-mobile-size,32px)!important;
        padding:0 10px!important;
        border-radius:10px!important;
        gap:6px!important;
    }

    body.single-product
    .summary
    .kih-fc-actions--single.kih-fc-mobile-custom.kih-fc-mobile-style-buttons
    .kih-fc-action span{
        position:static!important;
        display:inline!important;
        width:auto!important;
        max-width:130px!important;
        padding:0!important;
        background:none!important;
        color:inherit!important;
        opacity:1!important;
        visibility:visible!important;
        transform:none!important;
        box-shadow:none!important;
        font-size:9px!important;
        font-weight:750!important;
        line-height:1!important;
        white-space:nowrap!important;
    }

    /* ---------------------------------------------------------
       "Inherit desktop" safety.
       A desktop corner is automatically converted into a separate
       mobile row, because long titles must never sit under the buttons.
    --------------------------------------------------------- */
    body.single-product
    .summary
    .kih-product-top-meta
    .kih-fc-actions--single.kih-fc-mobile-inherit.kih-fc-single-pos-corner{
        position:static!important;
        inset:auto!important;
        order:0!important;
        flex:1 0 100%!important;
        width:100%!important;
        margin:-2px 0 5px!important;
        justify-content:flex-end!important;
    }

    body.single-product
    .summary:has(.kih-fc-mobile-inherit.kih-fc-single-pos-corner)
    .product_title{
        width:100%!important;
        max-width:100%!important;
        padding-right:0!important;
    }
}


/* =========================================================
   Runner Product Page — length + overlock UX 2.15.73
========================================================= */

/* Hide the old Decimal Product Quantity label after JS identifies it. */
body.kih-product-family--runner
.summary
.kih-runner-legacy-length-label{
    display:none!important;
}

/* ---------------- Overlock attention card ---------------- */

body.kih-product-family--runner
.summary
form.variations_form
.overlock-option.kih-runner-overlock{
    width:100%!important;
    margin:14px 0 12px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
}

body.kih-product-family--runner
.summary
form.variations_form
.overlock-option.kih-runner-overlock[hidden]{
    display:none!important;
}

body.kih-product-family--runner
.summary
.kih-runner-overlock__card{
    position:relative;
    display:grid;
    grid-template-columns:46px minmax(0,1fr) auto 44px;
    gap:13px;
    align-items:center;
    width:100%;
    min-height:82px;
    padding:13px 15px;
    border:1px solid #d7e8dc;
    border-left:4px solid #27a64f;
    border-radius:15px;
    background:
        linear-gradient(
            135deg,
            #fbfefc 0%,
            #f4faf6 100%
        );
    box-shadow:0 7px 22px rgba(23,82,41,.065);
    color:#1e3024;
    cursor:pointer;
    transition:
        border-color .16s ease,
        background .16s ease,
        box-shadow .16s ease,
        transform .16s ease;
}

body.kih-product-family--runner
.summary
.kih-runner-overlock__card:hover{
    border-color:#b9ddc4;
    box-shadow:0 9px 25px rgba(23,82,41,.09);
    transform:translateY(-1px);
}

body.kih-product-family--runner
.summary
.kih-runner-overlock.is-selected
.kih-runner-overlock__card{
    border-color:#67c681;
    border-left-color:#159447;
    background:
        linear-gradient(
            135deg,
            #f2fbf4 0%,
            #eaf8ee 100%
        );
    box-shadow:0 9px 25px rgba(21,148,71,.11);
}

body.kih-product-family--runner
.summary
.kih-runner-overlock__input{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    margin:-1px!important;
    padding:0!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    white-space:nowrap!important;
    border:0!important;
    opacity:0!important;
}

body.kih-product-family--runner
.summary
.kih-runner-overlock__icon{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:13px;
    background:#eaf7ee;
    color:#159447;
}

body.kih-product-family--runner
.summary
.kih-runner-overlock__icon svg{
    width:23px;
    height:23px;
}

body.kih-product-family--runner
.summary
.kih-runner-overlock__content{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:4px;
}

body.kih-product-family--runner
.summary
.kih-runner-overlock__content strong{
    color:#183122;
    font-size:13px;
    font-weight:800;
    line-height:1.2;
}

body.kih-product-family--runner
.summary
.kih-runner-overlock__content small{
    max-width:360px;
    color:#66756b;
    font-size:10.5px;
    font-weight:500;
    line-height:1.4;
}

body.kih-product-family--runner
.summary
.kih-runner-overlock__price{
    display:flex;
    min-width:92px;
    flex-direction:column;
    align-items:flex-end;
    gap:2px;
    text-align:right;
}

body.kih-product-family--runner
.summary
.kih-runner-overlock__price strong{
    color:#159447;
    font-size:14px;
    font-weight:800;
    line-height:1.2;
}

body.kih-product-family--runner
.summary
.kih-runner-overlock__price small{
    color:#78857d;
    font-size:9px;
    line-height:1.2;
    white-space:nowrap;
}

body.kih-product-family--runner
.summary
.kih-runner-overlock__switch{
    position:relative;
    display:block;
    width:42px;
    height:24px;
    border:1px solid #c8d9cd;
    border-radius:999px;
    background:#e8efea;
    box-shadow:inset 0 1px 2px rgba(17,55,28,.05);
    transition:.16s ease;
}

body.kih-product-family--runner
.summary
.kih-runner-overlock__switch span{
    position:absolute;
    top:3px;
    left:3px;
    width:16px;
    height:16px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 5px rgba(18,54,27,.18);
    transition:.16s ease;
}

body.kih-product-family--runner
.summary
.kih-runner-overlock.is-selected
.kih-runner-overlock__switch{
    border-color:#159447;
    background:#159447;
}

body.kih-product-family--runner
.summary
.kih-runner-overlock.is-selected
.kih-runner-overlock__switch span{
    transform:translateX(18px);
}

/* ---------------- Large decimal runner length control ---------------- */

body.kih-product-family--runner
.summary
form.variations_form
.woocommerce-variation-add-to-cart{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    align-items:stretch!important;
    width:100%!important;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card{
    display:grid;
    gap:11px;
    width:100%;
    margin:4px 0 0;
    padding:14px 15px 15px;
    border:1px solid #dbe8df;
    border-radius:15px;
    background:
        linear-gradient(
            180deg,
            #fbfefc 0%,
            #f7fbf8 100%
        );
    box-shadow:0 6px 20px rgba(24,83,42,.055);
    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card.has-error{
    border-color:#e7a8a8;
    box-shadow:0 7px 22px rgba(176,45,45,.08);
}

body.kih-product-family--runner
.summary
.kih-runner-length-card__head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card__head > div{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:4px;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card__head strong{
    color:#1b3022;
    font-size:14px;
    font-weight:800;
    line-height:1.2;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card__head small{
    color:#708078;
    font-size:10.5px;
    font-weight:500;
    line-height:1.35;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card__stock{
    display:inline-flex;
    flex:0 0 auto;
    align-items:center;
    min-height:26px;
    padding:5px 9px;
    border:1px solid #cee4d4;
    border-radius:999px;
    background:#eef8f1;
    color:#1c7b3d;
    font-size:10px;
    font-weight:750;
    line-height:1;
    white-space:nowrap;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card__stock:empty{
    display:none;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card__control{
    display:grid;
    grid-template-columns:minmax(0,1fr) 34px;
    align-items:center;
    gap:8px;
    width:100%;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card__control::after{
    content:"м";
    display:grid;
    place-items:center;
    width:34px;
    height:52px;
    border:1px solid #d6e4da;
    border-radius:11px;
    background:#fff;
    color:#516158;
    font-size:13px;
    font-weight:800;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card
.quantity{
    display:grid!important;
    grid-template-columns:52px minmax(90px,1fr) 52px!important;
    align-items:stretch!important;
    width:100%!important;
    min-width:0!important;
    height:52px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #cfded3!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 4px 13px rgba(21,72,36,.045)!important;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card
.quantity
.minus,
body.kih-product-family--runner
.summary
.kih-runner-length-card
.quantity
.plus{
    appearance:none!important;
    -webkit-appearance:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:52px!important;
    min-width:52px!important;
    height:52px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:#f8fbf9!important;
    color:#1d3525!important;
    box-shadow:none!important;
    font-size:20px!important;
    font-weight:650!important;
    line-height:1!important;
    cursor:pointer!important;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card
.quantity
.minus:hover,
body.kih-product-family--runner
.summary
.kih-runner-length-card
.quantity
.plus:hover{
    background:#edf8f0!important;
    color:#159447!important;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card
.quantity
.qty{
    appearance:textfield!important;
    -moz-appearance:textfield!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:52px!important;
    margin:0!important;
    padding:0 10px!important;
    border:0!important;
    border-right:1px solid #d9e5dc!important;
    border-left:1px solid #d9e5dc!important;
    border-radius:0!important;
    background:#fff!important;
    color:#172b1e!important;
    box-shadow:none!important;
    font-family:inherit!important;
    font-size:18px!important;
    font-weight:800!important;
    line-height:52px!important;
    text-align:center!important;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card
.quantity
.qty.has-error{
    background:#fff7f7!important;
    color:#a23e3e!important;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card
.quantity
.qty::-webkit-inner-spin-button,
body.kih-product-family--runner
.summary
.kih-runner-length-card
.quantity
.qty::-webkit-outer-spin-button{
    margin:0!important;
    -webkit-appearance:none!important;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card__foot{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    color:#748078;
    font-size:9.5px;
    line-height:1.35;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card__foot > span:first-child{
    white-space:nowrap;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card__error{
    flex:1 1 auto;
    color:#b23e3e;
    font-weight:700;
    text-align:right;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card__error:empty{
    display:none;
}

/* Runner Add to Cart becomes a clean full-width action below length. */
body.kih-product-family--runner
.summary
form.variations_form
.woocommerce-variation-add-to-cart
.single_add_to_cart_button{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:50px!important;
    margin:0!important;
    padding:0 20px!important;
    border-radius:12px!important;
    box-shadow:0 7px 18px rgba(31,154,74,.14)!important;
}

body.kih-product-family--runner
.summary
form.variations_form
.woocommerce-variation-add-to-cart
.single_add_to_cart_button.kih-runner-length-blocked{
    cursor:not-allowed!important;
    opacity:.52!important;
    box-shadow:none!important;
}

@media(max-width:620px){
    body.kih-product-family--runner
    .summary
    .kih-runner-overlock__card{
        grid-template-columns:42px minmax(0,1fr) 42px;
        gap:10px;
        min-height:78px;
        padding:12px;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-overlock__icon{
        width:42px;
        height:42px;
        border-radius:12px;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-overlock__price{
        grid-column:2 / -1;
        grid-row:2;
        align-items:flex-start;
        min-width:0;
        text-align:left;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-overlock__switch{
        grid-column:3;
        grid-row:1;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-length-card{
        padding:13px 12px 14px;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-length-card__head{
        flex-direction:column;
        gap:8px;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-length-card__stock{
        align-self:flex-start;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-length-card
    .quantity{
        grid-template-columns:50px minmax(86px,1fr) 50px!important;
        height:54px!important;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-length-card
    .quantity
    .minus,
    body.kih-product-family--runner
    .summary
    .kih-runner-length-card
    .quantity
    .plus{
        width:50px!important;
        min-width:50px!important;
        height:54px!important;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-length-card
    .quantity
    .qty{
        height:54px!important;
        font-size:18px!important;
        line-height:54px!important;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-length-card__control::after{
        height:54px;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-length-card__foot{
        flex-direction:column;
        gap:5px;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-length-card__error{
        text-align:left;
    }
}


/* =========================================================
   Runner Product Page — selection gate + pieces + compact buy row 2.15.74
========================================================= */

/* Do not show length / pieces / Add to Cart before a concrete width exists. */
body.kih-product-family--runner
.summary
form.variations_form
.woocommerce-variation-add-to-cart:not(.kih-runner-selection-ready),
body.kih-product-family--runner
.summary
form.variations_form
.woocommerce-variation-add-to-cart[hidden]{
    display:none!important;
}

/* Once ready, keep the runner purchase area clean and structured. */
body.kih-product-family--runner
.summary
form.variations_form
.woocommerce-variation-add-to-cart.kih-runner-selection-ready{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    width:100%!important;
}

/* Pieces selector + compact Add to Cart, visually matching carpet products. */
body.kih-product-family--runner
.summary
.kih-runner-purchase-row{
    display:flex;
    align-items:flex-end;
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:12px;
    width:100%;
}

body.kih-product-family--runner
.summary
.kih-runner-pieces{
    display:grid;
    grid-template-columns:auto auto;
    grid-template-areas:
        "head control"
        "hint hint";
    align-items:end;
    gap:7px 10px;
    min-width:255px;
    padding:10px 11px;
    border:1px solid #dbe7de;
    border-radius:12px;
    background:#fbfdfb;
}

body.kih-product-family--runner
.summary
.kih-runner-pieces__head{
    grid-area:head;
    display:flex;
    flex-direction:column;
    gap:3px;
    min-width:125px;
}

body.kih-product-family--runner
.summary
.kih-runner-pieces__head strong{
    color:#1b3022;
    font-size:11.5px;
    font-weight:800;
    line-height:1.15;
}

body.kih-product-family--runner
.summary
.kih-runner-pieces__head small{
    color:#78847c;
    font-size:8.5px;
    font-weight:500;
    line-height:1.2;
}

body.kih-product-family--runner
.summary
.kih-runner-pieces__control{
    grid-area:control;
    display:grid;
    grid-template-columns:34px 46px 34px;
    align-items:stretch;
    height:38px;
    overflow:hidden;
    border:1px solid #d3e0d6;
    border-radius:10px;
    background:#fff;
}

body.kih-product-family--runner
.summary
.kih-runner-pieces__control button,
body.kih-product-family--runner
.summary
.kih-runner-pieces__control input{
    appearance:none!important;
    -webkit-appearance:none!important;
    width:100%!important;
    min-width:0!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#203228!important;
    text-align:center!important;
}

body.kih-product-family--runner
.summary
.kih-runner-pieces__control button{
    font-size:16px!important;
    font-weight:700!important;
    cursor:pointer!important;
}

body.kih-product-family--runner
.summary
.kih-runner-pieces__control button:hover:not(:disabled){
    background:#eef8f1!important;
    color:#159447!important;
}

body.kih-product-family--runner
.summary
.kih-runner-pieces__control button:disabled{
    opacity:.35!important;
    cursor:not-allowed!important;
}

body.kih-product-family--runner
.summary
.kih-runner-pieces__control input{
    border-right:1px solid #dce6df!important;
    border-left:1px solid #dce6df!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:38px!important;
    -moz-appearance:textfield!important;
}

body.kih-product-family--runner
.summary
.kih-runner-pieces__control input::-webkit-inner-spin-button,
body.kih-product-family--runner
.summary
.kih-runner-pieces__control input::-webkit-outer-spin-button{
    margin:0!important;
    -webkit-appearance:none!important;
}

body.kih-product-family--runner
.summary
.kih-runner-pieces__hint{
    grid-area:hint;
    min-height:10px;
    color:#728078;
    font-size:8.5px;
    line-height:1.2;
}

body.kih-product-family--runner
.summary
.kih-runner-pieces__hint:empty{
    display:none;
}

body.kih-product-family--runner
.summary
.kih-runner-buy-slot{
    display:flex;
    align-items:flex-end;
}

/* Same visual proportions as carpets/mats: compact green action, not full width. */
body.kih-product-family--runner
.summary
form.variations_form
.woocommerce-variation-add-to-cart
.kih-runner-buy-slot
.single_add_to_cart_button{
    flex:0 0 var(--kih-buy-width,260px)!important;
    width:var(--kih-buy-width,260px)!important;
    min-width:min(var(--kih-buy-width,260px),100%)!important;
    max-width:100%!important;
    height:var(--kih-buy-height,46px)!important;
    min-height:var(--kih-buy-height,46px)!important;
    margin:0!important;
    padding:0 20px!important;
    border:0!important;
    border-radius:var(--kih-buy-radius,10px)!important;
    background:var(--kih-buy-bg,#1f9a4a)!important;
    color:var(--kih-buy-text,#fff)!important;
    box-shadow:
        0 7px 18px
        color-mix(
            in srgb,
            var(--kih-buy-bg,#1f9a4a) 18%,
            transparent
        )
        !important;
    font-family:inherit!important;
    font-size:var(--kih-buy-font,13px)!important;
    font-weight:800!important;
    line-height:1!important;
    letter-spacing:.01em!important;
    text-align:center!important;
    text-transform:uppercase!important;
    text-shadow:none!important;
}

body.kih-product-family--runner
.summary
form.variations_form
.woocommerce-variation-add-to-cart
.kih-runner-buy-slot
.single_add_to_cart_button:hover:not(:disabled){
    background:var(--kih-buy-hover,#17823e)!important;
    transform:translateY(-1px);
}

body.kih-product-family--runner
.summary
form.variations_form
.woocommerce-variation-add-to-cart
.kih-runner-buy-slot
.single_add_to_cart_button:disabled{
    opacity:.5!important;
    cursor:not-allowed!important;
    transform:none!important;
    box-shadow:none!important;
}

/* Older full-width rule from 2.15.73 must not win after we build the new row. */
body.kih-product-family--runner
.summary
.kih-runner-purchase-row
.single_add_to_cart_button{
    width:var(--kih-buy-width,260px)!important;
    max-width:100%!important;
}

/* Overlock total represents all initially selected equal cuts. */
body.kih-product-family--runner
.summary
.kih-runner-overlock__content small{
    max-width:420px;
}

@media(max-width:620px){
    body.kih-product-family--runner
    .summary
    .kih-runner-purchase-row{
        align-items:stretch;
        flex-direction:column;
        gap:10px;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-pieces{
        width:100%;
        min-width:0;
        grid-template-columns:minmax(0,1fr) auto;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-buy-slot{
        width:100%;
    }

    body.kih-product-family--runner
    .summary
    form.variations_form
    .woocommerce-variation-add-to-cart
    .kih-runner-buy-slot
    .single_add_to_cart_button{
        width:100%!important;
        min-width:0!important;
        flex:1 1 auto!important;
    }
}


/* =========================================================
   Runner Product Page refinements — 2.15.75
========================================================= */

body.kih-product-family--runner
.summary
.kih-runner-length-card__head strong,
body.kih-product-family--runner
.summary
.kih-runner-pieces__head strong,
body.kih-product-family--runner
.summary
.kih-runner-overlock__content strong{
    font-size:var(--kih-runner-title-size,14px)!important;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card__head small,
body.kih-product-family--runner
.summary
.kih-runner-length-card__foot,
body.kih-product-family--runner
.summary
.kih-runner-pieces__head small,
body.kih-product-family--runner
.summary
.kih-runner-pieces__hint,
body.kih-product-family--runner
.summary
.kih-runner-overlock__content small,
body.kih-product-family--runner
.summary
.kih-runner-overlock__price small{
    font-size:var(--kih-runner-text-size,10px)!important;
}

body.kih-product-family--runner
.summary
.kih-runner-purchase-row{
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:12px;
    align-items:start;
}

body.kih-product-family--runner
.summary
.kih-runner-purchase-row[data-kih-runner-desktop-layout="inline"]{
    grid-template-columns:minmax(260px,360px) minmax(220px,var(--kih-runner-btn-width,320px));
    align-items:end;
}

body.kih-product-family--runner
.summary
.kih-runner-purchase-row[data-kih-runner-desktop-layout="below"]{
    grid-template-columns:minmax(0,360px);
}

body.kih-product-family--runner
.summary
.kih-runner-pieces{
    box-shadow:0 4px 12px rgba(16,57,28,.04);
}

body.kih-product-family--runner
.summary
.kih-runner-buy-slot{
    width:100%;
    display:flex;
    align-items:flex-end;
}

body.kih-product-family--runner
.summary
.kih-runner-purchase-row[data-kih-runner-desktop-layout="below"]
.kih-runner-buy-slot{
    align-items:flex-start;
}

body.kih-product-family--runner
.summary
form.variations_form
.woocommerce-variation-add-to-cart
.kih-runner-buy-slot
.single_add_to_cart_button{
    background:var(--kih-runner-btn-bg,var(--kih-buy-bg,#1f9a4a))!important;
    color:var(--kih-runner-btn-text,var(--kih-buy-text,#fff))!important;
    flex:0 0 var(--kih-runner-btn-width,320px)!important;
    width:var(--kih-runner-btn-width,320px)!important;
    min-width:min(var(--kih-runner-btn-width,320px),100%)!important;
    height:var(--kih-runner-btn-height,var(--kih-buy-height,46px))!important;
    min-height:var(--kih-runner-btn-height,var(--kih-buy-height,46px))!important;
    border-radius:var(--kih-runner-btn-radius,var(--kih-buy-radius,10px))!important;
    font-size:var(--kih-runner-btn-font-size,var(--kih-buy-font,13px))!important;
}

body.kih-product-family--runner
.summary
.kih-runner-purchase-row[data-kih-runner-desktop-layout="below"]
.kih-runner-buy-slot
.single_add_to_cart_button{
    flex:0 0 min(100%,var(--kih-runner-btn-width,320px))!important;
    width:min(100%,var(--kih-runner-btn-width,320px))!important;
}

body.kih-product-family--runner
.summary
.price
.kih-runner-price-addon{
    display:block;
    margin-top:4px;
    color:#5d7065;
    font-size:12px;
    font-weight:600;
    line-height:1.25;
}

@media(max-width:620px){
    body.kih-product-family--runner
    .summary
    .kih-runner-purchase-row{
        grid-template-columns:minmax(0,1fr)!important;
        gap:10px;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-purchase-row[data-kih-runner-mobile-layout="button_first"]
    .kih-runner-buy-slot{
        order:-1;
    }

    body.kih-product-family--runner
    .summary
    form.variations_form
    .woocommerce-variation-add-to-cart
    .kih-runner-buy-slot
    .single_add_to_cart_button{
        width:var(--kih-runner-btn-width-mobile,100%)!important;
        min-width:0!important;
        max-width:100%!important;
        flex:0 0 var(--kih-runner-btn-width-mobile,100%)!important;
    }
}


/* =========================================================
   Runner pieces control compactness — 2.15.77
========================================================= */

body.kih-product-family--runner
.summary
.kih-runner-pieces{
    min-width:230px!important;
    padding:9px 10px!important;
    gap:6px 8px!important;
}

body.kih-product-family--runner
.summary
.kih-runner-pieces__head{
    min-width:112px!important;
}

body.kih-product-family--runner
.summary
.kih-runner-pieces__control{
    grid-template-columns:28px 38px 28px!important;
    width:94px!important;
    height:34px!important;
    border-radius:9px!important;
}

body.kih-product-family--runner
.summary
.kih-runner-pieces__control button{
    width:28px!important;
    min-width:28px!important;
    height:34px!important;
    padding:0!important;
    font-size:15px!important;
    line-height:34px!important;
}

body.kih-product-family--runner
.summary
.kih-runner-pieces__control input{
    width:38px!important;
    min-width:38px!important;
    height:34px!important;
    padding:0!important;
    font-size:11px!important;
    line-height:34px!important;
}

@media(max-width:620px){
    body.kih-product-family--runner
    .summary
    .kih-runner-pieces{
        min-width:0!important;
    }
}


/* =========================================================
   Runner length calculator + collection limit — 2.15.79
========================================================= */

body.kih-product-family--runner
.summary
.kih-runner-length-card__copy{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:4px;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card__actions{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:7px;
}

body.kih-product-family--runner
.summary
.kih-runner-calculator-open{
    appearance:none;
    -webkit-appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:28px;
    padding:5px 9px;
    border:1px solid #b9dcc4;
    border-radius:999px;
    background:#f0f9f3;
    color:var(--kih-runner-calc-accent,#1f9a4a);
    box-shadow:none;
    font-family:inherit;
    font-size:9.5px;
    font-weight:800;
    line-height:1;
    cursor:pointer;
    transition:.15s ease;
}

body.kih-product-family--runner
.summary
.kih-runner-calculator-open:hover{
    border-color:var(--kih-runner-calc-accent,#1f9a4a);
    transform:translateY(-1px);
}

body.kih-product-family--runner
.summary
.kih-runner-calculator-open svg{
    width:14px;
    height:14px;
}

body.kih-product-family--runner
.summary
.kih-runner-calculator-below{
    display:none;
}

body.kih-product-family--runner
.summary
.kih-runner-calculator-below:not(:empty){
    display:flex;
    align-items:center;
    justify-content:flex-start;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card__limit{
    color:#52705d;
    font-weight:700;
    white-space:nowrap;
}

body.kih-product-family--runner
.summary
.kih-runner-length-card__limit[hidden]{
    display:none!important;
}

body.kih-runner-calculator-open{
    overflow:hidden;
}

.kih-runner-calculator{
    position:fixed;
    inset:0;
    z-index:999999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
}

.kih-runner-calculator.is-open{
    display:flex;
}

.kih-runner-calculator__backdrop{
    position:absolute;
    inset:0;
    background:rgba(6,22,12,.58);
    backdrop-filter:blur(6px);
}

.kih-runner-calculator__dialog{
    position:relative;
    z-index:1;
    width:min(var(--kih-runner-calc-width,430px),100%);
    max-height:min(760px,calc(100vh - 30px));
    overflow:auto;
    padding:24px;
    border:1px solid #d6e6da;
    border-radius:var(--kih-runner-calc-radius,20px);
    background:var(--kih-runner-calc-bg,#fff);
    color:var(--kih-runner-calc-text,#17251b);
    box-shadow:0 28px 80px rgba(2,21,9,.28);
    text-align:center;
}

.kih-runner-calculator__close{
    position:absolute;
    top:12px;
    right:12px;
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    padding:0;
    border:1px solid #dfe9e2;
    border-radius:50%;
    background:#fff;
    color:#526359;
    font-size:22px;
    line-height:1;
    cursor:pointer;
}

.kih-runner-calculator__icon{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    margin:0 auto 12px;
    border-radius:15px;
    background:#eef8f1;
    color:var(--kih-runner-calc-accent,#1f9a4a);
    font-size:24px;
    font-weight:900;
}

.kih-runner-calculator__dialog h3{
    margin:0 34px 7px;
    color:inherit;
    font-size:21px;
    font-weight:850;
    line-height:1.15;
}

.kih-runner-calculator__dialog > p{
    margin:0 auto 10px;
    max-width:330px;
    color:#6c7a71;
    font-size:11px;
    line-height:1.4;
}

.kih-runner-calculator__limit{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    margin:0 auto 14px;
    padding:5px 9px;
    border-radius:999px;
    background:#eff8f2;
    color:#257342;
    font-size:9.5px;
    font-weight:750;
}

.kih-runner-calculator__limit[hidden]{
    display:none!important;
}

.kih-runner-calculator__display{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:72px;
    margin-bottom:12px;
    padding:10px 16px;
    border:1px solid #d9e6dc;
    border-radius:15px;
    background:#fbfdfb;
}

.kih-runner-calculator__display strong{
    min-width:90px;
    color:inherit;
    font-size:32px;
    font-weight:850;
    line-height:1;
    text-align:right;
}

.kih-runner-calculator__display span{
    color:#637168;
    font-size:15px;
    font-weight:800;
}

.kih-runner-calculator__quick{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:6px;
    margin-bottom:10px;
}

.kih-runner-calculator__quick-button{
    min-height:30px;
    padding:5px 10px;
    border:1px solid #d8e6dc;
    border-radius:999px;
    background:#fff;
    color:#40604c;
    font-size:10px;
    font-weight:800;
    cursor:pointer;
}

.kih-runner-calculator__keys{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}

.kih-runner-calculator__keys button{
    appearance:none;
    -webkit-appearance:none;
    min-height:54px;
    padding:0;
    border:1px solid #d7e6dc;
    border-radius:13px;
    background:var(--kih-runner-calc-key-bg,#f2f8f4);
    color:var(--kih-runner-calc-text,#17251b);
    box-shadow:none;
    font-family:inherit;
    font-size:20px;
    font-weight:820;
    line-height:1;
    cursor:pointer;
    transition:.12s ease;
}

.kih-runner-calculator__keys button:hover{
    border-color:var(--kih-runner-calc-accent,#1f9a4a);
    transform:translateY(-1px);
}

.kih-runner-calculator__error{
    min-height:18px;
    margin-top:9px;
    color:#b13e3e;
    font-size:10px;
    font-weight:750;
    line-height:1.35;
}

.kih-runner-calculator__footer{
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);
    gap:9px;
    margin-top:8px;
}

.kih-runner-calculator__footer button{
    min-height:44px;
    padding:0 14px;
    border-radius:12px;
    font-family:inherit;
    font-size:11px;
    font-weight:850;
    cursor:pointer;
}

.kih-runner-calculator__clear{
    border:1px solid #dce7df;
    background:#fff;
    color:#526158;
}

.kih-runner-calculator__apply{
    border:1px solid var(--kih-runner-calc-accent,#1f9a4a);
    background:var(--kih-runner-calc-accent,#1f9a4a);
    color:#fff;
    box-shadow:0 8px 20px rgba(31,154,74,.16);
}

@media(max-width:620px){
    body.kih-product-family--runner
    .summary
    .kih-runner-length-card__head{
        gap:9px;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-length-card__actions{
        width:100%;
        justify-content:space-between;
    }

    .kih-runner-calculator{
        align-items:flex-end;
        padding:8px;
    }

    .kih-runner-calculator__dialog{
        width:100%;
        max-height:calc(100vh - 16px);
        padding:20px 14px 14px;
        border-radius:20px;
    }

    .kih-runner-calculator__keys button{
        min-height:50px;
    }
}


/* =========================================================
   Runner calculator button colors hardening — 2.15.81
========================================================= */

.kih-runner-calculator button{
    box-shadow:none!important;
    text-shadow:none!important;
    font-family:inherit!important;
}

.kih-runner-calculator__close{
    border:1px solid #dfe9e2!important;
    background:#ffffff!important;
    color:#526359!important;
}

.kih-runner-calculator__quick-button{
    border:1px solid #d8e6dc!important;
    background:#ffffff!important;
    color:#40604c!important;
}

.kih-runner-calculator__quick-button:hover{
    border-color:var(--kih-runner-calc-accent,#1f9a4a)!important;
    background:#f3faf5!important;
    color:var(--kih-runner-calc-accent,#1f9a4a)!important;
}

.kih-runner-calculator__keys button{
    border:1px solid #d7e6dc!important;
    background:var(--kih-runner-calc-key-bg,#f2f8f4)!important;
    color:var(--kih-runner-calc-text,#17251b)!important;
}

.kih-runner-calculator__keys button:hover{
    border-color:var(--kih-runner-calc-accent,#1f9a4a)!important;
    background:#eaf6ee!important;
    color:var(--kih-runner-calc-text,#17251b)!important;
}

.kih-runner-calculator__clear{
    border:1px solid #b9d9c2!important;
    background:#ffffff!important;
    color:#2d5b3b!important;
}

.kih-runner-calculator__clear:hover{
    border-color:var(--kih-runner-calc-accent,#1f9a4a)!important;
    background:#f2f9f4!important;
    color:var(--kih-runner-calc-accent,#1f9a4a)!important;
}

.kih-runner-calculator__apply{
    border:1px solid var(--kih-runner-calc-accent,#1f9a4a)!important;
    background:var(--kih-runner-calc-accent,#1f9a4a)!important;
    color:#ffffff!important;
    box-shadow:0 8px 20px rgba(31,154,74,.16)!important;
}

.kih-runner-calculator__apply:hover{
    filter:brightness(.94);
    color:#ffffff!important;
}

.kih-runner-calculator-open{
    border-color:#b9dcc4!important;
    background:#f0f9f3!important;
    color:var(--kih-runner-calc-accent,#1f9a4a)!important;
}

.kih-runner-calculator-open:hover{
    border-color:var(--kih-runner-calc-accent,#1f9a4a)!important;
    background:#eaf6ee!important;
    color:var(--kih-runner-calc-accent,#1f9a4a)!important;
}


/* =========================================================
   Runner calculator button mobile alignment — 2.15.82
========================================================= */

/*
 * Important: the legacy selector
 * .kih-runner-length-card__head > div
 * makes every direct div in the header a vertical column.
 * The calculator/stock actions container is also such a div, so without this
 * override the two pills stack awkwardly on mobile.
 */
body.kih-product-family--runner
.summary
.kih-runner-length-card__head
.kih-runner-length-card__actions{
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
}

@media(max-width:620px){
    body.kih-product-family--runner
    .summary
    .kih-runner-length-card__head
    .kih-runner-length-card__actions{
        display:flex!important;
        width:100%!important;
        flex-direction:row!important;
        align-items:center!important;
        justify-content:space-between!important;
        flex-wrap:nowrap!important;
        gap:10px!important;
    }

    /* Availability first, calculator second — visually reads left to right. */
    body.kih-product-family--runner
    .summary
    .kih-runner-length-card__actions
    .kih-runner-length-card__stock{
        order:1!important;
        align-self:center!important;
        margin:0!important;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-length-card__actions
    .kih-runner-calculator-open{
        order:2!important;
        flex:0 0 auto!important;
        min-width:118px!important;
        min-height:32px!important;
        margin:0!important;
        padding:6px 11px!important;
        border-radius:10px!important;
        font-size:10px!important;
        letter-spacing:.01em!important;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-length-card__actions
    .kih-runner-calculator-open svg{
        width:15px!important;
        height:15px!important;
        flex:0 0 15px!important;
    }
}

@media(max-width:380px){
    body.kih-product-family--runner
    .summary
    .kih-runner-length-card__head
    .kih-runner-length-card__actions{
        gap:7px!important;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-length-card__actions
    .kih-runner-calculator-open{
        min-width:108px!important;
        padding:6px 9px!important;
        font-size:9.5px!important;
    }

    body.kih-product-family--runner
    .summary
    .kih-runner-length-card__actions
    .kih-runner-length-card__stock{
        padding:5px 7px!important;
        font-size:9.5px!important;
    }
}


/* =========================================================
   Runner one-click configuration modal — 2.15.83
========================================================= */

body.kih-runner-one-click-open{
    overflow:hidden;
}

.kih-runner-one-click{
    position:fixed;
    inset:0;
    z-index:1000000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
}

.kih-runner-one-click.is-open{
    display:flex;
}

.kih-runner-one-click__backdrop{
    position:absolute;
    inset:0;
    background:rgba(6,22,12,.58);
    backdrop-filter:blur(6px);
}

.kih-runner-one-click__dialog{
    position:relative;
    z-index:1;
    width:min(560px,100%);
    max-height:calc(100vh - 32px);
    overflow:auto;
    padding:22px;
    border:1px solid #d8e6dc;
    border-radius:20px;
    background:#fff;
    color:#1d3023;
    box-shadow:0 28px 80px rgba(2,21,9,.28);
}

.kih-runner-one-click__close{
    position:absolute;
    top:12px;
    right:12px;
    display:grid!important;
    place-items:center!important;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    padding:0!important;
    border:1px solid #dce8df!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#54665b!important;
    box-shadow:none!important;
    font-size:22px!important;
    line-height:1!important;
    cursor:pointer;
}

.kih-runner-one-click__head{
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    gap:12px;
    align-items:start;
    padding-right:38px;
    margin-bottom:18px;
}

.kih-runner-one-click__icon{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:14px;
    background:#eef8f1;
    color:#18883f;
    font-size:22px;
    font-weight:900;
}

.kih-runner-one-click__head h3{
    margin:2px 0 5px!important;
    color:#1d3023!important;
    font-size:20px!important;
    font-weight:850!important;
    line-height:1.15!important;
}

.kih-runner-one-click__head p{
    margin:0!important;
    color:#6d7a72!important;
    font-size:11px!important;
    line-height:1.45!important;
}

.kih-runner-one-click__section{
    margin-bottom:14px;
}

.kih-runner-one-click__section > strong{
    display:block;
    margin-bottom:8px;
    color:#30453a;
    font-size:11px;
    font-weight:800;
}

.kih-runner-one-click__widths{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
}

.kih-runner-one-click__width{
    appearance:none;
    -webkit-appearance:none;
    min-height:42px;
    padding:7px 8px;
    border:1px solid #d5e2d8!important;
    border-radius:11px!important;
    background:#fff!important;
    color:#2c4234!important;
    box-shadow:none!important;
    font-size:11px!important;
    font-weight:800!important;
    cursor:pointer;
}

.kih-runner-one-click__width.is-selected{
    border-color:#1f9a4a!important;
    background:#eef9f1!important;
    color:#167b38!important;
    box-shadow:inset 0 0 0 1px rgba(31,154,74,.08)!important;
}

.kih-runner-one-click__width:disabled{
    cursor:not-allowed;
    opacity:.38;
}

.kih-runner-one-click__grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(150px,.65fr);
    gap:10px;
    margin-bottom:12px;
}

.kih-runner-one-click__field{
    display:flex;
    flex-direction:column;
    gap:6px;
    min-width:0;
}

.kih-runner-one-click__field > span{
    color:#52645a;
    font-size:10px;
    font-weight:750;
}

.kih-runner-one-click__field input{
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    margin:0!important;
    padding:0 12px!important;
    border:1px solid #d4e2d7!important;
    border-radius:11px!important;
    background:#fbfdfb!important;
    color:#1d3023!important;
    box-shadow:none!important;
    font-family:inherit!important;
    font-size:15px!important;
    font-weight:800!important;
}

.kih-runner-one-click__pieces{
    display:grid;
    grid-template-columns:38px minmax(42px,1fr) 38px;
    height:44px;
    overflow:hidden;
    border:1px solid #d4e2d7;
    border-radius:11px;
    background:#fff;
}

.kih-runner-one-click__pieces button{
    appearance:none;
    -webkit-appearance:none;
    display:grid!important;
    place-items:center!important;
    width:38px!important;
    min-width:38px!important;
    height:44px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:#f4f9f5!important;
    color:#244130!important;
    box-shadow:none!important;
    font-size:17px!important;
    font-weight:850!important;
    cursor:pointer;
}

.kih-runner-one-click__pieces strong{
    display:grid;
    place-items:center;
    color:#1d3023;
    font-size:13px;
    font-weight:850;
}

.kih-runner-one-click__overlock{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:64px;
    margin-bottom:12px;
    padding:12px 13px;
    border:1px solid #d8e6dc;
    border-radius:13px;
    background:#f9fcfa;
    cursor:pointer;
}

.kih-runner-one-click__overlock > span{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.kih-runner-one-click__overlock strong{
    color:#213528;
    font-size:12px;
    font-weight:850;
}

.kih-runner-one-click__overlock small{
    color:#708078;
    font-size:9.5px;
    line-height:1.3;
}

.kih-runner-one-click__overlock input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.kih-runner-one-click__overlock i{
    position:relative;
    flex:0 0 42px;
    width:42px;
    height:24px;
    border:1px solid #c9d9ce;
    border-radius:999px;
    background:#e9f1eb;
    transition:.15s ease;
}

.kih-runner-one-click__overlock i::after{
    content:"";
    position:absolute;
    top:3px;
    left:3px;
    width:16px;
    height:16px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 1px 4px rgba(20,61,31,.16);
    transition:.15s ease;
}

.kih-runner-one-click__overlock input:checked + i{
    border-color:#1f9a4a;
    background:#1f9a4a;
}

.kih-runner-one-click__overlock input:checked + i::after{
    transform:translateX(18px);
}

.kih-runner-one-click__summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:54px;
    margin-bottom:8px;
    padding:11px 13px;
    border:1px solid #bcdcc5;
    border-radius:13px;
    background:#f0f9f3;
}

.kih-runner-one-click__summary span{
    color:#486053;
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.kih-runner-one-click__summary strong{
    color:#158039;
    font-size:20px;
    font-weight:900;
}

.kih-runner-one-click__error{
    min-height:18px;
    margin:0 0 8px;
    color:#b23d3d;
    font-size:10px;
    font-weight:750;
    line-height:1.35;
}

.kih-runner-one-click__apply{
    appearance:none;
    -webkit-appearance:none;
    width:100%!important;
    min-height:46px!important;
    padding:0 16px!important;
    border:1px solid #1f9a4a!important;
    border-radius:12px!important;
    background:#1f9a4a!important;
    color:#fff!important;
    box-shadow:0 8px 20px rgba(31,154,74,.17)!important;
    font-family:inherit!important;
    font-size:12px!important;
    font-weight:850!important;
    cursor:pointer;
}

@media(max-width:620px){
    body.kih-product-family--runner
    .summary
    .kih-product-afterbuy{
        grid-template-columns:minmax(0,1fr);
        gap:12px;
    }

    .kih-runner-one-click{
        align-items:flex-end;
        padding:8px;
    }

    .kih-runner-one-click__dialog{
        width:100%;
        max-height:calc(100vh - 16px);
        padding:18px 13px 13px;
        border-radius:20px;
    }

    .kih-runner-one-click__head{
        grid-template-columns:40px minmax(0,1fr);
        gap:10px;
        margin-bottom:14px;
    }

    .kih-runner-one-click__icon{
        width:40px;
        height:40px;
        border-radius:12px;
        font-size:19px;
    }

    .kih-runner-one-click__head h3{
        font-size:18px!important;
    }

    .kih-runner-one-click__widths{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .kih-runner-one-click__grid{
        grid-template-columns:minmax(0,1fr);
    }
}


/* =========================================================
   Runner one-click stock + length controls — 2.15.84
========================================================= */

.kih-runner-one-click__section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:8px;
}

.kih-runner-one-click__section-head > strong{
    color:#30453a;
    font-size:11px;
    font-weight:800;
}

.kih-runner-one-click__stock{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:4px 8px;
    border:1px solid #d9e6dc;
    border-radius:999px;
    background:#f8fbf9;
    color:#718077;
    font-size:9px;
    font-weight:750;
    white-space:nowrap;
}

.kih-runner-one-click__stock.is-ready{
    border-color:#bfe0c7;
    background:#eef8f1;
    color:#18793a;
}

.kih-runner-one-click__width{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    min-height:50px!important;
}

.kih-runner-one-click__width strong{
    color:inherit;
    font-size:11px;
    font-weight:850;
    line-height:1;
}

.kih-runner-one-click__width small{
    color:#7b8a81;
    font-size:8.5px;
    font-weight:650;
    line-height:1;
}

.kih-runner-one-click__width.is-selected small{
    color:#2d7b45;
}

.kih-runner-one-click__length-control{
    display:grid;
    grid-template-columns:40px minmax(0,1fr) 40px 34px;
    height:44px;
    overflow:hidden;
    border:1px solid #d4e2d7;
    border-radius:11px;
    background:#fff;
}

.kih-runner-one-click__length-control button{
    appearance:none!important;
    -webkit-appearance:none!important;
    display:grid!important;
    place-items:center!important;
    width:40px!important;
    min-width:40px!important;
    height:44px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:#f4f9f5!important;
    color:#244130!important;
    box-shadow:none!important;
    font-size:17px!important;
    font-weight:850!important;
    line-height:1!important;
    cursor:pointer!important;
}

.kih-runner-one-click__length-control button:disabled,
.kih-runner-one-click__pieces button:disabled{
    opacity:.35!important;
    cursor:not-allowed!important;
}

.kih-runner-one-click__length-control input{
    height:44px!important;
    padding:0 9px!important;
    border:0!important;
    border-right:1px solid #dce7df!important;
    border-left:1px solid #dce7df!important;
    border-radius:0!important;
    background:#fff!important;
    text-align:center!important;
}

.kih-runner-one-click__length-control i{
    display:grid;
    place-items:center;
    color:#53665a;
    font-size:11px;
    font-style:normal;
    font-weight:800;
}

.kih-runner-one-click__limit-hint,
.kih-runner-one-click__pieces-hint{
    min-height:12px;
    color:#6d7c73;
    font-size:8.7px;
    font-weight:650;
    line-height:1.25;
}

.kih-runner-one-click__apply:disabled{
    opacity:.5!important;
    cursor:not-allowed!important;
    box-shadow:none!important;
}

@media(max-width:620px){
    .kih-runner-one-click__section-head{
        align-items:flex-start;
        flex-direction:column;
        gap:6px;
    }

    .kih-runner-one-click__stock{
        align-self:flex-start;
    }

    .kih-runner-one-click__width{
        min-height:48px!important;
    }
}


/* =========================================================
   Runner one-click multiple configurations — 2.15.86
========================================================= */

.kih-runner-one-click--multi
.kih-runner-one-click__dialog{
    width:min(620px,100%);
}

.kih-runner-one-click__add-line{
    appearance:none;
    -webkit-appearance:none;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    width:100%!important;
    min-height:42px!important;
    margin:0 0 12px!important;
    padding:0 14px!important;
    border:1px dashed #89c69a!important;
    border-radius:12px!important;
    background:#f5fbf7!important;
    color:#177a39!important;
    box-shadow:none!important;
    text-shadow:none!important;
    font-family:inherit!important;
    cursor:pointer;
    transition:.15s ease;
}

.kih-runner-one-click__add-line span{
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    border-radius:7px;
    background:#e4f5e9;
    color:#16833d;
    font-size:17px;
    font-weight:900;
    line-height:1;
}

.kih-runner-one-click__add-line strong{
    color:inherit;
    font-size:11px;
    font-weight:850;
    line-height:1.2;
}

.kih-runner-one-click__add-line:hover:not(:disabled){
    border-color:#1f9a4a!important;
    background:#eef9f1!important;
    transform:translateY(-1px);
}

.kih-runner-one-click__add-line:disabled{
    cursor:not-allowed;
    opacity:.42;
}

.kih-runner-one-click__saved{
    display:grid;
    gap:7px;
    margin:0 0 12px;
}

.kih-runner-one-click__saved.is-empty,
.kih-runner-one-click__saved:empty{
    display:none;
}

.kih-runner-one-click__saved-line{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:56px;
    padding:9px 10px 9px 12px;
    border:1px solid #d8e7dc;
    border-radius:12px;
    background:#fbfefc;
    box-shadow:0 4px 14px rgba(16,70,30,.035);
}

.kih-runner-one-click__saved-main{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:3px;
}

.kih-runner-one-click__saved-main strong{
    overflow:hidden;
    color:#203429;
    font-size:11.5px;
    font-weight:850;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.kih-runner-one-click__saved-main small{
    color:#6c7b72;
    font-size:9.5px;
    font-weight:650;
    line-height:1.25;
}

.kih-runner-one-click__saved-right{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    gap:8px;
}

.kih-runner-one-click__saved-right > strong{
    color:#16843d;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}

.kih-runner-one-click__saved-remove{
    appearance:none;
    -webkit-appearance:none;
    display:grid!important;
    place-items:center!important;
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    padding:0!important;
    border:1px solid #ead8d8!important;
    border-radius:9px!important;
    background:#fffafa!important;
    color:#a74b4b!important;
    box-shadow:none!important;
    text-shadow:none!important;
    font-size:18px!important;
    font-weight:700!important;
    line-height:1!important;
    cursor:pointer;
}

.kih-runner-one-click__saved-remove:hover{
    border-color:#dcaeae!important;
    background:#fff3f3!important;
}

.kih-runner-one-click--multi
.kih-runner-one-click__summary{
    margin-top:2px;
}

@media(max-width:620px){
    .kih-runner-one-click--multi{
        align-items:flex-end;
        padding:7px;
    }

    .kih-runner-one-click--multi
    .kih-runner-one-click__dialog{
        width:100%;
        max-height:calc(100vh - 14px);
        padding:18px 14px 14px;
        border-radius:19px;
    }

    .kih-runner-one-click__saved-line{
        gap:8px;
        padding:8px 9px 8px 10px;
    }

    .kih-runner-one-click__saved-main strong{
        font-size:10.5px;
    }

    .kih-runner-one-click__saved-right > strong{
        font-size:10.5px;
    }

    .kih-runner-one-click__saved-remove{
        width:28px!important;
        min-width:28px!important;
        height:28px!important;
        min-height:28px!important;
    }
}


/* =========================================================
   Runner one-click loading button polish — 2.15.87
========================================================= */

body.kih-product-family--runner
.summary
.kih-one-click-form__row{
    grid-template-columns:
        minmax(0,1fr)
        minmax(
            var(--kih-one-click-submit-width,128px),
            auto
        )!important;
}

body.kih-product-family--runner
.summary
.kih-one-click-form__submit{
    box-sizing:border-box!important;
    width:auto!important;
    min-width:var(--kih-one-click-submit-width,128px)!important;
    max-width:220px!important;
    overflow:hidden!important;
    padding-left:12px!important;
    padding-right:12px!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}

body.kih-product-family--runner
.summary
.kih-one-click-form__submit.is-loading{
    background:
        var(--kih-one-click-loading-bg,#188a40)
        !important;

    color:
        var(--kih-one-click-loading-color,#ffffff)
        !important;

    font-size:
        var(--kih-one-click-loading-size,10px)
        !important;

    font-weight:
        var(--kih-one-click-loading-weight,800)
        !important;

    line-height:1.1!important;
    letter-spacing:0!important;
    text-transform:none!important;
}

@media(max-width:760px){
    body.kih-product-family--runner
    .summary
    .kih-one-click-form__row{
        grid-template-columns:minmax(0,1fr)!important;
    }

    body.kih-product-family--runner
    .summary
    .kih-one-click-form__submit{
        width:100%!important;
        min-width:0!important;
        max-width:none!important;
    }
}


/* =========================================================
   Runner legacy decimal label removal + mobile live price — 2.15.88
========================================================= */

/*
 * Decimal Product Quantity still outputs its own "Довжина доріжки (м)"
 * label/row. KihCarpet has a complete custom length card, so remove the
 * redundant legacy area including any leftover spacing.
 */
body.kih-product-family--runner
.summary
form.variations_form
.woocommerce-variation-add-to-cart
.kih-runner-legacy-length-label,
body.kih-product-family--runner
.summary
form.variations_form
.woocommerce-variation-add-to-cart
> label[for*="quantity"],
body.kih-product-family--runner
.summary
.kih-runner-length-card
.quantity
> label{
    display:none!important;
    width:0!important;
    min-width:0!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    line-height:0!important;
    opacity:0!important;
}

/* Mobile live price is rendered only after the original top price leaves view. */
.kih-runner-mobile-price{
    position:fixed;
    z-index:9990;
    left:50%;
    bottom:var(--kih-runner-mobile-price-bottom,82px);

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

    width:max-content;
    max-width:calc(100vw - 28px);
    min-height:44px;

    padding:8px 14px;

    border:
        1px solid
        var(--kih-runner-mobile-price-border,#cfe4d5);

    border-radius:14px;

    background:
        color-mix(
            in srgb,
            var(--kih-runner-mobile-price-bg,#ffffff) 94%,
            transparent
        );

    color:#31473a;

    box-shadow:
        0 10px 30px
        rgba(16,57,28,.16);

    backdrop-filter:blur(10px);

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transform:
        translate(-50%,14px);

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

.kih-runner-mobile-price.is-visible{
    opacity:1;
    visibility:visible;
    pointer-events:auto;

    transform:
        translate(-50%,0);
}

.kih-runner-mobile-price__label{
    color:#64746a;
    font-size:10px;
    font-weight:750;
    line-height:1;
    white-space:nowrap;
}

.kih-runner-mobile-price__value{
    color:
        var(--kih-runner-mobile-price-text,#16883e);

    font-size:18px;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
}

.kih-runner-mobile-price__note{
    max-width:130px;

    overflow:hidden;

    color:#6b7a71;
    font-size:8.5px;
    font-weight:650;
    line-height:1.15;

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

.kih-runner-mobile-price__note[hidden]{
    display:none!important;
}

body.kih-runner-calculator-open
.kih-runner-mobile-price,
body.kih-runner-one-click-open
.kih-runner-mobile-price{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
}

@media(min-width:761px){
    .kih-runner-mobile-price{
        display:none!important;
    }
}

@media(max-width:420px){
    .kih-runner-mobile-price{
        gap:7px;
        min-height:42px;
        padding:7px 11px;
        border-radius:12px;
    }

    .kih-runner-mobile-price__value{
        font-size:16px;
    }

    .kih-runner-mobile-price__note{
        max-width:92px;
    }
}


/* =========================================================
   Runner decimal-label hard cleanup + observer hotfix — 2.15.89
========================================================= */

body.kih-product-family--runner
.summary
form.variations_form
.kih-runner-legacy-length-label{
    display:none!important;
    position:absolute!important;
    width:0!important;
    min-width:0!important;
    max-width:0!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    gap:0!important;
    opacity:0!important;
    pointer-events:none!important;
}

/* Do not let the legacy plugin's label reserve a grid/flex row after its
   quantity input has been moved into the KihCarpet length card. */
body.kih-product-family--runner
.summary
form.variations_form
label[for="quantity"].kih-runner-legacy-length-label,
body.kih-product-family--runner
.summary
form.variations_form
label[for*="quantity"].kih-runner-legacy-length-label{
    display:none!important;
}


/* =========================================================
   Runner mobile price placement controls — 2.15.90
========================================================= */

.kih-runner-mobile-price{
    z-index:8980;
    bottom:calc(
        var(--kih-runner-mobile-price-bottom,8px)
        + env(safe-area-inset-bottom,0px)
    );
    pointer-events:none!important;
}

/* Default: very bottom, centered. */
.kih-runner-mobile-price[data-position="bottom_center"]{
    left:50%!important;
    right:auto!important;
    width:max-content!important;
    max-width:calc(100vw - 28px)!important;
    transform:translate(-50%,14px)!important;
}

.kih-runner-mobile-price[data-position="bottom_center"].is-visible{
    transform:translate(-50%,0)!important;
}

/* Bottom-left: useful when a callback bubble lives on the right. */
.kih-runner-mobile-price[data-position="bottom_left"]{
    left:12px!important;
    right:auto!important;
    width:max-content!important;
    max-width:calc(100vw - 24px)!important;
    transform:translateY(14px)!important;
}

.kih-runner-mobile-price[data-position="bottom_left"].is-visible{
    transform:translateY(0)!important;
}

/* Bottom-right. */
.kih-runner-mobile-price[data-position="bottom_right"]{
    left:auto!important;
    right:12px!important;
    width:max-content!important;
    max-width:calc(100vw - 24px)!important;
    transform:translateY(14px)!important;
}

.kih-runner-mobile-price[data-position="bottom_right"].is-visible{
    transform:translateY(0)!important;
}

/* Wide bottom bar. */
.kih-runner-mobile-price[data-position="bottom_full"]{
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
    justify-content:space-between!important;
    transform:translateY(14px)!important;
}

.kih-runner-mobile-price[data-position="bottom_full"].is-visible{
    transform:translateY(0)!important;
}

/* It is informational only, so it can never block product controls below it. */
.kih-runner-mobile-price.is-visible{
    pointer-events:none!important;
}

@media(max-width:420px){
    .kih-runner-mobile-price[data-position="bottom_left"]{
        left:8px!important;
    }

    .kih-runner-mobile-price[data-position="bottom_right"]{
        right:8px!important;
    }

    .kih-runner-mobile-price[data-position="bottom_full"]{
        left:8px!important;
        right:8px!important;
    }
}


/* =========================================================
 * Catalog UI — hero / breadcrumbs / toolbar / cards
 * ========================================================= */

.kih-catalog-top-shell {
    margin: 0 auto 22px;
    max-width: 1440px;
}

.kih-catalog-top-shell__breadcrumbs,
.kih-catalog-hero__breadcrumbs,
.kih-product-breadcrumbs-wrap {
    margin-bottom: 12px;
}

.kih-catalog-hero {
    background: var(--kih-catalog-hero-bg);
    border: 1px solid var(--kih-catalog-hero-border);
    border-radius: var(--kih-catalog-hero-radius);
    padding: 28px 32px;
    box-shadow: 0 14px 34px rgba(28, 79, 42, .05);
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.kih-catalog-hero--center {
    text-align: center;
    align-items: center;
}

.kih-catalog-hero__eyebrow {
    font-size: 11px;
    line-height: 1;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 800;
    color: #1f8b43;
}

.kih-catalog-hero__title {
    margin: 0;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.08;
    color: #1f2c24;
    font-weight: 800;
}

.kih-catalog-hero__description {
    margin: 0;
    max-width: 860px;
    color: #5f6d65;
    font-size: 15px;
    line-height: 1.65;
}

.kih-catalog-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.kih-catalog-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    background: #ffffff;
    color: #234132;
    border: 1px solid #dfeae2;
    padding: 9px 14px;
    font-size: 13px;
    font-weight: 700;
}

.kih-catalog-hero__badge--hint {
    font-weight: 600;
    color: #607065;
}

.kih-catalog-hero__layout {
    min-width: 0;
}

.kih-catalog-hero--has-banners .kih-catalog-hero__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 26px;
    width: 100%;
}

.kih-catalog-hero__content {
    min-width: 0;
}

.kih-catalog-hero__badge--custom {
    text-decoration: none;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

a.kih-catalog-hero__badge--custom:hover {
    color: #234132;
    border-color: #c4ddcb;
    box-shadow: 0 8px 18px rgba(28, 79, 42, .08);
    transform: translateY(-1px);
    text-decoration: none;
}

.kih-catalog-hero__stickers {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
}

.kih-catalog-hero__sticker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.kih-catalog-hero__sticker--image {
    width: var(--kih-catalog-hero-sticker-size);
    height: var(--kih-catalog-hero-sticker-size);
    overflow: hidden;
    border-radius: 16px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(216,232,220,.95);
    box-shadow: 0 8px 18px rgba(28,79,42,.07);
}

.kih-catalog-hero__sticker--image img,
.kih-catalog-hero__sticker-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.kih-catalog-hero__sticker--text {
    min-height: 34px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #eaf8ee;
    border: 1px solid #cde8d5;
    color: #187a39;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
}

.kih-catalog-hero__sticker--preset {
    --kih-sticker-bg: #edf8f0;
    --kih-sticker-border: #cbe5d2;
    --kih-sticker-color: #176b34;
    --kih-sticker-icon-bg: rgba(255,255,255,.78);
    min-height: 36px;
    gap: 7px;
    padding: 5px 11px 5px 6px;
    border: 1px solid var(--kih-sticker-border);
    border-radius: 999px;
    background: var(--kih-sticker-bg);
    color: var(--kih-sticker-color);
    font-size: 12px;
    line-height: 1.15;
    font-weight: 800;
    box-shadow: 0 5px 14px rgba(25,75,39,.06);
    transition:
        transform .18s ease,
        box-shadow .18s ease;
}

.kih-catalog-hero__sticker-preset-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 25px;
    height: 25px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--kih-sticker-icon-bg);
    color: inherit;
    font-size: 11px;
    line-height: 1;
    font-weight: 900;
}

.kih-catalog-hero__sticker-preset-text {
    white-space: nowrap;
}

.kih-catalog-hero__sticker--preset-bestseller {
    --kih-sticker-bg: #fff7da;
    --kih-sticker-border: #efd98b;
    --kih-sticker-color: #765100;
}

.kih-catalog-hero__sticker--preset-new {
    --kih-sticker-bg: #eaf7ff;
    --kih-sticker-border: #bddff1;
    --kih-sticker-color: #0c5e86;
}

.kih-catalog-hero__sticker--preset-promo {
    --kih-sticker-bg: #fff0ee;
    --kih-sticker-border: #f1c4be;
    --kih-sticker-color: #ae2b21;
}

.kih-catalog-hero__sticker--preset-sale {
    --kih-sticker-bg: #fff0f5;
    --kih-sticker-border: #edc1d1;
    --kih-sticker-color: #9e1f4e;
}

.kih-catalog-hero__sticker--preset-best-price {
    --kih-sticker-bg: #edf9ef;
    --kih-sticker-border: #c5e6cc;
    --kih-sticker-color: #177638;
}

.kih-catalog-hero__sticker--preset-delivery {
    --kih-sticker-bg: #eef5ff;
    --kih-sticker-border: #c6d9f5;
    --kih-sticker-color: #2a5d98;
}

.kih-catalog-hero__sticker--preset-in-stock {
    --kih-sticker-bg: #effaf1;
    --kih-sticker-border: #c9e7d0;
    --kih-sticker-color: #1e7a39;
}

.kih-catalog-hero__sticker--preset-kih-choice {
    --kih-sticker-bg: #e8f5ec;
    --kih-sticker-border: #bcdcc5;
    --kih-sticker-color: #0b5b29;
}

.kih-catalog-hero__sticker--preset-popular {
    --kih-sticker-bg: #fff4e7;
    --kih-sticker-border: #f0d2ad;
    --kih-sticker-color: #96501b;
}

.kih-catalog-hero__sticker--preset-limited {
    --kih-sticker-bg: #f5efff;
    --kih-sticker-border: #dac9f4;
    --kih-sticker-color: #69419b;
}

.kih-catalog-hero__sticker--preset-eco {
    --kih-sticker-bg: #eaf8f0;
    --kih-sticker-border: #bfe1cc;
    --kih-sticker-color: #17704a;
}

.kih-catalog-hero__sticker--preset-ukraine {
    --kih-sticker-bg: linear-gradient(90deg, #eaf4ff 0 50%, #fff8d8 50% 100%);
    --kih-sticker-border: #cfdcce;
    --kih-sticker-color: #24557d;
}

a.kih-catalog-hero__sticker:hover {
    text-decoration: none;
    transform: translateY(-1px);
}

.kih-catalog-hero__desktop-promos {
    display: block;
    min-width: 0;
}

.kih-catalog-hero__banners {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    max-width: calc(
        (var(--kih-catalog-hero-banner-width) * 2)
        +
        10px
    );
}

.kih-catalog-hero__banner {
    display: block;
    width: min(
        var(--kih-catalog-hero-banner-width),
        100%
    );
    height: var(--kih-catalog-hero-banner-height);
    overflow: hidden;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #dfeae2;
    box-shadow: 0 10px 24px rgba(28,79,42,.07);
    text-decoration: none;
}

.kih-catalog-hero__banner-image,
.kih-catalog-hero__banner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

a.kih-catalog-hero__banner {
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

a.kih-catalog-hero__banner:hover {
    transform: translateY(-2px);
    border-color: #c9ded0;
    box-shadow: 0 14px 30px rgba(28,79,42,.11);
}

@media (max-width: 1023px) {
    .kih-catalog-hero--has-banners .kih-catalog-hero__layout {
        display: block;
    }

    .kih-catalog-hero__desktop-promos {
        display: none !important;
    }
}


.kih-breadcrumbs {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    border-radius: var(--kih-catalog-breadcrumb-radius);
    background: var(--kih-catalog-breadcrumb-bg);
    color: var(--kih-catalog-breadcrumb-text);
    border: 1px solid #dfeae2;
    padding: 8px 14px;
    font-size: 13px;
    line-height: 1.45;
    box-shadow: 0 10px 24px rgba(28, 79, 42, .04);
}

.kih-breadcrumbs a {
    color: var(--kih-catalog-breadcrumb-link);
    text-decoration: none;
    font-weight: 700;
}

.kih-breadcrumbs a:hover {
    text-decoration: underline;
}

.kih-breadcrumbs__trail {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.kih-breadcrumbs__sep {
    color: #9aaca1;
}

body.kih-catalog-ui-ready .woocommerce-products-header {
    display: none !important;
}

.kih-filter-toolbar,
.kih-catalog-nav {
    background: var(--kih-catalog-toolbar-bg);
    border: 1px solid var(--kih-catalog-toolbar-border);
    border-radius: var(--kih-catalog-toolbar-radius);
    box-shadow: 0 10px 24px rgba(28, 79, 42, .04);
}

.kih-filter-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 22px;
    margin-bottom: 18px;
}

.kih-filter-toolbar__count {
    font-weight: 800;
    color: #1f2e24;
}

.kih-filter-toolbar select,
.kih-filter-toolbar .orderby {
    border-radius: 14px !important;
    border: 1px solid #d7e4da !important;
    min-height: 44px;
    box-shadow: none !important;
}

.kih-catalog-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 14px 18px;
    margin: 18px 0;
}

.kih-catalog-nav--top {
    margin-top: 0;
    margin-bottom: 18px;
}

.kih-catalog-nav--bottom {
    margin-top: 18px;
    margin-bottom: 12px;
}

.kih-catalog-nav:empty {
    display: none;
}

body.kih-catalog-cards-enhanced .woocommerce ul.products li.product,
body.kih-catalog-cards-enhanced .woocommerce-page ul.products li.product {
    border-radius: var(--kih-catalog-card-radius);
    overflow: hidden;
    background: #fff;
    border: 1px solid #dfeae2;
    box-shadow: var(--kih-catalog-card-shadow);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.kih-catalog-cards-enhanced .woocommerce ul.products li.product:hover,
body.kih-catalog-cards-enhanced .woocommerce-page ul.products li.product:hover {
    transform: translateY(-4px);
    border-color: #c5dccb;
    box-shadow: 0 18px 40px rgba(28, 79, 42, .11);
}

body.kih-catalog-cards-enhanced .woocommerce ul.products li.product img,
body.kih-catalog-cards-enhanced .woocommerce-page ul.products li.product img {
    transition: transform .28s ease;
}

body.kih-catalog-cards-enhanced .woocommerce ul.products li.product:hover img,
body.kih-catalog-cards-enhanced .woocommerce-page ul.products li.product:hover img {
    transform: scale(1.02);
}

body.kih-catalog-cards-enhanced .woocommerce ul.products li.product .button,
body.kih-catalog-cards-enhanced .woocommerce-page ul.products li.product .button {
    border-radius: 14px !important;
}

.kih-filter-load-more-host button,
.kih-filter-pagination button {
    border-radius: 14px !important;
}

.kih-filter-load-more-host button {
    min-width: 220px;
    min-height: 48px;
    font-weight: 800;
}

.kih-product-breadcrumbs-wrap--summary {
    margin-bottom: 12px;
}

@media (max-width: 900px) {
    .kih-catalog-hero {
        padding: 20px 18px;
        border-radius: 20px;
    }

    .kih-catalog-hero__meta {
        gap: 8px;
    }

    .kih-filter-toolbar {
        padding: 14px 16px;
        flex-direction: column;
        align-items: stretch;
    }

    .kih-filter-toolbar > * {
        width: 100%;
    }

    .kih-catalog-nav {
        padding: 12px 12px;
    }
}


/* =========================================================
 * Catalog UI 2.16.01 — polish + native cleanup
 * ========================================================= */

.kih-catalog-hero__content {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.kih-catalog-hero__title {
    font-size: clamp(27px, 2.35vw, 36px) !important;
    font-weight: 650 !important;
    line-height: 1.12 !important;
    letter-spacing: -.018em;
}

.kih-catalog-hero__meta {
    margin-top: 2px;
    align-items: center;
}

.kih-catalog-hero__badge:empty {
    display: none !important;
}

.kih-catalog-hero__badge {
    min-height: 36px;
    box-sizing: border-box;
}

body.kih-catalog-ui-ready .woocommerce-products-header,
body.kih-catalog-ui-ready .woocommerce-products-header__title,
body.kih-catalog-ui-ready h1.page-title:not(.kih-catalog-hero__title),
body.kih-catalog-ui-ready .woocommerce-ordering,
body.kih-catalog-ui-ready form.woocommerce-ordering,
body.kih-catalog-ui-ready .woocommerce-pagination,
body.kih-catalog-ui-ready nav.woocommerce-pagination,
body.kih-catalog-ui-ready .gridlist-toggle,
body.kih-catalog-ui-ready .gridlist-toggle-wrap,
body.kih-catalog-ui-ready .products-view,
body.kih-catalog-ui-ready .product-view-switcher {
    display: none !important;
}

.kih-catalog-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.kih-catalog-pagination a,
.kih-catalog-pagination span.is-current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 11px;
    box-sizing: border-box;
    border-radius: 12px;
    border: 1px solid #d4e3d8;
    background: #fff;
    color: #31543d;
    font-weight: 750;
    text-decoration: none;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.kih-catalog-pagination a:hover {
    transform: translateY(-1px);
    border-color: #9bc5a7;
    box-shadow: 0 8px 20px rgba(27, 87, 44, .08);
}

.kih-catalog-pagination span.is-current {
    border-color: #239248;
    background: #239248;
    color: #fff;
}

.kih-catalog-pagination__dots {
    color: #829087;
    padding: 0 2px;
}

.kih-catalog-pagination__control {
    font-size: 20px;
    line-height: 1;
}

@media (max-width: 900px) {
    .kih-catalog-hero__content {
        gap: 10px;
    }

    .kih-catalog-hero__title {
        font-size: clamp(24px, 7vw, 31px) !important;
        font-weight: 650 !important;
    }
}


/* =========================================================
 * Catalog UI 2.16.02 — view switch + load more
 * ========================================================= */

[data-kih-native-view-switcher-hidden="1"] {
    display: none !important;
}

.kih-filter-toolbar__right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-left: auto;
}

.kih-catalog-view-switch {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border: 1px solid #d8e7dc;
    border-radius: 13px;
    background: #f6faf7;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}

.kih-catalog-view-switch__button {
    width: 38px;
    height: 38px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #587060;
    cursor: pointer;
    transition:
        background .16s ease,
        color .16s ease,
        box-shadow .16s ease,
        transform .16s ease;
}

.kih-catalog-view-switch__button:hover {
    color: #16863b;
    background: #eaf6ed;
    transform: translateY(-1px);
}

.kih-catalog-view-switch__button.is-active {
    color: #fff;
    background: #20a148;
    box-shadow: 0 7px 16px rgba(32,161,72,.20);
}

.kih-catalog-view-switch__button svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.kih-catalog-view-switch__button svg rect {
    fill: none;
    stroke: currentColor;
}

/*
 * CSS fallback for list view if Avanam's own switcher is unavailable.
 */
.kih-filter-category-content.is-kih-catalog-list-view
.kih-filter-products-holder ul.products {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
}

.kih-filter-category-content.is-kih-catalog-list-view
.kih-filter-products-holder ul.products > li.product {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.kih-filter-load-more-host {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 8px 0 4px;
}

.kih-filter-load-more {
    min-width: 240px;
    min-height: 50px;
    padding: 12px 24px !important;
    border: 1px solid #168e3c !important;
    border-radius: 14px !important;
    background: #1fa247 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: .01em;
    box-shadow: 0 10px 24px rgba(31,162,71,.18);
    cursor: pointer;
    transition:
        transform .16s ease,
        box-shadow .16s ease,
        background .16s ease;
}

.kih-filter-load-more:hover {
    transform: translateY(-1px);
    background: #168f3d !important;
    box-shadow: 0 12px 28px rgba(31,162,71,.24);
}

@media (max-width: 900px) {
    .kih-filter-toolbar__right {
        width: 100%;
        justify-content: space-between;
    }

    .kih-filter-sort {
        flex: 1 1 auto;
    }

    .kih-catalog-view-switch {
        flex: 0 0 auto;
    }
}


/* 2.16.03 — no empty catalog navigation strip */
.kih-catalog-nav[style*="display: none"],
.kih-catalog-nav:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    min-height: 0 !important;
    box-shadow: none !important;
}


/* 2.16.05 — legacy archive title safety */
body.kih-catalog-ui-ready .woocommerce-products-header__title,
body.kih-catalog-ui-ready .archive-title:not(.kih-catalog-hero__title),
body.kih-catalog-ui-ready h1.page-title:not(.kih-catalog-hero__title) {
    display: none !important;
}


/* =========================================================
 * 2.16.06 — Avanam / TemplateMela archive compatibility
 * ========================================================= */

/*
 * The real fix is PHP hook removal. This is only a cache-safe fallback
 * for a page cached before the new compatibility layer ran.
 */
body.kih-catalog-vendor-compat
.page-load-status,
body.kih-catalog-vendor-compat
.products.ajax-load,
body.kih-catalog-vendor-compat
.load-more-wrap,
body.kih-catalog-vendor-compat
.base-shop-top-row {
    display: none !important;
}

/* KihCarpet owns archive title and controls. */
body.kih-catalog-vendor-compat
.archive-title:not(.kih-catalog-hero__title),
body.kih-catalog-vendor-compat
.woocommerce-products-header__title,
body.kih-catalog-vendor-compat
h1.page-title:not(.kih-catalog-hero__title) {
    display: none !important;
}


/* =========================================================
 * Catalog 2.16.09 — inline load-more + loading animation
 * ========================================================= */

.kih-filter-load-more {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.kih-filter-load-more.is-loading {
    position: relative;
    pointer-events: none;
    cursor: wait;
    opacity: .94;
}

.kih-filter-load-more.is-loading::before {
    content: "";
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    box-sizing: border-box;
    border: 2px solid rgba(255, 255, 255, .42);
    border-top-color: #fff;
    border-radius: 50%;
    animation: kihCatalogLoadMoreSpin .72s linear infinite;
}

.kih-filter-load-more.is-loading::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 5px;
    height: 2px;
    overflow: hidden;
    border-radius: 999px;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0) 0%,
            rgba(255,255,255,.88) 50%,
            rgba(255,255,255,0) 100%
        );
    transform: translateX(-65%);
    animation: kihCatalogLoadMoreBar 1.05s ease-in-out infinite;
}

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

@keyframes kihCatalogLoadMoreBar {
    0% {
        transform: translateX(-65%);
        opacity: .25;
    }

    50% {
        opacity: 1;
    }

    100% {
        transform: translateX(65%);
        opacity: .25;
    }
}

.kih-filter-product-enter {
    opacity: 0;
    transform: translateY(18px) scale(.985);
    filter: saturate(.88);
}

.kih-filter-product-enter.is-kih-filter-product-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: saturate(1);
    transition:
        opacity .42s ease var(--kih-product-enter-delay, 0ms),
        transform .42s cubic-bezier(.2,.75,.25,1) var(--kih-product-enter-delay, 0ms),
        filter .42s ease var(--kih-product-enter-delay, 0ms);
}

@media (prefers-reduced-motion: reduce) {
    .kih-filter-load-more.is-loading::before,
    .kih-filter-load-more.is-loading::after {
        animation: none !important;
    }

    .kih-filter-product-enter,
    .kih-filter-product-enter.is-kih-filter-product-visible {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
    }
}


/* =========================================================
   Runner desktop floating price — 2.16.25
   ========================================================= */

@media (min-width: 761px) {

    .kih-runner-mobile-price[data-device="desktop"] {
        display: flex !important;

        bottom:
            var(
                --kih-runner-desktop-price-bottom,
                18px
            ) !important;

        border-color:
            var(
                --kih-runner-desktop-price-border,
                #cfe4d5
            ) !important;

        background:
            color-mix(
                in srgb,
                var(
                    --kih-runner-desktop-price-bg,
                    #ffffff
                ) 96%,
                transparent
            ) !important;

        max-width:
            min(
                520px,
                calc(100vw - 48px)
            ) !important;

        min-height: 48px;
        padding: 9px 16px;

        box-shadow:
            0 12px 34px
            rgba(16,57,28,.14);
    }


    .kih-runner-mobile-price[data-device="desktop"]
    .kih-runner-mobile-price__value {
        color:
            var(
                --kih-runner-desktop-price-text,
                #16883e
            ) !important;

        font-size: 20px;
    }


    .kih-runner-mobile-price[data-device="mobile"] {
        display: none !important;
    }
}


@media (max-width: 760px) {

    .kih-runner-mobile-price[data-device="desktop"] {
        display: none !important;
    }
}


/* =========================================================
   Product top strip cleanup — 2.16.25
   ========================================================= */

body.single-product.kih-product-page-visual
.entry-hero-container,
body.single-product.kih-product-page-visual
.entry-hero-container-inner,
body.single-product.kih-product-page-visual
.page-title,
body.single-product.kih-product-page-visual
.page-title-container,
body.single-product.kih-product-page-visual
.page-header {
    display: none !important;

    min-height: 0 !important;
    height: 0 !important;

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

    border: 0 !important;
}


body.single-product.kih-product-page-visual,
body.single-product.kih-product-page-visual #page,
body.single-product.kih-product-page-visual #inner-wrap,
body.single-product.kih-product-page-visual .site,
body.single-product.kih-product-page-visual .site-content,
body.single-product.kih-product-page-visual .content-area,
body.single-product.kih-product-page-visual .site-main,
body.single-product.kih-product-page-visual .content-bg {
    background-color: #ffffff !important;
}


/* =========================================================
   KihCarpet sale price presentation — 2.16.65
========================================================= */
html body.kih-storefront-visual .kih-sale-price-display {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px 9px;
    max-width: 100%;
    line-height: 1.2;
}

html body.kih-storefront-visual .kih-sale-price-display__prices {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px;
}

html body.kih-storefront-visual .kih-sale-price-display__prices del {
    opacity: 1;
    color: #8b948d;
    font-size: .82em;
    font-weight: 600;
    text-decoration-thickness: 1px;
    text-decoration-color: #b2b8b3;
}

html body.kih-storefront-visual .kih-sale-price-display__prices del .amount {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

html body.kih-storefront-visual .kih-sale-price-display__prices ins {
    padding: 0;
    background: transparent;
    color: #c82e48;
    font-size: 1.08em;
    font-weight: 850;
    text-decoration: none;
}

html body.kih-storefront-visual .kih-sale-price-display__prices ins .amount {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

html body.kih-storefront-visual .kih-sale-price-display__meta {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
}

html body.kih-storefront-visual .kih-sale-price-display__discount {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #fff0f3;
    color: #c82e48;
    font-size: 11px;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
}

html body.kih-storefront-visual .kih-sale-price-display__until {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 7px;
    border: 1px solid #dce8df;
    border-radius: 999px;
    background: #f5faf6;
    color: #347044;
    font-size: 10px;
    font-weight: 750;
    line-height: 1;
    white-space: nowrap;
}

html body.kih-storefront-visual.single-product
.summary .kih-sale-price-display {
    gap: 9px 11px;
}

html body.kih-storefront-visual.single-product
.summary .kih-sale-price-display__discount {
    min-height: 26px;
    padding: 4px 9px;
    font-size: 12px;
}

html body.kih-storefront-visual.single-product
.summary .kih-sale-price-display__until {
    min-height: 26px;
    padding: 4px 9px;
    font-size: 11px;
}

@media (max-width: 767px) {
    html body.kih-storefront-visual .kih-sale-price-display {
        gap: 5px 7px;
    }

    html body.kih-storefront-visual .kih-sale-price-display__meta {
        gap: 4px;
    }
}

/* =========================================================
   Selected variation sale price — 2.16.66
   Keeps the existing WooCommerce price engine; only the selected
   variation presentation is polished on the Product Page.
========================================================= */
html body.kih-storefront-visual.single-product
.summary .price
.kih-sale-price-display--variation {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
    width: fit-content;
    max-width: 100%;
    padding: 10px 12px;
    border: 1px solid #dbe9df;
    border-radius: 14px;
    background:
        linear-gradient(
            135deg,
            #fbfefc 0%,
            #f4faf6 100%
        );
    box-shadow:
        0 8px 24px rgba(21, 92, 47, .07);
    vertical-align: middle;
}

html body.kih-storefront-visual.single-product
.summary .price
.kih-sale-price-display--variation
.kih-sale-price-display__prices {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 9px;
}

html body.kih-storefront-visual.single-product
.summary .price
.kih-sale-price-display--variation
.kih-sale-price-display__prices del {
    color: #89928b !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.15;
    opacity: 1 !important;
    text-decoration-line: line-through;
    text-decoration-thickness: 1.5px;
    text-decoration-color: #aeb6b0;
}

html body.kih-storefront-visual.single-product
.summary .price
.kih-sale-price-display--variation
.kih-sale-price-display__prices del .amount {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

html body.kih-storefront-visual.single-product
.summary .price
.kih-sale-price-display--variation
.kih-sale-price-display__prices ins {
    padding: 0 !important;
    background: transparent !important;
    color: #1f9d43 !important;
    font-size: 25px !important;
    font-weight: 850 !important;
    line-height: 1.05;
    text-decoration: none !important;
}

html body.kih-storefront-visual.single-product
.summary .price
.kih-sale-price-display--variation
.kih-sale-price-display__prices ins .amount {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

html body.kih-storefront-visual.single-product
.summary .price
.kih-sale-price-display--variation
.kih-sale-price-display__meta {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

html body.kih-storefront-visual.single-product
.summary .price
.kih-sale-price-display--variation
.kih-sale-price-display__discount {
    min-height: 24px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #fff0f3;
    color: #c82e48;
    font-size: 11px;
    font-weight: 850;
}

html body.kih-storefront-visual.single-product
.summary .price
.kih-sale-price-display--variation
.kih-sale-price-display__until {
    min-height: 24px;
    padding: 4px 8px;
    border: 1px solid #dbe9df;
    border-radius: 999px;
    background: #ffffff;
    color: #347044;
    font-size: 11px;
    font-weight: 750;
}

@media (max-width: 767px) {
    html body.kih-storefront-visual.single-product
    .summary .price
    .kih-sale-price-display--variation {
        gap: 6px;
        padding: 9px 10px;
        border-radius: 12px;
    }

    html body.kih-storefront-visual.single-product
    .summary .price
    .kih-sale-price-display--variation
    .kih-sale-price-display__prices ins {
        font-size: 22px !important;
    }

    html body.kih-storefront-visual.single-product
    .summary .price
    .kih-sale-price-display--variation
    .kih-sale-price-display__prices del {
        font-size: 14px !important;
    }
}


/* =========================================================
   Runner price — running metre unit 2.16.68
   Presentation only; runner calculations are unchanged.
========================================================= */
html body.single-product.kih-product-family--runner
.summary .price .kih-runner-price-unit {
    display: inline-flex;
    align-items: center;
    margin-inline-start: 7px;
    padding: 3px 8px;
    border: 1px solid #d9e9dd;
    border-radius: 999px;
    background: #f3faf5;
    color: #2f6e40;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: .01em;
    white-space: nowrap;
    vertical-align: baseline;
}

html body.single-product.kih-product-family--runner
.summary .price.kih-runner-price--per-metre {
    max-width: 100%;
}

html body.single-product.kih-product-family--runner
.summary .price .kih-sale-price-display--variation
+ .kih-runner-price-unit {
    margin-inline-start: 8px;
    vertical-align: middle;
}

@media (max-width: 767px) {
    html body.single-product.kih-product-family--runner
    .summary .price .kih-runner-price-unit {
        margin-inline-start: 6px;
        padding: 3px 7px;
        font-size: 11px;
    }
}

/* =========================================================
   KihCarpet selected variation — sale deadline
   2.16.69
========================================================= */
html body.kih-storefront-visual.single-product
.summary .price
.kih-sale-price-display--variation
.kih-sale-price-display__until {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 26px;
    padding: 5px 9px;
    border: 1px solid #cce6d3;
    border-radius: 999px;
    background: #f1faf3;
    color: #1d7136;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.1;
    white-space: nowrap;
}

html body.kih-storefront-visual.single-product
.summary .price
.kih-sale-price-display--variation
.kih-sale-price-display__until::before {
    content: "◷";
    display: inline-block;
    color: #1f9d43;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
}

@media (max-width: 767px) {
    html body.kih-storefront-visual.single-product
    .summary .price
    .kih-sale-price-display--variation
    .kih-sale-price-display__until {
        white-space: normal;
    }
}

/* Selected sale variation — quantity total, 2.16.70 */
html body.kih-storefront-visual.single-product
.summary .price
.kih-sale-price-display--variation
.kih-sale-price-display__quantity {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 8px;
    border: 1px solid #dbe9df;
    border-radius: 999px;
    background: #fff;
    color: #5a665d;
    font-size: 11px;
    font-weight: 750;
    line-height: 1;
    white-space: nowrap;
}

/* =========================================================
   Product Page SKU under title — 2.16.73
========================================================= */
html body.single-product .summary .kih-product-sku-line {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    max-width: 100%;
    margin: -4px 0 12px;
    padding: 5px 9px;
    border: 1px solid #dce9df;
    border-radius: 999px;
    background: #f6faf7;
    color: #647068;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .005em;
}

html body.single-product
.summary .kih-product-sku-line[hidden] {
    display: none !important;
}

html body.single-product
.summary .kih-product-sku-line__label {
    color: #758078;
    font-weight: 600;
}

html body.single-product
.summary .kih-product-sku-line__value {
    color: #285f38;
    font-weight: 800;
    letter-spacing: .02em;
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    html body.single-product .summary .kih-product-sku-line {
        margin-top: -2px;
        margin-bottom: 10px;
        padding: 4px 8px;
        font-size: 11px;
    }
}

/*
 * Simple sale Product Page reuses the exact polished variation sale component.
 * The PHP wrapper adds --variation only on a single simple product, therefore
 * existing archive/card price layouts stay untouched.
 */
html body.kih-storefront-visual.single-product
.summary .price
.kih-sale-price-display--simple {
    vertical-align: middle;
}

/* Simple sale price on catalog/recommendation cards — 2.16.73 */
html body.kih-storefront-visual
.kih-sale-price-display--simple-card {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 5px 7px;
}

html body.kih-storefront-visual
.kih-sale-price-display--simple-card
.kih-sale-price-display__prices {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
}

html body.kih-storefront-visual
.kih-sale-price-display--simple-card
.kih-sale-price-display__prices del,
html body.kih-storefront-visual
.kih-sale-price-display--simple-card
.kih-sale-price-display__prices del .amount {
    color: #9ba29d !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    opacity: 1 !important;
    text-decoration-color: #b9bfbb !important;
    text-decoration-thickness: 1px !important;
}

html body.kih-storefront-visual
.kih-sale-price-display--simple-card
.kih-sale-price-display__prices ins,
html body.kih-storefront-visual
.kih-sale-price-display--simple-card
.kih-sale-price-display__prices ins .amount {
    padding: 0 !important;
    background: transparent !important;
    color: #1f9d43 !important;
    font-size: 18px !important;
    font-weight: 850 !important;
    text-decoration: none !important;
}

html body.kih-storefront-visual
.kih-sale-price-display--simple-card
.kih-sale-price-display__meta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

html body.kih-storefront-visual
.kih-sale-price-display--simple-card
.kih-sale-price-display__discount {
    min-height: 20px;
    padding: 3px 6px;
    font-size: 10px;
}

html body.kih-storefront-visual
.kih-sale-price-display--simple-card
.kih-sale-price-display__until {
    min-height: 20px;
    padding: 3px 6px;
    font-size: 9px;
}


/* =========================================================
   Product description typography — 2.16.109
   Reuses existing storefront.css; no new frontend asset.
========================================================= */

body.single-product.kih-product-short-copy--styled
.summary
.woocommerce-product-details__short-description {
    position: relative;
    margin: 0 0 22px !important;
    padding:
        var(--kih-desc-short-padding, 16px)
        !important;

    border:
        1px solid
        var(--kih-desc-soft-border, #dceae0);

    border-radius:
        var(--kih-desc-short-radius, 16px);

    background:
        linear-gradient(
            135deg,
            var(--kih-desc-soft-bg, #f5faf6) 0%,
            color-mix(
                in srgb,
                var(--kih-desc-soft-bg, #f5faf6) 78%,
                #ffffff
            ) 100%
        );

    color:
        var(--kih-desc-text, #526158)
        !important;

    font-size:
        var(--kih-desc-short-size, 15px)
        !important;

    line-height:
        var(--kih-desc-short-line, 1.7)
        !important;

    box-shadow:
        0 10px 28px
        rgba(24, 91, 48, .045);
}


body.single-product.kih-product-short-copy--styled
.summary
.woocommerce-product-details__short-description
p {
    margin: 0 0 10px !important;

    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}


body.single-product.kih-product-short-copy--styled
.summary
.woocommerce-product-details__short-description
p:last-child {
    margin-bottom: 0 !important;
}


body.single-product.kih-product-short-copy--styled
.summary
.woocommerce-product-details__short-description
strong,
body.single-product.kih-product-short-copy--styled
.summary
.woocommerce-product-details__short-description
b {
    color:
        var(--kih-desc-strong, #126532);

    font-weight: 700;
}


body.single-product.kih-product-short-copy--styled
.summary
.woocommerce-product-details__short-description
a {
    color:
        var(--kih-desc-accent, #1f9a4a);

    font-weight: 650;
    text-underline-offset: 2px;
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description {
    color:
        var(--kih-desc-text, #526158)
        !important;

    font-size:
        var(--kih-desc-full-size, 16px)
        !important;

    line-height:
        var(--kih-desc-full-line, 1.8)
        !important;
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
> *:first-child,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
> *:first-child {
    margin-top: 0 !important;
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
h1,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
h1 {
    margin:
        calc(
            var(--kih-desc-section-gap, 24px)
            + 4px
        )
        0
        14px
        !important;

    color:
        var(--kih-desc-heading, #17251b)
        !important;

    font-size:
        var(--kih-desc-h1-size, 30px)
        !important;

    font-weight: 750 !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
h2,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
h2 {
    position: relative;

    margin:
        var(--kih-desc-section-gap, 24px)
        0
        14px
        !important;

    padding-left: 14px;

    color:
        var(--kih-desc-heading, #17251b)
        !important;

    font-size:
        var(--kih-desc-h2-size, 25px)
        !important;

    font-weight: 720 !important;
    line-height: 1.25 !important;
    letter-spacing: -.02em !important;
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
h2::before,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
h2::before {
    position: absolute;
    top: .14em;
    bottom: .14em;
    left: 0;

    width: 4px;

    border-radius: 999px;

    background:
        var(--kih-desc-accent, #1f9a4a);

    content: "";
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
h3,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
h3 {
    margin:
        calc(
            var(--kih-desc-section-gap, 24px)
            - 3px
        )
        0
        10px
        !important;

    color:
        var(--kih-desc-heading, #17251b)
        !important;

    font-size:
        var(--kih-desc-h3-size, 20px)
        !important;

    font-weight: 700 !important;
    line-height: 1.3 !important;
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
h4,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
h4,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
h5,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
h5,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
h6,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
h6 {
    margin:
        calc(
            var(--kih-desc-section-gap, 24px)
            - 5px
        )
        0
        9px
        !important;

    color:
        var(--kih-desc-heading, #17251b)
        !important;

    font-weight: 700 !important;
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
p,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
p {
    margin: 0 0 15px !important;

    color:
        var(--kih-desc-text, #526158)
        !important;

    font-size:
        var(--kih-desc-full-size, 16px)
        !important;

    line-height:
        var(--kih-desc-full-line, 1.8)
        !important;
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
strong,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
strong,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
b,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
b {
    color:
        var(--kih-desc-strong, #126532);

    font-weight: 720;
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
a,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
a {
    color:
        var(--kih-desc-accent, #1f9a4a)
        !important;

    font-weight: 650;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
ul,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
ol,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
ul,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
ol {
    gap: 9px !important;

    margin:
        14px
        0
        20px
        !important;

    padding-left: 24px !important;

    color:
        var(--kih-desc-text, #526158);
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
li,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
li {
    padding-left: 3px;

    font-size:
        var(--kih-desc-full-size, 16px);

    line-height:
        var(--kih-desc-full-line, 1.8);
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
li::marker,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
li::marker {
    color:
        var(--kih-desc-accent, #1f9a4a);

    font-weight: 800;
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
blockquote,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
blockquote {
    margin: 20px 0 !important;
    padding: 16px 18px !important;

    border: 1px solid
        var(--kih-desc-soft-border, #dceae0) !important;
    border-left: 4px solid
        var(--kih-desc-accent, #1f9a4a) !important;
    border-radius: 14px;

    background:
        var(--kih-desc-soft-bg, #f5faf6);

    color:
        var(--kih-desc-text, #526158);

    font-style: normal;
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
table,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
table {
    width: 100%;

    margin: 18px 0 24px !important;

    border: 1px solid
        var(--kih-desc-soft-border, #dceae0) !important;
    border-radius: 14px;

    border-collapse: separate !important;
    border-spacing: 0;

    overflow: hidden;
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
th,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
th {
    padding: 12px 14px !important;

    border-color:
        var(--kih-desc-soft-border, #dceae0)
        !important;

    background:
        var(--kih-desc-soft-bg, #f5faf6);

    color:
        var(--kih-desc-heading, #17251b);

    font-weight: 700;
    text-align: left;
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
td,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
td {
    padding: 12px 14px !important;

    border-color:
        var(--kih-desc-soft-border, #dceae0)
        !important;

    color:
        var(--kih-desc-text, #526158);
}


body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
#tab-description
img,
body.single-product.kih-product-full-copy--styled
.woocommerce-tabs
.woocommerce-Tabs-panel--description
img {
    max-width: 100%;
    height: auto;

    border-radius: 14px;
}


@media (max-width: 767px) {
    body.single-product.kih-product-short-copy--styled
    .summary
    .woocommerce-product-details__short-description {
        padding:
            max(
                12px,
                calc(
                    var(--kih-desc-short-padding, 16px)
                    - 2px
                )
            )
            !important;
    }


    body.single-product.kih-product-full-copy--styled
    .woocommerce-tabs
    #tab-description,
    body.single-product.kih-product-full-copy--styled
    .woocommerce-tabs
    .woocommerce-Tabs-panel--description {
        overflow-wrap: anywhere;
    }


    body.single-product.kih-product-full-copy--styled
    .woocommerce-tabs
    #tab-description
    table,
    body.single-product.kih-product-full-copy--styled
    .woocommerce-tabs
    .woocommerce-Tabs-panel--description
    table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }
}
