/* lp-pp10.css - product page template (PP10, 3 Nov 2026). Loaded only on product pages (product.tpl head block), after lp-retail.css and lp-d10.css.
   Display only: no prices, stock, data or delivery rules are computed or changed here. Scope: .lp-pp10 (the product <section>) and #product. */
.lp-pp10 {
  --pp-ink: #1f2a2a; --pp-muted: #5b6462; --pp-line: #e4e0da; --pp-soft: #f6f4f1; --pp-frame: #f3f1ed;
  --pp-orange: #c84e14; --pp-green: #1e7a46; --pp-radius: 14px;
}

/* ---------- Breadcrumb + title block ---------- */
#product .breadcrumb-wrapper, #product nav.breadcrumb, #product .breadcrumb { margin-bottom: 0 !important; }
.lp-pp10 .lm-product-title { font-size: clamp(22px, 2.4vw, 32px) !important; line-height: 1.2 !important; letter-spacing: -.01em; margin: 0 0 6px !important; color: var(--pp-ink); }
.lp-pp10 .lp-pdp__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin: 0 0 10px !important; font-size: 13px; color: var(--pp-muted); }
.lp-pp10 .lp-pdp__ref { font-size: 13px !important; color: var(--pp-muted) !important; letter-spacing: .01em; }
.lp-pp10 .lp-pp-brand { font-weight: 600; color: var(--pp-ink) !important; text-decoration: none; display: inline-flex; align-items: center; min-height: 32px; }
.lp-pp10 .lp-pp-brand:hover { text-decoration: underline; }
.lp-pp-chips { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 0 14px; padding: 0; }
.lp-pp-chips li { padding: 5px 11px; border: 1px solid var(--pp-line); border-radius: 999px; background: #fff; font-size: 13px; font-weight: 600; color: var(--pp-ink); line-height: 1.3; }
/* brand now sits under the title and in the spec table: the duplicate brand/reference rows in the buy column go */
.lp-pp10 .lm-product-buy-card .product-attributes .product-manufacturer,
.lp-pp10 .lm-product-buy-card .product-attributes .product-reference { display: none !important; }

/* ---------- Gallery: whole image on a neutral frame, no bands ---------- */
.lp-pp10 .lp-pdp__gallery { background: var(--pp-frame) !important; border: 0 !important; border-radius: var(--pp-radius) !important; overflow: hidden; padding: 0 !important; box-shadow: none !important; }
.lp-pp10 .lp-pdp__gallery .product-cover { position: relative; aspect-ratio: 1 / 1; margin: 0 !important; background: var(--pp-frame) !important; border: 0 !important; overflow: hidden; border-radius: var(--pp-radius); }
.lp-pp10 .lp-pdp__gallery .product-cover > img { width: 100% !important; height: 100% !important; max-height: none !important; object-fit: contain !important; mix-blend-mode: multiply; transform-origin: 50% 50%; transition: transform .2s ease; background: transparent !important; }
.lp-pp10 .lp-pdp__gallery .product-cover .layer { display: none !important; } /* the pink expand icon: the "Click to zoom" button does the same */
.lp-pp10 .lp-pdp__gallery .product-flags { top: 12px !important; left: 12px !important; }
.lp-pp10 .lp-pdp__zoom { background: rgba(255,255,255,.92) !important; border: 1px solid var(--pp-line) !important; color: var(--pp-ink) !important; border-radius: 999px !important; min-height: 40px; padding: 6px 14px !important; font-size: 13px !important; font-weight: 600; box-shadow: 0 1px 3px rgba(0,0,0,.08) !important; }
/* desktop thumbnails: neutral tiles, active ring in ink */
.lp-pp10 .lp-pdp__gallery .product-thumbs, .lp-pp10 .lp-pdp__gallery .js-qv-mask { background: transparent; }
.lp-pp10 .lp-pdp__gallery :is(.thumb-container, .product-thumbs .thumb-container) { background: #fff; border-radius: 10px; }
.lp-pp10 .lp-pdp__gallery .thumb { mix-blend-mode: multiply; border-radius: 10px; border: 2px solid transparent !important; }
.lp-pp10 .lp-pdp__gallery .thumb.selected, .lp-pp10 .lp-pdp__gallery .thumb:hover { border-color: var(--pp-ink) !important; }
.lp-pp10.lp-pp-single .lp-pdp__gallery :is(.thumbs-list, .js-product-thumbs-scrollbox, .scroll-box-arrows, .lp-pp-thumbs, .lp-pp-count) { display: none !important; }

@media (min-width: 992px) {
  .lp-pp10 .lp-pdp__grid { align-items: flex-start; }
  .lp-pp10 .lp-pdp__media { position: sticky; top: calc(var(--lp-sticky-top, 0px) + 16px); }
  .lp-pp10 .lp-pdp__gallery .product-cover { border-radius: var(--pp-radius) var(--pp-radius) 0 0; }
  .lp-pp10 .lp-pdp__gallery .images-container { padding-bottom: 12px; }
  .lp-pp10 .lp-pdp__gallery .product-cover + * { padding: 12px 52px 0 !important; }
}

/* phone: swipe gallery, 3:2 frames, counter + thumbnail strip instead of the large arrow discs */
@media (max-width: 991.98px) {
  .lp-pp10 .lp-pdp__gallery { margin-bottom: 4px; }
  .lp-pp10 .lp-pdp__gallery .product-cover { aspect-ratio: auto; border-radius: var(--pp-radius); }
  .lp-pp10 .product-mobile-images { display: flex; margin: 0 !important; padding: 0 !important; }
  .lp-pp10 .product-mobile-images > li { flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; aspect-ratio: auto; height: min(61vw, 40vh); max-height: none; display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--pp-frame); scroll-snap-align: center; margin: 0 !important; padding: 0 !important; position: relative; }
  .lp-pp10 .product-mobile-images > li > img { width: 100% !important; height: 100% !important; max-height: none !important; object-fit: contain !important; mix-blend-mode: multiply; transform-origin: 50% 50%; }
  .lp-pp10 .js-mobile-images-scrollbox { scroll-snap-type: x mandatory; scrollbar-width: none; }
  .lp-pp10 .js-mobile-images-scrollbox::-webkit-scrollbar { display: none; }
  .lp-pp10 .lp-pdp__gallery .scroll-box-arrows { display: none !important; }
  .lp-pp-count { position: absolute; right: 10px; bottom: 10px; z-index: 3; padding: 3px 10px; border-radius: 999px; background: rgba(31,42,42,.78); color: #fff; font-size: 12px; font-weight: 600; line-height: 1.5; pointer-events: none; }
  .lp-pp-thumbs { display: flex; gap: 6px; list-style: none; margin: 0; padding: 8px 8px 8px; overflow-x: auto; scrollbar-width: none; background: #fff; }
  .lp-pp-thumbs::-webkit-scrollbar { display: none; }
  .lp-pp-thumbs li { flex: 0 0 auto; }
  .lp-pp-thumb { display: block; width: 48px; height: 48px; padding: 0; border: 2px solid var(--pp-line); border-radius: 9px; background: var(--pp-frame); overflow: hidden; cursor: pointer; }
  .lp-pp-thumb img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; display: block; }
  .lp-pp-thumb.is-active { border-color: var(--pp-ink); }
  .lp-pp10 .lp-pdp__zoom { top: 10px !important; right: 10px !important; padding: 6px 12px !important; min-height: 36px; }
  .lp-pp10 .lp-pdp__zoom .material-icons { font-size: 18px !important; }
  .lp-pp10 .lp-pdp__zoom .lp-zoom-tap { display: none !important; }
}
@media (min-width: 992px) { .lp-pp-thumbs, .lp-pp-count { display: none !important; } }

/* ---------- Buy box: one clean white card ---------- */
.lp-pp10 .lp-pdp__buybox .product-information,
.lp-pp10 .lp-pdp__buybox .light-box-bg { background: #fff !important; border: 1px solid var(--pp-line) !important; border-radius: var(--pp-radius) !important; padding: 16px !important; box-shadow: 0 1px 2px rgba(0,0,0,.03) !important; }
.lp-pp10 .lp-pdp__buybox .product-actions { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }
.lp-pp10 .lm-product-buy-card { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.lp-pp10 .product-prices { background: transparent !important; padding: 0 !important; margin: 0 0 10px !important; border: 0 !important; box-shadow: none !important; }
.lp-pp10 .product-prices .current-price-value { font-size: clamp(28px, 3vw, 34px) !important; letter-spacing: -.01em; color: var(--pp-ink) !important; }
.lp-pp10 .product-prices .tax-label { font-size: 13px !important; color: var(--pp-muted) !important; margin-left: 6px; font-weight: 500; }
.lp-pp10 .product-prices .regular-price { font-size: 15px !important; }
.lp-pp10 .product-prices :is(.discount-percentage, .discount-amount) { background: var(--pp-orange) !important; color: #fff !important; font-style: normal !important; border-radius: 6px !important; padding: 2px 8px !important; font-size: 13px !important; }
.lp-pp10 .lp-stock-line { margin: 0 0 12px !important; }
.lp-pp10 .lp-stock { border-radius: 999px !important; font-size: 14px !important; padding: 6px 12px !important; }
.lp-pp10 .lp-tile-order, .lp-pp10 .lp-tile-order + * { border-radius: 12px; }
.lp-pp10 .lp-tile-order { background: var(--pp-soft) !important; border: 0 !important; padding: 12px !important; }
.lp-pp10 .lp-tile-order label:first-child { font-weight: 700; color: var(--pp-ink); }
.lp-pp10 .lp-waste { background: transparent !important; border: 0 !important; padding: 6px 0 !important; min-height: 44px; display: flex !important; align-items: center; gap: 10px; }
.lp-pp10 .lp-order-summary { background: #fff !important; border: 1px solid var(--pp-line); border-radius: 10px; }
.lp-pp10 .lp-order-summary:empty { display: none !important; }
.lp-pp10 .lp-tile-order small { color: #555 !important; font-size: 13px !important; }
/* one height + radius for stepper, area input and the main button */
.lp-pp10 .product-quantity-touchspin .input-group, .lp-pp10 .product-quantity-touchspin .qty { border-radius: 12px !important; overflow: hidden; }
.lp-pp10 .lp-area-input { border-radius: 12px !important; min-height: 48px; }
.lp-pp10 .add-to-cart { min-height: 54px !important; border-radius: 12px !important; font-size: 17px !important; font-weight: 700 !important; letter-spacing: .01em; }
.lp-pp10 .lm-paypal-inline { margin-top: 10px; }
.lp-pp10 .lm-paypal-divider span { font-size: 12px; letter-spacing: .06em; color: var(--pp-muted); }

/* ---------- Add-ons (laporsacomplete) right after Add to basket ---------- */
.lp-pp10 .lcp { margin: 12px 0 0 !important; border: 1px solid var(--pp-line) !important; border-radius: var(--pp-radius) !important; background: #fff !important; padding: 14px 16px !important; }
.lp-pp10 .lcp h3 { font-size: 17px !important; margin: 0 0 4px !important; }
.lp-pp10 .lcp .lcp-eyebrow { font-size: 11px; letter-spacing: .08em; color: var(--pp-orange); font-weight: 700; }

/* ---------- lpconvert block: sample link as a real secondary button, help line kept, duplicate "or call" dropped ---------- */
.lp-pp10 .lpc-pi { margin: 12px 0 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.lp-pp10 .lpc-pi__deliv { list-style: none !important; margin: 0 0 10px !important; padding: 0 !important; }
.lp-pp10 .lpc-pi__deliv li { list-style: none !important; padding: 0 !important; margin: 0 !important; font-size: 0; color: transparent; }
.lp-pp10 .lpc-pi__deliv li::before, .lp-pp10 .lpc-pi__deliv li::marker { content: none !important; display: none !important; }
.lp-pp10 .lpc-pi__sample > a:first-child { display: flex !important; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 10px 16px; border: 2px solid var(--pp-ink); border-radius: 12px; background: #fff; color: var(--pp-ink) !important; font-size: 15px !important; font-weight: 700; text-decoration: none !important; text-align: center; line-height: 1.25; }
.lp-pp10 .lpc-pi__sample > a:first-child::before { content: none !important; }
.lp-pp10 .lpc-pi__sample > a:first-child:hover { background: var(--pp-ink); color: #fff !important; }
.lp-pp10 .lpc-pi__sample > a:not(:first-child) { display: none !important; }
.lp-pp10 .lpc-pi > p { font-size: 14px !important; color: var(--pp-ink) !important; margin: 0 0 4px !important; }
.lp-pp10 .lpc-pi > p a { color: var(--pp-ink) !important; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; display: inline-flex; align-items: center; min-height: 32px; }
.lp-pp10 .lpc-pi > p a[href^="tel:"], .lp-pp10 .lpc-pi > p a[data-lpc-wa] { color: var(--pp-orange) !important; }

/* ---------- Delivery & collection, trust ---------- */
.lp-pp-deliv, .lp-pp-trust { margin: 14px 0 0; border: 1px solid var(--pp-line); border-radius: var(--pp-radius); background: #fff; }
.lp-pp-trust { background: var(--pp-soft); border-color: transparent; }
.lp-pp-deliv__row, .lp-pp-trust__row { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; }
.lp-pp-deliv__row + .lp-pp-deliv__row, .lp-pp-trust__row + .lp-pp-trust__row { border-top: 1px solid var(--pp-line); }
.lp-pp-deliv__row .material-icons, .lp-pp-trust__row .material-icons { font-size: 22px; color: var(--pp-ink); margin-top: 1px; flex: 0 0 22px; }
.lp-pp-deliv__row strong, .lp-pp-trust__row strong { display: block; font-size: 15px; color: var(--pp-ink); margin-bottom: 1px; }
.lp-pp-deliv__row span, .lp-pp-trust__row span { display: block; font-size: 14px; line-height: 1.45; color: #3f4846; }
.lp-pp-deliv a, .lp-pp-trust a { color: var(--pp-ink) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; display: inline-block; padding: 4px 0; }
.lp-pp-paylogos { display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 4px; }
.lp-pp-paylogos img { height: 24px; width: auto; max-width: 100%; background: transparent; border: 0; filter: none !important; opacity: 1 !important; }
.lp-pp10 .lp-pdp__assure { display: none !important; }

/* short description: plain, readable copy under the trust card */
.lp-pp10 .product-description-short { margin: 16px 0 0 !important; font-size: 15px !important; line-height: 1.55; color: #3f4846 !important; }
.lp-pp10 .product-description-short p { margin: 0 0 6px; }

/* ---------- Product information: description + spec table ---------- */
.lp-pp10 .lm-product-story-header p, .lp-pp10 .lm-product-story-header .lm-eyebrow, .lp-pp10 .lm-product-section-number { display: none !important; }
.lp-pp10 .lm-product-story-header h2 { font-size: clamp(22px, 2.2vw, 28px) !important; margin: 0 0 14px !important; }
.lp-pp10 .lm-product-story-grid { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
@media (min-width: 992px) {
  .lp-pp10 .lm-product-story-grid { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); }
  .lp-pp10 .lm-product-story-grid > :only-child { grid-column: 1 / -1; max-width: 920px; }
}
.lp-pp10 .lm-product-description-card, .lp-pp10 .lp-pp-spec { background: #fff !important; border: 1px solid var(--pp-line) !important; border-radius: var(--pp-radius) !important; padding: 18px 20px !important; box-shadow: none !important; margin: 0 !important; }
.lp-pp-h3 { font-size: 18px !important; font-weight: 700; margin: 0 0 10px !important; color: var(--pp-ink); }
.lp-pp-spec__table { width: 100%; border-collapse: collapse; font-size: 15px; }
.lp-pp-spec__table th, .lp-pp-spec__table td { padding: 10px 0; border-bottom: 1px solid var(--pp-line); vertical-align: top; text-align: left; line-height: 1.4; }
.lp-pp-spec__table tr:last-child :is(th, td) { border-bottom: 0; }
.lp-pp-spec__table th { width: 44%; font-weight: 500; color: var(--pp-muted); padding-right: 12px; }
.lp-pp-spec__table td { font-weight: 600; color: var(--pp-ink); overflow-wrap: anywhere; }
.lp-pp-spec__table tr.lp-pp-derived td small { display: block; font-weight: 400; font-size: 12px; color: var(--pp-muted); }
.lp-pp-keyfacts__lead { font-size: 16px; color: var(--pp-ink); margin: 0 0 8px; }
.lp-pp-keyfacts__list { margin: 0 0 10px; padding-left: 18px; }
.lp-pp-keyfacts__list li { margin: 0 0 4px; font-size: 15px; }
.lp-pp-keyfacts__note { font-size: 13px; color: var(--pp-muted); margin: 0; }
/* supplier tables inside descriptions: readable on every width */
.lp-pp10 .lm-product-rich-text table { width: 100%; max-width: 760px; border-collapse: collapse; }
.lp-pp10 .lm-product-rich-text :is(td, th) { padding: 9px 8px !important; border-bottom: 1px solid var(--pp-line) !important; background: transparent !important; color: var(--pp-ink); }
.lp-pp10 .lm-product-rich-text tr :is(td, th):first-child { color: var(--pp-muted); }

/* ---------- Sticky bar never covers the last content; tawk hidden while the buy area is on screen (phones) ---------- */
@media (max-width: 991.98px) {
  body#product { padding-bottom: 88px !important; }
}

/* ---------- r2 polish ---------- */
@media (max-width: 991.98px) {
  #product .breadcrumb-wrapper, #product .lp-breadcrumb, #product nav.breadcrumb { padding-top: 8px !important; padding-bottom: 4px !important; margin-top: 0 !important; }
  #product #wrapper, #product #content-wrapper, #product #main { padding-top: 0 !important; margin-top: 0 !important; }
  #product .lp-pp10 h1.lm-product-title, #product .lp-pp10 .lm-product-title.page-heading { font-size: 22px !important; line-height: 1.22 !important; margin-bottom: 4px !important; }
  .lp-pp10 .lp-pdp__meta { margin-bottom: 8px !important; }
}
/* back-to-top: ink, round, never pink */
#product #scrollTopButton, #product #scrollTopButton > * { background: var(--pp-ink, #1f2a2a) !important; color: #fff !important; border-color: var(--pp-ink, #1f2a2a) !important; }
#product #scrollTopButton { border-radius: 50% !important; }
.lp-pp-chips--buy { margin: 0 0 12px; }
@media (max-width: 991.98px) { .lp-pp-chips--top { display: none !important; } }
@media (min-width: 992px) { .lp-pp-chips--buy { display: none !important; } }
.lp-pp-ico { width: 22px; height: 22px; flex: 0 0 22px; color: var(--pp-ink, #1f2a2a); margin-top: 1px; }
/* add-ons (required/optional items) first, straight under Add to basket; then sample + help */
.lp-pp10 .product-additional-info { display: flex; flex-direction: column; }
.lp-pp10 .product-additional-info > .lcp { order: -1; }
/* tile pages: the calculator and product total are shown from first paint (the module JS fills them), so Add to basket no longer jumps */
.lp-pp10.lp-pdp--tile .lp-purchase-total[hidden] { display: block !important; }
.lp-pp10.lp-pdp--tile .lp-tile-order[hidden] { display: contents !important; } /* r10 G-5: same box type before and after lpconvert un-hides it */
.lp-pp10 .lm-product-section-heading small { display: none !important; }
.lp-pp10 .lm-product-section-heading h3 { font-size: 18px !important; margin: 0 0 10px !important; }

/* ---------- r5 (panel round 1 fixes) ---------- */
/* lead-time pill: one readable paragraph, never split into columns */
.lp-pp10 .lp-stock-line { display: block !important; }
.lp-pp10 .lp-stock { display: inline-block !important; max-width: 100%; text-align: left !important; line-height: 1.45 !important; white-space: normal !important; }
.lp-pp10 .lp-stock--order, .lp-pp10 .lp-stock--out { display: block !important; border-radius: 12px !important; padding: 10px 14px !important; }
.lp-pp10 .lp-stock * { display: inline !important; white-space: normal !important; }
.lp-pp10 .lp-stock a { min-height: 0 !important; padding: 0 !important; }
/* raw PrestaShop reference rows (EAN etc.) never in the buy column; they are in the spec table */
.lp-pp10 .lm-product-buy-card .product-attributes .product-specific-references,
.lp-pp10 .lm-product-buy-card .product-attributes .product-condition,
.lp-pp10 .lm-product-buy-card .product-attributes .product-quantities { display: none !important; }
/* tile calculator: tighter on phones so Add to basket comes sooner */
.lp-pp10 .lp-purchase-total small { display: none !important; }
@media (max-width: 991.98px) {
  .lp-pp10 .lp-tile-order small, .lp-pp10 .lp-purchase-controls small:not(.lp-total-note) { display: none !important; }
  .lp-pp10 .lp-tile-order { padding: 10px !important; margin-bottom: 8px !important; }
  .lp-pp10 .lp-order-summary { padding: 8px 12px !important; margin: 6px 0 0 !important; font-size: 15px !important; }
  .lp-pp10 .lp-purchase-total { margin: 6px 0 8px !important; padding-top: 6px !important; }
  .lp-pp10 .product-quantity-touchspin > label, .lp-pp10 .lp-tile-order > label:first-child { margin-bottom: 4px !important; }
}
/* help line: Call / WhatsApp as two tappable pills; the extra "See it at our Cwmbran showroom" link goes (the trust card has both showrooms), the Google rating stays */
.lp-pp10 .lpc-pi > p:first-of-type { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 0 !important; margin: 0 0 8px !important; }
.lp-pp10 .lpc-pi > p:first-of-type::before { content: "Questions about this product?"; font-size: 14px; font-weight: 600; color: var(--pp-ink); flex: 1 0 100%; }
.lp-pp10 .lpc-pi > p:first-of-type a { font-size: 15px !important; display: inline-flex !important; align-items: center; min-height: 44px; padding: 0 16px !important; border-radius: 999px !important; border: 1px solid var(--pp-line) !important; background: #fff !important; text-decoration: none !important; color: var(--pp-ink) !important; }
.lp-pp10 .lpc-pi > p:first-of-type a[data-lpc-wa] { color: #146c3a !important; border-color: #b9dcc7; }
.lp-pp10 .lpc-pi > p:last-of-type > a:first-child, .lp-pp10 .lpc-pi .lpc-sep { display: none !important; }
.lp-pp10 .lpc-pi > p:last-of-type a { text-decoration: none !important; font-weight: 600; }
/* desktop gallery frame 5:4 (landscape tiles fill it; the trim script centres every product) */
@media (min-width: 992px) { .lp-pp10 .lp-pdp__gallery .product-cover { aspect-ratio: 5 / 4 !important; height: auto !important; } }
/* thin spec card (brand / code only) becomes a slim strip under the description */
.lp-pp-spec--mini { padding: 12px 20px !important; }
.lp-pp-spec--mini .lp-pp-spec__table { font-size: 14px; }
@media (min-width: 992px) { .lp-pp10 .lm-product-story-grid:has(.lp-pp-spec--mini) { grid-template-columns: minmax(0, 1fr); max-width: 920px; } }
/* back-to-top sits clear of cards */
#product #scrollTopButton { bottom: 96px !important; }
.lp-pp-req { margin: 12px 0 0; padding: 10px 12px; border-radius: 10px; background: #fff6e8; border: 1px solid #f0d9b5; font-size: 14px; line-height: 1.45; color: var(--pp-ink); }
.lp-pp-req a { color: var(--pp-ink) !important; font-weight: 700; text-decoration: underline; }

/* ---------- r7 (judge r6 fixes PP-1..PP-14) ---------- */
/* PP-5 desktop gallery: image fills the frame box (absolute) so square photos are never cropped by the frame; square frame, capped height */
@media (min-width: 992px) {
  .lp-pp10 .lp-pdp__gallery .product-cover { aspect-ratio: 6 / 5 !important; height: auto !important; }
  .lp-pp10 .lp-pdp__gallery .product-cover > img { position: absolute !important; inset: 0; }
  .lp-pp10 .lp-pdp__gallery .images-container { background: #fff; }
  /* PP-6 desktop thumbnails: all visible, wrapped, no arrows needed */
  .lp-pp10 .lp-pdp__gallery .product-cover + * { padding: 12px 16px 0 !important; background: #fff; }
  .lp-pp10 .lp-pdp__gallery .thumbs-list .js-product-thumbs-scrollbox { overflow: visible !important; }
  .lp-pp10 .lp-pdp__gallery .thumbs-list .product-images { display: flex !important; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; transform: none !important; }
  .lp-pp10 .lp-pdp__gallery .thumbs-list .thumb-container { flex: 0 0 64px; width: 64px; height: 64px; margin: 0 !important; padding: 0; }
  .lp-pp10 .lp-pdp__gallery .thumbs-list .thumb-container img { width: 100%; height: 100%; object-fit: contain; }
  .lp-pp10 .lp-pdp__gallery .thumbs-list .scroll-box-arrows { display: none !important; }
}
/* PP-2 tighter buy card so Add to basket sits higher */
.lp-pp10 .lp-pdp__meta { margin-bottom: 6px !important; }
.lp-pp10 .lp-pp-chips { margin-bottom: 8px; }
.lp-pp10 .product-prices { margin-bottom: 6px !important; }
.lp-pp10 .lp-stock-line { margin-bottom: 8px !important; }
.lp-pp10 .lp-tile-order { padding: 10px !important; }
.lp-pp10 .lp-waste { min-height: 32px; height: 32px; padding: 0 !important; }
.lp-pp10 .product-minimal-quantity:not(:has(i)) { display: none !important; }
.lp-pp10 .lp-order-summary { padding: 8px 12px !important; margin: 6px 0 0 !important; }
@media (min-width: 992px) {
  .lp-pp10 .lp-order-notes small { display: none !important; }
  .lp-pp10 .lp-order-summary:not(:empty)::after { content: " Rounded up to whole tiles."; font-size: 13px; font-weight: 400; color: var(--pp-muted); }
}
.lp-pp10 .lp-tile-order small { margin: 0 !important; line-height: 1.3; }
.lp-pp10 .lp-purchase-total { border-top: 0 !important; padding-top: 4px !important; margin-top: 4px !important; }
/* PP-1 bundle products: the add-on card is the one buy path */
.lp-pp10.lp-has-required .product-information .add,
.lp-pp10.lp-has-required .product-information .add-to-cart,
.lp-pp10.lp-has-required .lm-paypal-inline { display: none !important; }
.lp-pp10.lp-has-required .lcp { margin-top: 12px !important; }
.lp-pp10.lp-has-required .lcp .lcp-add { display: block; width: 100%; background: var(--pp-orange) !important; color: #fff !important; border: 0 !important; border-radius: 12px !important; min-height: 54px; font-size: 17px !important; font-weight: 700; cursor: pointer; }
.lp-pp10.lp-has-required .lcp .lcp-add:hover { filter: brightness(.94); }
/* PP-3 sample route: two-line button + ghost WhatsApp button under the buy card; the module's long link line is hidden once the new button exists */
.lp-pp-sample { display: grid; gap: 8px; margin: 12px 0 0; }
.lp-pp-sample__main { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 56px; padding: 8px 14px; border: 2px solid var(--pp-ink); border-radius: 12px; background: #fff; color: var(--pp-ink) !important; text-decoration: none !important; text-align: center; line-height: 1.25; }
.lp-pp-sample__main strong { font-size: 16px; }
.lp-pp-sample__main span { font-size: 13px; color: var(--pp-muted); font-weight: 500; }
.lp-pp-sample__main:hover { background: var(--pp-ink); }
.lp-pp-sample__main:hover, .lp-pp-sample__main:hover span { color: #fff !important; }
.lp-pp-sample__ghost { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 14px; border: 1px solid var(--pp-line); border-radius: 12px; background: transparent; color: #146c3a !important; font-size: 15px; font-weight: 600; text-decoration: none !important; }
.lp-pp10.lp-pp-sampled .lpc-pi__deliv { display: none !important; }
/* PP-4 order-only stock state: neutral pill, lead-time sentence sits in the delivery row */
.lp-pp10 .lp-stock--order { display: inline-block !important; background: #f1efeb !important; color: var(--pp-ink) !important; border: 1px solid var(--pp-line) !important; border-radius: 999px !important; padding: 6px 12px !important; }
.lp-pp-lead { display: block !important; margin-top: 4px; }
/* PP-7 non-tile spec card */
.lp-pp10 .lm-product-rich-text > table:first-child, .lp-pp10 .lm-product-rich-text > :first-child { margin-top: 0 !important; }
.lp-pp10 .lm-product-description-card { padding-top: 14px !important; }
@media (min-width: 992px) { .lp-pp10 .lm-product-story-grid > :only-child { max-width: 1160px; } .lp-pp10 .lm-product-story-grid:has(.lp-pp-spec--mini) { max-width: 1160px; } }
/* PP-9 was price per m2 */
.lp-pp-was-sqm { font-size: 15px; font-weight: 500; color: var(--pp-muted); margin-left: 6px; }
/* PP-10 phone: Q&A pills side by side, showroom lines stacked */
@media (max-width: 991.98px) {
  .lp-pp10 .lpc-pi > p:first-of-type a { min-width: 0; justify-content: center; text-align: center; padding: 0 6px !important; font-size: 14px !important; white-space: nowrap; }
  .lp-pp-trust__shows span { display: flex !important; flex-direction: column; gap: 2px; font-size: 0 !important; }
  .lp-pp-trust__shows span a { font-size: 14px; }
}
/* PP-11 short description: under the chips on desktop, below the buy block on phones (never both) */
.lp-pp10 .product-description-short.lp-pp-short--top { margin: 0 0 10px !important; font-size: 14px !important; line-height: 1.45; }
/* PP-13 no shift from the payment logos; PP-14 back-to-top clear of copy */
.lp-pp-paylogos { min-height: 28px; }
#product #scrollTopButton { right: 24px !important; bottom: 120px !important; }
/* r7b: spacing wins over module defaults (tile calculator) */
.lp-pp10 .lp-waste { min-height: 30px !important; height: 30px !important; padding: 0 !important; margin: 0 !important; }
.lp-pp10 .lp-order-summary { padding: 6px 12px !important; line-height: 1.35 !important; min-height: 0 !important; }
.lp-pp10 .lp-purchase-controls { margin-top: 0 !important; padding-top: 0 !important; }
.lp-pp10 .lp-tile-order > label:first-child, .lp-pp10 .product-quantity-touchspin > label { margin-bottom: 2px !important; line-height: 1.2 !important; }
.lp-pp10 .lp-sqm-price { line-height: 1.15 !important; margin-bottom: 2px !important; }
.lp-pp10 .lp-purchase-total { margin-bottom: 6px !important; }
.lp-pp10.lp-pp-single .lp-pdp__gallery .product-cover + * { padding: 0 !important; }

/* ---------- r8 (judge r7 fixes T-1..T-10) ---------- */
/* T-1 was-price per m2 is a sibling of the headline now; never shown in any sticky bar */
.lp-pp10 .lp-sqm-price { display: inline-block; }
.lp-pp10 .product-prices > .lp-pp-was-sqm { display: inline-block; }
.lpc-sticky s, .lp-buybar s.lp-pp-was-m2, .lp-buybar .lp-pp-was-m2 { display: none !important; }
.lpc-sticky__price .lp-pp-bar-note { display: block; font-size: 12px; color: var(--pp-muted, #5b6462); line-height: 1.3; }
.lp-pp10.lp-has-required ~ .lp-buybar .lp-buybar__was, .lp-pp10.lp-has-required .lp-buybar__was { display: none !important; }
/* T-3 bundle button: same colour, height and cart icon as every other Add to basket; PayPal note */
.lp-pp10.lp-has-required .lcp .lcp-add { background: #ed5a24 !important; display: flex !important; align-items: center; justify-content: center; gap: 8px; min-height: 54px; border-radius: 12px !important; font-size: 17px !important; letter-spacing: .01em; }
.lp-pp10.lp-has-required .lcp .lcp-add::before { content: "shopping_cart"; font-family: "Material Icons"; font-feature-settings: "liga"; -webkit-font-feature-settings: "liga"; font-size: 22px; font-weight: 400; line-height: 1; }
.lp-pp10.lp-has-required .lcp .lcp-add:hover { background: #d94e1a !important; filter: none; }
.lp-pp-paynote { margin: 8px 0 0; font-size: 13px; color: var(--pp-muted); text-align: center; }
/* T-4 Call / WhatsApp pills share one row on every width */
.lp-pp10 .lpc-pi > p:first-of-type { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; }
.lp-pp10 .lpc-pi > p:first-of-type::before { grid-column: 1 / -1; }
.lp-pp10 .lpc-pi > p:first-of-type a { justify-content: center; text-align: center; min-width: 0; }
/* T-5 reserve the price block before the module rewrites it (tiles carry a per-m2 line, a per-tile line and a was line) */
.lp-pp10.lp-pdp--tile .product-prices { min-height: 110px; }
/* T-6 desktop fold: tighter stack above Add to basket */
@media (min-width: 992px) {
  .lp-pp10 .lp-pdp__meta { margin-bottom: 4px !important; }
  .lp-pp10 .lp-pp-chips { margin-bottom: 6px; }
  .lp-pp10 .lp-stock-line { margin-bottom: 8px !important; }
  .lp-pp10 .lp-pdp__gallery .product-cover { max-height: 560px; }
}
/* T-7 spec card: no blank band above the first table */
.lp-pp10 .lm-product-description-card > :first-child, .lp-pp10 .lm-product-rich-text > :first-child, .lp-pp10 .lm-product-rich-text table, .lp-pp10 .lm-product-rich-text > p:first-child:empty { margin-top: 0 !important; }
.lp-pp10 .lm-product-rich-text > p:empty, .lp-pp10 .lm-product-rich-text > br:first-child { display: none; }
.lp-pp10 .lm-product-rich-text { padding-top: 0 !important; }
/* T-9 desktop thumbnails sit under the photo, left-aligned */
@media (min-width: 992px) { .lp-pp10 .lp-pdp__gallery .product-cover + * { text-align: left; } .lp-pp10 .lp-pdp__gallery .thumbs-list .product-images { justify-content: flex-start; } }
/* T-10 phone chat bubble: smaller while the buy area is not on screen */
/* r8 A: Google rating badge under the buy button + customer quotes above the footer (no layout shift: server-rendered, fixed heights) */
.lp-pp-rate { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 40px; margin: 8px 0 0; font-size: 14px; color: var(--pp-ink) !important; text-decoration: none !important; }
.lp-pp-rate__star { color: #e8a600; font-size: 16px; }
.lp-pp-rate:hover strong { text-decoration: underline; }
.lp-pp-rev { margin: 32px 0 8px; }
.lp-pp-rev__h { font-size: clamp(20px, 2vw, 26px) !important; margin: 0 0 14px !important; }
.lp-pp-rev__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.lp-pp-rev__row .lpc-review { margin: 0; padding: 16px 18px; border: 1px solid var(--pp-line); border-radius: var(--pp-radius); background: #fff; }
.lp-pp-rev__row .lpc-review:nth-child(n+5) { display: none; }
.lp-pp-rev__row .lpc-stars { margin: 0 0 6px; color: #e8a600; letter-spacing: 2px; font-size: 15px; }
.lp-pp-rev__row blockquote { margin: 0 0 8px; padding: 0; border: 0; font-size: 14px; line-height: 1.5; color: var(--pp-ink); font-style: normal; display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.lp-pp-rev__row blockquote p { margin: 0; }
.lp-pp-rev__row figcaption { font-size: 12.5px; color: var(--pp-muted); }
.lp-pp-rev__more { margin: 12px 0 0; font-size: 14px; }
.lp-pp-rev__more a { color: var(--pp-ink) !important; font-weight: 600; text-decoration: underline; }
@media (max-width: 991.98px) {
  .lp-pp-rev__row { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
  .lp-pp-rev__row::-webkit-scrollbar { display: none; }
  .lp-pp-rev__row .lpc-review { flex: 0 0 82%; scroll-snap-align: start; }
}
/* r8c T-4 fix: the bare text nodes in that paragraph became grid cells, so use a wrapping flex row with fixed-width pills instead */
.lp-pp10 .lpc-pi > p:first-of-type { display: flex !important; flex-wrap: wrap !important; gap: 0 !important; }
.lp-pp10 .lpc-pi > p:first-of-type::before { flex: 0 0 100% !important; margin-bottom: 8px; }
.lp-pp10 .lpc-pi > p:first-of-type a { flex: 0 0 calc(50% - 4px) !important; width: calc(50% - 4px); box-sizing: border-box; }
.lp-pp10 .lpc-pi > p:first-of-type a:first-of-type { margin-right: 8px; }

/* ---------- r9 (judge r8 fixes F-1..F-12) ---------- */
/* F-1 in-stock collection row first, green */
.lp-pp10 .lp-pp-deliv__row--instock strong, .lp-pp10 .lp-pp-deliv__row--instock .lp-pp-ico { color: #146c3a; }
/* F-2 one Google rating (lpconvert's duplicate paragraph hidden, theme side only); badge sits with the stock pill */
.lp-pp10 .lpc-pi > p:last-of-type { display: none !important; }
.lp-pp10 .lp-pp-stockrow { display: flex; justify-content: space-between; align-items: center; gap: 4px 12px; margin: 0 0 8px; min-height: 36px; }
.lp-pp10 .lp-pp-stockrow .lp-stock-line { margin: 0 !important; }
.lp-pp10 .lp-pp-rate { display: inline-flex; margin: 0 0 0 auto; min-height: 32px; font-size: 13px; }
.lp-pp10 .lp-pp-rate strong { font-weight: 700; }
.lp-pp10 .lp-pp-rate__star { font-size: 14px; }
@media (max-width: 991.98px) { .lp-pp10 .lp-pp-stockrow { flex-wrap: wrap; } .lp-pp10 .lp-pp-rate { margin-left: 0; } }
/* F-3 bundle: add-on card lives inside the buy card, no second card */
.lp-pp10.lp-has-required .lcp { margin: 12px 0 0 !important; border: 0 !important; border-top: 1px solid var(--pp-line) !important; border-radius: 0 !important; padding: 12px 0 0 !important; background: transparent !important; }
.lp-pp10.lp-has-required .lcp .lcp-eyebrow { display: none !important; }
.lp-pp10.lp-has-required .lcp h3 { font-size: 15px !important; }
.lp-pp-req { display: none !important; }
/* F-4 short description: one placement (under the chips), two lines, every type and width */
.lp-pp10 .product-description-short.lp-pp-short--top { display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px !important; line-height: 1.5; margin: 0 0 10px !important; }
/* F-5 tile price block: two rows (per m2 + was, then per tile + was + badge) */
.lp-pp10.lp-pdp--tile .product-prices { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 10px; row-gap: 2px; min-height: 118px; }
.lp-pp10.lp-pdp--tile .product-prices > .lp-sqm-price, .lp-pp10.lp-pdp--tile .product-prices > .lp-pp-was-sqm { margin: 0 !important; }
.lp-pp10.lp-pdp--tile .product-prices > .product-prices-wrapper { flex: 0 0 100%; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 10px; }
.lp-pp10.lp-pdp--tile .product-prices-wrapper > p { margin: 0 !important; }
.lp-pp10.lp-pdp--tile .product-prices-wrapper > p.previous-price { display: inline-flex; align-items: baseline; gap: 8px; }
/* F-8 tile gallery frame: 4:3, max 540px (desktop); other types keep their frame */
@media (min-width: 992px) { .lp-pp10.lp-pdp--tile .lp-pdp__gallery .product-cover { aspect-ratio: 4 / 3 !important; max-height: 540px; } }
/* F-9 no blank band above the first block of the description */
.lp-pp10 .lm-product-rich-text > :is(h2, h3, p):empty { display: none; }
.lp-pp10 .lm-product-rich-text > *:first-child { margin-top: 0 !important; }
/* F-7 reviews: now sits before the cross-sell */
.lp-pp10 .lp-pp-rev { margin: 28px 0 24px; }
/* F-11 phone chat bubble: smaller, clear of the body copy */
/* F-12 desktop thumbnails: left-aligned, compact */
@media (min-width: 992px) { .lp-pp10 .lp-pdp__gallery .product-cover + * { padding: 12px 16px 0 !important; text-align: left; } .lp-pp10 .lp-pdp__gallery .thumbs-list .product-images { justify-content: flex-start; } }
/* r9b: price rows stay on one line each */
.lp-pp10.lp-pdp--tile .product-prices > .lp-sqm-price { flex: 0 0 auto; width: auto !important; display: block; }
.lp-pp10.lp-pdp--tile .product-prices > .lp-pp-was-sqm { flex: 0 0 auto; align-self: baseline; }
.lp-pp10.lp-pdp--tile .product-prices-wrapper > p { white-space: nowrap; }
.lp-pp10.lp-pdp--tile .product-prices-wrapper > p.previous-price { flex-wrap: nowrap; }
.lp-pp10.lp-pdp--tile .product-prices-wrapper > p.previous-price .regular-price { white-space: nowrap; }
.lp-pp10.lp-pdp--tile .product-prices { min-height: 84px; }
@media (max-width: 991.98px) { .lp-pp10 .product-description-short.lp-pp-short--top { padding: 0 10px; margin: 10px 0 12px !important; font-size: 13.5px !important; line-height: 1.45; } }

/* ================= r10 (judge r9 fixes G-1..G-9 + Google review carousel) ================= */
/* G-1 phone: the intro (clamped mid-sentence) is hidden; the Description card carries the same text */
@media (max-width: 991.98px) { .lp-pp10 .product-description-short.lp-pp-short--top { display: none !important; } }
/* G-2 desktop tiles: chips already say size/finish/material, so the intro goes; tighter chip + meta spacing */
@media (min-width: 992px) {
  .lp-pp10.lp-pdp--tile .product-description-short.lp-pp-short--top { display: none !important; }
  .lp-pp10 .lp-pp-chips { margin-bottom: 8px; }
  .lp-pp10 .lp-pdp__meta { margin-bottom: 4px !important; }
}
/* G-5 tile calculator: the Area | Tiles grid is applied from first paint (lpconvert only switches it on after JS removes [hidden]) */
#product .lp-pp10.lp-pdp--tile .lp-purchase-controls.lp-purchase-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto auto; gap: 6px 12px; align-items: start; }
#product .lp-pp10.lp-pdp--tile .lp-purchase-controls.lp-purchase-controls :is(.lp-tile-order > *, .lp-order-notes, .lp-purchase-total, .add, .product-minimal-quantity, .lp-order-summary) { grid-column: 1 / -1; }
#product .lp-pp10.lp-pdp--tile .lp-purchase-controls.lp-purchase-controls .lp-tile-order > label[for="lp-area"] { grid-column: 1; grid-row: 1; margin: 0; }
#product .lp-pp10.lp-pdp--tile .lp-purchase-controls.lp-purchase-controls .lp-area-input { grid-column: 1; grid-row: 2; width: 100%; }
#product .lp-pp10.lp-pdp--tile .lp-purchase-controls.lp-purchase-controls .product-quantity-touchspin { grid-column: 2; grid-row: 1 / 3; display: flex; flex-direction: column; gap: 6px; max-width: none !important; }
#product .lp-pp10.lp-pdp--tile .lp-purchase-controls.lp-purchase-controls .add { grid-row: auto; align-self: start; margin: 0; }
.lp-pp10 .lp-pp-stockrow { min-height: 36px; }
/* G-4 phone reserves (thumb strip, chips row, photo counter) */
@media (max-width: 991.98px) {
  .lp-pp10 .lp-pp-thumbs { min-height: 64px; box-sizing: border-box; }
  .lp-pp10 .lp-pp-chips--buy { min-height: 46px; align-content: flex-start; }
  .lp-pp-count { height: 24px; box-sizing: border-box; }
}
/* G-6 screen2: merged "Sold together" card, tighter so the button sits higher (the "Required to complete" tag repeats the intro sentence) */
.lp-pp10.lp-has-required .lcp { margin-top: 8px !important; padding-top: 10px !important; }
.lp-pp10.lp-has-required .lcp h3 { margin: 0 0 2px !important; }
.lp-pp10.lp-has-required .lcp .lcp-intro { margin: 0 0 6px !important; }
.lp-pp10.lp-has-required .lcp .lcp-item { padding-top: 6px !important; padding-bottom: 6px !important; margin: 0 !important; }
.lp-pp10.lp-has-required .lcp .lcp-badge.lcp-required { display: none !important; }
.lp-pp10.lp-has-required .lcp .lcp-total { margin: 6px 0 2px !important; }
.lp-pp10.lp-has-required .lcp .lcp-tax { display: block; margin: 0 0 8px !important; font-size: 12px; line-height: 1.35; }
.lp-pp10.lp-has-required .lcp .lp-pp-paynote { font-size: 12px; margin: 6px 0 0 !important; }
/* G-7 desktop thumb strip: flush left, no theme margin/padding, 64px thumbs with the active border inside the card */
@media (min-width: 992px) {
  #product .lp-pp10 .lp-pdp__gallery .thumbs-list { margin: 0 !important; width: auto !important; max-width: none !important; padding: 12px 16px 12px !important; }
  #product .lp-pp10 .lp-pdp__gallery .thumbs-list .product-images { padding: 0 !important; margin: 0 !important; justify-content: flex-start !important; }
  #product .lp-pp10 .lp-pdp__gallery .thumbs-list .thumb-container .thumb { display: block; width: 64px; height: 64px; box-sizing: border-box; padding: 2px; overflow: hidden; border-radius: 9px; }
  #product .lp-pp10 .lp-pdp__gallery .thumbs-list .thumb-container .thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
}
/* G-8 vanity / item spec table fills its card */
.lp-pp10 .lm-product-rich-text table { width: 100% !important; max-width: none !important; }
/* G-9 order-only pill mirrors the tick on the in-stock pill */
.lp-pp10 .lp-stock--order::before { content: "schedule"; font-family: "Material Icons"; font-feature-settings: "liga"; -webkit-font-feature-settings: "liga"; font-weight: 400; font-size: 16px; line-height: 1; vertical-align: -3px; margin-right: 5px; }

/* ---------- r10 Google review carousel (static, no library) ---------- */
.lp-gr { margin: 28px 0 24px; }
.lp-gr__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap; margin: 0 0 14px; }
.lp-gr__h { font-size: clamp(20px, 2vw, 26px) !important; margin: 0 0 4px !important; }
.lp-gr__sum { margin: 0; font-size: 14px; color: var(--pp-muted, #5b6462); }
.lp-gr__sum strong { color: var(--pp-ink, #1f2a2a); }
.lp-gr__star { color: #e8a600; font-size: 16px; }
.lp-gr__attr { color: var(--pp-muted, #5b6462); }
.lp-gr__ctl { display: flex; align-items: center; gap: 8px; }
.lp-gr__all { font-size: 14px; font-weight: 600; color: var(--pp-ink, #1f2a2a) !important; text-decoration: underline; margin-right: 6px; }
.lp-gr__nav { width: 40px; height: 40px; padding: 0; border: 1px solid var(--pp-line, #e4e0da); border-radius: 50%; background: #fff; color: var(--pp-ink, #1f2a2a); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.lp-gr__nav:hover:not(:disabled) { border-color: var(--pp-ink, #1f2a2a); }
.lp-gr__nav:disabled { opacity: .4; cursor: default; }
.lp-gr__nav .material-icons { font-size: 24px; }
.lp-gr__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 32px) / 3); gap: 16px; list-style: none; margin: 0; padding: 0 0 4px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.lp-gr__track::-webkit-scrollbar { display: none; }
.lp-gr__track:focus-visible { outline: 2px solid var(--pp-ink, #1f2a2a); outline-offset: 2px; }
.lp-gr__card { scroll-snap-align: start; display: flex; min-width: 0; }
.lp-gr__card > article { display: flex; flex-direction: column; width: 100%; box-sizing: border-box; padding: 16px 18px; border: 1px solid var(--pp-line, #e4e0da); border-radius: var(--pp-radius, 14px); background: #fff; }
.lp-gr__who { display: flex; align-items: center; gap: 12px; margin: 0 0 8px; }
.lp-gr__av { position: relative; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; overflow: hidden; background: #e9e5de; }
.lp-gr__av::before { content: attr(data-i); position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 700; color: #5b6462; }
.lp-gr__av img { position: absolute; inset: 0; width: 40px; height: 40px; border-radius: 50%; object-fit: cover; display: block; background: #e9e5de; }
.lp-gr__id { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.lp-gr__id strong { font-size: 15px; color: var(--pp-ink, #1f2a2a); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lp-gr__id time { font-size: 12.5px; color: var(--pp-muted, #5b6462); }
.lp-gr__stars { margin: 0 0 6px; color: #e8a600; letter-spacing: 2px; font-size: 15px; line-height: 1.3; }
.lp-gr__off { color: #d9d5cd; }
.lp-gr__text { margin: 0 0 10px; font-size: 14px; line-height: 21px; height: 84px; color: var(--pp-ink, #1f2a2a); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.lp-gr__read { margin-top: auto; font-size: 13.5px; font-weight: 600; color: var(--pp-ink, #1f2a2a) !important; text-decoration: underline; min-height: 24px; }
@media (max-width: 991.98px) {
  .lp-gr__track { grid-auto-columns: 84%; gap: 12px; }
  .lp-gr__nav { display: none; }
  .lp-gr__all { margin-right: 0; }
}

/* T003 / Design v2. Product-scoped overrides; no shared header/listing/checkout edits. */
#product .lp-pp10 {
  --pp-ink: #20332f;
  --pp-soft: #f5f1e9;
  --pp-frame: #fff;
  --pp-orange: #c44214;
  --pp-radius: 10px;
  font-family: Arial, Helvetica, sans-serif;
}
#product .lp-pp10 .lm-product-title,
#product .lp-pp10 .lm-product-story-header h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
#product .lp-pp10 .lp-pdp__meta { overflow-wrap: anywhere; }
#product .lp-pp10 .lp-pdp__gallery { border: 1px solid var(--pp-line) !important; background: #fff !important; }
/* The actual photo stays on white: no recolouring by multiply, pixel trimming or automatic zoom. */
#product .lp-pp10 .lp-pdp__gallery img { mix-blend-mode: normal !important; filter: none !important; transform: none !important; object-fit: contain !important; }
#product .lp-pp10 .lp-pdp__gallery .product-cover { background: #fff !important; }
#product .lp-pp10 .lp-pdp__zoom { min-height: 44px !important; }
#product .lp-pp10 .lp-pp-chips { gap: 4px 10px; }
#product .lp-pp10 .lp-pp-chips li { border: 0; border-radius: 0; background: transparent; padding: 3px 0; font-size: 12px; font-weight: 400; }
#product .lp-pp10 .lp-pdp__buybox .product-information { border-top: 3px solid var(--pp-ink) !important; }
#product .lp-pp10 .lp-pdp__buybox .product-prices { row-gap: 6px; }
#product .lp-pp10 .product-prices-wrapper > p,
#product .lp-pp10 .product-prices-wrapper > p.previous-price { white-space: normal; flex-wrap: wrap; }
#product .lp-pp10 .lp-sqm-price,
#product .lp-pp10 .current-price-value,
#product .lp-pp10 .lp-total-value { font-variant-numeric: tabular-nums; }
#product .lp-pp10 .product-prices .tax-label { white-space: nowrap; }
#product .lp-pp10 .lp-purchase-controls { min-width: 0; }
/* Only the existing calculator may reveal its inputs. Unit/name heuristics cannot establish coverage. */
#product .lp-pp10 .lp-tile-order[hidden],
#product .lp-pp10 .lp-purchase-total[hidden] { display: none !important; }
#product .lp-pp10 .lp-purchase-controls.lp-purchase-controls:not(:has(.lp-tile-order:not([hidden]))) { display: flex !important; flex-direction: column; }
#product .lp-pp10 .lp-purchase-controls.lp-purchase-controls:not(:has(.lp-tile-order:not([hidden]))) .product-quantity-touchspin { width: 100%; max-width: 200px !important; }
#product .lp-pp10 .lp-waste { height: auto !important; min-height: 44px !important; line-height: 1.4; align-items: center; }
#product .lp-pp10 .lp-waste input { flex: 0 0 auto; }
#product .lp-pp10 .lp-order-summary { overflow-wrap: anywhere; }
#product .lp-pp10 .lp-order-summary::after { content: none !important; }
#product .lp-pp10 .lp-tile-order small,
#product .lp-pp10 .lp-order-notes small,
#product .lp-pp10 .lp-purchase-controls small,
#product .lp-pp10 .lp-purchase-total small { display: block !important; font-size: 12px !important; line-height: 1.4; }
#product .lp-pp10 .product-add-to-cart .add { width: 100%; }
#product .lp-pp10 .add-to-cart,
#product .lp-pp10 .lcp .lcp-add { width: 100%; background: #20332f !important; border-color: #20332f !important; color: #fff !important; min-height: 54px; }
#product .lp-pp10 .add-to-cart:hover,
#product .lp-pp10 .lcp .lcp-add:hover { background: #304c46 !important; }
/* Required items stay at their hook position immediately after the form; never selected or submitted by theme JS. */
#product .lp-pp10:has(.lcp-item[data-kind="required"]) .product-add-to-cart .add,
#product .lp-pp10:has(.lcp-item[data-kind="required"]) .lm-paypal-inline { display: none !important; }
#product .lp-pp10 .lcp .lcp-badge.lcp-required { display: inline-block !important; }
#product .lp-pp10 .lcp .lcp-qty { display: block !important; }
/* Preserve module sample terms and help text instead of inventing a new sample offer. */
#product .lp-pp10 .lpc-pi__deliv li { font-size: 14px; color: var(--pp-ink); line-height: 1.5; margin-bottom: 8px !important; }
#product .lp-pp10 .lpc-pi__sample > a:not(:first-child) { display: inline !important; }
#product .lp-pp10 .lpc-pi > p:first-of-type { display: block !important; font-size: 14px !important; }
#product .lp-pp10 .lpc-pi > p:first-of-type::before { content: none; }
#product .lp-pp10 .lpc-pi > p:first-of-type a { width: auto; margin: 4px 8px 4px 0; }
#product .lp-pp10 .lp-pp-deliv a,
#product .lp-pp10 .lp-pp-trust a { white-space: normal; }
#product .lp-pp10 .lm-product-story { margin-top: 28px; }
#product .lp-pp10 .lm-product-story-grid { gap: 24px; }
#product .lp-pp10 .lp-pp-spec__table { table-layout: fixed; }
#product .lp-pp10 .lp-pp-spec__table th,
#product .lp-pp10 .lp-pp-spec__table td { overflow-wrap: anywhere; }
#product .lp-pp10 .lm-product-rich-text { overflow-x: auto; }
#product .lp-pp10 .lm-product-description-card,
#product .lp-pp10 .lp-pp-spec { min-width: 0; }
#product .lp-pp10 :is(a, button, input, select, textarea):focus-visible { outline: 3px solid #98703c; outline-offset: 3px; }
#product .lp-pp10 #lp-product-buy { scroll-margin-top: calc(var(--lp-sticky-top, 0px) + 16px); }
/* One independent return-to-controls bar. Suppress the older module bar only on product pages. */
#product #lpc-sticky { display: none !important; }
#product .lp-pp-buybar { position: fixed; left: 0; right: 0; bottom: var(--lp-cookie-h, 0px); z-index: 1000; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px max(16px, calc((100vw - 1160px) / 2)); padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)); background: #fff; border-top: 1px solid #d9ddd9; box-shadow: 0 -4px 16px #20332f0d; }
#product .lp-pp-buybar[hidden] { display: none !important; }
#product .lp-pp-buybar__name { font-size: 14px; font-weight: 600; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
#product .lp-pp-buybar__link { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-height: 44px; padding: 8px 18px; background: #20332f; color: #fff !important; border-radius: 8px; font-size: 14px; font-weight: 700; text-decoration: none; }
/* Minimum 92px reserve grows with measured bar and consent heights; it can shrink on dismissal. Check footer movement/CLS on staging. */
html body#product:has(.lp-pp10) { padding-bottom: calc(max(92px, var(--lp-product-bar-h, 0px)) + var(--lp-cookie-h, 0px) + env(safe-area-inset-bottom, 0px)) !important; }
@media (max-width: 991.98px) {
  #product .lp-pp10 .lp-pp-chips--buy { display: none !important; } /* full specs below; price/stock/quantity come first */
  #product .lp-pp10 .product-mobile-images > li { height: clamp(180px, 56vw, 280px); background: #fff; }
  #product .lp-pp10 .lp-pdp__gallery .product-cover > img { height: clamp(180px, 56vw, 280px) !important; }
  #product .lp-pp10 .lp-pp-thumbs { min-height: 60px; padding: 6px; }
  #product .lp-pp10 .lp-pdp__buybox .product-information { padding: 12px !important; }
  #product .lp-pp10 .lm-product-title { font-size: 24px !important; }
  #product .lp-pp10 .lm-product-description-card,
  #product .lp-pp10 .lp-pp-spec { padding: 16px !important; }
  #product .lp-pp-buybar { gap: 8px; }
  #product .lp-pp-buybar__name { max-width: 38%; }
  #product .lp-pp-buybar__link { flex: 1 1 auto; padding-inline: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  #product .lp-pp10 *, #product .lp-pp10 *::before, #product .lp-pp10 *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
/* Full supplied summary remains readable below the buying controls, without line-clamping. */
#product .lp-pp10 .lp-pp-summary { display: block !important; overflow: visible; -webkit-line-clamp: unset; margin-top: 16px !important; }

/* T011: factual showroom/policy details; review destination without a rating carousel. */
#product .lp-pp10 .lp-trust-details { background: #f5f1e9; }
#product .lp-pp10 .lp-trust-details__places { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 10px; }
#product .lp-pp10 .lp-trust-details__places li { min-width: 0; }
#product .lp-pp10 .lp-trust-details__places a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; text-decoration: underline; }
#product .lp-pp10 .lp-trust-details__places span { display: block !important; font-size: 13px !important; line-height: 1.5; color: #5b6462; overflow-wrap: anywhere; }
#product .lp-pp10 .lp-trust-details__policy a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; }
#product .lp-pp10 .lp-review-source { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px 24px; margin: 28px 0; padding: 20px 0; border-block: 1px solid #d9ddd9; color: #20332f; }
#product .lp-pp10 .lp-review-source > div { min-width: 0; }
#product .lp-pp10 .lp-review-source h2 { margin: 0 0 6px; font: 400 24px/1.2 Georgia, serif; color: #20332f; }
#product .lp-pp10 .lp-review-source p { margin: 0; font: 400 14px/1.5 Arial, sans-serif; }
#product .lp-pp10 .lp-review-source__link { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0 4px; min-height: 44px; max-width: 100%; padding: 10px 14px; border: 1px solid #20332f; border-radius: 6px; color: #20332f !important; font: 600 14px/1.5 Arial, sans-serif; text-decoration: underline; overflow-wrap: anywhere; }
#product .lp-pp10 .lp-review-source__new-window { font-weight: 400; }
#product .lp-pp10 .lp-review-source__link:hover { background: #f5f1e9; }
@media (max-width: 575.98px) {
  #product .lp-pp10 .lp-review-source { display: block; }
  #product .lp-pp10 .lp-review-source__link { margin-top: 14px; }
}
/* V011: home-v2 product treatment START. Presentation only; retain T012 prefix. */
#product .lp-pp10 {
  --pp-ink: #1b1b1b;
  --pp-muted: #55524e;
  --pp-line: #dcd9d3;
  --pp-soft: #efece7;
  --pp-frame: #fff;
  --pp-orange: #b9471a;
  --pp-radius: 6px;
  color: var(--pp-ink);
  font-family: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
}
#product .lp-pp10 .lm-product-title {
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(28px, 2.5vw, 38px) !important;
  font-weight: 600;
  line-height: 1.15 !important;
  margin-bottom: 10px !important;
  overflow-wrap: anywhere;
}
#product .lp-pp10 .lp-pdp__meta { margin-bottom: 14px !important; }
#product .lp-pp10 .lp-pp-brand { text-decoration: underline; text-underline-offset: 3px; }
#product .lp-pp10 .lp-pdp__gallery { border-color: var(--pp-line) !important; }
/* White photo surfaces preserve the supplied product colours. Existing contain and
   reserved image geometry remain authoritative on desktop and phone. */
#product .lp-pp10 .lp-pdp__zoom {
  border-radius: 6px !important;
  box-shadow: none !important;
}
#product .lp-pp10 .lp-pdp__gallery .thumb-container,
#product .lp-pp10 .lp-pdp__gallery .thumbs-list .thumb-container .thumb,
#product .lp-pp10 .lp-pp-thumb { border-radius: 6px; }
#product .lp-pp10 .lp-pdp__buybox .product-information {
  border-top: 1px solid var(--pp-line) !important;
  box-shadow: none !important;
}
#product .lp-pp10 .lp-tile-order,
#product .lp-pp10 .lp-order-summary,
#product .lp-pp10 .lp-area-input,
#product .lp-pp10 .product-quantity-touchspin .input-group,
#product .lp-pp10 .product-quantity-touchspin .qty,
#product .lp-pp10 .lpc-pi__sample > a:first-child { border-radius: 6px !important; }
/* Apply the same action hierarchy to native and required-bundle buttons.
   Visibility, disabled state, selection and submission remain module-owned. */
#product .lp-pp10 .add-to-cart,
#product .lp-pp10 .lcp .lcp-add {
  background: var(--pp-orange) !important;
  border-color: var(--pp-orange) !important;
  color: #fff !important;
  border-radius: 6px !important;
  white-space: normal;
  overflow-wrap: anywhere;
}
#product .lp-pp10 .add-to-cart:hover:not(:disabled),
#product .lp-pp10 .lcp .lcp-add:hover:not(:disabled) {
  background: #943813 !important;
  border-color: #943813 !important;
}
#product .lp-pp10 .lp-pp-deliv,
#product .lp-pp10 .lp-pp-trust { border-color: var(--pp-line); border-radius: 6px; }
#product .lp-pp10 .lp-trust-details { background: var(--pp-soft); }
#product .lp-pp10 .lp-pp-deliv__row span,
#product .lp-pp10 .lp-trust-details__places span { color: var(--pp-muted); }
#product .lp-pp10 .lm-product-story-header h2,
#product .lp-pp10 .lp-review-source h2 {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 600;
  color: var(--pp-ink);
}
#product .lp-pp10 .lp-review-source { border-color: var(--pp-line); color: var(--pp-ink); }
#product .lp-pp10 .lp-review-source__link { border-color: var(--pp-ink); color: var(--pp-ink) !important; }
#product .lp-pp10 :is(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--pp-ink);
  outline-offset: 3px;
}
@media (max-width: 991.98px) {
  #product .lp-pp10 .lm-product-title { font-size: 26px !important; }
}
/* V011: home-v2 product treatment END */

/* V024: product completion START. Append after V011; buying/module state stays authoritative. */
#product .lp-pp10 .lm-product-title {
  font-size: clamp(30px, 2.8vw, 40px) !important;
  font-weight: 500;
  line-height: 1.1 !important;
}
/* Flatten the remaining inherited cards, without changing image framing. */
#product .lp-pp10 .lp-pdp__gallery,
#product .lp-pp10 .lp-pdp__gallery .product-cover,
#product .lp-pp10 .lm-product-description-card,
#product .lp-pp10 .lp-pp-spec {
  border-radius: 0 !important;
  box-shadow: none !important;
}
#product .lp-pp10 .lm-product-description-card,
#product .lp-pp10 .lp-pp-spec { border-color: var(--pp-line) !important; }
#product .lp-pp10 .lp-pdp__buybox .product-information {
  padding: 16px 0 !important;
  border-inline: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
}
/* Existing calculator inputs and module submission remain in their original DOM order. */
#product .lp-pp10 .lp-area-input,
#product .lp-pp10 .product-quantity-touchspin input {
  font-family: inherit;
  font-size: 16px !important;
  color: var(--pp-ink);
  border-color: var(--pp-line);
  background: #fff;
}
#product .lp-pp10 .add-to-cart,
#product .lp-pp10 .lcp .lcp-add,
#product .lp-pp10 .lpc-pi__sample > a:first-child {
  border-radius: 999px !important;
  font-family: inherit;
  text-transform: none;
  letter-spacing: normal;
}
#product .lp-pp10 .lcp {
  border-color: var(--pp-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#product .lp-pp10 .lcp h3,
#product .lp-pp10 .lp-pp-h3 { color: var(--pp-ink); font-weight: 600; }
#product .lp-pp10 .lcp .lcp-eyebrow { color: var(--pp-muted); letter-spacing: normal; text-transform: none; }
#product .lp-pp10 .lm-product-story { margin-top: 64px; }
#product .lp-pp10 .lm-product-story-header h2,
#product .lp-pp10 .lp-review-source h2 {
  font-size: clamp(26px, 2.4vw, 32px) !important;
  font-weight: 500;
}
#product .lp-pp10 .lp-pp-deliv,
#product .lp-pp10 .lp-pp-trust { border-radius: 0; }
#product .lp-pp10 .product-description-short { color: var(--pp-muted) !important; }
/* Secondary navigation, accurately labelled: this link returns to the real controls. */
#product .lp-pp10 .lp-pp-buybar {
  border-color: var(--pp-line);
  box-shadow: none;
  color: var(--pp-ink);
  font-family: inherit;
}
#product .lp-pp10 .lp-pp-buybar__link {
  background: var(--pp-ink);
  border: 1px solid var(--pp-ink);
  border-radius: 999px;
  color: #fff !important;
  font-weight: 500;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}
#product .lp-pp10 .lp-pp-buybar__link:hover { background: #36332f; }
#product .lp-pp10 .lp-pp-buybar__link:focus-visible { outline-offset: 4px; }
#product .lp-pp10 .lp-review-source__link { border-radius: 999px; }
@media (max-width: 991.98px) {
  #product .lp-pp10 .lm-product-title { font-size: 28px !important; }
  #product .lp-pp10 .lp-pdp__buybox .product-information { padding-block: 12px !important; }
  #product .lp-pp10 .lm-product-story { margin-top: 48px; }
}
/* V024: product completion END */

/* V031: compact purchase group; keep native quantities, explanations and required extras. */
#product .lp-pp10 .lp-pp-buybar__link { min-width: 0; }
@media (max-width: 991.98px) {
  #product .lp-pp10 .lp-pdp__grid { row-gap: 12px; }
  #product .lp-pp10 .lm-product-title { margin-bottom: 8px !important; line-height: 1.2 !important; }
  #product .lp-pp10 .lp-pdp__buybox .product-information { padding-block: 8px !important; }
  #product .lp-pp10 .lp-purchase-controls { gap: 8px; }
  #product .lp-pp10 .lp-waste { min-height: 44px; height: auto; }
  #product .lp-pp10 .lp-area-input,
  #product .lp-pp10 .product-quantity-touchspin input { min-height: 48px; }
  #product .lp-pp10 .lp-pp-buybar__link { flex: 1 1 0; }
  #product .lp-pp10 .lm-product-story { margin-top: 32px; }
}
/* D1: centred desktop gallery and compact native purchase controls. */
@media(min-width:992px){
  #product .lp-pp10 .lp-pdp__gallery .product-cover{display:flex;align-items:center;justify-content:center;aspect-ratio:auto;height:min(46vh,420px);min-height:0 !important;padding:0 !important}
  #product .lp-pp10 .lp-pdp__gallery .product-cover > img{display:block;position:static !important;margin:0 !important;padding:0 !important;width:100% !important;height:100% !important;object-fit:contain !important;object-position:center !important}
  #product .lp-pp10 .lm-product-title{font-size:32px !important;line-height:1.1 !important;margin-bottom:6px !important}
  #product .lp-pp10 .lp-pdp__meta{margin-bottom:6px !important}
  #product .lp-pp10 .lp-pp-brand{min-height:24px}
  #product .lp-pp10 .lp-pp-chips--top{margin-bottom:8px}
  #product .lp-pp10 .lp-pdp__buybox .product-information{padding-block:8px !important;margin-bottom:8px !important}
  #product .lp-pp10 .product-prices,#product .lp-pp10 .lp-stock-line{margin-bottom:6px !important}
  #product .lp-pp10 .product-minimal-quantity{margin-bottom:4px !important}
  #product .lp-pp10 .lp-purchase-controls{gap:8px !important;margin-bottom:8px !important}
  #product .lp-pp10 .lp-tile-order{padding:8px !important}
  #product .lp-pp10 .lp-order-summary{margin-block:4px !important;padding-block:4px !important}
  #product .lp-pp10 .lp-purchase-total{margin-block:4px !important;padding-block:4px !important}
  #product .lp-pp10 .lp-waste{min-height:36px;padding-block:4px !important}
}
/* V4D: kit palette and typography; product scope only. Shared section A supplies local fonts. */
#product .lp-pp10 {
  --pp-ink: #22262b; --pp-muted: #667078; --pp-line: #e7e3dc;
  --pp-soft: #f2eee7; --pp-frame: #fff; --pp-orange: #b84510; --pp-radius: 10px;
  color: var(--pp-ink); font-family: Manrope, Arial, sans-serif; line-height: 1.55;
}
#product .lp-pp10 .lm-product-title,
#product .lp-pp10 .lm-product-story-header h2,
#product .lp-pp10 .lp-review-source h2,
#product .lp-pp10 .product-accessories .title-block {
  font-family: Fraunces, Georgia, serif; font-weight: 400; letter-spacing: -.01em;
}
#product .lp-pp10 .lm-product-title { font-size: 28px !important; line-height: 1.2 !important; margin-bottom: 12px !important; }
#product .lp-pp10 .lp-pdp__gallery,
#product .lp-pp10 .lp-pdp__gallery .product-cover,
#product .lp-pp10 .lm-product-description-card,
#product .lp-pp10 .lp-pp-spec { border-radius: 10px !important; }
#product .lp-pp10 .lp-pdp__buybox .product-information { padding-block: 16px !important; }
#product .lp-pp10 .current-price-value { font-size: 28px !important; }
#product .lp-pp10 .lp-purchase-controls { gap: 12px !important; }
#product .lp-pp10 .lp-tile-order { padding: 14px !important; }
#product .lp-pp10 .lp-waste { min-height: 44px; }
#product .lp-pp10 .add-to-cart,
#product .lp-pp10 .lcp .lcp-add { min-height: 48px; background: var(--pp-orange) !important; border-color: var(--pp-orange) !important; }
#product .lp-pp10 .add-to-cart:hover:not(:disabled),
#product .lp-pp10 .lcp .lcp-add:hover:not(:disabled) { background: #943813 !important; border-color: #943813 !important; }
#product .lp-pp10 .lp-stock { font-weight: 600; line-height: 1.5; white-space: normal; }
#product .lp-pp10 .lp-pp-deliv,
#product .lp-pp10 .lp-pp-trust { border-radius: 10px; }
#product .lp-pp10 .lp-pp-deliv { background: #faf8f5; }
#product .lp-pp10 .lp-pp-deliv a { min-height: 44px; display: inline-flex; align-items: center; }
#product .lp-pp10 .lm-product-story { margin-top: 64px; }
#product .lp-pp10 .lm-product-story-header h2 { margin-bottom: 24px !important; }
#product .lp-pp10 .lp-pp-spec__table th,
#product .lp-pp10 .lp-pp-spec__table td { padding-block: 12px; }
#product .lp-pp10 .lp-product-store-reviews,
#product .lp-pp10 .product-accessories { margin-block: 48px; }
#product .lp-pp10 .product-accessories .title-block { font-size: 28px; margin-bottom: 24px; }
#product .lp-pp10 .lp-pp-buybar__link { background: var(--pp-orange); border-color: var(--pp-orange); font-weight: 700; }
#product .lp-pp10 :is(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--pp-ink); outline-offset: 3px; }
@media (min-width: 992px) {
  #product .lp-pp10 .lp-pdp__grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 40px; margin-inline: 0; }
  #product .lp-pp10 .lp-pdp__grid > .lp-pdp__media,
  #product .lp-pp10 .lp-pdp__grid > .lp-pdp__buy { width: 100%; max-width: none; padding-inline: 0; min-width: 0; position: static; }
  #product .lp-pp10 .lp-pdp__gallery .product-cover { height: auto; aspect-ratio: 1; }
  #product .lp-pp10 .lp-pdp__gallery .product-cover > img { position: absolute !important; inset: 0; }
  #product .lp-pp10 .lp-pp-buybar { display: none !important; }
  html body#product:has(.lp-pp10) { padding-bottom: 0 !important; }
}
@media (max-width: 991.98px) {
  #product .lp-pp10 h1.lm-product-title,
  #product .lp-pp10 .lm-product-title.page-heading { font-size: 24px !important; line-height: 1.2 !important; }
  #product .lp-pp10 .lp-pdp__buybox .product-information { padding-block: 12px !important; }
  #product .lp-pp10 .lm-product-story { margin-top: 36px; }
  #product .lp-pp10 .lp-product-store-reviews,
  #product .lp-pp10 .product-accessories { margin-block: 36px; }
  #product .lp-pp10 .lp-pp-buybar { bottom: 0; }
  #product .lp-pp10 .lp-pp-buybar__name { max-width: 32%; }
}
/* V4H: compact buying journey; original full image remains in zoom. */
#product .lp-pp10.lp-pdp--tile .lp-pdp__gallery .product-cover > img,
#product .lp-pp10.lp-pdp--tile .product-mobile-images > li > img { object-fit:cover !important; mix-blend-mode:normal !important; }
#product .lp-v4-purchase-help { border-top:1px solid var(--pp-line); margin-top:12px; padding-top:8px; }
#product .lp-v4-purchase-help :is(.lpc-pi,.lp-pp-deliv) { margin:0 !important; padding:8px 0 !important; border:0; box-shadow:none; }
#product .lp-v4-purchase-help .lp-pp-deliv__row { padding:8px 0; }
#product .lp-pp10 .lp-pp-buybar { bottom:var(--lp-cookie-h,0px) !important; padding-right:84px; }
#product .lp-pp10 .lp-pp-buybar__name { display:none; }
#product .lp-pp10 .lp-pp-buybar__link { white-space:normal; }
#product #lp-product-buy { scroll-margin-bottom:calc(var(--lp-cookie-h,0px) + 100px); }
@media(max-width:767.98px) {
  #product .lp-pp10 .lp-pdp__gallery { margin-bottom:8px !important; }
  #product .lp-pp10 .product-mobile-images > li { height:clamp(168px,48vw,230px) !important; }
  #product .lp-pp10 .lp-pdp__gallery .product-cover { height:clamp(168px,48vw,230px) !important; aspect-ratio:auto !important; }
  #product .lp-pp10 .lp-pdp__gallery .product-cover > img { height:100% !important; }
  #product .lp-pp10 .lp-pp-thumbs { margin-block:6px; gap:6px; }
  #product .lp-pp10 .lp-pp-thumb { width:44px; height:44px; }
  #product .lp-pp10 .lp-pp-thumb img { width:100%; height:100%; object-fit:contain; }
}
/* V4S1: tile purchase hierarchy; all values and controls remain shop-owned. */
#product .lp-pp10.lp-pdp--tile .lp-pdp__buybox .product-information {
  border-top: 0 !important; padding-top: 0 !important;
}
#product .lp-pp10.lp-pdp--tile .lp-purchase-controls {
  display: flex; flex-direction: column; align-items: stretch;
}
#product .lp-pp10.lp-pdp--tile .lp-purchase-controls > .add,
#product .lp-pp10.lp-pdp--tile .lp-purchase-controls .add-to-cart { width: 100%; }
#product .lp-pp10.lp-pdp--tile .lp-s1-button-summary { font: inherit; }
#product .lp-pp10.lp-pdp--tile .lp-s1-button-summary[hidden] { display: none !important; }
/* Hide the empty payment divider without hiding or replacing the provider mount. */
#product .lp-pp10.lp-pdp--tile .lm-paypal-inline:not(:has(> :not(.lm-paypal-divider))) > .lm-paypal-divider { display: none; }
#product .lp-pp10.lp-pdp--tile .lp-pp-chips--top { display: flex !important; margin-block: 16px 8px; }
/* T1: Fable hierarchy; native price, calculator and PayPal mount retained. */
#product .lp-pp10 .lm-product-title {font-size:clamp(25px,2.4vw,34px)!important}
#product .lp-pp10 .lp-pp-chips--top {margin:8px 0 12px!important}
#product .lp-pp10 .lp-purchase-controls {background:#f2eee7;border:1px solid #e7e3dc;border-radius:8px;padding:14px}
#product .lp-pp10 .lp-tile-order {background:transparent!important;border:0!important;padding:0!important}
#product .lp-pp10 .add-to-cart {border-radius:8px!important;font-weight:800;white-space:normal}
#product .lp-pp10 .lp-v2-sample {display:inline-flex;align-items:center;min-height:44px;font-weight:700;margin-top:6px}
#product .lp-pp10 .lp-v2-help {padding:12px 0;border-top:1px solid #e7e3dc}
#product .lp-pp10 .lp-v2-help a {display:inline-flex;align-items:center;min-height:44px;margin-left:8px}
/* T2: bundle stays in the first purchase panel after payment/sample. */
#product .lp-v2-bundle-slot {margin-top:16px;border-top:1px solid #e7e3dc;padding-top:12px}
#product .lp-v2-bundle-slot h2 {font:400 22px Fraunces,Georgia,serif}
#product .lp-v2-accessories a {display:inline-flex;align-items:center;min-height:44px}
#product .lp-v2-accessories[hidden] {display:none!important}

/* T3: bathroom layout; use supplied product facts, never mock inclusions. */
#product .lp-pp10.lp-pdp--item .lp-purchase-controls {display:flex;flex-direction:column;align-items:stretch}
#product .lp-pp10.lp-pdp--item .lp-purchase-controls > .add,
#product .lp-pp10.lp-pdp--item .add-to-cart {width:100%}
#product .lp-pp10 .lp-s1-button-summary {font:inherit}
#product .lp-pp10 .lp-s1-button-summary[hidden] {display:none!important}
#product .lp-pp10 .lm-paypal-inline:not(:has(> :not(.lm-paypal-divider))) > .lm-paypal-divider {display:none}
#product .lp-pp10.lp-pdp--item .product-cover img {object-fit:contain!important;mix-blend-mode:normal!important}
/* T4: native gallery swipe, readable total; sticky link returns to validation. */
#product .lp-v2-bar-total {display:flex;flex-direction:column;min-width:0;line-height:1.3}
#product .lp-v2-bar-total small {font-size:11px;color:#667078}
#product .lp-v2-bar-total strong {font-size:19px;white-space:nowrap}
#product .lp-v2-bar-total[hidden] {display:none!important}
@media(max-width:991.98px){
 #product .lp-pp10 .lp-pp-buybar {gap:12px;padding-bottom:calc(10px + env(safe-area-inset-bottom));align-items:center}
 #product .lp-pp10 .lp-pp-buybar__link {flex:1;min-width:0;font-size:14px;min-height:44px}
 #product .lp-pp10 .js-mobile-images-scrollbox {overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
 #product .lp-pp10 .product-mobile-images {display:flex;gap:8px;list-style:none;padding:0;margin:0}
 #product .lp-pp10 .product-mobile-images > li {flex:0 0 90%;scroll-snap-align:center}
}
@media(prefers-reduced-motion:reduce){#product .lp-pp10 * {scroll-behavior:auto!important}}
/* T5: factual positive stock, no arrival/collection promises. */
#product .lp-v2-stock-warning {padding:10px 12px;background:#fff4e4;border-left:3px solid #9c6417;color:#69410c}
#product .lp-v2-stock-warning[hidden] {display:none!important}

/* T6: dormant delivery-check markup; no shipping calculation. */
#product .lp-v2-postcode-row {display:flex;gap:8px;flex-wrap:wrap}
#product .lp-v2-postcode-row input {min-width:0;flex:1 1 130px;width:130px;min-height:44px}
#product .lp-v2-postcode-row button {min-height:44px;border:1px solid #e7e3dc;border-radius:6px}

/* T9: measurement entry lives inside the original, module-revealed calculator. */
#product .lp-v2-measure {width:100%;grid-column:1/-1;margin-bottom:12px;border-bottom:1px solid #e7e3dc;padding-bottom:10px}
#product .lp-v2-measure summary {min-height:44px;display:list-item;cursor:pointer;font-weight:700}
#product .lp-v2-measure p {font-size:13px;line-height:1.5}
#product .lp-v2-measure fieldset {border:1px solid #ded8ce;border-radius:6px;padding:10px;display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
#product .lp-v2-measure legend {font-size:14px;font-weight:700;width:auto;padding:0 4px}
#product .lp-v2-measure label {flex:1 1 100px;min-width:0;font-size:13px}
#product .lp-v2-measure input {width:100%;min-height:44px;display:block;border:1px solid #b6afa5;border-radius:4px;background:white}
#product .lp-v2-measure button {min-height:44px;padding:8px 12px;border:1px solid #b6afa5;background:#fff;border-radius:6px;font-size:13px;cursor:pointer}
#product .lp-v2-measure-actions {display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
#product .lp-v2-measure [data-lp-use-area] {background:#22262b;color:#fff;width:100%;font-weight:700}
#product .lp-v2-measure [data-lp-measure-status] {margin:8px 0 0}

/* Area and Tiles: same label box so the two inputs line up. */
.lp-pp10 label[for="lp-area"], .lp-pp10 .lp-tile-count-label { display:block; min-height:24px; line-height:24px; margin:0 0 8px !important; padding:0; font-size:15px; font-weight:700; }
.lp-pp10 .product-quantity-touchspin { flex-direction:column; justify-content:flex-start; align-self:start; }
.lp-pp10 #lp-area { margin:0 !important; }
.lp-pp10 .lp-tile-count-label { margin-bottom:20px !important; } /* matches label + grid row gap on the Area side */
html body#product .product-quantity .product-quantity-touchspin .lp-tile-count-label { display:block !important; height:24px !important; min-height:24px !important; line-height:24px !important; margin:0 0 14px !important; font-size:15px !important; font-weight:700 !important; }
