.product-detail {
    --bw-pdp-card: #f2f4ed;
    --bw-pdp-line: #eae9e4;
    --bw-pdp-hair: #e0e0e0;
    --bw-pdp-swatch-bg: #f0f0f0;
    --bw-pdp-lime: #cfde62;
    --bw-pdp-ink-soft: #1c2421;
    --bw-pdp-muted: #636f6b;
    --bw-pdp-rail-ratio: 15.7447%;
}

.product-detail__info-group {
    display: flex;
}

@media (min-width: 960px) {
    .product-detail {
        padding-inline: 40px;
    }

    .product-detail__main[data-desktop-direction="row"] {
        align-items: flex-start;
    }

    .product-detail__info {
        padding-inline-start: 60px;
    }
}

@media (min-width: 960px) {
    .product-detail__media-gallery[data-desktop-layout="stacked"] .media-gallery__sticky-wrapper {
        padding-inline-end: var(--bw-pdp-rail-ratio);
    }

    .product-detail__media-gallery[data-desktop-layout="stacked"] .product-detail__media-layer {
        inset: 0 0 auto auto;
        width: var(--bw-pdp-rail-ratio);
        aspect-ratio: 148 / 792;
    }

    .product-detail__media-gallery .media-gallery__sticky-wrapper .media-gallery__preview-icon {
        opacity: 1;
    }
}

.product-detail-wrapper .product-detail__media-gallery .media-gallery__media {
    border-radius: 24px;
    background-color: var(--bw-warm);
}

.product-detail-wrapper .product-detail__media-gallery .media-gallery__preview-icon {
    inset-block-end: 22px;
    inset-inline-end: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.6);
    border: 1px solid rgba(0, 0, 0, 1);
}

.product-detail-wrapper .product-detail__media-gallery .media-gallery__preview-icon .icon {
    width: 24px;
    height: 24px;
    color: var(--bw-cream);
}

.product-detail-wrapper .product-detail__media-gallery .media-gallery__preview-icon .icon circle {
    fill: none;
}

.product-detail__media-layer>.rte {
    display: flex;
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
}

.product-detail__media-layer .bw-rail {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding-block: 11.5px;
    padding-inline: 24px 0;
    margin: 0;
    list-style: none;
}

.product-detail__media-layer .bw-rail__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 13px;
    width: 100%;
    padding: 0;
    margin: 0;
    text-align: center;
}

.product-detail__media-layer .bw-rail__icon {
    display: block;
    width: 84px;
    height: 84px;
    margin: 0;
    color: var(--bw-ink);
}

.product-detail__media-layer .bw-rail__label {
    font-family: var(--bw-font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--bw-ink);
}

@media (max-width: 959px) {

    /* The detail column stack is align-items: flex-start, so the main row would shrink-wrap to the
     gallery's intrinsic width and pan the phone document sideways. */
    .product-detail-wrapper .product-detail__main {
        width: 100%;
        min-width: 0;
    }

    .product-detail-wrapper .product-detail__media-layer {
        position: static;
        width: 100%;
    }

    .product-detail__media-layer .bw-rail {
        flex-direction: row;
        align-items: flex-start;
        height: auto;
        padding-block: 20px;
        padding-inline: var(--page-padding);
        gap: 8px;
    }

    .product-detail__media-layer .bw-rail__item {
        gap: 8px;
    }

    .product-detail__media-layer .bw-rail__icon {
        width: 44px;
        height: 44px;
    }

    .product-detail__media-layer .bw-rail__label {
        font-size: 11px;
    }

    /* The zoom overlay's slides are row-flex items; a landscape frame's automatic minimum size
     (min-width: auto) lets one grow past the 100% track and widen the phone document. */
    .product-media-preview .product-media-preview__main,
    .product-media-preview .product-media-preview__content {
        max-width: 100%;
    }

    .product-media-preview .product-media-preview__media {
        min-width: 0;
        max-width: 100%;
    }
}

.bw-pdp-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.bw-pdp-badge {
    display: inline-flex;
    align-items: center;
    height: 40px;
    font-family: var(--bw-font-body);
    font-weight: 700;
    white-space: nowrap;
}

.bw-pdp-badge__icon {
    display: block;
    flex: none;
}

.bw-pdp-badge--solid {
    gap: 10px;
    padding: 5px 10px;
    border-radius: 10px;
    background: var(--bw-ink);
    color: var(--bw-cream);
    font-size: 20px;
}

.bw-pdp-badge--solid .bw-pdp-badge__icon {
    width: 30px;
    height: 30px;
}

.bw-pdp-badge--outlined {
    gap: 5px;
    padding: 5px 10px;
    border: 1.25px solid var(--bw-cream);
    border-radius: 10px;
    background: var(--bw-ink);
    color: var(--bw-cream);
    font-size: 20px;
}

.bw-pdp-badge--outlined .bw-pdp-badge__icon {
    width: 27.5px;
    height: 27.5px;
}

.bw-pdp-badge--ghost {
    gap: 4px;
    padding: 4px 8px;
    border: 1px solid #000;
    border-radius: 8px;
    color: var(--bw-ink);
    font-size: 18px;
}

.bw-pdp-badge--ghost .bw-pdp-badge__icon {
    width: 22px;
    height: 22px;
}

.bw-pdp-badge--accent {
    gap: 4px;
    padding: 4px 8px;
    border-radius: 8px;
    background: var(--bw-accent);
    color: var(--bw-ink);
    font-size: 18px;
}

[id$="__pdp-reviews"]:not(:has(.plugin-product-comment-detail-list, .plugin-product-comment-detail-mobile-list)) {
    margin-block: 0;
    padding-block: 0;
}

[id$="__pdp-reviews"]:not(:has(.plugin-product-comment-detail-list, .plugin-product-comment-detail-mobile-list)) .plugin-product-comment-list-wrap {
    display: none;
}

.bw-review-stars:empty {
    display: none;
}

.product-detail__info .plugin-product-comment-product-subTitle-start {
    height: 26px !important;
    margin: 0 !important;
}

.product-detail__info .plugin-product-comment-product-subTitle-start>div:first-child {
    height: 26px !important;
}

.product-detail__info .plugin-product-comment-product-subTitle-start>div:first-child>div,
.product-detail__info .product-plugin-comment-rate-star-half>div:first-child,
.product-detail__info .product-plugin-comment-rate-star-half>div:last-child>div,
.product-detail__info .plugin-product-comment-product-subTitle-start svg {
    width: 26px !important;
    height: 26px !important;
}

.product-detail__info .plugin-product-comment-product-subTitle-start>div:not(:first-child) {
    font-family: var(--bw-font-body);
    font-size: 14px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 0;
    color: var(--bw-ink);
}

[id$="__pdp-reviews"] .plugin-product-comment-title {
    margin: 0 0 24px;
}

[id$="__pdp-reviews"] .plugin-product-comment-title,
[id$="__pdp-reviews"] .plugin-product-comment-title * {
    font-family: var(--bw-font-heading);
    font-size: 60px;
    font-weight: 600;
    line-height: 60px;
    letter-spacing: 0;
    color: var(--bw-ink);
}

[id$="__pdp-reviews"] .plugin-product-comment-commentSynthesize {
    font-family: var(--bw-font-heading) !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    color: var(--bw-ink) !important;
}

[id$="__pdp-reviews"] .plugin-product-comment-select-buttons-item {
    border-radius: var(--bw-radius-pill) !important;
    border-color: var(--bw-line) !important;
}

[id$="__pdp-reviews"] .plugin-product-comment-select-buttons-item,
[id$="__pdp-reviews"] .plugin-product-comment-select-text {
    font-family: var(--bw-font-body) !important;
    font-size: 14px !important;
    letter-spacing: 0 !important;
    color: var(--bw-ink) !important;
}

[id$="__pdp-reviews"] .isv-web-btn.isv-web-btn-primary {
    border-radius: var(--bw-radius-pill);
    border-color: var(--bw-ink);
    background: var(--bw-ink);
    font-family: var(--bw-font-body);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0;
    color: var(--bw-cream);
}

[id$="__pdp-reviews"] .plugin-product-comment-infoWrap {
    padding: 16px !important;
    border-color: var(--bw-line) !important;
    border-radius: var(--bw-radius-card) !important;
    background: #f6f6f5;
}

[id$="__pdp-reviews"] .plugin-product-comment-nicknameskuAttributes,
[id$="__pdp-reviews"] .plugin-product-comment-date {
    font-family: var(--bw-font-body) !important;
    color: var(--bw-muted) !important;
}

[id$="__pdp-reviews"] .plugin-product-comment-WaterCommentWrapTitle,
[id$="__pdp-reviews"] .plugin-product-comment-content-info {
    font-family: var(--bw-font-body);
    letter-spacing: 0;
    color: var(--bw-ink);
}

[id$="__pdp-reviews"]:has(.plugin-product-comment-detail-mobile-list) .plugin-product-comment-title,
[id$="__pdp-reviews"]:has(.plugin-product-comment-detail-mobile-list) .plugin-product-comment-title * {
    font-size: 34px;
    line-height: 36px;
    letter-spacing: 0;
}

[id$="__pdp-reviews"]:has(.plugin-product-comment-detail-mobile-list) .plugin-product-comment-mobile-CommentWrap {
    margin-top: 12px;
    padding: 16px !important;
    border: 1px solid var(--bw-line);
    border-radius: var(--bw-radius-card);
    background: #f6f6f5;
}

[id$="__pdp-reviews"]:has(.plugin-product-comment-detail-mobile-list) .plugin-product-comment-comment__title {
    font-family: var(--bw-font-body);
    font-size: 16px;
    letter-spacing: 0;
    color: var(--bw-ink);
}

[id$="__pdp-reviews"]:has(.plugin-product-comment-detail-mobile-list) .plugin-product-comment-content {
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 0;
}

[id$="__pdp-reviews"]:has(.plugin-product-comment-detail-mobile-list) .plugin-product-comment-userInfo .plugin-product-comment-nicknameskuAttributes,
[id$="__pdp-reviews"]:has(.plugin-product-comment-detail-mobile-list) .plugin-product-comment-userInfo .plugin-product-comment-date,
[id$="__pdp-reviews"]:has(.plugin-product-comment-detail-mobile-list) .plugin-product-comment-userInfo .plugin-product-comment-date span {
    font-size: 12px;
    line-height: 19.2px;
    letter-spacing: 0;
}

[id$="__pdp-reviews"]:has(.plugin-product-comment-detail-mobile-list) .plugin-product-comment-seeAllReviews,
[id$="__pdp-reviews"]:has(.plugin-product-comment-detail-mobile-list) .plugin-product-comment-seeAllReviews *,
[id$="__pdp-reviews"]:has(.plugin-product-comment-detail-mobile-list) .isv-web-pagination .isv-web-pagination-item-active,
[id$="__pdp-reviews"]:has(.plugin-product-comment-detail-mobile-list) .isv-web-pagination .isv-web-pagination-item-active a {
    color: var(--bw-ink);
}

[id$="__pdp-reviews"]:has(.plugin-product-comment-detail-mobile-list) .plugin-product-comment-seeAllReviews {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding-inline: 8px;
    margin-inline-end: -8px;
}

.product-detail__info .product-detail__title {
    margin: 0;
    font-family: var(--bw-font-heading);
    font-size: 80px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
    color: var(--bw-ink);
}

.product-detail__info .block-product-description {
    padding: 0;
}

/* The engine names the block `.product-description` (the harness fixture says
   `.block-product-description`); the mock's 160% line-height has to reach the paragraphs, which
   otherwise inherit the body3 token's 1.4. */
.product-detail__info .block-product-description .rte,
.product-detail__info .block-product-description .rte p,
.product-detail__info .product-description.rte,
.product-detail__info .product-description .rte,
.product-detail__info .product-description p {
    font-family: var(--bw-font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    color: var(--bw-ink);
}

.bw-pdp-doclink {
    display: inline-block;
    font-family: var(--bw-font-body);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
    color: var(--bw-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Client feedback 2026-09-06: "Ingredients & Supplement Facts" has to read as a link. A later
   product-info rule strips the underline (computed text-decoration: none), so it is pinned here. */
.product-detail .bw-pdp-doclink,
.bw-pdp-doclink {
    text-decoration: underline !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.bw-pdp-doclink:hover {
    text-decoration-thickness: 2px;
}

.product-detail__variant-picker .product-detail__row--desktop-direction-column {
    row-gap: 24px;
}

.product-detail__variant-picker .variant-picker__group-head {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    padding-block-start: 24px;
}

.product-detail__variant-picker .variant-picker__group-head::after {
    display: block;
    width: 100%;
    height: 1px;
    background: var(--bw-pdp-hair);
    content: "";
}

.product-detail__variant-picker .variant-picker__group-label {
    padding: 0;
    font-family: var(--bw-font-heading);
    font-size: 14px;
    font-weight: 600 !important;
    line-height: 1.2;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--bw-ink);
}

.product-detail-wrapper .product-detail__variant-picker .variant-picker__options {
    display: flex;
    flex-wrap: wrap;
    gap: 10.67px;
    align-items: center;
}

.product-detail__variant-picker .variant-picker__option {
    position: relative;
    display: inline-flex;
    margin: 0;
}

.product-detail__variant-picker .variant-picker__button--text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 16px;
    border: 1px solid var(--bw-ink);
    border-radius: var(--bw-radius-pill);
    font-family: var(--bw-font-body);
    font-size: 14px;
    font-weight: 500;
    color: var(--bw-ink);
    background: transparent;
    cursor: pointer;
}

.product-detail__variant-picker .variant-picker__input:checked+.variant-picker__button--text {
    background: var(--bw-ink);
    color: var(--bw-cream);
}

.variant-picker__option-name {
    display: none;
}

.product-detail__variant-picker .variant-picker__options:has(.variant-picker__input[value="Pineapple Passionfruit"], .variant-picker__input[value="Raspberry Lemon"], .variant-picker__input[value="Strawberry Watermelon"], .variant-picker__input[value="Wild Berry"], .variant-picker__input[value="Peach Mango"], .variant-picker__input[value="Strawberry Lemonade"]) {
    align-items: flex-start;
}

.product-detail__variant-picker .variant-picker__option:has(> .variant-picker__input[value="Pineapple Passionfruit"], > .variant-picker__input[value="Raspberry Lemon"], > .variant-picker__input[value="Strawberry Watermelon"], > .variant-picker__input[value="Wild Berry"], > .variant-picker__input[value="Peach Mango"], > .variant-picker__input[value="Strawberry Lemonade"]) {
    flex-direction: column;
    align-items: center;
    row-gap: 8px;
    width: 104px;
}

.product-detail__variant-picker .variant-picker__option:has(> .variant-picker__input[value="Pineapple Passionfruit"], > .variant-picker__input[value="Raspberry Lemon"], > .variant-picker__input[value="Strawberry Watermelon"], > .variant-picker__input[value="Wild Berry"], > .variant-picker__input[value="Peach Mango"], > .variant-picker__input[value="Strawberry Lemonade"]) .variant-picker__option-name {
    display: block;
    font-family: var(--bw-font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
    color: #030303;
}

.product-detail__variant-picker .variant-picker__option,
.product-detail__variant-picker .variant-picker__button {
    cursor: pointer;
}

.product-detail__variant-picker .variant-picker__option.disabled,
.product-detail__variant-picker .variant-picker__option:has(input:disabled) {
    opacity: 0.45;
    cursor: default;
}

.product-detail__variant-picker .variant-picker__option.disabled .variant-picker__button,
.product-detail__variant-picker .variant-picker__option:has(input:disabled) .variant-picker__button {
    cursor: default;
}

.product-detail__variant-picker .variant-picker__option.disabled .variant-picker__option-name,
.product-detail__variant-picker .variant-picker__option:has(input:disabled) .variant-picker__option-name {
    text-decoration: line-through;
}

.product-detail__variant-picker .variant-picker__slash {
    display: none;
}

.product-detail__variant-picker .variant-picker__input[value="Pineapple Passionfruit"]+.variant-picker__button--text,
.product-detail__variant-picker .variant-picker__input[value="Raspberry Lemon"]+.variant-picker__button--text,
.product-detail__variant-picker .variant-picker__input[value="Strawberry Watermelon"]+.variant-picker__button--text,
.product-detail__variant-picker .variant-picker__input[value="Wild Berry"]+.variant-picker__button--text,
.product-detail__variant-picker .variant-picker__input[value="Peach Mango"]+.variant-picker__button--text,
.product-detail__variant-picker .variant-picker__input[value="Strawberry Lemonade"]+.variant-picker__button--text {
    width: 80px;
    height: 80px;
    min-height: 80px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 12px;
    background: var(--bw-pdp-swatch-bg);
    font-size: 0;
    color: transparent;
    overflow: hidden;
}

.product-detail__variant-picker .variant-picker__input[value="Pineapple Passionfruit"]+.variant-picker__button--text::before,
.product-detail__variant-picker .variant-picker__input[value="Raspberry Lemon"]+.variant-picker__button--text::before,
.product-detail__variant-picker .variant-picker__input[value="Strawberry Watermelon"]+.variant-picker__button--text::before,
.product-detail__variant-picker .variant-picker__input[value="Wild Berry"]+.variant-picker__button--text::before,
.product-detail__variant-picker .variant-picker__input[value="Peach Mango"]+.variant-picker__button--text::before,
.product-detail__variant-picker .variant-picker__input[value="Strawberry Lemonade"]+.variant-picker__button--text::before {
    display: block;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--bw-swatch, var(--bw-pdp-swatch-bg));
    content: "";
}

.product-detail-wrapper .product-detail__variant-picker .variant-picker__input[value="Pineapple Passionfruit"]:checked+.variant-picker__button--text,
.product-detail-wrapper .product-detail__variant-picker .variant-picker__input[value="Raspberry Lemon"]:checked+.variant-picker__button--text,
.product-detail-wrapper .product-detail__variant-picker .variant-picker__input[value="Strawberry Watermelon"]:checked+.variant-picker__button--text,
.product-detail-wrapper .product-detail__variant-picker .variant-picker__input[value="Wild Berry"]:checked+.variant-picker__button--text,
.product-detail-wrapper .product-detail__variant-picker .variant-picker__input[value="Peach Mango"]:checked+.variant-picker__button--text,
.product-detail-wrapper .product-detail__variant-picker .variant-picker__input[value="Strawberry Lemonade"]:checked+.variant-picker__button--text {
    border-color: var(--bw-ink);
    background: var(--bw-pdp-swatch-bg);
    color: transparent;
}

.product-detail__variant-picker .variant-picker__input[value="Pineapple Passionfruit"]+.variant-picker__button--text {
    --bw-swatch: #f6c445;
}

.product-detail__variant-picker .variant-picker__input[value="Raspberry Lemon"]+.variant-picker__button--text {
    --bw-swatch: #e24b4b;
}

.product-detail__variant-picker .variant-picker__input[value="Strawberry Watermelon"]+.variant-picker__button--text {
    --bw-swatch: #57c06b;
}

.product-detail__variant-picker .variant-picker__input[value="Wild Berry"]+.variant-picker__button--text {
    --bw-swatch: #7a4a8c;
}

.product-detail__variant-picker .variant-picker__input[value="Peach Mango"]+.variant-picker__button--text {
    --bw-swatch: #f59a4b;
}

.product-detail__variant-picker .variant-picker__input[value="Strawberry Lemonade"]+.variant-picker__button--text {
    --bw-swatch: #f2685e;
}

/* The value-keyed rules above stay as the colour-circle fallback; these carry the same tile for
   ANY value of the flavour option, and swap the circle for the value's own variant photo. */
.product-detail__variant-picker .variant-picker__options:has(.bw-flavor-tile) {
    align-items: flex-start;
}

.product-detail__variant-picker .variant-picker__option:has(> .variant-picker__input + .bw-flavor-tile) {
    flex-direction: column;
    align-items: center;
    row-gap: 8px;
    width: 104px;
}

.product-detail__variant-picker .variant-picker__option:has(> .variant-picker__input + .bw-flavor-tile) .variant-picker__option-name {
    display: block;
    font-family: var(--bw-font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
    color: #030303;
}

.product-detail__variant-picker .variant-picker__option .variant-picker__button.variant-picker__button--text.bw-flavor-tile {
    width: 80px;
    height: 80px;
    min-height: 80px;
    padding: 7px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: var(--bw-pdp-swatch-bg);
    font-size: 0;
    color: transparent;
    overflow: hidden;
}

.product-detail__variant-picker .variant-picker__input:checked+.variant-picker__button.variant-picker__button--text.bw-flavor-tile {
    border-color: var(--bw-ink);
    background: var(--bw-pdp-swatch-bg);
    color: transparent;
}

.product-detail__variant-picker .variant-picker__option .variant-picker__button.variant-picker__button--text.bw-flavor-tile--media::before {
    content: none;
}

.product-detail__variant-picker .bw-flavor-tile .bw-flavor-tile__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-detail__variant-picker .variant-picker__group.bw-bundle-bound>.product-detail__row {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.bw-pdp-delivery {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* R-80: the platform stylesheet resets controls inside .custom-sline at equal
   specificity, so every box/type prop of this button is asserted. */
.bw-pdp-delivery__how {
    align-self: flex-start;
    padding: 0 !important;
    font-family: var(--bw-font-body) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    letter-spacing: 0;
    color: var(--bw-ink) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    cursor: pointer;
    background: transparent !important;
    border: 0 !important;
}

.bw-pdp-delivery__how[hidden] {
    display: none;
}

.bw-pdp-badge[hidden],
.bw-pdp-delivery[hidden],
.bw-pdp-delivery__card[hidden],
.bw-pdp-delivery__save[hidden],
.bw-pdp-atc-save[hidden],
.bw-pdp-atc-arrow[hidden],
.bw-pdp-onetime[hidden] {
    display: none;
}

.bw-pdp-delivery__card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 17px;
    border: 1px solid var(--bw-pdp-line);
    border-radius: 20px;
    background: transparent;
    cursor: pointer;
}

.bw-pdp-delivery__card.is-selected {
    padding: 16px;
    border-width: 2px;
    border-color: var(--bw-ink);
    background: var(--bw-pdp-card);
}

.bw-pdp-delivery__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 39px;
}

.bw-pdp-delivery__left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.bw-pdp-delivery__radio {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: 2px solid var(--bw-ink);
    border-radius: 50%;
}

.bw-pdp-delivery__radio::after {
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--bw-ink);
    content: "";
    opacity: 0;
}

.bw-pdp-delivery__card.is-selected .bw-pdp-delivery__radio::after {
    opacity: 1;
}

.bw-pdp-delivery__titles {
    display: flex;
    align-items: center;
    gap: 8px;
}

.bw-pdp-delivery__title {
    font-family: var(--bw-font-body);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--bw-pdp-ink-soft);
}

.bw-pdp-delivery__save {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 6px;
    background: var(--bw-accent);
    font-family: var(--bw-font-body);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--bw-ink);
    white-space: nowrap;
}

.bw-pdp-delivery__right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    text-align: right;
}

.bw-pdp-delivery__price {
    font-family: var(--bw-font-body);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--bw-pdp-ink-soft);
}

.bw-pdp-delivery__was {
    margin-inline-start: 6px;
    font-size: 14px;
    font-weight: 400;
    color: var(--bw-pdp-muted);
    text-decoration: line-through;
}

.bw-pdp-delivery__unit {
    font-family: var(--bw-font-body);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.25;
    color: var(--bw-pdp-muted);
}

.bw-pdp-delivery__note {
    font-family: var(--bw-font-body);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.25;
    color: var(--bw-pdp-muted);
}

.product-detail__info .product-detail__form .form__buttons {
    gap: 14px;
}

.product-detail__info .product-detail__buy-buttons .button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    min-height: 55px;
    padding: 16px;
    border: 0;
    border-radius: var(--bw-radius-pill);
    background: var(--bw-ink);
    font-family: var(--bw-font-body);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--bw-cream);
}

.product-detail__info .product-detail__buy-buttons .button::after,
.product-detail__info .product-detail__buy-buttons .button:hover::after {
    box-shadow: none !important;
}

.product-detail__info .product-detail__buy-buttons .button[disabled] {
    opacity: 0.55;
    cursor: not-allowed;
}

.bw-pdp-atc-save {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 87px;
    padding: 4px 12px;
    border-radius: var(--bw-radius-pill);
    background: var(--bw-accent);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    color: #1e1e14;
}

.bw-pdp-atc-arrow {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
}

/* The payment app ships its own "Helvetica Neue" stack, which has no Windows face and falls back to
   a serif. The link is the twin of "See how subscription works" and reads in the body face. */
.product-detail__form .shopline-payment-button-wrapper div.pay-button-more-options {
    font-family: var(--bw-font-body) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    color: var(--bw-ink) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

[id*="template--product--accessory__"] .product-detail__form .shopline-payment-button-wrapper {
    display: none;
}

.bw-pdp-onetime {
    display: block;
    font-family: var(--bw-font-body);
    font-size: 14px;
    font-weight: 400 !important;
    line-height: 1.2;
    color: var(--bw-ink);
    text-align: center;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

/* Mock 1:18001: a regular, underlined 14px line under the button; the same product-info rule that
   strips the doclink's underline reaches this one, hence the pins. Chosen state stays bold. */
.bw-pdp-onetime.is-selected {
    font-weight: 600 !important;
}

.product-detail__info .product-detail__additional {
    border-color: rgba(48, 52, 93, 0.3);
}

.product-detail__additional[hidden] {
    display: none;
}

.product-detail__info .product-detail__info-group+.product-detail__additional {
    margin-block-start: 10px;
}

.product-detail__info .additional__title {
    font-family: var(--bw-font-heading);
    font-size: 28px;
    font-weight: 600 !important;
    line-height: 1.6;
    letter-spacing: 0;
    color: var(--bw-ink);
}

.product-detail__info .additional__arrow {
    flex: none;
    width: 12px;
    height: 10px;
    color: var(--bw-ink);
}

.product-detail__info .additional__content {
    font-family: var(--bw-font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    color: var(--bw-ink);
}

.product-detail__info .product-detail__info-group+.product-detail__additional .additional__trigger {
    padding-block: 24px;
}

.product-detail__info .product-detail__info-group+.product-detail__additional .additional__content::after {
    height: 24px;
}

.additional__content .bw-acc h4 {
    margin: 0 0 4px;
    font-family: var(--bw-font-heading);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0;
    color: var(--bw-ink);
    text-transform: none;
}

.additional__content .bw-acc p {
    margin: 0 0 14px;
}

.additional__content .bw-acc> :last-child {
    margin-block-end: 0;
}

.additional__content .bw-acc a {
    color: inherit;
}

.additional__content .bw-badges--pdp {
    align-items: flex-start;
    justify-content: space-between;
    column-gap: 20px;
    row-gap: 20px;
    max-width: none;
    padding: 0;
    margin: 0;
    list-style: none;
}

.bw-badges--pdp .bw-badge {
    row-gap: 12.9px;
}

.bw-badges--pdp .bw-badge__mark {
    width: 76px;
    height: 76px;
    border-width: 1.6px;
}

.bw-badges--pdp .bw-badge__mark svg {
    width: 38px;
    height: 38px;
    stroke-width: 1.8;
}

.bw-badges--pdp .bw-badge__mark img {
    width: 38px;
    height: 38px;
}

.bw-badges--pdp .bw-badge__label {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.28;
}

.bw-pair {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-block: 10px;
    margin-block-start: 10px;
}

.bw-pair__heading {
    margin: 0;
    font-family: var(--bw-font-heading);
    font-size: 28px;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0;
    color: var(--bw-ink);
}

.bw-pair__row {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    width: 653px;
    max-width: 100%;
}

.bw-pair__card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 204px;
}

.bw-pair__card[hidden],
.bw-pair__saved[hidden],
.bw-pair[hidden] {
    display: none;
}

.bw-pair__media {
    position: relative;
    width: 204px;
    height: 204px;
}

.bw-pair a.bw-pair__media-link {
    display: block !important;
    width: 100%;
    height: 100%;
    padding: 0 !important;
    border-radius: 24px;
    background: var(--bw-card);
    overflow: hidden;
}

.bw-pair__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bw-pair button.bw-pair__check {
    position: absolute;
    inset-block-start: 12px;
    inset-inline-start: 12px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--bw-ink) !important;
    color: var(--bw-cream);
    cursor: pointer;
}

.bw-pair__check svg {
    display: block;
    width: 16px;
    height: 16px;
}

.bw-pair__card.is-off button.bw-pair__check {
    border: 1px solid var(--bw-line) !important;
    background: var(--bw-cream) !important;
    color: transparent;
}

.bw-pair__body {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bw-pair__names {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
}

.bw-pair__title {
    font-family: var(--bw-font-heading);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0;
    color: var(--bw-ink);
    text-decoration: none;
}

.bw-pair__price {
    font-family: var(--bw-font-body);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.06;
    color: var(--bw-ink);
}

.bw-pair__footer {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bw-pair__totals {
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.bw-pair__total,
.bw-pair__saved {
    font-family: var(--bw-font-heading);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
    color: var(--bw-ink);
}

.bw-pair a.bw-pair__btn,
.bw-pair button.bw-pair__btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 53px !important;
    padding: 12px 20px !important;
    border: 0;
    border-radius: 24px !important;
    background: var(--bw-ink);
    font-family: var(--bw-font-heading) !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 1.2;
    color: #fff;
    cursor: pointer;
}

.bw-pair button.bw-pair__btn[disabled] {
    opacity: 0.55;
    cursor: not-allowed;
}

.bw-pair__note {
    margin: 0;
    font-family: var(--bw-font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    color: #29252c;
    text-align: center;
}

.product-detail__info .product-detail__dividing-line {
    margin-block-start: 10px;
    background: #d9d9d9;
}

.bw-sample {
    display: flex;
    gap: 40px;
    align-items: center;
    padding-block: 40px;
    margin-block-start: 10px;
}

.bw-sample a.bw-sample__media {
    display: block !important;
    flex: none;
    width: 230px;
    height: 230px;
    padding: 0 !important;
    border-radius: 16px;
    background: var(--bw-card);
    overflow: hidden;
}

.bw-sample__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bw-sample__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.bw-sample__title {
    margin: 0;
    font-family: var(--bw-font-heading);
    font-size: 32px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
    color: var(--bw-ink);
}

.bw-sample__sub {
    margin: 0;
    font-family: var(--bw-font-body);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.5;
    color: #8c8c8c;
}

.bw-sample__price {
    margin: 20px 0 0;
    font-family: var(--bw-font-body);
    font-size: 22px;
    font-weight: 600;
    line-height: 1.5;
    color: var(--bw-ink);
}

.bw-sample a.bw-sample__btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 53px !important;
    padding: 14px 40px !important;
    margin-block-start: 16px;
    border: 1.5px solid var(--bw-ink);
    border-radius: 4px !important;
    font-family: var(--bw-font-body) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.2;
    letter-spacing: 0.15em;
    color: var(--bw-ink);
    text-decoration: none !important;
}

.bw-sticky {
    position: fixed;
    inset-inline: 0;
    inset-block-end: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    height: 160px;
    padding-inline: 30px 78px;
    border-radius: 80px;
}

.bw-sticky[hidden] {
    display: none;
}

.bw-sticky__inner {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.bw-sticky__lead {
    display: flex;
    gap: 16px;
    align-items: center;
    min-width: 0;
    padding-inline: 40px;
}

.bw-sticky__media {
    display: block;
    flex: none;
    width: 120px;
    height: 120px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    overflow: hidden;
}

.bw-sticky__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bw-sticky__media img:not([src]) {
    display: none;
}

.bw-sticky__text {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.bw-sticky__price {
    font-family: var(--bw-font-body);
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--bw-cream);
}

.bw-sticky__title {
    overflow: hidden;
    font-family: var(--bw-font-body);
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
    color: #fff;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bw-sticky__controls {
    display: flex;
    flex: none;
    gap: 15px;
    align-items: flex-end;
}

.bw-sticky__controls>.bw-sticky__btn {
    margin-inline-start: 9px;
}

.bw-sticky__field {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.bw-sticky__field[hidden] {
    display: none;
}

.bw-sticky__label {
    font-family: var(--bw-font-body);
    font-size: 19px;
    font-weight: 500;
    line-height: 1.6;
    color: #fff;
}

.bw-sticky__control {
    position: relative;
    display: flex;
    align-items: center;
    height: 47px;
    padding-inline: 18px;
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.04);
}

.bw-sticky__control--qty {
    justify-content: space-between;
    width: 113px;
    padding-inline: 6px;
}

.bw-sticky__control--select {
    width: 188px;
}

.bw-sticky select.bw-sticky__select {
    width: 100%;
    height: 100%;
    padding: 0 24px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-family: var(--bw-font-body) !important;
    font-size: 19px !important;
    font-weight: 400 !important;
    color: var(--bw-cream) !important;
    appearance: none;
    cursor: pointer;
}

.bw-sticky select.bw-sticky__select option {
    color: #1c1c1c;
}

.bw-sticky__caret {
    position: absolute;
    inset-inline-end: 18px;
    display: block;
    width: 12px;
    height: 12px;
    color: var(--bw-cream);
    pointer-events: none;
}

.bw-sticky__caret svg {
    display: block;
    width: 100%;
    height: 100%;
}

.bw-sticky button.bw-sticky__step {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    font-family: var(--bw-font-body) !important;
    font-size: 19px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--bw-cream) !important;
    cursor: pointer;
}

.bw-sticky__qty {
    font-family: var(--bw-font-body);
    font-size: 19px;
    font-weight: 400;
    line-height: 1.6;
    color: var(--bw-cream);
}

.bw-sticky button.bw-sticky__btn {
    display: inline-flex !important;
    gap: 8px;
    align-items: center;
    justify-content: center;
    width: 218px !important;
    min-height: 80px !important;
    padding: 12px 27px !important;
    border: 0 !important;
    border-radius: var(--bw-radius-pill) !important;
    background: #f2f4ed !important;
    font-family: var(--bw-font-body) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.2;
    color: var(--bw-ink) !important;
    cursor: pointer;
}

.bw-sticky button.bw-sticky__btn[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
}

.bw-sticky__btn-price,
.bw-sticky__btn-save,
.bw-sticky__btn-arrow {
    display: none;
}

/* D-A44 overrides the mock's 1920x160 bar flush at the bottom: from 960 up the bar is the stuck
   header's pill at half scale — same width formula, radius, dark glass and ink stroke — floating
   17px clear of the bottom edge. Everything below 960 keeps the mock's 375x40 flush bar. */
@media (min-width: 960px) {
    .bw-sticky {
        inset-block-end: 17px;
        width: min(1785px, calc(100% - 120px));
        height: 80px;
        margin-inline: auto;
        padding-inline: 12px;
        border: 2px solid var(--bw-ink, #06402d);
        border-radius: var(--bw-radius-nav);
        background: rgba(6, 64, 45, 0.82);
    }

    .bw-sticky__inner {
        gap: 16px;
    }

    .bw-sticky__lead {
        gap: 12px;
        padding-inline: 0;
    }

    .bw-sticky__media {
        width: 56px;
        height: 56px;
        border-radius: 12px;
    }

    .bw-sticky__text {
        gap: 0;
    }

    .bw-sticky__price {
        font-size: 18px;
        line-height: 1.2;
        color: var(--bw-cream);
    }

    .bw-sticky__title {
        font-size: 14px;
        font-weight: 500;
        line-height: 1.2;
        color: var(--bw-cream);
    }

    .bw-sticky__controls {
        gap: 16px;
        align-items: center;
    }

    .bw-sticky__controls>.bw-sticky__btn {
        margin-inline-start: 0;
    }

    .bw-sticky__field {
        gap: 0;
    }

    /* The bar has no room for the field captions at this scale; the text stays in the
     accessibility tree and the select also carries it as an aria-label. */
    .bw-sticky__label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .bw-sticky__control {
        height: 40px;
        padding-inline: 12px;
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.08);
    }

    /* The field has to clear the longest option, "Strawberry Watermelon" — 166.3px in Poppins 14 —
     plus the 20px the caret reserves and the field's own 24px of padding. */
    .bw-sticky__control--select {
        width: 216px;
    }

    .bw-sticky__control--qty {
        width: 96px;
        padding-inline: 4px;
    }

    .bw-sticky select.bw-sticky__select {
        padding: 0 20px 0 0 !important;
        font-size: 14px !important;
    }

    .bw-sticky__caret {
        inset-inline-end: 12px;
    }

    .bw-sticky__qty {
        font-size: 14px;
    }

    .bw-sticky button.bw-sticky__step {
        font-size: 14px !important;
    }

    .bw-sticky button.bw-sticky__btn {
        width: 168px !important;
        min-height: 48px !important;
        height: 48px !important;
        padding: 12px 20px !important;
        background: #fcfcfa !important;
        font-size: 16px !important;
    }
}

/* The fallback list is fetched one product long so the viewed product can be dropped from it;
   this keeps the row at the designed four before the script gets a chance to drop one. */
.section-recommended-product .block-product-list>*:nth-child(n + 5) {
    display: none;
}

/* The card's `height: 100%` needs an unbroken percentage chain; `product-item` sits between it and
   the grid item, so it carries the height too — the same pair the collection list uses. */
.section-recommended-product .block-product-list>li,
.section-recommended-product product-item {
    height: 100%;
}

.section-recommended-product .block-product-card {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 16px;
    background: #f6f6f5;
    border-radius: var(--bw-radius-card);
}

/* The recommendation list re-renders from a fetch whose markup carries the card's own stylesheets
   as <link> tags; until those load the images are static blocks at their intrinsic size and a row
   of four cards grows past 8000px. The box lives here, in a layout-linked sheet, so the geometry
   holds through that window and matches the collection card. */
.section-recommended-product .block-product-image__layer-image-wrapper {
    position: relative;
    display: flex;
    width: 100%;
    overflow: hidden;
    border-width: 0 !important;
    border-radius: 0;
    box-shadow: none;
}

.section-recommended-product .block-product-image__image-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 416 / 600 !important;
    background: #f6f6f5;
    border-radius: 0;
}

.section-recommended-product .block-product-image__image-wrapper>.block-product-image__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: var(--fit-type, cover);
}

.section-recommended-product .block-product-card-info {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    row-gap: 4px;
    padding-block: 20px 0;
    padding-inline: 20px;
}

.section-recommended-product .block-product-card-info>.block-product-buy-button-wrapper {
    padding-block-start: 16px;
    margin-block-start: auto;
}

/* The block's own layout class pins the column to `flex: 0 1 auto`, so a card whose title runs to a
   second line leaves its button short of the card foot while its neighbours sit lower. */
.section-recommended-product .block-product-card-info {
    flex: 1 1 auto !important;
}

/* The recommendation rail is the collection card in a second home, so it carries the same R40 card
   tokens. They are restated here rather than shared from bellway-plp.css because that sheet loads
   first and the box rules above already live in this one; keep the two blocks in step. */
.section-recommended-product .block-product-card .block-product-title {
    padding-inline: 0;
    font-family: var(--bw-font-heading);
    font-size: 28px;
    font-weight: 600;
    line-height: 1.6;
    color: rgb(var(--color-text));
}

.section-recommended-product .block-product-card .block-product-title a {
    color: inherit;
    text-decoration: none;
}

.section-recommended-product .block-product-card .block-product-price,
.section-recommended-product .block-product-card .product-price__item {
    padding-inline: 0;
    font-family: var(--bw-font-body);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.22;
    color: rgb(var(--color-text));
}

.section-recommended-product .block-product-card .block-product-buy-button-wrapper {
    width: auto;
    margin-inline: -20px;
}

.section-recommended-product .block-product-card .block-product-buy-button {
    box-sizing: border-box;
    width: 100%;
    min-height: 53px;
    padding-block: 11px;
    padding-inline: 20px;
    font-family: var(--bw-font-body);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.62;
    color: var(--bw-cream);
    text-transform: uppercase;
    white-space: nowrap;
    letter-spacing: 0;
    background: rgb(var(--color-text));
    border: 1px solid rgb(var(--color-text));
    border-radius: 16px;
}

.section-recommended-product .block-product-card .block-product-buy-button::after,
.section-recommended-product .block-product-card .block-product-buy-button:hover::after {
    box-shadow: none !important;
}

.section-recommended-product .block-product-card .block-product-buy-button:hover:not([disabled]) {
    color: rgb(var(--color-text));
    background: var(--bw-accent);
    border-color: var(--bw-accent);
}

.section-recommended-product .block-product-card .block-product-buy-button[disabled] {
    color: rgb(var(--color-text));
    background: none;
    border: 1px solid var(--bw-line);
    opacity: 1;
}

.section-recommended-product .block-product-card .block-product-image__image {
    transition: transform var(--bw-dur-slow) var(--bw-ease-standard);
}

.section-recommended-product .block-product-card {
    transition:
        transform var(--bw-dur-base) var(--bw-ease-standard),
        box-shadow var(--bw-dur-base) var(--bw-ease-standard);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .section-recommended-product .block-product-card:hover .block-product-image__image {
        transform: scale(var(--bw-zoom));
    }

    .section-recommended-product .block-product-list>li:hover .block-product-card {
        transform: translateY(var(--bw-lift));
        box-shadow: 0 12px 32px rgba(6, 64, 45, 0.12);
    }
}

@media (max-width: 959px) {
    .section-recommended-product .block-product-card {
        padding: 10px;
    }

    .section-recommended-product .block-product-card .block-product-title {
        font-size: 17px;
        line-height: 1.35;
    }

    .section-recommended-product .block-product-card .block-product-price {
        font-size: 14px;
    }

    .section-recommended-product .block-product-card .block-product-buy-button-wrapper {
        margin-inline: -6px;
    }

    .section-recommended-product .block-product-card .block-product-buy-button {
        min-height: 44px;
        padding-block: 9px;
        padding-inline: 10px;
        font-size: 13px;
        white-space: nowrap;
        border-radius: 12px;
    }

    .section-recommended-product .block-product-card-info {
        padding-block: 12px 0;
        padding-inline: 6px;
    }

    .section-recommended-product .block-product-card-info>.block-product-buy-button-wrapper {
        padding-block-start: 10px;
    }

    .section-recommended-product .block-product-image__image-wrapper {
        aspect-ratio: 416 / 600 !important;
    }

    .product-detail__info .additional__title {
        font-size: 20px;
        font-weight: 600 !important;
    }

    .product-detail__info .product-detail__info-group+.product-detail__additional .additional__trigger {
        padding-block: 16px;
    }

    .bw-badges--pdp .bw-badge {
        flex: 0 0 calc((100% - 40px) / 3);
    }

    .bw-badges--pdp .bw-badge__mark {
        width: 60px;
        height: 60px;
    }

    .bw-badges--pdp .bw-badge__mark svg {
        width: 30px;
        height: 30px;
    }

    .bw-badges--pdp .bw-badge__label {
        font-size: 13px;
    }

    .bw-pair__heading,
    .bw-sample__title {
        font-size: 24px;
    }

    .bw-pair__row {
        gap: 12px;
    }

    .bw-pair__card {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
    }

    .bw-pair__media {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
    }

    .bw-pair__title {
        font-size: 18px;
    }

    .bw-pair a.bw-pair__btn,
    .bw-pair button.bw-pair__btn {
        font-size: 18px !important;
    }

    .bw-sample {
        flex-direction: column;
        gap: 20px;
        align-items: flex-start;
        padding-block: 24px;
    }

    .bw-sample__sub {
        font-size: 16px;
    }

    .bw-sticky {
        --bw-glass-nav-blur: 8px;

        gap: 4px;
        height: 40px;
        padding-inline: 6px;
        border-radius: 20px;
    }

    .bw-sticky__inner {
        gap: 4px;
    }

    .bw-sticky__lead {
        gap: 7px;
        padding-inline: 0;
    }

    .bw-sticky__media {
        width: 32px;
        height: 32px;
        border-radius: 50%;
    }

    .bw-sticky__text {
        gap: 0;
    }

    .bw-sticky__price {
        display: none;
    }

    .bw-sticky__title {
        font-family: var(--bw-font-heading);
        font-size: 12px;
        line-height: 1.58;
    }

    .bw-sticky__controls>.bw-sticky__btn {
        margin-inline-start: 0;
    }

    .bw-sticky__field {
        display: none;
    }

    .bw-sticky button.bw-sticky__btn {
        gap: 6px;
        width: 181px !important;
        min-height: 32px !important;
        padding: 4px 8px !important;
        border-radius: 18px !important;
        background: var(--bw-cream) !important;
        font-family: var(--bw-font-heading) !important;
        font-size: 12px !important;
        font-weight: 700 !important;
    }

    .bw-sticky__btn-price {
        display: inline;
        font-family: var(--bw-font-heading);
        font-size: 12px;
        font-weight: 700;
        color: var(--bw-ink);
    }

    .bw-sticky__btn-save {
        display: inline-flex;
        align-items: center;
        padding: 2px 6px;
        border-radius: 50px;
        background: var(--bw-accent);
        font-family: var(--bw-font-heading);
        font-size: 8px;
        font-weight: 700;
        line-height: 1.2;
        color: #1e1e14;
        white-space: nowrap;
    }

    .bw-sticky__btn-save[hidden],
    .bw-sticky__btn-arrow[hidden] {
        display: none;
    }

    .bw-sticky__btn-arrow {
        display: inline;
        font-size: 12px;
        font-weight: 700;
        line-height: 1;
        color: var(--bw-ink);
    }
}

@media (max-width: 959px) {
    .product-detail__info .product-detail__title {
        font-size: 40px;
    }

    .bw-pdp-badge--solid,
    .bw-pdp-badge--outlined {
        font-size: 15px;
    }

    .bw-pdp-badge--ghost,
    .bw-pdp-badge--accent {
        font-size: 14px;
    }

    .bw-pdp-badge {
        height: 32px;
    }

    .bw-pdp-badge--solid .bw-pdp-badge__icon,
    .bw-pdp-badge--outlined .bw-pdp-badge__icon {
        width: 22px;
        height: 22px;
    }

    .bw-pdp-delivery__top {
        flex-wrap: wrap;
    }

    .bw-pdp-delivery__right {
        align-items: flex-start;
        text-align: left;
    }
}

.product-detail__info .product-detail__additional .additional__arrow {
    transition: transform var(--bw-dur-brisk) var(--bw-ease-standard);
}

@keyframes bw-panel-open {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.product-detail__info .product-detail__additional [open] .additional__content {
    animation: bw-panel-open var(--bw-dur-calm) var(--bw-ease-standard) both;
}

@media (hover: hover) {
    .product-detail__info .product-detail__additional .additional__trigger {
        transition: opacity var(--bw-dur-fast) var(--bw-ease-standard);
    }

    .product-detail__info .product-detail__additional .additional__trigger:hover {
        opacity: 0.7;
    }
}

.bw-pdp-delivery__card {
    transition:
        border-color var(--bw-dur-brisk) var(--bw-ease-standard),
        box-shadow var(--bw-dur-brisk) var(--bw-ease-standard);
}

@media (max-width: 959px) {
    .product-detail__variant-picker .variant-picker__button--text {
        min-height: 44px;
    }

    .bw-pdp-doclink,
    .bw-pdp-delivery__how,
    .bw-pdp-onetime {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }

    .product-detail__media-layer .bw-rail__label,
    .bw-pdp-delivery__save {
        font-size: 12px;
    }

    /* The check is a corner badge on the media, not a row item: absolute is what keeps it there.
     It is already its own containing block, so the 44px hit layer needs no position change. */
    .bw-pair button.bw-pair__check::after {
        position: absolute;
        inset: min(0px, calc((44px - 100%) / -2));
        content: "";
    }

    /* Add to Cart - mb 1:22332 fixes the pill at 32px inside a 40px bar; the target grows through
     a hit layer instead of the box so the bar keeps the height the mock draws. */
    .bw-sticky button.bw-sticky__btn {
        position: relative;
    }

    .bw-sticky button.bw-sticky__btn::after {
        position: absolute;
        inset: -6px;
        content: "";
    }
}

/* The module is the mock's 1920 composition (930 + 126 + 744 inside 24/96 gutters); on wider
   screens it stays that size and centres instead of stretching to the viewport. */
.image-with-text-section:has(.bw-video__media) .page-width {
    max-width: 1800px;
    margin-inline: auto;
}

.image-with-text-section:has(.bw-video__media) .image-with-text__group {
    align-items: center;
    flex-wrap: nowrap;
}

.image-with-text-section:has(.bw-video__media) .custom-sline-block:has(> .bw-video__media) {
    flex: 0 1 930px;
    min-width: 0;
}

.bw-video__media {
    margin: 0;
}

.bw-video__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 930 / 978;
    object-fit: cover;
    border-radius: var(--bw-radius-card);
}

/* The group block paints its scheme background unconditionally, and the scheme it inherits here is
   the cream one — the mock has the copy sitting straight on the section, with no panel behind it. */
.image-with-text-section:has(.bw-video__media) .block-group:has(> .block-heading) {
    flex: 0 1 744px;
    min-width: 0;
    row-gap: 30px;
    align-items: flex-start;
    background-color: transparent;
}

.image-with-text-section:has(.bw-video__media) .block-heading {
    font-family: var(--bw-font-heading);
    font-size: 60px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
    color: var(--bw-ink);
}

.image-with-text-section:has(.bw-video__media) .block-heading .accent-italic {
    font-size: 48px;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.image-with-text-section:has(.bw-video__media) .block-description {
    font-family: var(--bw-font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
    color: var(--bw-ink);
}

.custom-section:has(.bw-ways) .block-heading {
    max-width: 1628px;
    margin-inline: auto;
    font-family: var(--bw-font-heading);
    font-size: 60px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
    color: var(--bw-ink);
}

.custom-section:has(.bw-ways) .block-heading .accent-italic {
    font-size: 60px;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.bw-ways {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bw-ways__tile {
    position: relative;
    overflow: hidden;
    aspect-ratio: 600 / 887;
    border-radius: var(--bw-radius-card);
}

.bw-ways__photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bw-ways__content {
    position: absolute;
    top: 30.4%;
    right: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 20px;
    color: var(--bw-ink);
    text-align: center;
}

.bw-ways__tile--onphoto .bw-ways__content {
    color: var(--bw-cream);
}

.bw-ways__badge {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 66px;
    font-family: var(--bw-font-mono);
    font-size: 26px;
    font-weight: 500;
    line-height: 1;
    color: var(--bw-ink);
    background: #3cf060;
    border-radius: 33px;
}

.bw-ways__title {
    width: 100%;
    margin: 0;
    font-family: var(--bw-font-body);
    font-size: 60px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0;
    color: inherit;
}

.bw-ways__body {
    width: 520px;
    max-width: calc(100% - 48px);
    margin: 0;
    font-family: var(--bw-font-ui);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0;
    color: inherit;
}

@media (max-width: 959px) {
    .image-with-text-section:has(.bw-video__media) .page-width {
        padding-inline: 20px;
    }

    .image-with-text-section:has(.bw-video__media) .image-with-text__group {
        flex-direction: column;
        row-gap: 24px;
        column-gap: 0;
        align-items: stretch;
    }

    .image-with-text-section:has(.bw-video__media) .custom-sline-block:has(> .bw-video__media),
    .image-with-text-section:has(.bw-video__media) .block-group:has(> .block-heading) {
        flex: 0 0 auto;
        width: 100%;
        row-gap: 16px;
    }

    .image-with-text-section:has(.bw-video__media) .block-heading {
        font-size: 34px;
    }

    .image-with-text-section:has(.bw-video__media) .block-heading .accent-italic {
        font-size: 30px;
    }

    .custom-section:has(.bw-ways) .block-heading {
        font-size: 34px;
    }

    .custom-section:has(.bw-ways) .block-heading .accent-italic {
        font-size: 34px;
    }

    .bw-ways {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .bw-ways__content {
        row-gap: 14px;
    }

    .bw-ways__badge {
        width: 52px;
        height: 52px;
        font-size: 20px;
        border-radius: 26px;
    }

    .bw-ways__title {
        font-size: 38px;
    }

    .bw-ways__body {
        font-size: 16px;
    }
}

.bw-subscription {
    width: 100%;
    --isv-sub-type_body_font: var(--bw-font-body);
    --isv-sub-line_through_color: var(--bw-pdp-muted);
    --isv-sub-discount-tag-bg-color: var(--bw-accent);
    --isv-sub-discount-tag-border-color: var(--bw-accent);
    --isv-sub-discount-tag-text-color: var(--bw-ink);
    --isv-sub-discount-tag-border-radius: 6px;
}

.bw-subscription:not(:has(#pdpContainer > *)) {
    display: none;
}

.bw-subscription #pdpContainer,
.bw-subscription #pdpContainer * {
    font-family: var(--bw-font-body) !important;
    letter-spacing: 0 !important;
}

.bw-subscription #pdpContainer [class*="sellingTitle"] {
    display: none !important;
}

.bw-subscription #pdpContainer [class*="sellingGroup"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin: 0 !important;
}

.bw-subscription #pdpContainer label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    min-height: 73px !important;
    padding: 17px !important;
    margin: 0 !important;
    border: 1px solid var(--bw-pdp-line) !important;
    border-radius: 20px !important;
    background: transparent !important;
    cursor: pointer;
}

.bw-subscription #pdpContainer label:has(input[type="radio"]:checked),
.bw-subscription #pdpContainer label[class*="_checked"] {
    padding: 16px !important;
    border-width: 2px !important;
    border-color: var(--bw-ink) !important;
    background: var(--bw-pdp-card) !important;
}

.bw-subscription #pdpContainer label:not([class*="_checked"]):not(:has(input[type="radio"]:checked)) {
    padding: 17px !important;
    border-width: 1px !important;
    border-color: var(--bw-pdp-line) !important;
    background: transparent !important;
}

.bw-subscription #pdpContainer label:has(select) {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
}

.bw-subscription #pdpContainer label:has(select)>div:first-child {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    width: 100% !important;
    min-height: 39px !important;
}

.bw-subscription #pdpContainer [class*="radioWrap"] {
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
}

.bw-subscription #pdpContainer div:has(> input[type="radio"]) {
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}

.bw-subscription #pdpContainer div:has(> input[type="radio"])::before,
.bw-subscription #pdpContainer div:has(> input[type="radio"])::after {
    display: none !important;
    content: none !important;
}

.bw-subscription #pdpContainer input[type="radio"] {
    display: grid !important;
    flex: none !important;
    place-items: center;
    width: 22px !important;
    height: 22px !important;
    padding: 0 !important;
    margin: 0 !important;
    appearance: none;
    background: transparent !important;
    border: 2px solid var(--bw-ink) !important;
    border-radius: 50% !important;
    box-shadow: none !important;
}

.bw-subscription #pdpContainer input[type="radio"]::after {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--bw-ink);
    content: "";
    opacity: 0;
}

.bw-subscription #pdpContainer input[type="radio"]:checked::after {
    opacity: 1;
}

.bw-subscription #pdpContainer [class*="radioLabel"] {
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: var(--bw-pdp-ink-soft) !important;
}

.bw-subscription #pdpContainer [class*="radioLabel"] [class*="text"] {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.bw-subscription #pdpContainer [class*="subDiscountTag"] {
    display: inline-flex !important;
    align-items: center !important;
    padding: 3px 8px !important;
    margin: 0 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: var(--bw-ink) !important;
    white-space: nowrap;
    background: var(--bw-accent) !important;
    border: 0 !important;
    border-radius: 6px !important;
}

.bw-subscription #pdpContainer [class*="priceClass"],
.bw-subscription #pdpContainer [class*="originPrice"] {
    display: flex !important;
    flex: none !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: var(--bw-pdp-ink-soft) !important;
}

.bw-subscription #pdpContainer [class*="subPriceClass"] {
    display: flex !important;
    align-items: baseline !important;
    gap: 6px !important;
}

.bw-subscription #pdpContainer [class*="lineThrough"] {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: var(--bw-pdp-muted) !important;
    text-decoration: line-through !important;
}

.bw-subscription #pdpContainer select {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    margin: 0 !important;
    padding-inline: 14px 36px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    color: var(--bw-pdp-ink-soft) !important;
    background-color: var(--bw-cream) !important;
    border: 1px solid var(--bw-pdp-line) !important;
    border-radius: 12px !important;
    cursor: pointer;
}

@media (max-width: 959px) {

    .bw-subscription #pdpContainer div:has(> input[type="radio"])::before,
    .bw-subscription #pdpContainer div:has(> input[type="radio"])::after {
        display: none !important;
        content: none !important;
    }

    .bw-subscription #pdpContainer input[type="radio"] {
        width: 22px !important;
        height: 22px !important;
    }

    .bw-subscription #pdpContainer label,
    .bw-subscription #pdpContainer label:has(select)>div:first-child {
        flex-wrap: wrap !important;
    }

    .bw-subscription #pdpContainer [class*="priceClass"],
    .bw-subscription #pdpContainer [class*="originPrice"] {
        justify-content: flex-start !important;
    }

    .bw-subscription #pdpContainer [class*="subDiscountTag"] {
        font-size: 12px !important;
    }

    .bw-subscription #pdpContainer select {
        height: 44px !important;
        font-size: 14px !important;
    }
}

/* Merchant-replaceable product icons. */
.bw-rail__icon .bw-badge__mark {
    width: 68px;
    height: 68px;
    margin: 8px;
}

.bw-rail__icon .bw-badge__mark svg,
.bw-rail__icon .bw-badge__mark img {
    width: 48px;
    height: 48px;
}

.bw-pdp-badge__icon .bw-badge__mark {
    width: 100%;
    height: 100%;
    border: 0;
}

.bw-pdp-badge__icon .bw-badge__mark svg,
.bw-pdp-badge__icon .bw-badge__mark img {
    width: 100%;
    height: 100%;
    stroke: currentColor;
}

@media(max-width:959px) {
    .bw-rail__icon .bw-badge__mark {
        width: 36px;
        height: 36px;
        margin: 4px;
    }

    .bw-rail__icon .bw-badge__mark svg,
    .bw-rail__icon .bw-badge__mark img {
        width: 26px;
        height: 26px;
    }
}

/* Keep the native accessory container within the product column. */
.bw-pair {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.bw-pair__row {
    width: 100%;
    min-width: 0;
}

/* Center the Fiber Never Failed You section within its page gutters. */
[id="shopline-section-template--product__pdp-video"] .image-with-text__group {
    margin-inline: auto !important;
}

/* Let accessory cards shrink inside the tablet product column. */
@media (min-width: 768px) {
    .bw-pair__card {
        min-width: 0;
        max-width: calc((100% - 20px) / 2);
    }

    .bw-pair__media {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
    }
}

/* Bridge the native 960px row / 961px column-size breakpoint. */
@media (min-width: 960px) and (max-width: 960px) {
    .product-detail__main[data-desktop-direction="row"]>.product-detail__col {
        flex: 1 1 0 !important;
        min-width: 0;
    }
}

/* Subscription cards replace the native pack selector without removing its variant binding. */
.bw-subscription-only .variant-picker__group.bw-bundle-bound {
    display: none !important;
}

.bw-pdp-onetime[hidden] {
    display: none !important;
}

@media (max-width: 599px) {
    .bw-subscription-only .product-detail__variant-picker .variant-picker__options:has(.bw-flavor-tile) {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
        align-items: start;
    }

    .bw-subscription-only .product-detail__variant-picker .variant-picker__option:has(.bw-flavor-tile) {
        width: 100%;
        min-width: 0;
    }

    .bw-subscription-only .product-detail__variant-picker .variant-picker__button.bw-flavor-tile {
        width: 100%;
        max-width: 64px;
        height: auto;
        min-height: 0;
        aspect-ratio: 1;
    }

    .bw-subscription-only .product-detail__variant-picker .variant-picker__option-name {
        font-size: 12px;
        overflow-wrap: anywhere;
    }
}

@media (max-width:599px) {
    .bw-subscription-only .product-detail__variant-picker .variant-picker__option-name {
        font-size: 11px !important;
        letter-spacing: -.15px;
        overflow-wrap: normal !important;
        word-break: normal;
    }
}

/* Editable Find Your Fiber comparison, including contained mobile scrolling. */
[id$="__pdp-us-vs-them"] {
    padding: 24px;
}

.bw-fiber-compare {
    width: 100%;
    max-width: 1872px;
    margin: 0 auto;
    padding: 64px 48px 40px;
    border-radius: 44px;
    background: #06402d;
    color: #fff;
    box-sizing: border-box;
}

.bw-fiber-compare h2 {
    color: #fff;
    text-align: center;
    margin: 0 0 16px;
    font-size: clamp(36px, 4vw, 64px);
    line-height: 1.08;
}

.bw-fiber-compare h2 em {
    font-family: 'Instrument Serif', serif;
    font-weight: 400;
}

.bw-fiber-compare__intro {
    max-width: 620px;
    margin: 0 auto 32px;
    text-align: center;
    font-size: 16px;
    line-height: 1.5;
    color: #e4eee8;
}

.bw-fiber-compare__hint {
    display: none;
}

.bw-fiber-compare__scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-color: #9ebbaa #06402d;
}

.bw-fiber-compare__scroll:focus-visible {
    outline: 2px solid #a9f36d;
    outline-offset: 4px;
}

.bw-fiber-compare__table {
    min-width: 740px;
    width: 100%;
}

.bw-fiber-compare__row {
    display: grid;
    grid-template-columns: 18% repeat(3, minmax(0, 1fr));
    align-items: stretch;
    border-bottom: 1px solid rgba(255, 255, 255, .25);
}

.bw-fiber-compare__row:last-child {
    border-bottom: 0;
}

.bw-fiber-compare__cell {
    padding: 24px 18px;
    min-width: 0;
    text-align: center;
    font-size: 16px;
    line-height: 1.45;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.bw-fiber-compare__label {
    justify-content: flex-start;
    text-align: left;
    font-weight: 600;
}

.bw-fiber-compare__product {
    flex-direction: column;
    gap: 18px;
    padding-top: 8px;
    padding-bottom: 32px;
}

.bw-fiber-compare__image {
    display: block;
    width: 100%;
    max-width: 230px;
    height: 190px;
    object-fit: contain;
    border-radius: 16px;
}

.bw-fiber-compare__name {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
}

[id$="__pdp-video"] .image-with-text__group {
    margin-inline: auto !important;
}

@media(max-width:767px) {
    [id$="__pdp-us-vs-them"] {
        padding: 12px;
    }

    .bw-fiber-compare {
        padding: 32px 16px 20px;
        border-radius: 24px;
    }

    .bw-fiber-compare__intro {
        font-size: 14px;
        margin-bottom: 12px;
    }

    .bw-fiber-compare__hint {
        display: block;
        text-align: center;
        font-size: 12px;
        margin-bottom: 18px;
        color: #c6dccf;
    }

    .bw-fiber-compare__table {
        min-width: 740px;
    }

    .bw-fiber-compare__cell {
        padding: 18px 14px;
        font-size: 14px;
    }

    .bw-fiber-compare__label {
        position: sticky;
        left: 0;
        z-index: 1;
        background: #06402d;
    }

    .bw-fiber-compare__name {
        font-size: 17px;
    }

    .bw-fiber-compare__image {
        height: 150px;
    }
}

[id$="__pdp-us-vs-them"]>.custom-section {
    background: transparent;
}

/* Keep product headings and badge rails within tablet columns. */
@media(min-width:960px) and (max-width:1439px) {
    .product-detail__title {
        font-size: clamp(36px, 4vw, 56px) !important;
        line-height: 1.12 !important;
        word-break: normal;
        overflow-wrap: normal;
    }

    .bw-rail {
        padding: 0 6px !important;
        justify-content: space-between;
    }

    .bw-rail__item {
        gap: 4px !important;
        min-height: 0;
    }

    .bw-rail__icon {
        width: 36px !important;
        height: 36px !important;
        flex: 0 0 36px;
        margin: 0 !important;
    }

    .bw-rail__icon .bw-badge__mark {
        width: 36px !important;
        height: 36px !important;
        margin: 0 !important;
    }

    .bw-rail__icon .bw-badge__mark svg,
    .bw-rail__icon .bw-badge__mark img {
        width: 26px !important;
        height: 26px !important;
    }

    .bw-rail__label {
        font-size: 11px !important;
        line-height: 1.2 !important;
    }
}

/* Fruit purchase layout: aligned cards and readable selectable flavors. */
.bw-subscription-only .custom-sline-block:has(> .bw-pdp-delivery) {
    align-items: stretch !important;
    width: 100%;
}

.bw-subscription-only .bw-pdp-delivery {
    width: 100%;
    max-width: none;
    align-self: stretch;
    gap: 16px;
}

.bw-subscription-only .bw-pdp-delivery__card {
    width: 100%;
    box-sizing: border-box;
    padding: 20px 22px;
    border-radius: 24px;
    gap: 16px;
}

.bw-subscription-only .bw-pdp-delivery__card.is-selected {
    padding: 19px 21px;
}

.bw-subscription-only .bw-pdp-delivery__titles {
    flex-wrap: wrap;
    gap: 6px 10px;
}

.bw-subscription-only .bw-pdp-delivery__title {
    font-size: 18px;
    font-weight: 700;
}

.bw-subscription-only .bw-pdp-delivery__price {
    font-size: 22px;
    white-space: nowrap;
}

.bw-subscription-only .bw-pdp-delivery__save {
    font-size: 12px;
    background: #79d879;
    color: #173f2b;
}

.bw-subscription-only .bw-pdp-delivery__unit {
    font-size: 13px;
}

.bw-subscription-only .bw-pdp-delivery__note {
    font-size: 14px;
    line-height: 1.5;
}

.bw-subscription-only .bw-pdp-delivery__card:focus-visible {
    outline: 3px solid var(--bw-ink);
    outline-offset: 3px;
}

.bw-subscription-only .bw-pdp-delivery__how {
    display: none !important;
}

.bw-subscription-only .variant-picker__option:has(.bw-flavor-tile),
.bw-subscription-only .variant-picker__option.disabled .bw-flavor-tile,
.bw-subscription-only .variant-picker__option.disabled .bw-flavor-tile__img,
.bw-subscription-only .variant-picker__option.disabled .variant-picker__option-name {
    opacity: 1 !important;
    text-decoration: none !important;
}

.bw-subscription-only .variant-picker__option:has(.bw-flavor-tile) .variant-picker__slash {
    display: none !important;
}

.bw-subscription-only .product-detail__buy-buttons,
.bw-subscription-only .product-detail__form {
    width: 100%;
}

.bw-subscription-only .product-detail__buy-buttons button[name="add"] {
    min-height: 58px;
}

.bw-subscription-only .bw-pdp-onetime {
    width: 100%;
    text-align: center;
}

@media(max-width:767px) {
    .bw-subscription-only .bw-pdp-delivery__card {
        padding: 16px;
        border-radius: 20px;
        gap: 12px;
    }

    .bw-subscription-only .bw-pdp-delivery__card.is-selected {
        padding: 15px;
    }

    .bw-subscription-only .bw-pdp-delivery__top {
        gap: 10px;
    }

    .bw-subscription-only .bw-pdp-delivery__left {
        gap: 8px;
        min-width: 0;
    }

    .bw-subscription-only .bw-pdp-delivery__title {
        font-size: 15px;
    }

    .bw-subscription-only .bw-pdp-delivery__price {
        font-size: 20px;
    }

    .bw-subscription-only .bw-pdp-delivery__was {
        font-size: 12px;
    }

    .bw-subscription-only .bw-pdp-delivery__note {
        font-size: 12px;
    }
}

.bw-subscription-only .bw-pdp-delivery__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}

.bw-subscription-only .bw-pdp-delivery__left {
    min-width: 0;
}

.bw-subscription-only .bw-pdp-delivery__right {
    align-items: flex-end;
    text-align: right;
}

/* Max feedback: responsive sections and merchant-managed content, 23 September. */
.custom-section:has(.bw-card__media) .block-group:has(> .custom-sline-block > .bw-card__media) { min-height:0; height:auto; }
.before-after__compare-text .block-button-group { justify-content:flex-start !important; padding-inline:0 !important; margin-inline:0 !important; }
.bw-stat__bar { height:auto; min-height:72px; }
.bw-stat__fill { min-height:72px; height:auto; padding:14px 20px; white-space:normal; }
.bw-stat__value { flex-shrink:0; }
.bw-stat__label { min-width:0; font-size:clamp(14px,1.2vw,20px); }
.bw-tagus__cell, .bw-tagus__link, .bw-tagus__strip { background:transparent !important; }
[id$="__press"] .block-brand-card__image-wrapper, [id$="__pdp-press"] .block-brand-card__image-wrapper { background:transparent !important; }
[id$="__press"] .brand-list img, [id$="__pdp-press"] .brand-list img { filter:grayscale(1) contrast(20); mix-blend-mode:screen; }
.bw-fiber-compare, .bw-fiber-compare__scroll { width:100%; max-width:100%; min-width:0; }
.bw-fiber-compare__scroll { overflow-x:auto; overscroll-behavior-x:contain; touch-action:pan-x pan-y; scrollbar-width:thin; }
.custom-section:has(.bw-fiber-compare) { min-width:0; overflow:hidden; }
.bw-timeline__step { transition:opacity .65s ease,transform .65s ease; }
.bw-timeline__step.bw-timeline-pending { opacity:.28; transform:translateY(18px); }
.bw-timeline__step.bw-timeline-active { opacity:1; transform:none; }
.bw-timeline__step.bw-timeline-active .bw-timeline__title, .bw-timeline__step.bw-timeline-active .bw-timeline__bullets { opacity:1; }
.bw-timeline__step.bw-timeline-active .bw-timeline__badge { color:rgb(var(--color-background)); background:rgb(var(--color-text)); }
.bw-timeline__step.bw-timeline-active::before, .bw-timeline__step.bw-timeline-active::after { background:var(--bw-timeline-fill); }
@media(min-width:960px) {
 .image-with-text__group:has(.bw-chart) { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px !important; align-items:stretch !important; }
 .image-with-text__group:has(.bw-chart) > .block-group:has(.bw-chart) { display:contents; }
 .image-with-text__group:has(.bw-chart) .block-heading { grid-column:1 / -1; grid-row:1; text-align:center; width:100%; max-width:none !important; }
 .image-with-text__group:has(.bw-chart) > .custom-sline-block:has(.bw-standsalone__media) { grid-column:1; grid-row:2; width:100%; max-width:none; }
 .image-with-text__group:has(.bw-chart) .custom-sline-block:has(> .bw-chart) { grid-column:2; grid-row:2; min-width:0; }
 .image-with-text__group:has(.bw-chart) .bw-standsalone__media, .image-with-text__group:has(.bw-chart) .bw-standsalone__media img { height:100%; width:100%; object-fit:contain; }
}
@media(max-width:767px) {
 [id$="__product-cards"] .custom-section { padding-inline:20px !important; }
 [id$="__product-cards"] .custom-section > .block-group:has(.bw-card__media) { justify-content:flex-start; scroll-padding-inline:0; }
 [id$="__pdp-press"] .block-brand-list { display:flex !important; flex-wrap:nowrap !important; overflow-x:auto !important; gap:24px !important; padding:8px 4px; touch-action:pan-x pan-y; scrollbar-width:thin; scroll-snap-type:x proximity; }
 [id$="__pdp-press"] .brand-item__wrapper { flex:0 0 125px !important; width:125px !important; scroll-snap-align:start; }
 [id$="__pdp-ticker"] .custom-section { padding-inline:20px !important; }
 [id$="__pdp-ticker"] .block-group { padding-inline:0 !important; width:100%; min-width:0; }
 [id$="__pdp-ticker"] .bw-ticker { width:100%; margin-inline:0; border-radius:20px 20px 0 0; }
 .bw-fiber-compare__table { min-width:700px; }
 .bw-fiber-compare__scroll { padding-bottom:12px; }
 .media-gallery__content:has(.bw-rail) { display:flex; flex-direction:column; }
 .media-gallery__content:has(.bw-rail) > .media-gallery__list-wrapper { display:contents; }
 .media-gallery__content:has(.bw-rail) .media-gallery__list { order:0; }
 .media-gallery__content:has(.bw-rail) > .media-gallery__indicator { order:1; margin-top:12px; margin-bottom:12px; }
 .media-gallery__content:has(.bw-rail) .product-detail__media-layer { order:2; }
}
.bw-facts--image-only .bw-facts__col { display:none !important; }
.bw-modal.bw-facts--image-only { align-items:center !important; }
.bw-facts--image-only .bw-facts__panel:not([hidden]) { display:block !important; }
.bw-facts--image-only .bw-facts__card { width:min(640px,calc(100vw - 32px)); padding:40px 24px 24px; }
.bw-facts--image-only .bw-facts__media { width:100%; margin:0; }
.bw-facts--image-only .bw-facts__img { display:block; max-height:75vh; height:auto; width:auto; max-width:100%; object-fit:contain; margin:auto; }
@media(prefers-reduced-motion:reduce) { .bw-timeline__step { transition:none; } }

/* Linked photographs remain clickable beneath decorative card text. */
.bw-source__body { pointer-events:none; }
.bw-source__body a,.bw-source__body button { pointer-events:auto; }

/* Avoid double padding around the mobile ticker and opaque social captions. */
@media(max-width:767px){.custom-sline-block:has(> .bw-ticker){padding:0!important;}}
.bw-tagus__handle{background:transparent!important;}
