/* THREE Product Detail Rebuild 2026
   Presentation-only layer. Commerce/cart behavior remains in the existing site scripts. */

:root {
    --product-gold: #e3b51a;
    --product-gold-soft: #fffef9;
}

html {
    scroll-behavior: smooth;
}

body.modal-open {
    padding-right: 0 !important;
}

.product-breadcrumb {
    max-width: 1500px;
    margin: 0 auto;
}

.product-breadcrumb a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.product-breadcrumb svg,
.product-share-link svg,
.product-ask-question svg,
.ingredient-section .text-link svg,
.product-editorial .text-link svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.product-detail {
    max-width: 1500px;
    margin: 0 auto;
}

.gallery-main {
    min-height: 520px;
}

.gallery-main > img {
    display: block;
}

.gallery-main:not(.packshot) > img {
    object-position: center;
}

.gallery-thumbnails {
    overflow-x: auto;
    padding: 1px 1px 4px;
    scrollbar-width: thin;
}

.gallery-thumbnails button {
    flex: 0 0 72px;
    cursor: pointer;
}

.gallery-thumbnails button:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 3px;
}

.gallery-thumbnails img {
    display: block;
}

.purchase-panel .product-rating-stars {
    white-space: nowrap;
    color: var(--brand);
}

.purchase-panel .product-rating-stars .fa {
    font-size: 12px;
}

.purchase-panel .product-rating a {
    color: inherit;
    text-decoration: none;
}

.purchase-panel .product-rating a:hover,
.purchase-panel .product-rating a:focus-visible {
    text-decoration: underline;
}

.product-description p:last-child,
.product-description-extra > *:last-child {
    margin-bottom: 0;
}

.product-description-extra {
    margin-top: 14px;
}

.product-description-extra h1,
.product-description-extra h2,
.product-description-extra h3,
.product-description-extra h4 {
    margin: 12px 0 6px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.35;
}

/* Existing LongDetail3 remains the source of truth; only its presentation changes. */
.purchase-benefits {
    display: block;
}

.purchase-benefits > strong,
.purchase-benefits > b,
.purchase-benefits > p > strong:only-child,
.purchase-benefits > p > b:only-child {
    display: block;
    margin-bottom: 10px;
    color: var(--ink);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.purchase-benefits ul,
.purchase-benefits ol {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.purchase-benefits li {
    position: relative;
    display: block;
    padding-left: 24px;
    color: var(--ink);
    font-size: 12px;
    line-height: 1.5;
}

.purchase-benefits li::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 1px;
    width: 11px;
    height: 7px;
    border-bottom: 1.5px solid var(--brand);
    border-left: 1.5px solid var(--brand);
    transform: rotate(-45deg);
}

.purchase-benefits p {
    margin: 0 0 8px;
}

.purchase-type-block {
    position: relative;
}

.purchase-type-block__sale-badge {
    display: inline-flex;
    width: auto;
    margin: 2px 0 0 28px;
    padding: 4px 8px;
    border-radius: var(--pill);
    background: #f3f1e8;
    color: #5a6256;
    font-size: 8px;
    line-height: 1.2;
}

.purchase-option.selected .purchase-type-block__sale-badge {
    background: #dde5d5;
}

.purchase-actions {
    align-items: stretch;
}

.product-quantity-legacy {
    width: 118px;
}

.product-quantity-legacy .quantity-box-input {
    display: grid;
    grid-template-columns: 34px 50px 34px;
    width: 118px;
    height: 52px;
    margin: 0;
    border: 1px solid var(--line);
    border-radius: 999px;
    overflow: hidden;
    background: #fff;
}

.product-quantity-legacy .input-group-prepend,
.product-quantity-legacy .input-group-append {
    display: contents;
}

.product-quantity-legacy .quantity-box-input button,
.product-quantity-legacy .quantity-box-input input {
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--ink) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    text-align: center;
}

.product-quantity-legacy .quantity-box-input button {
    padding: 0 !important;
    cursor: pointer;
}

.product-quantity-legacy .quantity-box-input button:hover,
.product-quantity-legacy .quantity-box-input button:focus-visible {
    background: var(--sage) !important;
}

.product-quantity-legacy .quantity-box-input input {
    padding: 0 2px !important;
    border-right: 1px solid var(--line) !important;
    border-left: 1px solid var(--line) !important;
}

.purchase-actions > .button {
    min-height: 52px;
}

.product-share-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0;
    border: 0;
    background: transparent;
    color: var(--muted);
    font-family: inherit;
    font-size: 10px;
    cursor: pointer;
}

.product-share-link:hover,
.product-share-link:focus-visible {
    color: var(--brand);
}

/* Keep the site's current, high-attention upsell treatment. */
.product-upsell {
    position: relative;
    display: flex;
    align-items: center;
    gap: 18px;
    overflow: visible;
    margin: 23px 0 18px !important;
    padding: 16px 18px;
    border: 2px solid var(--product-gold);
    border-radius: 12px;
    background: var(--product-gold-soft);
    box-shadow: 0 8px 28px rgba(23, 61, 50, .07);
}

.product-upsell__sale-overlay {
    position: absolute;
    z-index: 20;
    top: 0;
    right: 16px;
    max-width: calc(100% - 32px);
    padding: 7px 13px;
    transform: translateY(-50%);
    border: 2px solid #1f5f2f;
    border-radius: 999px;
    background: #b7f34a;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .20);
    color: #153d24;
    font-size: .75rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .01em;
    text-align: center;
    white-space: nowrap;
    pointer-events: none;
}

.product-upsell__image-wrap {
    display: flex;
    flex: 0 0 120px;
    align-items: center;
    justify-content: center;
}

.product-upsell__image {
    display: block;
    width: 100%;
    max-width: 120px;
    height: auto;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.product-upsell__content {
    flex: 1 1 auto;
    min-width: 0;
}

.product-upsell__badge {
    display: inline-block;
    margin-bottom: 7px;
    padding: 5px 9px;
    border-radius: 3px;
    background: #f3cc18;
    color: #262626;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
}

.product-upsell__title {
    margin: 0;
    color: #161616;
    font-family: inherit;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.15;
}

.product-upsell__item-name {
    margin-top: 2px;
    color: #202020;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
}

.product-upsell__description {
    max-width: 430px;
    margin-top: 7px;
    color: #333;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
}

.product-upsell__actions {
    flex: 0 0 128px;
    text-align: center;
}

.product-upsell__price {
    color: #151515;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.1;
}

.product-upsell__price-original {
    margin-right: 6px;
    font-size: 12px;
    font-weight: 400;
    text-decoration: line-through;
    opacity: .65;
}

.product-upsell__price-smartship-current {
    font-size: 20px;
    font-weight: 800;
}

.product-upsell__savings {
    margin-top: 4px;
    color: #c12828;
    font-size: 12px;
    font-weight: 700;
}

.product-upsell__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 42px;
    margin-top: 11px;
    padding: 10px 12px;
    border: 1px solid #d4aa00;
    border-radius: 4px;
    background: #f7c900;
    color: #1b1b1b !important;
    font-family: inherit;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease;
}

.product-upsell__button:hover,
.product-upsell__button:focus {
    background: #ffd72e;
    box-shadow: 0 3px 8px rgba(0, 0, 0, .14);
    color: #111 !important;
    outline: none;
}

.product-upsell__button:active {
    transform: translateY(1px);
    box-shadow: none;
}

/* Existing LongDetail1 characteristics stay intact, but are contained inside the new panel. */
.product-characteristics-legacy {
    display: block;
    padding-top: 6px;
}

.product-characteristics-legacy .product-characteristics {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0;
    padding: 15px 0 0;
    border-top: 1px solid var(--line);
    background: transparent !important;
    color: var(--muted) !important;
}

.product-characteristics-legacy .product-characteristics > * {
    max-width: 100%;
}

.product-characteristics-legacy .product-characteristics img {
    max-width: 72px;
    height: auto;
}

.product-characteristics-legacy .product-characteristics p {
    color: var(--muted) !important;
    font-size: 9px !important;
    line-height: 1.5 !important;
}

.product-anchor-nav {
    position: relative;
    z-index: 3;
    background: var(--paper);
}

.product-anchor-nav a {
    color: var(--ink);
}

.product-editorial-media {
    overflow: hidden;
}

.product-editorial-media.is-packshot {
    display: grid;
    place-items: center;
    background: #ebece3;
}

.product-editorial-media.is-packshot img {
    object-fit: contain;
    mix-blend-mode: multiply;
    padding: clamp(28px, 6vw, 80px);
}

/* Existing LongDetail4 becomes the reference-style numbered formula list.
   The parent .ingredient-list > div rule belongs to interactive kit rows;
   don't apply its full-width framing/borders/flex layout to static CMS lists. */
.ingredient-section .ingredient-list > .product-dynamic-ingredient-list {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
}

.product-dynamic-ingredient-list {
    counter-reset: product-ingredient;
}

.product-dynamic-ingredient-list > ul,
.product-dynamic-ingredient-list > ol,
.product-dynamic-ingredient-list ul,
.product-dynamic-ingredient-list ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.product-dynamic-ingredient-list li {
    counter-increment: product-ingredient;
    position: relative;
    min-height: 62px;
    margin: 0;
    padding: 19px 12px 19px 48px;
    border-bottom: 1px solid var(--line);
    color: var(--ink);
    font-size: 18px;
    line-height: 1.35;
}

/* Keep dividers only BETWEEN static ingredients, not along the top/bottom edges. */
.product-dynamic-ingredient-list li:last-child {
    border-bottom: 0;
}

.product-dynamic-ingredient-list li::before {
    content: counter(product-ingredient, decimal-leading-zero);
    position: absolute;
    top: 23px;
    left: 0;
    color: var(--muted);
    font-size: 10px;
    line-height: 1;
}

.product-dynamic-ingredient-list li p,
.product-dynamic-ingredient-list li span,
.product-dynamic-ingredient-list li strong,
.product-dynamic-ingredient-list li b {
    font: inherit;
    color: inherit;
}

.product-dynamic-ingredient-list > p,
.product-formula-extra > p {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.55;
}

.product-kit-ingredient button {
    flex: 1 1 auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.product-kit-ingredient button:hover h3,
.product-kit-ingredient button:focus-visible h3 {
    text-decoration: underline;
}

.product-formula-extra {
    margin-top: 24px;
}

.product-formula-extra ul,
.product-formula-extra ol {
    margin: 0;
    padding-left: 18px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.55;
}

/* Current approved FAQ records, rendered as accessible details/summary rows. */
.product-faq-section > div:first-child > p:not(.eyebrow) {
    max-width: 38ch;
    margin: 22px 0 12px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.6;
}

.product-ask-question {
    border: 0;
    background: transparent;
    cursor: pointer;
}

.product-faq-list {
    min-height: 40px;
}

.product-faq-list details {
    border-bottom: 1px solid var(--line);
}

.product-faq-list details:first-child {
    border-top: 1px solid var(--line);
}

.product-faq-list summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 21px 0;
    color: var(--ink);
    font-size: 14px;
    line-height: 1.45;
    list-style: none;
    cursor: pointer;
}

.product-faq-list summary::-webkit-details-marker {
    display: none;
}

.product-faq-list summary svg {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .2s ease;
}

.product-faq-list details[open] summary svg {
    transform: rotate(45deg);
}

.product-faq-list .faq-answer {
    padding: 0 48px 22px 0;
}

.product-faq-list .faq-answer p {
    max-width: 56ch;
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.7;
}

/* The full translated ItemLanguages content remains intact exactly where requested. */
.legacy-product-information {
    overflow: hidden;
    background: var(--paper);
}

.legacy-product-information__heading {
    padding-bottom: 34px;
    text-align: center;
}

.legacy-product-information__heading .eyebrow {
    margin-bottom: 18px;
}

.legacy-product-information__heading h2 {
    font-size: clamp(38px, 4vw, 58px);
}

.legacy-product-information__content {
    overflow: hidden;
}

.legacy-product-information__content > *:first-child {
    margin-top: 0;
}

.legacy-product-information__content img,
.legacy-product-information__content video,
.legacy-product-information__content iframe {
    max-width: 100%;
}

/* Older LongDetail2 blocks use Bootstrap containers/rows; allow them to breathe in the rebuild. */
.legacy-product-information__content .container {
    max-width: 1280px;
}

.legacy-product-information__content .owl-carousel,
.legacy-product-information__content .product-info-native-rail {
    display: flex !important;
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
}

.legacy-product-information__content .owl-carousel > .item,
.legacy-product-information__content .product-info-native-rail > .item {
    flex: 0 0 min(82vw, 360px);
    scroll-snap-align: start;
}

.legacy-product-information__content .owl-nav,
.legacy-product-information__content .owl-dots {
    display: none !important;
}

.legacy-kit-products {
    padding-top: 0;
    padding-bottom: 55px;
}

.legacy-kit-products > h3 {
    margin-bottom: 8px;
    font-size: 26px;
    font-weight: 400;
}

.legacy-kit-products > p {
    color: var(--muted);
    font-size: 12px;
}

.legacy-kit-products__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 22px;
}

.legacy-kit-products__grid button {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface);
    color: var(--ink);
    text-align: left;
    cursor: pointer;
}

.legacy-kit-products__grid button:hover,
.legacy-kit-products__grid button:focus-visible {
    border-color: var(--brand);
}

.legacy-kit-products__grid img {
    width: 70px;
    height: 70px;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.legacy-kit-products__grid span {
    font-size: 12px;
    line-height: 1.35;
}

/* Wellness routine loaded from the existing market-aware endpoint. */
.product-routine-section {
    padding-top: 80px;
    padding-bottom: 90px;
}

.product-routine-section .section-heading {
    margin-bottom: 34px;
}

.product-routine-section .section-heading .eyebrow {
    margin-bottom: 14px;
}

.product-routine-section .section-heading h2 {
    font-size: clamp(36px, 4vw, 56px);
}

.product-routine-section .section-heading p:not(.eyebrow) {
    max-width: 50ch;
    margin-top: 12px;
    color: var(--muted);
    font-size: 13px;
}

.product-routine-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.product-routine-grid .product-card {
    min-width: 0;
}

/* The existing ItemCard is deliberately retained for its market/product behavior.
   Remove legacy card chrome where possible so it sits naturally in the new section. */
.product-routine-item > .card,
.product-routine-item .card {
    height: 100%;
    border: 0 !important;
    border-radius: var(--radius) !important;
    box-shadow: none !important;
    background: var(--surface) !important;
}

.product-routine-item img {
    max-width: 100%;
    height: auto;
}

.not-found {
    min-height: 60vh;
    padding: 120px var(--gutter);
    text-align: center;
}

.not-found .eyebrow {
    margin-bottom: 18px;
}

.not-found h1 {
    margin: 0 auto 20px;
    font-size: clamp(42px, 6vw, 76px);
}

.not-found p:not(.eyebrow) {
    max-width: 52ch;
    margin: 0 auto 28px;
    color: var(--muted);
}

/* Keep Bootstrap modals functional without letting their legacy typography dominate. */
.modal {
    color: #151515;
}

.modal .modal-content {
    border: 0;
    border-radius: 14px;
    overflow: hidden;
}

.modal .modal-header,
.modal .modal-footer {
    border-color: #e4e4e0;
}

.modal .modal-title {
    font-family: inherit;
}

@media (max-width: 1100px) {
    .legacy-kit-products__grid,
    .product-routine-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 800px) {
    .gallery-main {
        min-height: 0;
    }

    .product-anchor-nav {
        justify-content: flex-start;
        gap: 24px;
        overflow-x: auto;
        padding-right: var(--gutter);
        padding-left: var(--gutter);
        white-space: nowrap;
    }

    .product-editorial-media.is-packshot img {
        min-height: 440px;
    }

    .product-upsell {
        align-items: flex-start;
    }
}

@media (max-width: 575.98px) {
    .purchase-actions {
        gap: 8px;
    }

    .product-quantity-legacy,
    .product-quantity-legacy .quantity-box-input {
        width: 110px;
    }

    .product-quantity-legacy .quantity-box-input {
        grid-template-columns: 32px 46px 32px;
    }

    .product-upsell {
        display: grid;
        grid-template-columns: 92px 1fr;
        gap: 12px 14px;
        padding: 14px;
    }

    .product-upsell__image-wrap {
        grid-row: 1 / span 2;
        flex-basis: auto;
    }

    .product-upsell__image {
        max-width: 92px;
    }

    .product-upsell__title {
        font-size: 18px;
    }

    .product-upsell__description {
        font-size: 11px;
    }

    .product-upsell__actions {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
        gap: 8px 12px;
        text-align: left;
    }

    .product-upsell__button {
        margin-top: 0;
    }

    .product-dynamic-ingredient-list li {
        padding-right: 12px;
        padding-left: 40px;
        font-size: 16px;
    }

    .legacy-kit-products__grid,
    .product-routine-grid {
        grid-template-columns: 1fr;
    }

    .legacy-kit-products__grid button {
        min-height: 92px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .gallery-main > img,
    .product-upsell__button,
    .product-faq-list summary svg {
        animation: none !important;
        transition: none !important;
    }
}


/* ========================================================================== 
   Rebuild 2026 v17: native compatibility layer
   ========================================================================== */

/* FAQ: keep large question libraries useful without letting them dominate the page. */
.product-faq-list.is-scrollable {
    max-height: var(--product-faq-viewport-height, 390px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 14px;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
}

.product-faq-list.is-scrollable details:first-child {
    border-top: 1px solid var(--line);
}

/* --------------------------------------------------------------------------
   LongDetail2 legacy markup
   A deliberately small, scoped replacement for the Bootstrap grid/utilities
   used by stored product content. Nothing here leaks into the rebuilt page.
   -------------------------------------------------------------------------- */
.legacy-product-information__content,
.legacy-product-information__content *,
.legacy-product-information__content *::before,
.legacy-product-information__content *::after {
    box-sizing: border-box;
}

.legacy-product-information__content .container,
.legacy-product-information__content .container-fluid {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 15px;
    padding-left: 15px;
}

.legacy-product-information__content .container-fluid {
    max-width: none;
}

.legacy-product-information__content .row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.legacy-product-information__content [class*="col-"] {
    position: relative;
    width: 100%;
    min-width: 0;
    padding-right: 15px;
    padding-left: 15px;
}

/* Unprefixed Bootstrap grid widths used by some stored product blocks. */
.legacy-product-information__content .col-1 { flex: 0 0 8.33333333%; max-width: 8.33333333%; }
.legacy-product-information__content .col-2 { flex: 0 0 16.66666667%; max-width: 16.66666667%; }
.legacy-product-information__content .col-3 { flex: 0 0 25%; max-width: 25%; }
.legacy-product-information__content .col-4 { flex: 0 0 33.33333333%; max-width: 33.33333333%; }
.legacy-product-information__content .col-5 { flex: 0 0 41.66666667%; max-width: 41.66666667%; }
.legacy-product-information__content .col-6 { flex: 0 0 50%; max-width: 50%; }
.legacy-product-information__content .col-7 { flex: 0 0 58.33333333%; max-width: 58.33333333%; }
.legacy-product-information__content .col-8 { flex: 0 0 66.66666667%; max-width: 66.66666667%; }
.legacy-product-information__content .col-9 { flex: 0 0 75%; max-width: 75%; }
.legacy-product-information__content .col-10 { flex: 0 0 83.33333333%; max-width: 83.33333333%; }
.legacy-product-information__content .col-11 { flex: 0 0 91.66666667%; max-width: 91.66666667%; }
.legacy-product-information__content .col-12 { flex: 0 0 100%; max-width: 100%; }
.legacy-product-information__content .offset-1 { margin-left: 8.33333333%; }
.legacy-product-information__content .offset-2 { margin-left: 16.66666667%; }
.legacy-product-information__content .offset-3 { margin-left: 25%; }
.legacy-product-information__content .offset-4 { margin-left: 33.33333333%; }
.legacy-product-information__content .offset-5 { margin-left: 41.66666667%; }
.legacy-product-information__content .offset-6 { margin-left: 50%; }
.legacy-product-information__content .offset-7 { margin-left: 58.33333333%; }
.legacy-product-information__content .offset-8 { margin-left: 66.66666667%; }
.legacy-product-information__content .offset-9 { margin-left: 75%; }
.legacy-product-information__content .offset-10 { margin-left: 83.33333333%; }
.legacy-product-information__content .offset-11 { margin-left: 91.66666667%; }

.legacy-product-information__content .img-fluid {
    display: block;
    max-width: 100%;
    height: auto;
}

.legacy-product-information__content .d-none { display: none !important; }
.legacy-product-information__content .d-block { display: block !important; }
.legacy-product-information__content .d-flex { display: flex !important; }
.legacy-product-information__content .d-inline-flex { display: inline-flex !important; }
.legacy-product-information__content .flex-row { flex-direction: row !important; }
.legacy-product-information__content .flex-column { flex-direction: column !important; }
.legacy-product-information__content .flex-wrap { flex-wrap: wrap !important; }
.legacy-product-information__content .justify-content-start { justify-content: flex-start !important; }
.legacy-product-information__content .justify-content-center { justify-content: center !important; }
.legacy-product-information__content .justify-content-end { justify-content: flex-end !important; }
.legacy-product-information__content .justify-content-between { justify-content: space-between !important; }
.legacy-product-information__content .align-items-start { align-items: flex-start !important; }
.legacy-product-information__content .align-items-center { align-items: center !important; }
.legacy-product-information__content .align-items-end { align-items: flex-end !important; }
.legacy-product-information__content .align-self-center { align-self: center !important; }
.legacy-product-information__content .order-first { order: -1 !important; }
.legacy-product-information__content .order-last { order: 13 !important; }
.legacy-product-information__content .w-100 { width: 100% !important; }
.legacy-product-information__content .h-100 { height: 100% !important; }
.legacy-product-information__content .text-left { text-align: left !important; }
.legacy-product-information__content .text-center { text-align: center !important; }
.legacy-product-information__content .text-right { text-align: right !important; }
.legacy-product-information__content .position-relative { position: relative !important; }

/* Common Bootstrap 4 spacing values used in stored LongDetail2 HTML. */
.legacy-product-information__content .m-0 { margin: 0 !important; }
.legacy-product-information__content .mt-0 { margin-top: 0 !important; }
.legacy-product-information__content .mt-1 { margin-top: .25rem !important; }
.legacy-product-information__content .mt-2 { margin-top: .5rem !important; }
.legacy-product-information__content .mt-3 { margin-top: 1rem !important; }
.legacy-product-information__content .mt-4 { margin-top: 1.5rem !important; }
.legacy-product-information__content .mt-5 { margin-top: 3rem !important; }
.legacy-product-information__content .mb-0 { margin-bottom: 0 !important; }
.legacy-product-information__content .mb-1 { margin-bottom: .25rem !important; }
.legacy-product-information__content .mb-2 { margin-bottom: .5rem !important; }
.legacy-product-information__content .mb-3 { margin-bottom: 1rem !important; }
.legacy-product-information__content .mb-4 { margin-bottom: 1.5rem !important; }
.legacy-product-information__content .mb-5 { margin-bottom: 3rem !important; }
.legacy-product-information__content .ml-0 { margin-left: 0 !important; }
.legacy-product-information__content .ml-1 { margin-left: .25rem !important; }
.legacy-product-information__content .ml-2 { margin-left: .5rem !important; }
.legacy-product-information__content .ml-3 { margin-left: 1rem !important; }
.legacy-product-information__content .mr-0 { margin-right: 0 !important; }
.legacy-product-information__content .mr-1 { margin-right: .25rem !important; }
.legacy-product-information__content .mr-2 { margin-right: .5rem !important; }
.legacy-product-information__content .mr-3 { margin-right: 1rem !important; }
.legacy-product-information__content .p-0 { padding: 0 !important; }
.legacy-product-information__content .p-1 { padding: .25rem !important; }
.legacy-product-information__content .p-2 { padding: .5rem !important; }
.legacy-product-information__content .p-3 { padding: 1rem !important; }
.legacy-product-information__content .p-4 { padding: 1.5rem !important; }
.legacy-product-information__content .p-5 { padding: 3rem !important; }
.legacy-product-information__content .pt-0 { padding-top: 0 !important; }
.legacy-product-information__content .pt-1 { padding-top: .25rem !important; }
.legacy-product-information__content .pt-2 { padding-top: .5rem !important; }
.legacy-product-information__content .pt-3 { padding-top: 1rem !important; }
.legacy-product-information__content .pt-4 { padding-top: 1.5rem !important; }
.legacy-product-information__content .pt-5 { padding-top: 3rem !important; }
.legacy-product-information__content .pb-0 { padding-bottom: 0 !important; }
.legacy-product-information__content .pb-3 { padding-bottom: 1rem !important; }
.legacy-product-information__content .pb-4 { padding-bottom: 1.5rem !important; }
.legacy-product-information__content .pb-5 { padding-bottom: 3rem !important; }
.legacy-product-information__content .px-0 { padding-right: 0 !important; padding-left: 0 !important; }
.legacy-product-information__content .px-1 { padding-right: .25rem !important; padding-left: .25rem !important; }
.legacy-product-information__content .px-2 { padding-right: .5rem !important; padding-left: .5rem !important; }
.legacy-product-information__content .px-3 { padding-right: 1rem !important; padding-left: 1rem !important; }
.legacy-product-information__content .px-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
.legacy-product-information__content .px-5 { padding-right: 3rem !important; padding-left: 3rem !important; }
.legacy-product-information__content .py-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
.legacy-product-information__content .py-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
.legacy-product-information__content .py-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }

@media (min-width: 576px) {
    .legacy-product-information__content .container { max-width: 540px; }
    .legacy-product-information__content .d-sm-none { display: none !important; }
    .legacy-product-information__content .d-sm-block { display: block !important; }
    .legacy-product-information__content .d-sm-flex { display: flex !important; }
    .legacy-product-information__content .flex-sm-row { flex-direction: row !important; }
    .legacy-product-information__content .flex-sm-column { flex-direction: column !important; }
    .legacy-product-information__content .order-sm-first { order: -1 !important; }
    .legacy-product-information__content .order-sm-last { order: 13 !important; }
    .legacy-product-information__content .col-sm-1 { flex: 0 0 8.33333333%; max-width: 8.33333333%; }
    .legacy-product-information__content .col-sm-2 { flex: 0 0 16.66666667%; max-width: 16.66666667%; }
    .legacy-product-information__content .col-sm-3 { flex: 0 0 25.00000000%; max-width: 25.00000000%; }
    .legacy-product-information__content .col-sm-4 { flex: 0 0 33.33333333%; max-width: 33.33333333%; }
    .legacy-product-information__content .col-sm-5 { flex: 0 0 41.66666667%; max-width: 41.66666667%; }
    .legacy-product-information__content .col-sm-6 { flex: 0 0 50.00000000%; max-width: 50.00000000%; }
    .legacy-product-information__content .col-sm-7 { flex: 0 0 58.33333333%; max-width: 58.33333333%; }
    .legacy-product-information__content .col-sm-8 { flex: 0 0 66.66666667%; max-width: 66.66666667%; }
    .legacy-product-information__content .col-sm-9 { flex: 0 0 75.00000000%; max-width: 75.00000000%; }
    .legacy-product-information__content .col-sm-10 { flex: 0 0 83.33333333%; max-width: 83.33333333%; }
    .legacy-product-information__content .col-sm-11 { flex: 0 0 91.66666667%; max-width: 91.66666667%; }
    .legacy-product-information__content .col-sm-12 { flex: 0 0 100.00000000%; max-width: 100.00000000%; }
    .legacy-product-information__content .offset-sm-1 { margin-left: 8.33333333%; }
    .legacy-product-information__content .offset-sm-2 { margin-left: 16.66666667%; }
    .legacy-product-information__content .offset-sm-3 { margin-left: 25.00000000%; }
    .legacy-product-information__content .offset-sm-4 { margin-left: 33.33333333%; }
    .legacy-product-information__content .offset-sm-5 { margin-left: 41.66666667%; }
    .legacy-product-information__content .offset-sm-6 { margin-left: 50.00000000%; }
    .legacy-product-information__content .offset-sm-7 { margin-left: 58.33333333%; }
    .legacy-product-information__content .offset-sm-8 { margin-left: 66.66666667%; }
    .legacy-product-information__content .offset-sm-9 { margin-left: 75.00000000%; }
    .legacy-product-information__content .offset-sm-10 { margin-left: 83.33333333%; }
    .legacy-product-information__content .offset-sm-11 { margin-left: 91.66666667%; }
    .legacy-product-information__content .mt-sm-0 { margin-top: 0 !important; }
    .legacy-product-information__content .mt-sm-3 { margin-top: 1rem !important; }
    .legacy-product-information__content .mt-sm-5 { margin-top: 3rem !important; }
    .legacy-product-information__content .mb-sm-0 { margin-bottom: 0 !important; }
    .legacy-product-information__content .mb-sm-3 { margin-bottom: 1rem !important; }
    .legacy-product-information__content .mb-sm-5 { margin-bottom: 3rem !important; }
    .legacy-product-information__content .pt-sm-0 { padding-top: 0 !important; }
    .legacy-product-information__content .pt-sm-3 { padding-top: 1rem !important; }
    .legacy-product-information__content .pt-sm-5 { padding-top: 3rem !important; }
    .legacy-product-information__content .pb-sm-0 { padding-bottom: 0 !important; }
    .legacy-product-information__content .pb-sm-3 { padding-bottom: 1rem !important; }
    .legacy-product-information__content .pb-sm-5 { padding-bottom: 3rem !important; }
    .legacy-product-information__content .px-sm-0 { padding-right: 0 !important; padding-left: 0 !important; }
}

@media (min-width: 768px) {
    .legacy-product-information__content .container { max-width: 720px; }
    .legacy-product-information__content .d-md-none { display: none !important; }
    .legacy-product-information__content .d-md-block { display: block !important; }
    .legacy-product-information__content .d-md-flex { display: flex !important; }
    .legacy-product-information__content .flex-md-row { flex-direction: row !important; }
    .legacy-product-information__content .flex-md-column { flex-direction: column !important; }
    .legacy-product-information__content .order-md-first { order: -1 !important; }
    .legacy-product-information__content .order-md-last { order: 13 !important; }
    .legacy-product-information__content .col-md-1 { flex: 0 0 8.33333333%; max-width: 8.33333333%; }
    .legacy-product-information__content .col-md-2 { flex: 0 0 16.66666667%; max-width: 16.66666667%; }
    .legacy-product-information__content .col-md-3 { flex: 0 0 25.00000000%; max-width: 25.00000000%; }
    .legacy-product-information__content .col-md-4 { flex: 0 0 33.33333333%; max-width: 33.33333333%; }
    .legacy-product-information__content .col-md-5 { flex: 0 0 41.66666667%; max-width: 41.66666667%; }
    .legacy-product-information__content .col-md-6 { flex: 0 0 50.00000000%; max-width: 50.00000000%; }
    .legacy-product-information__content .col-md-7 { flex: 0 0 58.33333333%; max-width: 58.33333333%; }
    .legacy-product-information__content .col-md-8 { flex: 0 0 66.66666667%; max-width: 66.66666667%; }
    .legacy-product-information__content .col-md-9 { flex: 0 0 75.00000000%; max-width: 75.00000000%; }
    .legacy-product-information__content .col-md-10 { flex: 0 0 83.33333333%; max-width: 83.33333333%; }
    .legacy-product-information__content .col-md-11 { flex: 0 0 91.66666667%; max-width: 91.66666667%; }
    .legacy-product-information__content .col-md-12 { flex: 0 0 100.00000000%; max-width: 100.00000000%; }
    .legacy-product-information__content .offset-md-1 { margin-left: 8.33333333%; }
    .legacy-product-information__content .offset-md-2 { margin-left: 16.66666667%; }
    .legacy-product-information__content .offset-md-3 { margin-left: 25.00000000%; }
    .legacy-product-information__content .offset-md-4 { margin-left: 33.33333333%; }
    .legacy-product-information__content .offset-md-5 { margin-left: 41.66666667%; }
    .legacy-product-information__content .offset-md-6 { margin-left: 50.00000000%; }
    .legacy-product-information__content .offset-md-7 { margin-left: 58.33333333%; }
    .legacy-product-information__content .offset-md-8 { margin-left: 66.66666667%; }
    .legacy-product-information__content .offset-md-9 { margin-left: 75.00000000%; }
    .legacy-product-information__content .offset-md-10 { margin-left: 83.33333333%; }
    .legacy-product-information__content .offset-md-11 { margin-left: 91.66666667%; }
    .legacy-product-information__content .mt-md-0 { margin-top: 0 !important; }
    .legacy-product-information__content .mt-md-3 { margin-top: 1rem !important; }
    .legacy-product-information__content .mt-md-5 { margin-top: 3rem !important; }
    .legacy-product-information__content .mb-md-0 { margin-bottom: 0 !important; }
    .legacy-product-information__content .mb-md-3 { margin-bottom: 1rem !important; }
    .legacy-product-information__content .mb-md-5 { margin-bottom: 3rem !important; }
    .legacy-product-information__content .pt-md-0 { padding-top: 0 !important; }
    .legacy-product-information__content .pt-md-3 { padding-top: 1rem !important; }
    .legacy-product-information__content .pt-md-5 { padding-top: 3rem !important; }
    .legacy-product-information__content .pb-md-0 { padding-bottom: 0 !important; }
    .legacy-product-information__content .pb-md-3 { padding-bottom: 1rem !important; }
    .legacy-product-information__content .pb-md-5 { padding-bottom: 3rem !important; }
    .legacy-product-information__content .px-md-0 { padding-right: 0 !important; padding-left: 0 !important; }
}

@media (min-width: 992px) {
    .legacy-product-information__content .container { max-width: 960px; }
    .legacy-product-information__content .d-lg-none { display: none !important; }
    .legacy-product-information__content .d-lg-block { display: block !important; }
    .legacy-product-information__content .d-lg-flex { display: flex !important; }
    .legacy-product-information__content .flex-lg-row { flex-direction: row !important; }
    .legacy-product-information__content .flex-lg-column { flex-direction: column !important; }
    .legacy-product-information__content .order-lg-first { order: -1 !important; }
    .legacy-product-information__content .order-lg-last { order: 13 !important; }
    .legacy-product-information__content .col-lg-1 { flex: 0 0 8.33333333%; max-width: 8.33333333%; }
    .legacy-product-information__content .col-lg-2 { flex: 0 0 16.66666667%; max-width: 16.66666667%; }
    .legacy-product-information__content .col-lg-3 { flex: 0 0 25.00000000%; max-width: 25.00000000%; }
    .legacy-product-information__content .col-lg-4 { flex: 0 0 33.33333333%; max-width: 33.33333333%; }
    .legacy-product-information__content .col-lg-5 { flex: 0 0 41.66666667%; max-width: 41.66666667%; }
    .legacy-product-information__content .col-lg-6 { flex: 0 0 50.00000000%; max-width: 50.00000000%; }
    .legacy-product-information__content .col-lg-7 { flex: 0 0 58.33333333%; max-width: 58.33333333%; }
    .legacy-product-information__content .col-lg-8 { flex: 0 0 66.66666667%; max-width: 66.66666667%; }
    .legacy-product-information__content .col-lg-9 { flex: 0 0 75.00000000%; max-width: 75.00000000%; }
    .legacy-product-information__content .col-lg-10 { flex: 0 0 83.33333333%; max-width: 83.33333333%; }
    .legacy-product-information__content .col-lg-11 { flex: 0 0 91.66666667%; max-width: 91.66666667%; }
    .legacy-product-information__content .col-lg-12 { flex: 0 0 100.00000000%; max-width: 100.00000000%; }
    .legacy-product-information__content .offset-lg-1 { margin-left: 8.33333333%; }
    .legacy-product-information__content .offset-lg-2 { margin-left: 16.66666667%; }
    .legacy-product-information__content .offset-lg-3 { margin-left: 25.00000000%; }
    .legacy-product-information__content .offset-lg-4 { margin-left: 33.33333333%; }
    .legacy-product-information__content .offset-lg-5 { margin-left: 41.66666667%; }
    .legacy-product-information__content .offset-lg-6 { margin-left: 50.00000000%; }
    .legacy-product-information__content .offset-lg-7 { margin-left: 58.33333333%; }
    .legacy-product-information__content .offset-lg-8 { margin-left: 66.66666667%; }
    .legacy-product-information__content .offset-lg-9 { margin-left: 75.00000000%; }
    .legacy-product-information__content .offset-lg-10 { margin-left: 83.33333333%; }
    .legacy-product-information__content .offset-lg-11 { margin-left: 91.66666667%; }
    .legacy-product-information__content .mt-lg-0 { margin-top: 0 !important; }
    .legacy-product-information__content .mt-lg-3 { margin-top: 1rem !important; }
    .legacy-product-information__content .mt-lg-5 { margin-top: 3rem !important; }
    .legacy-product-information__content .mb-lg-0 { margin-bottom: 0 !important; }
    .legacy-product-information__content .mb-lg-3 { margin-bottom: 1rem !important; }
    .legacy-product-information__content .mb-lg-5 { margin-bottom: 3rem !important; }
    .legacy-product-information__content .pt-lg-0 { padding-top: 0 !important; }
    .legacy-product-information__content .pt-lg-3 { padding-top: 1rem !important; }
    .legacy-product-information__content .pt-lg-5 { padding-top: 3rem !important; }
    .legacy-product-information__content .pb-lg-0 { padding-bottom: 0 !important; }
    .legacy-product-information__content .pb-lg-3 { padding-bottom: 1rem !important; }
    .legacy-product-information__content .pb-lg-5 { padding-bottom: 3rem !important; }
    .legacy-product-information__content .px-lg-0 { padding-right: 0 !important; padding-left: 0 !important; }
}

@media (min-width: 1200px) {
    .legacy-product-information__content .container { max-width: 1140px; }
    .legacy-product-information__content .d-xl-none { display: none !important; }
    .legacy-product-information__content .d-xl-block { display: block !important; }
    .legacy-product-information__content .d-xl-flex { display: flex !important; }
    .legacy-product-information__content .flex-xl-row { flex-direction: row !important; }
    .legacy-product-information__content .flex-xl-column { flex-direction: column !important; }
    .legacy-product-information__content .order-xl-first { order: -1 !important; }
    .legacy-product-information__content .order-xl-last { order: 13 !important; }
    .legacy-product-information__content .col-xl-1 { flex: 0 0 8.33333333%; max-width: 8.33333333%; }
    .legacy-product-information__content .col-xl-2 { flex: 0 0 16.66666667%; max-width: 16.66666667%; }
    .legacy-product-information__content .col-xl-3 { flex: 0 0 25.00000000%; max-width: 25.00000000%; }
    .legacy-product-information__content .col-xl-4 { flex: 0 0 33.33333333%; max-width: 33.33333333%; }
    .legacy-product-information__content .col-xl-5 { flex: 0 0 41.66666667%; max-width: 41.66666667%; }
    .legacy-product-information__content .col-xl-6 { flex: 0 0 50.00000000%; max-width: 50.00000000%; }
    .legacy-product-information__content .col-xl-7 { flex: 0 0 58.33333333%; max-width: 58.33333333%; }
    .legacy-product-information__content .col-xl-8 { flex: 0 0 66.66666667%; max-width: 66.66666667%; }
    .legacy-product-information__content .col-xl-9 { flex: 0 0 75.00000000%; max-width: 75.00000000%; }
    .legacy-product-information__content .col-xl-10 { flex: 0 0 83.33333333%; max-width: 83.33333333%; }
    .legacy-product-information__content .col-xl-11 { flex: 0 0 91.66666667%; max-width: 91.66666667%; }
    .legacy-product-information__content .col-xl-12 { flex: 0 0 100.00000000%; max-width: 100.00000000%; }
    .legacy-product-information__content .offset-xl-1 { margin-left: 8.33333333%; }
    .legacy-product-information__content .offset-xl-2 { margin-left: 16.66666667%; }
    .legacy-product-information__content .offset-xl-3 { margin-left: 25.00000000%; }
    .legacy-product-information__content .offset-xl-4 { margin-left: 33.33333333%; }
    .legacy-product-information__content .offset-xl-5 { margin-left: 41.66666667%; }
    .legacy-product-information__content .offset-xl-6 { margin-left: 50.00000000%; }
    .legacy-product-information__content .offset-xl-7 { margin-left: 58.33333333%; }
    .legacy-product-information__content .offset-xl-8 { margin-left: 66.66666667%; }
    .legacy-product-information__content .offset-xl-9 { margin-left: 75.00000000%; }
    .legacy-product-information__content .offset-xl-10 { margin-left: 83.33333333%; }
    .legacy-product-information__content .offset-xl-11 { margin-left: 91.66666667%; }
    .legacy-product-information__content .mt-xl-0 { margin-top: 0 !important; }
    .legacy-product-information__content .mt-xl-3 { margin-top: 1rem !important; }
    .legacy-product-information__content .mt-xl-5 { margin-top: 3rem !important; }
    .legacy-product-information__content .mb-xl-0 { margin-bottom: 0 !important; }
    .legacy-product-information__content .mb-xl-3 { margin-bottom: 1rem !important; }
    .legacy-product-information__content .mb-xl-5 { margin-bottom: 3rem !important; }
    .legacy-product-information__content .pt-xl-0 { padding-top: 0 !important; }
    .legacy-product-information__content .pt-xl-3 { padding-top: 1rem !important; }
    .legacy-product-information__content .pt-xl-5 { padding-top: 3rem !important; }
    .legacy-product-information__content .pb-xl-0 { padding-bottom: 0 !important; }
    .legacy-product-information__content .pb-xl-3 { padding-bottom: 1rem !important; }
    .legacy-product-information__content .pb-xl-5 { padding-bottom: 3rem !important; }
    .legacy-product-information__content .px-xl-0 { padding-right: 0 !important; padding-left: 0 !important; }
}


@media (min-width: 1400px) {
    .legacy-product-information__content .container {
        max-width: 1280px;
    }
}

/* --------------------------------------------------------------------------
   Native product modals. Bootstrap's modal JavaScript/CSS is no longer needed.
   Existing Razor markup and event names are intentionally retained so review,
   question and cart-conflict code can migrate independently.
   -------------------------------------------------------------------------- */
body.three-modal-open {
    overflow: hidden;
}

.modal {
    position: fixed;
    z-index: 1300;
    inset: 0;
    display: none;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 24px;
    background: rgba(10, 22, 17, .56);
    color: #151515;
}

.modal.is-open {
    display: block;
}

.modal-dialog {
    position: relative;
    z-index: 1;
    width: calc(100% - 2px);
    max-width: 620px;
    margin: 40px auto;
    pointer-events: none;
}

.modal-dialog-centered {
    display: flex;
    min-height: calc(100vh - 80px);
    align-items: center;
}

.modal-dialog.modal-lg { max-width: 820px; }
.modal-dialog.modal-xl { max-width: 1120px; }

.modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-height: calc(100vh - 80px);
    overflow: hidden;
    border: 1px solid rgba(28, 50, 41, .12) !important;
    border-radius: 18px !important;
    background: #fff;
    box-shadow: 0 30px 80px rgba(13, 27, 21, .2);
    pointer-events: auto;
}

.modal-header,
.modal-footer {
    position: relative;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    padding: 20px 24px;
    border-color: #e4e4e0 !important;
}

.modal-header {
    border-bottom: 1px solid #e4e4e0;
}

.modal-footer {
    gap: 10px;
    border-top: 1px solid #e4e4e0;
}

.modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 24px;
}

.modal-title {
    margin: 0;
    font-family: inherit !important;
    font-weight: 500;
}

.modal .close {
    position: absolute;
    z-index: 2;
    top: 12px;
    right: 14px;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #505a55;
    font: inherit;
    cursor: pointer;
}

.modal .close:hover,
.modal .close:focus-visible {
    background: #f0f1eb;
    outline: none;
}

.modal .form-group {
    margin-bottom: 18px;
}

.modal .form-control {
    display: block;
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #cfd4ce;
    border-radius: 8px;
    background: #fff;
    color: #1b201d;
    font: inherit;
}

.modal textarea.form-control {
    resize: vertical;
}

.modal .btn {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border: 1px solid #173d32;
    border-radius: 999px;
    background: transparent;
    color: #173d32;
    font: inherit;
    font-size: 12px;
    text-decoration: none;
    cursor: pointer;
}

.modal .btn-primary {
    background: #173d32;
    color: #fff;
}

.modal .btn-secondary {
    border-color: #d5d9d3;
    background: #f4f5f0;
    color: #26342e;
}

.modal .d-flex { display: flex !important; }
.modal .flex-column { flex-direction: column !important; }
.modal .justify-content-center { justify-content: center !important; }
.modal .justify-content-start { justify-content: flex-start !important; }
.modal .align-items-center { align-items: center !important; }
.modal .w-100 { width: 100% !important; }
.modal .h-100 { height: 100% !important; }
.modal .m-0 { margin: 0 !important; }
.modal .my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.modal .ml-0 { margin-left: 0 !important; }
.modal .ml-4 { margin-left: 1.5rem !important; }
.modal .px-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
.modal .px-5 { padding-right: 3rem !important; padding-left: 3rem !important; }
.modal .py-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
.modal .pb-0 { padding-bottom: 0 !important; }
.modal .pb-5 { padding-bottom: 3rem !important; }
.modal .text-center { text-align: center !important; }
.modal .text-uppercase { text-transform: uppercase !important; }

/* --------------------------------------------------------------------------
   Complete your wellness: native Rebuild 2026 cards instead of legacy ItemCard.
   -------------------------------------------------------------------------- */
.product-routine-section {
    max-width: 1500px;
    margin: 0 auto;
    padding-top: 86px;
    padding-bottom: 96px;
}

.product-routine-heading {
    margin-bottom: 36px;
}

.product-routine-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(14px, 2vw, 24px);
}

.product-routine-card {
    min-width: 0;
}

.product-routine-card__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    border-radius: var(--radius);
    background: #eceee6;
}

.product-routine-card__media > a {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
}

.product-routine-card__media img {
    display: block;
    width: 88%;
    height: 88%;
    object-fit: contain;
    mix-blend-mode: multiply;
    transition: transform .35s ease;
}

.product-routine-card:hover .product-routine-card__media img {
    transform: scale(1.025);
}

.product-routine-card__quick-add {
    position: absolute;
    right: 14px;
    bottom: 14px;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(23, 61, 50, .16);
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #173d32;
    cursor: pointer;
    backdrop-filter: blur(5px);
}

.product-routine-card__quick-add:hover,
.product-routine-card__quick-add:focus-visible {
    background: #173d32;
    color: #fff;
    outline: none;
}

.product-routine-card__quick-add svg,
.product-routine-card__title svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.product-routine-card__title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-top: 15px;
    color: var(--ink);
    text-decoration: none;
}

.product-routine-card__title h3 {
    margin: 0;
    font: inherit;
    font-size: clamp(18px, 1.5vw, 22px);
    font-weight: 400;
    line-height: 1.25;
}

.product-routine-card__title svg {
    flex: 0 0 18px;
    margin-top: 3px;
}

.product-routine-card__price {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 9px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.45;
}

.product-routine-card__price span:first-child {
    color: var(--ink);
    font-size: 13px;
}

@media (max-width: 1100px) {
    .product-routine-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .modal {
        padding: 10px;
    }

    .modal-dialog,
    .modal-dialog-centered {
        min-height: calc(100vh - 20px);
        margin: 0 auto;
    }

    .modal-content {
        max-height: calc(100vh - 20px);
        border-radius: 14px !important;
    }

    .modal-body,
    .modal-header,
    .modal-footer {
        padding-right: 18px !important;
        padding-left: 18px !important;
    }

    .product-routine-section {
        padding-top: 64px;
        padding-bottom: 72px;
    }

    .product-routine-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .product-routine-card__media img {
        transition: none;
    }
}
/* V18: Trust badges: the stored ShortDetail4 uses Bootstrap-style columns outside #long-desc. */
.purchase-trust.product-characteristics-legacy .product-characteristics {
  display: flex; flex-direction: column; gap: 13px; align-items: stretch;
  padding-top: 18px; min-width: 0;
}
.purchase-trust.product-characteristics-legacy .product-characteristics > .col-12 {
  display: flex !important; flex-flow: row nowrap; align-items: flex-start;
  justify-content: space-between; gap: clamp(5px, 1vw, 12px) !important;
  width: 100%; max-width: 100%; min-width: 0; padding: 0 !important;
  order: 0 !important;
}
.purchase-trust.product-characteristics-legacy .product-characteristics > .col-12 > .text-center {
  flex: 1 1 0; min-width: 0; text-align: center;
}
.purchase-trust.product-characteristics-legacy .product-characteristics > .col-12 img {
  display: block; width: clamp(28px, 4vw, 48px); max-width: 100%; height: auto;
  object-fit: contain; margin: 0 auto 7px !important;
}
.purchase-trust.product-characteristics-legacy .product-characteristics > .col-12 p {
  margin: 0; font-size: clamp(9px, .95vw, 11px) !important; line-height: 1.35 !important;
  text-align: center; overflow-wrap: anywhere;
}
.purchase-trust.product-characteristics-legacy .product-characteristics > .col-xl-10 {
  width: 100%; min-width: 0; max-width: 100%; padding: 0 !important; margin-top: 9px;
}
.purchase-trust.product-characteristics-legacy .product-characteristics > .col-xl-10 p {
  margin-bottom: 7px; line-height: 1.45 !important; text-align: left;
}
@media (max-width: 420px) {
  .purchase-trust.product-characteristics-legacy .product-characteristics > .col-12 img { width: 29px; }
  .purchase-trust.product-characteristics-legacy .product-characteristics > .col-12 p { font-size: 9px !important; }
}

/* V18: protect the CMS injected product layout from full-bleed and card/hero resets. */
#full-product-information .legacy-product-information__content {
  width: min(100%, 1200px); max-width: 1200px; margin-inline: auto;
  overflow: clip; min-width: 0;
}
#full-product-information #long-desc > * { max-width: 100%; }
#full-product-information #long-desc picture { display: block; max-width: 100%; }
#full-product-information #long-desc picture img { display: block; width: 100%; height: auto; max-width: 100%; }
#full-product-information #long-desc #GLPThree-Product,
#full-product-information #long-desc #GLPThree-Arc,
#full-product-information #long-desc #contains-peptides,
#full-product-information #long-desc #GLPThree-Hero {
  width: 100%; max-width: 1200px; margin-left: auto; margin-right: auto;
}
#full-product-information #long-desc #GLPThree-Product,
#full-product-information #long-desc #GLPThree-Arc { position: relative; min-width: 0; }
#full-product-information #long-desc #features {
  display: flex !important; align-items: start; justify-content: space-around;
  flex-wrap: wrap; gap: 22px; margin-inline: clamp(15px, 4vw, 56px) !important;
}
#full-product-information #long-desc #features > .flex {
  flex: 1 1 215px; min-width: 0; max-width: 350px;
}
#full-product-information #long-desc #features h3 { margin: 10px 0 7px; line-height: 1.25; }
#full-product-information #long-desc #features p { line-height: 1.55; }
#full-product-information #long-desc #contains-peptides { position: relative; overflow: hidden; }
#full-product-information #long-desc #contains-peptides > picture { width: 100%; }
#full-product-information #long-desc #contains-peptides .power-placement {
  position: absolute; inset: 0 auto 0 0; width: 100%; max-width: 1200px;
  display: flex; justify-content: flex-end; align-items: center;
  padding-inline: clamp(15px, 5vw, 80px) !important; pointer-events: none;
}
#full-product-information #long-desc #contains-peptides .peptides-block {
  flex: 0 1 520px; width: min(100%, 520px); min-width: 0;
  margin: 0 !important; padding: clamp(14px, 2.5vw, 30px) !important;
  background: rgba(255, 255, 255, .88); pointer-events: auto;
}
#full-product-information #long-desc #contains-peptides .peptides-block h2 {
  font-size: clamp(18px, 2vw, 27px); line-height: 1.2; margin: 0 0 12px !important;
}
#full-product-information #long-desc #contains-peptides .peptides-block p { margin: 0 0 10px; line-height: 1.48; }
#full-product-information #long-desc #contains-peptides .learn-more-button {
  min-width: max-content; width: auto !important; padding: 10px 17px !important;
}
#full-product-information #long-desc .embed-responsive {
  position: relative; width: 100%; max-width: 100%; overflow: hidden;
}
#full-product-information #long-desc .embed-responsive-16by9 { aspect-ratio: 16 / 9; }
#full-product-information #long-desc .embed-responsive iframe {
  position: absolute; inset: 0; width: 100%; height: 100%; border: 0;
}
#full-product-information #long-desc .ingredients {
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 24px); padding: clamp(12px, 2vw, 24px);
  margin: 16px auto !important; max-width: 1200px;
}
#full-product-information #long-desc .ingredients > .card {
  width: 100% !important; min-width: 0; max-width: none; margin: 0;
  display: flex; flex-direction: column;
}
#full-product-information #long-desc .ingredients .card__media { width: 100%; }
#full-product-information #long-desc .ingredients .card__media img {
  display: block; width: 100%; height: auto; max-width: 100%;
}
#full-product-information #long-desc #GLPThree-Hero .hero {
  display: grid; grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
  align-items: stretch; width: 100%; max-width: 1200px; margin-inline: auto;
  margin-top: 18px !important; min-width: 0;
}
#full-product-information #long-desc #GLPThree-Hero .hero__copy {
  display: flex; flex-direction: column; justify-content: center;
  align-items: center !important; width: auto !important;
  min-width: 0; padding: clamp(18px, 3vw, 44px) !important;
  gap: 12px; text-align: center !important;
}
#full-product-information #long-desc #GLPThree-Hero .hero__brand { min-width: 0; width: 100%; }
#full-product-information #long-desc #GLPThree-Hero .hero__logo {
  display: block; width: min(100%, 320px); height: auto; max-width: 100%;
}
#full-product-information #long-desc #GLPThree-Hero .hero__tagline {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 8px;
  width: 100%; line-height: 1.2; margin-top: 12px;
}
#full-product-information #long-desc #GLPThree-Hero .hero__tagline > span {
  font-size: clamp(13px, 1.8vw, 27px) !important; white-space: normal;
}
#full-product-information #long-desc #GLPThree-Hero .hero__media { width: auto !important; min-width: 0; }
#full-product-information #long-desc #GLPThree-Hero .hero__media img { width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 767px) {
  #full-product-information #long-desc #features { gap: 20px; }
  #full-product-information #long-desc #features > .flex { flex-basis: 100%; max-width: 420px; }
  #full-product-information #long-desc #contains-peptides .power-placement {
    position: relative; inset: auto; padding: 0 15px 10px !important;
  }
  #full-product-information #long-desc #contains-peptides .peptides-block {
    flex-basis: 100%; width: 100%; max-width: none; background: #f6f6f1;
  }
  #full-product-information #long-desc .ingredients { grid-template-columns: minmax(0, 1fr); }
  #full-product-information #long-desc #GLPThree-Hero .hero { grid-template-columns: minmax(0, 1fr); }
  #full-product-information #long-desc #GLPThree-Hero .hero__copy { padding: 22px !important; }
  #full-product-information #long-desc #GLPThree-Hero .hero__tagline > span { font-size: clamp(17px, 4.8vw, 25px) !important; }
}

/* ==== V19 compatibility extension ==== */
/* --------------------------------------------------------------------------
   AJAX kit-item detail markup
   A deliberately small, scoped replacement for the Bootstrap grid/utilities
   used by stored product content. Nothing here leaks into the rebuilt page.
   -------------------------------------------------------------------------- */
#kitItemDetailsDiv,
#kitItemDetailsDiv *,
#kitItemDetailsDiv *::before,
#kitItemDetailsDiv *::after {
    box-sizing: border-box;
}

#kitItemDetailsDiv .container,
#kitItemDetailsDiv .container-fluid {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 15px;
    padding-left: 15px;
}

#kitItemDetailsDiv .container-fluid {
    max-width: none;
}

#kitItemDetailsDiv .row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

#kitItemDetailsDiv [class*="col-"] {
    position: relative;
    width: 100%;
    min-width: 0;
    padding-right: 15px;
    padding-left: 15px;
}

/* Unprefixed Bootstrap grid widths used by some stored product blocks. */
#kitItemDetailsDiv .col-1 { flex: 0 0 8.33333333%; max-width: 8.33333333%; }
#kitItemDetailsDiv .col-2 { flex: 0 0 16.66666667%; max-width: 16.66666667%; }
#kitItemDetailsDiv .col-3 { flex: 0 0 25%; max-width: 25%; }
#kitItemDetailsDiv .col-4 { flex: 0 0 33.33333333%; max-width: 33.33333333%; }
#kitItemDetailsDiv .col-5 { flex: 0 0 41.66666667%; max-width: 41.66666667%; }
#kitItemDetailsDiv .col-6 { flex: 0 0 50%; max-width: 50%; }
#kitItemDetailsDiv .col-7 { flex: 0 0 58.33333333%; max-width: 58.33333333%; }
#kitItemDetailsDiv .col-8 { flex: 0 0 66.66666667%; max-width: 66.66666667%; }
#kitItemDetailsDiv .col-9 { flex: 0 0 75%; max-width: 75%; }
#kitItemDetailsDiv .col-10 { flex: 0 0 83.33333333%; max-width: 83.33333333%; }
#kitItemDetailsDiv .col-11 { flex: 0 0 91.66666667%; max-width: 91.66666667%; }
#kitItemDetailsDiv .col-12 { flex: 0 0 100%; max-width: 100%; }
#kitItemDetailsDiv .offset-1 { margin-left: 8.33333333%; }
#kitItemDetailsDiv .offset-2 { margin-left: 16.66666667%; }
#kitItemDetailsDiv .offset-3 { margin-left: 25%; }
#kitItemDetailsDiv .offset-4 { margin-left: 33.33333333%; }
#kitItemDetailsDiv .offset-5 { margin-left: 41.66666667%; }
#kitItemDetailsDiv .offset-6 { margin-left: 50%; }
#kitItemDetailsDiv .offset-7 { margin-left: 58.33333333%; }
#kitItemDetailsDiv .offset-8 { margin-left: 66.66666667%; }
#kitItemDetailsDiv .offset-9 { margin-left: 75%; }
#kitItemDetailsDiv .offset-10 { margin-left: 83.33333333%; }
#kitItemDetailsDiv .offset-11 { margin-left: 91.66666667%; }

#kitItemDetailsDiv .img-fluid {
    display: block;
    max-width: 100%;
    height: auto;
}

#kitItemDetailsDiv .d-none { display: none !important; }
#kitItemDetailsDiv .d-block { display: block !important; }
#kitItemDetailsDiv .d-flex { display: flex !important; }
#kitItemDetailsDiv .d-inline-flex { display: inline-flex !important; }
#kitItemDetailsDiv .flex-row { flex-direction: row !important; }
#kitItemDetailsDiv .flex-column { flex-direction: column !important; }
#kitItemDetailsDiv .flex-wrap { flex-wrap: wrap !important; }
#kitItemDetailsDiv .justify-content-start { justify-content: flex-start !important; }
#kitItemDetailsDiv .justify-content-center { justify-content: center !important; }
#kitItemDetailsDiv .justify-content-end { justify-content: flex-end !important; }
#kitItemDetailsDiv .justify-content-between { justify-content: space-between !important; }
#kitItemDetailsDiv .align-items-start { align-items: flex-start !important; }
#kitItemDetailsDiv .align-items-center { align-items: center !important; }
#kitItemDetailsDiv .align-items-end { align-items: flex-end !important; }
#kitItemDetailsDiv .align-self-center { align-self: center !important; }
#kitItemDetailsDiv .order-first { order: -1 !important; }
#kitItemDetailsDiv .order-last { order: 13 !important; }
#kitItemDetailsDiv .w-100 { width: 100% !important; }
#kitItemDetailsDiv .h-100 { height: 100% !important; }
#kitItemDetailsDiv .text-left { text-align: left !important; }
#kitItemDetailsDiv .text-center { text-align: center !important; }
#kitItemDetailsDiv .text-right { text-align: right !important; }
#kitItemDetailsDiv .position-relative { position: relative !important; }

/* Common Bootstrap 4 spacing values used in stored LongDetail2 HTML. */
#kitItemDetailsDiv .m-0 { margin: 0 !important; }
#kitItemDetailsDiv .mt-0 { margin-top: 0 !important; }
#kitItemDetailsDiv .mt-1 { margin-top: .25rem !important; }
#kitItemDetailsDiv .mt-2 { margin-top: .5rem !important; }
#kitItemDetailsDiv .mt-3 { margin-top: 1rem !important; }
#kitItemDetailsDiv .mt-4 { margin-top: 1.5rem !important; }
#kitItemDetailsDiv .mt-5 { margin-top: 3rem !important; }
#kitItemDetailsDiv .mb-0 { margin-bottom: 0 !important; }
#kitItemDetailsDiv .mb-1 { margin-bottom: .25rem !important; }
#kitItemDetailsDiv .mb-2 { margin-bottom: .5rem !important; }
#kitItemDetailsDiv .mb-3 { margin-bottom: 1rem !important; }
#kitItemDetailsDiv .mb-4 { margin-bottom: 1.5rem !important; }
#kitItemDetailsDiv .mb-5 { margin-bottom: 3rem !important; }
#kitItemDetailsDiv .ml-0 { margin-left: 0 !important; }
#kitItemDetailsDiv .ml-1 { margin-left: .25rem !important; }
#kitItemDetailsDiv .ml-2 { margin-left: .5rem !important; }
#kitItemDetailsDiv .ml-3 { margin-left: 1rem !important; }
#kitItemDetailsDiv .mr-0 { margin-right: 0 !important; }
#kitItemDetailsDiv .mr-1 { margin-right: .25rem !important; }
#kitItemDetailsDiv .mr-2 { margin-right: .5rem !important; }
#kitItemDetailsDiv .mr-3 { margin-right: 1rem !important; }
#kitItemDetailsDiv .p-0 { padding: 0 !important; }
#kitItemDetailsDiv .p-1 { padding: .25rem !important; }
#kitItemDetailsDiv .p-2 { padding: .5rem !important; }
#kitItemDetailsDiv .p-3 { padding: 1rem !important; }
#kitItemDetailsDiv .p-4 { padding: 1.5rem !important; }
#kitItemDetailsDiv .p-5 { padding: 3rem !important; }
#kitItemDetailsDiv .pt-0 { padding-top: 0 !important; }
#kitItemDetailsDiv .pt-1 { padding-top: .25rem !important; }
#kitItemDetailsDiv .pt-2 { padding-top: .5rem !important; }
#kitItemDetailsDiv .pt-3 { padding-top: 1rem !important; }
#kitItemDetailsDiv .pt-4 { padding-top: 1.5rem !important; }
#kitItemDetailsDiv .pt-5 { padding-top: 3rem !important; }
#kitItemDetailsDiv .pb-0 { padding-bottom: 0 !important; }
#kitItemDetailsDiv .pb-3 { padding-bottom: 1rem !important; }
#kitItemDetailsDiv .pb-4 { padding-bottom: 1.5rem !important; }
#kitItemDetailsDiv .pb-5 { padding-bottom: 3rem !important; }
#kitItemDetailsDiv .px-0 { padding-right: 0 !important; padding-left: 0 !important; }
#kitItemDetailsDiv .px-1 { padding-right: .25rem !important; padding-left: .25rem !important; }
#kitItemDetailsDiv .px-2 { padding-right: .5rem !important; padding-left: .5rem !important; }
#kitItemDetailsDiv .px-3 { padding-right: 1rem !important; padding-left: 1rem !important; }
#kitItemDetailsDiv .px-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
#kitItemDetailsDiv .px-5 { padding-right: 3rem !important; padding-left: 3rem !important; }
#kitItemDetailsDiv .py-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
#kitItemDetailsDiv .py-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
#kitItemDetailsDiv .py-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }

@media (min-width: 576px) {
    #kitItemDetailsDiv .container { max-width: 540px; }
    #kitItemDetailsDiv .d-sm-none { display: none !important; }
    #kitItemDetailsDiv .d-sm-block { display: block !important; }
    #kitItemDetailsDiv .d-sm-flex { display: flex !important; }
    #kitItemDetailsDiv .flex-sm-row { flex-direction: row !important; }
    #kitItemDetailsDiv .flex-sm-column { flex-direction: column !important; }
    #kitItemDetailsDiv .order-sm-first { order: -1 !important; }
    #kitItemDetailsDiv .order-sm-last { order: 13 !important; }
    #kitItemDetailsDiv .col-sm-1 { flex: 0 0 8.33333333%; max-width: 8.33333333%; }
    #kitItemDetailsDiv .col-sm-2 { flex: 0 0 16.66666667%; max-width: 16.66666667%; }
    #kitItemDetailsDiv .col-sm-3 { flex: 0 0 25.00000000%; max-width: 25.00000000%; }
    #kitItemDetailsDiv .col-sm-4 { flex: 0 0 33.33333333%; max-width: 33.33333333%; }
    #kitItemDetailsDiv .col-sm-5 { flex: 0 0 41.66666667%; max-width: 41.66666667%; }
    #kitItemDetailsDiv .col-sm-6 { flex: 0 0 50.00000000%; max-width: 50.00000000%; }
    #kitItemDetailsDiv .col-sm-7 { flex: 0 0 58.33333333%; max-width: 58.33333333%; }
    #kitItemDetailsDiv .col-sm-8 { flex: 0 0 66.66666667%; max-width: 66.66666667%; }
    #kitItemDetailsDiv .col-sm-9 { flex: 0 0 75.00000000%; max-width: 75.00000000%; }
    #kitItemDetailsDiv .col-sm-10 { flex: 0 0 83.33333333%; max-width: 83.33333333%; }
    #kitItemDetailsDiv .col-sm-11 { flex: 0 0 91.66666667%; max-width: 91.66666667%; }
    #kitItemDetailsDiv .col-sm-12 { flex: 0 0 100.00000000%; max-width: 100.00000000%; }
    #kitItemDetailsDiv .offset-sm-1 { margin-left: 8.33333333%; }
    #kitItemDetailsDiv .offset-sm-2 { margin-left: 16.66666667%; }
    #kitItemDetailsDiv .offset-sm-3 { margin-left: 25.00000000%; }
    #kitItemDetailsDiv .offset-sm-4 { margin-left: 33.33333333%; }
    #kitItemDetailsDiv .offset-sm-5 { margin-left: 41.66666667%; }
    #kitItemDetailsDiv .offset-sm-6 { margin-left: 50.00000000%; }
    #kitItemDetailsDiv .offset-sm-7 { margin-left: 58.33333333%; }
    #kitItemDetailsDiv .offset-sm-8 { margin-left: 66.66666667%; }
    #kitItemDetailsDiv .offset-sm-9 { margin-left: 75.00000000%; }
    #kitItemDetailsDiv .offset-sm-10 { margin-left: 83.33333333%; }
    #kitItemDetailsDiv .offset-sm-11 { margin-left: 91.66666667%; }
    #kitItemDetailsDiv .mt-sm-0 { margin-top: 0 !important; }
    #kitItemDetailsDiv .mt-sm-3 { margin-top: 1rem !important; }
    #kitItemDetailsDiv .mt-sm-5 { margin-top: 3rem !important; }
    #kitItemDetailsDiv .mb-sm-0 { margin-bottom: 0 !important; }
    #kitItemDetailsDiv .mb-sm-3 { margin-bottom: 1rem !important; }
    #kitItemDetailsDiv .mb-sm-5 { margin-bottom: 3rem !important; }
    #kitItemDetailsDiv .pt-sm-0 { padding-top: 0 !important; }
    #kitItemDetailsDiv .pt-sm-3 { padding-top: 1rem !important; }
    #kitItemDetailsDiv .pt-sm-5 { padding-top: 3rem !important; }
    #kitItemDetailsDiv .pb-sm-0 { padding-bottom: 0 !important; }
    #kitItemDetailsDiv .pb-sm-3 { padding-bottom: 1rem !important; }
    #kitItemDetailsDiv .pb-sm-5 { padding-bottom: 3rem !important; }
    #kitItemDetailsDiv .px-sm-0 { padding-right: 0 !important; padding-left: 0 !important; }
}

@media (min-width: 768px) {
    #kitItemDetailsDiv .container { max-width: 720px; }
    #kitItemDetailsDiv .d-md-none { display: none !important; }
    #kitItemDetailsDiv .d-md-block { display: block !important; }
    #kitItemDetailsDiv .d-md-flex { display: flex !important; }
    #kitItemDetailsDiv .flex-md-row { flex-direction: row !important; }
    #kitItemDetailsDiv .flex-md-column { flex-direction: column !important; }
    #kitItemDetailsDiv .order-md-first { order: -1 !important; }
    #kitItemDetailsDiv .order-md-last { order: 13 !important; }
    #kitItemDetailsDiv .col-md-1 { flex: 0 0 8.33333333%; max-width: 8.33333333%; }
    #kitItemDetailsDiv .col-md-2 { flex: 0 0 16.66666667%; max-width: 16.66666667%; }
    #kitItemDetailsDiv .col-md-3 { flex: 0 0 25.00000000%; max-width: 25.00000000%; }
    #kitItemDetailsDiv .col-md-4 { flex: 0 0 33.33333333%; max-width: 33.33333333%; }
    #kitItemDetailsDiv .col-md-5 { flex: 0 0 41.66666667%; max-width: 41.66666667%; }
    #kitItemDetailsDiv .col-md-6 { flex: 0 0 50.00000000%; max-width: 50.00000000%; }
    #kitItemDetailsDiv .col-md-7 { flex: 0 0 58.33333333%; max-width: 58.33333333%; }
    #kitItemDetailsDiv .col-md-8 { flex: 0 0 66.66666667%; max-width: 66.66666667%; }
    #kitItemDetailsDiv .col-md-9 { flex: 0 0 75.00000000%; max-width: 75.00000000%; }
    #kitItemDetailsDiv .col-md-10 { flex: 0 0 83.33333333%; max-width: 83.33333333%; }
    #kitItemDetailsDiv .col-md-11 { flex: 0 0 91.66666667%; max-width: 91.66666667%; }
    #kitItemDetailsDiv .col-md-12 { flex: 0 0 100.00000000%; max-width: 100.00000000%; }
    #kitItemDetailsDiv .offset-md-1 { margin-left: 8.33333333%; }
    #kitItemDetailsDiv .offset-md-2 { margin-left: 16.66666667%; }
    #kitItemDetailsDiv .offset-md-3 { margin-left: 25.00000000%; }
    #kitItemDetailsDiv .offset-md-4 { margin-left: 33.33333333%; }
    #kitItemDetailsDiv .offset-md-5 { margin-left: 41.66666667%; }
    #kitItemDetailsDiv .offset-md-6 { margin-left: 50.00000000%; }
    #kitItemDetailsDiv .offset-md-7 { margin-left: 58.33333333%; }
    #kitItemDetailsDiv .offset-md-8 { margin-left: 66.66666667%; }
    #kitItemDetailsDiv .offset-md-9 { margin-left: 75.00000000%; }
    #kitItemDetailsDiv .offset-md-10 { margin-left: 83.33333333%; }
    #kitItemDetailsDiv .offset-md-11 { margin-left: 91.66666667%; }
    #kitItemDetailsDiv .mt-md-0 { margin-top: 0 !important; }
    #kitItemDetailsDiv .mt-md-3 { margin-top: 1rem !important; }
    #kitItemDetailsDiv .mt-md-5 { margin-top: 3rem !important; }
    #kitItemDetailsDiv .mb-md-0 { margin-bottom: 0 !important; }
    #kitItemDetailsDiv .mb-md-3 { margin-bottom: 1rem !important; }
    #kitItemDetailsDiv .mb-md-5 { margin-bottom: 3rem !important; }
    #kitItemDetailsDiv .pt-md-0 { padding-top: 0 !important; }
    #kitItemDetailsDiv .pt-md-3 { padding-top: 1rem !important; }
    #kitItemDetailsDiv .pt-md-5 { padding-top: 3rem !important; }
    #kitItemDetailsDiv .pb-md-0 { padding-bottom: 0 !important; }
    #kitItemDetailsDiv .pb-md-3 { padding-bottom: 1rem !important; }
    #kitItemDetailsDiv .pb-md-5 { padding-bottom: 3rem !important; }
    #kitItemDetailsDiv .px-md-0 { padding-right: 0 !important; padding-left: 0 !important; }
}

@media (min-width: 992px) {
    #kitItemDetailsDiv .container { max-width: 960px; }
    #kitItemDetailsDiv .d-lg-none { display: none !important; }
    #kitItemDetailsDiv .d-lg-block { display: block !important; }
    #kitItemDetailsDiv .d-lg-flex { display: flex !important; }
    #kitItemDetailsDiv .flex-lg-row { flex-direction: row !important; }
    #kitItemDetailsDiv .flex-lg-column { flex-direction: column !important; }
    #kitItemDetailsDiv .order-lg-first { order: -1 !important; }
    #kitItemDetailsDiv .order-lg-last { order: 13 !important; }
    #kitItemDetailsDiv .col-lg-1 { flex: 0 0 8.33333333%; max-width: 8.33333333%; }
    #kitItemDetailsDiv .col-lg-2 { flex: 0 0 16.66666667%; max-width: 16.66666667%; }
    #kitItemDetailsDiv .col-lg-3 { flex: 0 0 25.00000000%; max-width: 25.00000000%; }
    #kitItemDetailsDiv .col-lg-4 { flex: 0 0 33.33333333%; max-width: 33.33333333%; }
    #kitItemDetailsDiv .col-lg-5 { flex: 0 0 41.66666667%; max-width: 41.66666667%; }
    #kitItemDetailsDiv .col-lg-6 { flex: 0 0 50.00000000%; max-width: 50.00000000%; }
    #kitItemDetailsDiv .col-lg-7 { flex: 0 0 58.33333333%; max-width: 58.33333333%; }
    #kitItemDetailsDiv .col-lg-8 { flex: 0 0 66.66666667%; max-width: 66.66666667%; }
    #kitItemDetailsDiv .col-lg-9 { flex: 0 0 75.00000000%; max-width: 75.00000000%; }
    #kitItemDetailsDiv .col-lg-10 { flex: 0 0 83.33333333%; max-width: 83.33333333%; }
    #kitItemDetailsDiv .col-lg-11 { flex: 0 0 91.66666667%; max-width: 91.66666667%; }
    #kitItemDetailsDiv .col-lg-12 { flex: 0 0 100.00000000%; max-width: 100.00000000%; }
    #kitItemDetailsDiv .offset-lg-1 { margin-left: 8.33333333%; }
    #kitItemDetailsDiv .offset-lg-2 { margin-left: 16.66666667%; }
    #kitItemDetailsDiv .offset-lg-3 { margin-left: 25.00000000%; }
    #kitItemDetailsDiv .offset-lg-4 { margin-left: 33.33333333%; }
    #kitItemDetailsDiv .offset-lg-5 { margin-left: 41.66666667%; }
    #kitItemDetailsDiv .offset-lg-6 { margin-left: 50.00000000%; }
    #kitItemDetailsDiv .offset-lg-7 { margin-left: 58.33333333%; }
    #kitItemDetailsDiv .offset-lg-8 { margin-left: 66.66666667%; }
    #kitItemDetailsDiv .offset-lg-9 { margin-left: 75.00000000%; }
    #kitItemDetailsDiv .offset-lg-10 { margin-left: 83.33333333%; }
    #kitItemDetailsDiv .offset-lg-11 { margin-left: 91.66666667%; }
    #kitItemDetailsDiv .mt-lg-0 { margin-top: 0 !important; }
    #kitItemDetailsDiv .mt-lg-3 { margin-top: 1rem !important; }
    #kitItemDetailsDiv .mt-lg-5 { margin-top: 3rem !important; }
    #kitItemDetailsDiv .mb-lg-0 { margin-bottom: 0 !important; }
    #kitItemDetailsDiv .mb-lg-3 { margin-bottom: 1rem !important; }
    #kitItemDetailsDiv .mb-lg-5 { margin-bottom: 3rem !important; }
    #kitItemDetailsDiv .pt-lg-0 { padding-top: 0 !important; }
    #kitItemDetailsDiv .pt-lg-3 { padding-top: 1rem !important; }
    #kitItemDetailsDiv .pt-lg-5 { padding-top: 3rem !important; }
    #kitItemDetailsDiv .pb-lg-0 { padding-bottom: 0 !important; }
    #kitItemDetailsDiv .pb-lg-3 { padding-bottom: 1rem !important; }
    #kitItemDetailsDiv .pb-lg-5 { padding-bottom: 3rem !important; }
    #kitItemDetailsDiv .px-lg-0 { padding-right: 0 !important; padding-left: 0 !important; }
}

@media (min-width: 1200px) {
    #kitItemDetailsDiv .container { max-width: 1140px; }
    #kitItemDetailsDiv .d-xl-none { display: none !important; }
    #kitItemDetailsDiv .d-xl-block { display: block !important; }
    #kitItemDetailsDiv .d-xl-flex { display: flex !important; }
    #kitItemDetailsDiv .flex-xl-row { flex-direction: row !important; }
    #kitItemDetailsDiv .flex-xl-column { flex-direction: column !important; }
    #kitItemDetailsDiv .order-xl-first { order: -1 !important; }
    #kitItemDetailsDiv .order-xl-last { order: 13 !important; }
    #kitItemDetailsDiv .col-xl-1 { flex: 0 0 8.33333333%; max-width: 8.33333333%; }
    #kitItemDetailsDiv .col-xl-2 { flex: 0 0 16.66666667%; max-width: 16.66666667%; }
    #kitItemDetailsDiv .col-xl-3 { flex: 0 0 25.00000000%; max-width: 25.00000000%; }
    #kitItemDetailsDiv .col-xl-4 { flex: 0 0 33.33333333%; max-width: 33.33333333%; }
    #kitItemDetailsDiv .col-xl-5 { flex: 0 0 41.66666667%; max-width: 41.66666667%; }
    #kitItemDetailsDiv .col-xl-6 { flex: 0 0 50.00000000%; max-width: 50.00000000%; }
    #kitItemDetailsDiv .col-xl-7 { flex: 0 0 58.33333333%; max-width: 58.33333333%; }
    #kitItemDetailsDiv .col-xl-8 { flex: 0 0 66.66666667%; max-width: 66.66666667%; }
    #kitItemDetailsDiv .col-xl-9 { flex: 0 0 75.00000000%; max-width: 75.00000000%; }
    #kitItemDetailsDiv .col-xl-10 { flex: 0 0 83.33333333%; max-width: 83.33333333%; }
    #kitItemDetailsDiv .col-xl-11 { flex: 0 0 91.66666667%; max-width: 91.66666667%; }
    #kitItemDetailsDiv .col-xl-12 { flex: 0 0 100.00000000%; max-width: 100.00000000%; }
    #kitItemDetailsDiv .offset-xl-1 { margin-left: 8.33333333%; }
    #kitItemDetailsDiv .offset-xl-2 { margin-left: 16.66666667%; }
    #kitItemDetailsDiv .offset-xl-3 { margin-left: 25.00000000%; }
    #kitItemDetailsDiv .offset-xl-4 { margin-left: 33.33333333%; }
    #kitItemDetailsDiv .offset-xl-5 { margin-left: 41.66666667%; }
    #kitItemDetailsDiv .offset-xl-6 { margin-left: 50.00000000%; }
    #kitItemDetailsDiv .offset-xl-7 { margin-left: 58.33333333%; }
    #kitItemDetailsDiv .offset-xl-8 { margin-left: 66.66666667%; }
    #kitItemDetailsDiv .offset-xl-9 { margin-left: 75.00000000%; }
    #kitItemDetailsDiv .offset-xl-10 { margin-left: 83.33333333%; }
    #kitItemDetailsDiv .offset-xl-11 { margin-left: 91.66666667%; }
    #kitItemDetailsDiv .mt-xl-0 { margin-top: 0 !important; }
    #kitItemDetailsDiv .mt-xl-3 { margin-top: 1rem !important; }
    #kitItemDetailsDiv .mt-xl-5 { margin-top: 3rem !important; }
    #kitItemDetailsDiv .mb-xl-0 { margin-bottom: 0 !important; }
    #kitItemDetailsDiv .mb-xl-3 { margin-bottom: 1rem !important; }
    #kitItemDetailsDiv .mb-xl-5 { margin-bottom: 3rem !important; }
    #kitItemDetailsDiv .pt-xl-0 { padding-top: 0 !important; }
    #kitItemDetailsDiv .pt-xl-3 { padding-top: 1rem !important; }
    #kitItemDetailsDiv .pt-xl-5 { padding-top: 3rem !important; }
    #kitItemDetailsDiv .pb-xl-0 { padding-bottom: 0 !important; }
    #kitItemDetailsDiv .pb-xl-3 { padding-bottom: 1rem !important; }
    #kitItemDetailsDiv .pb-xl-5 { padding-bottom: 3rem !important; }
    #kitItemDetailsDiv .px-xl-0 { padding-right: 0 !important; padding-left: 0 !important; }
}


@media (min-width: 1400px) {
    #kitItemDetailsDiv .container {
        max-width: 1280px;
    }
}



/* V19: Visage Collection content, driven by the legacy HTML stored in LongDetail2. */
#full-product-information #long-desc { width:100%; max-width:1200px; margin-inline:auto; }
#full-product-information #long-desc img, #kitItemDetailsDiv img { max-width:100%; height:auto; }
#full-product-information #long-desc .position-absolute, #kitItemDetailsDiv .position-absolute { position:absolute !important; }
#full-product-information #long-desc .position-relative, #kitItemDetailsDiv .position-relative { position:relative !important; }
#full-product-information #long-desc .text-white, #kitItemDetailsDiv .text-white { color:#fff !important; }
#full-product-information #long-desc .text-black, #kitItemDetailsDiv .text-black { color:#171717 !important; }
#full-product-information #long-desc .text-uppercase, #kitItemDetailsDiv .text-uppercase { text-transform:uppercase !important; }
#full-product-information #long-desc .font-weight-bold, #kitItemDetailsDiv .font-weight-bold { font-weight:700 !important; }
#full-product-information #long-desc .font-white, #kitItemDetailsDiv .font-white { color:#fff !important; }
#full-product-information #long-desc .fs10, #kitItemDetailsDiv .fs10 { font-size:10px !important; }
#full-product-information #long-desc .fs12, #kitItemDetailsDiv .fs12 { font-size:12px !important; }
#full-product-information #long-desc .fs14, #kitItemDetailsDiv .fs14 { font-size:14px !important; }
#full-product-information #long-desc .fs16, #kitItemDetailsDiv .fs16 { font-size:16px !important; }
#full-product-information #long-desc .fs18, #kitItemDetailsDiv .fs18 { font-size:18px !important; }
#full-product-information #long-desc .fs20, #kitItemDetailsDiv .fs20 { font-size:20px !important; }
#full-product-information #long-desc .fs32, #kitItemDetailsDiv .fs32 { font-size:32px !important; }
#full-product-information #long-desc .fs48, #kitItemDetailsDiv .fs48 { font-size:clamp(26px,3.7vw,48px) !important; }
#full-product-information #long-desc .h-33, #kitItemDetailsDiv .h-33 { flex:0 0 33.333%; min-height:0; padding-bottom:1rem; }
#full-product-information #long-desc #different .row { align-items:center; }
#full-product-information #long-desc #different .h-33 { height:auto; }
#full-product-information #long-desc #different .h-33 > img { max-width:85px; object-fit:contain; }
#full-product-information #long-desc #different .d-flex.h-33 img { width:auto; max-width:25px; max-height:22px; }
#full-product-information #long-desc #set-components .col-sm { position:relative; flex:1 1 50%; width:50%; min-width:0; max-width:50%; }
#full-product-information #long-desc .fade-in-wrapper { position:relative; overflow:hidden; isolation:isolate; }
#full-product-information #long-desc .fade-in-wrapper > img { display:block; width:100%; height:auto; aspect-ratio:1.2; object-fit:cover; }
#full-product-information #long-desc .fade-in-wrapper .item-title { position:absolute; z-index:2; top:7%; left:0; width:100%; padding:clamp(15px,3vw,45px); pointer-events:none; }
#full-product-information #long-desc .step-count { display:inline-block; padding:6px 18px; border:1px solid #fff !important; border-radius:40px; color:#fff !important; font-size:12px; text-decoration:none; }
#full-product-information #long-desc .fade-in-overlay { position:absolute; z-index:3; inset:auto 0 0; min-height:55%; max-height:100%; display:flex; align-items:flex-end; opacity:0; padding:clamp(15px,3vw,35px); background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.64) 75%,transparent); transition:opacity .25s ease; overflow-y:auto; }
#full-product-information #long-desc .fade-in-overlay > div { margin:0 !important; width:100%; }
#full-product-information #long-desc .fade-in-wrapper:hover .fade-in-overlay, #full-product-information #long-desc .fade-in-wrapper:focus-within .fade-in-overlay { opacity:1; }
#full-product-information #long-desc #set-components-mobile .col-sm { position:relative; min-width:0; }
#full-product-information #long-desc #set-components-mobile .col-sm > img { display:block; width:100%; height:auto; }
#full-product-information #long-desc .item-title-mobile { position:absolute; top:5%; left:0; padding:clamp(16px,5vw,30px); width:100%; }
#full-product-information #long-desc .set-item-mobile { position:absolute; bottom:16px; left:0; right:0; padding:clamp(14px,4vw,28px); background:linear-gradient(0deg,rgba(0,0,0,.68),transparent); }
#full-product-information #long-desc .set-item-mobile p, #full-product-information #long-desc .set-item-mobile li { color:#fff; font-size:clamp(11px,3.1vw,15px); line-height:1.4; }
#full-product-information #long-desc #reviews .customer-reviews:not(.owl-loaded) { display:flex; gap:16px; max-width:100%; overflow-x:auto; scroll-snap-type:x mandatory; }
#full-product-information #long-desc #reviews .customer-reviews:not(.owl-loaded) > .item { scroll-snap-align:start; flex:0 0 min(88vw,320px); max-width:320px; }
#full-product-information #long-desc .reviews { background:#f1e9f2; padding:clamp(20px,4vw,50px); }
#full-product-information #long-desc #neurocosmetic-101-desktop > img, #full-product-information #long-desc #neurocosmetic-101-tablet > img { display:block; width:100%; height:auto; }
#full-product-information #long-desc [id^=neurocosmetic-101] .position-absolute { left:0; right:0; }
#full-product-information #long-desc [id^=neurocosmetic-101] h1 { line-height:1.13; }
#full-product-information #long-desc [id^=neurocosmetic-101] p { line-height:1.5; }
@media (max-width:767.98px) {
 #full-product-information #long-desc .set-item-mobile { position:relative; bottom:auto; background:#15291f; }
 #full-product-information #long-desc .item-title-mobile { top:clamp(14px,7%,45px); }
 #full-product-information #long-desc .item-title-mobile h3 { font-size:clamp(18px,5vw,26px); }
 #full-product-information #long-desc .reviews-title { padding:0; }
}
@media (min-width:768px) and (max-width:1199.98px) {
 #full-product-information #long-desc #set-components .col-sm { flex-basis:50%; max-width:50%; }
 #full-product-information #long-desc .fade-in-overlay { min-height:65%; padding:16px; }
 #full-product-information #long-desc .fade-in-overlay p, #full-product-information #long-desc .fade-in-overlay li { font-size:clamp(10px,1.15vw,13px); }
 #full-product-information #long-desc #neurocosmetic-101-tablet .position-absolute { margin-top:clamp(15px,4vw,50px) !important; }
}
@media (hover:none) and (min-width:768px) {
 #full-product-information #long-desc .fade-in-overlay { opacity:1; position:relative; background:#17291f; min-height:0; }
}
/* V19: the modal is a large standalone product-detail document, not a small dialog. */
#kit-item-details { padding:clamp(8px,1.4vw,22px); }
#kit-item-details .modal-dialog.modal-lg { width:min(100%,1200px); max-width:1200px; min-height:0; margin:16px auto; display:block; }
#kit-item-details .modal-content { max-height:calc(100dvh - 32px); border-radius:12px !important; }
#kit-item-details .modal-header { min-height:55px; padding:8px 18px; }
#kit-item-details .modal-body { padding:0; min-height:0; overscroll-behavior:contain; }
#kit-item-details .modal-footer { justify-content:flex-end; flex-wrap:wrap; gap:8px; padding:12px 20px !important; }
#kit-item-details .modal-footer .btn { margin:0 !important; }
#kitItemDetailsDiv { width:100%; max-width:100%; overflow-x:clip; }
#kitItemDetailsDiv .container { max-width:min(100%,1140px); }
#kitItemDetailsDiv .position-relative > img.img-fluid { display:block; width:100%; height:auto; }
#kitItemDetailsDiv .position-relative .position-absolute { left:0; right:0; max-width:100%; }
#kitItemDetailsDiv .position-relative .position-absolute[style*="left:55%"] { left:55%; right:0; max-width:45%; }
#kitItemDetailsDiv iframe { max-width:100%; }
#kitItemDetailsDiv .col-sm-12, #kitItemDetailsDiv .col-md-6, #kitItemDetailsDiv .col-lg-4 { min-width:0; }
#kitItemDetailsDiv #steps, #kitItemDetailsDiv #ingredients { padding-block:20px; }
#kitItemDetailsDiv .font-w-700 { font-weight:700; }
#kitItemDetailsDiv ul { padding-left:1.4rem; }
@media (max-width:767.98px) {
 #kit-item-details .modal-dialog.modal-lg { margin:4px auto; }
 #kit-item-details .modal-content { max-height:calc(100dvh - 18px); }
 #kit-item-details .modal-footer { padding:10px !important; }
 #kit-item-details .modal-footer .btn { flex:1 1 125px; padding:9px; }
 #kitItemDetailsDiv #neurocosmetic-101-mobile > .position-absolute { left:0; right:0; padding:12px; }
 #kitItemDetailsDiv #neurocosmetic-101-mobile h1 { font-size:clamp(20px,5vw,32px); }
}


/* === V20: legacy wellness content refinements, scoped to rebuilt product page === */
/* Short-description icon groups can contain 3, 4, or 5 items. Never stack them as a single column. */
.product-description-extra > .d-flex,
.product-description-extra > .d-flex.justify-content-around,
.product-description-extra > div > .d-flex.justify-content-around {
  display:grid !important; grid-template-columns:repeat(auto-fit,minmax(76px,1fr));
  align-items:start; gap:12px; width:100%; margin-top:16px !important;
}
.product-description-extra > .d-flex > .text-center,
.product-description-extra > div > .d-flex > .text-center { min-width:0; text-align:center; }
.product-description-extra > .d-flex img,
.product-description-extra > div > .d-flex img { display:block; margin:0 auto 10px; width:auto; max-width:100%; max-height:64px; object-fit:contain; }
.product-description-extra > .d-flex p,
.product-description-extra > div > .d-flex p { margin:0; line-height:1.3 !important; font-size:clamp(11px,1vw,14px); }
@media(max-width:460px) { .product-description-extra > .d-flex, .product-description-extra > .d-flex.justify-content-around { gap:8px; grid-template-columns:repeat(auto-fit,minmax(68px,1fr)); } }
/* Multi-product key benefits: progressive disclosure generated from pre-existing alternating text and lists. */
.purchase-benefits.v20-benefit-groups { display:grid; gap:8px; align-content:start; }
.purchase-benefits .v20-benefits-intro { margin:0 0 8px; }
.purchase-benefits .v20-benefit-group { border:1px solid #e4e8e3; border-radius:10px; background:#fff; overflow:hidden; }
.purchase-benefits .v20-benefit-group summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 15px; cursor:pointer; font-weight:700; color:#182c20; list-style:none; }
.purchase-benefits .v20-benefit-group summary::-webkit-details-marker { display:none; }
.purchase-benefits .v20-benefit-group summary::after { content:'+'; flex:0 0 auto; font-size:22px; font-weight:400; }
.purchase-benefits .v20-benefit-group[open] summary::after { content:'−'; }
.purchase-benefits .v20-benefit-group[open] summary { background:#f0f6f1; }
.purchase-benefits .v20-benefit-group ul { margin:0; padding:10px 20px 16px 34px; line-height:1.55; }
.purchase-benefits .v20-benefit-group li { margin:0 0 7px; }
.purchase-benefits .v20-benefit-group summary:focus-visible { outline:2px solid #26734c; outline-offset:-3px; }
.purchase-benefits:not(.v20-benefit-groups) > ul { margin:8px 0 18px; }
/* Side-by-side HOW TO USE: same track height regardless of text or intrinsic image size. */
#full-product-information #long-desc #how-to-use,
#kitItemDetailsDiv #how-to-use { margin-block:clamp(24px,4vw,54px) !important; }
#full-product-information #long-desc #how-to-use > .container > .row,
#kitItemDetailsDiv #how-to-use > .container > .row { align-items:stretch !important; }
#full-product-information #long-desc #how-to-use > .container > .row > :not(.d-none),
#kitItemDetailsDiv #how-to-use > .container > .row > :not(.d-none) { min-width:0; }
#full-product-information #long-desc #how-to-use > .container > .row > .col-md-6:not(.d-none),
#kitItemDetailsDiv #how-to-use > .container > .row > .col-md-6:not(.d-none) { align-items:stretch !important; }
#full-product-information #long-desc #how-to-use > .container > .row > .col-md-6 > img,
#kitItemDetailsDiv #how-to-use > .container > .row > .col-md-6 > img { display:block; width:100%; height:100%; min-height:100%; object-fit:cover; object-position:center top; }
#full-product-information #long-desc #how-to-use > .container > .row > .col-md-6 > .col-sm-12,
#kitItemDetailsDiv #how-to-use > .container > .row > .col-md-6 > .col-sm-12 { display:flex; flex:1 1 auto; width:100%; min-height:100%; box-sizing:border-box; padding:clamp(20px,2.6vw,44px) !important; }
#full-product-information #long-desc #how-to-use .avenir1 > .d-flex.flex-column,
#kitItemDetailsDiv #how-to-use .avenir1 > .d-flex.flex-column { gap:clamp(10px,1.5vw,22px) !important; }
#full-product-information #long-desc #how-to-use .avenir1 > .d-flex.flex-column > .d-flex,
#kitItemDetailsDiv #how-to-use .avenir1 > .d-flex.flex-column > .d-flex { gap:12px !important; }
#full-product-information #long-desc #how-to-use .avenir1 > .d-flex.flex-column > .d-flex > div:first-child,
#kitItemDetailsDiv #how-to-use .avenir1 > .d-flex.flex-column > .d-flex > div:first-child { flex:0 0 50px; }
@media(max-width:767.98px) {
 #full-product-information #long-desc #how-to-use > .container > .row > .col-md-6 > img,
 #kitItemDetailsDiv #how-to-use > .container > .row > .col-md-6 > img { height:auto; min-height:0; max-height:560px; object-fit:cover; }
 #full-product-information #long-desc #how-to-use > .container > .row > .col-md-6 > .col-sm-12,
 #kitItemDetailsDiv #how-to-use > .container > .row > .col-md-6 > .col-sm-12 { min-height:0; }
}
/* Preserve breathing room for video, while respecting any legacy inline py-0 classes. */
#full-product-information #long-desc #video,
#kitItemDetailsDiv #video { margin-block:clamp(28px,4.5vw,64px) !important; padding-block:0 !important; }
#full-product-information #long-desc #video iframe,
#kitItemDetailsDiv #video iframe { border:0; }
/* Width of the Super Serum results section: five evenly spaced visual cells, not 2/12 columns with excessive gaps. */
#full-product-information #long-desc .row.avenir1.justify-content-around.text-center:has(img[src*="results-ring"]),
#kitItemDetailsDiv .row.avenir1.justify-content-around.text-center:has(img[src*="results-ring"]) { display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(8px,1.5vw,22px); margin-inline:0 !important; align-items:start; }
#full-product-information #long-desc .row.avenir1.justify-content-around.text-center:has(img[src*="results-ring"]) > *,
#kitItemDetailsDiv .row.avenir1.justify-content-around.text-center:has(img[src*="results-ring"]) > * { max-width:none !important; width:100%; padding-inline:2px !important; margin-left:0 !important; flex:none !important; }
#full-product-information #long-desc .row.avenir1.justify-content-around.text-center:has(img[src*="results-ring"]) img,
#kitItemDetailsDiv .row.avenir1.justify-content-around.text-center:has(img[src*="results-ring"]) img { max-width:100%; height:auto; }
@media(max-width:991.98px) {
 #full-product-information #long-desc .row.avenir1.justify-content-around.text-center:has(img[src*="results-ring"]),
 #kitItemDetailsDiv .row.avenir1.justify-content-around.text-center:has(img[src*="results-ring"]) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
/* Testimonials: all reviews can be read directly; no horizontal carousel scrolling. */
#full-product-information #long-desc #reviews .customer-reviews.v20-testimonial-grid,
#full-product-information #long-desc #reviews .customer-reviews:not(.owl-loaded) { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); align-items:stretch; gap:clamp(12px,2vw,24px); width:100%; max-width:none; overflow:visible !important; scroll-snap-type:none; }
#full-product-information #long-desc #reviews .customer-reviews.v20-testimonial-grid > .item,
#full-product-information #long-desc #reviews .customer-reviews:not(.owl-loaded) > .item { width:auto !important; max-width:none !important; min-width:0; margin:0 !important; flex:none; padding:20px !important; background:#fff; border-radius:12px; }
#full-product-information #long-desc #reviews .customer-reviews .item p { overflow-wrap:anywhere; }
/* Reveal all steps immediately. Hover/focus provides a subtle highlight instead of hiding text. */
#full-product-information #long-desc #set-components .fade-in-overlay { position:relative !important; inset:auto !important; height:auto !important; min-height:0 !important; max-height:none !important; padding:16px clamp(16px,2vw,28px) !important; opacity:1 !important; overflow:visible !important; background:#173e32 !important; transition:background .2s ease,box-shadow .2s ease !important; }
#full-product-information #long-desc #set-components .fade-in-overlay:hover,
#full-product-information #long-desc #set-components .fade-in-wrapper:focus-within .fade-in-overlay { background:#205d47 !important; box-shadow:inset 0 0 0 2px #b9e9c2; }
#full-product-information #long-desc #set-components .fade-in-overlay > div { margin:0 !important; }
#full-product-information #long-desc #set-components .fade-in-overlay p,
#full-product-information #long-desc #set-components .fade-in-overlay li { color:#fff; font-size:clamp(12px,1.05vw,15px); line-height:1.45; }
#full-product-information #long-desc #set-components .fade-in-wrapper { display:flex; flex-direction:column; height:100%; background:#173e32; }
#full-product-information #long-desc #set-components .fade-in-wrapper > img { flex:none; aspect-ratio:1.6; }
#full-product-information #long-desc #set-components .fade-in-wrapper .item-title { top:4%; }
#full-product-information #long-desc #set-components .row { align-items:stretch; }
#full-product-information #long-desc #set-components .col-sm { display:flex; flex-direction:column; }
@media(max-width:767.98px){#full-product-information #long-desc #set-components-mobile .set-item-mobile { position:relative !important; height:auto !important; overflow:visible !important; background:#173e32 !important; }}

#full-product-information #long-desc .row.v20-results-grid, #kitItemDetailsDiv .row.v20-results-grid { display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(8px,1.5vw,22px); margin-inline:0 !important; align-items:start; }
#full-product-information #long-desc .row.v20-results-grid > *, #kitItemDetailsDiv .row.v20-results-grid > * { max-width:none !important; width:100%; padding-inline:2px !important; margin-left:0 !important; flex:none !important; }
@media(max-width:991.98px){#full-product-information #long-desc .row.v20-results-grid,#kitItemDetailsDiv .row.v20-results-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}


/* V21 — legacy product content responsive polish. All selectors intentionally scoped. */
@font-face{font-family:Romie;src:url('/Assets/fonts/Romie-Regular.otf') format('opentype');font-display:swap}
@font-face{font-family:'Altform TRIAL';src:url('/Assets/fonts/Altform-Regular.otf') format('opentype');font-display:swap}
@font-face{font-family:Avenir;src:url('/Assets/fonts/Avenir.ttf') format('truetype');font-display:swap}
@font-face{font-family:'Avenir Black';src:url('/Assets/fonts/Avenir-Black.ttf') format('truetype');font-display:swap}
@font-face{font-family:'Avenir Medium';src:url('/Assets/fonts/Avenir-Medium.ttf') format('truetype');font-display:swap}
#full-product-information #long-desc .romie1,#kitItemDetailsDiv .romie1{font-family:Romie,'Times New Roman',serif !important;font-weight:400;letter-spacing:normal}
#full-product-information #long-desc .altform1,#kitItemDetailsDiv .altform1{font-family:'Altform TRIAL',Arial,sans-serif}
#full-product-information #long-desc .avenir1,#kitItemDetailsDiv .avenir1{font-family:Avenir,Arial,sans-serif}
#full-product-information #long-desc h1,#kitItemDetailsDiv h1{font-size:clamp(1.65rem,3vw,2.85rem);line-height:1.16;overflow-wrap:break-word}
#full-product-information #long-desc h1.romie1,#kitItemDetailsDiv h1.romie1{font-size:clamp(1.8rem,3.6vw,3rem)}
#full-product-information #long-desc h2.romie1,#kitItemDetailsDiv h2.romie1{font-size:clamp(1.55rem,2.7vw,2.65rem);line-height:1.2}
#full-product-information #long-desc :is(h1,h2,h3),#kitItemDetailsDiv :is(h1,h2,h3){max-width:100%}
/* Restore the intended full row for the introductory Powerful Ingredients heading. */
#full-product-information #long-desc .row.mx-md-4 > .col-xl-5:has(> h2.romie1),
#kitItemDetailsDiv .row.mx-md-4 > .col-xl-5:has(> h2.romie1){flex:0 0 100% !important;width:100%;max-width:100%;}
#full-product-information #long-desc .row.mx-md-4 > .col-xl-5 > h2.romie1,
#kitItemDetailsDiv .row.mx-md-4 > .col-xl-5 > h2.romie1{max-width:100%;margin-bottom:clamp(12px,2vw,24px) !important;}
/* Space nested ingredients; protect any two-column legacy editorial blocks. */
#full-product-information #long-desc .col-lg-6 > .row > .col-md-6,
#kitItemDetailsDiv .col-lg-6 > .row > .col-md-6{padding-bottom:clamp(16px,2vw,26px)}
#full-product-information #long-desc .col-lg-6 > .row > .col-md-6 h3,
#kitItemDetailsDiv .col-lg-6 > .row > .col-md-6 h3{margin-bottom:10px !important;line-height:1.35}
#full-product-information #long-desc .col-lg-6 > .row > .col-md-6 p,
#kitItemDetailsDiv .col-lg-6 > .row > .col-md-6 p{margin-bottom:8px;line-height:1.65}
/* Routine cards: step icon must not touch heading; text must not touch adjacent cards. */
#full-product-information #long-desc #steps .row,
#kitItemDetailsDiv #steps .row{row-gap:clamp(22px,3vw,38px)}
#full-product-information #long-desc #steps .row > [class*='col-'],
#kitItemDetailsDiv #steps .row > [class*='col-']{min-width:0;padding-bottom:8px}
#full-product-information #long-desc #steps .row > [class*='col-'] > img,
#kitItemDetailsDiv #steps .row > [class*='col-'] > img{display:block;max-height:48px;width:auto;margin-bottom:16px !important;object-fit:contain}
#full-product-information #long-desc #steps h3,
#kitItemDetailsDiv #steps h3{margin:0 0 12px !important;line-height:1.4}
#full-product-information #long-desc #steps p,
#kitItemDetailsDiv #steps p{margin:0;line-height:1.65}
/* V20 mistakenly moved collection copy under its images. Keep visible overlay with subtle emphasis. */
#full-product-information #long-desc #set-components .fade-in-wrapper{display:block !important;position:relative;isolation:isolate;overflow:hidden;height:auto;background:#152b22}
#full-product-information #long-desc #set-components .fade-in-wrapper > img{display:block;width:100%;height:auto;aspect-ratio:1.05;object-fit:cover}
#full-product-information #long-desc #set-components .fade-in-overlay{position:absolute !important;inset:auto 0 0 !important;z-index:3;display:flex;align-items:flex-end;opacity:1 !important;width:100%;height:auto !important;min-height:0 !important;max-height:74% !important;padding:clamp(12px,1.9vw,27px) !important;background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.74) 73%,transparent) !important;overflow:visible !important;box-shadow:none;transition:background .22s ease,box-shadow .22s ease !important}
#full-product-information #long-desc #set-components .fade-in-overlay > div{margin:0 !important;max-width:100%}
#full-product-information #long-desc #set-components .fade-in-overlay p,
#full-product-information #long-desc #set-components .fade-in-overlay li{font-size:clamp(11px,1.05vw,14px);line-height:1.4;margin-bottom:5px}
#full-product-information #long-desc #set-components .fade-in-wrapper:is(:hover,:focus-within) .fade-in-overlay{background:linear-gradient(0deg,rgba(13,82,56,.97),rgba(8,61,44,.87) 80%,transparent) !important;box-shadow:inset 0 0 0 2px #b9e9c2}
#full-product-information #long-desc #set-components .fade-in-wrapper .item-title{top:2%;padding:clamp(12px,2vw,28px)}
#full-product-information #long-desc #set-components .fade-in-wrapper .item-title h3{font-size:clamp(15px,1.5vw,23px);line-height:1.2}
/* Legacy rows/images remain within viewport while preserving inner editorial content. */
#full-product-information,#full-product-information .legacy-product-information__content,
#full-product-information #long-desc,#kitItemDetailsDiv{min-width:0;max-width:100%;}
#full-product-information #long-desc > *,#kitItemDetailsDiv > *{max-width:100%;min-width:0}
#full-product-information #long-desc .row,#kitItemDetailsDiv .row{min-width:0;max-width:calc(100% + 30px)}
#full-product-information #long-desc .row > *,#kitItemDetailsDiv .row > *{min-width:0}
#full-product-information #long-desc img,#kitItemDetailsDiv img{max-width:100%;}
#full-product-information #long-desc :is(iframe,video),#kitItemDetailsDiv :is(iframe,video){max-width:100%}
@media(max-width:767.98px){
  #full-product-information .legacy-product-information__content{width:100%;padding-inline:0 !important;overflow-x:clip}
  #full-product-information #long-desc,#kitItemDetailsDiv{width:100%;overflow-x:clip}
  #full-product-information #long-desc .container,#kitItemDetailsDiv .container{width:100%;max-width:100%;min-width:0;padding-left:clamp(12px,4vw,20px);padding-right:clamp(12px,4vw,20px)}
  #full-product-information #long-desc .row,#kitItemDetailsDiv .row{flex:0 1 auto;max-width:calc(100% + 30px)}
  #full-product-information #long-desc h1,#kitItemDetailsDiv h1{font-size:clamp(1.5rem,6vw,2.2rem)}
  #full-product-information #long-desc h1.romie1,#kitItemDetailsDiv h1.romie1{font-size:clamp(1.65rem,6.5vw,2.4rem)}
  #full-product-information #long-desc h2.romie1,#kitItemDetailsDiv h2.romie1{font-size:clamp(1.45rem,5.7vw,2rem)}
  #full-product-information #long-desc .position-absolute:not(.item-title-mobile){max-width:100%}
  #full-product-information #long-desc #steps .row > [class*='col-'],#kitItemDetailsDiv #steps .row > [class*='col-']{padding-inline:12px}
  #full-product-information #long-desc #set-components-mobile .item-title-mobile{top:3%;padding:clamp(12px,4vw,20px)}
}
@media(min-width:768px) and (max-width:1100px){
  #full-product-information #long-desc #set-components .fade-in-wrapper > img{aspect-ratio:.9}
  #full-product-information #long-desc #set-components .fade-in-overlay{max-height:82% !important;padding:12px !important}
  #full-product-information #long-desc #set-components .fade-in-overlay p,#full-product-information #long-desc #set-components .fade-in-overlay li{font-size:11px;line-height:1.32}
}


/* V22: restore the bounded desktop frame for legacy product information.
   V21 accidentally allowed the outer product section (including full-bleed
   CMS rows/backgrounds) to consume the entire desktop viewport. Constrain
   the section itself rather than relying solely on its inner #long-desc.
   The kit modal retains its independently sized dialog. */
#full-product-information.legacy-product-information {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 1200px;
  min-width: 0;
  margin-left: auto;
  margin-right: auto;
  overflow-x: clip;
}
#full-product-information .legacy-product-information__heading,
#full-product-information .legacy-product-information__content,
#full-product-information #long-desc {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767.98px) {
  #full-product-information.legacy-product-information {
    width: 100%;
    max-width: 100%;
  }
}


/* ========================================================================
   V23 - scoped layout containment and faithful legacy component rendering.
   Do not re-introduce Bootstrap or globally change Owl on unrelated pages.
   ======================================================================== */

/* A product panel must never enlarge the MOBILE layout viewport. Content
   overflow is fixed at source, not by reducing the browser's effective width. */
@media (max-width:767.98px) {
  html:has(body.three-reference-page),
  body.three-reference-page { width:100%; max-width:100%; overflow-x:clip; }
  body.three-reference-page .product-breadcrumb,
  body.three-reference-page .product-detail,
  body.three-reference-page .product-anchor-nav,
  body.three-reference-page .product-editorial,
  body.three-reference-page .ingredient-section,
  body.three-reference-page #full-product-information {
    box-sizing:border-box; width:100%; max-width:100%; min-width:0;
  }
  body.three-reference-page .product-detail {
    /* The desktop gallery/purchase grid must fully collapse at phone widths. */
    grid-template-columns:minmax(0,1fr) !important;
  }
  body.three-reference-page .product-detail > .product-gallery,
  body.three-reference-page .product-detail > .purchase-panel,
  body.three-reference-page .product-detail .purchase-panel,
  body.three-reference-page .product-detail .product-gallery,
  body.three-reference-page .product-detail .gallery-main,
  body.three-reference-page .product-detail .gallery-thumbnails,
  body.three-reference-page .product-detail .purchase-actions,
  body.three-reference-page .product-detail .purchase-trust,
  body.three-reference-page .product-detail .product-upsell,
  body.three-reference-page .product-detail .product-upsell__content,
  body.three-reference-page .product-detail .product-upsell__actions,
  body.three-reference-page .product-editorial > * {
    min-width:0; max-width:100%; box-sizing:border-box;
  }
  body.three-reference-page .product-detail .product-upsell {
    grid-template-columns:minmax(0,88px) minmax(0,1fr) !important;
  }
  body.three-reference-page .product-detail .product-upsell__actions {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  }
  body.three-reference-page .product-detail .product-upsell :is(h3,p,span),
  body.three-reference-page .product-detail .purchase-panel :is(h1,h2,h3,p) {
    overflow-wrap:break-word;
  }
  body.three-reference-page .product-gallery img,
  body.three-reference-page .product-editorial img {max-width:100%;height:auto;}
  body.three-reference-page #full-product-information #long-desc,
  body.three-reference-page #full-product-information #long-desc > * {width:100%;max-width:100%;}
  body.three-reference-page #full-product-information #long-desc :is(.row,[class*="col-"]) {min-width:0;}
}

/* Give centered CTA pills their intended internal padding. Inline 300px
   legacy widths should never force a 320px device to scroll. */
:is(#full-product-information #long-desc,#kitItemDetailsDiv) a.page-scroll.btn {
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:min(300px,100%) !important;
  max-width:100%;
  min-height:48px;
  padding:12px 28px !important;
  line-height:1.35;
  text-align:center;
  white-space:normal;
}

/* Éternel desktop infographic: the CMS labels are absolutely positioned
   relative to the CENTER of the image. A 50%-width floated/left-aligned
   image is the reason labels overlap the woman's portrait. */
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #why-love-eternel-desktop {
  width:100%; max-width:100%; margin-inline:auto; text-align:center !important;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #why-love-eternel-desktop > .position-relative {
  display:block; width:100%; max-width:1140px; margin-inline:auto;
  position:relative; text-align:center !important;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #why-love-eternel-desktop > .position-relative > img {
  display:block !important;
  float:none !important;
  width:min(512px,52%) !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 auto !important;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #why-love-eternel-desktop .text-left,
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #why-love-eternel-desktop .text-right {
  position:static; width:auto; max-width:none; margin:0;
}
/* Labels keep their CMS-provided top/bottom/left/right coordinates; simply
   ensure the containing boxes never acquire a grid/flex displacement. */
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #why-love-eternel-desktop [id^="text-l-"],
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #why-love-eternel-desktop [id^="text-r-"] {
  position:absolute !important; width:max-content; max-width:26%;
  line-height:1.45 !important; overflow-wrap:normal;
}
@media (min-width:768px) and (max-width:991.98px) {
  /* The original 992px breakpoint assumes the captions have 240px on either
     side; prevent overlaps on tablet while preserving the image at center. */
  :is(#full-product-information #long-desc,#kitItemDetailsDiv) #why-love-eternel-desktop [id^="text-l-"] {right:calc(50% + 160px) !important;}
  :is(#full-product-information #long-desc,#kitItemDetailsDiv) #why-love-eternel-desktop [id^="text-r-"] {left:calc(50% + 160px) !important;}
}
/* Éternel feature cards: only this named component gets a true carousel.
   The other legacy Owl rails/testimonials retain their current behavior. */
:is(#full-product-information #long-desc,#kitItemDetailsDiv) .three-features-carousel {
  --three-feature-accent:#555;
  position:relative; width:min(100%,960px); max-width:100%;
  margin:20px auto 8px; padding:0 clamp(25px,4vw,50px);
  box-sizing:border-box;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #product-features.three-feature-rail {
  display:flex !important; flex-wrap:nowrap !important;
  width:100% !important; min-width:0; max-width:100% !important;
  gap:10px; margin:0 auto !important; padding:0 !important;
  overflow-x:auto !important; scroll-snap-type:x mandatory;
  overscroll-behavior-inline:contain; scrollbar-width:none;
  scroll-behavior:smooth;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #product-features.three-feature-rail::-webkit-scrollbar {display:none;}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #product-features.three-feature-rail > .item {
  flex:0 0 calc((100% - 20px)/3) !important;
  box-sizing:border-box; width:auto !important; min-width:0; max-width:none !important;
  min-height:275px; height:275px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:18px 14px; margin:0 !important;
  border:1px solid #c8c8c8; border-radius:30px;
  background:#fafafa; color:#202424;
  scroll-snap-align:center;
  transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #product-features.three-feature-rail > .item > div {
  width:100%; margin:0 !important; display:flex; min-height:0;
  flex-direction:column; justify-content:center; align-items:center;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #product-features.three-feature-rail > .item img {
  display:block; margin:0 auto 20px !important; flex:0 0 auto;
  width:auto !important; height:74px !important; max-width:90px !important;
  object-fit:contain;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #product-features.three-feature-rail > .item .romie1 {
  margin:0 0 15px !important; font-family:Romie,Georgia,serif !important;
  font-size:clamp(43px,5vw,62px) !important; line-height:1.05 !important;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #product-features.three-feature-rail > .item p.fs18 {
  margin:0 !important; font-size:clamp(12px,1.45vw,18px) !important;
  font-weight:600; line-height:1.4; text-align:center;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #product-features.three-feature-rail > .item.is-active {
  border-color:var(--three-feature-accent); background:var(--three-feature-accent);
  color:#fff; box-shadow:0 2px 3px rgba(0,0,0,.08);
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #product-features.three-feature-rail > .item.is-active p {
  color:#fff !important;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #product-features.three-feature-rail > .item.is-active img {filter:brightness(0) invert(1);}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) .three-feature-nav {
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  display:grid;place-items:center; width:36px;height:46px; padding:0;
  border:0;background:transparent;color:#c5c5c5;
  font-size:35px;line-height:1;cursor:pointer;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) .three-feature-nav:hover,
:is(#full-product-information #long-desc,#kitItemDetailsDiv) .three-feature-nav:focus-visible {color:#8075b7;outline:2px solid #8075b7;outline-offset:2px;}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) .three-feature-nav:disabled {opacity:.3;cursor:default;outline:none;}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) .three-feature-nav--prev {left:0;}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) .three-feature-nav--next {right:0;}
@media (max-width:767.98px) {
  :is(#full-product-information #long-desc,#kitItemDetailsDiv) .three-features-carousel {width:100%;padding:0 32px;}
  :is(#full-product-information #long-desc,#kitItemDetailsDiv) #product-features.three-feature-rail > .item {flex-basis:100% !important;min-height:250px;height:250px;padding:18px;}
  :is(#full-product-information #long-desc,#kitItemDetailsDiv) #product-features.three-feature-rail > .item p.fs18 {font-size:15px !important;}
}
@media (prefers-reduced-motion:reduce) {
  :is(#full-product-information #long-desc,#kitItemDetailsDiv) #product-features.three-feature-rail {scroll-behavior:auto;}
}


/* ========================================================================
   V24 — legacy editorial breathing room (no changes to stored CMS markup).
   Deliberately targeted at the four structures in the supplied screenshots.
   No general .row/.container/header or overall-width changes.
   ======================================================================== */

/* Mobile serum / product banner: the prose must not meet the next section
   exactly at the dark panel boundary, even when legacy p/.m-0 is used. */
@media (max-width:767.98px) {
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #neurocosmetic-101-mobile > .container:not(.position-absolute) {
    padding-bottom:clamp(24px,5vw,36px) !important;
  }
  /* The original Bootstrap container used 15px gutters. Bring the long-form
     ingredient copy in slightly without shifting full-bleed image banners. */
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #ingredients > .container {
    padding-left:clamp(22px,5.4vw,30px) !important;
    padding-right:clamp(22px,5.4vw,30px) !important;
  }
}

/* Make the ingredient blocks read as separate short articles at all widths.
   The direct-child selectors avoid the differently structured kit/step grids. */
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  #ingredients > .container > .row > .col-lg-6 > h3 {
  margin-bottom:clamp(12px,1.6vw,20px) !important;
  line-height:1.3;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  #ingredients > .container > .row > .col-lg-6 > p {
  line-height:1.6;
  margin-bottom:clamp(22px,2.5vw,34px) !important;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  #ingredients .row > .col-lg-3 {
  padding-bottom:clamp(16px,2vw,26px);
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  #ingredients .row > .col-lg-3 > img {
  display:block;
  margin-bottom:clamp(12px,1.4vw,18px) !important;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  #ingredients .row > .col-lg-3 > h3 {
  margin-top:0 !important;
  margin-bottom:clamp(9px,1.1vw,14px) !important;
  line-height:1.3;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  #ingredients .row > .col-lg-3 > p {
  margin-bottom:0 !important;
  line-height:1.55;
}

/* The reviews section explicitly has legacy pb-0, so its white cards were
   touching the lavender boundary. This is a local override, not a grid change. */
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  #reviews.reviews {
  padding-bottom:clamp(30px,4.2vw,54px) !important;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  #reviews .customer-reviews .item {
  box-sizing:border-box;
}

/* The desktop purple Visage routine banner has an absolutely-positioned
   Bootstrap .container, whose first heading sat 15px from the image edge.
   Padding the existing overlay retains the photograph, crop and layout. */
@media (min-width:768px) {
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #routine-desktop > .container.position-absolute {
    box-sizing:border-box;
    padding-left:clamp(32px,4vw,54px) !important;
    padding-right:clamp(32px,4vw,54px) !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #routine-desktop > .container.position-absolute h1 {
    max-width:100%;
  }
}


/* ========================================================================
   V25 — modal optical centering / Impact Pack mobile / Éternel How-to-use.
   These corrections are scoped to the existing modal or their named legacy
   editorial blocks; intentionally do not touch desktop width constraints,
   global Bootstrap utilities or V23 Éternel carousel.
   ======================================================================== */

/* Button itself AND glyph must be centered. Old modal HTML uses an inline
   40px × with inherited line-height, shifting the painted glyph low in circle. */
.modal .modal-header > button.close {
  top:50% !important;
  right:clamp(10px,1.5vw,18px) !important;
  transform:translateY(-50%);
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 42px;
  width:42px;
  height:42px;
  padding:0 !important;
  margin:0 !important;
  float:none !important;
  line-height:1 !important;
}
.modal .modal-header > button.close > span {
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  margin:0;
  padding:0;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:30px !important; /* overrides the old inline 40px font-size */
  font-weight:400;
  line-height:1 !important;
  transform:translateY(-1px); /* optical alignment of multiplication sign */
}

/* The Éternel three-column usage block has no ID, so select only the row
   containing its distinctive how-to-use asset. Images were display:block but
   left-aligned; headings were centered independently, producing misalignment. */
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  .row:has(> [class*="col-"] > img[src*="eternel-how-to-use-icon"]) > [class*="col-"] {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center !important;
  min-width:0;
  padding-inline:clamp(12px,2vw,26px);
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  .row:has(> [class*="col-"] > img[src*="eternel-how-to-use-icon"]) > [class*="col-"] > img {
  display:block;
  width:72px !important;
  height:62px !important;
  max-width:100%;
  min-height:62px;
  margin:0 auto 12px !important;
  object-fit:contain;
  object-position:center;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  .row:has(> [class*="col-"] > img[src*="eternel-how-to-use-icon"]) > [class*="col-"] > p:first-of-type {
  width:100%;
  margin:0 0 9px !important;
  font-size:16px;
  line-height:1.3;
  text-align:center;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  .row:has(> [class*="col-"] > img[src*="eternel-how-to-use-icon"]) > [class*="col-"] > p:nth-of-type(2) {
  width:100%;
  max-width:31ch;
  margin:0 auto !important;
  padding-inline:0 !important;
  line-height:1.5 !important;
  text-align:center !important;
}
@media(max-width:767.98px) {
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    .row:has(> [class*="col-"] > img[src*="eternel-how-to-use-icon"]) > [class*="col-"] {
    padding:20px 18px !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    .row:has(> [class*="col-"] > img[src*="eternel-how-to-use-icon"]) > [class*="col-"] > p:nth-of-type(2) {
    max-width:35ch;
  }
}

/* Impact Pack's stored 'container px-0' removes ALL mobile content gutters.
   Do not change the hero grid above it, or any other product's .px-0. */
@media(max-width:767.98px) {
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #ImpactPack-Details > .container.px-0 {
    padding:22px clamp(20px,5vw,28px) 30px !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #ImpactPack-Details > .container > h2 {
    margin:0 0 16px !important;
    line-height:1.2 !important;
    overflow-wrap:normal;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #ImpactPack-Details > .container > p:not([style]) {
    margin:0 0 20px !important;
    line-height:1.65 !important;
  }
  /* A legacy single <p> contains four product/name/description pairs. Turn
     each into its own visual paragraph, without touching the source HTML. */
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #ImpactPack-Details > .container > p[style*="linear-gradient"] {
    max-width:100%;
    margin:24px 0 26px !important;
    padding:18px 17px !important;
    line-height:1.6 !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #ImpactPack-Details > .container > p[style*="linear-gradient"] > strong {
    display:block !important;
    margin:12px 0 2px !important;
    line-height:1.4;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #ImpactPack-Details > .container > p[style*="linear-gradient"] > strong:first-child {
    margin:0 0 14px !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #ImpactPack-Details > .container > p[style*="linear-gradient"] > span {
    display:block;
    margin:0 0 8px;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #ImpactPack-Details > .container > p[style*="linear-gradient"] > span[style*="78a942"] {
    display:none;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #ImpactPack-Details .row.mt-4 {
    margin:30px 0 0 !important;
    row-gap:4px;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #ImpactPack-Details .row.mt-4 > [class*="col-"] {
    width:100%;
    max-width:100%;
    padding:0 0 15px !important;
    margin-bottom:14px !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #ImpactPack-Details .row.mt-4 h3 {
    margin:0 0 10px !important;
    line-height:1.3 !important;
    overflow-wrap:break-word;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #ImpactPack-Details .row.mt-4 p {
    margin:0 !important;
    line-height:1.6 !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #ImpactPack-Details > .p-3,
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #ImpactPack-Details > .p-md-4 {
    padding:20px clamp(20px,5vw,28px) 28px !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #ImpactPack-Details > .p-3 > h3 {
    margin:0 0 12px !important;
    line-height:1.35;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #ImpactPack-Responsible > .container {
    padding-inline:clamp(20px,5vw,28px) !important;
  }
}


/* ========================================================================
   V26 — gallery 440 / legacy editorial reading gutters.
   Scoped to product-detail pages, injected cart markup and named CMS modules.
   Do not expand #full-product-information beyond its V22 1200px maximum.
   ======================================================================== */

/* Product gallery: cap the whole presentation, not merely the bitmap. Keeps
   thumbnails, counter and product image together, with a quiet 1px frame. */
body.three-reference-page .product-detail > .product-gallery {
    box-sizing:border-box;
    width:min(100%,440px);
    max-width:440px !important;
    min-width:0;
    justify-self:center;
    align-self:start;
}
body.three-reference-page .product-detail .gallery-main {
    position:relative;
    box-sizing:border-box;
    width:100%;
    max-width:440px;
    min-width:0;
    min-height:0 !important;
    height:auto;
    max-height:440px;
    aspect-ratio:1/1;
    overflow:hidden;
    isolation:isolate;
    border:1px solid rgba(27,60,48,.17);
    border-radius:18px;
    background:#e8eee8;
    box-shadow:0 6px 24px rgba(18,46,34,.045);
}
body.three-reference-page .product-detail .gallery-main > img {
    box-sizing:border-box;
    display:block;
    width:100%;
    height:100%;
    max-width:100%;
    max-height:440px;
    margin:0;
    object-fit:contain;
    object-position:center;
}
body.three-reference-page .product-detail .gallery-thumbnails {
    box-sizing:border-box;
    width:100%;
    max-width:440px;
    min-width:0;
    margin-inline:auto;
}
@media(max-width:767.98px) {
    body.three-reference-page .product-detail > .product-gallery {
        width:min(100%,440px);
    }
}

/* Cart drawer scrolling and the fixed checkout area are owned by the shared
   _ShoppingCartDrawer.cshtml (V32+). Earlier V26 height/overflow rules were
   overriding its flex-based empty state and clipping Shop All Products.
   Product-detail CSS must not size or scroll these global drawer elements. */
/* The recommendations rail may pan horizontally but must not widen drawer. */
body.three-reference-page #shopping-cart-drawer #recommended-items,
body.three-reference-page #shopping-cart-drawer #recommended-items .cart-recommendations-rail {
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
}

/* Legacy cream-caviar hero: its image fills the 1200px editorial area, but
   the absolute caption formerly started 14px from the edge. Keep the copy
   in the image and give it proper design-safe margins at desktop widths. */
@media (min-width:1200px) {
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #neurocosmetic-101-desktop:has(img[src*="creme-caviar"]) > .container.position-absolute {
      box-sizing:border-box;
      width:100%;
      max-width:100%;
      margin-top:0 !important;
      padding:clamp(34px,4.5vw,58px) clamp(32px,5vw,64px) 24px !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #neurocosmetic-101-desktop:has(img[src*="creme-caviar"]) > .container.position-absolute > .row {
      margin:0 !important;
      padding:0 !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #neurocosmetic-101-desktop:has(img[src*="creme-caviar"]) > .container.position-absolute > .row > [class*="col-"] {
      margin:0 !important;
      padding:0 20px 0 0 !important;
      max-width:50%;
  }
}

/* Visage Pure Cleanse: "Science Driven Skin Harmony" has a desktop image
   overlay and legacy HTML that wraps an h3/ul in a paragraph. Correct its
   typography/reading alignment without changing the stored source markup. */
@media (min-width:1200px) {
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #neurocosmetic-101-desktop:has(.canto1) > .container.position-absolute {
      box-sizing:border-box;
      top:0 !important;
      width:100%;
      max-width:100%;
      margin:0 !important;
      padding:clamp(30px,3.9vw,48px) clamp(38px,5vw,66px) 20px !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #neurocosmetic-101-desktop:has(.canto1) > .container.position-absolute > h3 {
      margin:0 0 8px !important;
      line-height:1.35 !important;
      text-align:center;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #neurocosmetic-101-desktop:has(.canto1) > .container.position-absolute > h1 {
      margin:0 0 clamp(20px,2.4vw,30px) !important;
      font-size:clamp(30px,3.3vw,42px) !important;
      line-height:1.13 !important;
      text-align:center;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #neurocosmetic-101-desktop:has(.canto1) > .container.position-absolute > .row {
      margin:0 !important;
      padding:0 !important;
      justify-content:flex-end;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #neurocosmetic-101-desktop:has(.canto1) > .container.position-absolute > .row > .col-lg-5 {
      flex:0 0 49%;
      width:49%;
      max-width:49%;
      margin:0 0 0 auto !important;
      padding:0 clamp(8px,1.4vw,20px) !important;
      text-align:left !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #neurocosmetic-101-desktop:has(.canto1) > .container.position-absolute > .row > .col-lg-5 > p {
      margin:0 0 12px !important;
      font-size:clamp(12px,1.13vw,14px) !important;
      line-height:1.55 !important;
      text-align:left !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #neurocosmetic-101-desktop:has(.canto1) > .container.position-absolute > .row > .col-lg-5 > br {
      display:none;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #neurocosmetic-101-desktop:has(.canto1) > .container.position-absolute > .row > .col-lg-5 h3 {
      margin:16px 0 10px !important;
      font-size:clamp(17px,1.65vw,22px) !important;
      line-height:1.25 !important;
      text-align:left !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #neurocosmetic-101-desktop:has(.canto1) > .container.position-absolute > .row > .col-lg-5 ul {
      margin:0 !important;
      padding:0 0 0 20px !important;
      list-style:disc outside !important;
      text-align:left !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    #neurocosmetic-101-desktop:has(.canto1) > .container.position-absolute > .row > .col-lg-5 li {
      display:list-item;
      margin:0 0 8px !important;
      padding:0;
      font-size:clamp(11px,1.05vw,13px) !important;
      line-height:1.45 !important;
      text-align:left !important;
  }
}


/* ===========================================================================
   V27: five product benefit infographics + Visage routine step breathing room.
   V26 is the base. No changes to the global page width, cart or gallery.
   Selectors account for Imune's CMS using `why-love-purifi-*` IDs.
   The stored product HTML is not modified.
   =========================================================================== */

/* On Revive/Vitalite/Purifi/Collagene/Imune, the label coordinates are authored
   relative to the CENTER of the 512px graphic. The graphic must therefore be
   centered in the SAME containing block as the six absolutely placed labels.
   Avoid overriding the existing, separately tuned Eternel component. */
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  [id^="why-love-"][id$="-desktop"]:not(#why-love-eternel-desktop) {
    box-sizing:border-box;
    display:block;
    width:100%;
    max-width:100%;
    text-align:center !important;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  [id^="why-love-"][id$="-desktop"]:not(#why-love-eternel-desktop) > .position-relative {
    box-sizing:border-box;
    position:relative !important;
    display:block;
    width:100%;
    max-width:1140px;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  [id^="why-love-"][id$="-desktop"]:not(#why-love-eternel-desktop) > .position-relative > img {
    display:block !important;
    float:none !important;
    box-sizing:border-box;
    width:min(512px,46%) !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 auto !important;
    object-fit:contain;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  [id^="why-love-"][id$="-desktop"]:not(#why-love-eternel-desktop) > .position-relative > :is(.text-right,.text-left) {
    position:static !important;
    width:auto;
    max-width:none;
    margin:0;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  [id^="why-love-"][id$="-desktop"]:not(#why-love-eternel-desktop) p[id^="text-l-"],
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
  [id^="why-love-"][id$="-desktop"]:not(#why-love-eternel-desktop) p[id^="text-r-"] {
    position:absolute !important;
    width:max-content;
    max-width:25%;
    margin:0 !important;
    white-space:normal !important;
    font-size:clamp(13px,1.35vw,17px);
    line-height:1.4 !important;
    overflow-wrap:normal;
}

/* At tablet widths there is not enough horizontal room for a 512px image and
   6 side labels. Switch only this module to an image + two legible text columns. */
@media (min-width:768px) and (max-width:1099.98px) {
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-desktop"]:not(#why-love-eternel-desktop) > .position-relative {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px 20px;
      padding-inline:clamp(18px,3vw,34px);
    }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-desktop"]:not(#why-love-eternel-desktop) > .position-relative > img {
      grid-column:1/-1;
      width:min(440px,70%) !important;
      justify-self:center;
      margin-bottom:12px !important;
    }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-desktop"]:not(#why-love-eternel-desktop) > .position-relative > :is(.text-right,.text-left) {
      display:grid;
      align-content:start;
      gap:12px;
      min-width:0;
      text-align:left !important;
    }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-desktop"]:not(#why-love-eternel-desktop) p[id^="text-l-"],
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-desktop"]:not(#why-love-eternel-desktop) p[id^="text-r-"] {
      position:static !important;
      inset:auto !important;
      width:100% !important;
      max-width:100% !important;
      min-height:64px;
      padding:12px 14px;
      border:1px solid rgba(19,61,50,.11);
      border-radius:10px;
      background:#f8faf7;
      text-align:left !important;
      font-size:clamp(13px,1.5vw,16px) !important;
      line-height:1.5 !important;
      white-space:normal !important;
    }
}

/* Visage Pure Cleanse and Radiant Toner #steps: the green routine band in the
   CMS uses a compact Bootstrap row with three columns. Existing V21 rules
   space icon and heading vertically, but still leave the copy close to the
   section's outer edges and to adjacent columns. */
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #steps.altform1 > .container {
    box-sizing:border-box;
    max-width:1140px;
    padding-top:clamp(42px,5vw,68px) !important;
    padding-bottom:clamp(44px,5vw,72px) !important;
    padding-inline:clamp(24px,3vw,42px) !important;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #steps.altform1 > .container > .row {
    box-sizing:border-box;
    margin-inline:0 !important;
    row-gap:28px;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #steps.altform1 > .container > .row > [class*="col-"] {
    box-sizing:border-box;
    padding-inline:clamp(10px,2.25vw,30px) !important;
    padding-bottom:16px !important;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #steps.altform1 > .container > .row > [class*="col-"] > img {
    display:block;
    width:auto;
    max-width:100%;
    height:40px;
    margin-bottom:17px !important;
    object-fit:contain;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #steps.altform1 > .container > .row > [class*="col-"] > h3 {
    margin:0 0 13px !important;
    line-height:1.4 !important;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv) #steps.altform1 > .container > .row > [class*="col-"] > p {
    max-width:45ch;
    margin:0 !important;
    line-height:1.7 !important;
}
@media (max-width:767.98px) {
  :is(#full-product-information #long-desc,#kitItemDetailsDiv) #steps.altform1 > .container {
    padding-inline:clamp(20px,6vw,30px) !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv) #steps.altform1 > .container > .row > [class*="col-"] {
    padding-inline:4px !important;
    padding-block:0 22px !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv) #steps.altform1 > .container > .row > [class*="col-"]:not(:last-child) {
    border-bottom:1px solid rgba(255,255,255,.17);
  }
}


/* The 5 supplements also have the same How/When/Dose markup as Eternel, but
   their source icons have different product prefixes. Align each illustration
   directly above its title and instructions (without reflowing separators). */
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
 .row:has(> [class*="col-"] > img:is([src*="/revive/"],[src*="/vitalite/"],[src*="/purifi/"],[src*="/collagene/"],[src*="/imune/"])[src*="how-to-use-icon"]) > [class*="col-"] {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
  padding-inline:clamp(12px,2vw,26px) !important;
  text-align:center !important;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
 .row:has(> [class*="col-"] > img:is([src*="/revive/"],[src*="/vitalite/"],[src*="/purifi/"],[src*="/collagene/"],[src*="/imune/"])[src*="how-to-use-icon"]) > [class*="col-"] > img {
  display:block;
  box-sizing:border-box;
  width:72px !important;
  height:62px !important;
  max-width:100%;
  min-height:62px;
  margin:0 auto 12px !important;
  object-fit:contain;
  object-position:center;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
 .row:has(> [class*="col-"] > img:is([src*="/revive/"],[src*="/vitalite/"],[src*="/purifi/"],[src*="/collagene/"],[src*="/imune/"])[src*="how-to-use-icon"]) > [class*="col-"] > p:first-of-type {
  width:100%;
  margin:0 0 9px !important;
  font-size:16px;
  line-height:1.3;
  text-align:center;
}
:is(#full-product-information #long-desc,#kitItemDetailsDiv)
 .row:has(> [class*="col-"] > img:is([src*="/revive/"],[src*="/vitalite/"],[src*="/purifi/"],[src*="/collagene/"],[src*="/imune/"])[src*="how-to-use-icon"]) > [class*="col-"] > p:nth-of-type(2) {
  width:100%;
  max-width:31ch;
  margin:0 auto !important;
  padding-inline:0 !important;
  line-height:1.5 !important;
  text-align:center !important;
}
@media(max-width:767.98px) {
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
   .row:has(> [class*="col-"] > img:is([src*="/revive/"],[src*="/vitalite/"],[src*="/purifi/"],[src*="/collagene/"],[src*="/imune/"])[src*="how-to-use-icon"]) > [class*="col-"] {
    padding:20px 18px !important;
  }
}

/* On large desktop widths, label positions should sit OUTSIDE the circle,
   not overlap its outer product artwork. The legacy inline CSS positions their
   right/left edges only 230-270px from the center of a 512px image. */
@media (min-width:1100px) {
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
   [id^="why-love-"][id$="-desktop"]:not(#why-love-eternel-desktop) p[id^="text-l-"] {
    right:calc(50% + 280px) !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
   [id^="why-love-"][id$="-desktop"]:not(#why-love-eternel-desktop) p[id^="text-r-"] {
    left:calc(50% + 280px) !important;
  }
}


/* ===========================================================================
   V29: original circular benefit compositions on MOBILE only.
   V27's card grid was incorrect: source image belongs on the right, while six
   curve-spaced caption paragraphs retain their authored top/right offsets.
   Source HTML, actual copy, and desktop/tablet treatments are unchanged.
   Applies to Vitalite, Revive, Purifi, Collagene, Imune, and Eternel.
   =========================================================================== */
@media (max-width:767.98px) {
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-mobile"] {
      box-sizing:border-box;
      width:100%;
      max-width:100%;
      overflow-x:clip;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-mobile"] > .position-relative {
      display:block !important;
      position:relative !important;
      box-sizing:border-box;
      width:100% !important;
      max-width:100% !important;
      min-width:0;
      height:auto !important;
      min-height:450px;
      padding:0 !important;
      margin:0 auto clamp(24px,6vw,40px) !important;
      text-align:right !important;
  }
  /* Earlier compatibility rules made `.img-fluid` a block aligned left.
     Place the original 200px semi-circle on the RIGHT instead. */
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-mobile"] > .position-relative > img {
      display:block !important;
      float:none !important;
      box-sizing:border-box;
      width:min(200px,64vw) !important;
      max-width:100% !important;
      height:auto !important;
      margin:0 0 0 auto !important;
      object-fit:contain;
  }
  /* Preserve the inline authored top/right coordinates. The original CMS
     includes intentional <br> breaks and varying right offsets that trace
     the curve; no layout grid, cards, or automated reflow. */
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-mobile"] > .position-relative > p.position-absolute {
      position:absolute !important;
      display:block !important;
      box-sizing:border-box;
      width:auto;
      max-width:calc(100% - 8px);
      min-width:0;
      margin:0 !important;
      padding:0 !important;
      border:0 !important;
      border-radius:0 !important;
      background:transparent !important;
      color:inherit;
      font-size:12px !important;
      line-height:1.12 !important;
      text-align:right !important;
      white-space:normal !important;
      overflow-wrap:normal;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-mobile"] > .position-relative > p.position-absolute:has(a) {
      font-size:14px !important;
      right:calc(50% - 36px) !important;
      text-align:center !important;
  }
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-mobile"] > img:last-child {
      box-sizing:border-box;
      display:block;
      width:100% !important;
      max-width:100% !important;
      height:auto !important;
      margin-inline:auto;
  }
}
/* At 320px, allow captions to use the available width to the left of the
   circle without pushing the outer page wider. */
@media (max-width:359.98px) {
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-mobile"] > .position-relative > p.position-absolute {
      font-size:10.5px !important;
  }
  /* Preserve the varying curved-caption silhouette while leaving more room
     for the deliberate <br> lines on 320px screens. */
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-mobile"] > .position-relative > p.position-absolute:nth-of-type(1) {right:90px !important;}
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-mobile"] > .position-relative > p.position-absolute:nth-of-type(2) {right:126px !important;}
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-mobile"] > .position-relative > p.position-absolute:nth-of-type(3) {right:151px !important;}
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-mobile"] > .position-relative > p.position-absolute:nth-of-type(4) {right:165px !important;}
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-mobile"] > .position-relative > p.position-absolute:nth-of-type(5) {right:164px !important;}
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-mobile"] > .position-relative > p.position-absolute:nth-of-type(6) {right:146px !important;}
  :is(#full-product-information #long-desc,#kitItemDetailsDiv)
    [id^="why-love-"][id$="-mobile"] > .position-relative > p.position-absolute:has(a) {right:calc(50% - 36px) !important;}
}

/* ========================================================================== 
   V31: CMS "Learn More" calls to action, without changing stored LongDetail2.
   Links in desktop-only legacy illustrations keep their original visibility;
   a small page-level enhancement exposes a separate mobile copy when needed.
   ========================================================================== */
#full-product-information #long-desc a.three-cms-learn-more,
#kitItemDetailsDiv a.three-cms-learn-more {
    box-sizing: border-box;
    /* Do not override legacy .d-none / .d-md-none visibility rules. */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    width: auto !important;
    max-width: 100%;
    min-width: 190px;
    min-height: 50px;
    margin: 12px 0;
    padding: 12px 24px !important;
    border: 1px solid #E4A842 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #E6A73A 0%, #C98A2C 100%) !important;
    color: #1E130D !important;
    box-shadow: 0 8px 25px rgba(201, 138, 44, .32);
    font: inherit;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    letter-spacing: .025em;
    text-align: center;
    text-decoration: none !important;
    text-underline-offset: unset;
    white-space: normal;
    cursor: pointer;
    transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
}
#full-product-information #long-desc a.three-cms-learn-more::after,
#kitItemDetailsDiv a.three-cms-learn-more::after {
    content: "\2197";
    display: inline-block;
    flex: none;
    font-size: 19px;
    line-height: 1;
}
#full-product-information #long-desc a.three-cms-learn-more:hover,
#kitItemDetailsDiv a.three-cms-learn-more:hover {
    background: linear-gradient(135deg, #E6A73A 0%, #C98A2C 100%) !important;
    color: #1E130D !important;
    box-shadow: 0 10px 26px rgba(201, 138, 44, .44);
    filter: brightness(1.055);
    transform: translateY(-2px);
}
#full-product-information #long-desc a.three-cms-learn-more:focus-visible,
#kitItemDetailsDiv a.three-cms-learn-more:focus-visible {
    outline: 3px solid #9A6730 !important;
    outline-offset: 4px;
}
#full-product-information #long-desc a.three-cms-learn-more:active,
#kitItemDetailsDiv a.three-cms-learn-more:active { transform: translateY(0); }

/* An extra CTA is only needed where the stored desktop link has no visible
   mobile equivalent. Never duplicate it on desktop or tablet. */
#full-product-information #long-desc .three-cms-learn-more-mobile {
    display: none !important;
}
@media (max-width: 767.98px) {
    #full-product-information #long-desc .three-cms-learn-more-mobile {
        display: flex !important;
        justify-content: center;
        align-items: center;
        width: 100%;
        padding: 6px 16px 28px;
        margin: 0 auto;
    }
    #full-product-information #long-desc a.three-cms-learn-more {
        width: min(100%, 380px) !important;
        min-width: 0;
        min-height: 52px;
        margin: 10px auto;
        padding: 14px 20px !important;
        font-size: 14px !important;
    }
    :is(#full-product-information #long-desc,#kitItemDetailsDiv)
      [id^="why-love-"][id$="-mobile"] > .position-relative > p.position-absolute:has(a) {
        left: 50% !important;
        right: auto !important;
        top: auto !important;
        bottom: 28px !important;
        width: calc(100% - 32px);
        max-width: 280px;
        margin: 0 !important;
        transform: translateX(-50%);
        text-align: center !important;
        z-index: 2;
    }
}
@media (prefers-reduced-motion: reduce) {
    #full-product-information #long-desc a.three-cms-learn-more,
    #kitItemDetailsDiv a.three-cms-learn-more { transition: none; transform: none !important; }
}

/* THREE 2026 | Purchase CTAs ONLY — deliberately isolated from Bootstrap bridge.
   Product page and existing upsell both use the new amber shopping treatment. */
body.three-reference-page .product-detail .purchase-actions #add-to-cart-button,
body.three-reference-page .product-detail .product-upsell__button {
    background: linear-gradient(135deg,#E6A73A 0%,#C98A2C 100%) !important;
    border: 1px solid #E4A842 !important;
    color: #1E130D !important;
    box-shadow: 0 8px 25px rgba(201,138,44,.32);
    transition: transform .22s ease, filter .22s ease, box-shadow .22s ease;
}
body.three-reference-page .product-detail .purchase-actions #add-to-cart-button:hover,
body.three-reference-page .product-detail .product-upsell__button:hover {
    background: linear-gradient(135deg,#E6A73A 0%,#C98A2C 100%) !important;
    color: #1E130D !important;
    filter: brightness(1.055);
    box-shadow: 0 10px 26px rgba(201,138,44,.44);
    transform: translateY(-2px);
}
body.three-reference-page .product-detail .purchase-actions #add-to-cart-button:focus-visible,
body.three-reference-page .product-detail .product-upsell__button:focus-visible {
    outline: 3px solid #9A6730;
    outline-offset: 3px;
}
body.three-reference-page .product-detail .purchase-actions #add-to-cart-button:disabled,
body.three-reference-page .product-detail .product-upsell__button:disabled {
    opacity: .55;
    filter: none;
    transform: none;
    cursor: not-allowed;
}
@media (prefers-reduced-motion: reduce) {
    body.three-reference-page .product-detail .purchase-actions #add-to-cart-button,
    body.three-reference-page .product-detail .product-upsell__button { transition: none; }
    body.three-reference-page .product-detail .purchase-actions #add-to-cart-button:hover,
    body.three-reference-page .product-detail .product-upsell__button:hover { transform: none; }
}

/* V36 — mobile-only floating add-to-cart shortcut (still inserts exactly one).
   Deliberately separate from the legacy/Bootstrap product layouts. */
body.three-reference-page .product-mobile-add-to-cart { display: none; }
@media (max-width: 767.98px) {
    body.three-reference-page .product-mobile-add-to-cart {
        position: fixed;
        z-index: 1090; /* below the existing floating cart (1100) and cart backdrop (1199) */
        bottom: calc(20px + env(safe-area-inset-bottom, 0px));
        left: calc(14px + env(safe-area-inset-left, 0px));
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        box-sizing: border-box;
        width: max-content;
        max-width: calc(100vw - 112px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));
        min-height: 54px;
        margin: 0;
        padding: 11px 17px;
        border: 1px solid #E4A842;
        border-radius: 999px;
        background: linear-gradient(135deg, #E6A73A 0%, #C98A2C 100%);
        box-shadow: 0 8px 25px rgba(201, 138, 44, .35);
        color: #1E130D;
        font: inherit;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.25;
        text-align: center;
        text-decoration: none;
        cursor: pointer;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
        transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
    }
    body.three-reference-page .product-mobile-add-to-cart__label {
        min-width: 0;
        overflow-wrap: anywhere; /* multilingual labels must stay within the viewport */
    }
    body.three-reference-page .product-mobile-add-to-cart:hover {
        filter: brightness(1.05);
        box-shadow: 0 10px 29px rgba(201, 138, 44, .45);
        transform: translateY(-2px);
    }
    body.three-reference-page .product-mobile-add-to-cart:active {
        transform: translateY(0);
    }
    body.three-reference-page .product-mobile-add-to-cart:focus-visible {
        outline: 3px solid #9A6730;
        outline-offset: 3px;
    }
    body.three-reference-page .product-mobile-add-to-cart:disabled {
        opacity: .58;
        filter: none;
        transform: none;
        cursor: not-allowed;
    }
    /* Never overlay a cart, market/dialog flow, or native product modal. */
    body.three-reference-page.cart-open .product-mobile-add-to-cart,
    body.three-reference-page.has-reference-dialog .product-mobile-add-to-cart,
    body.three-reference-page.three-modal-open .product-mobile-add-to-cart,
    body.three-reference-page.modal-open .product-mobile-add-to-cart {
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    body.three-reference-page .product-mobile-add-to-cart {
        transition: none;
    }
    body.three-reference-page .product-mobile-add-to-cart:hover {
        transform: none;
    }
}

/* ============================================================================
   GLP THREE (item 3478) | Editorial LongDetail2 hero, v37
   CSS ONLY. The #GLPThree-Hero HTML is supplied by ItemLanguages and must
   remain unmodified. Every selector is rooted in that unique injected ID.

   The site-wide .hero selector applies full-viewport height, dark background,
   gradient overlays and positioning intended for the HOME hero. Explicitly
   cancel those properties here; otherwise the logo's black lettering becomes
   illegible on mobile and the image is squeezed below an oversized heading.
   ============================================================================ */
#full-product-information #long-desc #GLPThree-Hero {
    --glp-espresso: #2B201B;
    --glp-oat: #F8F4EE;
    --glp-sand: #E8DED2;
    --glp-amber: #D48B28;
    width: 100%;
    max-width: 1200px;
    margin: clamp(20px, 3.5vw, 42px) auto;
}

#full-product-information #long-desc #GLPThree-Hero .hero {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 44fr) minmax(0, 56fr) !important;
    align-items: stretch !important;
    isolation: isolate;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--glp-espresso) !important;
    background: var(--glp-oat) !important;
    border: 1px solid var(--glp-sand);
    border-radius: 18px;
    box-shadow: 0 18px 50px rgba(43, 32, 27, .055);
    overflow: hidden;
}

/* Explicitly remove the generic homepage hero's dark gradient veil. */
#full-product-information #long-desc #GLPThree-Hero .hero::after,
#full-product-information #long-desc #GLPThree-Hero .hero::before {
    content: none !important;
    display: none !important;
}

#full-product-information #long-desc #GLPThree-Hero .hero__copy {
    position: relative !important;
    inset: auto !important;
    z-index: 1;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 22px;
    width: 100% !important;
    min-width: 0;
    height: auto !important;
    padding: clamp(28px, 4.5vw, 70px) clamp(23px, 4.3vw, 62px) !important;
    background: linear-gradient(140deg, #FFFDF9 0%, var(--glp-oat) 62%, #EFE6DB 100%);
    color: var(--glp-espresso) !important;
    text-align: left !important;
}

#full-product-information #long-desc #GLPThree-Hero .hero__brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    min-width: 0;
    max-width: 420px;
}

#full-product-information #long-desc #GLPThree-Hero .hero__logo {
    display: block;
    width: min(100%, 335px) !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    filter: none !important;
    opacity: 1 !important;
    object-fit: contain;
    mix-blend-mode: normal;
}

#full-product-information #long-desc #GLPThree-Hero .hero__tagline {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 9px !important;
    width: 100%;
    min-width: 0;
    margin: clamp(22px, 3vw, 38px) 0 0 !important;
    padding: 0 !important;
    color: var(--glp-espresso) !important;
    text-align: left;
}

#full-product-information #long-desc #GLPThree-Hero .hero__tagline > span {
    display: block !important;
    width: auto;
    max-width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--glp-espresso) !important;
    text-shadow: none !important;
    text-transform: uppercase;
    white-space: normal !important;
}

#full-product-information #long-desc #GLPThree-Hero .hero__tagline--light {
    font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
    font-size: clamp(11px, 1.14vw, 15px) !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    letter-spacing: .22em !important;
}

#full-product-information #long-desc #GLPThree-Hero .hero__tagline--bold {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(30px, 3.8vw, 55px) !important;
    font-weight: 500 !important;
    line-height: 1.12 !important;
    letter-spacing: -.045em !important;
    overflow-wrap: normal;
}

/* Only the original responsive Add to Cart button is styled; its Bootstrap
   display classes and inline commerce handler continue to control behavior. */
#full-product-information #long-desc #GLPThree-Hero .hero__btn {
    min-height: 44px;
    max-width: 100%;
    padding: 12px 26px !important;
    border: 1px solid #B9751D !important;
    border-radius: 999px !important;
    background: var(--glp-amber) !important;
    color: #1E1511 !important;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.3;
    text-transform: none;
    box-shadow: none;
}
#full-product-information #long-desc #GLPThree-Hero .hero__btn:hover,
#full-product-information #long-desc #GLPThree-Hero .hero__btn:focus-visible {
    background: #B9751D !important;
    color: #1E1511 !important;
}

#full-product-information #long-desc #GLPThree-Hero .hero__media {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    min-width: 0;
    min-height: 0;
    aspect-ratio: 1.13 / 1;
    background: #EAECE6;
    overflow: hidden;
}
#full-product-information #long-desc #GLPThree-Hero .hero__media > picture {
    display: block;
    width: 100%;
    height: 100%;
}
#full-product-information #long-desc #GLPThree-Hero .hero__media .hero__img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
}

@media (max-width: 767.98px) {
    #full-product-information #long-desc #GLPThree-Hero {
        margin: 18px auto 28px;
    }
    #full-product-information #long-desc #GLPThree-Hero .hero {
        grid-template-columns: minmax(0, 1fr) !important;
        border-radius: 14px;
    }
    #full-product-information #long-desc #GLPThree-Hero .hero__copy {
        align-items: center !important;
        gap: 14px;
        padding: 30px 18px 27px !important;
        text-align: center !important;
    }
    #full-product-information #long-desc #GLPThree-Hero .hero__brand {
        align-items: center;
        max-width: 100%;
    }
    #full-product-information #long-desc #GLPThree-Hero .hero__logo {
        width: min(100%, 285px) !important;
        margin-inline: auto !important;
    }
    #full-product-information #long-desc #GLPThree-Hero .hero__tagline {
        align-items: center !important;
        gap: 4px !important;
        margin-top: 18px !important;
        text-align: center !important;
    }
    #full-product-information #long-desc #GLPThree-Hero .hero__tagline--light {
        font-size: clamp(10px, 3.1vw, 13px) !important;
        letter-spacing: .19em !important;
    }
    #full-product-information #long-desc #GLPThree-Hero .hero__tagline--bold {
        font-size: clamp(29px, 8.5vw, 42px) !important;
        line-height: 1.13 !important;
    }
    #full-product-information #long-desc #GLPThree-Hero .hero__media {
        aspect-ratio: auto !important;
        min-height: 0 !important;
    }
    #full-product-information #long-desc #GLPThree-Hero .hero__media > picture {
        height: auto !important;
    }
    #full-product-information #long-desc #GLPThree-Hero .hero__media .hero__img {
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }
}

/* ============================================================================
   V38 | Compact product overview — 2026-11-03
   Opt-in via #product-overview. No global grid, .btn, .modal, heading, or
   Bootstrap utility resets. All prior CMS/editorial compatibility rules remain.
   The companion view retains every commerce callback and injected HTML source.
   ============================================================================ */
#product-overview-breadcrumb {
    box-sizing: border-box;
    width: 100%;
    max-width: 1280px;
    min-width: 0;
    margin: 0 auto;
    padding: 16px clamp(18px, 2.4vw, 32px) 14px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 10px;
    color: #705E53;
    font-size: 12px;
    line-height: 1.5;
}
#product-overview-breadcrumb a { min-height: 28px; color: #7D5C4A; }
#product-overview-breadcrumb a:focus-visible { outline: 2px solid #7D5C4A; outline-offset: 3px; border-radius: 3px; }

#product-overview {
    --pdp-ink: #2B201B;
    --pdp-muted: #705E53;
    --pdp-mocha: #7D5C4A;
    --pdp-oat: #F8F4EE;
    --pdp-surface: #F3EDE4;
    --pdp-line: #D4C5B8;
    --pdp-amber: #D48B28;
    --pdp-amber-hover: #B9751D;
    --pdp-sticky-top: 104px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
    align-items: start;
    column-gap: clamp(24px, 2.2vw, 32px);
    row-gap: 24px;
    width: 100%;
    max-width: 1280px;
    min-width: 0;
    margin: 0 auto;
    padding: 0 clamp(18px, 2.4vw, 32px) 40px;
    color: var(--pdp-ink);
}
#product-overview > .product-gallery,
#product-overview > .purchase-panel { box-sizing: border-box; width: 100%; min-width: 0; max-width: none !important; margin: 0; padding: 0; }
#product-overview > .product-gallery {
    position: relative;
    top: auto;
    align-self: start;
    justify-self: stretch;
}
#product-overview .gallery-main {
    position: relative;
    display: block;
    isolation: isolate;
    width: 100%;
    max-width: none;
    height: auto;
    min-height: 0 !important;
    max-height: none;
    aspect-ratio: 1 / 1;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #E8DED2;
    border-radius: 20px;
    background: var(--pdp-oat);
    box-shadow: 0 8px 30px rgba(43, 32, 27, .045);
}
#product-overview .gallery-main > img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: none;
    margin: 0;
    padding: 0;
    object-fit: contain;
    object-position: center;
    animation: none;
}
#product-overview .gallery-main.packshot > img { padding: clamp(12px, 1.8vw, 24px); mix-blend-mode: multiply; }
#product-overview .gallery-tag {
    position: absolute;
    z-index: 1;
    top: 14px;
    left: 14px;
    right: auto;
    bottom: auto;
    max-width: calc(100% - 112px);
    padding: 7px 10px;
    border: 1px solid rgba(125, 92, 74, .12);
    border-radius: 999px;
    background: rgba(255, 253, 249, .95);
    color: var(--pdp-mocha);
    font-size: 10px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: .04em;
    overflow-wrap: anywhere;
}
#product-overview .gallery-number {
    position: absolute;
    z-index: 1;
    top: 14px;
    right: 14px;
    bottom: auto;
    left: auto;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255, 253, 249, .95);
    color: var(--pdp-muted);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.35;
    font-variant-numeric: tabular-nums;
    letter-spacing: .06em;
}
#product-overview .pdp-gallery-arrow,
#product-overview .pdp-gallery-zoom {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 10px;
    border: 1px solid rgba(125, 92, 74, .22);
    border-radius: 50%;
    background: rgba(255, 253, 249, .96);
    color: var(--pdp-mocha);
    box-shadow: 0 3px 10px rgba(43, 32, 27, .07);
    cursor: pointer;
    touch-action: manipulation;
    transition: background-color .16s ease, color .16s ease;
}
#product-overview .pdp-gallery-arrow { top: 50%; transform: translateY(-50%); }
#product-overview .pdp-gallery-arrow--previous { left: 12px; }
#product-overview .pdp-gallery-arrow--next { right: 12px; }
#product-overview .pdp-gallery-zoom { right: 14px; bottom: 14px; }
#product-overview [data-pdp-gallery-step][hidden],
#product-overview [data-pdp-open-image][hidden] { display: none !important; }
#product-overview .pdp-gallery-arrow:hover,
#product-overview .pdp-gallery-zoom:hover { background: var(--pdp-mocha); color: #FFFDF9; }
#product-overview .pdp-gallery-arrow svg,
#product-overview .pdp-gallery-zoom svg,
#product-overview .pdp-benefits-disclosure > summary svg {
    display: block;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
#product-overview .gallery-thumbnails {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin: 10px 0 0;
    padding: 6px 5px 8px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: #C4B5A5 transparent;
}
#product-overview .gallery-thumbnails button {
    box-sizing: border-box;
    flex: 0 0 66px;
    width: 66px;
    height: 66px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 3px;
    overflow: hidden;
    border: 1px solid #E8DED2;
    border-radius: 11px;
    background: var(--pdp-oat);
    opacity: .8;
    cursor: pointer;
}
#product-overview .gallery-thumbnails button:hover { opacity: 1; border-color: var(--pdp-mocha); }
#product-overview .gallery-thumbnails button[aria-pressed="true"] { border: 2px solid var(--pdp-mocha); padding: 2px; opacity: 1; box-shadow: 0 0 0 1px rgba(125, 92, 74, .12); }
#product-overview .gallery-thumbnails img { width: 100%; height: 100%; border-radius: 7px; object-fit: cover; }

/* Compact hierarchy without making the product name or translated copy tiny. */
#product-overview .purchase-panel > .eyebrow { margin: 1px 0 7px; color: var(--pdp-mocha); font-size: 11px; font-weight: 600; line-height: 1.5; letter-spacing: .12em; }
#product-overview #product-title { margin: 0; color: var(--pdp-ink); font-size: clamp(34px, 3.1vw, 46px); font-weight: 400; line-height: 1.12; letter-spacing: -.035em; overflow-wrap: anywhere; }
#product-overview .product-lead { margin: 9px 0 0; color: var(--pdp-mocha); font-size: 15px; line-height: 1.5; }
#product-overview .product-rating-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 16px; margin: 9px 0 0; min-height: 28px; }
#product-overview .product-rating-actions .product-rating { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 9px; margin: 0; color: var(--pdp-muted); font-size: 12px; line-height: 1.5; }
#product-overview .product-rating a { display: inline-flex; align-items: center; min-height: 28px; color: var(--pdp-mocha); text-underline-offset: 3px; }
#product-overview .product-share-cta--top { min-height: 28px; padding: 3px 0; border: 0; border-radius: 0; background: transparent; color: var(--pdp-mocha); font-size: 12px; font-weight: 600; line-height: 1.5; text-decoration: underline; text-underline-offset: 3px; }
#product-overview .product-share-cta--top:hover { background: transparent; color: var(--pdp-ink); }
#product-overview .product-description { margin: 12px 0 0; color: var(--pdp-muted); font-size: 14px; line-height: 1.6; }
#product-overview .product-description > p { margin: 0 0 8px; }
#product-overview .product-description > p:last-child { margin-bottom: 0; }
#product-overview .product-description-extra { margin-top: 10px; min-width: 0; }
/* Only the known injected icon rows are compacted, not arbitrary CMS HTML. */
#product-overview .product-description-extra > .d-flex,
#product-overview .product-description-extra > div > .d-flex.justify-content-around {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(76px, 1fr));
    gap: 10px;
    align-items: start;
    width: 100%;
    margin: 10px 0 0 !important;
    padding: 11px 8px;
    border-radius: 12px;
    /* Benefit-icon surface is owned by the scoped V41 rule below. */
}
#product-overview .product-description-extra > .d-flex > .text-center,
#product-overview .product-description-extra > div > .d-flex > .text-center { min-width: 0; }
#product-overview .product-description-extra > .d-flex img,
#product-overview .product-description-extra > div > .d-flex img { width: auto; max-width: min(100%, 54px); max-height: 42px; height: auto; margin: 0 auto 7px !important; object-fit: contain; }
#product-overview .product-description-extra > .d-flex p,
#product-overview .product-description-extra > div > .d-flex p { margin: 0; color: var(--pdp-muted); font-size: 12px; line-height: 1.4 !important; overflow-wrap: anywhere; }

#product-overview .pdp-benefits-disclosure { margin: 10px 0 14px; padding: 0; border: 0; border-bottom: 1px solid #E8DED2; background: transparent; }
#product-overview .pdp-benefits-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; margin: 0; padding: 8px 0; color: var(--pdp-mocha); font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1.45; list-style: none; cursor: pointer; }
#product-overview .pdp-benefits-disclosure > summary::-webkit-details-marker { display: none; }
#product-overview .pdp-benefits-disclosure > summary::marker { content: ''; }
#product-overview .pdp-benefits-disclosure > summary svg { width: 18px; height: 18px; flex-basis: 18px; transition: transform .16s ease; }
#product-overview .pdp-benefits-disclosure[open] > summary svg { transform: rotate(180deg); }
#product-overview .pdp-benefits-disclosure .purchase-benefits { margin: 0; padding: 4px 0 14px; }
#product-overview .pdp-benefits-disclosure .purchase-benefits li { color: var(--pdp-muted); font-size: 13px; line-height: 1.55; }
#product-overview .pdp-benefits-disclosure .purchase-benefits > ul { margin: 0; }
#product-overview .pdp-benefits-disclosure .v20-benefit-group { border-color: #E8DED2; }
#product-overview .pdp-benefits-disclosure .v20-benefit-group summary { color: var(--pdp-ink); }
#product-overview .pdp-benefits-disclosure .v20-benefit-group[open] summary { background: var(--pdp-surface); }

/* True native radio controls; selection/price logic remains in the original runtime. */
#product-overview .pdp-purchase-card { min-width: 0; margin-top: 14px; padding: 17px; border: 1px solid #E8DED2; border-radius: 16px; background: #FFFDF9; box-shadow: 0 4px 18px rgba(43, 32, 27, .035); }
#product-overview .purchase-options { display: block; min-width: 0; margin: 0; padding: 0; border: 0; }
#product-overview .purchase-options > legend { float: none; width: 100%; margin: 0 0 10px; padding: 0; color: var(--pdp-muted); font-family: inherit; font-size: 11px; font-weight: 600; line-height: 1.5; letter-spacing: .08em; }
#product-overview .purchase-option { display: block; box-sizing: border-box; min-width: 0; margin: 0 0 8px; padding: 12px; border: 1px solid #DFD4C8; border-radius: 11px; background: #FFFFFF; color: var(--pdp-ink); font-family: inherit; font-size: 14px; line-height: 1.45; cursor: pointer; transition: background-color .16s ease, border-color .16s ease; }
#product-overview .purchase-option:last-child { margin-bottom: 0; }
#product-overview .purchase-option:hover { border-color: var(--pdp-mocha); }
#product-overview .purchase-option.selected { border-color: var(--pdp-mocha); background: var(--pdp-surface); box-shadow: inset 0 0 0 1px var(--pdp-mocha); }
#product-overview .purchase-option:has(input:checked) { border-color: var(--pdp-mocha); background: var(--pdp-surface); box-shadow: inset 0 0 0 1px var(--pdp-mocha); }
#product-overview .purchase-option > div { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: start; column-gap: 9px; row-gap: 5px; min-width: 0; width: 100%; }
#product-overview .purchase-option input[type="radio"] { position: static !important; display: block !important; appearance: auto !important; -webkit-appearance: radio !important; flex: none; width: 18px !important; height: 18px !important; margin: 2px 0 0 !important; padding: 0; opacity: 1 !important; visibility: visible !important; clip: auto !important; clip-path: none !important; accent-color: var(--pdp-mocha); cursor: pointer; }
#product-overview .purchase-option > div > span { min-width: 0; font-weight: 600; overflow-wrap: anywhere; }
#product-overview .purchase-option strong { margin: 0; color: var(--pdp-ink); font-family: inherit; font-size: 16px; font-weight: 700; line-height: 1.4; text-align: end; white-space: normal; overflow-wrap: anywhere; }
#product-overview .purchase-option .save-tag { display: inline-block; margin: 0 0 0 5px; padding: 3px 6px; border: 0; border-radius: 999px; background: #F9E2B8; color: #5C3E18; font-size: 10px; font-weight: 700; line-height: 1.35; vertical-align: middle; white-space: normal; }
#product-overview .purchase-option p { margin: 5px 0 0; padding: 0 0 0 29px; color: var(--pdp-muted); font-size: 12px; line-height: 1.5; }
#product-overview .purchase-type-block__sale-badge { display: block; width: auto; margin: 5px 0 0 29px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--pdp-muted); font-size: 11px; line-height: 1.5; }
#product-overview .purchase-option:focus-within { outline: 2px solid var(--pdp-mocha); outline-offset: 3px; }

/* Share never takes width away from the quantity / primary action row. */
#product-overview .purchase-actions { display: grid; grid-template-columns: 132px minmax(0, 1fr); align-items: stretch; gap: 10px; min-width: 0; margin: 12px 0 0; }
#product-overview .purchase-actions .product-quantity-legacy { width: 132px; min-width: 0; max-width: 100%; margin: 0; padding: 0; border: 0; background: transparent; }
#product-overview .product-quantity-legacy .quantity-box-input { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; box-sizing: border-box; width: 132px; max-width: 100%; height: 52px; margin: 0; border: 1px solid var(--pdp-line); border-radius: 999px; background: #FFFFFF; overflow: hidden; }
#product-overview .product-quantity-legacy .input-group-prepend,
#product-overview .product-quantity-legacy .input-group-append { display: contents; }
#product-overview .product-quantity-legacy .quantity-box-input button,
#product-overview .product-quantity-legacy .quantity-box-input input { box-sizing: border-box; width: 100% !important; min-width: 0 !important; height: 50px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; color: var(--pdp-ink) !important; font-family: inherit !important; font-size: 16px !important; font-weight: 600; text-align: center; }
#product-overview .product-quantity-legacy .quantity-box-input button { min-height: 44px; cursor: pointer; touch-action: manipulation; }
#product-overview .product-quantity-legacy .quantity-box-input button:hover { background: var(--pdp-surface) !important; }
#product-overview .product-quantity-legacy .quantity-box-input input { border-inline: 1px solid #E8DED2 !important; }
#product-overview .product-quantity-legacy .quantity-box-input:focus-within { outline: 2px solid var(--pdp-mocha); outline-offset: 3px; }
#product-overview .purchase-actions #add-to-cart-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 4px 12px;
    min-width: 0;
    width: 100%;
    min-height: 52px;
    height: auto;
    margin: 0;
    padding: 12px 18px;
    border: 1px solid var(--pdp-amber) !important;
    border-radius: 999px;
    background: var(--pdp-amber) !important;
    color: #1E1511 !important;
    box-shadow: 0 5px 16px rgba(212, 139, 40, .18);
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .01em;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    text-shadow: none;
    cursor: pointer;
    touch-action: manipulation;
    transition: background-color .16s ease, box-shadow .16s ease;
}
#product-overview .purchase-actions #add-to-cart-button .pdp-cart-label { flex: 1 1 auto; min-width: 0; margin: 0; padding: 0; color: inherit; font-size: 13px; font-weight: 700; line-height: inherit; overflow-wrap: anywhere; }
#product-overview .purchase-actions #add-to-cart-button [data-add-button-price] { flex: 0 1 auto; margin: 0 auto; padding: 0; color: #1E1511; font-size: 14px; font-weight: 700; line-height: inherit; opacity: 1; overflow-wrap: anywhere; }
#product-overview .purchase-actions #add-to-cart-button:hover:not(:disabled) { background: var(--pdp-amber-hover) !important; border-color: var(--pdp-amber-hover) !important; color: #1E1511 !important; box-shadow: 0 6px 19px rgba(212, 139, 40, .23); filter: none; transform: none; }
#product-overview .purchase-actions #add-to-cart-button:disabled { opacity: .55; cursor: not-allowed; box-shadow: none; filter: none; transform: none; }
#product-overview .pdp-purchase-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; margin: 10px 0 0; padding: 0; }
#product-overview .pdp-full-details-link { display: inline-flex; align-items: center; min-height: 40px; padding: 4px 0; color: var(--pdp-mocha); font-size: 12px; line-height: 1.45; text-decoration: underline; text-underline-offset: 3px; }
#product-overview .pdp-purchase-footer .product-share-cta--bottom { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: 0 1 auto; min-width: 0; min-height: 44px; max-width: 100%; margin: 0 0 0 auto; padding: 10px 15px; border: 1px solid var(--pdp-line); border-radius: 999px; background: var(--pdp-oat); color: var(--pdp-mocha); box-shadow: none; font-family: inherit; font-size: 12px; font-weight: 600; line-height: 1.4; white-space: normal; }
#product-overview .pdp-purchase-footer .product-share-cta--bottom svg { width: 14px; height: 14px; flex: 0 0 14px; }
#product-overview .pdp-purchase-footer .product-share-cta--bottom:hover { border-color: var(--pdp-mocha); background: var(--pdp-surface); color: var(--pdp-ink); }

/* Optional upsell keeps all existing data, but follows the main order controls. */
#product-overview .product-upsell { display: grid; grid-template-columns: 76px minmax(0, 1fr); align-items: center; gap: 10px 14px; min-width: 0; margin: 22px 0 0 !important; padding: 17px 15px 14px; border: 1px solid #D4A867; border-radius: 14px; background: #FFF9EE; box-shadow: none; }
#product-overview .product-upsell__image-wrap { width: 76px; max-width: 100%; grid-row: 1; }
#product-overview .product-upsell__image { max-width: 76px; }
#product-overview .product-upsell__badge { margin-bottom: 5px; padding: 4px 7px; border-radius: 999px; background: #F1DFC1; color: #61411C; font-size: 10px; }
#product-overview .product-upsell__title { color: var(--pdp-ink); font-size: 18px; line-height: 1.25; }
#product-overview .product-upsell__item-name { color: var(--pdp-ink); font-size: 13px; line-height: 1.4; }
#product-overview .product-upsell__description { color: var(--pdp-muted); font-size: 12px; line-height: 1.5; }
#product-overview .product-upsell__sale-overlay { right: 12px; max-width: calc(100% - 24px); padding: 5px 9px; border: 1px solid #D4A867; background: #F9E2B8; color: #5C3E18; box-shadow: none; font-size: 11px; white-space: normal; }
#product-overview .product-upsell__actions { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 12px; text-align: start; }
#product-overview .product-upsell__price { color: var(--pdp-ink); font-size: 18px; }
#product-overview .product-upsell__button { min-height: 44px; margin: 0; padding: 10px 12px; border-color: #D4A867 !important; border-radius: 999px; background: #F9E2B8 !important; color: #1E1511 !important; box-shadow: none; font-size: 12px; line-height: 1.4; white-space: normal; }
#product-overview .product-upsell__button:hover { background: #F1D197 !important; box-shadow: none; filter: none; transform: none; }

/* Existing characteristics partial remains intact. Avoid a six-icon row of 9px text on phones. */
#product-overview .purchase-trust { display: block; min-width: 0; margin: 14px 0 0; padding: 0; }
#product-overview .purchase-trust .product-characteristics { width: 100%; min-width: 0; margin: 0; padding: 14px 0 0; border-top: 1px solid #E8DED2; }
#product-overview .purchase-trust .product-characteristics > .col-12:has(> .text-center) { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(64px, 1fr)); align-items: start; gap: 12px 8px !important; min-width: 0; }
#product-overview .purchase-trust .product-characteristics > .col-12 > .text-center { min-width: 0; }
#product-overview .purchase-trust .product-characteristics > .col-12 img { width: 34px; height: auto; max-width: 100%; max-height: 38px; margin: 0 auto 6px !important; object-fit: contain; }
#product-overview .purchase-trust .product-characteristics p { color: var(--pdp-muted) !important; font-size: 11px !important; line-height: 1.5 !important; }
#product-overview .purchase-trust .product-characteristics > .col-xl-10 { margin-top: 12px; }

/* Explicit focus styling is restricted to view-owned controls, not injected links. */
#product-overview .pdp-gallery-arrow:focus-visible,
#product-overview .pdp-gallery-zoom:focus-visible,
#product-overview .gallery-thumbnails button:focus-visible,
#product-overview .product-share-cta:focus-visible,
#product-overview .pdp-full-details-link:focus-visible,
#product-overview .pdp-benefits-disclosure > summary:focus-visible,
#product-overview .purchase-actions #add-to-cart-button:focus-visible { outline: 2px solid #7D5C4A !important; outline-offset: 3px; }

/* Dedicated native dialog, intentionally not a Bootstrap .modal. */
#product-image-dialog { box-sizing: border-box; position: fixed; inset: 0; width: min(1000px, calc(100vw - 32px)); max-width: calc(100vw - 32px); height: auto; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); margin: auto; padding: 0; overflow: auto; overscroll-behavior: contain; border: 1px solid #D4C5B8; border-radius: 18px; background: #F8F4EE; color: #2B201B; box-shadow: 0 24px 80px rgba(43, 32, 27, .25); }
#product-image-dialog:not([open]) { display: none !important; }
#product-image-dialog::backdrop { background: rgba(43, 32, 27, .72); }
#product-image-dialog .pdp-image-dialog__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid #E8DED2; }
#product-image-dialog #product-image-dialog-title { margin: 0; color: #2B201B; font-family: inherit; font-size: 16px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
#product-image-dialog #product-image-dialog-title span { display: block; color: #705E53; font-size: 12px; font-weight: 400; }
#product-image-dialog .pdp-image-dialog__stage { display: grid; place-items: center; min-width: 0; padding: 12px; }
#product-image-dialog .pdp-image-dialog__stage img { display: block; width: 100%; max-width: 100%; height: min(68vh, 760px); height: min(68dvh, 760px); min-height: 0; object-fit: contain; }
#product-image-dialog .pdp-image-dialog__footer { display: flex; align-items: center; justify-content: center; gap: 24px; padding: 9px 16px 13px; color: #705E53; font-size: 12px; font-variant-numeric: tabular-nums; }
#product-image-dialog .pdp-image-dialog__close,
#product-image-dialog .pdp-image-dialog__arrow { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; margin: 0; padding: 10px; border: 1px solid #D4C5B8; border-radius: 50%; background: #FFFDF9; color: #7D5C4A; cursor: pointer; touch-action: manipulation; }
#product-image-dialog button svg { display: block; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
#product-image-dialog button:hover { background: #F3EDE4; }
#product-image-dialog button:focus-visible { outline: 2px solid #7D5C4A; outline-offset: 3px; }
/* This state exists only while our new native image dialog is open. */
body.three-reference-page.pdp-image-open { overflow: hidden; }

@media (min-width: 992px) and (min-height: 780px) {
    #product-overview > .product-gallery { position: sticky; top: var(--pdp-sticky-top); }
}
@media (max-width: 991.98px) {
    #product-overview-breadcrumb { max-width: 720px; }
    #product-overview { grid-template-columns: minmax(0, 1fr); max-width: 720px; gap: 22px; }
    #product-overview > .product-gallery { position: relative; top: auto; width: min(100%, 520px); justify-self: center; }
    #product-overview #product-title { font-size: 40px; }
}
@media (max-width: 575.98px) {
    #product-overview-breadcrumb { padding-top: 10px; padding-bottom: 10px; font-size: 11px; }
    #product-overview { gap: 18px; padding-bottom: 28px; }
    #product-overview #product-title { font-size: 36px; }
    #product-overview .gallery-main { border-radius: 16px; }
    #product-overview .gallery-tag { top: 10px; left: 10px; padding: 6px 8px; font-size: 9px; max-width: calc(100% - 102px); }
    #product-overview .gallery-number { top: 10px; right: 10px; padding: 6px 8px; font-size: 10px; }
    #product-overview .pdp-gallery-arrow--previous { left: 8px; }
    #product-overview .pdp-gallery-arrow--next { right: 8px; }
    #product-overview .pdp-gallery-zoom { right: 10px; bottom: 10px; }
    #product-overview .gallery-thumbnails { gap: 7px; margin-top: 8px; }
    #product-overview .gallery-thumbnails button { flex-basis: 60px; width: 60px; height: 60px; }
    #product-overview .product-lead { font-size: 15px; }
    #product-overview .product-description { font-size: 14px; }
    #product-overview .pdp-purchase-card { padding: 12px; }
    #product-overview .purchase-option { padding: 11px 10px; }
    #product-overview .purchase-option > div { grid-template-columns: 18px minmax(0, 1fr) auto; column-gap: 8px; }
    #product-overview .purchase-option strong { font-size: 15px; }
    #product-overview .purchase-option p { padding-left: 26px; }
    #product-overview .purchase-type-block__sale-badge { margin-left: 26px; }
    #product-overview .purchase-actions { grid-template-columns: 132px minmax(0, 1fr); gap: 8px; }
    #product-overview .purchase-actions #add-to-cart-button { justify-content: center; padding: 10px 12px; gap: 2px 8px; }
    #product-overview .purchase-actions #add-to-cart-button .pdp-cart-label { flex-basis: 100%; font-size: 12px; }
    #product-overview .purchase-actions #add-to-cart-button [data-add-button-price] { font-size: 13px; }
    #product-overview .pdp-purchase-footer { gap: 4px 8px; }
    #product-overview .pdp-full-details-link { flex: 1 1 100px; font-size: 11px; }
    #product-overview .pdp-purchase-footer .product-share-cta--bottom { padding: 10px 12px; font-size: 12px; }
    #product-overview .product-upsell { grid-template-columns: 70px minmax(0, 1fr) !important; }
    #product-overview .product-upsell__image-wrap { width: 70px; }
    #product-overview .purchase-trust .product-characteristics > .col-12:has(> .text-center) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    #product-overview .purchase-trust .product-characteristics > .col-12:has(> .text-center:nth-child(4)):not(:has(> .text-center:nth-child(5))) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 359.98px) {
    #product-overview .purchase-actions { grid-template-columns: minmax(0, 1fr); }
    #product-overview .product-quantity-legacy { justify-self: start; }
    #product-overview .purchase-actions #add-to-cart-button .pdp-cart-label { flex-basis: auto; }
    #product-overview .purchase-option > div { grid-template-columns: 18px minmax(0, 1fr); }
    #product-overview .purchase-option strong { grid-column: 2; text-align: start; }
    #product-overview .purchase-option .save-tag { margin-left: 0; }
}
/* Mirror view-owned directional affordances when the active document is RTL. */
#product-overview:dir(rtl) .gallery-tag { left: auto; right: 14px; }
#product-overview:dir(rtl) .gallery-number { right: auto; left: 14px; direction: ltr; }
#product-overview:dir(rtl) .pdp-gallery-arrow--previous { left: auto; right: 12px; }
#product-overview:dir(rtl) .pdp-gallery-arrow--next { right: auto; left: 12px; }
#product-overview:dir(rtl) .pdp-gallery-zoom { right: auto; left: 14px; }
#product-overview:dir(rtl) .pdp-gallery-arrow svg,
#product-image-dialog:dir(rtl) .pdp-image-dialog__arrow svg { transform: scaleX(-1); }
#product-overview:dir(rtl) .purchase-option p { padding-left: 0; padding-right: 29px; }
#product-overview:dir(rtl) .purchase-type-block__sale-badge { margin-left: 0; margin-right: 29px; }
#product-overview:dir(rtl) .purchase-option .save-tag { margin-left: 0; margin-right: 5px; }
#product-overview:dir(rtl) .pdp-purchase-footer .product-share-cta--bottom { margin-left: 0; margin-right: auto; }
@media (max-width: 575.98px) {
    #product-overview:dir(rtl) .gallery-tag { right: 10px; }
    #product-overview:dir(rtl) .gallery-number { left: 10px; }
    #product-overview:dir(rtl) .pdp-gallery-arrow--previous { right: 8px; }
    #product-overview:dir(rtl) .pdp-gallery-arrow--next { left: 8px; }
    #product-overview:dir(rtl) .pdp-gallery-zoom { left: 10px; }
    #product-overview:dir(rtl) .purchase-option p { padding-right: 26px; }
    #product-overview:dir(rtl) .purchase-type-block__sale-badge { margin-right: 26px; }
}

@media (prefers-reduced-motion: reduce) {
    #product-overview .pdp-gallery-arrow,
    #product-overview .pdp-gallery-zoom,
    #product-overview .pdp-benefits-disclosure > summary svg,
    #product-overview .purchase-option,
    #product-overview .purchase-actions #add-to-cart-button,
    #product-overview .product-upsell__button { transition: none; animation: none; }
    #product-overview .gallery-thumbnails { scroll-behavior: auto; }
}
@media (forced-colors: active) {
    #product-overview .gallery-thumbnails button[aria-pressed="true"],
    #product-overview .purchase-option.selected { outline: 2px solid Highlight; outline-offset: -3px; }
    #product-overview .purchase-option input[type="radio"] { forced-color-adjust: auto; }
}
@media print {
    #product-overview { display: block; max-width: none; padding: 0; }
    #product-overview > .product-gallery { position: static; max-width: 320px !important; margin: 0 0 20px; }
    #product-overview .pdp-gallery-arrow,
    #product-overview .pdp-gallery-zoom,
    #product-image-dialog { display: none !important; }
}


/* V39 | Request-bound cart feedback. Product actions only; no Bootstrap/global
   button, AJAX, modal or cart-drawer styling is changed. */
#product-overview .purchase-actions #add-to-cart-button.pdp-cart-is-busy:disabled,
#product-overview .purchase-actions #add-to-cart-button.pdp-cart-is-added:disabled,
body.three-reference-page #product-overview [data-pdp-cart-action].pdp-cart-is-busy:disabled,
body.three-reference-page #product-overview [data-pdp-cart-action].pdp-cart-is-added:disabled,
body.three-reference-page button[data-product-mobile-add].pdp-cart-is-busy,
body.three-reference-page button[data-product-mobile-add].pdp-cart-is-added {
    opacity: 1;
    cursor: wait;
    transform: none !important;
    filter: none !important;
    transition: none;
}
body.three-reference-page [data-pdp-cart-action].pdp-cart-is-busy [data-pdp-cart-label],
body.three-reference-page [data-pdp-cart-action].pdp-cart-is-added [data-pdp-cart-label] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    overflow-wrap: anywhere;
}
body.three-reference-page [data-pdp-cart-action].pdp-cart-is-busy [data-pdp-cart-label]::before {
    content: "";
    display: inline-block;
    flex: 0 0 16px;
    box-sizing: border-box;
    width: 16px;
    height: 16px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: pdp-cart-request-spin .75s linear infinite;
}
body.three-reference-page [data-pdp-cart-action].pdp-cart-is-added [data-pdp-cart-label]::before {
    content: "\2713";
    display: inline-block;
    flex: 0 0 16px;
    width: 16px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
}
#product-overview .pdp-cart-feedback {
    margin: 0;
    padding: 0;
    color: #705E53;
    font-size: 12px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
#product-overview .pdp-cart-feedback:not(:empty) { margin-top: 10px; }
#product-overview .pdp-cart-feedback[data-state="success"] { color: #2B201B; }
#product-overview .pdp-cart-feedback[data-state="error"] { color: #8B3025; font-weight: 600; }
@keyframes pdp-cart-request-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    body.three-reference-page [data-pdp-cart-action].pdp-cart-is-busy [data-pdp-cart-label]::before {
        animation: none;
    }
}


/* ============================================================================
   V40 | Pack editorial text + brand-surface benefit icons — 2026-11-03
   Built on V39 cart-loading update; no commerce JavaScript changes.

   Scope: #ImpactPack-Details or the supplied .impact-pack-template-content
   inside the existing long-description / kit-item hosts. No hero/product-tile,
   scientific-officer, global Bootstrap, or other product-module selectors.
   Stored HTML, copy, product names, URLs and event handlers are not rewritten.
   ============================================================================ */

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) {
    --pack-ink: #2B201B;
    --pack-muted: #705E53;
    --pack-mocha: #7D5C4A;
    --pack-oat: #F8F4EE;
    --pack-surface: #F3EDE4;
    --pack-line: #E8DED2;
    --pack-body: "Plus Jakarta Sans", "Segoe UI", Arial, sans-serif;
    --pack-display: "Playfair Display", Georgia, "Times New Roman", serif;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 28px 0 32px;
    padding: clamp(22px, 3.2vw, 42px);
    border: 1px solid var(--pack-line);
    border-radius: 20px;
    background: var(--pack-oat);
    color: var(--pack-ink);
    font-family: var(--pack-body);
    font-size: 15px;
    line-height: 1.7;
    text-align: start;
    overflow-wrap: anywhere;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container,
:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container.px-0 {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0 !important;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) h2,
:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) h3 {
    max-width: 100%;
    color: var(--pack-ink) !important;
    font-family: var(--pack-display) !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    letter-spacing: -.02em;
    text-transform: none !important;
    overflow-wrap: anywhere;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > h2 {
    margin: 0 0 16px !important;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.25 !important;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) p,
:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) li {
    color: var(--pack-muted);
    font-family: var(--pack-body);
    font-size: 15px;
    line-height: 1.7 !important;
    text-transform: none;
    overflow-wrap: anywhere;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > h2 + p,
:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > h2 + p:not([style]) {
    max-width: 88ch;
    margin: 0 0 24px !important;
    font-size: 16px;
    line-height: 1.7 !important;
}

/* The source summary is one paragraph, not a <ul>. Keep all product copy;
   neutralize its inline multicolor gradient/stripe and arrange only the known
   strong/span pairs. Unrecognised prose keeps normal flow as a safe fallback. */

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > p[style*="linear-gradient"] {
    box-sizing: border-box;
    max-width: 100%;
    margin: 26px 0 28px !important;
    padding: clamp(18px, 2.2vw, 26px) !important;
    border: 1px solid var(--pack-line) !important;
    border-inline-start: 3px solid var(--pack-mocha) !important;
    border-radius: 14px !important;
    background: #FFFFFF !important;
    box-shadow: none !important;
    color: var(--pack-muted) !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > p[style*="linear-gradient"] > strong,
:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > p[style*="linear-gradient"] > b {
    color: var(--pack-mocha) !important;
    font-family: var(--pack-body);
    font-weight: 700 !important;
    line-height: 1.5 !important;
    overflow-wrap: anywhere;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > p[style*="linear-gradient"] > span {
    color: var(--pack-muted) !important;
    font-family: var(--pack-body);
    font-size: inherit;
    line-height: 1.65 !important;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > p[style*="linear-gradient"]:has(> strong + span + span + strong) {
    display: grid;
    grid-template-columns: minmax(160px, .34fr) minmax(0, 1fr);
    align-items: baseline;
    gap: 12px 24px;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > p[style*="linear-gradient"]:has(> strong + span + span + strong) > strong:first-child {
    display: block !important;
    grid-column: 1 / -1;
    margin: 0 0 3px !important;
    padding: 0 0 13px;
    border-bottom: 1px solid var(--pack-line);
    color: var(--pack-ink) !important;
    font-size: 11px;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    letter-spacing: .09em;
    text-transform: uppercase;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > p[style*="linear-gradient"]:has(> strong + span + span + strong) > strong:not(:first-child) {
    display: block !important;
    grid-column: 1;
    min-width: 0;
    margin: 0 !important;
    padding: 0;
    font-size: 14px;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > p[style*="linear-gradient"]:has(> strong + span + span + strong) > strong + span {
    display: block;
    grid-column: 2;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

/* Hide only separator spans between two complete name/description pairs. */

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > p[style*="linear-gradient"]:has(> strong + span + span + strong) > strong + span + span:has(+ strong) {
    display: none !important;
}

/* The text-only benefit columns become two comfortable reading columns.
   Direct children only: nested Bootstrap layouts elsewhere are untouched. */

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > .row.mt-4 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 16px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 0;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > .row.mt-4 > [class*="col-"] {
    box-sizing: border-box;
    display: block;
    float: none;
    flex: none !important;
    width: 100%;
    max-width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: clamp(18px, 2.2vw, 26px) !important;
    border: 1px solid var(--pack-line);
    border-radius: 14px;
    background: #FFFFFF;
    box-shadow: none;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > .row.mt-4 > [class*="col-"] > h3 {
    margin: 0 0 12px !important;
    font-size: clamp(21px, 1.9vw, 25px);
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > .row.mt-4 > [class*="col-"] > p {
    margin: 0 0 12px !important;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > .row.mt-4 > [class*="col-"] > p:last-child {
    margin-bottom: 0 !important;
}

/* Closing prose stays in place; a quiet rule replaces the uneven gutters. */

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > :is(.p-3, .p-md-4) {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 26px 0 0;
    padding: 24px 0 0 !important;
    border-top: 1px solid #D4C5B8;
    background: transparent;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > :is(.p-3, .p-md-4) > h3 {
    margin: 0 0 12px !important;
    font-size: clamp(22px, 2.2vw, 28px);
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > :is(.p-3, .p-md-4) > p {
    max-width: 96ch;
    margin: 0 0 12px !important;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > :is(.p-3, .p-md-4) > p:last-child {
    margin-bottom: 0 !important;
}

/* Real unordered lists receive a hanging indent and ordinary markers.
   Ordered-list numbering and other components' list styles are left alone. */

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) ul {
    display: block !important;
    margin: 12px 0 16px !important;
    padding: 0 !important;
    padding-inline-start: 1.5em !important;
    color: var(--pack-muted);
    list-style: disc outside !important;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) ul > li {
    display: list-item !important;
    position: static;
    float: none;
    margin: 0 0 8px !important;
    padding: 0 !important;
    list-style-type: inherit !important;
    list-style-position: outside !important;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) ul > li::before,
:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) ul > li::after {
    content: none !important;
    display: none !important;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) ul > li::marker {
    color: var(--pack-mocha);
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) li > ul {
    margin: 8px 0 !important;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) ul ul {
    list-style-type: circle !important;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) ul > li > p {
    margin: 0 0 8px !important;
}

@media (max-width: 767.98px) {

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) {
    margin-block: 20px 26px;
    padding: 22px 18px;
    border-radius: 16px;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > .row.mt-4 {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > h2 + p,
:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > h2 + p:not([style]) {
    font-size: 15px;
}

}

@media (max-width: 575.98px) {

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > p[style*="linear-gradient"]:has(> strong + span + span + strong) {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 5px;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > p[style*="linear-gradient"]:has(> strong + span + span + strong) > strong:first-child {
    margin-bottom: 5px !important;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > p[style*="linear-gradient"]:has(> strong + span + span + strong) > strong:not(:first-child) {
    grid-column: 1;
    margin-top: 9px !important;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > p[style*="linear-gradient"]:has(> strong + span + span + strong) > strong + span {
    grid-column: 1;
}

}

@media print {

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) {
    margin: 20px 0;
    padding: 18px;
    background: #FFFFFF;
    box-shadow: none;
}

:is(#full-product-information #long-desc, #kitItemDetailsDiv) :is(#ImpactPack-Details, .impact-pack-template-content) > .container > .row.mt-4 > [class*="col-"] {
    break-inside: avoid;
}

}

/* ============================================================================
   V42 | Injected overview benefit icons: no forced row background - 2026-11-03
   The row background rule has been removed as verified in the live-page DevTools.
   Do not replace it with another color or override. Layout remains unchanged.
   The existing transparent cell/caption/image rule below is retained unchanged.
   ============================================================================ */
/* A cell/caption/image CSS background must not paint a white rectangle over the
   row. This clears CSS backgrounds only; source image pixels are not modified. */
:is(#product-overview, .product-detail)
  :is(.product-description, .product-description-extra)
  .d-flex:has(> .text-center > :is(img, picture)) > .text-center,
:is(#product-overview, .product-detail)
  :is(.product-description, .product-description-extra)
  .d-flex:has(> .text-center > :is(img, picture)) > .text-center :is(p, img, picture) {
    background: transparent !important;
}
