/* Product page v8 (Claude, 6 Nov 2026, staging). body#product only. Rebuilt to the mock-sales masters (product-fable.html / bathroom.html) on the site design system.
   Presentation only: no price, stock, quantity, delivery or submission logic lives here. Undo: restore lp-product-v5.css.bak_20261106_p and head.tpl.bak_20261106_p, redeploy. */
html body#product { --lp-f: "Laporsa Manrope", "Segoe UI", Arial, sans-serif; --ink: #18232c; --body: #5b6670; --line: #e6e8ea; --soft: #f4f2ee; --or: #e95125; --ord: #d14618; --ok: #15703f; background: #fff !important; }
html body#product #wrapper, html body#product #content-wrapper, html body#product .main-product-details, html body#product .main-product-bottom, html body#product .lm-product-buy-card, html body#product .product-information { background: #fff !important; }
html body#product, html body#product #main { font-family: var(--lp-f); color: var(--body); }
html body#product .breadcrumb-wrapper, html body#product .breadcrumb { background: transparent !important; padding: 6px 0 !important; margin: 0 !important; font-size: 12.5px !important; }

/* ---------- title, brand, trust ---------- */
html body#product h1.lm-product-title { margin: 6px 0 8px !important; font: 800 24px/1.2 var(--lp-f) !important; letter-spacing: -.02em; color: var(--ink) !important; text-align: left !important; }
html body#product .lp-pdp__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 10px !important; }
html body#product .lp-pp-brand { display: inline-block; margin: 0; font: 700 12px/1.2 var(--lp-f) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--body) !important; text-decoration: none !important; border: 0 !important; }
html body#product .lp-pdp__ref { font: 500 12.5px/1.2 var(--lp-f); color: var(--body); }
html body#product .lp-pdp__trust { margin: 0 0 12px; }
html body#product .lp-pdp__trust .lp-trust { min-height: 32px; font-size: 12.5px; }
html body#product .lp-pp-chips--top { display: none !important; }

/* ---------- gallery card ---------- */
html body#product .lp-pdp__gallery, html body#product .lm-product-media-card { background: #fff !important; border: 1px solid var(--line) !important; border-radius: 10px !important; box-shadow: none !important; overflow: hidden; }
html body#product .lp-pp-count { background: var(--ink) !important; color: #fff !important; font: 700 12px/1 var(--lp-f) !important; border-radius: 999px !important; padding: 6px 10px !important; }
html body#product .lp-pp-thumbs { padding: 8px !important; border-top: 1px solid var(--line); }
html body#product .lp-pp-thumb { border-radius: 8px !important; border: 1.5px solid var(--line) !important; overflow: hidden; width: 56px; height: 56px; padding: 0 !important; background: #fff; }
html body#product .lp-pp-thumb.is-active { border-color: var(--ink) !important; }
html body#product .lp-pdp__zoom { border: 1px solid var(--line) !important; border-radius: 10px !important; background: rgba(255,255,255,.96) !important; font: 700 12.5px/1 var(--lp-f) !important; color: var(--ink) !important; box-shadow: none !important; }
html body#product .product-flags .product-flag { border-radius: 999px !important; font: 800 12px/1 var(--lp-f) !important; padding: 6px 10px !important; }
html body#product .product-flags .product-flag.discount { background: var(--or) !important; color: #fff !important; }
html body#product .product-flags .product-flag.new { background: var(--ink) !important; color: #fff !important; }
@media (min-width: 992px) { html body#product .lp-pdp__media { position: sticky; top: 16px; } }

/* ---------- buy column shell ---------- */
html body#product .lm-product-buy-card, html body#product .product-information { border: 0 !important; box-shadow: none !important; padding: 0 !important; }
html body#product .lp-pdp__buybox, html body#product .lp-pdp__buybox form, html body#product .product-add-to-cart { margin: 0 !important; }
html body#product .product-attributes:empty, html body#product .product-discounts:empty, html body#product .product-variants:empty, html body#product .product-minimal-quantity:empty, html body#product .shipping-delivery-label:empty, html body#product .lp-pdp__buybox p:empty { display: none !important; }
html body#product .lp-pp-stockrow:not(:has(> :not([hidden]))) { display: none !important; }
html body#product .lp-pp-stockrow { margin: 0 0 8px !important; min-height: 0 !important; }

/* availability line as a dot row, under the price */
html body#product .product-availability-top { order: 2; }
html body#product .product-availability-top .product-availability { display: flex !important; align-items: flex-start; gap: 8px; margin: 0 0 12px !important; padding: 0 !important; border: 0 !important; background: transparent !important; font: 600 14px/1.4 var(--lp-f) !important; color: var(--ink) !important; }
html body#product .product-availability-top .product-availability i { display: none !important; }
html body#product .product-availability-top .product-availability::before { content: ""; flex: none; width: 10px; height: 10px; margin-top: 5px; border-radius: 50%; background: var(--ok); }
html body#product .product-availability-top .product-available-order::before { background: #c98a00; }
html body#product .product-availability-top .product-unavailable::before { background: #b42318; }
html body#product .lp-stock-line .lp-stock { display: inline-flex; align-items: center; gap: 8px; font: 600 14px/1.4 var(--lp-f) !important; color: var(--ink) !important; background: transparent !important; border: 0 !important; padding: 0 !important; }
html body#product .lp-stock-line .lp-stock::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--ok); }
html body#product .lp-v2-stock-warning { font: 500 13px/1.4 var(--lp-f); color: #b42318; margin: 4px 0 0; }

/* ---------- price block ---------- */
html body#product .product-prices { margin: 0 0 6px !important; padding: 10px 0 0; border-top: 1px solid var(--line); }
html body#product .lp-pdp__buybox .product-prices-wrapper { margin: 0 !important; }
html body#product .product-prices .lp-sqm-price { font: 800 30px/1 var(--lp-f) !important; letter-spacing: -.02em; color: var(--ink) !important; margin: 0 0 4px; }
html body#product .product-prices .lp-sqm-price::after { content: " inc VAT"; font: 600 13px/1 var(--lp-f); letter-spacing: 0; color: var(--body); }
html body#product .product-prices.lp-per-tile-price .current-price { margin: 0 !important; font: 500 14.5px/1.4 var(--lp-f) !important; color: var(--body) !important; }
html body#product .product-prices.lp-per-tile-price .current-price .product-price { font: 700 14.5px/1.4 var(--lp-f) !important; color: var(--ink) !important; }
html body#product .product-prices.lp-per-tile-price .current-price .lp-tile-unit { font-weight: 500; color: var(--body); }
html body#product .product-prices.lp-per-tile-price .current-price .tax-label { display: none !important; }
html body#product .product-prices:not(.lp-per-tile-price) .current-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin: 0 !important; }
html body#product .product-prices:not(.lp-per-tile-price) .current-price .product-price { font: 800 30px/1 var(--lp-f) !important; letter-spacing: -.02em; color: var(--ink) !important; }
html body#product .product-prices:not(.lp-per-tile-price) .current-price .tax-label { font: 600 13px/1 var(--lp-f) !important; color: var(--body) !important; }
html body#product .product-prices .show-more-without-taxes, html body#product .product-prices .product-unit-price { display: none !important; }
html body#product .product-prices .previous-price { display: flex; align-items: center; gap: 8px; margin: 6px 0 0 !important; font: 500 14px/1.2 var(--lp-f) !important; color: var(--body) !important; }
html body#product .product-prices .regular-price { text-decoration: line-through; color: var(--body) !important; font-weight: 500 !important; }
html body#product .product-prices .discount-percentage, html body#product .product-prices .discount-amount { background: var(--or) !important; color: #fff !important; border-radius: 999px !important; padding: 3px 8px !important; font: 800 12px/1 var(--lp-f) !important; }
html body#product .lp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- calculator + quantity card (one box, one decision) ---------- */
html body#product .lp-purchase-controls, html body#product .lp-pp10.lp-pdp--tile .lp-purchase-controls.lp-purchase-controls { display: block !important; background: var(--soft) !important; border: 0 !important; border-radius: 10px !important; box-shadow: none !important; padding: 14px !important; margin: 10px 0 0 !important; }
html body#product .lp-tile-order { background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0 !important; border-radius: 0 !important; }
html body#product .lp-tile-order > label[for="lp-area"], html body#product .lp-tile-order > label.lp-waste, html body#product .lp-tile-order > small, html body#product .lp-order-notes { display: none !important; }
html body#product .lp-tile-order > .lp-area-input, html body#product .lp-tile-order > #lp-area { display: none !important; } /* the shop input keeps working as the sink for the card above */
html body#product .lp-purchase-controls:not(:has(.lp-calc)) .lp-tile-order > label[for="lp-area"], html body#product .lp-purchase-controls:not(:has(.lp-calc)) .lp-tile-order > .lp-area-input, html body#product .lp-purchase-controls:not(:has(.lp-calc)) .lp-tile-order > label.lp-waste { display: block !important; } /* no JS: native controls stay */
html body#product .lp-calc__h { margin: 0 0 10px; font: 800 16px/1.2 var(--lp-f); color: var(--ink); }
html body#product .lp-calc__h .lp-calc__sub { display: block; margin-top: 2px; font: 500 12.5px/1.3 var(--lp-f); color: var(--body); }
html body#product .lp-calc { margin: 0 0 4px; }
html body#product .lp-calc__seg { display: flex; gap: 6px; margin: 0 0 10px; }
html body#product .lp-calc__seg button { flex: 1; min-height: 40px; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 0 8px; font: 700 13.5px/1.2 var(--lp-f); color: var(--ink); cursor: pointer; }
html body#product .lp-calc__seg button.on { background: var(--ink); color: #fff; border-color: var(--ink); }
html body#product .lp-calc__seg--surf { margin-bottom: 8px; }
html body#product .lp-calc__seg--surf button { min-height: 34px; font-size: 12.5px; border-radius: 999px; }
html body#product .lp-calc__fld { display: flex; gap: 8px; }
html body#product .lp-calc__fld label { flex: 1; min-width: 0; font: 700 12.5px/1.3 var(--lp-f); color: var(--body); }
html body#product .lp-calc__fld input, html body#product .lp-area-input, html body#product .lp-tile-order .lp-area-input.form-control { display: block; width: 100%; height: 48px !important; min-height: 48px; margin: 3px 0 0 !important; background: #fff !important; border: 1px solid #bdb7ab !important; border-radius: 8px !important; padding: 0 12px !important; font: 700 17px/1 var(--lp-f) !important; color: var(--ink) !important; box-shadow: none !important; }
html body#product .lp-calc__fld input:focus, html body#product .lp-area-input:focus { outline: 2px solid var(--ink); outline-offset: 1px; }
html body#product .lp-calc__chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; }
html body#product .lp-calc__chips button { background: #fff; border: 1px solid var(--line); border-radius: 999px; min-height: 32px; padding: 0 12px; font: 600 13px/1 var(--lp-f); color: var(--ink); cursor: pointer; }
html body#product .lp-calc__chips button.on, html body#product .lp-calc__chips button:hover { border-color: var(--ink); }
html body#product .lp-calc__chips button.on { background: var(--ink); color: #fff; }
html body#product .lp-calc__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 8px; margin: 12px 0 0; font: 600 13.5px/1.3 var(--lp-f); color: var(--ink); }
html body#product .lp-calc__row .lp-calc__chips { margin: 0; flex: 0 0 auto; }
@media (max-width: 420px) { html body#product .lp-calc__row { flex-direction: column; align-items: flex-start; } }
html body#product .lp-calc__res { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 12px 0 0; padding: 12px 0 0; border-top: 1px dashed #cfc8bb; }
html body#product .lp-calc__res .l { font: 500 13.5px/1.3 var(--lp-f); color: var(--body); }
html body#product .lp-calc__res .l b { display: block; font: 800 17px/1.2 var(--lp-f); color: var(--ink); }
html body#product .lp-calc__res .t { font: 800 28px/1 var(--lp-f); letter-spacing: -.01em; color: var(--ink); white-space: nowrap; }
html body#product .lp-calc__res .t .lp-calc__vat { display: block; text-align: right; font: 500 12px/1.3 var(--lp-f); color: var(--body); letter-spacing: 0; }
html body#product .lp-calc__sup { margin: 8px 0 0; font: 500 12.5px/1.4 var(--lp-f); color: var(--body); }
html body#product .lp-v2-measure { margin: 8px 0 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
html body#product .lp-v2-measure > summary { font: 700 13.5px/1.3 var(--lp-f); color: var(--ink); cursor: pointer; padding: 6px 0; list-style: none; }
html body#product .lp-v2-measure > summary::before { content: "+ "; }
html body#product .lp-v2-measure[open] > summary::before { content: "– "; }
html body#product .lp-v2-measure p { font: 400 13px/1.4 var(--lp-f); color: var(--body); margin: 4px 0 8px; }
html body#product .lp-v2-measure fieldset { border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; margin: 0 0 8px; background: #fff; display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; }
html body#product .lp-v2-measure legend { font: 700 12.5px/1.2 var(--lp-f); color: var(--ink); padding: 0 4px; }
html body#product .lp-v2-measure fieldset label { flex: 1; min-width: 90px; font: 600 12px/1.3 var(--lp-f); color: var(--body); }
html body#product .lp-v2-measure fieldset input { display: block; width: 100%; min-height: 40px; border: 1px solid #bdb7ab; border-radius: 8px; padding: 0 10px; font: 600 15px/1 var(--lp-f); margin-top: 2px; }
html body#product .lp-v2-measure button { min-height: 36px; border: 1px solid var(--ink); background: #fff; color: var(--ink); border-radius: 8px; padding: 0 12px; font: 700 12.5px/1 var(--lp-f); margin: 0 6px 6px 0; cursor: pointer; }
html body#product .lp-v2-measure [data-lp-use-area] { background: var(--ink); color: #fff; }
/* native tile count: kept, shown as the editable result */
html body#product .product-quantity-touchspin, html body#product .lp-pp10 .lp-purchase-controls.lp-purchase-controls .product-quantity-touchspin, html body#product .lp-pp10.lp-pdp--tile .lp-purchase-controls.lp-purchase-controls .product-quantity-touchspin { display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 10px; margin: 12px 0 0 !important; max-width: none !important; text-align: left !important; }
html body#product .lp-pp10:not(.lp-pdp--tile) .product-quantity-touchspin { margin-top: 0 !important; }
html body#product .product-quantity-touchspin > label { margin: 0 !important; font: 700 14px/1.3 var(--lp-f) !important; color: var(--ink) !important; }
html body#product .lp-pdp--tile .product-quantity-touchspin > label::after { content: " (edit if you know the count)"; font-weight: 500; color: var(--body); font-size: 12.5px; }
html body#product .product-quantity-touchspin .qty { margin: 0 !important; }
html body#product .product-quantity-touchspin .input-group { display: inline-flex !important; align-items: stretch; width: auto !important; border: 1px solid #bdb7ab; border-radius: 8px; overflow: hidden; background: #fff; }
html body#product .product-quantity-touchspin .input-group .btn-touchspin, html body#product .product-quantity-touchspin .input-group .btn { width: 44px; min-height: 44px; border: 0 !important; border-radius: 0 !important; background: #fff !important; color: var(--ink) !important; font: 800 18px/1 var(--lp-f) !important; box-shadow: none !important; margin: 0 !important; }
html body#product .product-quantity-touchspin .input-group .input-group-btn, html body#product .product-quantity-touchspin .input-group .input-group-prepend, html body#product .product-quantity-touchspin .input-group .input-group-append { display: flex; }
html body#product #quantity_wanted { width: 64px !important; min-height: 44px !important; height: 44px !important; border: 0 !important; border-left: 1px solid var(--line) !important; border-right: 1px solid var(--line) !important; border-radius: 0 !important; text-align: center; font: 800 16px/1 var(--lp-f) !important; color: var(--ink) !important; box-shadow: none !important; margin: 0 !important; }
html body#product .lp-purchase-total { display: none !important; }
html body#product .lp-purchase-controls .add { margin: 12px 0 0 !important; }
html body#product .add-to-cart, html body#product .lcp-add { display: flex !important; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 52px; border-radius: 10px !important; font: 800 16px/1.2 var(--lp-f) !important; background: var(--or) !important; border: 0 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; box-shadow: none !important; padding: 0 16px !important; }
html body#product .add-to-cart:hover, html body#product .lcp-add:hover { background: var(--ord) !important; }
html body#product .add-to-cart i { display: none !important; }
html body#product .add-to-cart .lp-s1-button-summary { font-weight: 600; opacity: .95; }
html body#product .add-to-cart[disabled] { background: #c9ced2 !important; }
/* PayPal + sample as one row of secondary actions */
html body#product .lm-paypal-inline { margin: 10px 0 0 !important; }
html body#product .lm-paypal-divider { margin: 0 0 6px !important; }
html body#product .lm-paypal-divider span { font: 700 11px/1 var(--lp-f) !important; letter-spacing: .08em; color: var(--body) !important; }
html body#product a.lp-v2-sample { display: flex !important; align-items: center; justify-content: center; min-height: 46px; margin: 10px 0 0 !important; padding: 0 16px; border: 1.5px solid var(--ink) !important; border-radius: 10px !important; background: #fff !important; color: var(--ink) !important; font: 700 14.5px/1.2 var(--lp-f) !important; text-decoration: none !important; }

/* ---------- bundle block (laporsacomplete, module markup untouched): tick to add, nothing pre-ticked ---------- */
html body#product .lp-v2-bundle-slot .laporsa-tile-calculator { display: none !important; } /* second calculator: the card above already covers area, wastage and quantity */
html body#product .lp-v2-bundle-slot { display: block; margin: 0; }
html body#product .product-additional-info { display: flex; flex-direction: column; }
html body#product .product-additional-info > .lcp { order: -1; }
html body#product .lcp, html body#product .lp-pp10 .lcp, html body#product .lp-pp10.lp-has-required .lcp { margin: 12px 0 0 !important; padding: 12px 14px !important; border: 1px solid var(--line) !important; border-top: 1px solid var(--line) !important; border-radius: 10px !important; background: #fff !important; box-shadow: none !important; }
html body#product .lcp .lcp-eyebrow { display: none !important; }
html body#product .lcp h3, html body#product .lp-pp10 .lcp h3 { margin: 0 0 2px !important; font: 800 16px/1.2 var(--lp-f) !important; color: var(--ink) !important; }
html body#product .lcp .lcp-intro { margin: 0 0 4px !important; font: 400 13px/1.4 var(--lp-f) !important; color: var(--body) !important; }
html body#product .lcp .lcp-item { display: flex !important; align-items: center; gap: 10px; padding: 10px 0 !important; margin: 0 !important; border: 0 !important; border-top: 1px solid var(--line) !important; background: transparent !important; }
html body#product .lcp .lcp-check { margin: 0 !important; display: flex; align-items: center; flex: none; }
html body#product .lcp .lcp-check input { width: 22px; height: 22px; margin: 0; accent-color: var(--or); }
html body#product .lcp .lcp-check input[disabled] { opacity: .35; }
html body#product .lcp .lcp-item > a { flex: none; width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: #fff; display: block; }
html body#product .lcp .lcp-item > a img { width: 100%; height: 100%; object-fit: contain; display: block; }
html body#product .lcp .lcp-details { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
html body#product .lcp .lcp-name { font: 700 13.5px/1.3 var(--lp-f) !important; color: var(--ink) !important; text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
html body#product .lcp .lcp-details small { font: 500 12.5px/1.35 var(--lp-f) !important; color: var(--body) !important; }
html body#product .lcp .lcp-badge, html body#product .lp-pp10 .lcp .lcp-badge.lcp-required { display: inline-block !important; align-self: flex-start; order: 3; margin-top: 2px; border-radius: 999px; padding: 3px 8px; font: 700 11px/1 var(--lp-f); letter-spacing: .04em; text-transform: uppercase; background: var(--soft); color: var(--body); }
html body#product .lcp .lcp-badge.lcp-required { background: #fdebe4; color: #b8411a; }
html body#product .lcp .lcp-badge:empty { display: none !important; }
html body#product .lcp .lcp-qty { display: flex !important; align-items: center; border: 1px solid #bdb7ab; border-radius: 8px; background: #fff; overflow: hidden; flex: none; }
html body#product .lcp .lcp-qty button { width: 32px; height: 36px; border: 0; background: #fff; font: 800 16px/1 var(--lp-f); color: var(--ink); cursor: pointer; }
html body#product .lcp .lcp-qty input, html body#product .lcp .lcp-qty span { width: 32px; text-align: center; border: 0; font: 700 14px/1 var(--lp-f); color: var(--ink); }
html body#product .lcp .lcp-total { display: flex; justify-content: space-between; align-items: center; margin: 4px 0 0 !important; padding: 10px 0 0; border-top: 1px solid var(--line); font: 600 13.5px/1.3 var(--lp-f); color: var(--body); }
html body#product .lcp .lcp-total-value { font: 800 16px/1 var(--lp-f); color: var(--ink); }
html body#product .lcp .lcp-tax { display: block; margin: 4px 0 0 !important; font: 400 12px/1.4 var(--lp-f) !important; color: var(--body) !important; }
html body#product .lcp .lcp-reminder { margin: 10px 0 0; padding: 10px 12px; border-radius: 8px; background: var(--soft); font: 500 13px/1.4 var(--lp-f); color: var(--ink); }
html body#product .lcp .lcp-reminder .lcp-confirm { display: inline-block; margin-top: 6px; min-height: 36px; border: 1.5px solid var(--ink); background: #fff; border-radius: 8px; padding: 0 12px; font: 700 13px/1 var(--lp-f); color: var(--ink); }
html body#product .lcp .lcp-add { margin: 10px 0 0 !important; }
/* no required items and nothing ticked: the module button would duplicate the main button, so it waits until an extra is ticked */
html body#product .lp-pp10:not(.lp-has-required) .lcp:not(:has(.lcp-check input:checked)) .lcp-add { display: none !important; }
html body#product .lp-pp10:not(.lp-has-required) .lcp .lcp-add { background: #fff !important; color: var(--ink) !important; -webkit-text-fill-color: var(--ink) !important; border: 1.5px solid var(--ink) !important; min-height: 46px; font-size: 14.5px !important; }
html body#product .lp-pp10:not(.lp-has-required) .lcp .lcp-add::before { content: none !important; }
html body#product .lcp .lcp-status:empty { display: none; }
html body#product .lcp .lcp-basket { display: inline-flex; align-items: center; min-height: 40px; font: 700 14px/1 var(--lp-f); color: var(--ink); }
/* questions row from the module */
html body#product .lpc-pi { margin: 12px 0 0; font: 400 14px/1.6 var(--lp-f); color: var(--body); }
html body#product .lpc-pi ul { list-style: none; margin: 0; padding: 0; }
html body#product .lpc-pi a { font-weight: 700; color: var(--ink) !important; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }

/* ---------- delivery and collection: one flat card, every link kept ---------- */
html body#product .lp-v4-purchase-help { margin: 12px 0 0; }
html body#product .lp-pp-deliv { background: #fff !important; border: 1px solid var(--line) !important; border-radius: 10px !important; padding: 0 14px !important; margin: 0 !important; }
html body#product .lp-pp-deliv__row { display: flex !important; gap: 12px; padding: 12px 0 !important; border: 0 !important; font: 400 13.5px/1.4 var(--lp-f); color: var(--body); }
html body#product .lp-pp-deliv__row + .lp-pp-deliv__row { border-top: 1px solid var(--line) !important; }
html body#product .lp-pp-deliv__row > div { flex: 1; min-width: 0; }
html body#product .lp-pp-deliv__row strong { display: block; font: 800 14.5px/1.3 var(--lp-f) !important; color: var(--ink); margin: 0 0 2px; }
html body#product .lp-pp-deliv__row .lp-pp-ico, html body#product .lp-pp-deliv__row i { display: block !important; flex: none; width: 22px; height: 22px; color: var(--ink); font-size: 22px; margin-top: 1px; }
html body#product .lp-pp-deliv__row i.lm-icon-control { display: none !important; }
html body#product .lp-pp-deliv__row:has(.lp-v2-delivery-check) > div > strong { font-size: 0 !important; line-height: 0; }
html body#product .lp-pp-deliv__row:has(.lp-v2-delivery-check) > div > strong::before { content: "Check delivery to you"; font: 800 14.5px/1.3 var(--lp-f); color: var(--ink); display: block; }
html body#product .lp-pp-deliv__row:has(.lp-v2-delivery-check) > div > strong::after { content: "Price for your quantity, shown again at checkout."; font: 400 13px/1.4 var(--lp-f); color: var(--body); display: block; margin-top: 2px; }
html body#product .lp-pp-deliv__row:has(.lp-v2-delivery-check) > .lp-pp-ico { display: none !important; }
html body#product .lp-pp-deliv__row:has(.lp-v2-delivery-check) > div > strong::before { padding-left: 0; }
html body#product .lp-v2-delivery-check { margin: 8px 0 0; }
html body#product .lp-v2-delivery-check label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
html body#product .lp-v2-postcode-row { display: flex; gap: 6px; }
html body#product .lp-v2-postcode-row input { flex: 1; min-width: 0; min-height: 44px; border: 1px solid #bdb7ab !important; border-radius: 8px !important; padding: 0 12px; font: 600 15px/1 var(--lp-f); text-transform: uppercase; background: #fff; }
html body#product .lp-v2-postcode-row input::placeholder { text-transform: none; font-weight: 500; }
html body#product .lp-v2-postcode-row button { min-height: 44px; border: 0; background: var(--ink); color: #fff; border-radius: 8px; padding: 0 16px; font: 700 14px/1 var(--lp-f); }
html body#product .lp-v2-postcode-row button[disabled] { background: #c9ced2; color: #fff; }
html body#product #lp-v2-delivery-result { margin: 6px 0 0 !important; font: 500 13px/1.4 var(--lp-f) !important; color: var(--ink) !important; }
html body#product .lp-pp-deliv a { color: var(--ink) !important; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
html body#product .lp-pp-deliv__row:not(:has(.lp-v2-delivery-check)) > div > span { display: block; margin-top: 2px; }
html body#product .lp-v2-help { margin: 10px 0 0 !important; font: 400 14px/1.5 var(--lp-f) !important; color: var(--body); }
html body#product .lp-v2-help a { font-weight: 700; color: var(--ink) !important; text-decoration: underline; text-underline-offset: 3px; }
html body#product .lp-pp-trust { margin: 12px 0 0; border: 1px solid var(--line); border-radius: 10px; padding: 0 14px; }
html body#product .lp-pp-trust__row { display: flex; gap: 12px; padding: 12px 0 !important; border-radius: 0 !important; background: #fff !important; box-shadow: none !important; font: 400 13.5px/1.4 var(--lp-f); color: var(--body); }
html body#product .lp-pp-trust__row + .lp-pp-trust__row { border-top: 1px solid var(--line); }
html body#product .lp-pp-trust__row::before, html body#product .lp-pp-trust__row::after, html body#product .lp-pp-trust::before { content: none !important; display: none !important; }
html body#product .lp-pp-trust, html body#product .lp-pp-trust__row { border-left: 0 !important; border-right: 0 !important; }
html body#product .lp-pp-trust { border: 1px solid var(--line) !important; }
html body#product .lp-pp-trust__row i { display: none !important; }
html body#product .lp-pp-trust__row strong { display: block; font: 800 14.5px/1.3 var(--lp-f); color: var(--ink); margin: 0 0 4px; }
html body#product .lp-trust-details__places { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
html body#product .lp-trust-details__places li { display: flex; flex-wrap: wrap; gap: 0 8px; }
html body#product .lp-trust-details__places li span { flex: 1 1 100%; font-size: 12.5px; }
html body#product .lp-pp-trust a { color: var(--ink) !important; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
html body#product .lp-pp-summary { margin: 16px 0 0; font: 400 14.5px/1.6 var(--lp-f); color: var(--body); }
html body#product .reassurance-hook { margin: 16px 0 0; }

/* ---------- sticky phone bar: live total + one orange action (text by CSS; lp-pp10.js keeps the link, scroll and safety checks) ---------- */
html body#product .lp-pp-buybar { background: #fff !important; border-top: 1px solid var(--line) !important; box-shadow: 0 -4px 14px rgba(24,35,44,.08) !important; padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px)) !important; gap: 10px !important; align-items: center; }
html body#product .lp-pp-buybar.lp-bar-off { display: none !important; }
html body#product .lp-pp-buybar__name { display: none !important; }
html body#product .lp-pp-buybar .lp-v2-bar-total { display: none !important; }
html body#product .lp-pp-buybar .lp-bar-sum { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; font: 500 12px/1.2 var(--lp-f); color: var(--body); white-space: nowrap; overflow: hidden; }
html body#product .lp-pp-buybar .lp-bar-sum b { font: 800 18px/1.1 var(--lp-f); color: var(--ink); letter-spacing: -.01em; }
html body#product .lp-pp-buybar .lp-bar-sum:empty { display: none; }
html body#product .lp-pp-buybar__link { flex: 1 1 56% !important; max-width: 60%; min-height: 48px !important; background: var(--or) !important; border: 0 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; border-radius: 10px !important; font-size: 0 !important; line-height: 0; padding: 0 12px !important; }
html body#product .lp-pp-buybar__link::before { content: "Add to basket"; font: 800 15px/1 var(--lp-f); }
html body#product .lp-pp-buybar:not(.lp-bar-ready) .lp-pp-buybar__link::before { content: "Choose quantity"; }
html body#product .lp-pdp--tile .lp-pp-buybar:not(.lp-bar-ready) .lp-pp-buybar__link::before { content: "Enter your area"; }
html body#product .lp-has-required .lp-pp-buybar .lp-pp-buybar__link::before { content: "Review required items"; }
html body#product .lp-pp-buybar .lp-bar-sum:not(:empty) + .lp-pp-buybar__link { flex: 0 1 auto !important; }

/* ---------- lower sections: same system ---------- */
html body#product .main-product-bottom { margin-top: 24px; }
@media (min-width: 992px) { html body#product .main-product-bottom { margin-top: 40px; } }
html body#product .lm-product-story { margin: 0 !important; padding: 0 !important; background: #fff !important; border: 0 !important; }
html body#product .lm-product-story-header { margin: 0 0 12px !important; padding: 0 !important; }
html body#product .lm-product-story-header :is(.lm-eyebrow,p) { display: none !important; }
html body#product .lm-product-story-header h2, html body#product .main-product-bottom h2, html body#product .product-accessories .title-block :is(h2,h3,span), html body#product .crossselling-products h2, html body#product .lpc-h2 { margin: 0 0 12px !important; font: 800 20px/1.25 var(--lp-f) !important; color: var(--ink) !important; text-align: left !important; letter-spacing: -.01em; }
@media (min-width: 992px) { html body#product .lm-product-story-header h2, html body#product .product-accessories .title-block :is(h2,h3,span) { font-size: 24px !important; } }
html body#product .lm-product-story-grid { display: grid !important; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 992px) { html body#product .lm-product-story-grid { grid-template-columns: 1.3fr 1fr; align-items: start; gap: 24px; } }
html body#product :is(.lm-product-description-card,.lm-product-spec-card,.lp-pp-keyfacts) { background: #fff !important; border: 1px solid var(--line) !important; border-radius: 10px !important; box-shadow: none !important; padding: 16px !important; margin: 0 !important; }
html body#product .lm-product-section-number, html body#product .lm-product-section-heading small { display: none !important; }
html body#product .lm-product-section-heading { border: 0 !important; padding: 0 !important; margin: 0 0 8px !important; }
html body#product :is(.lm-product-section-heading h3,.lp-pp-h3,.lm-product-spec-card h3) { margin: 0 0 10px !important; font: 800 17px/1.3 var(--lp-f) !important; color: var(--ink) !important; }
html body#product .lm-product-rich-text, html body#product .lm-product-rich-text p, html body#product .lm-product-rich-text li { font: 400 15px/1.6 var(--lp-f) !important; color: var(--body) !important; }
html body#product .lm-product-rich-text :is(h1,h2,h3,h4) { font: 800 16px/1.3 var(--lp-f) !important; color: var(--ink) !important; margin: 16px 0 6px !important; border: 0 !important; padding: 0 !important; }
html body#product .lm-product-rich-text :is(h1,h2,h3,h4)::before { content: none !important; }
html body#product .lm-product-description-toggle { min-height: 44px; border: 1.5px solid var(--ink) !important; border-radius: 10px !important; background: #fff !important; color: var(--ink) !important; font: 700 14px/1 var(--lp-f) !important; }
html body#product .lp-pp-spec__table { width: 100%; border-collapse: collapse; }
html body#product .lp-pp-spec__table :is(th,td) { padding: 10px 0 !important; border: 0 !important; border-bottom: 1px solid #eef0f1 !important; background: transparent !important; font: 500 14.5px/1.4 var(--lp-f) !important; vertical-align: top; }
html body#product .lp-pp-spec__table th { width: 44%; color: var(--body) !important; font-weight: 600 !important; text-align: left; }
html body#product .lp-pp-spec__table td { color: var(--ink) !important; font-weight: 700 !important; }
html body#product .lp-pp-spec__table tr:last-child :is(th,td) { border-bottom: 0 !important; }
html body#product .lp-pp-keyfacts__list { margin: 0 0 8px; padding: 0 0 0 18px; font: 400 14.5px/1.6 var(--lp-f); }

/* related products as master cards: 2 up on phone, 4 up on desktop */
html body#product .product-accessories { margin: 24px 0 0 !important; }
@media (min-width: 992px) { html body#product .product-accessories { margin-top: 40px !important; } }
html body#product :is(.product-accessories,.crossselling-products) .title-block { margin: 0 0 12px !important; padding: 0 !important; text-align: left !important; }
html body#product .product-accessories .product-list-wrapper, html body#product .product-accessories .product-list .product-list-wrapper { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px 10px !important; height: auto !important; overflow: visible !important; transform: none !important; width: 100% !important; }
@media (min-width: 768px) { html body#product .product-accessories .product-list-wrapper, html body#product .product-accessories .product-list .product-list-wrapper { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 24px 16px !important; } }
html body#product .product-accessories .product-miniature { width: auto !important; max-width: none !important; height: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; }
html body#product .product-accessories .product-container { display: flex; flex-direction: column; height: 100%; background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
html body#product :is(.product-accessories,.crossselling-products) .first-block { aspect-ratio: 1 / 1; margin: 0 0 8px !important; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: #fff !important; }
html body#product :is(.product-accessories,.crossselling-products) .product-thumbnail, html body#product :is(.product-accessories,.crossselling-products) .product-cover-link { display: block; width: 100%; height: 100%; }
html body#product :is(.product-accessories,.crossselling-products) .first-block img { width: 100% !important; height: 100% !important; object-fit: contain; padding: 6px; }
html body#product :is(.product-accessories,.crossselling-products) .product-name, html body#product :is(.product-accessories,.crossselling-products) .product-name a { margin: 0 0 4px !important; text-align: left !important; font: 600 14px/1.3 var(--lp-f) !important; background: transparent !important; padding: 0 !important; }
html body#product :is(.product-accessories,.crossselling-products) .product-name a { color: var(--ink) !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
html body#product :is(.product-accessories,.crossselling-products) .product-price-and-shipping { justify-content: flex-start !important; text-align: left !important; }
html body#product :is(.product-accessories,.crossselling-products) .product-price { font: 800 19px/1.15 var(--lp-f) !important; color: var(--ink) !important; }
html body#product .crossselling-products { margin-top: 32px !important; }

/* reviews block under the product: white, Supply & fit card hidden (rule: supply and fit stays hidden) */
html body#product .lp-product-store-reviews { background: #fff !important; margin-top: 24px; }
html body#product .lp-product-store-reviews .lpc-card[href*="topic="] { display: none !important; }

/* ---------- desktop ---------- */
@media (min-width: 992px) {
  html body#product h1.lm-product-title { font-size: 30px !important; }
  html body#product .product-prices .lp-sqm-price, html body#product .product-prices:not(.lp-per-tile-price) .current-price .product-price { font-size: 34px !important; }
  html body#product .lp-pdp__buy { padding-left: 32px !important; }
  html body#product .lp-pp-buybar { display: none !important; }
}

/* v8: the page never grows past the phone viewport (a wide descendant must not widen the layout viewport) */
html body#product #wrapper, html body#product #main { overflow-x: clip; }
.lp-cat__trust--list { padding: 0 12px; }
@media (min-width: 992px) { .lp-cat__trust--list { padding: 0; } }

/* v8: module questions/sample row wraps instead of running off the phone screen */
html body#product .lpc-pi a { white-space: normal !important; display: inline; line-height: 1.6; }
html body#product .lpc-pi .lpc-pi__sample a { display: inline-flex; min-height: 44px; align-items: center; padding: 0 14px; border: 1.5px solid var(--ink); border-radius: 10px; background: #fff; text-decoration: none; margin: 6px 0; }

/* final pass 6 Nov (a): old Share row and beige module chips hidden (kept in DOM), tighter lower page */
html body#product .main-product-bottom .lp-share-row, html body#product .lp-share-row { display: none !important; }
html body#product .lp-product-store-reviews .lpc-cards { display: none !important; }
html body#product .main-product-bottom { margin-bottom: 8px !important; }
html body#product .lp-product-store-reviews { margin: 16px 0 0 !important; padding: 20px 0 8px !important; }
html body#product .lp-product-store-reviews .lpc-h2 { margin-top: 0 !important; }
html body#product .product-accessories { margin-top: 20px !important; }
@media (min-width: 992px) { html body#product .lp-product-store-reviews { margin-top: 24px !important; padding: 28px 0 8px !important; } html body#product .product-accessories { margin-top: 28px !important; } }
