/* Basket + checkout v5 (Claude, 6 Nov). body#cart / body#checkout only. Visual only: steps, shipping, totals text untouched. Undo: remove the link in head.tpl. */
html body:is(#cart,#checkout) { --lp-f: "Laporsa Manrope", "Segoe UI", Arial, sans-serif; background: #fff !important; font-family: var(--lp-f); }
html body:is(#cart,#checkout) #wrapper, html body:is(#cart,#checkout) #content-wrapper, html body:is(#cart,#checkout) .lm-cart-page, html body:is(#cart,#checkout) .lm-checkout-page, html body:is(#cart,#checkout) main { background: #fff !important; }
html body:is(#cart,#checkout) :is(.lm-cart-page,.lm-checkout-page) { padding-top: 4px !important; }
html body:is(#cart,#checkout) .lm-cart-kicker { display: none !important; }
html body:is(#cart,#checkout) :is(.lm-cart-header,.lm-checkout-intro) { margin: 0 0 12px !important; padding: 0 !important; background: none !important; border: 0 !important; text-align: left !important; }
html body:is(#cart,#checkout) :is(.lm-cart-header,.lm-checkout-intro) :is(h1,.page-heading) { margin: 0 !important; font: 800 24px/1.2 var(--lp-f) !important; letter-spacing: -.02em; color: #18232c !important; text-align: left !important; }
@media (min-width: 992px) { html body:is(#cart,#checkout) :is(.lm-cart-header,.lm-checkout-intro) :is(h1,.page-heading) { font-size: 32px !important; } }

/* step tracker: slim */
html body:is(#cart,#checkout) .lm-checkout-progress { margin: 0 0 16px !important; padding: 8px 0 !important; background: none !important; border: 0 !important; border-bottom: 1px solid #e6e8ea !important; border-radius: 0 !important; box-shadow: none !important; }
html body:is(#cart,#checkout) .lm-checkout-progress li, html body:is(#cart,#checkout) .lm-checkout-progress span { font: 600 12.5px/1.2 var(--lp-f) !important; }
html body:is(#cart,#checkout) .lm-checkout-progress :is(i,.lm-step-number,[class*=number],[class*=num]) { width: 26px !important; height: 26px !important; min-width: 26px; font-size: 12px !important; }
html body:is(#cart,#checkout) .lm-checkout-progress .is-active :is(i,.lm-step-number,[class*=number]) { background: #18232c !important; color: #fff !important; }

/* cards: white, 10px, 1px line, no shadow */
html body:is(#cart,#checkout) :is(.light-box-bg,.lm-order-summary,.lm-cart-products-card,.checkout-step-order,.box-bg,.checkout-step,.cart-container) { background: #fff !important; border: 1px solid #e6e8ea !important; border-radius: 10px !important; box-shadow: none !important; }
html body:is(#cart,#checkout) .lm-card-heading, html body:is(#cart,#checkout) :is(.lm-order-summary,.cart-container) h2, html body:is(#cart,#checkout) .step-title { font: 800 18px/1.25 var(--lp-f) !important; color: #18232c !important; letter-spacing: -.01em; text-align: left !important; }
html body:is(#cart,#checkout) .lm-card-heading { padding: 14px 16px !important; border-bottom: 1px solid #e6e8ea !important; margin: 0 !important; }
html body:is(#cart,#checkout) .lm-heading-icon { display: none !important; }

/* totals: left label, right value, one clear total */
html body:is(#cart,#checkout) .cart-summary-line { display: flex !important; justify-content: space-between; align-items: baseline; margin: 0 !important; padding: 10px 0 !important; border: 0 !important; border-bottom: 1px solid #eef0f1 !important; font: 500 14.5px/1.3 var(--lp-f) !important; color: #5b6670 !important; text-align: left !important; }
html body:is(#cart,#checkout) .cart-summary-line .value { font: 700 14.5px/1.3 var(--lp-f) !important; color: #18232c !important; text-align: right !important; }
html body:is(#cart,#checkout) .cart-total { border-top: 1.5px solid #18232c !important; padding-top: 12px !important; }
html body:is(#cart,#checkout) .cart-total :is(.label,.value) { font: 800 19px/1.2 var(--lp-f) !important; color: #18232c !important; }
html body:is(#cart,#checkout) :is(.cart-detailed-totals,.cart-summary-totals) { padding-left: 16px !important; padding-right: 16px !important; }

/* buttons: main orange, secondary ink outline, 10px */
html body:is(#cart,#checkout) #wrapper :is(.btn-primary,.cart-detailed-actions .btn,.step-button-continue .btn,button.continue) { min-height: 48px; border-radius: 10px !important; background: #e95125 !important; border: 0 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; font: 800 15px/1.2 var(--lp-f) !important; box-shadow: none !important; }
html body:is(#cart,#checkout) #wrapper :is(.btn-secondary,.cart-continue-shopping a) { min-height: 44px; border-radius: 10px !important; background: #fff !important; border: 1.5px solid #18232c !important; color: #18232c !important; -webkit-text-fill-color: #18232c !important; font: 700 14px/1.2 var(--lp-f) !important; }
html body:is(#cart,#checkout) :is(.lm-summary-confidence,.lm-checkout-assurance) { background: #f4f2ee !important; border: 0 !important; border-radius: 10px !important; font: 500 13px/1.4 var(--lp-f) !important; }

/* cart lines */
html body#cart .cart-item { border-bottom: 1px solid #e6e8ea; }
html body#cart .product-line-grid :is(.product-line-info a,.label) { font: 700 15px/1.3 var(--lp-f) !important; color: #18232c !important; }
html body#cart .product-line-grid .price { font: 800 16px/1.2 var(--lp-f) !important; color: #18232c !important; }
html body#cart .product-line-grid :is(.qty,.bootstrap-touchspin,input) { border-radius: 10px !important; }

/* checkout forms: one column, 10px inputs, 44px targets */
html body#checkout :is(input[type=text],input[type=email],input[type=tel],input[type=password],select,textarea,.form-control) { min-height: 46px; border: 1px solid #cdd3d7 !important; border-radius: 10px !important; background: #fff !important; font: 400 15px/1.3 var(--lp-f) !important; box-shadow: none !important; }
html body#checkout .form-group { margin-bottom: 14px !important; }
html body#checkout label, html body#checkout .form-control-label { font: 700 14px/1.3 var(--lp-f) !important; color: #18232c !important; }
html body#checkout .form-control-comment { font: 400 12.5px/1.4 var(--lp-f) !important; color: #7b858d !important; }
html body#checkout .checkout-step-order, html body#checkout .checkout-step { border-color: #e6e8ea !important; }
@media (max-width: 991.98px) { html body#checkout .lm-checkout-grid .cart-grid-right { order: -1; } }

/* checkout header: tight logo strip */
html body#checkout header, html body#checkout .lm-checkout-header { padding-top: 8px !important; padding-bottom: 8px !important; margin: 0 !important; min-height: 0 !important; text-align: center; }
html body:is(#cart,#checkout) :is(.lm-card-heading, .lm-card-heading *, .lm-order-summary h2, .lm-order-summary h3, .cart-container h2, .cart-container h3) { font-weight: 800 !important; font-family: var(--lp-f) !important; font-size: 18px !important; color: #18232c !important; }
html body:is(#cart,#checkout) .lm-checkout-assurance, html body:is(#cart,#checkout) .lp-v4-summary-link { font-family: var(--lp-f) !important; }
html body#checkout .lm-checkout-intro h1, html body#checkout .lm-checkout-page h1 { font: 800 24px/1.2 var(--lp-f) !important; }

/* ===== Round 2: checkout header, cart line, totals padding ===== */
html body#checkout .lm-checkout-header { background: #fff !important; border: 0 !important; border-bottom: 1px solid #e6e8ea !important; padding: 0 !important; margin: 0 !important; min-height: 0 !important; box-shadow: none !important; }
html body#checkout .lm-checkout-header .container { padding-top: 0 !important; padding-bottom: 0 !important; }
html body#checkout .lm-checkout-header .header-wrapper { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: space-between !important; gap: 4px 12px !important; padding: 10px 0 !important; margin: 0 !important; min-height: 0 !important; height: auto !important; }
html body#checkout .lm-checkout-header .header-logo { flex: 0 0 auto; margin: 0 !important; padding: 0 !important; }
html body#checkout .lm-checkout-header .header-logo img { max-height: 40px !important; width: auto !important; }
html body#checkout .lm-checkout-header .lp-cohead { order: 5; flex: 1 0 100%; display: flex !important; align-items: center; justify-content: center; gap: 6px; margin: 0 !important; padding: 6px 0 0 !important; text-align: center; font: 700 13px/1.2 var(--lp-f) !important; color: #18232c !important; }
html body#checkout .lm-checkout-header .lp-cohead small { display: none !important; }
html body#checkout .lm-checkout-header .lp-cohead i { font-size: 16px !important; width: auto !important; height: auto !important; }
html body#checkout .lm-checkout-header .lp-s8-checkout-phone { order: 2; margin: 0 0 0 auto !important; padding: 0 !important; display: inline-flex !important; gap: 6px; align-items: baseline; text-decoration: none !important; font: 600 13px/1.2 var(--lp-f) !important; color: #5b6670 !important; }
html body#checkout .lm-checkout-header .lp-s8-checkout-phone strong { font: 800 14px/1.2 var(--lp-f) !important; color: #18232c !important; }
html body#checkout .lm-checkout-header .checkout-header-right { order: 3; margin: 0 !important; padding: 0 !important; font: 700 13px/1.2 var(--lp-f) !important; }
html body#checkout .lm-checkout-header .checkout-header-right summary { min-height: 44px; display: flex; align-items: center; color: #18232c !important; }
@media (min-width: 992px) {
  html body#checkout .lm-checkout-header .lp-cohead { order: 1; flex: 0 0 auto; padding: 0 !important; margin-left: 24px !important; }
  html body#checkout .lm-checkout-header .header-logo { order: 0; }
}
/* cart line: one flat row, no beige quantity box */
html body#cart .product-line-grid-right, html body#cart .product-line-actions, html body#cart .qty-col, html body#cart .price-col { background: transparent !important; border: 0 !important; box-shadow: none !important; }
html body#cart .product-line-grid-right { padding-left: 0 !important; padding-right: 0 !important; }
html body#cart .product-line-grid .product-image img, html body#cart .product-line-grid .img-thumbnail { background: #fff !important; border: 1px solid #e6e8ea !important; border-radius: 10px !important; padding: 4px !important; }
html body#cart .product-quantity-touchspin :is(input,.btn,.bootstrap-touchspin) { background: #fff !important; border: 1px solid #cdd3d7 !important; border-radius: 10px !important; min-height: 44px; }
html body#cart .lp-remove-label, html body#cart .cart-line-product-actions a { color: #5b6670 !important; font: 600 13.5px/1.2 var(--lp-f) !important; }
/* totals: padding inside the card on the checkout summary */
html body#checkout .lm-order-summary :is(.cart-summary-line,.cart-summary-subtotals,.cart-summary-totals) { padding-left: 16px !important; padding-right: 16px !important; }
html body#checkout .lm-order-summary .cart-summary-line { margin: 0 !important; }
@media (max-width: 575.98px) {
  html body#checkout .lm-checkout-header .lp-s8-checkout-phone span { display: none !important; }
  html body#checkout .lm-checkout-header .header-logo img { max-height: 34px !important; }
  html body#checkout .lm-checkout-header { text-align: left !important; }
}
html body#checkout .lm-checkout-header .header-wrapper > * { text-align: left; }
html body#cart .lpc-empty-cart__links a { border: 1.5px solid #18232c !important; color: #18232c !important; -webkit-text-fill-color: #18232c !important; background: #fff !important; border-radius: 10px !important; }
html body#cart .lpc-empty-cart__title { font: 800 20px/1.25 var(--lp-f) !important; }
html body#checkout .lm-checkout-header .header-wrapper { flex-direction: row !important; }
html body#checkout .lm-checkout-header .checkout-header-right { display: block !important; flex: 0 0 auto !important; width: auto !important; }
html body#checkout .lm-checkout-header .header-logo { width: auto !important; }
html body#checkout .lm-checkout-header .lp-s8-checkout-phone { width: auto !important; }
html body#checkout div.checkout-header-version.lm-checkout-header > div.container > div.header-wrapper.d-flex { flex-direction: row !important; flex-wrap: wrap !important; justify-content: space-between !important; align-items: center !important; }
html body#checkout div.checkout-header-version.lm-checkout-header > div.container > div.header-wrapper.d-flex > * { width: auto !important; max-width: none !important; margin-top: 0 !important; margin-bottom: 0 !important; }
html body#checkout div.checkout-header-version.lm-checkout-header > div.container > div.header-wrapper.d-flex > .lp-cohead { width: 100% !important; flex: 1 0 100% !important; }
html body#checkout div.checkout-header-version.lm-checkout-header > div.container > div.header-wrapper.d-flex { height: auto !important; min-height: 0 !important; }
html body#checkout div.checkout-header-version.lm-checkout-header > div.container > div.header-wrapper.d-flex > a.lp-s8-checkout-phone { flex: 0 0 auto !important; width: auto !important; margin-left: auto !important; }
html body#checkout div.checkout-header-version.lm-checkout-header > div.container > div.header-wrapper.d-flex > .header-logo { flex: 0 0 auto !important; }

/* ===== Round 3: checkout steps 2 to 4 (visual only; steps, shipping, payment logic untouched) ===== */
html body#checkout #wrapper .checkout-step { margin: 0 0 12px !important; background: #fff !important; border: 1px solid #e6e8ea !important; border-radius: 10px !important; box-shadow: none !important; overflow: hidden; }
html body#checkout #wrapper .checkout-step.-current, html body#checkout #wrapper .checkout-step.js-current-step, html body#checkout #wrapper .checkout-step.-current.-reachable { border: 1.5px solid #18232c !important; }
html body#checkout #wrapper .checkout-step .step-title, html body#checkout #wrapper .checkout-step h1.step-title { display: flex !important; align-items: center; gap: 10px; margin: 0 !important; padding: 14px 16px !important; background: #fff !important; border: 0 !important; border-bottom: 1px solid #eef0f1 !important; border-radius: 0 !important; font: 800 17px/1.25 var(--lp-f) !important; color: #18232c !important; text-transform: none !important; }
html body#checkout #wrapper .checkout-step.-unreachable .step-title, html body#checkout #wrapper .checkout-step:not(.-current) .step-title { border-bottom: 0 !important; }
html body#checkout #wrapper .checkout-step .lm-step-number { width: 28px !important; height: 28px !important; min-width: 28px; font: 800 13px/28px var(--lp-f) !important; background: #f4f2ee !important; color: #18232c !important; border-radius: 50% !important; text-align: center; }
html body#checkout #wrapper .checkout-step.-current .lm-step-number { background: #18232c !important; color: #fff !important; }
html body#checkout #wrapper .checkout-step .content, html body#checkout #wrapper .checkout-step .step-part { padding: 16px !important; background: #fff !important; border: 0 !important; }
html body#checkout #wrapper .checkout-step .page-subheading, html body#checkout #wrapper .checkout-step .content h2, html body#checkout #wrapper .checkout-step .content h3, html body#checkout #wrapper .checkout-step .content h4 { font: 800 16px/1.3 var(--lp-f) !important; color: #18232c !important; letter-spacing: 0 !important; margin: 0 0 8px !important; background: none !important; padding: 0 !important; border: 0 !important; }
/* delivery */
html body#checkout #wrapper .lp-v4-delivery-guide { margin: 0 0 12px !important; padding: 12px 14px !important; background: #f4f2ee !important; border: 0 !important; border-radius: 10px !important; }
html body#checkout #wrapper .lp-v4-delivery-guide :is(h2,h3,h4,strong) { font: 800 15px/1.3 var(--lp-f) !important; color: #18232c !important; margin: 0 0 4px !important; }
html body#checkout #wrapper .lp-v4-delivery-guide p { margin: 0 !important; font: 400 14px/1.5 var(--lp-f) !important; color: #5b6670 !important; }
html body#checkout #wrapper .delivery-options-list, html body#checkout #wrapper .delivery-options { background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; }
html body#checkout #wrapper .delivery-option { display: flex !important; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0 0 8px !important; padding: 12px 14px !important; background: #fff !important; border: 1px solid #e6e8ea !important; border-radius: 10px !important; }
html body#checkout #wrapper .delivery-option :is(.carrier-name,.carrier-price) { font: 800 15px/1.3 var(--lp-f) !important; color: #18232c !important; }
html body#checkout #wrapper .delivery-option .carrier-price { margin-left: auto; text-align: right; }
html body#checkout #wrapper .delivery-option .carrier-delay { flex: 1 0 100%; font: 400 13.5px/1.4 var(--lp-f) !important; color: #5b6670 !important; }
html body#checkout #wrapper .delivery-option:has(input:checked) { border: 1.5px solid #18232c !important; background: #fafaf8 !important; }
html body#checkout #wrapper .delivery-option [class*="col-"] { flex: 0 1 auto; width: auto !important; max-width: 100% !important; padding: 0 !important; }
/* payment */
html body#checkout #wrapper .payment-options, html body#checkout #wrapper .payment-options.light-box-bg { background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; }
html body#checkout #wrapper .payment-option { margin: 0 0 8px !important; padding: 12px 14px !important; background: #fff !important; border: 1px solid #e6e8ea !important; border-radius: 10px !important; box-shadow: none !important; }
html body#checkout #wrapper .payment-option:has(input:checked) { border: 1.5px solid #18232c !important; }
html body#checkout #wrapper .payment-option label, html body#checkout #wrapper .payment-option .option-text { font: 700 15px/1.3 var(--lp-f) !important; color: #18232c !important; }
html body#checkout #wrapper .lp-s8-payment-logo, html body#checkout #wrapper .option-logo img { max-height: 24px !important; width: auto !important; height: auto !important; object-fit: contain; }
html body#checkout #wrapper .js-conditions-to-approve { background: #f4f2ee !important; border: 0 !important; border-radius: 10px !important; padding: 12px 14px !important; margin: 12px 0 !important; font: 400 14px/1.5 var(--lp-f) !important; color: #5b6670 !important; }
html body#checkout #wrapper .js-conditions-to-approve a { color: #18232c !important; font-weight: 700; }
html body#checkout #wrapper .payment-final .btn, html body#checkout #wrapper .js-payment-confirmation .btn { width: 100% !important; min-height: 50px; }
html body#checkout #wrapper .cart-payment-step-refreshed-info, html body#checkout #wrapper .p-2.alert-success { background: #f4f2ee !important; border: 0 !important; border-radius: 10px !important; color: #18232c !important; font: 500 13.5px/1.4 var(--lp-f) !important; }
/* summary rows wrap instead of breaking labels */
html body#checkout #wrapper .lm-order-summary .cart-summary-line { flex-wrap: wrap !important; gap: 2px 12px; }
html body#checkout #wrapper .lm-order-summary .cart-summary-line .label { flex: 0 0 auto; white-space: nowrap; word-break: normal !important; }
html body#checkout #wrapper .lm-order-summary .cart-summary-line .value { flex: 1 1 0; min-width: 0; text-align: right; overflow-wrap: anywhere; }
@media (min-width: 992px) { html body#checkout div.checkout-header-version.lm-checkout-header > div.container > div.header-wrapper.d-flex { flex-wrap: nowrap !important; } html body#checkout div.checkout-header-version.lm-checkout-header > div.container > div.header-wrapper.d-flex > .lp-cohead { flex: 1 1 auto !important; } html body#checkout div.checkout-header-version.lm-checkout-header > div.container > div.header-wrapper.d-flex > a.lp-s8-checkout-phone { margin-left: 0 !important; } }
