/* CFS2030 PDP release polish — 30 September 2026.
 * Loaded after the PDP component styles so these scoped corrections win cleanly.
 */

/* PDP hairline system: at 1x display density a sub-pixel border is rounded to
 * one physical pixel, so normal outlines use a quieter warm line colour to
 * read visually thinner without changing component geometry. Strong selected,
 * active and primary-action borders keep their existing contrast. */
#pdp-main-content.pdp2030[data-pdp-family] {
  --cfs-border-subtle: #e9e5de;
  --cfs-card-line: #e9e5de;
  --color-border-default: #e9e5de;
  --color-swatch-border-inactive: #e9e5de;
  --line: #e9e5de;
  --cfs-line: #e6e1d9;
  --cfs-soft-line: #efede8;
}

/* Keep the insurance information dialog and its backdrop above all header menus. */
html body.cfs2030-shell:has(#inssurancePopup.modal.show) > .modal-backdrop.show {
  z-index: 14040 !important;
}

html body.cfs2030-shell #inssurancePopup.modal.show {
  z-index: 14050 !important;
}

/* Final PDP purchase-card simplification.
   The DOM and all existing coupon/insurance behaviour are intentionally
   retained: this only gives both cards a compact, clear reading order on
   desktop and mobile. */
html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-pdp-promo {
  display: grid !important;
  grid-template-areas:
    "offer copy"
    "saving copy";
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center !important;
  gap: 7px 14px !important;
  margin: 12px 0 2px !important;
  min-height: 88px;
  padding: 16px 18px !important;
  border: 1px solid #e9e5de !important;
  border-radius: 10px !important;
  background: #fff !important;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-pdp-promo__offer {
  grid-area: offer;
  display: flex !important;
  align-items: center;
  gap: 7px;
  min-width: 0;
  color: #4d403a;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-pdp-promo__offer > svg {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-pdp-promo__divider,
html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-pdp-promo__label,
html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-pdp-promo__copy-divider {
  display: none !important;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-pdp-promo__details {
  display: contents !important;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-pdp-promo__copy {
  grid-area: copy;
  display: inline-grid !important;
  place-items: center;
  width: 38px;
  min-width: 38px;
  height: 38px;
  min-height: 38px;
  padding: 0;
  border: 0 !important;
  border-radius: 8px;
  color: #4d403a;
  background: transparent;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-pdp-promo__code {
  color: #4d403a;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-pdp-promo__offer-label {
  color: #6d625c;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-pdp-promo__copy-icon {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-pdp-promo__copy-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-pdp-promo__saving {
  grid-area: saving;
  min-width: 0;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.3;
  color: #343434;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-pdp-promo__saving strong {
  color: inherit;
}

/* Keep the finance cue short and scannable beside the live price. The link
   destination and eligibility condition remain unchanged. */
html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-finance {
  margin: 8px 0 0 !important;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-finance-link {
  display: inline-flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 6px;
  color: #4d403a !important;
  font-size: 13px;
  line-height: 1.35;
  text-decoration: none !important;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-finance__icon {
  flex: 0 0 auto;
  font-size: 12px;
  line-height: 1;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-finance__message {
  font-weight: 600;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-finance__action {
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 2px;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-live-cart label.protection {
  min-height: 52px !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-radius: 14px !important;
  grid-template-columns: minmax(0, 1fr) auto 18px !important;
  gap: 8px 12px !important;
  background: #f4f4f4 !important;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-live-cart label.protection > span {
  grid-column: 1;
  grid-row: 1;
  gap: 0 6px;
  font-size: 13px;
  line-height: 1.35;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-live-cart label.protection > span > b {
  font-size: 13px;
  line-height: 1.35;
  font-weight: 500;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-live-cart label.protection .d-sm-inline {
  display: inline !important;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-live-cart label.protection small,
html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-live-cart label.protection small > a {
  font-size: 13px;
  line-height: 1.35;
  color: #4d403a;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-live-cart label.protection > strong {
  grid-column: 2;
  grid-row: 1;
  font-size: 14px;
  line-height: 1.3;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-live-cart label.protection > input {
  grid-column: 3;
  grid-row: 1;
  margin: 0 !important;
}

/* A normal variant dropdown needs one control edge only. The legacy wrapper
   was still painting a second 1px container below the select, while the
   unselected-state shadow created a second pale outline around it. */
html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-purchase-options.cfsv-options--normal-dropdown {
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 #iProAttrId.cfs-pdp-variant-select:not(:disabled):has(option[value="0"]:checked):not(:focus-visible) {
  border: 1px solid #e9e5de !important;
  background-color: #fff !important;
  box-shadow: none !important;
}

@media (max-width: 575px) {
  html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-pdp-promo {
    gap: 6px 10px !important;
    min-height: 80px;
    padding: 13px 14px !important;
  }

  html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-pdp-promo__copy {
    min-height: 36px;
  }

  html body.cfs2030-shell #pdp-main-content.pdp2030 .cfs-pdp-promo__saving {
    font-size: 15px;
  }

  html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-live-cart label.protection {
    padding: 10px 12px !important;
    grid-template-columns: minmax(0, 1fr) auto 18px !important;
    gap: 8px;
  }
}

/* Several legacy PDP components still carry a literal #DFDACF outline rather
 * than the shared token. Keep this list PDP-scoped and limited to neutral
 * cards/dividers; selected options, active thumbnails, focus rings and dark
 * primary actions deliberately retain their stronger borders. */
#pdp-main-content#pdp-main-content#pdp-main-content#pdp-main-content.pdp2030[data-pdp-family] :where(
  .pdp-gallery-thumbs button:not(.is-active),
  .pdp-wishlist,
  .pdp-gallery-compare,
  .pdp-view-all-info,
  .cfs-bis,
  .cfs-bis__panel,
  .cfs-bis input,
  .cfs-pdp-promo,
  .cfs-pdp-promo__copy,
  .pdp-finish-options > a:not(.is-active):not(.selected),
  .protection,
  .quantity,
  .pdp-help-button,
  .product-insights-card,
  .product-insights-card > div,
  .desktop-product-tabs,
  .overview-card,
  .dimension-diagram-card,
  .room-fit-card,
  .spec-table,
  .spec-table > div,
  .spec-table dd,
  .furniture-care-card,
  #assembly article,
  #delivery article,
  .bundle-card,
  .bundle-total,
  .bundle-product,
  .product-card,
  .cfs-card-swatch-dot,
  .cfs-wishlist-action,
  .cfs-compare-action,
  .review-zero,
  .trustpilot-carousel-card,
  #product-faqs,
  .product-rich-faq-list,
  .product-rich-faq-item,
  .product-rich-faq-action,
  .product-rich-faq-toggle,
  .explore-dining a
) {
  border-color: #e9e5de !important;
}

/* The closed variant selector was the only neutral first-fold control using a
 * 2px outline. Reduce it to the shared 1px hairline while leaving its keyboard
 * focus ring at the original stronger width. */
#pdp-main-content#pdp-main-content#pdp-main-content#pdp-main-content.pdp2030[data-pdp-family] #iProAttrId:not(:focus-visible) {
  border-width: 1px !important;
  border-color: #e9e5de !important;
}

@media (min-width: 1024px) {
  .pdp2030 .pdp-gallery > .pdp-gallery-thumbs {
    align-self: start !important;
    height: max-content !important;
  }

  .pdp2030 .pdp-gallery-stage > .pdp-wishlist,
  .pdp2030 .pdp-gallery-stage > .pdp-gallery-compare {
    width: 44px;
    height: 44px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #pdp-main-content#pdp-main-content.pdp2030 .pdp-gallery-stage > .pdp-wishlist.cfs-wishlist-action {
    top: 15px !important;
    transform: none !important;
  }

  .pdp2030 .pdp-view-all-info {
    transform: translateY(-6.5px);
  }

  /* Centre the lone information action below the main image column, not the
     full gallery (which also contains the thumbnail rail). */
  :is(#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center, html) body #pdp-main-content.pdp2030:is([data-pdp-family="standard"], [data-pdp-family="variants"], [data-pdp-family="variants-nonmapped"], [data-pdp-family="wardrobe-configurator"])
    > .pdp-first-fold > .pdp-gallery > .pdp-dimension-summary:has(> .pdp-view-all-info:only-child) {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr) !important;
    column-gap: 16px !important;
    justify-content: initial !important;
  }

  :is(#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center, html) body #pdp-main-content.pdp2030:is([data-pdp-family="standard"], [data-pdp-family="variants"], [data-pdp-family="variants-nonmapped"], [data-pdp-family="wardrobe-configurator"])
    > .pdp-first-fold > .pdp-gallery > .pdp-dimension-summary:has(> .pdp-view-all-info:only-child) > .pdp-view-all-info {
    grid-column: 2 !important;
    justify-self: center !important;
  }

  /* Present the brand story as a calm, self-contained card while preserving
     the shared PDP rail and all existing content/link behaviour. */
  :is(#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card, html) body.cfs2030-shell[data-cfs-page] #main-content.cfs-main-content #pdp-main-content.pdp2030[data-pdp-family]
    > .brand-section > .content-wrap {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 26px 30px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 240px) !important;
    align-items: center !important;
    gap: 32px !important;
    border: 1px solid #e9e5de !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(48, 42, 35, 0.045) !important;
    overflow: hidden !important;
  }

  :is(#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card, html) body.cfs2030-shell[data-cfs-page] #main-content.cfs-main-content #pdp-main-content.pdp2030[data-pdp-family]
    > .brand-section > .content-wrap > .brand-logo {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  :is(#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card, html) body.cfs2030-shell[data-cfs-page] #main-content.cfs-main-content #pdp-main-content.pdp2030[data-pdp-family]
    > .brand-section > .content-wrap > .brand-logo img {
    width: 100% !important;
    max-width: 100% !important;
    height: 80px !important;
    max-height: 80px !important;
    object-fit: contain !important;
  }
}

/* Related-category navigation: positioned directly after Similar Products.
   Links are server-rendered from the live category tree and intentionally use
   text cards so this discovery block adds no image requests to the PDP. */
.pdp2030 .pdp-related-categories {
  box-sizing: border-box;
  width: 100%;
  padding: 58px 0 62px;
  border-top: 1px solid #e4e0d7;
  border-bottom: 1px solid #e4e0d7;
  background: #f5f3ed;
  overflow: hidden;
}

.pdp2030 .pdp-related-categories > .content-wrap {
  box-sizing: border-box;
}

.pdp2030 .pdp-related-categories__heading {
  margin: 0 0 24px;
}

.pdp2030 .pdp-related-categories__heading small {
  display: block;
  margin: 0 0 8px;
  color: #58483f;
  font: 700 11px/1.2 var(--pdp-font-body, Inter, Arial, sans-serif);
  letter-spacing: .1em;
}

.pdp2030 .pdp-related-categories__heading h2 {
  margin: 0;
  color: #1f1f1f;
  font-family: var(--pdp-font-display, Georgia, serif);
  font-size: clamp(30px, 2.4vw, 40px);
  font-weight: 600;
  line-height: 1.1;
  text-align: left;
}

.pdp2030 .pdp-related-categories__heading p {
  max-width: 660px;
  margin: 10px 0 0;
  color: #4e4b47;
  font-size: 15px;
  line-height: 1.5;
}

.pdp2030 .pdp-related-categories__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.pdp2030 .pdp-related-categories__grid a {
  box-sizing: border-box;
  min-width: 0;
  min-height: 76px;
  padding: 18px 20px;
  border: 1px solid #d8d2c8;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: #fff;
  color: #242321;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.pdp2030 .pdp-related-categories__grid a span:last-child {
  flex: 0 0 auto;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
}

.pdp2030 .pdp-related-categories__grid a:is(:hover, :focus-visible) {
  border-color: #58483f;
  box-shadow: 0 5px 16px rgba(48, 42, 35, .08);
  transform: translateY(-2px);
}

@media (max-width: 767px) {
  .pdp2030 .pdp-related-categories {
    padding: 34px 0 38px;
  }

  .pdp2030 .pdp-related-categories > .content-wrap {
    width: min(calc(100% - 32px), 1502px);
    margin-right: auto;
    margin-left: auto;
  }

  .pdp2030 .pdp-related-categories__heading {
    margin-bottom: 18px;
  }

  .pdp2030 .pdp-related-categories__heading h2 {
    font-size: 28px;
  }

  .pdp2030 .pdp-related-categories__heading p {
    margin-top: 8px;
    font-size: 14px;
  }

  .pdp2030 .pdp-related-categories__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .pdp2030 .pdp-related-categories__grid a {
    min-height: 64px;
    padding: 14px;
    gap: 10px;
    font-size: 13px;
  }

  .pdp2030 .pdp-related-categories__grid a:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 359px) {
  .pdp2030 .pdp-related-categories__grid {
    grid-template-columns: 1fr;
  }

  .pdp2030 .pdp-related-categories__grid a:last-child:nth-child(odd) {
    grid-column: auto;
  }
}

/* PDP policy popup: fetched static-page styles are intentionally stripped by
   the modal loader. Recreate the useful compact layout inside the dialog so
   inline SVG icons cannot expand to the full content width. */
body.cfs2030-shell .policy-modal__body {
  overflow-x: hidden;
}
body.cfs2030-shell .policy-modal__content,
body.cfs2030-shell .policy-modal__content .cfs-static,
body.cfs2030-shell .policy-modal__content .cfs-static__shell {
  width: 100%;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
}
body.cfs2030-shell .policy-modal__content .cfs-static__breadcrumb,
body.cfs2030-shell .policy-modal__content .cfs-static__toc-card,
body.cfs2030-shell .policy-modal__content .cfs-static__hero-copy > :is(.cfs-static__kicker, h1) {
  display: none !important;
}
body.cfs2030-shell .policy-modal__content .cfs-static__hero {
  margin: 0 0 22px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(270px, .72fr);
  gap: 20px;
  align-items: stretch;
}
body.cfs2030-shell .policy-modal__content .cfs-static__hero-copy {
  min-width: 0;
  display: flex;
  align-items: center;
}
body.cfs2030-shell .policy-modal__content .cfs-static__summary {
  margin: 0;
  color: #3e3935;
  font-size: 15px;
  line-height: 1.55;
}
body.cfs2030-shell .policy-modal__content .cfs-static__highlight {
  min-width: 0;
  margin: 0;
  padding: 15px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #e2ddd4;
  border-radius: 10px;
  background: #f7f5f0;
}
body.cfs2030-shell .policy-modal__content .cfs-static__highlight-icon {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px;
  flex: 0 0 42px;
  display: grid !important;
  place-items: center;
  border-radius: 50%;
  background: #262626;
  color: #fff;
  overflow: hidden;
}
body.cfs2030-shell .policy-modal__content .cfs-static__highlight-icon > svg {
  width: 23px !important;
  height: 23px !important;
  max-width: 23px !important;
  max-height: 23px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.cfs2030-shell .policy-modal__content .cfs-static__highlight strong {
  display: block;
  margin: 0 0 3px;
  color: #262626;
  font-size: 14px;
  line-height: 1.25;
}
body.cfs2030-shell .policy-modal__content .cfs-static__highlight p {
  margin: 0;
  color: #625c56;
  font-size: 12px;
  line-height: 1.45;
}
body.cfs2030-shell .policy-modal__content .cfs-static__layout {
  display: block;
}
body.cfs2030-shell .policy-modal__content .cfs-static__article,
body.cfs2030-shell .policy-modal__content .cfs-static__content {
  min-width: 0;
  color: #3f3a36;
  font-size: 14px;
  line-height: 1.65;
}
body.cfs2030-shell .policy-modal__content .cfs-static__content > :first-child {
  margin-top: 0;
}
body.cfs2030-shell .policy-modal__content .cfs-static__content h2 {
  margin: 24px 0 8px;
  color: #262626;
  font-family: inherit;
  font-size: 19px;
  line-height: 1.3;
}
body.cfs2030-shell .policy-modal__content .cfs-static__content p {
  margin: 0 0 12px;
}
body.cfs2030-shell .policy-modal__content .cfs-static__content a {
  color: #262626;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
@media (max-width: 700px) {
  body.cfs2030-shell .policy-modal__content .cfs-static__hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin-bottom: 18px;
  }
  body.cfs2030-shell .policy-modal__content .cfs-static__highlight {
    padding: 13px 14px;
  }
  body.cfs2030-shell .policy-modal__content .cfs-static__article,
  body.cfs2030-shell .policy-modal__content .cfs-static__content {
    font-size: 13px;
    line-height: 1.6;
  }
}

/* Guided required-option route for standard furniture PDPs. Specialised
   blinds, wardrobe, sofa and Dura configurators keep their own step systems. */
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-guide {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid #e8c77a;
  border-radius: 7px;
  background: #fff8e8;
  color: #624500;
  text-align: left;
}
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-guide-icon {
  display: grid;
  place-items: center;
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #d89b1d;
  color: #fff;
  font-size: 15px;
  font-weight: 900;
}
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-guide > span:last-child {
  display: grid;
  min-width: 0;
  gap: 1px;
}
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-guide strong {
  color: inherit;
  font-size: 12px;
  line-height: 1.25;
}
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-guide small {
  color: #765100;
  font-size: 10.5px;
  line-height: 1.25;
}
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-guide.is-complete {
  border-color: #9ed2b5;
  background: #f2fbf6;
  color: #12643a;
}
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-guide.is-complete .cfs-pdp-choice-guide-icon {
  background: #198754;
}
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-guide.is-complete small {
  color: #3e7255;
}
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-guide.is-attention {
  animation: cfsPdpChoiceNudge .32s ease-in-out 2;
}
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-pending {
  position: relative;
  margin-bottom: 9px !important;
  padding: 8px !important;
  border: 1px solid #e8c77a !important;
  border-radius: 7px !important;
  background: #fffdf7 !important;
}
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-next {
  border-color: #d89b1d !important;
  background: #fff8e8 !important;
  box-shadow: 0 0 0 2px rgba(216,155,29,.18) !important;
}
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  float: right;
  position: relative;
  z-index: 2;
  margin: 0 0 6px 8px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #fff0c8;
  color: #765100;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-next > .cfs-pdp-choice-badge {
  background: #d89b1d;
  color: #fff;
}
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-helper {
  display: flex;
  align-items: center;
  clear: both;
  gap: 6px;
  margin-top: 6px;
  padding: 6px 8px;
  border-radius: 5px;
  background: #fff0c8;
  color: #624500;
  font-size: 10.5px;
  font-weight: 650;
  line-height: 1.25;
}
.pdp2030 .pdp-live-options #selectDayOfChoiceCalendar:has(.cfs-pdp-choice-helper) {
  height: auto;
  min-height: 0;
}
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-helper > span {
  display: grid;
  place-items: center;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #d89b1d;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-pending select,
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-pending .cfsv-trigger,
.pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-pending .cfs-pdp-color-trigger {
  border-color: #d89b1d !important;
}
/* Native first variation select sits in a fixed 44px grid row. Keep the
   guidance badge inside that control instead of increasing/overflowing the row. */
.pdp2030:not([data-pdp-window-dressing="1"]) .optSelectB > .cfs-pdp-choice-pending {
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  box-shadow: none !important;
}
.pdp2030:not([data-pdp-window-dressing="1"]) .optSelectB > .cfs-pdp-choice-pending > .cfs-pdp-choice-badge {
  position: absolute;
  z-index: 3;
  top: 50%;
  right: 38px;
  float: none;
  margin: 0;
  transform: translateY(-50%);
  pointer-events: none;
}
.pdp2030:not([data-pdp-window-dressing="1"]) .optSelectB > .cfs-pdp-choice-next > select.cfs-purchase-control {
  width: 100%;
  height: 44px;
  padding-right: 126px !important;
  border-color: #d89b1d !important;
  background-color: #fff8e8 !important;
  box-shadow: 0 0 0 2px rgba(216,155,29,.14) !important;
}
@keyframes cfsPdpChoiceNudge {
  50% { transform: translateX(3px); }
}
@media (prefers-reduced-motion: reduce) {
  .pdp2030:not([data-pdp-window-dressing="1"]) .cfs-pdp-choice-guide.is-attention { animation: none; }
}

@media (min-width: 1024px) and (max-width: 1439px) {
  :is(#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center#pdp-view-info-center, html) body #pdp-main-content.pdp2030:is([data-pdp-family="standard"], [data-pdp-family="variants"], [data-pdp-family="variants-nonmapped"], [data-pdp-family="wardrobe-configurator"])
    > .pdp-first-fold > .pdp-gallery > .pdp-dimension-summary:has(> .pdp-view-all-info:only-child) {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    column-gap: 14px !important;
  }
}

.cfs-mapped-choice > i.has-product-image,
.cfs-mapped-dialog-option > i.has-product-image {
  background-color: #f7f5ef;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Product Questions now uses a single heading; remove the compound-heading
   remainder so the standard heading-to-list gap is the only space below it. */
#pdp-main-content.pdp2030[data-pdp-family] #product-faqs .product-glance-heading > h2 {
  margin-bottom: 0 !important;
}

@media (max-width: 767px) {
  :is(#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card#pdp-brand-card, html) body.cfs2030-shell[data-cfs-page] #main-content.cfs-main-content #pdp-main-content.pdp2030[data-pdp-family]
    > .brand-section > .content-wrap {
    box-sizing: border-box !important;
    padding: 18px 16px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    border: 1px solid #e9e5de !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(48, 42, 35, 0.04) !important;
    overflow: hidden !important;
  }

  .pdp2030 .product-details-uses {
    border-bottom: 0;
  }

  .pdp2030 .product-details-uses + .pdp-information--responsive {
    margin-top: 8px !important;
  }

  .pdp2030 .pdp-information--responsive .pdp-info-accordion > summary {
    min-height: 52px;
    padding: 12px 16px !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    line-height: 1.3;
    text-align: left;
  }

  .pdp2030 #product-faqs > .content-wrap {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
  }

  .pdp2030 #product-faqs .product-glance-heading {
    text-align: left;
  }

  .pdp2030 .explore-dining > .content-wrap > div {
    margin-top: 12px;
  }
}

/* Keep the primary product media in view while the customer reviews the
   adjacent purchase controls. This is deliberately scoped to the shared PDP
   first fold and desktop layouts; mobile stacking remains unchanged. */
@media (min-width: 1024px) {
  body.cfs2030-shell #pdp-main-content.pdp2030[data-pdp-family]
    > .pdp-first-fold {
    align-items: start;
    overflow: visible;
  }
  body.cfs2030-shell #pdp-main-content.pdp2030[data-pdp-family]
    > .pdp-first-fold > .pdp-gallery {
    position: sticky !important;
    top: 12px !important;
    align-self: start !important;
    z-index: 2;
  }
}
/* PDP price hierarchy: the payable price must be read before the crossed-out
   reference price. This also applies after a variant refresh because the live
   price renderer retains these semantic classes. */
html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-price .cfs-price__row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 5px 10px !important;
}
html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-price .cfs-price__current {
  order: 1 !important;
}
html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-price .cfs-price__was {
  order: 2 !important;
}
html body.cfs2030-shell #pdp-main-content.pdp2030 .pdp-price .pdp-save-summary {
  order: 3 !important;
}

/* Legacy price CSS uses repeated-ID specificity. Keep this scoped authority
   above it so the payable price remains first on every PDP price refresh. */
:is(#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order, html)
body.cfs2030-shell #pdp-main-content#pdp-main-content.pdp2030 .pdp-price .cfs-price__row > .cfs-price__current {
  order: 1 !important;
}
:is(#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order, html)
body.cfs2030-shell #pdp-main-content#pdp-main-content.pdp2030 .pdp-price .cfs-price__row > .cfs-price__was {
  order: 2 !important;
}
:is(#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order#cfs-pdp-price-order, html)
body.cfs2030-shell #pdp-main-content#pdp-main-content.pdp2030 .pdp-price .cfs-price__row > .pdp-save-summary {
  order: 3 !important;
}

/* Mobile floating basket. The existing PDP controller keeps this bar synced
   with the visible live price, required options and the real basket action. */
@media (max-width: 767px) {
  html body.cfs2030-shell:has(#pdp-main-content.pdp2030) {
    padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important;
  }
  html body.cfs2030-shell #pdp-main-content.pdp2030 ~ .sticky-basket[data-pdp-sticky-ready],
  html body.cfs2030-shell #pdp-main-content.pdp2030 .sticky-basket[data-pdp-sticky-ready] {
    box-sizing: border-box !important;
    position: fixed !important;
    z-index: 1500 !important;
    right: 0 !important;
    bottom: env(safe-area-inset-bottom, 0px) !important;
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 76px !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    grid-template-columns: minmax(0, 108px) minmax(160px, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    background: #fff !important;
    border-top: 1px solid #dfdacf !important;
    box-shadow: 0 -8px 24px rgba(38, 38, 38, .16) !important;
  }
  html body.cfs2030-shell #pdp-main-content.pdp2030 ~ .sticky-basket[data-pdp-sticky-ready] .cfs-sticky-product,
  html body.cfs2030-shell #pdp-main-content.pdp2030 .sticky-basket[data-pdp-sticky-ready] .cfs-sticky-product {
    min-width: 0 !important;
  }
  html body.cfs2030-shell #pdp-main-content.pdp2030 ~ .sticky-basket[data-pdp-sticky-ready] .cfs-sticky-product__copy,
  html body.cfs2030-shell #pdp-main-content.pdp2030 .sticky-basket[data-pdp-sticky-ready] .cfs-sticky-product__copy {
    min-width: 0 !important;
  }
  html body.cfs2030-shell #pdp-main-content.pdp2030 ~ .sticky-basket[data-pdp-sticky-ready] [data-sticky-basket],
  html body.cfs2030-shell #pdp-main-content.pdp2030 .sticky-basket[data-pdp-sticky-ready] [data-sticky-basket] {
    width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
  }
}

@media (max-width: 360px) {
  html body.cfs2030-shell #pdp-main-content.pdp2030 ~ .sticky-basket[data-pdp-sticky-ready],
  html body.cfs2030-shell #pdp-main-content.pdp2030 .sticky-basket[data-pdp-sticky-ready] {
    grid-template-columns: minmax(0, 94px) minmax(150px, 1fr) !important;
    padding-inline: 10px !important;
  }
}

/* PDP gallery natural-ratio contract (2026-10-09).
   Keep every source image full-width at its native ratio, with no crop. */
:is(#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock, html)
body.cfs2030-shell[data-cfs-page="c-productdetail"]
#main-content#main-content.cfs-main-content
#pdp-main-content#pdp-main-content.pdp2030[data-pdp-family]
> .pdp-first-fold > .pdp-gallery {
  position: static !important;
  top: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  grid-template-rows: auto !important;
  grid-auto-rows: auto !important;
  align-self: start !important;
}

:is(#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock, html)
body.cfs2030-shell[data-cfs-page="c-productdetail"]
#main-content#main-content.cfs-main-content
#pdp-main-content#pdp-main-content.pdp2030[data-pdp-family]
> .pdp-first-fold > .pdp-gallery > .pdp-gallery-stage {
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
}

:is(#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock#cfs-pdp-gallery-edge-lock, html)
body.cfs2030-shell[data-cfs-page="c-productdetail"]
#main-content#main-content.cfs-main-content
#pdp-main-content#pdp-main-content.pdp2030[data-pdp-family]
> .pdp-first-fold > .pdp-gallery > .pdp-gallery-stage
> #calligariImageChange#calligariImageChange[data-gallery-main] {
  position: static !important;
  inset: auto !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  mix-blend-mode: normal !important;
}

/* Keep PDP option drawers and their scrim above the sticky site navigation. */
html body.cfs2030-shell:has(#pdp-main-content.pdp2030) .offcanvas-backdrop.show {
  z-index: 14040 !important;
}

html body.cfs2030-shell:has(#pdp-main-content.pdp2030) .configPopup.offcanvas.show {
  z-index: 14050 !important;
}

/* Mobile Furniture Care readability: increase each text tier by exactly 1px
   without changing the desktop purchase panel. */
@media (max-width: 767px) {
  html body.cfs2030-shell #pdp-main-content.pdp2030
    .cfs-purchase-protection label.protection > span > b,
  html body.cfs2030-shell #pdp-main-content.pdp2030
    .cfs-purchase-protection label.protection > span > b .d-sm-inline {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }
  html body.cfs2030-shell #pdp-main-content.pdp2030
    .cfs-purchase-protection label.protection small,
  html body.cfs2030-shell #pdp-main-content.pdp2030
    .cfs-purchase-protection label.protection small > a {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }
  html body.cfs2030-shell #pdp-main-content.pdp2030
    .cfs-purchase-protection label.protection > strong {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
  :is(#cfs-mobile-care-type#cfs-mobile-care-type#cfs-mobile-care-type#cfs-mobile-care-type#cfs-mobile-care-type#cfs-mobile-care-type#cfs-mobile-care-type#cfs-mobile-care-type, html)
  body.cfs2030-shell #pdp-main-content.pdp2030
    .cfs-purchase-protection label.protection small,
  :is(#cfs-mobile-care-type#cfs-mobile-care-type#cfs-mobile-care-type#cfs-mobile-care-type#cfs-mobile-care-type#cfs-mobile-care-type#cfs-mobile-care-type#cfs-mobile-care-type, html)
  body.cfs2030-shell #pdp-main-content.pdp2030
    .cfs-purchase-protection label.protection small > a {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }
}

/* PDP breadcrumbs use the same outer frame as the gallery rail and purchase
   layout. Do not centre them on the old, narrower 1320px content column or
   retain an extra inner gutter. */
html body.cfs2030-shell #pdp-main-content.pdp2030 > .pdp-breadcrumbs {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

/* Keep the first required choice clear, without repeating warning cards for
   every dependent configurator option. Validation and the next-step guide
   remain unchanged. */
html body.cfs2030-shell #pdp-main-content.pdp2030 .selectProductOpt
  .cfs-pdp-choice-pending:not(.cfs-pdp-choice-next) {
  margin-bottom: 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .selectProductOpt
  .cfs-pdp-choice-pending:not(.cfs-pdp-choice-next) > .cfs-pdp-choice-badge {
  display: none !important;
}

html body.cfs2030-shell #pdp-main-content.pdp2030 .selectProductOpt
  .cfs-pdp-choice-pending:not(.cfs-pdp-choice-next) :is(select,.cfsv-trigger,.cfs-pdp-color-trigger) {
  border-color: #dfdacf !important;
  box-shadow: none !important;
}
