.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;
  }
}
