/* Presentation only. Pricing, stock, payment and trust content are unchanged. */
.kohudis-order-recovery { margin: 24px 0; padding: 22px; border: 1px solid rgba(26,26,26,.2); border-radius: 20px; background: #faf9f6; }
.kohudis-order-recovery__eyebrow { margin: 0 0 5px; color: #ae4600 !important; font-size: 11px !important; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.kohudis-order-recovery h2 { margin: 0 0 8px; color: #181614; font-size: clamp(22px, 3vw, 30px); }
.kohudis-order-recovery > p:not(.kohudis-order-recovery__eyebrow) { color: #625e57; }
.kohudis-order-recovery__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.kohudis-order-recovery__actions .button { border-radius: 999px; }
@media (max-width: 640px) { .kohudis-order-recovery { padding: 18px; border-radius: 18px; } .kohudis-order-recovery__actions { display: grid; } .kohudis-order-recovery__actions .button { width: 100%; text-align: center; } }
.koh-range-intro { max-width: 1180px; margin: 0 auto 32px; color: #181614; background: #fff; border: 1px solid #e8e5df; border-radius: 20px; overflow: hidden; }
.koh-range-intro__figure { margin: 0; }
.koh-range-intro__figure picture, .koh-range-intro__figure img { display: block; width: 100%; }
.koh-range-intro__figure img { height: auto; aspect-ratio: 2928 / 1200; object-fit: contain; }
.koh-range-intro__figure figcaption { padding: 12px 24px; font-size: 12px; line-height: 1.5; color: #625e57; border-bottom: 1px solid #e8e5df; }
.koh-range-intro__copy { padding: clamp(20px, 3vw, 36px); }
.koh-range-intro .koh-range-intro__eyebrow { color: #ae4600; font-size: 12px; font-weight: 800; letter-spacing: .08em; margin: 0 0 10px; }
.koh-range-intro h2 { font-size: clamp(26px, 3vw, 38px); line-height: 1.15; margin: 0 0 16px; }
.koh-range-intro p { font-size: 16px; line-height: 1.65; color: #625e57; margin: 0 0 16px; }
.koh-range-intro__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin: 24px 0; }
.koh-range-intro h3 { font-size: 20px; margin: 0 0 10px; }
.koh-range-intro a { display: inline-flex; align-items: center; min-height: 44px; color: #ae4600; font-weight: 750; text-decoration: underline; text-underline-offset: 4px; }
.koh-range-intro a:focus-visible { outline: 2px solid #181614; outline-offset: 4px; }
.koh-range-intro .koh-range-intro__note { font-size: 12px; line-height: 1.6; margin-bottom: 0; }
@media (max-width: 767px) {
    .koh-range-intro__figure img { aspect-ratio: 4 / 3; }
    .koh-range-intro__figure figcaption { padding: 10px 18px; }
    .koh-range-intro__grid { grid-template-columns: 1fr; gap: 20px; }
}
/* A quiet, solid surface keeps the mobile headline and offer unobstructed. */
body.home main .koh-home-hero {
    background: #faf9f6 !important;
    border-color: #e8e5df !important;
    box-shadow: 0 8px 24px rgba(24, 22, 20, .04) !important;
}
body.home main .koh-home-hero::before {
    content: none !important;
    display: none !important;
}
/* Homepage offer: price is rendered from the shared pricing rules. */
body.home main .koh-home-hero .koh-home-offer {
    margin: 18px 0 !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
    color: #181614 !important;
}
body.home main .koh-home-hero .koh-home-offer strong { font-size: 28px; }
body.home main .koh-home-hero .koh-home-offer > span {
    display: block;
    margin-top: 4px;
    font-size: 13px;
    color: #625e57;
}
body.home main .koh-home-hero .koh-home-supply-note {
    max-width: 620px;
    margin: 8px 0 18px !important;
    color: #625e57 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}
body.home main .koh-home-hero .koh-home-hero__actions > a:first-child {
    background: #1a1a1a !important;
    color: #181614 !important;
    border: 1px solid #1a1a1a !important;
    box-shadow: none !important;
    font-weight: 800 !important;
    min-height: 48px;
}
body.home main .koh-home-hero .koh-home-hero__actions > a:focus-visible {
    outline: 3px solid #181614;
    outline-offset: 3px;
}
@media (max-width: 689.98px) {
    body.home main .koh-home-hero { padding: 24px 18px !important; }
    body.home main .koh-home-hero__grid { gap: 16px !important; }
    body.home main .koh-home-hero .koh-home-hero__copy h1 {
        font-size: 34px !important;
        margin: 12px 0 !important;
    }
    body.home main .koh-home-hero .koh-home-offer { margin: 12px 0 !important; }
    body.home main .koh-home-hero .koh-home-hero__actions {
        display: flex !important;
        flex-direction: column;
        gap: 8px !important;
        margin: 12px 0 !important;
    }
    body.home main .koh-home-hero .koh-home-hero__actions > a {
        width: 100%;
        justify-content: center;
        text-align: center;
        padding: 12px 16px !important;
    }
    body.home main .koh-home-hero .koh-home-hero__actions > a + a {
        min-height: 44px;
        padding: 8px 16px !important;
    }
    body.home main .koh-home-hero .koh-home-hero__copy > p:last-child {
        display: block !important;
        overflow: visible !important;
        margin-bottom: 0 !important;
    }
}
:root {
    --koh-surface: #faf9f6;
    --koh-ink: #181614;
    --koh-line: #e8e5df;
    --koh-radius: 20px;
}
/* Keep the main price beside the capacity controls; retain the fallback
   summary price until the live purchase panel has rendered. */
body.single-product #main .summary.entry-summary:has(form.cart .kohudis-live-variation-price .kohudis-live-price__amount:not(:empty)) > .kohudis-live-price .kohudis-live-price__amount-row {
    display: none !important;
}
body.single-product #main .summary.entry-summary form.cart .kohudis-live-price__product-total,
body.single-product #main .summary.entry-summary form.cart .kohudis-live-price__shipping,
body.single-product #main .summary.entry-summary form.cart .kohudis-live-price__product-total strong,
body.single-product #main .summary.entry-summary form.cart .kohudis-live-price__shipping strong {
    color: #625e57 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}
body.single-product #main .summary.entry-summary form.cart .kohudis-live-price__amount-row {
    padding-bottom: 8px !important;
}
body.single-product #main .summary.entry-summary .kohudis-refill-format-notice {
    padding: 12px 14px !important;
    margin-block: 12px !important;
}
body.single-product #main .summary.entry-summary .kohudis-refill-format-notice p {
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin-bottom: 0 !important;
}
@media (max-width: 689px) {
    /* Reserve the right edge for the chat launcher. */
    body.single-product .kohudis-mobile-buy-bar {
        right: 82px !important;
        gap: 8px !important;
        padding: 10px !important;
        border-radius: 16px !important;
    }
    body.single-product .kohudis-mobile-buy-bar__ship { display: none !important; }
    body.single-product .kohudis-mobile-buy-bar__size { font-size: 11px !important; }
    body.single-product .kohudis-mobile-buy-bar__price { color: #181614 !important; font-size: 18px !important; }
    body.single-product .kohudis-mobile-buy-bar__button {
        color: #181614 !important;
        padding-inline: 12px !important;
        border-radius: 12px !important;
        box-shadow: none !important;
    }
}
body.home .koh-home-hero,
body.page-id-818 .koh-products-page > .koh-page-hero {
    background: var(--koh-surface) !important;
    box-shadow: none !important;
    padding: clamp(24px, 4vw, 48px) !important;
}
body.home .koh-home-hero .koh-home-hero__copy h1 {
    font-family: inherit !important;
    font-size: clamp(32px, 4.5vw, 58px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em;
}
body .products li.product {
    background: #fff !important;
    border-color: var(--koh-line) !important;
    border-radius: var(--koh-radius) !important;
    box-shadow: 0 4px 18px rgb(24 22 20 / 3%) !important;
}
body .products li.product .price {
    font-size: 22px !important;
    line-height: 1.3 !important;
    color: var(--koh-ink) !important;
    margin-block: 14px !important;
}
body .products li.product .button,
body.single-product #main .single_add_to_cart_button {
    min-height: 48px;
    border-radius: 14px !important;
    background: #1a1a1a !important;
    color: #181614 !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}
.koh-advanced-filters {
    width: 100%;
    border-top: 1px solid var(--koh-line);
    padding-top: 12px;
}
.koh-advanced-filters > summary {
    cursor: pointer;
    padding: 10px 0;
    font-weight: 750;
    color: var(--koh-ink);
}
.koh-advanced-filters[open] > summary { margin-bottom: 10px; }
.koh-advanced-filters:focus-within { outline-color: #b84c00; }
body.single-product #main .summary.entry-summary {
    border-radius: 24px !important;
    border: 1px solid var(--koh-line) !important;
    box-shadow: none !important;
}
body.single-product #main .summary.entry-summary .product_title {
    font-size: clamp(26px, 3vw, 38px) !important;
    line-height: 1.15 !important;
    letter-spacing: -.025em;
}
body.single-product #main .summary.entry-summary .kohudis-product-title__sku {
    margin: 0 0 7px !important;
    color: #181614 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
    letter-spacing: .005em;
}
body.single-product #main .summary.entry-summary .kohudis-product-title__sku-code {
    color: #1a1a1a !important;
}
body.single-product #main .summary.entry-summary .kohudis-product-title__scent {
    color: #1a1a1a !important;
}
/* A legacy template prints its own title at priority 5. The shared title
 * above is the single customer-facing H1 and remains the semantic heading. */
body.single-product #main .summary.entry-summary > h1.product_title:not(:first-of-type) {
    display: none !important;
}
.koh-quote-product-link { margin: 16px 0; font-size: 14px; line-height: 1.5; }
.koh-quote-product-link a { color: #a34400; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.koh-wl-form .wpforms-field input:not([type=hidden]),
.koh-wl-form .wpforms-field select,
.koh-wl-form .wpforms-field textarea { width: 100% !important; max-width: 100% !important; border-radius: 10px !important; font-size: 16px !important; }
.koh-wl-form .wpforms-field { padding: 10px 0 !important; }
body.single-product #main .summary.entry-summary form.cart .woocommerce-variation-price {
    background: var(--koh-surface) !important;
    border-color: var(--koh-line) !important;
    box-shadow: none !important;
}
body.woocommerce-cart .cart_totals,
body.woocommerce-checkout #order_review {
    border-radius: 24px !important;
    border-color: var(--koh-line) !important;
    background: #fff !important;
    box-shadow: none !important;
}
body.woocommerce-checkout input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
body.woocommerce-checkout select,
body.woocommerce-checkout textarea {
    border-radius: 10px !important;
    border-color: #c9c5bd !important;
    font-size: 16px !important;
}
@media (max-width: 760px) {
    body.home .koh-home-hero,
    body.page-id-818 .koh-products-page > .koh-page-hero {
        padding: 24px 18px !important;
        margin-bottom: 20px !important;
    }
    body .products li.product { padding: 12px !important; }
    body .products li.product .price { font-size: 20px !important; }
    body.single-product #main .summary.entry-summary { padding: 18px !important; }
    body.single-product #main .summary.entry-summary .product_title { font-size: 28px !important; }
    body.single-product #main .summary.entry-summary .kohudis-product-title__sku { font-size: 14px !important; }
    body.woocommerce-checkout #order_review { padding: 18px !important; }
}

/* 1.0.209 — unified cart desktop: force the left column to two stacked rows. */
@media (min-width: 761px) {
    body.kohudis-unified-cart .entry-content .ct-woocommerce-cart-form {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    body.kohudis-unified-cart .entry-content {
        display: grid !important;
        grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr) !important;
        gap: 28px !important;
        align-items: start !important;
    }
    body.kohudis-unified-cart .entry-content > style { display: none !important; }
    body.kohudis-unified-cart .entry-content > .woocommerce {
        grid-column: 1 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
    }
    body.kohudis-unified-cart .entry-content > #kohudis-checkout {
        grid-column: 2 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
    body.kohudis-unified-cart .ct-woocommerce-cart-form {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        gap: 24px !important;
        width: 100% !important;
    }
    body.kohudis-unified-cart .ct-woocommerce-cart-form > .woocommerce-cart-form__contents {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        margin: 0 !important;
    }
    body.kohudis-unified-cart .ct-woocommerce-cart-form > form.woocommerce-cart-form {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        margin: 0 !important;
    }
    body.kohudis-unified-cart .ct-woocommerce-cart-form > .cart_totals {
        grid-column: 1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        margin: 0 !important;
    }
}

/* Products intro: avoid stacking theme header padding inside the hero padding. */
@media (max-width: 689.98px) {
    body.page-id-818 #main > .hero-section {
        padding-block: 24px !important;
    }
    body.page-id-818 #main > .hero-section > .entry-header {
        min-height: 0 !important;
        padding-block: 0 !important;
    }
    body.page-id-818 #main > .hero-section .koh-products-seo-heading {
        margin-bottom: 0 !important;
    }
    body.page-id-818 #main > .hero-section + .ct-container-full {
        padding-top: 24px !important;
    }
}

/* Compact mobile purchase path; keep gallery zoom, thumbnails and disclosures. */
@media (max-width: 689.98px) {
    body.single-product #main > .ct-container-full { padding-top: 16px !important; }
    body.single-product #main .woocommerce-product-gallery {
        width: min(100%, 260px) !important;
        max-width: 260px !important;
        margin-bottom: 14px !important;
    }
    body.single-product #main .summary.entry-summary .woocommerce-product-details__short-description {
        padding: 9px 12px !important;
        margin-bottom: 6px !important;
    }
    body.single-product #main .summary.entry-summary .woocommerce-product-details__short-description .koh-summary-points {
        display: none !important;
    }
}

/* 1.0.190 — catalog cards: no service badges, tighter vertical rhythm */
body .products li.product .koh-card-badges { display: none !important; }
body .products li.product .koh-card-subtitle { margin-bottom: 4px !important; }
body .products li.product .koh-card-scent-meta { margin-top: 2px !important; margin-bottom: 6px !important; }
body .products li.product .kohudis-compliance-docs--card { margin-top: 4px !important; margin-bottom: 6px !important; }
body .products li.product .price { margin-top: 4px !important; margin-bottom: 2px !important; }
body .products li.product .entry-meta { margin-bottom: 8px !important; }
body .products li.product .entry-meta { display: none !important; }
/* 1.0.192 — card price lines: "$13.80/100ml" in the same size/weight as the price */
body .products li.product .price .koh-card-unit { font-size: inherit !important; font-weight: inherit !important; color: inherit !important; }
body .products li.product .price .kohudis-card-size-prices { display: flex; flex-direction: column; gap: 2px; }
body .products li.product .price .koh-card-price-line { display: block; white-space: nowrap; }
body .products li.product .price { color: #111 !important; }
/* 1.0.193: one price size for single- and multi-size cards on phones */
/* 1.0.194: higher specificity than the inline 13.5px mobile price rule */
@media (max-width: 480px) { html body .products li.product .price, html body .products li.product .price .kohudis-card-size-prices { font-size: 16px !important; } }
@media (max-width: 360px) { body .products li.product .price .kohudis-card-size-prices { font-size: 14px; } }
/* 1.0.195 — stock line inside the card button, both lines centred */
body .products li.product a.button:has(.koh-btn-stock) { display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 1px; line-height: 1.15 !important; padding-top: 7px !important; padding-bottom: 7px !important; text-align: center; }
body .products li.product .koh-btn-label { display: block; }
body .products li.product .koh-btn-stock { display: block; font-size: 0.72em; font-weight: 600; opacity: 0.92; letter-spacing: 0.1px; white-space: nowrap; }
/* 1.0.196 — replace Blocksy brown/gold accents with KOHUDIS orange site-wide */
html:root {
    --theme-palette-color-1: #1a1a1a;
    --theme-palette-color-2: #000000;
    --theme-button-background-hover-color: #000000;
}
html body .products li.product a.added_to_cart,
html body a.added_to_cart.wc-forward {
    background: #1a1a1a !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    text-align: center;
}
html body .products li.product a.added_to_cart:hover,
html body a.added_to_cart.wc-forward:hover { background: #000000 !important; color: #fff !important; }
/* 1.0.197 — readable button label + stock line sizes */
html body .products li.product a.button .koh-btn-label { font-size: 16px !important; font-weight: 800 !important; line-height: 1.15 !important; }
html body .products li.product a.button .koh-btn-stock { font-size: 12px !important; font-weight: 600 !important; line-height: 1.2 !important; opacity: 0.95; }
@media (max-width: 360px) {
    html body .products li.product a.button .koh-btn-label { font-size: 14px !important; }
    html body .products li.product a.button .koh-btn-stock { font-size: 11px !important; }
}
/* 1.0.198 — anchor price + button to the card bottom so prices line up across a row */
html body .products li.product > .price { margin-top: auto !important; padding-top: 8px; }
html body .products li.product > .ct-woo-card-actions { margin-top: 10px !important; }
/* 1.0.200 — compact in-cart line replaces the big View cart button; cart scent names orange */
html body .products li.product a.added_to_cart { display: none !important; }
html body .products li.product .koh-card-incart { display: block; margin-top: 8px; text-align: center; font-size: 13px; font-weight: 700; color: #111 !important; text-decoration: none !important; line-height: 1.3; }
html body .products li.product .koh-card-incart__check { color: #1a1a1a; }
html body .products li.product .koh-card-incart__link { color: #1a1a1a; text-decoration: underline; text-underline-offset: 2px; }
html body .products li.product a.button.koh-just-added { background: #000000 !important; }
.kohudis-checkout-product-name__scent { color: #1a1a1a !important; }

/* Keep the price/size and purchase action on the same visual center line. */
html body .products li.product > .price { text-align: center !important; }
html body .products li.product .price .kohudis-card-size-prices { align-items: center; }
html body .products li.product > .ct-woo-card-actions { text-align: center; }

/* Give View cart its own line on narrow product cards. */
@media (max-width: 760px) {
    html body .products li.product .koh-card-incart__status,
    html body .products li.product .koh-card-incart__link { display: block; }
}

/* ===== 1.0.214: catalog filter chips ===== */
.koh-has-filter-chips .kohudis-catalog-suggestions { display: none !important; }
.koh-filter-replaced { display: none !important; }
.koh-filter-chips { display: grid; gap: 10px; margin: 14px 0 12px; }
.koh-filter-chips__row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.koh-filter-chips__label { min-width: 48px; font-size: 13px; font-weight: 700; color: #6b6259; text-transform: uppercase; letter-spacing: .06em; }
.koh-filter-chip {
    min-height: 38px; padding: 0 16px; border: 1px solid #d9d2c9; border-radius: 999px;
    background: #fffaf7; color: #181614; font: inherit; font-size: 14px; font-weight: 700; line-height: 1;
    cursor: pointer; transition: background-color .15s, border-color .15s, color .15s;
}
.koh-filter-chip:hover { border-color: #181614; }
.koh-filter-chip:focus-visible { outline: 2px solid #1a1a1a; outline-offset: 2px; }
.koh-filter-chip[aria-pressed="true"] { background: #181614; border-color: #181614; color: #fff; box-shadow: 0 0 0 5px #ffc1a6; }
/* Scent chip text uses the same accord palette as the product-card labels. */
.koh-filter-chip--citrus { color: #8c8f00 !important; }
.koh-filter-chip--fresh-spicy { color: #70994c !important; }
.koh-filter-chip--sweet { color: #a34f40 !important; }
.koh-filter-chip--aromatic { color: #3e795e !important; }
.koh-filter-chip--amber { color: #a96d50 !important; }
.koh-filter-chip--floral { color: #b34f72 !important; }
.koh-filter-chip--fresh { color: #378e9e !important; }
.koh-filter-chip--green { color: #4f8e59 !important; }
.koh-filter-chip--fruity { color: #c25d68 !important; }
.koh-filter-chip--woody { color: #795440 !important; }
.koh-filter-chip--musky { color: #816579 !important; }
.koh-filter-chip--powdery { color: #8f789b !important; }
.koh-filter-chip--vanilla { color: #a7653d !important; }
.koh-filter-chip--warm-spicy { color: #a04c31 !important; }
.koh-filter-chip--white-floral { color: #a96191 !important; }
.koh-filter-chip--patchouli { color: #5b6b51 !important; }
.koh-filter-chip--aquatic { color: #31889a !important; }
.koh-filter-chip--leather { color: #704a3b !important; }
.koh-filter-chip--tropical { color: #b86a45 !important; }
.koh-filter-chip--balsamic { color: #7e5a43 !important; }
.koh-filter-chip--almond { color: #9c6a43 !important; }
.koh-filter-chip--animalic { color: #7b584f !important; }
.koh-filter-chip--metallic { color: #5e737a !important; }
.koh-filter-chip--smoky { color: #65564f !important; }
.koh-filter-chip--tobacco { color: #8b5a3b !important; }
.koh-filter-chip--honey { color: #a87932 !important; }
.koh-filter-chip--lavender { color: #7c70a0 !important; }
.koh-filter-chip--coconut { color: #937f54 !important; }
.koh-filter-chip--rose { color: #ad5574 !important; }
.koh-filter-chip--caramel { color: #a6693c !important; }
.koh-filter-chip--nutty { color: #8b6946 !important; }
.koh-filter-chip--cherry { color: #b72f43 !important; }
.koh-filter-chip--rum { color: #8f6247 !important; }
.koh-filter-chip--soft-spicy { color: #a7644c !important; }
.koh-filter-chip--yellow-floral { color: #a87924 !important; }
.koh-filter-chip--tuberose { color: #a9577b !important; }
.koh-filter-chip--cinnamon { color: #9e5c36 !important; }
.koh-filter-chip[aria-pressed="true"][class*="koh-filter-chip--"] { color: #fff !important; }
@media (max-width: 689px) {
    /* 1.0.249: padding keeps the selected chip ring (5px) from being clipped by the scroll box. */
    .koh-filter-chips__row { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding: 6px; margin: -6px; scroll-padding-inline: 6px; -webkit-overflow-scrolling: touch; }
    .koh-filter-chips__row::-webkit-scrollbar { display: none; }
    .koh-filter-chip { flex: 0 0 auto; }
    .koh-filter-chips__label { flex: 0 0 auto; }
}

/* ===== 1.0.214: product scent profile (description tab) ===== */
.koh-scent-profile {
    margin: 0 auto 32px; max-width: 960px; padding: 28px; border: 1px solid #eadfd3; border-radius: 20px;
    background: #fff; color: #181614; text-align: left;
}
.koh-scent-profile__eyebrow { margin: 0 0 6px; color: #1a1a1a; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.koh-scent-profile h2 { margin: 0 0 8px; font-size: 26px; line-height: 1.2; color: #181614; }
.koh-scent-profile h3 { margin: 0 0 6px; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #6b6259; }
.koh-scent-profile__lede { margin: 0 0 20px; color: #4a4239; font-size: 15px; line-height: 1.55; }
.koh-scent-profile__pyramid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-bottom: 20px; }
.koh-scent-profile__tier { padding: 14px 16px; border-radius: 14px; background: #fbf7f2; }
.koh-scent-profile__tier p { margin: 0; font-size: 15px; line-height: 1.5; color: #181614; }
.koh-scent-profile__accords { margin-bottom: 20px; }
.koh-scent-profile__accords ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.koh-scent-profile__accords li { margin: 0; padding: 6px 12px; border: 1px solid #eadfd3; border-radius: 999px; font-size: 14px; font-weight: 600; }
.koh-scent-profile__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 0 0 16px; }
.koh-scent-profile__facts div { margin: 0; }
.koh-scent-profile__facts dt { font-size: 12px; font-weight: 700; color: #6b6259; text-transform: uppercase; letter-spacing: .05em; }
.koh-scent-profile__facts dd { margin: 2px 0 0; font-size: 15px; font-weight: 600; color: #181614; }
.koh-scent-profile__note { margin: 0; font-size: 12.5px; line-height: 1.5; color: #7a7066; }
@media (max-width: 689px) {
    .koh-scent-profile { padding: 20px 16px; border-radius: 16px; }
    .koh-scent-profile h2 { font-size: 22px; }
}

/* ===== 1.0.214: footer ===== */
.ct-trending-block .ct-module-title { color: #F7F1E6 !important; }
.ct-trending-block svg { color: rgba(247, 241, 230, .72) !important; fill: currentColor; }
.kohudis-footer-quote-band { display: none !important; }
#footer [data-row="middle"] .ct-container { grid-template-columns: minmax(0, 1fr) !important; }
.kohudis-footer-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.kohudis-footer-col h3 { margin: 0 0 12px; color: inherit; font-size: 16px; }
.kohudis-footer-col ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px; }
.kohudis-footer-col li { margin: 0; }
.kohudis-footer-col a { color: rgba(255, 255, 255, .86) !important; font-size: 14px; font-weight: 600; text-decoration: none; }
.kohudis-footer-col a:hover, .kohudis-footer-col a:focus-visible { color: #1a1a1a !important; text-decoration: underline; text-underline-offset: 3px; }
/* Cart and checkout use a light footer. Keep its navigation links dark enough
 * to remain readable when the shared dark-footer rules are loaded later. */
body.kohudis-unified-cart #footer [data-row="middle"] .kohudis-footer-col a,
body.kohudis-unified-cart #footer [data-row="middle"] .kohudis-footer-policies a {
    color: #191919 !important;
}
body.kohudis-unified-cart #footer [data-row="middle"] .kohudis-footer-col a:hover,
body.kohudis-unified-cart #footer [data-row="middle"] .kohudis-footer-col a:focus-visible,
body.kohudis-unified-cart #footer [data-row="middle"] .kohudis-footer-policies a:hover,
body.kohudis-unified-cart #footer [data-row="middle"] .kohudis-footer-policies a:focus-visible {
    color: #1a1a1a !important;
}
@media (max-width: 999px) {
    .kohudis-footer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .kohudis-footer-grid > .kohudis-footer-contact { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
    .kohudis-footer-grid { gap: 28px 20px; }
}

/* 1.0.215: chips span the full filter panel width */
.koh-has-filter-chips > .kohudis-catalog-search-wrap,
.koh-has-filter-chips > .koh-filter-chips { grid-column: 1 / -1; }
.koh-has-filter-chips > .koh-filter-chips { margin: 2px 0 4px; }

/* ===== 1.0.216: Alibaba.com store reviews (home + wholesale) ===== */
.koh-ali-reviews .koh-ali-reviews__intro { max-width: 460px; margin: 0; color: #6b6259; line-height: 1.6; }
.koh-ali-reviews__summary {
    display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin: 0 0 22px; padding: 18px 22px;
    border: 1px solid #eadfd3; border-radius: 18px; background: #fbf7f2;
}
.koh-ali-reviews__score { display: flex; align-items: baseline; gap: 4px; margin: 0; }
.koh-ali-reviews__score strong { font-size: 40px; line-height: 1; color: #181614; }
.koh-ali-reviews__score span { font-size: 16px; font-weight: 700; color: #6b6259; }
.koh-ali-reviews__score-text { margin: 0; font-size: 15px; font-weight: 700; color: #181614; line-height: 1.4; }
.koh-ali-reviews__score-text span { font-weight: 500; color: #6b6259; font-size: 13.5px; }
.koh-ali-reviews__metrics { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 0 auto; padding: 0; list-style: none; }
.koh-ali-reviews__metrics li { margin: 0; padding: 7px 12px; border-radius: 999px; background: #fff; border: 1px solid #eadfd3; font-size: 13.5px; color: #4a4239; }
.koh-ali-reviews__metrics strong { color: #181614; }
.koh-ali-reviews__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.koh-ali-review { margin: 0; padding: 20px; border: 1px solid #eadfd3; border-radius: 18px; background: #fff; display: flex; flex-direction: column; gap: 8px; }
.koh-ali-review__stars { margin: 0; color: #1a1a1a; letter-spacing: 2px; font-size: 15px; }
.koh-ali-review__text { margin: 0; padding: 0; border: 0; }
.koh-ali-review__text p { margin: 0; font-size: 17px; line-height: 1.45; color: #181614; font-weight: 600; }
.koh-ali-review__who { margin: auto 0 0; font-size: 13.5px; color: #4a4239; }
.koh-ali-review__badge { color: #b84c00; font-weight: 700; }
.koh-ali-review__meta { margin: 0; font-size: 12.5px; color: #7a7066; }
.koh-ali-reviews__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 18px 0 0; font-size: 12.5px; color: #7a7066; }
.koh-ali-reviews__foot a { font-size: 14px; font-weight: 800; color: #b84c00; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 999px) { .koh-ali-reviews__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 689px) {
    .koh-ali-reviews__list { grid-template-columns: 1fr; }
    .koh-ali-reviews__metrics { margin-left: 0; }
    .koh-ali-reviews__summary { padding: 16px; }
}
/* 1.0.218: all-time Alibaba store scores next to the since-June rating */
.koh-ali-reviews__metrics-wrap { display: grid; gap: 6px; margin-left: auto; }
.koh-ali-reviews__metrics-wrap .koh-ali-reviews__metrics { margin: 0; }
.koh-ali-reviews__metrics-label { font-size: 12px; font-weight: 700; color: #7a7066; text-transform: uppercase; letter-spacing: .05em; }
@media (max-width: 689px) { .koh-ali-reviews__metrics-wrap { margin-left: 0; } }

/* ===== 1.0.220: My Account fixes ===== */
/* Notice icon overlapped the first words: page-10 inline CSS set padding:20px 22px, removing Woo's icon gutter. */
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-error {
    position: relative;
    padding-left: 54px !important;
}
body.woocommerce-account .woocommerce-message::before,
body.woocommerce-account .woocommerce-info::before,
body.woocommerce-account .woocommerce-error::before {
    left: 20px !important;
}
/* Account menu card was 280px inside Blocksy's 220px column (overflow hidden), so its right edge was cut off. */
body.woocommerce-account .ct-acount-nav .woocommerce-MyAccount-navigation {
    width: 100% !important;
    flex-basis: auto !important;
    box-sizing: border-box;
}


/* ===== 1.0.233: restrained iOS-inspired motion ===== */
:root {
    --koh-motion-ease: cubic-bezier(.22, 1, .36, 1);
    --koh-motion-fast: 180ms;
    --koh-motion-base: 280ms;
}
html { scroll-behavior: smooth; }
html.koh-motion-ready .koh-motion-reveal {
    opacity: 1;
    transform: none;
    transition: none;
}
/* Content stays visible while an observer is unavailable; the animation is
   applied only after the element is confirmed to be in view. */
html.koh-motion-ready .koh-motion-reveal.koh-motion-visible {
    animation: koh-motion-reveal-in 520ms var(--koh-motion-ease) both;
    animation-delay: var(--koh-motion-delay, 0ms);
}
@keyframes koh-motion-reveal-in {
    from { opacity: 0; transform: translate3d(0, 14px, 0) scale(.995); }
    to { opacity: 1; transform: none; }
}
@media (hover: hover) {
    html body .products li.product {
        transition: transform var(--koh-motion-base) var(--koh-motion-ease), box-shadow var(--koh-motion-base) var(--koh-motion-ease), border-color var(--koh-motion-base) ease;
    }
    html body .products li.product:hover {
        transform: translate3d(0, -4px, 0);
        border-color: #ded5ca !important;
        box-shadow: 0 14px 34px rgba(24, 22, 20, .09) !important;
    }
    body.single-product .woocommerce-product-gallery img {
        transition: transform 600ms var(--koh-motion-ease);
    }
    body.single-product .woocommerce-product-gallery a:hover img {
        transform: scale(1.015);
    }
}
body .products li.product .button,
body.single-product #main .single_add_to_cart_button,
body.home .koh-home-hero .koh-home-hero__actions a,
.koh-wl-button,
.koh-filter-chip {
    transition: transform var(--koh-motion-fast) var(--koh-motion-ease), box-shadow var(--koh-motion-fast) var(--koh-motion-ease), background-color var(--koh-motion-fast) ease, border-color var(--koh-motion-fast) ease, color var(--koh-motion-fast) ease;
}
body .products li.product .button:active,
body.single-product #main .single_add_to_cart_button:active,
body.home .koh-home-hero .koh-home-hero__actions a:active,
.koh-wl-button:active,
.koh-filter-chip:active {
    transform: translateY(1px) scale(.98);
}
@media (hover: hover) {
    body .products li.product .button:hover,
    body.single-product #main .single_add_to_cart_button:hover,
    body.home .koh-home-hero .koh-home-hero__actions a:hover,
    .koh-wl-button:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 18px rgba(26,26,26, .18);
    }
    .koh-filter-chip:hover { transform: translateY(-1px); }
}
@keyframes koh-catalog-refresh {
    0% { opacity: .56; transform: translateY(5px); }
    100% { opacity: 1; transform: translateY(0); }
}
body.page-id-818 .products.koh-catalog-refresh li.product {
    animation: koh-catalog-refresh 360ms var(--koh-motion-ease) both;
}
body.page-id-818 .products.koh-catalog-refresh li.product:nth-child(2n) { animation-delay: 35ms; }
body.page-id-818 .products.koh-catalog-refresh li.product:nth-child(3n) { animation-delay: 70ms; }
@keyframes koh-motion-updated {
    0% { transform: scale(.985); box-shadow: 0 0 0 0 rgba(26,26,26, 0); }
    45% { transform: scale(1.012); box-shadow: 0 0 0 5px rgba(26,26,26, .12); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(26,26,26, 0); }
}
.koh-motion-updated { animation: koh-motion-updated 560ms var(--koh-motion-ease) both; }
@keyframes koh-motion-added {
    0% { transform: scale(1); }
    45% { transform: scale(.97); }
    100% { transform: scale(1); }
}
.koh-motion-added { animation: koh-motion-added 560ms var(--koh-motion-ease) both; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    html.koh-motion-ready .koh-motion-reveal,
    html.koh-motion-ready .koh-motion-reveal.koh-motion-visible {
        opacity: 1;
        transform: none;
        transition: none;
        animation: none !important;
    }
    body .products li.product,
    body.single-product .woocommerce-product-gallery img,
    body .products li.product .button,
    body.single-product #main .single_add_to_cart_button,
    body.home .koh-home-hero .koh-home-hero__actions a,
    .koh-wl-button,
    .koh-filter-chip { transition: none !important; }
    body.page-id-818 .products.koh-catalog-refresh li.product,
    .koh-motion-updated,
    .koh-motion-added { animation: none !important; }
}

/* ==========================================================================
   Homepage base layout - restored in 1.0.269 (2026-11-09).
   The homepage blocks below depended on base rules that are no longer served
   by any stylesheet (they lived in the retired Customizer CSS), so on screens
   690px and wider the hero, the "Wear, refill or decant" cards and the
   wholesale call-to-action rendered as unstyled text.
   Scoped to body.home main.koh-home only. The phone hero keeps its own rules
   (max-width: 689.98px) above and is not changed here.
   ========================================================================== */
/* "Wear, refill or decant": neutral panel with three white cards. */
body.home main.koh-home .koh-section--cream .koh-section-head {
    margin: 0 0 24px;
}
body.home main.koh-home .koh-section--cream .koh-section-head > p:not(.koh-eyebrow) {
    max-width: 720px;
    margin: 0;
    color: #625e57;
}
body.home main.koh-home .koh-section--cream {
    margin-top: clamp(32px, 4vw, 56px);
    padding: clamp(28px, 4vw, 48px) clamp(18px, 4vw, 48px) !important;
    border: 1px solid #e8e5df;
    border-radius: 24px;
    background: #faf9f6 !important;
    background-image: none !important;
}
body.home main.koh-home .koh-use-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
}
body.home main.koh-home .koh-use-card {
    padding: 24px 22px;
    border: 1px solid #e8e5df !important;
    border-radius: 20px;
    background: #fff !important;
}
body.home main.koh-home .koh-use-card > span {
    display: block;
    margin: 0 0 12px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .08em;
    text-transform: uppercase;
}
body.home main.koh-home .koh-use-card h3 {
    margin: 0 0 8px;
    color: #181614;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.01em;
}
body.home main.koh-home .koh-use-card p {
    margin: 0;
    color: #625e57;
    font-size: 15px;
    line-height: 1.6;
}

/* Wholesale call-to-action card. */
body.home main.koh-home .koh-inline-cta {
    margin: 24px 0 32px;
    padding: clamp(26px, 4vw, 48px);
    border: 1px solid #e8e5df;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(24, 22, 20, .04);
}
body.home main.koh-home .koh-inline-cta h2 {
    max-width: 760px;
    margin: 0;
    color: #181614;
}
body.home main.koh-home .koh-inline-cta > p:not(.koh-eyebrow) {
    max-width: 760px;
    margin: 14px 0 22px;
    color: #625e57;
    font-size: 16px;
    line-height: 1.65;
}
body.home main.koh-home .koh-inline-cta > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 26px;
    border: 1px solid #1a1a1a;
    border-radius: 999px;
    background: #1a1a1a;
    color: #181614 !important;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
}
body.home main.koh-home .koh-inline-cta > a:hover {
    border-color: #000000 !important;
    background: #000000 !important;
    color: #181614 !important;
}
body.home main.koh-home .koh-inline-cta > a:focus-visible {
    outline: 3px solid #181614;
    outline-offset: 3px;
}

@media (min-width: 690px) {
    /* Hero: copy and highlight card. */
    body.home main.koh-home .koh-home-hero__grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
        align-items: center;
    }
    body.home main.koh-home .koh-home-hero .koh-home-hero__copy h1 {
        margin: 0 0 18px;
    }
    body.home main.koh-home .koh-home-hero .koh-home-hero__actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin: 22px 0 20px;
    }
    body.home main.koh-home .koh-home-hero .koh-home-hero__actions > a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        padding: 12px 26px;
        border-radius: 999px;
        font-size: 16px;
        line-height: 1.2;
        text-decoration: none;
    }
    body.home main.koh-home .koh-home-hero .koh-home-hero__actions > a + a {
        border: 1px solid #d9d5cd;
        background: #fff;
        color: #181614 !important;
        font-weight: 700;
    }
    body.home main.koh-home .koh-home-hero .koh-home-hero__actions > a:first-child:hover {
        border-color: #000000 !important;
        background: #000000 !important;
        color: #181614 !important;
    }
    body.home main.koh-home .koh-home-hero .koh-home-hero__actions > a + a:hover {
        border-color: #181614 !important;
        background: #fff !important;
        color: #181614 !important;
    }
    body.home main.koh-home .koh-home-hero .koh-home-hero__copy > p:last-child {
        max-width: 620px;
        margin: 0;
        color: #625e57;
        font-size: 15px;
        line-height: 1.6;
    }
    body.home main.koh-home .koh-home-hero .koh-hero-card {
        padding: clamp(22px, 2.6vw, 34px);
        border: 1px solid #e8e5df !important;
        border-radius: 24px;
        background: #fff !important;
        box-shadow: 0 8px 24px rgba(24, 22, 20, .05);
    }
    body.home main.koh-home .koh-home-hero .koh-hero-card__mark {
        display: grid;
        place-items: center;
        width: 52px;
        height: 52px;
        margin: 0 0 18px;
        border-radius: 50%;
        background: #181614;
        color: #1a1a1a !important;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 28px;
        line-height: 1;
    }
    body.home main.koh-home .koh-home-hero .koh-hero-card h2 {
        margin: 0 0 10px;
        color: #181614;
        font-size: clamp(24px, 2.4vw, 32px);
        line-height: 1.15;
        letter-spacing: -.02em;
    }
    body.home main.koh-home .koh-home-hero .koh-hero-card > p {
        margin: 0 0 18px;
        color: #625e57;
        font-size: 15px;
        line-height: 1.6;
    }
    body.home main.koh-home .koh-home-hero .koh-proof-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    body.home main.koh-home .koh-home-hero .koh-proof-grid > span {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 40px;
        padding: 8px 10px;
        border: 1px solid #e8e5df !important;
        border-radius: 12px;
        background: #faf9f6 !important;
        color: #181614;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.25;
        text-align: center;
    }
}
@media (min-width: 900px) {
    body.home main.koh-home .koh-home-hero__grid {
        grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
        gap: clamp(28px, 4vw, 64px);
    }
    body.home main.koh-home .koh-use-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* ==========================================================================
   1.0.270 (2026-11-09)
   A. Phone product cards: the concentration and packaging lines are removed.
   B. Desktop product page (1000px and wider): Add to cart sits directly under
      the price. Order: title, one-line refill disclosure, size, price and
      order total, quantity and Add to cart, delivery estimate, then the
      remaining panels. Reordering only; no price, stock or form logic changes.
      Phones and tablets keep their existing layout.
   ========================================================================== */
@media (max-width: 689.98px) {
    html body ul.products li.product.product.product .koh-card-subtitle { display: none !important; }
}

/* Printed before the How to use panel; only shown in the desktop layout below. */
.koh-pdp-disclosure { display: none; }

@media (min-width: 1000px) {
    body.single-product #main .summary.entry-summary {
        display: flex !important;
        flex-direction: column;
    }
    /* Anything without its own position goes after the buy block, never above the title. */
    :where(body.single-product #main .summary.entry-summary) > * { order: 3; }
    body.single-product #main .summary.entry-summary > .kohudis-product-title__sku { order: 0; }
    body.single-product #main .summary.entry-summary > .product_title,
    body.single-product #main .summary.entry-summary > .koh-product-top-copy,
    body.single-product #main .summary.entry-summary > .woocommerce-product-rating { order: 1; }
    body.single-product #main .summary.entry-summary > .koh-pdp-disclosure {
        display: block !important;
        order: 2;
        margin: 8px 0 0 !important;
        padding: 0 0 0 12px;
        border-left: 3px solid #1a1a1a;
        color: #181614;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.45;
    }
    body.single-product #main .summary.entry-summary > .ct-product-divider { display: none !important; }
    body.single-product #main .summary.entry-summary > .ct-product-add-to-cart { display: contents !important; }
    body.single-product #main .summary.entry-summary > .ct-product-add-to-cart > * {
        order: 2;
        margin: 14px 0 0 !important;
    }
    body.single-product #main .summary.entry-summary > .kohudis-refill-format-notice,
    body.single-product #main .summary.entry-summary > .woocommerce-product-details__short-description {
        margin: 14px 0 0 !important;
    }
    body.single-product #main .summary.entry-summary > .kohudis-refill-format-notice { order: 3; }
    body.single-product #main .summary.entry-summary > .ct-product-add-to-cart > .kohudis-return-assurance { order: 4; }
    body.single-product #main .summary.entry-summary > .ct-product-add-to-cart > .kohudis-bulk-details { order: 5; }
    body.single-product #main .summary.entry-summary > .ct-product-add-to-cart > .koh-quote-product-link { order: 6; }
    body.single-product #main .summary.entry-summary > .ct-product-add-to-cart > .kohudis-b2b-product-quote { order: 7; }
    body.single-product #main .summary.entry-summary > .koh-product-faq { order: 8; }
    body.single-product #main .summary.entry-summary > .product_meta {
        order: 9;
        margin-top: 20px !important;
        padding-top: 16px;
        border-top: 1px solid #e8e5df;
    }

    /* Price line, then the button, then the delivery details. */
    body.single-product #main .summary.entry-summary form.variations_form .single_variation_wrap,
    body.single-product #main .summary.entry-summary form.cart:not(.variations_form) {
        display: flex !important;
        flex-wrap: wrap;
        align-items: baseline;
        column-gap: 16px;
        row-gap: 10px;
    }
    /* WooCommerce hides .single_variation with an inline display:none; that state is left alone. */
    body.single-product #main .summary.entry-summary form.cart .single_variation:not([style*="display: none"]),
    body.single-product #main .summary.entry-summary form.cart .woocommerce-variation-price,
    body.single-product #main .summary.entry-summary form.cart .kohudis-live-variation-price {
        display: contents !important;
    }
    /* Stray clearfix boxes would become flex items; one is reused as a line break before the totals line. */
    body.single-product #main .summary.entry-summary form.cart:not(.variations_form)::before,
    body.single-product #main .summary.entry-summary form.variations_form .single_variation_wrap::before,
    body.single-product #main .summary.entry-summary form.cart .woocommerce-variation-price::before,
    body.single-product #main .summary.entry-summary form.cart .woocommerce-variation-price::after,
    body.single-product #main .summary.entry-summary form.cart .kohudis-live-variation-price::before,
    body.single-product #main .summary.entry-summary form.cart .kohudis-live-variation-price::after {
        content: none !important;
        display: none !important;
    }
    body.single-product #main .summary.entry-summary form.cart:not(.variations_form)::after,
    body.single-product #main .summary.entry-summary form.variations_form .single_variation_wrap::after {
        content: "" !important;
        display: block !important;
        order: 8;
        flex: 0 0 100%;
        height: 0;
        margin-top: -10px;
    }
    body.single-product #main .summary.entry-summary form.cart .kohudis-live-price__amount-row {
        order: 1;
        flex: 0 1 auto;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }
    body.single-product #main .summary.entry-summary form.cart .kohudis-live-price__order-total {
        order: 2;
        flex: 0 0 auto;
        margin: 0 0 0 auto !important;
        padding: 0 !important;
        border: 0 !important;
    }
    body.single-product #main .summary.entry-summary form.cart .woocommerce-variation-add-to-cart,
    body.single-product #main .summary.entry-summary form.cart:not(.variations_form) > .ct-cart-actions {
        order: 5;
        flex: 0 0 100%;
        margin: 0 !important;
    }
    body.single-product #main .summary.entry-summary form.cart .kohudis-live-price__delivery { order: 6; flex: 1 1 auto; margin: 0 !important; }
    body.single-product #main .summary.entry-summary form.cart .kohudis-live-price__stock { order: 7; flex: 0 0 auto; align-self: center; margin: 0 !important; }
    body.single-product #main .summary.entry-summary form.cart .woocommerce-variation-description,
    body.single-product #main .summary.entry-summary form.cart .woocommerce-variation-availability {
        order: 7;
        flex: 0 0 100%;
        margin: 0 !important;
    }
    body.single-product #main .summary.entry-summary form.cart .woocommerce-variation-description:empty,
    body.single-product #main .summary.entry-summary form.cart .woocommerce-variation-availability:not(:has(.stock:not(.in-stock))) {
        display: none !important;
    }
    body.single-product #main .summary.entry-summary form.cart .kohudis-live-price__product-total,
    body.single-product #main .summary.entry-summary form.cart .kohudis-live-price__shipping {
        order: 9;
        flex: 0 0 auto;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        font-size: 13px !important;
    }
    body.single-product #main .summary.entry-summary form.cart .kohudis-live-price__product-total strong,
    body.single-product #main .summary.entry-summary form.cart .kohudis-live-price__shipping strong { font-size: 13px !important; }
    body.single-product #main .summary.entry-summary form.cart:not(.variations_form) > .koh-cro-checkout-note { order: 10; flex: 0 0 100%; }
    body.single-product #main .summary.entry-summary form.cart:not(.variations_form) > .koh-buy-confidence { order: 11; flex: 0 0 100%; margin-top: 2px !important; }

    body.single-product #main .summary.entry-summary form.cart table.variations { margin: 0 !important; }
    body.single-product #main .summary.entry-summary form.cart .koh-size-guide { margin: 8px 0 0 !important; }
    body.single-product #main .summary.entry-summary form.variations_form .kohudis-size-option { padding: 9px 12px !important; }
    body.single-product #main .summary.entry-summary form.variations_form .single_variation_wrap { margin-top: 12px !important; }
    body.single-product #main .summary.entry-summary form.cart .koh-buy-confidence { margin-top: 12px !important; }
}

/* ==========================================================================
   1.0.271 (2026-11-10)
   Product page: the short-description line ("Eau de Parfum - 20% - ready to
   wear, spray or dab - aluminum bottle.") repeated the How to use line, so it
   is hidden. On phones the whole box goes (its points were already hidden);
   from 690px the three points stay. "Eau de Parfum (20%)" in the How to use
   line is shown in KOHUDIS orange.
   ========================================================================== */
body.single-product .summary .woocommerce-product-details__short-description > p { display: none !important; }
@media (max-width: 689.98px) {
    body.single-product #main .summary.entry-summary .woocommerce-product-details__short-description { display: none !important; }
}
body.single-product .kohudis-refill-format-notice .koh-edp-accent,
body.single-product .koh-pdp-disclosure .koh-edp-accent {
    color: #000000 !important;
}

/* ==========================================================================
   1.0.272 (2026-11-10)
   Phones (689px and below): the KOHUDIS Support launcher becomes a 48px
   icon-only circle in the bottom-right corner. It sits in the gap the mobile
   buy bar already reserves on its right (82px), level with the bar, so it no
   longer covers the price, the trust tiles or the buy bar. The button keeps
   its aria-label ("Open KOHUDIS support"). Tablets and desktop are unchanged.
   Positions follow the buy bar offsets in kohudis-front.css (10px, 72px with
   the cookie notice, 104px below 360px with the notice).
   ========================================================================== */
@media (max-width: 689.98px) {
    html body .koh-support .ks-launcher {
        right: 17px !important;
        bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
        width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 !important;
        gap: 0 !important;
        justify-content: center !important;
        border-radius: 50% !important;
    }
    html body .koh-support .ks-launcher > span { display: none !important; }
    html body:has(.cookie-notification) .koh-support .ks-launcher {
        bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
    }
}
@media (max-width: 359px) {
    html body:has(.cookie-notification) .koh-support .ks-launcher {
        bottom: calc(114px + env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* ==========================================================================
   1.0.273 (2026-11-11)
   Show the real social links (Facebook, Instagram, X, TikTok @kohudis) in the
   footer, between the link columns and the copyright line, and in the mobile
   menu. They were hidden while the theme still had "#" placeholder links.
   The desktop header stays navigation-only.
   ========================================================================== */
html body #footer {
    display: flex !important;
    flex-direction: column;
}
html body #footer > [data-row="middle"] { order: 1; }
html body #footer > [data-row="top"] {
    order: 2;
    display: block !important;
    background: transparent !important;
}
html body #footer > [data-row="bottom"] { order: 3; }
html body #footer > [data-row="top"] .ct-container {
    display: flex !important;
    justify-content: center;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}
html body #footer > [data-row="top"] [data-column="ghost"] { display: none !important; }
html body #footer .ct-footer-socials,
html body #offcanvas .ct-header-socials {
    display: block !important;
}
html body #footer .ct-footer-socials a,
html body #footer .ct-footer-socials svg {
    color: rgba(255, 255, 255, .78) !important;
    fill: currentColor !important;
}
html body #footer .ct-footer-socials svg {
    width: 18px !important;
    height: 18px !important;
}
html body #footer .ct-footer-socials a:hover,
html body #footer .ct-footer-socials a:focus-visible {
    color: #1a1a1a !important;
}

/* ==========================================================================
   1.0.274 (2026-11-11)
   "Ad measurement choices" (kohudis-chatgpt-measurement opt-out) sat on an
   off-white band under the dark footer with a grey browser button. It now
   reads as the last footer line: same background as the copyright row,
   centred, light grey underlined text, orange on hover/focus. The control,
   its label and what it opens are unchanged.
   ========================================================================== */
html body .koh-oai-footer {
    margin: 0;
    padding: 0 16px 22px;
    background: rgb(24, 24, 24);
    text-align: center;
}
html body .koh-oai-footer .koh-oai-open {
    min-height: 24px;
    padding: 2px 4px;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, .62);
    font-size: 12px !important;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 3px;
}
html body .koh-oai-footer .koh-oai-open:hover,
html body .koh-oai-footer .koh-oai-open:focus-visible {
    color: #1a1a1a;
}

/* ==========================================================================
   1.0.276 (2026-11-11) - wave 2
   A. First screen shows at once: no reveal animation on the homepage hero,
      the product gallery and summary, page heroes and the first 4 cards.
   B. /perfume/: products start within the first screen. Smaller hero
      spacing; the 4 pills that repeat the intro are hidden; phones show the
      intro in 2 lines (full text stays in the page); size and "More filters"
      share a row; desktop scent chips collapse to one line (see JS).
   C. Product page: no text below 11px in the buy box (IFRA/MSDS/COA labels
      were 7.5-8px and cut off on some phones).
   D. Catalog add-to-cart toast (see JS).
   ========================================================================== */

/* A */
html.koh-motion-ready body.home .koh-home-hero.koh-motion-reveal,
html.koh-motion-ready body.single-product .woocommerce-product-gallery.koh-motion-reveal,
html.koh-motion-ready body.single-product .summary.koh-motion-reveal,
html.koh-motion-ready .koh-page-hero.koh-motion-reveal,
html.koh-motion-ready ul.products > li.product:nth-child(-n+4).koh-motion-reveal {
    animation: none !important;
}

/* B */
body.page-id-818 .hero-section > .entry-header {
    padding-top: 30px !important;
    padding-bottom: 22px !important;
}
body.page-id-818 .koh-products-seo-heading { margin-bottom: 0 !important; }
body.page-id-818 .koh-products-seo-heading .koh-products-seo-pills { display: none !important; }
body.page-id-818 .woo-listing-top { margin-bottom: 14px !important; }
body.page-id-818 #main > .ct-container-full {
    padding-top: 24px !important;
}
body.page-id-818 .koh-filter-chips__row .koh-chip-extra { display: none !important; }
body.page-id-818 .koh-scent-more {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 14px;
    border: 1px dashed #cdbba7;
    border-radius: 999px;
    background: #fff;
    color: #181614;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}
body.page-id-818 .koh-scent-more:hover,
body.page-id-818 .koh-scent-more:focus-visible {
    border-color: #1a1a1a;
    color: #ae4600;
}
body.page-id-818 .koh-scent-more[hidden] { display: none !important; }
@media (max-width: 689.98px) {
    body.page-id-818 .hero-section { padding-top: 16px !important; padding-bottom: 12px !important; }
    body.page-id-818 .koh-products-seo-heading > p {
        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        margin-bottom: 0 !important;
        font-size: 15px !important;
        line-height: 1.5 !important;
    }
    body.page-id-818 #main > .ct-container-full { padding-top: 12px !important; }
    body.page-id-818 .kohudis-catalog-tools {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        column-gap: 10px !important;
        align-items: end;
    }
    body.page-id-818 .kohudis-catalog-tools > .kohudis-catalog-search-wrap,
    body.page-id-818 .kohudis-catalog-tools > .koh-filter-chips,
    body.page-id-818 .kohudis-catalog-tools > .kohudis-catalog-filters,
    body.page-id-818 .kohudis-catalog-tools > .kohudis-catalog-count,
    body.page-id-818 .kohudis-catalog-tools > details.koh-advanced-filters[open] {
        grid-column: 1 / -1;
    }
    body.page-id-818 .kohudis-catalog-tools > .kohudis-catalog-selects {
        grid-column: 1;
        grid-template-columns: minmax(0, 1fr) !important;
    }
    body.page-id-818 .kohudis-catalog-tools > .kohudis-catalog-selects label > span {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        white-space: nowrap !important;
    }
    body.page-id-818 .kohudis-catalog-tools > .kohudis-catalog-selects select { width: 100% !important; }
    body.page-id-818 .kohudis-catalog-tools > details.koh-advanced-filters:not([open]) {
        grid-column: 2;
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-top: 0 !important;
    }
    body.page-id-818 .kohudis-catalog-tools > details.koh-advanced-filters:not([open]) > summary {
        box-sizing: border-box;
        height: 42px;
        margin: 0 !important;
        padding: 0 14px !important;
        border: 1px solid #e3d5c6;
        border-radius: 10px;
        background: #fff;
        font-size: 15px !important;
        line-height: 40px !important;
    }
}
@media (min-width: 1000px) {
    body.page-id-818 .kohudis-catalog-tools {
        grid-template-columns: minmax(180px, 240px) minmax(0, 1fr) auto auto !important;
        align-items: center;
    }
    body.page-id-818 .kohudis-catalog-tools > .kohudis-catalog-search-wrap,
    body.page-id-818 .kohudis-catalog-tools > .koh-filter-chips,
    body.page-id-818 .kohudis-catalog-tools > details.koh-advanced-filters[open] {
        grid-column: 1 / -1;
    }
    body.page-id-818 .kohudis-catalog-tools > .kohudis-catalog-selects {
        grid-column: 1;
        grid-template-columns: minmax(0, 1fr) !important;
    }
    body.page-id-818 .kohudis-catalog-tools > details.koh-advanced-filters:not([open]) {
        grid-column: 2;
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-top: 0 !important;
    }
    body.page-id-818 .kohudis-catalog-tools > .kohudis-catalog-filters { grid-column: 3; }
    body.page-id-818 .kohudis-catalog-tools > .kohudis-catalog-count { grid-column: 4; }
}

/* C */
body.single-product .summary .koh-buy-confidence__proof-row { flex-wrap: wrap; row-gap: 6px; }
body.single-product .summary .kohudis-compliance-docs--detail .kohudis-compliance-doc {
    padding: 4px 8px !important;
}
body.single-product .summary .kohudis-compliance-docs--detail .kohudis-compliance-doc__label {
    font-size: 11px !important;
    overflow: visible !important;
    text-overflow: clip !important;
}
body.single-product .summary .koh-buy-confidence__badge { font-size: 11px !important; }
@media (max-width: 689.98px) {
    body.single-product .summary .koh-buy-confidence__proof-row .kohudis-compliance-docs--detail {
        justify-content: flex-start !important;
        gap: 6px !important;
        margin-left: 0 !important;
    }
}
body.single-product #main .summary.entry-summary form.cart .kohudis-live-price__delivery-note,
body.single-product .summary .kohudis-live-price__delivery-note { font-size: 12px !important; }
body.single-product .summary .kohudis-refill-format-notice__eyebrow { font-size: 11px !important; }
body.single-product .summary .kohudis-marketplaces small { font-size: 11px !important; line-height: 1.45 !important; }
body.single-product .summary .kohudis-marketplaces__copy span { font-size: 12px !important; }

/* D */
.koh-atc-toast {
    position: fixed;
    left: 24px;
    bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    z-index: 99997;
    display: flex;
    align-items: center;
    gap: 10px;
    width: min(460px, calc(100vw - 48px));
    padding: 10px 10px 10px 14px;
    border-radius: 14px;
    background: #181614;
    color: #fff;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .22);
    font-size: 14px;
    line-height: 1.35;
    opacity: 0;
    visibility: hidden;
    transform: translateY(16px);
    transition: opacity .18s ease, transform .22s ease, visibility .18s ease;
}
.koh-atc-toast.is-visible {
    opacity: 1;
    visibility: visible;
    transform: none;
}
.koh-atc-toast__check {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #1a1a1a;
    color: #181614;
    font-size: 13px;
    font-weight: 900;
}
.koh-atc-toast__text { flex: 1 1 auto; min-width: 0; }
.koh-atc-toast__link {
    flex: 0 0 auto;
    padding: 9px 14px;
    border-radius: 999px;
    background: #1a1a1a;
    color: #181614 !important;
    font-weight: 800;
    text-decoration: none !important;
    white-space: nowrap;
}
.koh-atc-toast__close {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, .7);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}
@media (max-width: 689.98px) {
    .koh-atc-toast {
        left: 12px;
        right: 76px;
        bottom: calc(20px + env(safe-area-inset-bottom, 0px));
        width: auto;
        font-size: 13px;
    }
    body:has(.cookie-notification) .koh-atc-toast { bottom: calc(82px + env(safe-area-inset-bottom, 0px)); }
    .koh-atc-toast__close { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .koh-atc-toast { transition: none; transform: none; }
}

/* ==========================================================================
   1.0.277 (2026-11-11) - wave 3 (plus a JS fix: the add-to-cart toast sits
   above the desktop cookie notice)
   A. Homepage on phones: Best sellers right after the hero (the P26 film
      follows it); the hero drops the 4-pill card that repeats the copy; the
      Best sellers head is shorter.
   B. Product page: the marketplace bar sits after the 30-day returns note,
      so Add to cart is followed by trust and returns first.
   ========================================================================== */

/* A */
@media (max-width: 689.98px) {
    body.home main.koh-home {
        display: flex !important;
        flex-direction: column;
    }
    body.home main.koh-home > * { order: 3; }
    body.home main.koh-home > .koh-home-hero,
    body.home main.koh-home > .koh-trust-strip { order: 0; }
    body.home main.koh-home > section[aria-labelledby="koh-featured-title"] { order: 1; }
    body.home main.koh-home > .koh-product-film { order: 2; }
    body.home .koh-home-hero .koh-hero-card { display: none !important; }
    body.home main.koh-home > section[aria-labelledby="koh-featured-title"] {
        padding-top: 28px !important;
    }
    body.home section[aria-labelledby="koh-featured-title"] .koh-section-head {
        margin-bottom: 16px !important;
    }
    body.home section[aria-labelledby="koh-featured-title"] .koh-section-title {
        font-size: 28px !important;
        line-height: 1.15 !important;
    }
    body.home section[aria-labelledby="koh-featured-title"] .koh-section-head > p {
        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        margin-top: 8px !important;
        font-size: 15px !important;
        line-height: 1.5 !important;
    }
}

/* B */
@media (min-width: 1000px) {
    body.single-product .summary .kohudis-marketplaces { order: 5 !important; }
}
@media (max-width: 999.98px) {
    body.single-product .summary .ct-product-add-to-cart:has(> .kohudis-return-assurance) {
        display: flex !important;
        flex-direction: column;
    }
    body.single-product .summary .ct-product-add-to-cart:has(> .kohudis-return-assurance) > * { order: 0; }
    body.single-product .summary .ct-product-add-to-cart:has(> .kohudis-return-assurance) > .kohudis-return-assurance { order: 1; }
    body.single-product .summary .ct-product-add-to-cart:has(> .kohudis-return-assurance) > .kohudis-marketplaces { order: 2; }
    body.single-product .summary .ct-product-add-to-cart:has(> .kohudis-return-assurance) > .kohudis-return-assurance ~ * { order: 3; }
}
