/* lp-rollout-v7.css (Claude, 7 Nov 2026, staging). Applies MASTER-V7 to the rest of the site: page-level only (titles, rhythm, hairline lists, borderless media, one soft panel per screen).
   Linked after lp-master-v7.css on every page. Does not touch prices, specs, hooks, forms, links or the card system (lp-cat-v5, lp-cards-v6). Rules: out/design-v4/MASTER-V7.md. Undo: remove the link in head.tpl and delete this file. */
:root { --r7-ink: #18232c; --r7-body: #5b6670; --r7-line: #e6e8ea; --r7-soft: #f4f2ee; --r7-or: #d95618; --r7-ord: #b84510; --r7-f: "Laporsa Manrope", "Segoe UI", Arial, sans-serif; }

/* ============ 1. HOME PHONE: Shop the sale must clear the sticky action bar (390x664, cookie bar open or accepted) ============ */
@media (max-width: 767.98px) {
  html body#index .lp-v4-home .hero .photo { aspect-ratio: auto; height: 318px; }
  html body#index .lp-v4-home .hero .copy { padding: 56px 16px 16px; }
  html body#index .lp-v4-home .hero .eyebrow { margin-bottom: 6px; }
  html body#index .lp-v4-home .hero h1 { font-size: 30px; line-height: 1.06; }
  html body#index .lp-v4-home .hero .sub { display: none; }
  html body#index .lp-v4-home .hero .cta { margin-top: 14px; }
}

/* ============ 2. PAGE TITLES, rhythm, breadcrumb (every non-home, non-product page) ============ */
html body:is(#category,#search,#prices-drop,#best-sales,#new-products,#manufacturer,#cart,#checkout,#stores,#authentication,#registration,#password,#pagenotfound,#cms,#my-account,#identity,#addresses,#history,#guest-tracking) :is(h1.page-heading, h1.page-title, .lm-cart-header h1, .lp-bath-intro h1) { font: 800 26px/1.12 var(--r7-f) !important; letter-spacing: -.02em; color: var(--r7-ink) !important; text-align: left; margin: 4px 0 8px !important; }
html body:is(#category,#search,#prices-drop,#best-sales,#new-products,#cart,#checkout,#stores,#authentication,#registration,#password,#pagenotfound,#cms,#contact) .breadcrumb, html body:is(#category,#search,#cart,#stores,#authentication,#pagenotfound,#cms,#contact) .breadcrumb a, html body:is(#category,#search,#cart,#stores,#authentication,#pagenotfound,#cms,#contact) .breadcrumb li { font-size: 12.5px; }
@media (min-width: 992px) {
  html body:is(#category,#search,#prices-drop,#best-sales,#new-products,#manufacturer,#cart,#checkout,#stores,#authentication,#registration,#password,#pagenotfound,#cms,#my-account,#identity,#addresses,#history,#guest-tracking) :is(h1.page-heading, h1.page-title, .lm-cart-header h1, .lp-bath-intro h1) { font-size: 34px !important; margin: 6px 0 12px !important; }
}
/* body copy 15/1.5 */
html body:is(#category,#search,#cart,#stores,#authentication,#pagenotfound) .lp-v4-category-intro, html body:is(#stores,#authentication,#pagenotfound,#cms) #content :is(p, li) { font-size: 15px; line-height: 1.5; }

/* ============ 3. CATEGORY, HUB, SEARCH AND SALE LISTINGS: page-level only (cards stay as lp-cat-v5 and lp-cards-v6) ============ */
/* Google strip as a plain fact line: no box */
html body:is(#category,#search,#prices-drop,#best-sales,#new-products,#cart) :is(.lp-cat__trust, .lp-cart__trust) { margin: 10px 0 14px; }
html body:is(#category,#search,#prices-drop,#best-sales,#new-products,#cart) :is(.lp-cat__trust, .lp-cart__trust) .lp-trust { border: 0; border-radius: 0; background: none; padding: 0; min-height: 28px; font-size: 13px; }
/* intro text and description: quiet body */
html body#category .lp-v4-category-intro { margin-top: 2px !important; }
/* toolbar: hairline only, controls keep 10px radius */
html body:is(#category,#search,#prices-drop,#best-sales,#new-products) .lp-listing__toolbar { border-bottom: 1px solid var(--r7-line) !important; }
/* sections below the grid (description, related): 36px apart, 24px titles */
html body#category #wrapper :is(.category-description, .lm-category-description, .lp-cat-seo, #category-description) { margin-top: 36px; font: 400 15px/1.5 var(--r7-f); color: var(--r7-body); }
html body#category #wrapper :is(.category-description, .lm-category-description, .lp-cat-seo, #category-description) :is(h2, h3) { font: 800 24px/1.15 var(--r7-f); letter-spacing: -.02em; color: var(--r7-ink); margin: 0 0 14px; }
/* bathroom listing intro: disclosure and filter select without boxes */
html body#category .lp-bath-intro details { border: 0; background: none; }
html body#category .lp-bath-intro details > summary { padding: 8px 0; font: 700 14px/1.3 var(--r7-f); color: var(--r7-ink); }
@media (min-width: 992px) {
  html body#category #wrapper :is(.category-description, .lm-category-description, .lp-cat-seo, #category-description) { margin-top: 56px; }
  html body#category #wrapper :is(.category-description, .lm-category-description, .lp-cat-seo, #category-description) :is(h2, h3) { font-size: 32px; margin-bottom: 20px; }
}

/* ============ 4a. BASKET AND CHECKOUT: hairline lists, one soft panel (the order summary) ============ */
html body:is(#cart,#checkout) :is(.lm-cart-products-card, .cart-container, .box-bg, .light-box-bg):not(.lm-order-summary) { background: none !important; border: 0 !important; border-top: 1px solid var(--r7-line) !important; border-radius: 0 !important; box-shadow: none !important; }
html body:is(#cart,#checkout) .lm-order-summary { background: var(--r7-soft) !important; border: 0 !important; border-radius: 12px !important; box-shadow: none !important; }
html body:is(#cart,#checkout) .lm-order-summary .lm-card-heading { border-bottom: 1px solid #e3dfd7 !important; }
html body:is(#cart,#checkout) .lm-card-heading { font: 800 18px/1.2 var(--r7-f); letter-spacing: -.01em; padding: 14px 0 !important; }
html body:is(#cart,#checkout) .lm-order-summary .lm-card-heading { padding: 14px 16px !important; }
html body#cart .product-line-grid .product-image img, html body#cart .product-line-grid .img-thumbnail { border: 0 !important; background: var(--r7-soft) !important; border-radius: 12px !important; }
html body#cart .cart-item { border-bottom: 1px solid var(--r7-line); }
html body:is(#cart,#checkout) .lm-checkout-progress { border-bottom: 1px solid var(--r7-line) !important; margin-bottom: 24px !important; }
html body:is(#cart,#checkout) .lm-summary-confidence, html body:is(#cart,#checkout) .lm-checkout-assurance { background: none !important; padding: 0 !important; color: var(--r7-body) !important; }
/* checkout steps: hairline list; the open step is the one soft panel */
html body#checkout #wrapper .checkout-step { background: none !important; border: 0 !important; border-bottom: 1px solid var(--r7-line) !important; border-radius: 0 !important; margin: 0 !important; }
html body#checkout #wrapper .checkout-step.-current, html body#checkout #wrapper .checkout-step.js-current-step, html body#checkout #wrapper .checkout-step.-current.-reachable { background: var(--r7-soft) !important; border: 0 !important; border-radius: 12px !important; margin: 0 0 16px !important; }
html body#checkout #wrapper .checkout-step .step-title, html body#checkout #wrapper .checkout-step h1.step-title { padding: 16px 0 !important; font-size: 18px !important; font-weight: 800 !important; }
html body#checkout #wrapper .checkout-step.-current .step-title { padding: 16px !important; }
html body#checkout #wrapper .checkout-step .content, html body#checkout #wrapper .checkout-step .step-part { background: none !important; }
html body#checkout #wrapper .checkout-step.-current :is(input.form-control, select.form-control, .custom-select) { background: #fff; border-color: transparent; }
html body#checkout #wrapper .checkout-step .lm-step-number { background: #fff !important; }
html body#checkout #wrapper .checkout-step.-current .lm-step-number { background: var(--r7-ink) !important; color: #fff !important; }
html body#cart .lpc-empty-cart__links a, html body#pagenotfound a.btn-secondary { border-radius: 10px; }

/* ============ 4b. STORES, LOGIN AND ACCOUNT, 404 ============ */
html body#stores article.store-item { border: 0 !important; border-bottom: 1px solid var(--r7-line) !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; padding: 0 0 28px !important; margin: 0 0 28px !important; }
html body#stores article.store-item img { border-radius: 12px; border: 0; }
html body#stores article.store-item :is(h2, h3, h4) { font: 800 24px/1.15 var(--r7-f); letter-spacing: -.02em; color: var(--r7-ink); margin: 14px 0 8px; }
html body#authentication .shadow-box, html body:is(#registration,#password) .shadow-box { background: var(--r7-soft) !important; border: 0 !important; border-radius: 12px !important; box-shadow: none !important; padding: 20px !important; }
html body#authentication .shadow-box :is(input.form-control, .input-group .form-control) { background: #fff; border-color: transparent; }
html body#authentication .shadow-box a.btn-secondary { background: #fff; }
html body#pagenotfound #content :is(h2, h3) { font: 800 20px/1.2 var(--r7-f); letter-spacing: -.015em; color: var(--r7-ink); }

/* ============ 4c. CONTACT: one soft panel (the form), white page ============ */
html body#contact form.lpcq-form.lpd-form { background: var(--r7-soft) !important; border: 0 !important; border-radius: 12px !important; box-shadow: none !important; }
html body#contact form.lpcq-form :is(input, select, textarea) { background: #fff; border-color: transparent; }
html body#contact :is(.lpd-h2, .lpcc-form h2, .lpd-dark h2) { font: 800 24px/1.15 var(--r7-f) !important; letter-spacing: -.02em; color: var(--r7-ink) !important; }
html body#contact .lpd-dark h1 { font: 800 26px/1.12 var(--r7-f) !important; }
@media (min-width: 992px) { html body#contact :is(.lpd-h2, .lpcc-form h2, .lpd-dark h2) { font-size: 32px !important; } html body#contact .lpd-dark h1 { font-size: 34px !important; } }

/* ============ 4d. CMS PAGES (showrooms, delivery, gallery): white page, Manrope, no dark panels ============ */
html body#cms .lpd { --ink: #18232c; --ground: #fff; --sand: #f4f2ee; --on-dark: #5b6670; --t2: #5b6670; background: #fff; color: var(--r7-body); font-family: var(--r7-f); }
html body#cms .lpd :is(.lpd-dark, .lpd-hero, .lpd-wrap, .lpd-sec) { background: #fff !important; }
html body#cms .lpd .lpd-dark { color: var(--r7-body) !important; }
html body#cms .lpd :is(p, li, span, small, label, figcaption, dd, dt) { font-family: var(--r7-f); }
html body#cms .lpd-dark :is(p, li, span, small, label, div, figcaption) { color: var(--r7-body); }
html body#cms .lpd .lpd-h1, html body#cms .lpd .lpd-h2, html body#cms .lpd .lpl-h3, html body#cms .lpd h3, html body#cms .lpd-review blockquote, html body#cms .lpd-step__n { font-family: var(--r7-f) !important; color: var(--r7-ink) !important; letter-spacing: -.02em; }
html body#cms .lpd .lpd-h1 { font-size: 26px !important; font-weight: 800 !important; line-height: 1.12 !important; }
html body#cms .lpd :is(.lpd-h2, .lpd-h2--m, .lpd-h2--s, .lpd-h2--light, .lpd-h2--form, .lpd-h2--mb) { font-size: 24px !important; font-weight: 800 !important; line-height: 1.15 !important; }
html body#cms .lpd .lpl-h3, html body#cms .lpd h3 { font-size: 20px; font-weight: 800; line-height: 1.2; }
html body#cms .lpd :is(.lpd-eyebrow, [class*=eyebrow], [class*=kicker]) { color: #b8431a !important; font: 700 11.5px/1.2 var(--r7-f) !important; letter-spacing: .14em; text-transform: uppercase; }
html body#cms .lpd .lpd-hero { padding-top: 16px; padding-bottom: 16px; gap: 20px; }
html body#cms .lpd .lpd-sec { padding-top: 36px; padding-bottom: 0; }
html body#cms .lpd .lpd-sec--first { padding-top: 36px; }
html body#cms .lpd .lpd-sec--last { padding-bottom: 36px; }
html body#cms .lpd .lpd-hero__fig img { border-radius: 12px; }
html body#cms .lpd .lpd-hero__fig figcaption { color: var(--r7-body); font-size: 12.5px; font-weight: 600; }
/* dark band and facts become one soft panel or a hairline list */
html body#cms .lpd .lpd-band, html body#cms .lpd .lpl-plan { background: var(--r7-soft) !important; color: var(--r7-body) !important; border-radius: 12px !important; border: 0 !important; padding: 24px 20px; }
html body#cms .lpd .lpd-band :is(p, li, span, small, div) { color: var(--r7-body) !important; }
html body#cms .lpd .lpd-band :is(h2, h3, strong) { color: var(--r7-ink) !important; }
html body#cms .lpd .lpd-band__map iframe, html body#cms .lpd .lpd-find__map iframe { border-radius: 12px; background: var(--r7-soft); }
html body#cms .lpd .lpd-facts { background: #fff !important; border-top: 1px solid var(--r7-line); border-bottom: 1px solid var(--r7-line); }
html body#cms .lpd .lpd-facts__in { padding-top: 16px; padding-bottom: 16px; gap: 10px 32px; }
html body#cms .lpd .lpd-card, html body#cms .lpd .lpl-card { background: none !important; border: 0 !important; border-top: 1px solid var(--r7-line) !important; border-radius: 0 !important; padding: 20px 0 !important; box-shadow: none; }
html body#cms .lpd .lpd-card p { font-size: 15px; line-height: 1.5; color: var(--r7-body); }
/* buttons: orange main, ink outline secondary, 46px, radius 10 */
html body#cms .lpd a.lpd-btn { min-height: 46px; padding: 0 20px; border-radius: 10px; font: 700 15px/1.2 var(--r7-f); }
html body#cms .lpd a.lpd-btn:is(.lpd-btn--light, .lpd-btn--dark) { background: var(--r7-or); border-color: var(--r7-or); color: #fff !important; }
html body#cms .lpd a.lpd-btn:is(.lpd-btn--ghost, .lpd-btn--line) { background: #fff; border: 1.5px solid var(--r7-ink); color: var(--r7-ink) !important; }
html body#cms .lpd a.lpd-btn:is(.lpd-btn--light, .lpd-btn--dark):hover { background: var(--r7-ord); border-color: var(--r7-ord); color: #fff; }
html body#cms .lpd a.lpd-btn:is(.lpd-btn--ghost, .lpd-btn--line):hover { background: var(--r7-ink); color: #fff !important; }
/* gallery page and plain CMS text */
html body#cms .laporsa-info-page h2 { font: 800 24px/1.15 var(--r7-f); letter-spacing: -.02em; color: var(--r7-ink); margin: 36px 0 14px; }
html body#cms .laporsa-info-page .lp-card, html body#cms #lp-delivery.lp-card { background: var(--r7-soft); border: 0; border-radius: 12px; box-shadow: none; }
html body#cms .laporsa-info-page img { border-radius: 12px; border: 0; }
@media (min-width: 992px) {
  html body#cms .lpd .lpd-h1 { font-size: 34px !important; }
  html body#cms .lpd :is(.lpd-h2, .lpd-h2--m, .lpd-h2--s, .lpd-h2--light, .lpd-h2--form, .lpd-h2--mb), html body#cms .laporsa-info-page h2 { font-size: 32px !important; }
  html body#cms .lpd .lpd-sec { padding-top: 56px; }
  html body#cms .lpd .lpd-band, html body#cms .lpd .lpl-plan { padding: 40px 44px; }
}

/* ============ 5. PHONE MENU AND FOOTER: same rhythm (hairline lists, 11.5px labels, 36px sections) ============ */
@media (max-width: 991.98px) {
  html body .lp-mobile-panel .lp-mobile-group { border: 0 !important; border-bottom: 1px solid var(--r7-line) !important; border-radius: 0 !important; background: none !important; }
  html body .lp-mobile-panel .lp-mobile-group > summary { padding: 0 !important; min-height: 52px; font-size: 16px !important; }
  html body .lp-mobile-panel .lp-mobile-group > div { padding: 0 0 10px !important; border-top: 0; }
  html body .lp-mobile-panel .lp-mobile-group > div a { padding-left: 0 !important; }
  html body .lp-mobile-panel [class*="label"], html body .lp-mobile-panel h2, html body .lp-mobile-panel h3 { font: 700 11.5px/1.2 var(--r7-f); letter-spacing: .14em; text-transform: uppercase; color: var(--r7-body); }
  html body #footer { padding-top: 12px; }
  html body #footer :is(h3, h4, h5, .footer-block-title, .block-title, summary) { font: 700 12.5px/1.2 var(--r7-f) !important; letter-spacing: .14em; text-transform: uppercase; }
  html body #footer .footer-main :is(.footer-left, .footer-center, .footer-right, .footer-block) { margin-bottom: 0; padding-top: 4px; padding-bottom: 4px; border-bottom: 1px solid #e3dfd7; }
  html body #footer .lp-v4-copyright, html body #footer .footer-bottom { font: 400 13px/1.5 var(--r7-f); color: var(--r7-body); }
}

/* fix: text inside filled CMS buttons stays white (icons and spans too) */
html body#cms .lpd a.lpd-btn:is(.lpd-btn--light, .lpd-btn--dark), html body#cms .lpd a.lpd-btn:is(.lpd-btn--light, .lpd-btn--dark) * { color: #fff !important; -webkit-text-fill-color: #fff !important; text-decoration: none; }
html body#cms .lpd a.lpd-btn:is(.lpd-btn--ghost, .lpd-btn--line), html body#cms .lpd a.lpd-btn:is(.lpd-btn--ghost, .lpd-btn--line) * { color: var(--r7-ink) !important; -webkit-text-fill-color: var(--r7-ink) !important; text-decoration: none; }

/* ============ 3b. PRODUCT PAGE (bathroom parity with the tile decision block): bundle, delivery and trust blocks as hairline sections, no boxes ============ */
html body#product :is(section.lcp, section.lp-pp-deliv, section.lp-pp-trust, .lp-pp-trust.lp-trust-details) { background: none !important; border: 0 !important; border-top: 1px solid var(--r7-line) !important; border-radius: 0 !important; box-shadow: none !important; padding-left: 0 !important; padding-right: 0 !important; margin-top: 28px; }
html body#product section.lcp :is(h2, h3, .lcp-title) { font: 800 20px/1.2 var(--r7-f); letter-spacing: -.015em; color: var(--r7-ink); }
html body#product :is(.lp-pp-deliv__row, .lcp-item, .lp-pp-trust__row) { border-left: 0; border-right: 0; border-radius: 0; }
html body#product :is(.lp-pp-deliv, .lp-pp-trust) :is(h2, h3) { font: 800 20px/1.2 var(--r7-f); letter-spacing: -.015em; color: var(--r7-ink); }
html body#product .lcp-item img { border-radius: 10px; border: 0; }

/* London and Cwmbran showroom page buttons: readable text. */
html body .lpd-btn { color: #fff !important; }
html body .lpd-btn--ghost { background: #fff !important; color: #18232c !important; border: 1.5px solid #18232c !important; }
