/* ==========================================================================
   lp-d10.css (design10 r1) - loads after theme.css, laporsa-design-system.css, lp-retail.css
   Mobile first; desktop in @media (min-width:992px). Display only: no prices, stock or data touched.
   ========================================================================== */
:root {
  --lp-orange-text: #b5400f;      /* orange for TEXT on white/peach: 5.7:1 */
  --lp-amber-bg: #fff4e5; --lp-amber-line: #f0d7a8; --lp-amber-text: #7a4100;
  --lp-sticky-top: 0px;           /* set by lp-d10.js = sticky header height */
}
.lp-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
[id] { scroll-margin-top: calc(var(--lp-sticky-top) + 12px); }
.lp-header input::placeholder, .search-widget input::placeholder { color: #5f6770 !important; opacity: 1; }

/* ---------- Header: targets, cart badge, one accent ---------- */
.lpc-bar .lpc-bar__m, .lpc-bar .lpb-wa, .lpc-bar .lpb-tiling { display: inline-flex; align-items: center; padding: 3px 0; } /* r3: no min-height (CLS); phones get a fixed 44px bar below */
.lpc-bar .lpb-tiling { display: none; margin-left: 12px; color: var(--lp-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
.shopping-cart-module .cart-link.btn-primary { position: relative; overflow: visible; background: var(--lp-orange) !important; border-color: var(--lp-orange) !important; color: var(--lp-ink) !important; }
.shopping-cart-module .cart-link.btn-primary * { color: inherit; }
.shopping-cart-module .cart-products-count {
  position: absolute; top: -6px; right: -6px; display: inline-flex; align-items: center; justify-content: center;
  min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: #fff; color: var(--lp-orange-text);
  font-size: 11px; font-weight: 700; line-height: 18px; box-shadow: 0 0 0 1px var(--lp-line);
}
#header .user-info a, #header .header-right .btn, .lp-header .search-widget button { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; justify-content: center; }
.lp-mobile-panel a, .lp-mobile-panel summary { min-height: 44px; display: flex; align-items: center; }
.lp-mobile-close { min-height: 44px; }
/* Phone: header condenses to the logo/cart row while scrolling down (lp-d10.js adds html.lp-condensed).
   The outer <header> keeps its in-flow height, so nothing jumps; the collapsed part is transparent and tap-through. */
@media (max-width: 991.98px) {
  .lp-header .searchbar-wrapper { height: 48px; transition: height .2s, opacity .2s, margin .2s; }
  .lp-deptstrip { height: 44px; transition: height .2s, opacity .2s; }
  html.lp-condensed #header { background: transparent !important; box-shadow: none !important; pointer-events: none; }
  html.lp-condensed #header .lp-header { pointer-events: auto; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.1); }
  html.lp-condensed .lp-header .searchbar-wrapper { height: 0 !important; min-height: 0; margin-top: -8px !important; opacity: 0; overflow: hidden; visibility: hidden; }
  html.lp-condensed .lp-deptstrip { height: 0; opacity: 0; overflow: hidden; visibility: hidden; }
}
@media (prefers-reduced-motion: reduce) { .lp-header .searchbar-wrapper, .lp-deptstrip { transition: none; } }

/* ---------- Breadcrumb: 44px links, current page never overflows ---------- */
.breadcrumb-wrapper, nav.breadcrumb { padding-top: 2px; padding-bottom: 2px; }
.breadcrumb .breadcrumb-item > a, .breadcrumb .breadcrumb-item > .item-name { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 767.98px) {
  .breadcrumb .breadcrumb-item:last-child { min-width: 0; max-width: 60vw; }
  .breadcrumb .breadcrumb-item:last-child .item-name { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 44px; }
}

/* ---------- PayPal: never stacked over the header, never floating ---------- */
body :is(.lm-paypal-inline, .paypal_payment_form, .paypal-buttons, [id^="zoid-paypal-buttons"]) {
  position: relative !important; top: auto !important; bottom: auto !important; left: auto !important; right: auto !important;
  transform: none !important; z-index: 1 !important; max-width: 100%;
}
#header, header#header { z-index: 1030; }

/* ---------- Floating controls: tawk is offset by JS; any theme back-to-top sits above it ---------- */
:is(.back-to-top, #back-to-top, .scroll-top, #scrollTop, .lm-back-to-top, .lp-back-to-top) {
  background: var(--lp-dark) !important; color: #fff !important; border-radius: 50% !important; right: 16px !important; left: auto !important;
  bottom: 160px !important; width: 44px; height: 44px; box-shadow: 0 2px 8px rgba(0,0,0,.2);
}

/* ---------- Stock chips: green = in stock, amber = order / lead time, red = unavailable ---------- */
body .lp-stock--order, body .product-availability > span.available:not(.lp-stock) {
  background: var(--lp-amber-bg) !important; border-color: var(--lp-amber-line) !important; color: var(--lp-amber-text) !important;
}
.lp-stock { text-transform: none; letter-spacing: 0; }
.lp-stock a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.lp-card .product-availability { min-height: 44px; margin: 6px 0 0; }
.lp-card .lp-stock, .lp-card .product-availability > span {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; max-width: 100%;
  padding: 3px 8px; font-size: 12px; line-height: 1.3; white-space: normal; text-transform: none; letter-spacing: 0;
}

/* ---------- Product cards ---------- */
.lp-card .lp-per-tile-price { display: grid; gap: 2px; justify-items: start; text-align: left; }
.lp-card .lp-sqm-price { font-size: 18px; font-weight: 700; line-height: 1.2; color: var(--lp-ink); }
.lp-card .first-prices { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; }
.lp-card .first-prices .price { font-size: 14px; font-weight: 600; color: var(--lp-ink); }
.lp-card .lp-tile-unit { font-size: 12px; color: var(--lp-muted); }
.lp-card .lp-per-tile-price:has(.lp-tile-unit) .regular-price::after { content: " / tile"; font-size: 12px; text-decoration: none; }
.lp-card .buttons-sections .btn, .product-miniature .buttons-sections .btn, .product-miniature .add-to-cart {
  min-height: 44px; padding: 0 6px; font-size: 14px; white-space: nowrap;
  background: var(--lp-orange) !important; border-color: var(--lp-orange) !important; color: var(--lp-ink) !important;
}
.lp-card .lp-card__size { font-weight: 600; color: var(--lp-ink); }
.product-flags .product-flag { font-size: 12px; }

/* ---------- Category listing ---------- */
#category #content-wrapper, #category .center-wrapper { padding-top: 8px !important; }
#category .lm-category-copy { margin: 0 !important; padding: 0 !important; max-width: none !important; }
#category .lm-category-hero .page-heading { margin: 0 0 8px !important; padding: 0 !important; font-size: var(--lp-fs-4); }
.lp-listing__toolbar { position: static !important; margin: 0 0 8px; padding: 2px 0 8px; }
.lp-listing__toolbar #js-product-list-top { gap: 6px 12px; }
.lp-listing__toolbar .lm-products-count strong { font-size: var(--lp-fs-1); font-weight: 600; color: var(--lp-muted); }
#js-active-search-filters { position: static !important; }
#products.lm-listing-products { display: flex; flex-direction: column; }
#products.lm-listing-products > * { order: 0; }
#products.lm-listing-products .lp-catdesc { order: 10; margin: 20px 0 0; }
#search_filter_toggler, .js-search-toggler, .products-sort-order .select-title { min-height: 44px; }
.lp-tile-filters .facet input[type="checkbox"], .faceted-checkbox input[type="checkbox"] { width: 22px; height: 22px; accent-color: var(--lp-orange); }
.faceted-checkbox .facet-label label, .facet .facet-label a { min-height: 44px; display: flex; align-items: center; }
/* Bathrooms hub: the jump link is a secondary button, not the page's main action */
.lp-bath-filter-entry {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; margin: 8px 0 4px;
  background: #fff !important; color: var(--lp-ink) !important; border: 2px solid var(--lp-dark); border-radius: var(--lp-radius); font-weight: 700; text-decoration: none;
}
.lp-bath-intro { padding: 16px 20px; }
.lp-bath-intro p { font-size: var(--lp-fs-1); margin: 4px 0 0; }
.lp-bath-card-label span { color: inherit; font-size: 16px; }

/* ---------- Product page ---------- */
#product .lp-pdp__zoom { min-height: 44px; color: var(--lp-ink); cursor: zoom-in; }
#product .lp-pdp__zoom .material-icons { color: var(--lp-orange-text); }
.lp-pdp__zoom .lp-zoom-click { display: none; }
@media (hover: hover) and (pointer: fine) { .lp-pdp__zoom .lp-zoom-tap { display: none; } .lp-pdp__zoom .lp-zoom-click { display: inline; } }
/* gallery arrows: brand, 44px, inside the frame */
#product .lp-pdp__gallery .scroll-box-arrows :is(.left, .right) {
  position: absolute; top: 50%; z-index: 3; width: 44px; height: 44px; margin: 0; transform: translateY(-50%);
  display: flex; align-items: center; justify-content: center; border-radius: 50%; border: 0;
  background: rgba(32, 51, 47, .9) !important; color: #fff !important; font-size: 20px; cursor: pointer;
}
#product .lp-pdp__gallery .scroll-box-arrows .left { left: 8px !important; right: auto !important; }
#product .lp-pdp__gallery .scroll-box-arrows .right { right: 8px !important; left: auto !important; }
#product .lp-pdp__gallery :is(.slick-arrow, .slick-prev, .slick-next, .thumb-arrow) { background: var(--lp-dark) !important; color: #fff !important; width: 44px; height: 44px; }
/* duplicates: reference is in the meta line; short description that equals the title is hidden by JS */
#product .product-attributes .attribute-item.product-reference { display: none; }
#product .product-description-short.lp-dup { display: none; }
#product .product-prices .tax-label { font-size: 13px; margin-left: 6px; }
#product .lp-purchase-total small, #product .lp-total-label { color: var(--lp-muted) !important; }
/* quantity: 44px steppers, own glyphs (theme icon font rendered "+" as a dash on desktop) */
.bootstrap-touchspin { flex-wrap: nowrap; }
.bootstrap-touchspin .js-touchspin > i, .bootstrap-touchspin .btn-touchspin > i { display: none !important; }
.bootstrap-touchspin .js-touchspin {
  display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0;
  border: 1px solid #b9bfbc; background: #fff; color: var(--lp-ink); font-size: 20px; font-weight: 700; line-height: 1;
}
.bootstrap-touchspin .input-group-prepend .js-touchspin::before { content: "\2212"; }
.bootstrap-touchspin .input-group-append .js-touchspin::before { content: "+"; }
.bootstrap-touchspin input { min-width: 52px; text-align: center; }
/* calculator: Area | Tiles side by side, waste tick-box full width below, one summary line */
#product .lp-purchase-controls:has(.lp-tile-order:not([hidden])) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto auto; gap: 6px 12px; align-items: start; }
#product .lp-purchase-controls:has(.lp-tile-order:not([hidden])) .lp-tile-order { display: contents; }
#product .lp-purchase-controls:has(.lp-tile-order:not([hidden])) :is(.lp-tile-order > *, .lp-order-notes, .lp-purchase-total, .add, .product-minimal-quantity, .lp-order-summary) { grid-column: 1 / -1; }
#product .lp-purchase-controls:has(.lp-tile-order:not([hidden])) .lp-tile-order > label[for="lp-area"] { grid-column: 1; grid-row: 1; margin: 0; }
#product .lp-purchase-controls:has(.lp-tile-order:not([hidden])) .lp-area-input { grid-column: 1; grid-row: 2; width: 100%; }
#product .lp-purchase-controls:has(.lp-tile-order:not([hidden])) .product-quantity-touchspin { grid-column: 2; grid-row: 1 / 3; display: flex; flex-direction: column; gap: 6px; }
#product :is(.lp-tile-order label, .lp-tile-count-label) { font-size: var(--lp-fs-2); line-height: 1.5; font-weight: 700; margin: 0; }
#product .lp-waste { min-height: 48px; padding: 10px 12px; align-items: center; margin: 4px 0 0; }
#product .lp-waste input { width: 24px; height: 24px; flex-basis: 24px; }
#product .lp-order-summary { margin: 4px 0 0; }
#product .lp-purchase-controls:not(:has(.lp-tile-order:not([hidden]))) .product-quantity-touchspin { max-width: 200px; }
#product .lp-pdp.lp-qty-one:not(.lp-has-calc) .lp-purchase-total { display: none !important; }
#product .product-add-to-cart .add { display: flex; width: 100%; }
#product .product-add-to-cart .add-to-cart { width: 100% !important; max-width: none !important; min-height: 52px; }
#product .lm-paypal-divider { font-size: 12px; color: var(--lp-muted); }
#product .lm-product-story-header h2 { font-size: var(--lp-fs-4); }
#product .lm-product-story-header p { font-size: var(--lp-fs-1); color: var(--lp-muted); }
/* Phone: title + reference first, compact gallery, then price and Add to basket */
@media (max-width: 991.98px) {
  #product .lp-pdp__buy, #product .lm-product-buy-card { display: contents; }
  #product .lm-product-title, #product .lp-pdp__meta { flex: 0 0 100%; width: 100%; box-sizing: border-box; padding: 0 12px; }
  #product .lm-product-title { order: -2; margin: 6px 0 2px; font-size: var(--lp-fs-3); }
  #product .lp-pdp__meta { order: -1; margin: 0 0 8px; }
  #product .lp-pdp__media { order: 0; }
  #product .lp-pdp__gallery :is(.images-container, .images-container-wrapper, .product-cover) { aspect-ratio: auto !important; min-height: 0 !important; height: auto !important; }
  #product .lp-pdp__gallery :is(.product-cover img, .product-mobile-images img, .slick-slide img, .swiper-slide img) {
    aspect-ratio: auto !important; width: 100% !important; height: auto !important; max-height: 220px !important; object-fit: contain; padding: 10px 0; margin: 0;
  }
  #product .lp-pdp__buybox { margin-top: 4px; }
}

/* ---------- Basket ---------- */
#cart .lm-cart-header { padding: 12px 20px; }
#cart .lm-cart-header .page-heading { font-size: var(--lp-fs-4); margin: 2px 0 4px; }
#cart .lm-cart-header p { font-size: var(--lp-fs-1); margin: 0 0 8px; }
#cart .lm-checkout-progress { gap: 4px; flex-wrap: wrap; }
#cart .lm-checkout-progress span { font-size: 13px; color: var(--lp-muted); }
#cart .lm-checkout-progress span.is-active { color: var(--lp-ink); font-weight: 700; }
#cart .product-line-grid .price, #cart .product-line-grid .product-price, #cart .price-col .price,
#js-cart-sidebar .product-price, #js-cart-sidebar .price, #blockcart-modal .product-price { color: var(--lp-ink) !important; }
#cart .product-prices .regular-price, #js-cart-sidebar .regular-price { color: var(--lp-muted); text-decoration: line-through; font-weight: 400; }
#cart .product-line-grid .price-col .product-price { font-weight: 700; }
#cart .qty-col::before { content: "Qty"; display: inline-block; margin-right: 6px; font-size: 12px; font-weight: 700; color: var(--lp-muted); vertical-align: middle; }
#cart .product-quantity-touchspin .input-group { display: inline-flex; width: auto; vertical-align: middle; }
#cart .lp-cart-avail { margin: 4px 0 0; }
#cart .lp-cart-avail .lp-stock { font-size: 12px; white-space: normal; }
#cart .cart-detailed-totals .cart-products-count, #cart .lp-cart-delivery-note { display: none; }
.alert-info, .cart-products-count.alert-info { background: #e8f3ec !important; border-color: #cfe6d8 !important; color: var(--lp-ink) !important; }
#cart .cart-total .value, #checkout .cart-total .value { color: var(--lp-orange-text) !important; font-weight: 700; }
#cart .cart-summary { display: flex; flex-direction: column; }
#cart .cart-summary > .lm-card-heading { order: -1; }
#cart .cart-summary > .cart-detailed-totals { order: 0; }
#cart .cart-summary > .cart-detailed-actions { order: 1; }
#cart .cart-summary > .paypal_payment_form { order: 2; display: block; width: auto; height: auto; margin: 0; padding: 4px 20px 8px; }
#cart .cart-summary > .lm-summary-confidence { order: 3; }
#cart .cart-summary > .paypal_payment_form::before { content: "Or pay with PayPal"; display: block; margin: 0 0 6px; text-align: center; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--lp-muted); }
#cart .cart-summary > .paypal_payment_form > div, #cart .cart-summary .paypal-buttons { width: 100% !important; max-width: 100% !important; }
#cart .cart-summary .cart-detailed-actions { margin-left: 0 !important; margin-right: 0 !important; width: auto; padding-left: 20px; padding-right: 20px; }
#cart .cart-detailed-actions .btn { width: 100%; border-radius: var(--lp-radius); background: var(--lp-orange) !important; border-color: var(--lp-orange) !important; color: var(--lp-ink) !important; min-height: 52px; }
#cart .cart-detailed-actions .btn * { color: inherit; }
#cart .lm-summary-confidence span, #checkout .lm-summary-confidence span { display: flex; align-items: flex-start; gap: 6px; font-size: 13px; line-height: 1.4; }
#cart .lm-summary-confidence a { color: var(--lp-ink); font-weight: 700; }
#cart .block-promo :is(.promo-code-button > a, .collapse-button), #checkout .promo-code-button > a { min-height: 44px; display: inline-flex; align-items: center; }
#cart .cart-summary { scroll-margin-top: calc(var(--lp-sticky-top) + 12px); }
#cart a.remove-from-cart { color: var(--lp-muted); }

/* ---------- Checkout ---------- */
#checkout .lm-checkout-intro { padding: 16px 20px; }
#checkout .lm-checkout-intro h1 { font-size: var(--lp-fs-4); margin: 0 0 4px; }
#checkout .lm-checkout-assurance { display: flex; flex-wrap: wrap; gap: 6px; }
#checkout .lm-checkout-assurance span { font-size: 13px; min-height: 36px; }
#checkout .checkout-step { border-color: var(--lp-line) !important; }
#checkout .checkout-step.-unreachable { border: 0 !important; height: 0; min-height: 0; padding: 0 !important; margin: 0 !important; overflow: hidden; }
#checkout .step-part .part-text span { color: var(--lp-muted); font-size: 12px; }
#checkout .step-part.current .part-text span { color: var(--lp-ink); font-weight: 700; }
#checkout .step-part.current :is(.circle, .position) { background: var(--lp-orange) !important; border-color: var(--lp-orange) !important; color: var(--lp-ink) !important; }
#checkout .step-part .line { background: #d9dcd9; }
#checkout .step-part.complete .line { background: var(--lp-orange); }
#checkout .checkout-step .step-number, #checkout .checkout-step.-current .step-title { color: var(--lp-ink); }
#checkout .forgot-password a, #checkout a.text-danger { color: var(--lp-ink) !important; font-family: inherit !important; display: inline-flex; align-items: center; min-height: 44px; }
/* guests first: the "Order as a guest" button moves above the sign-in form and becomes the primary action */
#checkout #checkout-login-form.personal-form { display: flex; flex-direction: column; }
#checkout #checkout-login-form > .text-center { order: -1; margin: 0 0 16px !important; text-align: left !important; }
#checkout #checkout-login-form > .text-center::before { content: "No account needed"; display: block; margin: 0 0 8px; font-weight: 700; }
#checkout #checkout-login-form > .text-center .js-switch-personal-form { display: inline-flex; width: 100%; min-height: 52px; background: var(--lp-orange) !important; border-color: var(--lp-orange) !important; color: var(--lp-ink) !important; border-radius: var(--lp-radius); font-weight: 700; }
#checkout #checkout-login-form > .page-subheading { padding-top: 12px; border-top: 1px solid var(--lp-line); }
#checkout .checkout-step .form-group.row > :is(.col-lg-3, .col-lg-6) { flex: 0 0 100%; max-width: 100%; }
#checkout .checkout-step .form-control-label { font-weight: 700; }
#checkout .checkout-step .form-control-comment:empty { display: none; }
#checkout .checkout-step .form-footer .text-center { text-align: left !important; }
#checkout .checkout-step .btn.continue { min-height: 48px; width: 100%; max-width: 360px; }
#checkout #field-password + .input-group-btn .btn { min-width: 60px; min-height: 48px; }
body#checkout header a, body#checkout .checkout-header a, body#checkout .checkout-footer-content a { display: inline-flex; align-items: center; min-height: 44px; }
#checkout .lm-summary-details summary, #checkout .lm-summary-toggle { min-height: 44px; display: flex; align-items: center; cursor: pointer; }
@media (max-width: 991.98px) {
  #checkout .lm-checkout-intro p { display: none; }
  #checkout .lm-checkout-grid > .cart-grid-body { order: 0 !important; }
  #checkout .lm-checkout-grid > .cart-grid-right { order: 1 !important; }
}

/* ---------- Contact ---------- */
#contact #notifications .alert.lp-hidden { display: none; }
#contact .lpd-h1, #contact .lpd-h2, #contact .lpd-dark h1, #contact .lpd-dark h2, #contact .lpcc-form h2 { font-family: inherit !important; font-weight: 700; letter-spacing: 0; }
#contact .lpd-h1 { font-size: var(--lp-fs-4); }
#contact .lpd-h2 { font-size: var(--lp-fs-3); }
#contact .lpcc-head { padding-bottom: 8px; }
#contact .lpd-intro { font-size: var(--lp-fs-2); }
#contact #lpcc-reach { margin: -6px 0 12px; font-size: var(--lp-fs-1); }
#contact .lpcc-opt { color: #5a5048; }
#contact .lpcc-list a, #contact .lpcc-wa a, #contact .lpd-privacy a { display: inline-flex; align-items: center; min-height: 44px; }
#contact .lpcc-list .lpcc-london a { font-weight: 700; }
#contact select#lpcc-topic, #contact .lpd-field :is(input, textarea, select) { min-height: 48px; font-size: 16px; }
#contact textarea#lpcc-message { min-height: 120px; height: 120px; }
#contact .lpd-submit { min-height: 52px; }
@media (min-width: 992px) { #contact .lpcc { align-items: start !important; } }

/* ---------- Delivery / CMS policy page: the theme's home .lp-hero rules leak in; one column, one width ---------- */
#cms .laporsa-info-page .lp-hero {
  display: block !important; position: static; min-height: 0; height: auto; padding: 24px 20px !important;
  border-radius: var(--lp-radius); overflow: visible;
}
#cms .laporsa-info-page .lp-hero > * { position: static !important; grid-column: auto !important; grid-row: auto !important; max-width: 720px; margin-left: 0 !important; padding: 0 !important; transform: none !important; }
#cms .laporsa-info-page .lp-hero h2 { font-size: 24px; line-height: 1.2; margin: 4px 0 8px !important; }
#cms .laporsa-info-page .lp-hero p { margin: 0 0 4px !important; }
#cms .laporsa-info-page .lp-card :is(p, li) { line-height: 1.6; }
#cms .laporsa-info-page .lp-card strong { overflow-wrap: anywhere; }
#cms .laporsa-info-page a[href^="mailto"], #cms .laporsa-info-page a[href^="tel"] { display: inline-block; padding: 11px 0; }
.lp-jump { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 16px; padding: 0; list-style: none; }
.lp-jump a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border: 1px solid var(--lp-line); border-radius: var(--lp-radius); background: var(--lp-light); color: var(--lp-ink); font-weight: 600; text-decoration: none; }
.lp-jump a:hover { border-color: var(--lp-dark); }
@media (min-width: 992px) {
  #cms .page-cms-25, #cms .page-cms-25 ~ *, body#cms #main > h1.page-heading { max-width: 900px; margin-left: auto !important; margin-right: auto !important; }
  #cms .laporsa-info-page .lp-hero { padding: 40px !important; }
}

/* ---------- Home ---------- */
@media (max-width: 767.98px) {
  .laporsa-distribution-banner { padding: 20px 0 !important; }
  .laporsa-distribution-banner h2 { font-size: 22px !important; }
  .laporsa-distribution-banner p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; font-size: var(--lp-fs-1); }
  .lp-home-trust__inner { padding-right: 12px; }
  .lp-trust__pause[aria-pressed] { position: relative; }
}
.lp-trust__pause { min-width: 44px; min-height: 44px; }
.trade-existing-link, .lp-util__tiling { display: inline-flex; align-items: center; min-height: 44px; }
.lp-dept--sale { color: var(--lp-ink); }
.lm-prefooter-quote { background: #fff !important; color: var(--lp-ink) !important; border-color: #fff !important; }
.lm-prefooter a, .lpc-footer a { min-height: 44px; display: inline-flex; align-items: center; }

/* ---------- Clear space for tawk next to sticky bars (the bubble itself is lifted by lp-d10.js) ---------- */
@media (max-width: 767.98px) {
  .lp-buybar { padding-right: 84px; }
  #cart .cart-summary .cart-detailed-actions { padding-right: 20px !important; } /* r3: tawk is lifted above the bar by JS, button is full width */
  #cart .cart-item .product-line-grid-body { padding-right: 8px; }
}

/* ---------- Desktop ---------- */
@media (min-width: 992px) {
  .lpc-bar .lpb-tiling { display: inline-flex; }
  .lp-util { display: block; } /* r2: never collapsed after load (CLS) */
  .lp-header .header-logo img { max-height: 60px; }
  .lp-header .header-wrapper { min-height: 72px; padding: 8px 0; }
  /* listing: 4 columns, no empty sidebar boxes */
  #category #js-product-list .products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #left-column .column-wrapper > :not(:has(a, img, input, li, form)) { display: none; }
  .lp-listing__toolbar #js-product-list-top { flex-wrap: nowrap; }
  /* product: gallery follows the buy box instead of leaving a hole */
  #product .lp-pdp__media { align-self: flex-start; position: sticky; top: calc(var(--lp-sticky-top) + 16px); }
  #product .lp-pdp__grid { align-items: flex-start; }
  #product .lm-product-story-header h2 { font-size: 32px; }
  /* basket */
  #cart .qty-col { min-width: 160px; }
  #cart .product-quantity-touchspin .input-group { overflow: visible; }
  /* checkout header */
  body#checkout #header [class*="secure"], body#checkout .checkout-header [class*="secure"] { white-space: nowrap; min-width: 200px; }
  #checkout .lm-summary-details:not([open]) + .lm-summary-product-list { display: block; }
}

/* ---- design10 r2 ---- */

/* ==========================================================================
   design10 r2
   ========================================================================== */
/* ---------- Desktop top bar: the phone summary link is a duplicate of the desktop items ---------- */
@media (min-width: 992px) {
  .lpc-bar .lpc-bar__m { display: none !important; }
  .lpc-bar .lpb-tiling { display: none !important; }
  .lp-util__inner { min-height: 33px; }
}

/* ---------- Basket badge: top-right corner, outside the icon ---------- */
#header .shopping-cart-module .cart-link { position: relative !important; overflow: visible !important; }
#header .shopping-cart-module :is(.cart-design, .cart-header, .blockcart) { position: static !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
#header .shopping-cart-module a.cart-link, #header .blockcart a.cart-link { background: var(--lp-orange) !important; border-color: var(--lp-orange) !important; color: var(--lp-ink) !important; border-radius: var(--lp-radius) !important; }
#header .shopping-cart-module a.cart-link * { color: var(--lp-ink) !important; }
#header .shopping-cart-module .cart-products-count {
  position: absolute !important; top: -7px !important; right: -7px !important; left: auto !important; bottom: auto !important;
  transform: none !important; margin: 0 !important; padding: 0 5px; width: auto; min-width: 18px; height: 18px; line-height: 18px;
  display: inline-flex; align-items: center; justify-content: center; border-radius: 9px;
  background: #fff !important; color: var(--lp-orange-text) !important; font-size: 11px; font-weight: 700; box-shadow: 0 0 0 1px var(--lp-line);
}

/* ---------- Phone product page: 16px gutter restored for everything in the buy column ---------- */
@media (max-width: 991.98px) {
  #product .lp-pdp__grid > .row { flex: 0 0 100%; width: 100%; max-width: 100%; margin: 0 !important; }
  #product .lp-pdp__grid > .row > .col-12 { padding: 0 10px; box-sizing: border-box; }
  #product .lm-product-title, #product .lp-pdp__meta { padding: 0 10px; }
  #product .lp-pdp__meta .lp-pdp__ref { font-size: 13px; }
  /* sticky Add to basket bar also while the real button is still BELOW the viewport (lp-d10.js sets html.lp-buybar-early) */
  html.lp-buybar-early:not(.has-lpc-sticky) .lp-buybar { transform: none; visibility: visible; }
  html.lp-buybar-early body#product { padding-bottom: calc(var(--lp-buybar-h) + var(--lp-bottom-stack)) !important; }
}
#product .product-attributes .product-manufacturer { display: flex; gap: 6px; align-items: baseline; margin: 0 0 6px; font-size: 14px; color: var(--lp-muted); }
#product .product-attributes .product-manufacturer label { width: auto !important; margin: 0; font-weight: 600; }
#product .product-attributes .product-manufacturer a { color: var(--lp-ink); min-height: 24px; }
#product .lp-waste-note { display: block; margin: 4px 0 0; font-size: 13px; color: var(--lp-muted); }
#product .data-sheet :is(dt, dd)[hidden] { display: none !important; }
#product .social-sharing { margin: 0; min-height: 0; }
#product .social-sharing ul { justify-content: flex-start; margin: 0; }
#product .social-sharing a { display: inline-flex; align-items: center; min-height: 44px; }
#product .lm-product-story-grid:not(:has(.lm-product-spec-card)) > article { grid-column: 1 / -1; width: 100%; max-width: none; }
#product .lp-stock a.lp-wa { margin-left: 4px; }

/* ---------- Stock chips: lead-time text (3-4 weeks, call for lead time) is never a green tick; lp-d10.js re-classes it ---------- */
body .lp-stock--order::before { content: none !important; }

/* ---------- Category: no dead gap, left-aligned H1 ---------- */
#category section.lm-category-hero.has-image, #category .lm-category-hero { padding: 0 !important; margin: 0 !important; min-height: 0 !important; }
#category .lm-category-hero .page-heading, #category h1.js-category-page { text-align: left; margin: 4px 0 8px !important; }
#category .main-content { padding-top: 0 !important; }

/* ---------- Basket: 4 steps in one row on phones, tile coverage line ---------- */
@media (max-width: 767.98px) {
  #cart .lm-checkout-progress { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; align-items: start; min-height: 52px; }
  #cart .lm-checkout-progress > span { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; font-size: 12px; line-height: 1.2; }
  #cart .lm-checkout-progress > span::before, #cart .lm-checkout-progress > span::after { display: none !important; content: none !important; }
  #cart .lm-checkout-progress > span > b { width: 28px; height: 28px; margin: 0; }
}
#cart .lp-cart-coverage:not([hidden]) { display: block; margin: 4px 0 0; font-size: 13px; font-weight: 600; color: var(--lp-ink); }

/* ---------- Checkout: equal steps, no bar behind the current number, sign-in Continue is secondary, stable header ---------- */
@media (max-width: 991.98px) {
  #checkout .checkout-step-order { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
  #checkout .checkout-step-order .step-part { width: auto !important; min-width: 0; }
  #checkout .step-part .part-text span { font-size: 11px; white-space: normal; }
}
#checkout .step-part.current .line { background: #d9dcd9; }
#checkout .step-part.current .circle { border-radius: 50%; }
#checkout .checkout-step .btn.continue { background: #fff !important; border: 2px solid var(--lp-dark) !important; color: var(--lp-ink) !important; }
body#checkout .lp-cohead { display: flex; flex-direction: column; justify-content: center; white-space: nowrap; min-width: 220px; font-size: 14px; line-height: 1.3; }
body#checkout .lp-cohead * { font-size: inherit; white-space: nowrap; }
#checkout .cart-subtotal-shipping .value { color: var(--lp-muted); font-weight: 600; }

/* ---------- Prefooter and bathroom hub: labels were invisible (white on white) ---------- */
.lm-prefooter .lm-prefooter-quote { background: #fff !important; border: 2px solid #fff !important; border-radius: var(--lp-radius); padding: 0 16px; font-weight: 700; }
.lm-prefooter .lm-prefooter-quote, .lm-prefooter .lm-prefooter-quote * { color: var(--lp-ink) !important; }
.lm-prefooter .lm-prefooter-call { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.lp-bath-filter-entry, .lp-bath-filter-entry * { color: var(--lp-ink) !important; }

/* ---------- Contact: one orange primary; staging config notice never paints (no post-load shift) ---------- */
#contact .lpd-submit { background: var(--lp-orange) !important; border-color: var(--lp-orange) !important; color: var(--lp-ink) !important; border-radius: var(--lp-radius); }
#contact #notifications .alert { display: none; } /* contact uses the lpconvert form with its own feedback */

/* ---------- Delivery: jump list without .typo bullets, smaller hero title on phones ---------- */
.lp-jump li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.lp-jump li::before, .lp-jump li::after { display: none !important; content: none !important; }
@media (max-width: 767.98px) { #cms .laporsa-info-page .lp-hero h2 { font-size: 22px; } }

/* ---- design10 r3 ---- */

/* ==========================================================================
   design10 r3
   ========================================================================== */
/* ---------- Top bar: no post-load growth. Phones: fixed 44px bar from first paint; desktop: text-height links (>=24px) ---------- */
@media (max-width: 991.98px) {
  .lpc-bar { height: 44px !important; min-height: 44px; box-sizing: border-box; padding: 0 !important; overflow: hidden; }
  .lpc-bar__in { height: 44px; flex-wrap: nowrap; row-gap: 0; }
  .lpc-bar .lpc-bar__m, .lpc-bar .lpb-wa { min-height: 44px; padding: 0; }
}
@media (min-width: 992px) {
  .lpc-bar :is(.lpc-bar__m, .lpb-wa, .lpb-tiling, .lpc-bar__d, a) { min-height: 0 !important; height: auto; line-height: 18px; }
  .lpc-bar a { display: inline-block; padding: 3px 0; }
  /* utility row: collapsed from first paint (the peach bar already says "Supply & fit with free quotes"); hooks stay in the DOM */
  .lp-util { display: block; height: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; overflow: hidden; visibility: hidden; }
  .lp-util__inner { min-height: 0; }
  /* Sign in: one clean outline */
  #header .user-info, #header .user-info > * { background: transparent !important; box-shadow: none !important; }
  #header .user-info { border: 0 !important; }
  #header .user-info a { border: 1px solid var(--lp-dark) !important; border-radius: var(--lp-radius) !important; background: #fff !important; color: var(--lp-ink) !important; padding: 0 14px; outline: 0; }
  #header .user-info a:focus-visible { outline: 3px solid var(--lp-orange); outline-offset: 2px; }
  #header .user-info a > *, #header .user-info a span, #header .user-info a i { border: 0 !important; box-shadow: none !important; background: transparent !important; outline: 0 !important; }
}

/* ---------- Buttons whose label was invisible (prefooter quote, bathroom hub jump link) ---------- */
.lm-prefooter .lm-prefooter-quote, .lp-bath-filter-entry {
  font-size: 16px !important; line-height: 1.3 !important; letter-spacing: 0 !important; text-indent: 0 !important; text-transform: none !important;
  text-shadow: none !important; opacity: 1 !important; overflow: visible !important; width: auto; min-height: 44px;
  display: inline-flex !important; align-items: center; gap: 8px; padding: 0 18px !important;
  background: #fff !important; color: var(--lp-ink) !important; -webkit-text-fill-color: var(--lp-ink) !important;
  border: 2px solid var(--lp-dark) !important; border-radius: var(--lp-radius) !important; font-weight: 700; text-decoration: none;
}
.lm-prefooter .lm-prefooter-quote { border-color: #fff !important; }
.lm-prefooter .lm-prefooter-quote *, .lp-bath-filter-entry * { font-size: 16px !important; color: inherit !important; -webkit-text-fill-color: inherit !important; opacity: 1 !important; }
.lm-prefooter .lm-prefooter-quote::before, .lm-prefooter .lm-prefooter-quote::after, .lp-bath-filter-entry::before, .lp-bath-filter-entry::after { content: none !important; }

/* ---------- Checkout step bar: one circle-number style (same as the basket), labels never overlap ---------- */
#checkout .checkout-step-order { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 12px 8px; }
#checkout .checkout-step-order .step-part { width: auto !important; min-width: 0; margin: 0 !important; padding: 0; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; background: transparent !important; }
#checkout .step-part .part-icon { position: relative; display: flex; justify-content: center; width: 100%; height: auto !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
#checkout .step-part :is(.line, .circle) { display: none !important; }
#checkout .step-part .edit { position: absolute; inset: 0; width: 100% !important; height: 100% !important; margin: 0; opacity: 0; z-index: 1; background: transparent !important; }
#checkout .step-part .position {
  position: static !important; display: inline-flex !important; align-items: center; justify-content: center; width: 28px !important; height: 28px !important;
  margin: 0; padding: 0; border-radius: 50% !important; border: 0 !important; background: #e9ebe9 !important; color: var(--lp-muted) !important; font-size: 13px; font-weight: 700; line-height: 1;
}
#checkout .step-part.current .position { background: var(--lp-orange) !important; color: var(--lp-ink) !important; }
#checkout .step-part.complete .position { background: var(--lp-dark) !important; color: #fff !important; }
#checkout .step-part .part-text { width: 100%; height: auto !important; }
#checkout .step-part .part-text span { display: block; white-space: normal !important; overflow-wrap: anywhere; font-size: 12px; line-height: 1.25; color: var(--lp-muted); }
#checkout .step-part.current .part-text span { color: var(--lp-ink); font-weight: 700; }
/* phones: form first (the theme grid ignored flex order), compact intro, no "Almost there" */
@media (max-width: 991.98px) {
  #checkout .lm-checkout-grid { display: flex !important; flex-direction: column !important; grid-template-columns: none !important; grid-template-areas: none !important; }
  #checkout .lm-checkout-grid > .cart-grid-body, #checkout .lm-checkout-grid > .cart-grid-right { grid-area: auto !important; grid-row: auto !important; grid-column: auto !important; flex: 0 0 auto; width: 100%; max-width: 100%; }
  #checkout .lm-checkout-intro { padding: 10px 16px; }
  #checkout .lm-checkout-intro .lm-cart-kicker { display: none; }
  #checkout .lm-checkout-intro h1 { font-size: var(--lp-fs-3); }
  #checkout .lm-checkout-assurance span { min-height: 0; padding: 4px 10px; font-size: 12px; }
  #checkout .lm-summary-products .cart-summary-top:empty { display: none; }
}
body#checkout .lm-checkout-header-trust { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
body#checkout .lm-checkout-header-trust span { display: flex; flex-direction: column; line-height: 1.2; }
body#checkout .lm-checkout-header-trust strong { font-size: 14px; }
body#checkout .lm-checkout-header-trust small { font-size: 12px; color: var(--lp-muted); }

/* ---------- Product page: reserve the PayPal slot (no 30px jump when JS moves it), stable desktop gallery, old price unit, calmer help block ---------- */
#product .lm-paypal-inline { min-height: 68px; }
@media (min-width: 992px) { #product .lp-pdp__gallery .product-cover { aspect-ratio: 1 / 1; } }
#product .lp-per-tile-price .previous-price .regular-price::after { content: " / tile"; font-size: 13px; text-decoration: none; }
#product .lm-product-rich-text :is(p, li) { font-size: var(--lp-fs-2) !important; line-height: 1.55; }
#product .lpc-pi a:not([href^="tel"]):not([href*="wa.me"]):not([href*="whatsapp"]) { color: var(--lp-ink); font-weight: 600; }
#product .lpc-pi a { display: inline-block; padding: 6px 0; }
#product .cmtaps_pdtext :is(tr, td, th, div, p, span) { background: transparent !important; }
#product .cmtaps_pdtext tr:nth-child(even) { background: #f7f7f5 !important; }
/* non-tile products: quantity and Add to basket on one row */
#product .lp-purchase-controls:not(:has(.lp-tile-order:not([hidden]))) { display: grid; grid-template-columns: minmax(150px, 200px) minmax(0, 1fr); gap: 8px 12px; align-items: end; }
#product .lp-purchase-controls:not(:has(.lp-tile-order:not([hidden]))) .product-quantity-touchspin { grid-column: 1; grid-row: 1; max-width: none; }
#product .lp-purchase-controls:not(:has(.lp-tile-order:not([hidden]))) .add { grid-column: 2; grid-row: 1; align-self: end; margin: 0; }
#product .lp-purchase-controls:not(:has(.lp-tile-order:not([hidden]))) :is(.lp-purchase-total, .lp-order-notes, .product-minimal-quantity, .lp-tile-order) { grid-column: 1 / -1; }

/* ---------- Cards: button on one line, no grey fixed-height title box ---------- */
body .lp-card .buttons-sections .btn, body .product-miniature .buttons-sections .btn { font-size: 14px !important; white-space: nowrap !important; padding: 0 4px !important; min-height: 44px; line-height: 1.2; }
.lp-card .second-block, .lp-card .lp-card__title { background: none !important; height: auto !important; }
.lp-card .lp-card__title { min-height: 2.6em; padding: 0; }

/* ---------- Bathroom hub: compact on phones so products arrive sooner ---------- */
@media (max-width: 767.98px) {
  #category .lp-bath-intro { padding: 10px 0 4px; }
  #category .lp-bath-intro :is(span, h1, p) { width: 100%; max-width: none; }
  #category .lp-bath-intro .lm-eyebrow { display: none; }
  #category .lp-bath-intro p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 2px 0 0; }
  #category .lp-bath-section-heading { font-size: var(--lp-fs-2); margin: 10px 0 6px; }
  #category .lp-bath-shopping-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  #category .lp-bath-card { display: flex; flex-direction: column; height: auto; }
  #category .lp-bath-card-photo { height: 64px !important; min-height: 0; aspect-ratio: auto; }
  #category .lp-bath-card-label { min-height: 44px; padding: 4px 6px; font-size: 13px; line-height: 1.2; display: flex; align-items: center; }
  #category .lp-bath-card-label span { display: none; }
  #category .lp-bath-results { margin-top: 12px; }
}
@media (min-width: 992px) { #category .lp-bath-intro { min-height: 0; padding: 16px 24px; } }

/* ---------- Basket: item + total + CTA on the first phone screen; sticky summary on desktop; names wrap ---------- */
@media (max-width: 767.98px) {
  body#cart .breadcrumb-wrapper { display: none; }
  #cart .lm-cart-header { padding: 8px 16px; }
  #cart .lm-cart-header :is(.lm-cart-kicker, p) { display: none; }
  #cart .lm-cart-header .page-heading { font-size: var(--lp-fs-3); margin: 0 0 6px; }
  #cart .lm-cart-header .lm-checkout-progress { min-height: 0; }
  #cart .lm-card-heading { padding-top: 10px; padding-bottom: 10px; }
}
#cart .product-line-grid .product-name, #cart .product-line-grid .product-name a { white-space: normal; overflow: visible; overflow-wrap: anywhere; }
#cart .cart-detailed-actions a.btn.btn-primary { display: flex !important; width: 100% !important; max-width: none !important; box-sizing: border-box; }
@media (min-width: 992px) {
  #cart .lm-cart-grid { align-items: flex-start; }
  #cart .cart-grid-right .cart-summary { position: sticky; top: calc(var(--lp-sticky-top) + 16px); }
  #cart .cart-grid-body { align-self: flex-start; }
}

/* ---------- Contact: site font everywhere, styled select, inline privacy link, quick call/WhatsApp buttons, no dead band ---------- */
#contact .lpd, #contact .lpd *, #contact .lpd-form :is(input, select, textarea, button, label) { font-family: inherit !important; }
#contact .lpd-field select {
  -webkit-appearance: none; appearance: none; width: 100%; min-height: 48px; padding: 0 44px 0 14px; border: 1px solid #767676; border-radius: var(--lp-radius);
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 18px;
  color: var(--lp-ink); font-size: 16px;
}
#contact .lpd-field :is(input, textarea) { border: 1px solid #767676; border-radius: var(--lp-radius); background: #fff; color: var(--lp-ink); }
#contact .lpd-privacy, #contact .lpcc-wa { display: block; }
#contact .lpd-privacy a, #contact .lpcc-wa a { display: inline !important; min-height: 0; padding: 11px 2px; text-decoration: underline; text-underline-offset: 2px; font-weight: 700; color: inherit; }
#contact .lpcc-wa a { color: #0f7a3d; white-space: nowrap; }
#contact .lp-contact-quick { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0 0 16px; }
#contact .lp-contact-quick .lp-btn { padding: 0 10px; font-size: 15px; }
#contact .lpd-eyebrow, #contact .lpcc-l { color: var(--lp-orange-hi); font-size: 14px; }
#contact .lpcc-opt, #contact .lpcc-hint { color: #4a4036; }
#contact :is(#wrapper, .main-content, #content-wrapper, .center-wrapper, #main, .page-content) { padding-bottom: 0 !important; margin-bottom: 0 !important; }
#contact .lpd-dark { margin-bottom: 0 !important; }
#contact .page-footer:empty { display: none; }
@media (max-width: 767.98px) { #contact .lpcc-head { padding-top: 16px; } #contact .lpd-intro { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; } }

/* ---------- Home and misc polish ---------- */
.lp-section__head a { display: inline-flex; align-items: center; min-height: 44px; }
@media (min-width: 992px) {
  .lp-hero__chips a { border: 0; padding: 0 12px 0 0; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
  .lp-hero__chips a:hover { background: none; text-decoration-thickness: 2px; }
  .lp-trust__list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .lp-trust__item { justify-content: center; }
}
.lp-trust__item a { text-decoration: underline; text-underline-offset: 2px; }
#cms .laporsa-info-page .lp-card h3 { font-size: 18px; margin-top: 24px; }
#cms .laporsa-info-page .lp-card h2 { font-size: 22px; }
.lp-jump a:focus-visible, .lp-jump a:hover { background: var(--lp-dark); color: #fff; border-color: var(--lp-dark); }

/* ---- design10 r4 ---- */

/* ==========================================================================
   design10 r4
   ========================================================================== */
/* ---------- REGRESSION: non-tile products on phones = stepper row, then full-width 52px Add to basket ---------- */
@media (max-width: 767.98px) {
  #product .lp-purchase-controls:not(:has(.lp-tile-order:not([hidden]))) { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  #product .lp-purchase-controls:not(:has(.lp-tile-order:not([hidden]))) .product-quantity-touchspin { grid-column: 1; grid-row: 1; max-width: 200px; }
  #product .lp-purchase-controls:not(:has(.lp-tile-order:not([hidden]))) .add { grid-column: 1; grid-row: 2; width: 100%; }
  #product .product-add-to-cart .add-to-cart { white-space: nowrap; min-height: 52px; width: 100% !important; }
}
#product .product-add-to-cart .add-to-cart > span:first-of-type { white-space: nowrap; }

/* ---------- tawk: smaller bubble on phones (class set by lp-d10.js), listings/basket keep clear space ---------- */
@media (max-width: 767.98px) {
  iframe.lp-tawk-bubble { transform: scale(.8) !important; transform-origin: 100% 100% !important; }
  #js-product-list .products { padding-bottom: 88px; }
  #cart .cart-overview .cart-items { padding-bottom: 12px; }
  .lm-prefooter .container { padding-bottom: 56px; }
}

/* ---------- Category pages: no dead space above the H1, one-row toolbar on phones ---------- */
@media (max-width: 991.98px) {
  #category .breadcrumb-wrapper, #category nav.breadcrumb, #category .mobile-breadcrumb-wrapper .container { padding: 0 !important; margin: 0 !important; }
  #category .breadcrumb .breadcrumb-item { min-height: 44px; padding: 0 !important; margin: 0 !important; }
  #category :is(#content-wrapper, .center-wrapper, .main-content, #main) { padding-top: 0 !important; margin-top: 0 !important; }
  #category .lm-category-hero .page-heading, #category h1.js-category-page { font-size: 24px; margin: 2px 0 6px !important; }
  #category .lp-bath-intro h1 { font-size: 24px; }
  .lp-listing__toolbar { padding: 0 0 6px; margin: 0 0 6px; }
  .lp-listing__toolbar #js-product-list-top { flex-wrap: nowrap; gap: 8px; align-items: center; }
  .lp-listing__toolbar .lm-products-count { flex: 0 0 auto; }
  .lp-listing__toolbar .lm-products-count strong { font-size: 13px; white-space: nowrap; }
  .lp-listing__toolbar .lm-products-actions { flex: 1 1 auto; min-width: 0; margin-left: auto; justify-content: flex-end; }
  .lp-listing__toolbar .products-sort-order, .lp-listing__toolbar .products-sort-order > div, .lp-listing__toolbar .sort-select { flex: 1 1 auto; min-width: 0; max-width: 200px; }
  .lp-listing__toolbar .products-sort-order .select-title { width: 100%; min-height: 44px; padding: 0 10px; font-size: 14px; }
  #search_filter_toggler { min-height: 44px; padding: 0 12px; }
}
.products-sort-order .select-title { min-width: 0; overflow: hidden; }
.lp-sort-txt { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left; }
.lp-sort-lbl { flex: 0 0 auto; margin-right: 4px; font-weight: 600; color: var(--lp-muted); }

/* ---------- Tile cards: discount badge from the shop's own discount value, "/ tile" readable ---------- */
.lp-card .second-prices { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.lp-card .lp-card-disc { display: inline-block; padding: 1px 6px; border-radius: var(--lp-radius-chip); background: var(--lp-orange); color: var(--lp-ink); font-size: 12px; font-weight: 700; text-decoration: none; }
.lp-card:has(.product-flag.discount) .lp-card-disc { display: none; }
.lp-card .lp-tile-unit { font-size: 13px; color: var(--lp-muted); }

/* ---------- Desktop trust strip: five equal single-line pills ---------- */
@media (min-width: 992px) {
  .lp-trust__list { grid-template-columns: repeat(5, auto); justify-content: space-between; }
  .lp-trust__item { white-space: nowrap; }
}

/* ---------- Product page: one heading style in the info section, compact share row, delivery link, focus on orange buttons ---------- */
#product .lm-product-story-header .lm-eyebrow, #product .lm-product-story-header p { display: none; }
#product .lm-product-story-header { padding-bottom: 0; }
#product .lm-product-section-number { display: none !important; }
#product .cmtaps_pdtext { margin: 0 0 16px !important; padding: 0 !important; }
#product .cmtaps_pdtext table :is(td, th) { padding: 8px 0 !important; vertical-align: top; }
#product .lp-sec-h { display: block !important; margin: 20px 0 8px !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .06em; text-transform: uppercase; color: var(--lp-muted) !important; line-height: 1.3 !important; }
#product .lp-share-row { display: flex; justify-content: flex-end; margin: 8px 0 0; }
#product .lp-share-row .social-sharing a { font-size: 14px; color: var(--lp-muted); }
#product .lp-pdp__assure a.lp-deliv-link { font-weight: 400; text-decoration: underline; text-underline-offset: 2px; }
#product .lpc-pi__sample { list-style: none; padding-left: 0; }
.lp-btn:focus-visible, body .btn-primary:focus-visible, body #product .product-add-to-cart .add-to-cart:focus-visible, body .lp-card .buttons-sections .btn:focus-visible, #cart .cart-detailed-actions .btn:focus-visible { outline: 3px solid var(--lp-dark); outline-offset: 2px; }
#product .scroll-box-arrows :is(.left, .right):focus-visible { outline: 3px solid var(--lp-orange); outline-offset: 2px; }

/* ---------- Phone condensed header: a short logo row ---------- */
@media (max-width: 991.98px) {
  html.lp-condensed .lp-header .header-wrapper { min-height: 0; padding: 4px 0; }
  html.lp-condensed .lp-header .header-logo img { max-height: 30px; }
}

/* ---------- Drawer / modal after Add: View basket + Continue shopping ---------- */
.lp-drawer-actions { display: grid; gap: 8px; padding: 0 16px 16px; }
#blockcart-modal .lp-drawer-actions { padding: 8px 0 0; }
.lp-drawer-actions .lp-btn { width: 100%; min-height: 48px; }

/* ---------- Basket / checkout: contrast, Show button, collapsed sign-in, footer help line ---------- */
#checkout .promo-code-button > a, #checkout .collapse-button { color: var(--lp-orange-text) !important; font-size: 15px; }
#checkout .lm-summary-show, #checkout .lm-summary-toggle { color: var(--lp-ink) !important; font-size: 14px; text-decoration: underline; text-underline-offset: 2px; }
#checkout #field-password + .input-group-btn .btn { border-radius: 0 var(--lp-radius) var(--lp-radius) 0; background: #fff; border: 1px solid #b9bfbc; border-left: 0; color: var(--lp-ink); font-weight: 700; }
#checkout #checkout-login-form[data-lp-si]:not(.lp-signin-open) > :not(.text-center) { display: none !important; }
#checkout .lp-guest-note { margin: 8px 0 0; font-size: 14px; color: var(--lp-muted); }
#checkout .lp-signin-toggle { display: inline-flex; align-items: center; min-height: 44px; margin: 2px 0 0; padding: 0; border: 0; background: none; color: var(--lp-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
#checkout #checkout-login-form.lp-signin-open .lp-signin-toggle { display: none; }
#checkout .lp-cofoot { margin: 6px 0 0; font-size: 14px; text-align: center; color: var(--lp-muted); }
#checkout .lp-cofoot a { color: var(--lp-ink); font-weight: 600; display: inline-flex; align-items: center; min-height: 44px; }
body#checkout .header-logo a { display: inline-flex; align-items: center; min-height: 44px; }

/* ---------- a11y: closed drawer not focusable, readable breadcrumbs, bigger facet targets, back-to-top colour ---------- */
.lp-mobile-menu:not([open]) > .lp-mobile-panel { display: none !important; }
.breadcrumb .breadcrumb-item a, .breadcrumb .breadcrumb-item .item-name { color: var(--lp-muted); }
.breadcrumb .breadcrumb-item:last-child .item-name { color: var(--lp-ink); }
.lp-tile-filters .facet input[type="checkbox"], .faceted-checkbox input[type="checkbox"] { width: 24px; height: 24px; }
.facet .facet-label, .faceted-checkbox .facet-label { min-height: 44px; }
:is([class*="back-to-top" i], [class*="backtotop" i], [class*="scroll-top" i], [class*="scrolltop" i], [class*="totop" i], [class*="go-top" i], [id*="back-to-top" i], [id*="backtotop" i], [id*="scrolltop" i], [id*="totop" i]) { background: var(--lp-dark) !important; color: #fff !important; border-color: var(--lp-dark) !important; }
:is([class*="back-to-top" i], [class*="backtotop" i], [class*="scroll-top" i], [class*="scrolltop" i], [id*="back-to-top" i], [id*="scrolltop" i]) > * { color: #fff !important; fill: #fff; }

/* ---------- Bathroom hub, contact and delivery intros: sentences finish; quick buttons under the intro ---------- */
@media (max-width: 767.98px) {
  #category .lp-bath-intro p { -webkit-line-clamp: 3; }
  #contact .lpd-intro { display: block; -webkit-line-clamp: unset; overflow: visible; }
  #contact .lp-contact-quick { grid-template-columns: 1fr; }
  #cms .laporsa-info-page .lp-hero { padding: 14px 16px !important; }
  #cms .laporsa-info-page .lp-hero .lp-eyebrow { display: none; }
  #cms .laporsa-info-page .lp-hero h2 { font-size: 20px; margin: 0 0 4px !important; }
  #cms .laporsa-info-page .lp-hero p { font-size: 14px; }
  .lp-jump { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 10px -20px 12px; padding: 0 20px; }
  .lp-jump::-webkit-scrollbar { display: none; }
  .lp-jump li { flex: 0 0 auto; }
  #cms .laporsa-info-page .lp-card { padding: 16px 14px !important; }
}
#contact .lpcc-head .lp-contact-quick { margin: 14px 0 0; max-width: 520px; }
#contact .lp-contact-quick .lp-btn { white-space: nowrap; }

/* ---- design10 r5 ---- */

/* ==========================================================================
   design10 r5
   ========================================================================== */
:root { --lp-btn: #c84e14; --lp-btn-hi: #b5440f; } /* primary fill: white text 4.6:1 */
/* ---------- One primary button: darker orange, white text (cards, PDP, basket, checkout, contact, hero, trade) ---------- */
.lp-btn:not(.lp-btn--light):not(.lp-btn--ghost), body .btn-primary:not(.cart-link), body #product .product-add-to-cart .add-to-cart,
body .lp-card .buttons-sections .btn, body .product-miniature .buttons-sections .btn, body .product-miniature .add-to-cart,
#cart .cart-detailed-actions .btn, #checkout #checkout-login-form > .text-center .js-switch-personal-form, #contact .lpd-submit,
.laporsa-distribution-action .btn, .lp-buybar .lp-btn, #js-cart-sidebar .cart-bottom .btn-primary {
  background: var(--lp-btn) !important; border-color: var(--lp-btn) !important; color: #fff !important; -webkit-text-fill-color: #fff;
}
.lp-btn:not(.lp-btn--light):not(.lp-btn--ghost):hover, body .btn-primary:not(.cart-link):hover, body #product .product-add-to-cart .add-to-cart:hover,
body .lp-card .buttons-sections .btn:hover, body .product-miniature .buttons-sections .btn:hover, #cart .cart-detailed-actions .btn:hover,
#contact .lpd-submit:hover, .lp-buybar .lp-btn:hover { background: var(--lp-btn-hi) !important; border-color: var(--lp-btn-hi) !important; color: #fff !important; }
.lp-btn:not(.lp-btn--light):not(.lp-btn--ghost) *, body .btn-primary:not(.cart-link) *, body #product .product-add-to-cart .add-to-cart *,
body .lp-card .buttons-sections .btn *, body .product-miniature .buttons-sections .btn *, #cart .cart-detailed-actions .btn * { color: #fff !important; -webkit-text-fill-color: #fff; }
#contact .lp-contact-quick .lp-btn--light { background: #0f7a3d !important; border-color: #0f7a3d !important; color: #fff !important; }

/* ---------- Phone product page: the buy column's inner .row/.col-12 (child of the display:contents card) gets the 10px gutter ---------- */
@media (max-width: 991.98px) {
  #product .lm-product-buy-card > .row { margin: 0 !important; width: 100% !important; max-width: 100% !important; flex: 0 0 100%; box-sizing: border-box; }
  #product .lm-product-buy-card > .row > .col-12 { padding: 0 10px !important; flex: 0 0 100%; max-width: 100%; box-sizing: border-box; }
  #product .product-attributes .product-manufacturer { margin: 0 0 4px; }
  /* gallery arrows: 44px at the bottom corners, never over the product centre */
  #product .lp-pdp__gallery .scroll-box-arrows :is(.left, .right) { top: auto !important; bottom: 8px !important; transform: none !important; width: 44px; height: 44px; }
  .lp-pdp__zoom { padding: 0 8px; font-size: 12px; }
}
#product .product-attributes .product-manufacturer a { display: inline-flex; align-items: center; min-height: 44px; }
#product .lp-stock-line .lp-stock a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 2px; }
@media (min-width: 992px) {
  #product .lp-pdp__gallery .product-images { padding-left: 48px !important; padding-right: 48px !important; position: relative; }
  #product .lp-pdp__gallery :is(.product-images .slick-prev, .product-images .thumb-arrow.left, .product-images [class*="prev"]) { left: 2px !important; }
  #product .lp-pdp__gallery :is(.product-images .slick-next, .product-images .thumb-arrow.right, .product-images [class*="next"]) { right: 2px !important; }
}

/* ---------- Phone breadcrumb: Home › … › parent › current (ellipsis), never wider than the screen ---------- */
@media (max-width: 767.98px) {
  ol.breadcrumb, .breadcrumb ol { overflow: hidden !important; flex-wrap: nowrap !important; max-width: 100%; }
  .breadcrumb .breadcrumb-item { flex: 0 0 auto; min-width: 0; }
  .breadcrumb .breadcrumb-item:not(:first-child):not(:nth-last-child(-n+2)) { display: none; }
  .breadcrumb:has(.breadcrumb-item:nth-child(4)) .breadcrumb-item:nth-last-child(2)::before { content: "\203A \2026"; margin: 0 2px 0 6px; color: var(--lp-muted); }
  .breadcrumb .breadcrumb-item:last-child { flex: 1 1 auto; min-width: 0; max-width: none; overflow: hidden; display: inline-flex; align-items: center; }
  .breadcrumb .breadcrumb-item:last-child .item-name { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

/* ---------- Cards: left-aligned, 3-line names, no dead band, neutral 1:1 frame on tile cards, tick spacing ---------- */
.lp-card .second-block, .lp-card .lp-card__title, .lp-card .lp-card__size, .product-miniature .product-name, .product-miniature .second-block, .lp-card .product-availability { text-align: left !important; }
.lp-card .lp-card__title { min-height: 0 !important; margin: 0 0 2px; padding: 2px 0; }
.lp-card .lp-card__title a { -webkit-line-clamp: 3; min-height: 40px; }
.product-miniature h5.product-name a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.lp-card .lp-card__size { min-height: 0; margin: 0; }
.lp-card .product-availability { min-height: 0; margin: 6px 0 0; }
.lp-card .lp-card__foot { padding-top: 8px; }
.lp-card .lp-stock--in::before { content: "\2713\00a0"; }
.lp-card:has(.lp-per-tile-price) .lp-card__media, .lp-card:has(.lp-per-tile-price) .lp-card__media img { background: #f3f2ef !important; }
.lp-card:has(.lp-per-tile-price) .lp-card__media { aspect-ratio: 1 / 1; }
.lp-card:has(.lp-per-tile-price) .lp-card__media img { object-fit: contain !important; width: 100%; height: 100% !important; }

/* ---------- Listing toolbars: one frame; desktop bathroom/tile toolbar on one row ---------- */
.lp-listing__toolbar, #js-product-list-top.lm-products-toolbar { border: 0 !important; box-shadow: none !important; background: transparent !important; border-radius: 0 !important; }
.lp-listing__toolbar { border-bottom: 1px solid var(--lp-line) !important; }
@media (min-width: 992px) {
  .lm-products-toolbar, #js-product-list-top { display: flex !important; flex-wrap: nowrap !important; align-items: center; justify-content: space-between; gap: 16px; padding: 8px 0 !important; }
  .lm-products-toolbar > * { flex: 0 0 auto; min-width: 0; }
  .lm-products-toolbar .lm-products-actions { display: flex; align-items: center; gap: 16px; margin-left: auto; }
  .lm-products-toolbar .lm-products-actions > * { margin-left: 0; }
  .products-sort-order .select-title { border: 1px solid #b9bfbc; }
}
@media (max-width: 767.98px) { #js-product-list .products { padding-bottom: 96px; } }
/* bathroom hub: CSS chevrons instead of "↓" / "▼" glyphs */
.lp-bath-filter-entry > span { font-size: 0 !important; width: 9px; height: 9px; margin: -5px 0 0 2px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.lp-bath-filter-panel > summary, .lp-chev { position: relative; list-style: none; padding-right: 28px; cursor: pointer; }
.lp-bath-filter-panel > summary::-webkit-details-marker { display: none; }
.lp-bath-filter-panel > summary::after, .lp-chev::after { content: ""; position: absolute; right: 10px; top: 50%; width: 9px; height: 9px; margin-top: -7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.lp-bath-filter-panel[open] > summary::after { transform: rotate(-135deg); margin-top: -2px; }
#lp-bath-filters, #search_filters { scroll-margin-top: calc(var(--lp-sticky-top) + 12px); }

/* ---------- Product: hidden empty Description heading (JS sets hidden), 160px stepper, 44px -/+ , centred PayPal divider, spec padding ---------- */
#product .lm-product-section-heading[hidden], #product .lm-product-description-card[hidden] { display: none !important; }
#product .lp-purchase-controls:not(:has(.lp-tile-order:not([hidden]))) .product-quantity-touchspin { max-width: 160px !important; }
@media (min-width: 768px) { #product .lp-purchase-controls:not(:has(.lp-tile-order:not([hidden]))) { grid-template-columns: 160px minmax(0, 1fr); } }
#product .lp-purchase-controls .qty, #product .lp-purchase-controls .bootstrap-touchspin, #cart .product-quantity-touchspin .bootstrap-touchspin { width: 100%; display: flex; flex-wrap: nowrap; }
.bootstrap-touchspin input { flex: 1 1 auto; min-width: 0; width: auto; }
.bootstrap-touchspin .input-group-btn, .bootstrap-touchspin .js-touchspin { flex: 0 0 44px !important; width: 44px !important; min-width: 44px !important; }
.bootstrap-touchspin .input-group-btn .js-touchspin { width: 100% !important; }
#product .lm-paypal-inline { width: 100%; grid-column: 1 / -1; }
#product .lm-paypal-divider { display: flex; align-items: center; gap: 10px; width: 100%; margin: 8px 0; text-align: center; }
#product .lm-paypal-divider::before, #product .lm-paypal-divider::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--lp-line); }
#product .cmtaps_pdtext table :is(td, th) { padding: 8px 12px 8px 0 !important; }
#product .cmtaps_pdtext table :is(td, th):last-child { padding-right: 12px !important; }
/* sticky bar: price never clipped, old price beside it */
.lp-buybar { min-height: 72px; }
.lp-buybar__price { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp-buybar__was { margin-left: 6px; font-size: 13px; font-weight: 400; color: var(--lp-muted); }

/* ---------- Drawer after Add: dim backdrop, equal full-width buttons, 44px remove ---------- */
.lp-drawer-backdrop { position: fixed; inset: 0; z-index: 1040; background: rgba(0,0,0,.45); opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s; }
.lp-drawer-backdrop.is-on { opacity: 1; visibility: visible; }
.st-menu-right { z-index: 1050 !important; }
#js-cart-sidebar .cart-bottom :is(.btn, a.btn, .lp-btn) { display: flex !important; width: 100% !important; max-width: none !important; min-height: 48px; margin: 0 0 8px; box-sizing: border-box; justify-content: center; align-items: center; box-shadow: none !important; border-radius: var(--lp-radius); }
#js-cart-sidebar .lp-drawer-actions { padding: 0; }
#js-cart-sidebar a.remove-from-cart { display: inline-flex !important; align-items: center; justify-content: center; min-width: 44px !important; min-height: 44px !important; }

/* ---------- Header / home: sign-in outline, static trust grid on phones, chip chevrons, wrapping section heads ---------- */
@media (min-width: 992px) {
  #header .user-info a { border: 1px solid #b9bfbc !important; outline: 0 !important; box-shadow: none !important; font-weight: 600; }
  #header .user-info a:focus-visible { outline: 3px solid var(--lp-dark) !important; outline-offset: 2px; }
}
@media (max-width: 767.98px) {
  .lp-trust--rotate .lp-trust__item, .lp-trust--rotate:not(.is-paused) .lp-trust__item { display: flex !important; }
  .lp-trust__list { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
  .lp-trust__item { min-height: 44px; padding: 0 8px; font-size: 13px; line-height: 1.2; }
  .lp-trust__item:last-child { grid-column: 1 / -1; }
  .lp-trust__pause { display: none !important; }
  .lp-home-trust__inner { padding-right: 12px; }
  .lp-section__head { flex-wrap: wrap; }
}
.lp-chips a::after { content: " \203A"; margin-left: 4px; }
.lp-totop, .lp-totop:hover { background: var(--lp-dark) !important; color: #fff !important; opacity: 1 !important; border-radius: 50% !important; width: 44px !important; height: 44px !important; border: 0 !important; box-shadow: 0 2px 8px rgba(0,0,0,.2) !important; }
.lp-totop * { color: #fff !important; fill: #fff !important; }
.lm-prefooter :is(strong, small, p, span) { white-space: normal !important; overflow: visible !important; text-overflow: clip; overflow-wrap: anywhere; }

/* ---------- Basket / checkout ---------- */
@media (min-width: 992px) { #cart .product-line-grid-body { padding-right: 16px; } }
body#checkout .lp-cohead { flex-direction: row !important; align-items: center; justify-content: center; gap: 8px; margin: 0 auto; }
body#checkout .lp-cohead > span { display: flex; flex-direction: column; line-height: 1.2; }
@media (max-width: 767.98px) {
  body#checkout .checkout-header-version .header-logo img { max-height: 40px; }
  body#checkout .checkout-header-version .header-wrapper { flex-wrap: wrap; justify-content: center; gap: 6px 16px; padding: 8px 0; }
  #checkout .lm-checkout-assurance span:first-child { display: none; } /* header lock already says secure */
}
#checkout .promo-code-button > a, #checkout .collapse-button, #cart .block-promo .collapse-button { color: var(--lp-ink) !important; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
#checkout .step-part .part-text span, #checkout .step-part.unreachable .part-text span { color: var(--lp-muted) !important; opacity: 1 !important; }
#checkout .step-part.current .part-text span { color: var(--lp-ink) !important; }
#checkout .forgot-password .text-center, #checkout .form-footer .text-center { text-align: left !important; }
#checkout .lm-summary-products { padding: 12px 16px; }
#checkout .lm-summary-details { margin: 0; }

/* ---------- Delivery: jump list wraps on phones (all four visible, none under the chat bubble) ---------- */
@media (max-width: 767.98px) { .lp-jump { flex-wrap: wrap; overflow: visible; margin: 10px 0 12px; padding: 0; } }

/* ---- design10 r6 ---- */
/* r6 (written by Claude Code after the API credit balance ran out at 01:15 UTC): fixes for the r5 regressions only */
/* checkout sign-in submit showed as an empty pill: force a visible secondary button */
#checkout #login-form .form-control-submit,
#checkout #login-form button[data-link-action="sign-in"] {
  color: #1d2326 !important; -webkit-text-fill-color: #1d2326 !important; background: #fff !important;
  border: 1.5px solid #1d2326 !important; font-size: 16px !important; font-weight: 700 !important;
  line-height: 1.2 !important; min-height: 48px; width: 100%; text-indent: 0 !important; opacity: 1 !important;
  text-transform: none !important; letter-spacing: 0 !important;
}
#checkout #login-form .form-control-submit:hover,
#checkout #login-form .form-control-submit:focus-visible { background: #f4f4f2 !important; outline: 2px solid #1d2326; outline-offset: 2px; }
/* basket phone: the qty group (120px) was narrower than its 3 controls (144px), so "+" was clipped */
#cart .cart-item .bootstrap-touchspin { width: auto !important; max-width: none !important; display: inline-flex !important; flex-wrap: nowrap !important; }
#cart .cart-item .qty-col, #cart .cart-item .product-quantity-touchspin { min-width: 150px !important; width: auto !important; flex: 0 0 auto !important; }
/* the orange "Need a professional tiler?" band competes with the checkout CTA */
body#cart .lm-prefooter, body#checkout .lm-prefooter { display: none !important; }

/* G (7 Nov 2026): server-rendered card stock line and sample route */
.lp-card__stock .lp-stock { white-space: normal; line-height: 1.3; font-size: 12.5px; }
.lp-card .lp-c-cover { flex: 0 0 100%; font-size: 12.5px; color: #5a6670; margin-top: 2px; }
.lp-sample-route { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 14px auto; padding: 12px 16px; max-width: 1200px; border: 1px solid #e3ddd2; border-radius: 12px; background: #faf8f4; font-size: 14px; color: #18232c; }
#product .lp-sample-route { margin: 12px 0; max-width: none; }
.lp-sample-route__t { margin: 0; flex: 1 1 260px; }
.lp-sample-route__b { display: inline-block; padding: 9px 16px; border-radius: 999px; background: #1f7a4d; color: #fff !important; font-weight: 700; text-decoration: none; }
.lp-sample-route__b:hover { background: #17633d; }
