/*
 * Store styles (everything except landing pages). Mobile first. Colours, fonts and shape come only
 * from the --lp-* tokens (tokens.css and the Brand settings).
 */
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
body.lp-store { margin: 0; background: var(--lp-bg); color: var(--lp-text); font-family: var(--lp-font-body); font-size: var(--lp-text-base); line-height: 1.55; -webkit-font-smoothing: antialiased; }
.lp-store img { max-width: 100%; height: auto; display: block; }
.lp-store a { color: var(--lp-primary-ink); }
.lp-store a:hover { color: var(--lp-cta-hover); }
.lp-container { max-width: var(--lp-max); margin: 0 auto; padding-inline: var(--lp-pad); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.lp-skip:focus { clip: auto; width: auto; height: auto; margin: 0; padding: var(--lp-space-3) var(--lp-space-4); background: var(--lp-bg); z-index: 200; left: var(--lp-space-2); top: var(--lp-space-2); }
.lp-section { padding-block: var(--lp-section-y); }
.lp-band--soft { background: var(--lp-bg-soft); }

/* Type and shared components */
.lp-h1, .lp-h2, .lp-h3 { font-family: var(--lp-font-heading); font-weight: var(--lp-heading-weight); color: var(--lp-text); margin: 0 0 var(--lp-space-4); }
.lp-h1 { font-size: var(--lp-text-3xl); line-height: 1.08; letter-spacing: -.01em; }
.lp-h2 { font-size: var(--lp-text-2xl); line-height: 1.15; letter-spacing: -.01em; }
.lp-h3 { font-size: var(--lp-text-lg); line-height: 1.35; }
.lp-lead { font-size: var(--lp-text-md); color: var(--lp-muted); }
.lp-wordmark { font-family: var(--lp-font-heading); font-weight: var(--lp-heading-weight); font-size: var(--lp-text-lg); color: var(--lp-text); text-decoration: none; }
.lp-logo { width: auto; max-width: 140px; max-height: 36px; }
.lp-btn, .lp-store .button, .lp-store button.button, .lp-store a.button, .lp-store input[type="submit"].button, .lp-store .woocommerce a.button, .lp-store .woocommerce button.button { display: inline-flex; align-items: center; justify-content: center; gap: var(--lp-space-2); min-height: var(--lp-btn-h); padding: var(--lp-space-3) var(--lp-btn-pad-x); border: var(--lp-border-w-strong) solid transparent; border-radius: var(--lp-btn-radius); background: var(--lp-cta); color: var(--lp-cta-text); font: var(--lp-btn-weight) var(--lp-text-md)/1.25 var(--lp-font-body); text-align: center; text-transform: var(--lp-btn-transform); letter-spacing: var(--lp-btn-tracking); text-decoration: none; cursor: pointer; }
.lp-btn:hover, .lp-store .button:hover, .lp-store a.button:hover { background: var(--lp-cta-hover); color: var(--lp-cta-text); }
.lp-btn:active, .lp-store .button:active { transform: translateY(1px); }
.lp-store .button.disabled, .lp-store .button:disabled, .lp-btn[disabled] { background: var(--lp-disabled-bg); color: var(--lp-disabled-text); cursor: not-allowed; }
.lp-btn--secondary, .lp-store .button.alt-secondary { background: var(--lp-bg); color: var(--lp-primary-ink); border-color: var(--lp-primary-hover); min-height: 48px; }
.lp-btn--secondary:hover { background: var(--lp-primary-soft); color: var(--lp-primary-ink); }
.lp-btn--xl { min-height: var(--lp-btn-h-xl); width: 100%; }
.lp-badge { display: inline-block; padding: 2px var(--lp-space-2); border-radius: var(--lp-radius-sm); font-size: var(--lp-text-xs); font-weight: 600; line-height: 1.5; text-transform: uppercase; color: #fff; background: var(--lp-primary-ink); }
.lp-badge--sale, .lp-store .onsale { background: var(--lp-sale); }
.lp-store .onsale { position: absolute; top: var(--lp-space-2); left: var(--lp-space-2); z-index: 2; min-width: 0; min-height: 0; padding: 2px var(--lp-space-2); border-radius: var(--lp-radius-sm); color: #fff; font-size: var(--lp-text-xs); font-weight: 600; line-height: 1.5; text-transform: uppercase; }
.lp-stars { --lp-pct: calc(var(--lp-score, 0) / 5 * 100%); display: inline-block; font-size: var(--lp-text-md); letter-spacing: 2px; line-height: 1; background: linear-gradient(90deg, var(--lp-accent) var(--lp-pct), var(--lp-border) var(--lp-pct)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lp-stars::before { content: "★★★★★"; }
.lp-bar { display: block; height: 10px; border-radius: var(--lp-radius-full); background: var(--lp-border); overflow: hidden; }
.lp-bar i { display: block; height: 100%; background: var(--lp-primary); }
.lp-iconbtn { display: inline-grid; place-items: center; position: relative; width: 44px; height: 44px; padding: 0; border: 0; border-radius: var(--lp-radius-sm); background: none; color: var(--lp-text); cursor: pointer; text-decoration: none; }
.lp-iconbtn:hover { background: var(--lp-bg-soft); color: var(--lp-text); }
.lp-linkbtn, .lp-linkbtn { padding: 0; border: 0; background: none; color: var(--lp-primary-ink); font: inherit; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.lp-icon { flex: none; }

/* Forms */
.lp-store input[type="text"], .lp-store input[type="email"], .lp-store input[type="tel"], .lp-store input[type="password"], .lp-store input[type="search"], .lp-store input[type="number"], .lp-store select, .lp-store textarea { width: 100%; min-height: 48px; padding: var(--lp-space-3) var(--lp-space-4); border: var(--lp-border-w-strong) solid var(--lp-border-strong); border-radius: var(--lp-radius-sm); background: var(--lp-bg); color: var(--lp-text); font: inherit; font-size: 16px; }
.lp-store textarea { min-height: 96px; }
.lp-store input:focus, .lp-store select:focus, .lp-store textarea:focus { outline: none; border-color: var(--lp-primary); box-shadow: var(--lp-focus-ring); }
.lp-store label { font-weight: 600; }
.lp-store input[type="checkbox"], .lp-store input[type="radio"] { width: 20px; height: 20px; accent-color: var(--lp-primary); }

/* Announcement bar, header */
.lp-announce { background: var(--lp-primary-ink); color: #fff; font-size: var(--lp-text-sm); text-align: center; }
.lp-announce .lp-container { padding-block: var(--lp-space-2); }
.lp-announce a { color: #fff; }
.lp-site-header { position: sticky; top: 0; z-index: 90; background: var(--lp-bg); border-bottom: var(--lp-border-w) solid var(--lp-border); }
.lp-site-header__inner { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: var(--lp-space-2); min-height: 60px; }
.lp-site-logo { justify-self: center; display: inline-flex; align-items: center; text-decoration: none; }
.lp-nav, .lp-site-header .lp-search { display: none; }
.lp-site-header__tools { display: flex; align-items: center; gap: var(--lp-space-1); }
.lp-cart-count { position: absolute; top: 4px; right: 2px; display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: var(--lp-radius-full); background: var(--lp-sale); color: #fff; font-size: 12px; font-weight: 700; line-height: 1; }
.lp-cart-count[hidden] { display: none; }
.lp-store--checkout .lp-site-header__inner { grid-template-columns: 1fr auto; }
.lp-store--checkout .lp-site-logo { justify-self: start; }
.lp-secure { display: inline-flex; align-items: center; gap: var(--lp-space-2); color: var(--lp-muted); font-size: var(--lp-text-sm); font-weight: 600; }
.lp-search { display: flex; align-items: center; gap: var(--lp-space-1); }
.lp-search input[type="search"] { min-height: 44px; }

/* Menu drawer (checkbox pattern, no JavaScript needed) */
.lp-menu-toggle { position: absolute; opacity: 0; pointer-events: none; }
.lp-scrim { position: fixed; inset: 0; z-index: 110; background: rgba(20, 32, 43, .5); opacity: 0; visibility: hidden; transition: opacity .2s ease-out; }
.lp-drawer { position: fixed; z-index: 120; top: 0; bottom: 0; left: 0; width: 88%; max-width: 360px; display: flex; flex-direction: column; background: var(--lp-bg); box-shadow: var(--lp-shadow-2); transform: translateX(-102%); visibility: hidden; transition: transform .2s ease-out, visibility .2s; overflow-y: auto; }
.lp-menu-toggle:checked ~ .lp-drawer { transform: none; visibility: visible; }
.lp-menu-toggle:checked ~ .lp-scrim { opacity: 1; visibility: visible; }
.lp-menu-toggle:focus-visible ~ .lp-site-header .lp-menu-btn { box-shadow: var(--lp-focus-ring); }
.lp-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: var(--lp-space-2) var(--lp-space-4); border-bottom: var(--lp-border-w) solid var(--lp-border); }
.lp-drawer__search { padding: var(--lp-space-3) var(--lp-space-4); }
.lp-drawer__list, .lp-drawer__sub { list-style: none; margin: 0; padding: 0; }
.lp-drawer__item > a, .lp-drawer__item summary { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 0 var(--lp-space-4); color: var(--lp-text); font-weight: 600; text-decoration: none; border-bottom: var(--lp-border-w) solid var(--lp-border); cursor: pointer; }
.lp-drawer__item summary .lp-icon { transition: transform .15s; }
.lp-drawer__item details[open] summary .lp-icon { transform: rotate(180deg); }
.lp-drawer__sub a { display: flex; align-items: center; min-height: 44px; padding: 0 var(--lp-space-4) 0 var(--lp-space-8); color: var(--lp-text); text-decoration: none; background: var(--lp-bg-soft); border-bottom: var(--lp-border-w) solid var(--lp-border); }
.lp-drawer__foot { margin-top: auto; display: grid; padding: var(--lp-space-3) var(--lp-space-4); background: var(--lp-bg-soft); }
.lp-drawer__foot a { display: flex; align-items: center; gap: var(--lp-space-3); min-height: 44px; color: var(--lp-text); text-decoration: none; }

/* Footer */
.lp-site-footer { margin-top: var(--lp-section-y); padding-block: var(--lp-space-8) var(--lp-space-6); background: var(--lp-footer-bg); color: var(--lp-footer-text); font-size: var(--lp-text-sm); }
.lp-site-footer a, .lp-store .lp-site-footer a { color: var(--lp-footer-text); }
.lp-site-footer__grid { display: grid; gap: var(--lp-space-6); }
.lp-site-footer__brand p { margin: var(--lp-space-3) 0 0; color: var(--lp-footer-muted); }
.lp-site-footer__title { margin: 0 0 var(--lp-space-3); font-family: var(--lp-font-heading); font-size: var(--lp-text-base); }
.lp-site-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--lp-space-1); }
.lp-site-footer__list a { display: inline-block; padding: var(--lp-space-1) 0; }
.lp-site-footer .lp-wordmark { color: var(--lp-footer-text); }
.lp-pay { list-style: none; margin: var(--lp-space-6) 0 0; padding: 0; display: flex; gap: var(--lp-space-2); }
.lp-pay li { padding: 2px var(--lp-space-3); border: var(--lp-border-w) solid var(--lp-footer-muted); border-radius: var(--lp-radius-sm); color: var(--lp-footer-muted); font-size: var(--lp-text-xs); font-weight: 600; text-transform: uppercase; }
.lp-site-footer__legal { display: flex; flex-wrap: wrap; gap: var(--lp-space-2) var(--lp-space-5); margin-top: var(--lp-space-6); padding-top: var(--lp-space-4); border-top: var(--lp-border-w) solid var(--lp-footer-muted); color: var(--lp-footer-muted); }
.lp-site-footer .lp-linkbtn { color: var(--lp-footer-text); }
.lp-store--checkout .lp-site-footer { margin-top: var(--lp-space-8); padding-block: var(--lp-space-5); }
.lp-store--checkout .lp-site-footer__legal { margin-top: 0; padding-top: 0; border-top: 0; }

/* Breadcrumbs, pages, prose, TOC */
.lp-breadcrumbs { margin: var(--lp-space-4) 0; font-size: var(--lp-text-sm); color: var(--lp-muted); }
.lp-breadcrumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--lp-space-1) var(--lp-space-2); }
.lp-breadcrumbs li + li::before { content: "›"; margin-right: var(--lp-space-2); }
.lp-breadcrumbs .woocommerce-breadcrumb { margin: 0; }
.lp-page { padding-bottom: var(--lp-space-8); }
.lp-page__head { margin-bottom: var(--lp-space-5); }
.lp-page__meta { margin: 0; color: var(--lp-muted); font-size: var(--lp-text-sm); display: flex; flex-wrap: wrap; gap: var(--lp-space-3); }
.lp-page__layout { display: grid; gap: var(--lp-space-5); }
.lp-prose { max-width: var(--lp-read); font-size: var(--lp-text-base); line-height: 1.7; hyphens: auto; }
.lp-prose h2 { margin: var(--lp-space-8) 0 var(--lp-space-3); font-family: var(--lp-font-heading); font-weight: var(--lp-heading-weight); font-size: var(--lp-text-xl); line-height: 1.25; scroll-margin-top: 88px; }
.lp-prose h3 { margin: var(--lp-space-6) 0 var(--lp-space-2); font-family: var(--lp-font-heading); font-size: var(--lp-text-lg); }
.lp-prose table { width: 100%; border-collapse: collapse; margin: var(--lp-space-5) 0; display: block; overflow-x: auto; }
.lp-prose th, .lp-prose td { padding: var(--lp-space-3); border: var(--lp-border-w) solid var(--lp-border); text-align: left; }
.lp-prose blockquote { margin: var(--lp-space-5) 0; padding: var(--lp-space-4); background: var(--lp-primary-soft); border-left: 4px solid var(--lp-primary); border-radius: var(--lp-radius-sm); }
.lp-prose img { border-radius: var(--lp-radius-sm); }
.lp-toc { align-self: start; padding: var(--lp-space-4); background: var(--lp-bg-soft); border-radius: var(--lp-radius); }
.lp-toc summary { cursor: pointer; font-weight: 700; }
.lp-toc ol { margin: var(--lp-space-3) 0 0; padding-left: var(--lp-space-5); display: grid; gap: var(--lp-space-2); }
.lp-page__top { margin-top: var(--lp-space-8); }
.lp-woopage { padding-bottom: var(--lp-space-8); }
.lp-woopage__title { margin-top: var(--lp-space-6); }
.lp-postlist { display: grid; gap: var(--lp-space-5); max-width: var(--lp-read); }
.lp-postcard { padding-bottom: var(--lp-space-5); border-bottom: var(--lp-border-w) solid var(--lp-border); }
.lp-postcard a { text-decoration: none; }
.lp-empty { max-width: 560px; display: grid; gap: var(--lp-space-4); }
.lp-404 { text-align: center; padding-block: var(--lp-space-10); display: grid; justify-items: center; gap: var(--lp-space-3); }
.lp-404__code { margin: 0; font-family: var(--lp-font-heading); font-weight: var(--lp-heading-weight); font-size: clamp(5rem, 22vw, 9rem); line-height: 1; color: var(--lp-primary); }
.lp-404 .lp-search { width: 100%; max-width: 420px; }
.lp-cats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--lp-gap); }
.lp-cats a { display: grid; gap: var(--lp-space-2); color: var(--lp-text); text-decoration: none; font-weight: 600; }
.lp-cats__img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--lp-radius); background: var(--lp-bg-soft); }
.lp-home__content { padding-block: var(--lp-section-y) 0; max-width: none; }

/* Cookie banner and preferences */
.lp-cookie { position: fixed; z-index: 150; left: 0; right: 0; bottom: 0; padding: var(--lp-space-5) var(--lp-pad); background: var(--lp-bg); border-top: var(--lp-border-w) solid var(--lp-border); border-radius: var(--lp-radius) var(--lp-radius) 0 0; box-shadow: var(--lp-shadow-2); }
.lp-cookie[hidden], .lp-prefs[hidden] { display: none; }
.lp-cookie__title { margin: 0 0 var(--lp-space-2); font-family: var(--lp-font-heading); font-size: var(--lp-text-lg); }
.lp-cookie p { margin: 0 0 var(--lp-space-4); font-size: var(--lp-text-sm); color: var(--lp-muted); }
.lp-cookie__actions { display: grid; gap: var(--lp-space-2); }
.lp-cookie__actions .lp-btn { width: 100%; }
.lp-prefs { position: fixed; z-index: 160; inset: 0; display: flex; align-items: flex-end; background: rgba(20, 32, 43, .5); }
.lp-prefs__panel { width: 100%; max-height: 92vh; overflow-y: auto; padding: var(--lp-space-5) var(--lp-pad); background: var(--lp-bg); border-radius: var(--lp-radius) var(--lp-radius) 0 0; }
.lp-prefs__list { list-style: none; margin: 0 0 var(--lp-space-5); padding: 0; display: grid; gap: var(--lp-space-3); }
.lp-prefs__list label { display: flex; gap: var(--lp-space-3); align-items: flex-start; padding: var(--lp-space-3); border: var(--lp-border-w) solid var(--lp-border); border-radius: var(--lp-radius-sm); }
.lp-prefs__list small { display: block; font-weight: 400; color: var(--lp-muted); }

@media (min-width: 768px) {
	.lp-site-header__inner { min-height: 64px; grid-template-columns: 44px auto 1fr auto; }
	.lp-site-logo { justify-self: start; }
	.lp-site-header .lp-search { display: flex; }
	.lp-site-header__tools { justify-self: end; }
	.lp-site-header .lp-search input[type="search"] { width: 220px; }
	.lp-site-footer__grid { grid-template-columns: 1.4fr repeat(3, 1fr); }
	.lp-cats { grid-template-columns: repeat(3, 1fr); }
	.lp-cookie__actions { grid-template-columns: repeat(3, auto); justify-content: end; }
	.lp-cookie__actions .lp-btn { width: auto; }
}

@media (min-width: 1080px) {
	.lp-site-header__inner { min-height: 72px; grid-template-columns: auto 1fr auto; }
	.lp-menu-btn { display: none; }
	.lp-nav { display: block; justify-self: center; }
	.lp-nav__list, .lp-nav .menu { list-style: none; margin: 0; padding: 0; display: flex; gap: var(--lp-space-5); }
	.lp-nav li { position: relative; }
	.lp-nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--lp-text); font-weight: 600; text-decoration: none; }
	.lp-nav a:hover { color: var(--lp-primary-ink); }
	.lp-nav .sub-menu { position: absolute; top: 100%; left: 0; z-index: 10; min-width: 220px; margin: 0; padding: var(--lp-space-2); list-style: none; background: var(--lp-bg); border: var(--lp-border-w) solid var(--lp-border); border-radius: var(--lp-radius); box-shadow: var(--lp-shadow-2); display: none; }
	.lp-nav li:hover > .sub-menu, .lp-nav li:focus-within > .sub-menu { display: block; }
	.lp-nav .sub-menu a { display: flex; padding-inline: var(--lp-space-3); font-weight: 400; }
	.lp-page__layout.has-toc { grid-template-columns: 220px minmax(0, var(--lp-read)); gap: var(--lp-space-8); }
	.lp-toc { position: sticky; top: 96px; }
	.lp-cats { grid-template-columns: repeat(6, 1fr); }
	.lp-prefs { align-items: center; justify-content: center; }
	.lp-prefs__panel { width: 560px; border-radius: var(--lp-radius); }
	.lp-cookie { left: var(--lp-space-4); right: auto; bottom: var(--lp-space-4); width: 420px; border: var(--lp-border-w) solid var(--lp-border); border-radius: var(--lp-radius); }
	.lp-cookie__actions { grid-template-columns: 1fr; }
	.lp-cookie__actions .lp-btn { width: 100%; }
}

@media print {
	.lp-announce, .lp-site-header, .lp-site-footer, .lp-toc, .lp-cookie, .lp-prefs, .lp-page__meta button, .lp-page__top { display: none !important; }
	body.lp-store { font-size: 11pt; color: #000; background: #fff; }
	.lp-prose a[href^="http"]::after { content: " (" attr(href) ")"; }
}

/* ---- WooCommerce: notices */
.lp-store .woocommerce-message, .lp-store .woocommerce-info, .lp-store .woocommerce-error { list-style: none; margin: 0 0 var(--lp-space-4); padding: var(--lp-space-3) var(--lp-space-4); border: var(--lp-border-w-strong) solid var(--lp-border-strong); border-left-width: 6px; border-radius: var(--lp-radius-sm); background: var(--lp-bg); display: flex; flex-wrap: wrap; align-items: center; gap: var(--lp-space-2) var(--lp-space-4); }
.lp-store .woocommerce-message { border-color: var(--lp-success); background: var(--lp-success-soft); }
.lp-store .woocommerce-info { border-color: var(--lp-primary); background: var(--lp-primary-soft); }
.lp-store .woocommerce-error { border-color: var(--lp-danger); background: var(--lp-danger-soft); }
.lp-store .woocommerce-error li { margin: 0; }
.lp-store .woocommerce-message .button, .lp-store .woocommerce-info .button { order: 2; margin-left: auto; min-height: 44px; }

/* ---- Shop and category */
.lp-shop { padding-bottom: var(--lp-space-8); }
.lp-shop .woocommerce-products-header__title, .lp-shop .page-title { font-family: var(--lp-font-heading); font-weight: var(--lp-heading-weight); font-size: var(--lp-text-3xl); line-height: 1.08; margin: 0 0 var(--lp-space-3); }
.lp-shop .term-description { margin-bottom: var(--lp-space-4); color: var(--lp-muted); max-width: var(--lp-read); }
.lp-chiprow { list-style: none; margin: 0 0 var(--lp-space-4); padding: 0 0 var(--lp-space-1); display: flex; gap: var(--lp-space-2); overflow-x: auto; scrollbar-width: none; }
.lp-chiprow a { display: block; padding: var(--lp-space-2) var(--lp-space-4); border: var(--lp-border-w) solid var(--lp-border-strong); border-radius: var(--lp-radius-full); color: var(--lp-text); text-decoration: none; font-weight: 600; font-size: var(--lp-text-sm); white-space: nowrap; }
.lp-chiprow a[aria-current] { background: var(--lp-primary-soft); border-color: var(--lp-primary); color: var(--lp-primary-ink); }
.lp-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--lp-space-3); margin-bottom: var(--lp-space-4); }
.lp-toolbar .woocommerce-result-count { margin: 0; color: var(--lp-muted); font-size: var(--lp-text-sm); }
.lp-toolbar .woocommerce-ordering { margin: 0; }
.lp-toolbar .woocommerce-ordering select { width: auto; min-width: 200px; }
.lp-store ul.products { list-style: none; margin: 0 0 var(--lp-space-6); padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--lp-space-5) var(--lp-space-3); }
.lp-store ul.products li.product { position: relative; display: flex; flex-direction: column; margin: 0; }
.lp-store ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; color: var(--lp-text); text-decoration: none; }
.lp-store ul.products li.product img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--lp-radius); background: var(--lp-bg-soft); margin: 0 0 var(--lp-space-3); }
.lp-store .woocommerce-loop-product__title { margin: 0 0 var(--lp-space-1); font-family: var(--lp-font-body); font-weight: 600; font-size: var(--lp-text-base); line-height: 1.3; }
.lp-store ul.products .star-rating { margin-bottom: var(--lp-space-1); }
.lp-store .price { color: var(--lp-text); font-weight: 600; }
.lp-store .price del { color: var(--lp-muted); font-weight: 400; margin-right: var(--lp-space-2); }
.lp-store .price ins { text-decoration: none; color: var(--lp-sale); }
.lp-store ul.products li.product .button { margin-top: var(--lp-space-3); width: 100%; min-height: 48px; font-size: var(--lp-text-base); }
.lp-store ul.products li.product .added_to_cart { display: block; margin-top: var(--lp-space-2); text-align: center; font-size: var(--lp-text-sm); }
.lp-store .star-rating { position: relative; display: inline-block; height: 1em; width: 5.4em; overflow: hidden; line-height: 1; font-size: var(--lp-text-sm); letter-spacing: .1em; color: transparent; }
.lp-store .star-rating::before { content: "★★★★★"; position: absolute; left: 0; top: 0; color: var(--lp-border-strong); letter-spacing: .1em; }
.lp-store .star-rating span { position: absolute; left: 0; top: 0; overflow: hidden; padding-top: 1.5em; height: 0; }
.lp-store .star-rating span::before { content: "★★★★★"; position: absolute; left: 0; top: 0; color: var(--lp-accent); letter-spacing: .1em; }
.lp-store .woocommerce-pagination ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--lp-space-2); }
.lp-store .page-numbers, .lp-store .woocommerce-pagination a, .lp-store .woocommerce-pagination span { display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 var(--lp-space-3); border: var(--lp-border-w) solid var(--lp-border-strong); border-radius: var(--lp-radius-sm); color: var(--lp-text); text-decoration: none; }
.lp-store .page-numbers.current { background: var(--lp-primary-ink); border-color: var(--lp-primary-ink); color: #fff; }
.lp-store .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--lp-space-2); margin-top: var(--lp-space-5); }

/* ---- Product page */
.lp-store.single-product div.product { position: relative; display: grid; gap: var(--lp-space-5); padding-block: var(--lp-space-2) var(--lp-space-8); }
.lp-pgallery { position: relative; min-width: 0; }
.lp-pgallery__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(var(--lp-pad) * -1); background: var(--lp-bg-soft); }
.lp-pgallery__track::-webkit-scrollbar { display: none; }
.lp-pgallery__slide { flex: 0 0 100%; margin: 0; scroll-snap-align: center; }
.lp-pgallery__img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.lp-pgallery__count { margin: var(--lp-space-2) 0 0; color: var(--lp-muted); font-size: var(--lp-text-sm); text-align: right; }
.lp-pgallery__thumbs { list-style: none; margin: var(--lp-space-3) 0 0; padding: 0; display: flex; gap: var(--lp-space-2); overflow-x: auto; }
.lp-pgallery__thumbs a { display: block; width: 64px; border: var(--lp-border-w-strong) solid var(--lp-border); border-radius: var(--lp-radius-sm); overflow: hidden; }
.lp-pgallery__thumbs img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.lp-store .product .summary .product_title { margin: 0 0 var(--lp-space-3); font-family: var(--lp-font-heading); font-weight: var(--lp-heading-weight); font-size: var(--lp-text-2xl); line-height: 1.15; }
.lp-store .product .summary .price { display: block; margin: var(--lp-space-3) 0; font-size: var(--lp-text-xl); }
.lp-yousave { margin: 0 0 var(--lp-space-3); color: var(--lp-success); font-weight: 600; }
.lp-store .woocommerce-product-details__short-description { margin-bottom: var(--lp-space-4); color: var(--lp-muted); }
.lp-benefits { list-style: none; margin: 0 0 var(--lp-space-5); padding: 0; display: grid; gap: var(--lp-space-2); }
.lp-benefits li, .lp-checklist li { position: relative; padding-left: var(--lp-space-7); }
.lp-benefits li::before, .lp-checklist li::before { content: "✓"; position: absolute; left: 0; color: var(--lp-primary-ink); font-weight: 700; }
.lp-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--lp-space-2); }
.lp-buybox { margin-bottom: var(--lp-space-5); }
.lp-store form.cart { display: flex; flex-wrap: wrap; gap: var(--lp-space-3); align-items: stretch; margin: 0; }
.lp-store .quantity { display: inline-flex; }
.lp-store .quantity input.qty { width: 84px; text-align: center; padding-inline: var(--lp-space-2); }
.lp-store .single_add_to_cart_button { flex: 1 1 200px; min-height: var(--lp-btn-h-xl); font-size: var(--lp-text-md); }
.lp-trustbox { padding: var(--lp-space-4); background: var(--lp-bg-soft); border-radius: var(--lp-radius); }
.lp-trustbox__delivery { display: flex; align-items: center; gap: var(--lp-space-2); margin: 0 0 var(--lp-space-3); font-weight: 600; }
.lp-trustbox__delivery .lp-icon { color: var(--lp-primary-ink); }
.lp-accordion { grid-column: 1 / -1; }
.lp-acc { border: var(--lp-border-w) solid var(--lp-border); border-radius: var(--lp-radius-sm); margin-bottom: var(--lp-space-2); background: var(--lp-bg); }
.lp-acc summary { display: flex; justify-content: space-between; align-items: center; min-height: 52px; padding: var(--lp-space-3) var(--lp-space-4); font-weight: 600; }
.lp-acc summary::after { content: "+"; font-size: var(--lp-text-xl); line-height: 1; color: var(--lp-primary-ink); }
.lp-acc[open] summary::after { content: "−"; }
.lp-acc__body { padding: 0 var(--lp-space-4) var(--lp-space-4); }
.lp-acc__body > h2:first-child { display: none; }
.lp-ratingsum { display: grid; gap: var(--lp-space-4); margin-bottom: var(--lp-space-5); }
.lp-ratingsum__avg b { font-family: var(--lp-font-heading); font-size: var(--lp-text-3xl); }
.lp-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--lp-space-2); max-width: 420px; }
.lp-bars li { display: grid; grid-template-columns: 64px 1fr 40px; gap: var(--lp-space-3); align-items: center; font-size: var(--lp-text-sm); }
.lp-store .woocommerce-Reviews-title { font-size: var(--lp-text-lg); }
.lp-store ol.commentlist { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--lp-space-4); }
.lp-store ol.commentlist li .comment_container { display: grid; gap: var(--lp-space-2); }
.lp-store ol.commentlist img.avatar { display: none; }
.lp-store p.stars a { color: var(--lp-accent); font-size: var(--lp-text-xl); text-decoration: none; letter-spacing: .15em; }
.lp-store .related.products, .lp-store .upsells.products { grid-column: 1 / -1; padding-top: var(--lp-space-6); }
.lp-store .related.products > h2, .lp-store .upsells.products > h2 { font-family: var(--lp-font-heading); font-weight: var(--lp-heading-weight); font-size: var(--lp-text-xl); }
.lp-stickyatc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; display: flex; align-items: center; gap: var(--lp-space-3); padding: var(--lp-space-2) var(--lp-pad); background: var(--lp-bg); border-top: var(--lp-border-w) solid var(--lp-border); box-shadow: var(--lp-shadow-1); transition: transform .2s ease-out; }
.lp-stickyatc__info { display: grid; min-width: 0; flex: 1; line-height: 1.25; }
.lp-stickyatc__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--lp-text-sm); color: var(--lp-muted); }
.lp-stickyatc__price { font-weight: 700; }
.lp-stickyatc .lp-btn { min-height: 48px; padding-inline: var(--lp-space-5); }
.lp-js .lp-stickyatc:not(.is-visible) { transform: translateY(140%); visibility: hidden; }

/* ---- Cart */
.lp-shipbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lp-space-3); margin-bottom: var(--lp-space-5); padding: var(--lp-space-3) var(--lp-space-4); background: var(--lp-bg-soft); border-radius: var(--lp-radius); }
.lp-shipbar .lp-icon { color: var(--lp-primary); }
.lp-shipbar__text { flex: 1; font-weight: 600; }
.lp-shipbar .lp-bar { flex-basis: 100%; }
.lp-store .woocommerce-cart-form .shop_table { width: 100%; border-collapse: collapse; }
.lp-store .woocommerce-cart-form thead { display: none; }
.lp-store .woocommerce-cart-form tr.cart_item { display: grid; grid-template-columns: 80px 1fr auto; gap: var(--lp-space-1) var(--lp-space-3); align-items: center; padding: var(--lp-space-4) 0; border-bottom: var(--lp-border-w) solid var(--lp-border); }
.lp-store .woocommerce-cart-form td { display: block; padding: 0; border: 0; }
.lp-store .woocommerce-cart-form td::before { content: none !important; }
.lp-store .woocommerce-cart-form .product-thumbnail { grid-row: 1 / span 3; }
.lp-store .woocommerce-cart-form .product-thumbnail img { width: 80px; height: 80px; object-fit: cover; border-radius: var(--lp-radius-sm); }
.lp-store .woocommerce-cart-form .product-name { font-weight: 600; }
.lp-store .woocommerce-cart-form .product-name a { color: var(--lp-text); text-decoration: none; }
.lp-store .woocommerce-cart-form .product-price { color: var(--lp-muted); font-size: var(--lp-text-sm); }
.lp-store .woocommerce-cart-form .product-quantity { grid-column: 2; }
.lp-store .woocommerce-cart-form .product-quantity input.qty { width: 84px; }
.lp-store .woocommerce-cart-form .product-subtotal { grid-column: 3; grid-row: 1; justify-self: end; font-weight: 700; }
.lp-store .woocommerce-cart-form .product-remove { grid-column: 3; grid-row: 2 / span 2; justify-self: end; }
.lp-store .woocommerce-cart-form .product-remove a.remove { display: grid; place-items: center; width: 44px; height: 44px; color: var(--lp-muted); font-size: var(--lp-text-xl); text-decoration: none; }
.lp-store .woocommerce-cart-form .actions { display: grid; gap: var(--lp-space-3); padding: var(--lp-space-4) 0; }
.lp-store .woocommerce-cart-form .coupon { display: flex; flex-wrap: wrap; gap: var(--lp-space-2); }
.lp-store .woocommerce-cart-form .coupon label { display: none; }
.lp-store .woocommerce-cart-form .coupon input { flex: 1 1 160px; width: auto; }
.lp-store .cart-collaterals { margin-top: var(--lp-space-4); }
.lp-store .cart_totals { padding: var(--lp-space-5); background: var(--lp-bg-soft); border-radius: var(--lp-radius); }
.lp-store .cart_totals h2 { margin: 0 0 var(--lp-space-3); font-family: var(--lp-font-heading); font-size: var(--lp-text-lg); }
.lp-store .cart_totals table { width: 100%; border-collapse: collapse; }
.lp-store .cart_totals th, .lp-store .cart_totals td { padding: var(--lp-space-2) 0; text-align: left; border: 0; vertical-align: top; }
.lp-store .cart_totals td { text-align: right; }
.lp-store .cart_totals .order-total th, .lp-store .cart_totals .order-total td { padding-top: var(--lp-space-3); border-top: var(--lp-border-w) solid var(--lp-border-strong); font-size: var(--lp-text-lg); font-weight: 700; }
.lp-store .cart_totals small.includes_tax { display: block; color: var(--lp-muted); font-weight: 400; font-size: var(--lp-text-sm); }
.lp-store .wc-proceed-to-checkout .checkout-button { width: 100%; min-height: var(--lp-btn-h-xl); margin-top: var(--lp-space-3); }
.lp-store .cart-empty { padding: var(--lp-space-6); text-align: center; background: var(--lp-bg-soft); border-radius: var(--lp-radius); }
.lp-store .return-to-shop { text-align: center; }

@media (min-width: 768px) {
	.lp-store ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--lp-space-6) var(--lp-space-4); }
	.lp-store.single-product div.product { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--lp-space-8); align-items: start; }
	.lp-pgallery__track { margin-inline: 0; border-radius: var(--lp-radius); }
	.lp-store .woocommerce-cart-form tr.cart_item { grid-template-columns: 96px 1fr auto auto auto; }
	.lp-store .woocommerce-cart-form .product-thumbnail { grid-row: auto; }
	.lp-store .woocommerce-cart-form .product-thumbnail img { width: 96px; height: 96px; }
	.lp-store .woocommerce-cart-form .product-quantity { grid-column: auto; }
	.lp-store .woocommerce-cart-form .product-subtotal, .lp-store .woocommerce-cart-form .product-remove { grid-column: auto; grid-row: auto; }
	.lp-store .woocommerce-cart-form .product-name { grid-column: 2; }
	.lp-store .woocommerce-cart-form .actions { grid-template-columns: 1fr auto; align-items: center; }
}

@media (min-width: 1080px) {
	.lp-store ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.lp-store.single-product div.product .summary { position: sticky; top: 96px; }
		.lp-store .cart-collaterals { display: flex; justify-content: flex-end; }
	.lp-store .cart_totals { width: 360px; }
	.lp-stickyatc { display: none; }
}

/* ---- Checkout */
.lp-store--checkout.woocommerce-checkout .lp-woopage__title { font-size: var(--lp-text-2xl); }
.lp-checkout { counter-reset: lp-step; display: grid; gap: var(--lp-space-5); align-items: start; }
.lp-checkout__main { display: grid; gap: var(--lp-space-5); min-width: 0; }
.lp-step { counter-increment: lp-step; padding: var(--lp-space-5); background: var(--lp-bg); border: var(--lp-border-w) solid var(--lp-border); border-radius: var(--lp-radius); }
.lp-step__title { display: flex; align-items: center; gap: var(--lp-space-3); margin: 0 0 var(--lp-space-4); font-family: var(--lp-font-heading); font-weight: var(--lp-heading-weight); font-size: var(--lp-text-lg); }
.lp-step__title::before { content: counter(lp-step); display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--lp-primary-ink); color: #fff; font-size: var(--lp-text-sm); }
.lp-store .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0 var(--lp-space-4); }
.lp-store .form-row { grid-column: span 6; margin: 0 0 var(--lp-space-4); padding: 0; }
.lp-store .form-row-first, .lp-store .form-row-last { grid-column: span 6; }
.lp-store .form-row.lp-street { grid-column: span 4; }
.lp-store .form-row.lp-housenumber { grid-column: span 2; }
.lp-store .form-row label { display: block; margin-bottom: var(--lp-space-1); }
.lp-store .form-row .required { color: var(--lp-danger); text-decoration: none; }
.lp-store .form-row .optional { color: var(--lp-muted); font-weight: 400; }
.lp-store .form-row .description { display: block; margin-top: var(--lp-space-1); color: var(--lp-muted); font-size: var(--lp-text-sm); font-weight: 400; }
.lp-store .woocommerce-input-wrapper { display: block; }
.lp-store .form-row.woocommerce-invalid input, .lp-store .form-row.woocommerce-invalid select { border-color: var(--lp-danger); background: var(--lp-danger-soft); }
.lp-store .form-row.woocommerce-invalid label { color: var(--lp-danger); }
.lp-store .checkout-inline-error-message { display: block; margin-top: var(--lp-space-1); color: var(--lp-danger); font-size: var(--lp-text-sm); font-weight: 600; }
.lp-store .select2-container .select2-selection--single { min-height: 48px; border: var(--lp-border-w-strong) solid var(--lp-border-strong); border-radius: var(--lp-radius-sm); }
.lp-store .select2-container .select2-selection__rendered { line-height: 44px; padding-left: var(--lp-space-4); }
.lp-store .select2-container .select2-selection__arrow { height: 44px; }

/* Choice cards: shipping methods and payment methods */
.lp-shipping-methods { display: grid; gap: var(--lp-space-3); }
.lp-choice, .lp-store .wc_payment_method > label { display: flex; align-items: center; gap: var(--lp-space-3); min-height: 56px; padding: var(--lp-space-3) var(--lp-space-4); border: var(--lp-border-w-strong) solid var(--lp-border-strong); border-radius: var(--lp-radius); background: var(--lp-bg); cursor: pointer; font-weight: 600; }
.lp-choice:has(input:checked), .lp-store .wc_payment_method:has(> input:checked) > label { border-color: var(--lp-primary); background: var(--lp-primary-soft); }
.lp-choice:has(input:focus-visible), .lp-store .wc_payment_method:has(> input:focus-visible) > label { box-shadow: var(--lp-focus-ring); }
.lp-choice__body { display: flex; flex-wrap: wrap; gap: var(--lp-space-1) var(--lp-space-3); justify-content: space-between; flex: 1; }
.lp-note { margin: 0; color: var(--lp-muted); }
.lp-store #payment { background: none; border-radius: 0; }
.lp-store ul.wc_payment_methods { list-style: none; margin: 0 0 var(--lp-space-4); padding: 0; display: grid; gap: var(--lp-space-3); }
.lp-store .wc_payment_method { position: relative; }
.lp-store .wc_payment_method > input { position: absolute; opacity: 0; }
.lp-store .wc_payment_method > label::before { content: ""; flex: none; width: 22px; height: 22px; border: var(--lp-border-w-strong) solid var(--lp-border-strong); border-radius: 50%; background: var(--lp-bg); }
.lp-store .wc_payment_method:has(> input:checked) > label::before { border-color: var(--lp-primary); background: radial-gradient(circle, var(--lp-primary) 0 45%, var(--lp-bg) 50%); }
.lp-store .wc_payment_method img { max-height: 24px; width: auto; margin-left: auto; }
.lp-store .payment_box { margin: var(--lp-space-2) 0 0; padding: var(--lp-space-3) var(--lp-space-4); background: var(--lp-bg-soft); border-radius: var(--lp-radius-sm); color: var(--lp-muted); font-size: var(--lp-text-sm); }
.lp-store .payment_box p { margin: 0; }
.lp-store .woocommerce-terms-and-conditions-wrapper { margin: var(--lp-space-4) 0; }
.lp-store .woocommerce-form__label-for-checkbox { display: flex; align-items: flex-start; gap: var(--lp-space-3); font-weight: 400; }
.lp-store #place_order { width: 100%; min-height: var(--lp-btn-h-xl); font-size: var(--lp-text-md); }
.lp-store .woocommerce-privacy-policy-text { color: var(--lp-muted); font-size: var(--lp-text-sm); }
.lp-reassure { display: flex; align-items: center; justify-content: center; gap: var(--lp-space-2); margin: var(--lp-space-3) 0 0; color: var(--lp-muted); font-size: var(--lp-text-sm); }
.lp-addons .form-row { margin: 0 0 var(--lp-space-2); }

/* Order summary */
.lp-checkout__summary { padding: var(--lp-space-4) var(--lp-space-5); background: var(--lp-bg-soft); border-radius: var(--lp-radius); }
.lp-summary__title { margin: 0; cursor: pointer; font-family: var(--lp-font-heading); font-weight: var(--lp-heading-weight); font-size: var(--lp-text-lg); }
.lp-checkout__summary[open] .lp-summary__title { margin-bottom: var(--lp-space-3); }
.lp-store .woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; }
.lp-store .woocommerce-checkout-review-order-table th, .lp-store .woocommerce-checkout-review-order-table td { padding: var(--lp-space-2) 0; border: 0; text-align: left; vertical-align: top; }
.lp-store .woocommerce-checkout-review-order-table td:last-child { text-align: right; white-space: nowrap; }
.lp-store .woocommerce-checkout-review-order-table .cart_item td { border-bottom: var(--lp-border-w) solid var(--lp-border); padding-block: var(--lp-space-3); }
.lp-store .woocommerce-checkout-review-order-table .product-thumb { width: 64px; padding-right: var(--lp-space-3); }
.lp-store .woocommerce-checkout-review-order-table .product-thumb img { width: 56px; height: 56px; object-fit: cover; border-radius: var(--lp-radius-sm); }
.lp-store .woocommerce-checkout-review-order-table .product-name { font-weight: 600; }
.lp-store .woocommerce-checkout-review-order-table .order-total th, .lp-store .woocommerce-checkout-review-order-table .order-total td { padding-top: var(--lp-space-3); border-top: var(--lp-border-w) solid var(--lp-border-strong); font-size: var(--lp-text-lg); font-weight: 700; }
.lp-store .woocommerce-checkout-review-order-table small.includes_tax { display: block; color: var(--lp-muted); font-weight: 400; font-size: var(--lp-text-sm); }
.lp-store .woocommerce-checkout-review-order-table .cart-discount td { color: var(--lp-success); }
.lp-store .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: var(--lp-space-3); }
.lp-store form.checkout_coupon { display: flex; flex-wrap: wrap; gap: var(--lp-space-2); margin-bottom: var(--lp-space-4); padding: var(--lp-space-4); border: var(--lp-border-w) solid var(--lp-border); border-radius: var(--lp-radius); }
.lp-store form.checkout_coupon .form-row { margin: 0; flex: 1 1 160px; grid-column: auto; }
.lp-store .woocommerce-form-login-toggle .woocommerce-info { margin-bottom: var(--lp-space-3); }

/* ---- Order received */
.lp-store .woocommerce-order-details__title, .lp-store .woocommerce-column__title { font-family: var(--lp-font-heading); font-size: var(--lp-text-lg); }
.lp-store table.shop_table, .lp-store table.woocommerce-table { width: 100%; border-collapse: collapse; margin-bottom: var(--lp-space-5); }
.lp-store table.shop_table th, .lp-store table.shop_table td { padding: var(--lp-space-3); border-bottom: var(--lp-border-w) solid var(--lp-border); text-align: left; }
.lp-store .woocommerce-columns--addresses { display: grid; gap: var(--lp-space-4); }
.lp-store .woocommerce-columns--addresses address { padding: var(--lp-space-4); background: var(--lp-bg-soft); border-radius: var(--lp-radius); font-style: normal; }

/* ---- Account */
.lp-store .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 var(--lp-space-5); padding: 0 0 var(--lp-space-1); display: flex; gap: var(--lp-space-2); overflow-x: auto; scrollbar-width: none; }
.lp-store .woocommerce-MyAccount-navigation a { display: block; padding: var(--lp-space-2) var(--lp-space-4); border: var(--lp-border-w) solid var(--lp-border-strong); border-radius: var(--lp-radius-full); color: var(--lp-text); text-decoration: none; font-weight: 600; font-size: var(--lp-text-sm); white-space: nowrap; }
.lp-store .woocommerce-MyAccount-navigation .is-active a { background: var(--lp-primary-soft); border-color: var(--lp-primary); color: var(--lp-primary-ink); }
.lp-store .woocommerce-orders-table { width: 100%; border-collapse: collapse; }
.lp-store .woocommerce-orders-table thead { display: none; }
.lp-store .woocommerce-orders-table tr { display: grid; gap: var(--lp-space-1); padding: var(--lp-space-3) 0; border-bottom: var(--lp-border-w) solid var(--lp-border); }
.lp-store .woocommerce-orders-table td { display: flex; justify-content: space-between; gap: var(--lp-space-3); padding: 0; border: 0; }
.lp-store .woocommerce-orders-table td::before { content: attr(data-title); color: var(--lp-muted); }
.lp-store mark.order-status { padding: 2px var(--lp-space-3); border-radius: var(--lp-radius-full); background: var(--lp-bg-soft); color: var(--lp-text); font-size: var(--lp-text-sm); font-weight: 600; }
.lp-store .u-columns { display: grid; gap: var(--lp-space-5); }
.lp-store .u-column1, .lp-store .u-column2, .lp-store .woocommerce-form-login, .lp-store .woocommerce-form-register { padding: var(--lp-space-5); border: var(--lp-border-w) solid var(--lp-border); border-radius: var(--lp-radius); }
.lp-store .woocommerce-form-login h2, .lp-store .woocommerce-form-register h2, .lp-store .u-column1 h2, .lp-store .u-column2 h2 { margin-top: 0; font-family: var(--lp-font-heading); font-size: var(--lp-text-xl); }
.lp-store .woocommerce-form-login .form-row, .lp-store .woocommerce-form-register .form-row, .lp-store .woocommerce-EditAccountForm .form-row, .lp-store .woocommerce-address-fields .form-row { grid-column: auto; }
.lp-store fieldset { margin: var(--lp-space-5) 0; padding: var(--lp-space-4); border: var(--lp-border-w) solid var(--lp-border); border-radius: var(--lp-radius); }
.lp-store legend { padding: 0 var(--lp-space-2); font-weight: 700; }
.lp-store .woocommerce-Addresses { display: grid; gap: var(--lp-space-4); }
.lp-store .woocommerce-Address { padding: var(--lp-space-4); background: var(--lp-bg-soft); border-radius: var(--lp-radius); }
.lp-store .woocommerce-Address address { font-style: normal; }

@media (min-width: 768px) {
	.lp-store .form-row-first { grid-column: span 3; }
	.lp-store .form-row-last { grid-column: span 3; }
	.lp-store .form-row.lp-street { grid-column: span 4; }
	.lp-store .form-row.lp-housenumber { grid-column: span 2; }
	.lp-store .woocommerce-columns--addresses, .lp-store .woocommerce-Addresses, .lp-store .u-columns { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1080px) {
	.lp-checkout { grid-template-columns: minmax(0, 1fr) 400px; gap: var(--lp-space-8); }
	.lp-checkout__summary { position: sticky; top: 96px; }
	.lp-checkout__summary > summary { pointer-events: none; list-style: none; }
	.lp-store .woocommerce-MyAccount-navigation { float: left; width: 240px; }
	.lp-store .woocommerce-MyAccount-navigation ul { flex-direction: column; overflow: visible; }
	.lp-store .woocommerce-MyAccount-content { margin-left: 280px; }
	.lp-store .woocommerce-orders-table thead { display: table-header-group; }
	.lp-store .woocommerce-orders-table tr { display: table-row; }
	.lp-store .woocommerce-orders-table td { display: table-cell; padding: var(--lp-space-3); border-bottom: var(--lp-border-w) solid var(--lp-border); }
	.lp-store .woocommerce-orders-table td::before { content: none; }
	.lp-store .woocommerce-orders-table th { padding: var(--lp-space-3); text-align: left; border-bottom: var(--lp-border-w-strong) solid var(--lp-border); }
	.lp-woopage::after { content: ""; display: table; clear: both; }
}

/* ---- Fixes: cart rows, cart totals, extras cards */
/* Cart rows: every cell has an explicit place, so the order of the cells in the markup does not matter. */
.lp-store .woocommerce-cart-form td.product-thumbnail { grid-column: 1; grid-row: 1 / span 3; }
.lp-store .woocommerce-cart-form td.product-name { grid-column: 2; grid-row: 1; }
.lp-store .woocommerce-cart-form td.product-price { grid-column: 2; grid-row: 2; }
.lp-store .woocommerce-cart-form td.product-quantity { grid-column: 2; grid-row: 3; }
.lp-store .woocommerce-cart-form td.product-subtotal { grid-column: 3; grid-row: 1; justify-self: end; }
.lp-store .woocommerce-cart-form td.product-remove { grid-column: 3; grid-row: 2 / span 2; justify-self: end; align-self: center; }
.lp-store .woocommerce-cart-form td.product-remove a.remove { border-radius: var(--lp-radius-full); }
.lp-store .woocommerce-cart-form td.product-remove a.remove:hover { background: var(--lp-bg-soft); color: var(--lp-danger); }
.lp-store .woocommerce-cart-form tr.cart_item td { border-bottom: 0; }
.lp-store .woocommerce-cart-form button[name="update_cart"] { background: var(--lp-bg); color: var(--lp-primary-ink); border-color: var(--lp-primary-hover); }
.lp-store .woocommerce-cart-form button[name="update_cart"]:hover { background: var(--lp-primary-soft); color: var(--lp-primary-ink); }
.lp-store .woocommerce-cart-form button[name="update_cart"][disabled] { background: var(--lp-disabled-bg); color: var(--lp-disabled-text); border-color: transparent; }

@media (min-width: 768px) {
	.lp-store .woocommerce-cart-form tr.cart_item { grid-template-columns: 44px 96px minmax(0, 1fr) auto auto auto; gap: var(--lp-space-3); align-items: center; }
	.lp-store .woocommerce-cart-form td.product-remove { grid-column: 1; grid-row: 1; justify-self: center; }
	.lp-store .woocommerce-cart-form td.product-thumbnail { grid-column: 2; grid-row: 1; }
	.lp-store .woocommerce-cart-form td.product-name { grid-column: 3; grid-row: 1; }
	.lp-store .woocommerce-cart-form td.product-price { grid-column: 4; grid-row: 1; min-width: 72px; text-align: right; }
	.lp-store .woocommerce-cart-form td.product-quantity { grid-column: 5; grid-row: 1; }
	.lp-store .woocommerce-cart-form td.product-subtotal { grid-column: 6; grid-row: 1; min-width: 88px; text-align: right; }
}

/* Cart totals: the generic table rule must not win over the right-aligned amounts. */
.lp-store .cart_totals table.shop_table th, .lp-store .cart_totals table.shop_table td { padding: var(--lp-space-2) 0; border: 0; vertical-align: top; }
.lp-store .cart_totals table.shop_table th { text-align: left; font-weight: 600; width: auto; }
.lp-store .cart_totals table.shop_table td { text-align: right; }
.lp-store .cart_totals table.shop_table tr + tr th, .lp-store .cart_totals table.shop_table tr + tr td { border-top: var(--lp-border-w) solid var(--lp-border); }
.lp-store .cart_totals table.shop_table .order-total th, .lp-store .cart_totals table.shop_table .order-total td { padding-top: var(--lp-space-3); border-top: var(--lp-border-w) solid var(--lp-border-strong); font-size: var(--lp-text-lg); font-weight: 700; }
.lp-store ul.woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--lp-space-2); }
.lp-store ul.woocommerce-shipping-methods li { margin: 0; }
.lp-store ul.woocommerce-shipping-methods label { font-weight: 600; }
.lp-store .woocommerce-shipping-destination { margin: var(--lp-space-2) 0 0; color: var(--lp-muted); font-size: var(--lp-text-sm); text-align: right; }
.lp-store .shipping-calculator-button { font-size: var(--lp-text-sm); }

/* Extras on the checkout: selectable cards like the shipping and payment options. */
.lp-store .lp-addons { display: grid; gap: var(--lp-space-3); }
.lp-store .lp-addons .lp-addon { margin: 0; padding: 0; }
.lp-store .lp-addons .lp-addon label { display: flex; align-items: center; gap: var(--lp-space-3); min-height: 56px; margin: 0; padding: var(--lp-space-3) var(--lp-space-4); border: var(--lp-border-w-strong) solid var(--lp-border-strong); border-radius: var(--lp-radius); background: var(--lp-bg); cursor: pointer; font-weight: 600; }
.lp-store .lp-addons .lp-addon label:has(input:checked) { border-color: var(--lp-primary); background: var(--lp-primary-soft); }
.lp-store .lp-addons .lp-addon label:has(input:focus-visible) { box-shadow: var(--lp-focus-ring); }
.lp-store .lp-addons .lp-addon input[type="checkbox"] { flex: none; width: 22px; height: 22px; margin: 0; }
.lp-store .lp-addons .lp-addon__media { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--lp-radius-sm); background: var(--lp-bg-soft); color: var(--lp-primary); overflow: hidden; }
.lp-store .lp-addons .lp-addon__img { width: 44px; height: 44px; object-fit: cover; }
.lp-store .lp-addons .lp-addon__text { flex: 1; min-width: 0; }
.lp-store .lp-addons .lp-addon__price { flex: none; font-weight: 700; }

/* Payment options: radio dot, icon, then the title. */
.lp-store .wc_payment_method > label::before { order: -2; }
.lp-store .lp-payicon { order: -1; display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: var(--lp-radius-sm); background: var(--lp-bg-soft); color: var(--lp-primary); }
.lp-store .wc_payment_method:has(> input:checked) .lp-payicon { background: var(--lp-bg); }

/* ===== Checkout, aligned with board 05 (C1 to C3) ===== */
.lp-checkout { max-width: 560px; margin-inline: auto; gap: 0; }
.lp-checkout__main { gap: var(--lp-space-6); }
.lp-backlink { display: inline-flex; align-items: center; gap: var(--lp-space-2); margin: 0; color: var(--lp-primary-ink); font-size: var(--lp-text-sm); text-decoration: none; }
.lp-backlink .lp-icon { transform: rotate(180deg); }

/* Steps are plain sections, not cards. */
.lp-step { padding: 0; background: none; border: 0; border-radius: 0; }
.lp-step__title { margin-bottom: var(--lp-space-3); font-size: var(--lp-text-base); }
.lp-step__title::before { width: 24px; height: 24px; background: var(--lp-text); font-size: var(--lp-text-xs); }
.lp-step__title small { color: var(--lp-muted); font-family: var(--lp-font-body); font-weight: 400; font-size: var(--lp-text-sm); }
.lp-step__title--extras { counter-increment: lp-step; margin-top: var(--lp-space-6); }

/* Fields: names side by side, narrow postcode, wide city. */
.lp-store .form-row-first, .lp-store .form-row-last { grid-column: span 3; }
.lp-store #billing_postcode_field { grid-column: span 2; }
.lp-store #billing_city_field { grid-column: span 4; }
.lp-store .form-row label { font-size: var(--lp-text-sm); }
.lp-store #billing_country_field strong { display: block; padding: var(--lp-space-3) var(--lp-space-4); background: var(--lp-bg-soft); border-radius: var(--lp-radius-sm); font-weight: 600; }
.lp-store #billing_country_field label { display: none; }
.lp-optional { grid-column: span 6; margin-bottom: var(--lp-space-3); }
.lp-optional summary { color: var(--lp-primary-ink); font-size: var(--lp-text-sm); font-weight: 600; cursor: pointer; margin-bottom: var(--lp-space-3); }
.lp-optional .form-row { margin-bottom: var(--lp-space-3); }

/* Order summary: collapsible bar on phones and tablets, card on desktop. */
.lp-checkout__summary { margin: 0 calc(var(--lp-pad) * -1) var(--lp-space-5); padding: 0; background: var(--lp-bg); border-radius: 0; border-bottom: var(--lp-border-w) solid var(--lp-border); }
.lp-summary__bar { display: flex; align-items: center; justify-content: space-between; gap: var(--lp-space-3); min-height: 56px; padding: var(--lp-space-3) var(--lp-pad); background: var(--lp-primary-soft); color: var(--lp-primary-ink); font-weight: 600; cursor: pointer; list-style: none; }
.lp-summary__bar::-webkit-details-marker { display: none; }
.lp-summary__label { display: inline-flex; align-items: center; gap: var(--lp-space-2); }
.lp-summary__label .lp-icon:last-child { transition: transform .15s; }
.lp-checkout__summary[open] .lp-summary__label .lp-icon:last-child { transform: rotate(180deg); }
.lp-summary__hide { display: none; }
.lp-checkout__summary[open] .lp-summary__hide { display: inline; }
.lp-checkout__summary[open] .lp-summary__show { display: none; }
.lp-summary-total { color: var(--lp-text); font-size: var(--lp-text-md); font-weight: 700; }
.lp-summary__title { display: none; }
.lp-checkout__summary .woocommerce-checkout-review-order { padding: var(--lp-space-3) var(--lp-pad) var(--lp-space-4); }
.lp-thumbbox { position: relative; display: block; width: 56px; }
.lp-qty-badge { position: absolute; top: -6px; right: -6px; display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: var(--lp-radius-full); background: var(--lp-text); color: #fff; font-size: 12px; font-weight: 700; line-height: 1; }
.lp-store .woocommerce-checkout-review-order-table .product-name .variation { margin: var(--lp-space-1) 0 0; color: var(--lp-muted); font-size: var(--lp-text-sm); font-weight: 400; }
.lp-store .woocommerce-checkout-review-order-table .product-name .variation dt, .lp-store .woocommerce-checkout-review-order-table .product-name .variation dd, .lp-store .woocommerce-checkout-review-order-table .product-name .variation p { display: inline; margin: 0; }
.lp-store .woocommerce-checkout-review-order-table .lp-compare-at { color: var(--lp-muted); font-weight: 400; margin-right: var(--lp-space-1); }
.lp-store .woocommerce-checkout-review-order-table .cart-discount th { color: var(--lp-success); }

/* Payment options: one card with the description inside, icon on the right. */
.lp-store ul.wc_payment_methods .wc_payment_method { border: var(--lp-border-w-strong) solid var(--lp-border-strong); border-radius: var(--lp-radius); background: var(--lp-bg); overflow: hidden; }
.lp-store ul.wc_payment_methods .wc_payment_method:has(> input:checked) { border-color: var(--lp-primary); background: var(--lp-primary-soft); }
.lp-store ul.wc_payment_methods .wc_payment_method:has(> input:focus-visible) { box-shadow: var(--lp-focus-ring); }
.lp-store ul.wc_payment_methods .wc_payment_method > label, .lp-store ul.wc_payment_methods .wc_payment_method:has(> input:checked) > label, .lp-store ul.wc_payment_methods .wc_payment_method:has(> input:focus-visible) > label { border: 0; border-radius: 0; background: transparent; box-shadow: none; min-height: 56px; }
.lp-store ul.wc_payment_methods .payment_box { margin: 0; padding: 0 var(--lp-space-4) var(--lp-space-4) calc(22px + var(--lp-space-3) + var(--lp-space-4)); background: transparent; border-radius: 0; color: var(--lp-text); }
.lp-store ul.wc_payment_methods .payment_box::before { display: none; }
.lp-store .lp-payicon { order: 2; margin-left: auto; width: 40px; height: 32px; background: var(--lp-bg); border: var(--lp-border-w) solid var(--lp-border); }

/* Extras (inside the payment block, before the terms): two cards side by side on wider screens. */
.lp-extras { margin: var(--lp-space-6) 0 var(--lp-space-4); }
.lp-store .lp-addons .lp-addon label { align-items: flex-start; min-height: 0; }
.lp-store .lp-addons .lp-addon input[type="checkbox"] { margin-top: 2px; }
.lp-store .lp-addons .lp-addon__media { width: 28px; height: 28px; margin-top: 0; background: none; }
.lp-store .lp-addons .lp-addon__media .lp-icon { width: 24px; height: 24px; }
.lp-store .lp-addons .lp-addon__text { display: grid; gap: 2px; }
.lp-store .lp-addons .lp-addon__text small { color: var(--lp-muted); font-weight: 400; font-size: var(--lp-text-sm); }

/* Terms, place order. */
.lp-store #place_order::before { content: ""; width: 18px; height: 18px; margin-right: var(--lp-space-2); background: currentColor; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='5' y='11' width='14' height='9' rx='2'/><path d='M8 11V8a4 4 0 0 1 8 0v3'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='5' y='11' width='14' height='9' rx='2'/><path d='M8 11V8a4 4 0 0 1 8 0v3'/></svg>") center / contain no-repeat; }
.lp-store #place_order { display: inline-flex; align-items: center; justify-content: center; }

/* Checkout footer: one centred line. */
.lp-store--checkout .lp-site-footer { background: transparent; color: var(--lp-muted); }
.lp-store--checkout .lp-site-footer a, .lp-store--checkout .lp-site-footer .lp-linkbtn { color: var(--lp-muted); }
.lp-store--checkout .lp-site-footer__legal { justify-content: center; text-align: center; }

@media (min-width: 768px) {
	.lp-store .lp-addons { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1080px) {
	.lp-checkout { max-width: none; margin-inline: 0; grid-template-columns: minmax(0, 640px) 400px; justify-content: center; gap: var(--lp-space-9); align-items: start; }
	.lp-checkout__main { grid-column: 1; grid-row: 1; }
	.lp-checkout__summary { grid-column: 2; grid-row: 1; position: sticky; top: 96px; margin: 0; padding: var(--lp-space-5); background: var(--lp-bg-soft); border: 0; border-radius: var(--lp-radius); }
	.lp-summary__bar { display: none; }
	.lp-summary__title { display: block; margin: 0 0 var(--lp-space-3); cursor: default; }
	.lp-checkout__summary .woocommerce-checkout-review-order { padding: 0; }
}

/* ===== Checkout: contact hints (assets/checkout-contact.js in lp-core) ===== */
.lp-store .lp-contact-msg { display: block; margin-top: var(--lp-space-1); font-size: var(--lp-text-sm); font-weight: 600; }
.lp-store .lp-contact-error .lp-contact-msg { color: var(--lp-danger); }
.lp-store .lp-contact-warning .lp-contact-msg { color: var(--lp-warning); }
.lp-store .lp-contact-warning input.input-text { border-color: var(--lp-warning); }
.lp-store .lp-contact-use { margin-left: var(--lp-space-1); padding: 0; border: 0; background: none; color: var(--lp-primary-ink); font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }

/* Coupon row and form sit in the same column as the checkout. */
.lp-store .lp-couponrow, .lp-store form.checkout_coupon, .lp-store .woocommerce-form-login-toggle, .lp-store form.woocommerce-form-login { max-width: 560px; margin-inline: auto; }
.lp-store .lp-couponrow { margin-bottom: var(--lp-space-3); border-bottom: var(--lp-border-w) solid var(--lp-border); }
.lp-store .lp-couponrow a.showcoupon { display: flex; align-items: center; gap: var(--lp-space-2); min-height: 48px; color: var(--lp-primary-ink); font-weight: 600; text-decoration: none; }
.lp-store form.checkout_coupon { margin-bottom: var(--lp-space-4); padding: var(--lp-space-4); border: var(--lp-border-w) solid var(--lp-border); border-radius: var(--lp-radius); }
.lp-store .lp-coupon { display: flex; flex-wrap: wrap; gap: var(--lp-space-2); }
.lp-store .lp-coupon input { flex: 1 1 160px; width: auto; min-width: 0; }
.lp-store .lp-coupon .button { flex: 0 0 auto; }
.lp-store .woocommerce-form-login-toggle .woocommerce-info { display: block; margin: 0 0 var(--lp-space-3); padding: var(--lp-space-3) 0; border: 0; border-bottom: var(--lp-border-w) solid var(--lp-border); border-radius: 0; background: none; }
.lp-store.woocommerce-checkout .woocommerce-notices-wrapper { max-width: 560px; margin-inline: auto; }

@media (min-width: 1080px) {
	.lp-store.woocommerce-checkout .lp-couponrow, .lp-store.woocommerce-checkout form.checkout_coupon, .lp-store.woocommerce-checkout .woocommerce-form-login-toggle, .lp-store.woocommerce-checkout form.woocommerce-form-login, .lp-store.woocommerce-checkout .woocommerce-notices-wrapper { max-width: none; width: calc(100% - 448px); margin-inline: 0; }
	.lp-checkout { max-width: none; margin-inline: 0; grid-template-columns: minmax(0, 1fr) 400px; gap: var(--lp-space-9); }
}


/* ===== Cart, aligned with board 04 (A7) ===== */
.lp-h1__count { color: var(--lp-muted); font-weight: 400; }
.lp-store .lp-shipbar { background: var(--lp-primary-soft); color: var(--lp-primary-ink); }
.lp-store .lp-shipbar .lp-bar { height: 8px; background: var(--lp-bg); }
.lp-store .lp-shipbar .lp-bar i { background: var(--lp-primary); }

/* Quantity stepper */
.lp-store .quantity input.qty { -moz-appearance: textfield; appearance: textfield; }
.lp-store .quantity input.qty::-webkit-outer-spin-button, .lp-store .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.lp-qty__btn { display: none; }
.lp-js .lp-store .quantity, .lp-js.lp-store .quantity, .lp-js .quantity { display: inline-flex; align-items: stretch; border: var(--lp-border-w-strong) solid var(--lp-border-strong); border-radius: var(--lp-radius-sm); overflow: hidden; background: var(--lp-bg); }
.lp-js .quantity input.qty { width: 52px; min-height: 44px; border: 0; border-radius: 0; box-shadow: none; padding-inline: 0; text-align: center; }
.lp-js .quantity input.qty:focus { box-shadow: none; }
.lp-js .lp-qty__btn { display: grid; place-items: center; width: 44px; min-height: 44px; padding: 0; border: 0; background: var(--lp-bg); color: var(--lp-text); cursor: pointer; }
.lp-js .lp-qty__btn:hover { background: var(--lp-bg-soft); }

/* Cart lines: thumbnail, name and variant, quantity, line total with compare-at, remove link. */
.lp-store.woocommerce-cart .woocommerce-cart-form tr.cart_item { display: grid; grid-template-columns: 80px minmax(0, 1fr) auto; gap: var(--lp-space-2) var(--lp-space-4); align-items: start; padding: var(--lp-space-4) 0; border-bottom: var(--lp-border-w) solid var(--lp-border); }
.lp-store.woocommerce-cart .woocommerce-cart-form td { padding: 0; border: 0; }
.lp-store.woocommerce-cart .woocommerce-cart-form td.product-thumbnail { grid-column: 1; grid-row: 1 / span 2; }
.lp-store.woocommerce-cart .woocommerce-cart-form td.product-thumbnail img { width: 80px; height: 80px; object-fit: cover; border-radius: var(--lp-radius-sm); background: var(--lp-bg-soft); }
.lp-store.woocommerce-cart .woocommerce-cart-form td.product-name { grid-column: 2; grid-row: 1; align-self: start; min-width: 0; }
.lp-store.woocommerce-cart .woocommerce-cart-form td.product-name a { color: var(--lp-text); font-weight: 700; text-decoration: none; }
.lp-store.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation { margin: var(--lp-space-1) 0 0; color: var(--lp-muted); font-size: var(--lp-text-sm); }
.lp-store.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation dt, .lp-store.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation dd, .lp-store.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation p { display: inline; margin: 0; }
.lp-store.woocommerce-cart .woocommerce-cart-form td.product-price { display: none; }
.lp-store.woocommerce-cart .woocommerce-cart-form td.product-quantity { grid-column: 2; grid-row: 2; align-self: end; }
.lp-store.woocommerce-cart .woocommerce-cart-form td.product-subtotal { grid-column: 3; grid-row: 1; justify-self: end; min-width: 0; min-height: 0; text-align: right; font-weight: 700; }
.lp-store.woocommerce-cart .woocommerce-cart-form td.product-subtotal .lp-compare-at { display: block; color: var(--lp-muted); font-weight: 400; font-size: var(--lp-text-sm); }
.lp-store.woocommerce-cart .woocommerce-cart-form td.product-remove { grid-column: 3; grid-row: 2; justify-self: end; align-self: end; }
.lp-store.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove { display: inline-flex; align-items: center; gap: var(--lp-space-1); width: auto; height: 44px; padding: 0; color: var(--lp-muted); font-size: var(--lp-text-sm); text-decoration: underline; text-underline-offset: 2px; background: none; }
.lp-store.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove:hover { color: var(--lp-danger); background: none; }
.lp-store.woocommerce-cart .woocommerce-cart-form td.actions { display: block; padding: var(--lp-space-3) 0 0; }
.lp-store.woocommerce-cart .woocommerce-cart-form td.actions .coupon { display: none; }
.lp-store.woocommerce-cart .woocommerce-cart-form td.actions button[name="update_cart"] { width: 100%; }
.lp-js.woocommerce-cart .woocommerce-cart-form td.actions button[name="update_cart"] { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; padding: 0; }
.lp-continue { margin: var(--lp-space-3) 0 var(--lp-space-5); }
.lp-continue a { display: inline-flex; align-items: center; gap: var(--lp-space-1); color: var(--lp-primary-ink); font-weight: 600; font-size: var(--lp-text-sm); }
.lp-continue .lp-icon { transform: rotate(90deg); }

/* Order summary card */
.lp-store.woocommerce-cart .cart-collaterals { margin: var(--lp-space-4) 0 0; display: block; }
.lp-store.woocommerce-cart .cart_totals { width: auto; float: none; padding: var(--lp-space-5); background: var(--lp-bg-soft); border-radius: var(--lp-radius); }
.lp-store.woocommerce-cart .cart_totals h2 { margin: 0 0 var(--lp-space-3); font-family: var(--lp-font-heading); font-weight: var(--lp-heading-weight); font-size: var(--lp-text-lg); }
.lp-store.woocommerce-cart .cart_totals table.shop_table th, .lp-store.woocommerce-cart .cart_totals table.shop_table td { padding: var(--lp-space-2) 0; border: 0; font-size: var(--lp-text-sm); }
.lp-store.woocommerce-cart .cart_totals table.shop_table tr + tr th, .lp-store.woocommerce-cart .cart_totals table.shop_table tr + tr td { border-top: 0; }
.lp-store.woocommerce-cart .cart_totals table.shop_table th { font-weight: 400; color: var(--lp-text); }
.lp-store.woocommerce-cart .cart_totals tr.cart-discount th, .lp-store.woocommerce-cart .cart_totals tr.cart-discount td { color: var(--lp-success); }
.lp-store.woocommerce-cart .cart_totals tr.shipping td { color: var(--lp-muted); }
.lp-store.woocommerce-cart .cart_totals tr.order-total th, .lp-store.woocommerce-cart .cart_totals tr.order-total td { padding-top: var(--lp-space-4); border-top: var(--lp-border-w) solid var(--lp-border-strong); font-size: var(--lp-text-lg); font-weight: 700; }
.lp-store.woocommerce-cart .cart_totals tr.order-total td { font-size: var(--lp-text-xl); }
.lp-store.woocommerce-cart .cart_totals tr.order-total th { font-weight: 700; }
.lp-store.woocommerce-cart .wc-proceed-to-checkout { padding: 0; }
.lp-store.woocommerce-cart .wc-proceed-to-checkout .checkout-button { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: var(--lp-btn-h-xl); margin: var(--lp-space-3) 0 0; font-size: var(--lp-text-md); }
.lp-store.woocommerce-cart .wc-proceed-to-checkout .checkout-button::before { content: ""; width: 18px; height: 18px; margin-right: var(--lp-space-2); background: currentColor; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='5' y='11' width='14' height='9' rx='2'/><path d='M8 11V8a4 4 0 0 1 8 0v3'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='5' y='11' width='14' height='9' rx='2'/><path d='M8 11V8a4 4 0 0 1 8 0v3'/></svg>") center / contain no-repeat; }
.lp-carttrust { margin: var(--lp-space-2) 0 0; text-align: center; color: var(--lp-text); font-size: var(--lp-text-sm); font-weight: 600; }
.lp-codnote { display: flex; align-items: center; justify-content: center; gap: var(--lp-space-2); margin: var(--lp-space-3) 0 0; color: var(--lp-muted); font-size: var(--lp-text-sm); }

/* Empty cart */
.lp-emptycart { display: grid; justify-items: center; gap: var(--lp-space-3); padding: var(--lp-space-9) var(--lp-space-4); text-align: center; }
.lp-emptycart__icon { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: var(--lp-bg-soft); color: var(--lp-primary); }
.lp-emptycart .lp-h2 { margin: 0; font-size: var(--lp-text-xl); }
.lp-emptycart .lp-lead { margin: 0; }

@media (min-width: 1080px) {
	.lp-store.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 360px; column-gap: var(--lp-space-8); align-items: start; }
	.lp-store.woocommerce-cart .woocommerce > * { grid-column: 1 / -1; }
	.lp-store.woocommerce-cart .woocommerce > form.woocommerce-cart-form { grid-column: 1; }
	.lp-store.woocommerce-cart .woocommerce > .cart-collaterals { grid-column: 2; margin-top: 0; position: sticky; top: 96px; }
	.lp-store.woocommerce-cart .cart-collaterals { display: block; }
	.lp-store.woocommerce-cart .cart_totals { width: auto; }
}


/* ===== Cart and checkout: two columns from 960 px; header search; fixes ===== */
.lp-store .lp-woopage__title { font-size: var(--lp-text-2xl); }

/* Update cart is hidden when the stepper updates by itself. (The html element has .lp-js, the body has .lp-store.) */
.lp-js .lp-store.woocommerce-cart .woocommerce-cart-form td.actions button[name="update_cart"] { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
.lp-js .lp-store .woocommerce-cart-form .product-quantity input.qty, .lp-js .lp-store .quantity input.qty { width: 44px; }
.lp-js .lp-qty__btn { width: 40px; }

/* Header search: a pill with the magnifier inside. */
.lp-site-header .lp-search, .lp-drawer__search .lp-search { position: relative; }
.lp-site-header .lp-search input[type="search"], .lp-drawer__search .lp-search input[type="search"] { min-height: 44px; padding: 0 var(--lp-space-4) 0 44px; border: var(--lp-border-w) solid var(--lp-border); border-radius: var(--lp-radius-full); background: var(--lp-bg-soft); font-size: 16px; }
.lp-site-header .lp-search input[type="search"]:focus, .lp-drawer__search .lp-search input[type="search"]:focus { background: var(--lp-bg); }
.lp-site-header .lp-search .lp-iconbtn, .lp-drawer__search .lp-search .lp-iconbtn { position: absolute; left: 0; top: 0; width: 44px; height: 44px; }
.lp-drawer__search .lp-search input[type="search"] { width: 100%; }
.lp-nav .current-menu-item > a, .lp-nav .current_page_item > a { box-shadow: inset 0 -3px 0 var(--lp-primary); }

@media (min-width: 960px) and (max-width: 1079px) {
	/* Cart: items on the left, summary on the right. */
	.lp-store.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 360px; column-gap: var(--lp-space-8); align-items: start; }
	.lp-store.woocommerce-cart .woocommerce > * { grid-column: 1 / -1; }
	.lp-store.woocommerce-cart .woocommerce > form.woocommerce-cart-form { grid-column: 1; }
	.lp-store.woocommerce-cart .woocommerce > .cart-collaterals { grid-column: 2; margin-top: 0; position: sticky; top: 96px; }

	/* Checkout: form left, summary card right. */
	.lp-checkout { max-width: none; margin-inline: 0; grid-template-columns: minmax(0, 1fr) 400px; gap: var(--lp-space-9); align-items: start; }
	.lp-checkout__main { grid-column: 1; grid-row: 1; }
	.lp-checkout__summary { grid-column: 2; grid-row: 1; position: sticky; top: 96px; margin: 0; padding: var(--lp-space-5); background: var(--lp-bg-soft); border: 0; border-radius: var(--lp-radius); }
	.lp-checkout__summary > summary { pointer-events: none; list-style: none; }
	.lp-summary__bar { display: none; }
	.lp-summary__title { display: block; margin: 0 0 var(--lp-space-3); cursor: default; }
	.lp-checkout__summary .woocommerce-checkout-review-order { padding: 0; }
	.lp-store.woocommerce-checkout .lp-couponrow, .lp-store.woocommerce-checkout form.checkout_coupon, .lp-store.woocommerce-checkout .woocommerce-form-login-toggle, .lp-store.woocommerce-checkout form.woocommerce-form-login, .lp-store.woocommerce-checkout .woocommerce-notices-wrapper { max-width: none; width: calc(100% - 448px); margin-inline: 0; }
}


/* ===== Header cart badge (board 02): a small blue circle at the top right of the cart icon ===== */
.lp-cart-count { top: 5px; right: 3px; min-width: 18px; height: 18px; padding: 0 4px; background: var(--lp-cta); color: var(--lp-cta-text); font-size: 11px; font-weight: 700; box-shadow: 0 0 0 2px var(--lp-bg); }

/* Notices: quiet, and no browser focus outline when WooCommerce focuses them. */
.lp-store .woocommerce-message:focus, .lp-store .woocommerce-info:focus, .lp-store .woocommerce-error:focus, .lp-store .woocommerce-message:focus-visible, .lp-store .woocommerce-error:focus-visible { outline: none; box-shadow: none; }
.lp-store .woocommerce-message, .lp-store .woocommerce-info { padding-block: var(--lp-space-2); font-size: var(--lp-text-sm); }


/* ===== Design board 01 section 7: notices, toast, badges, rating, price ===== */
/* Notices: a soft tinted box with an icon, text in the matching dark colour. No coloured left edge. */
.lp-store .woocommerce-message, .lp-store .woocommerce-info, .lp-store .woocommerce-error, .lp-store .lp-notice--warning { position: relative; display: block; margin: 0 0 var(--lp-space-4); padding: var(--lp-space-3) var(--lp-space-4) var(--lp-space-3) 48px; border: 0; border-left: 0; border-radius: var(--lp-radius-sm); font-size: var(--lp-text-sm); font-weight: 400; line-height: 1.5; list-style: none; }
.lp-store .woocommerce-message::before, .lp-store .woocommerce-info::before, .lp-store .woocommerce-error::before, .lp-store .lp-notice--warning::before { content: ""; position: absolute; left: var(--lp-space-4); top: var(--lp-space-3); width: 20px; height: 20px; background: currentColor; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 11v6M12 7.5v.5'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 11v6M12 7.5v.5'/></svg>") center / contain no-repeat; }
.lp-store .woocommerce-message { background: var(--lp-success-soft); color: var(--lp-success); }
.lp-store .woocommerce-message::before { -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M8 12l3 3 5-6'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M8 12l3 3 5-6'/></svg>") center / contain no-repeat; }
.lp-store .woocommerce-info { background: var(--lp-primary-soft); color: var(--lp-info); }
.lp-store .woocommerce-error { background: var(--lp-danger-soft); color: var(--lp-danger); }
.lp-store .woocommerce-error::before { -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M9 9l6 6M15 9l-6 6'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M9 9l6 6M15 9l-6 6'/></svg>") center / contain no-repeat; }
.lp-store .lp-notice--warning { background: var(--lp-warning-soft); color: var(--lp-warning); }
.lp-store .lp-notice--warning::before { -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3l10 18H2z'/><path d='M12 10v5M12 18v.5'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3l10 18H2z'/><path d='M12 10v5M12 18v.5'/></svg>") center / contain no-repeat; }
.lp-store .woocommerce-error li { margin: 0; }
.lp-store .woocommerce-error li + li { margin-top: var(--lp-space-1); }
.lp-store .woocommerce-message a, .lp-store .woocommerce-info a, .lp-store .woocommerce-error a { color: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.lp-store .woocommerce-message a.button, .lp-store .woocommerce-info a.button { float: right; min-height: 0; margin: 0 0 0 var(--lp-space-3); padding: 0; border: 0; background: none; color: inherit; font-size: var(--lp-text-sm); font-weight: 600; text-decoration: underline; }
.lp-store .woocommerce-message a.button:hover, .lp-store .woocommerce-info a.button:hover { background: none; color: inherit; }

/* Toast: dark box, light icon, link and close button (bottom on phones, top right on desktop). */
.lp-toastmsg { position: fixed; z-index: 170; left: var(--lp-space-3); right: var(--lp-space-3); bottom: 88px; display: flex; align-items: center; gap: var(--lp-space-3); padding: var(--lp-space-3) var(--lp-space-4); border-radius: var(--lp-radius); background: var(--lp-text); color: #fff; box-shadow: var(--lp-shadow-2); font-size: var(--lp-text-sm); }
.lp-toastmsg::before { content: ""; flex: none; width: 20px; height: 20px; background: var(--lp-success-soft); -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M8 12l3 3 5-6'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M8 12l3 3 5-6'/></svg>") center / contain no-repeat; }
.lp-toastmsg__text { flex: 1; }
.lp-toastmsg a { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.lp-toastmsg__close { flex: none; width: 44px; height: 44px; margin: -8px -12px -8px 0; border: 0; background: none; color: #fff; font-size: var(--lp-text-xl); line-height: 1; cursor: pointer; }
.lp-js a.added_to_cart { display: none; }

/* Badges: text plus shape, never colour alone. */
.lp-badge { padding: 2px var(--lp-space-2); border-radius: 6px; line-height: 1.6; }
.lp-badge--new { background: var(--lp-text); color: var(--lp-bg); }
.lp-badge--soft { background: var(--lp-primary-soft); color: var(--lp-primary-ink); }
.lp-badge--stock { background: var(--lp-success-soft); color: var(--lp-success); }
.lp-badge--low { background: var(--lp-warning-soft); color: var(--lp-warning); }
.lp-badge--ship { background: var(--lp-bg); color: var(--lp-text); border: var(--lp-border-w) solid var(--lp-text); }
.lp-badge--sold { background: var(--lp-disabled-bg); color: var(--lp-disabled-text); }
.lp-store .onsale { border-radius: 6px; background: var(--lp-sale); }

/* Rating and price. */
.lp-store .woocommerce-product-rating { display: flex; align-items: center; gap: var(--lp-space-2); margin-bottom: var(--lp-space-2); }
.lp-store .woocommerce-review-link { color: var(--lp-muted); font-size: var(--lp-text-sm); text-decoration: none; }
.lp-store .price .woocommerce-price-suffix, .lp-vatnote { display: block; color: var(--lp-muted); font-size: var(--lp-text-sm); font-weight: 400; }
.lp-store .product .summary .price ins { color: var(--lp-sale); }
.lp-store .price del { font-size: var(--lp-text-sm); }

@media (min-width: 1080px) {
	.lp-toastmsg { left: auto; right: var(--lp-space-6); bottom: auto; top: 88px; width: 380px; }
}


/* ===== Design board 01: buttons (section 5) and forms (section 6) ===== */
/* Buttons use the heading font. */
.lp-btn, .lp-store .button, .lp-store button.button, .lp-store a.button, .lp-store input[type="submit"].button, .lp-store .woocommerce a.button, .lp-store .woocommerce button.button { font-family: var(--lp-font-heading); }

/* Inputs: 1 px strong outline, 48 px high; the selected state and errors are 2 px. */
.lp-store input[type="text"], .lp-store input[type="email"], .lp-store input[type="tel"], .lp-store input[type="password"], .lp-store input[type="search"], .lp-store input[type="number"], .lp-store select, .lp-store textarea { border-width: var(--lp-border-w); }
.lp-store input::placeholder, .lp-store textarea::placeholder { color: var(--lp-muted); opacity: 1; }
.lp-store input:focus, .lp-store select:focus, .lp-store textarea:focus { border-color: var(--lp-primary); box-shadow: var(--lp-focus-ring); }
.lp-store input:disabled, .lp-store select:disabled, .lp-store textarea:disabled { background: var(--lp-bg-soft); color: var(--lp-muted); cursor: not-allowed; }
.lp-store select { -webkit-appearance: none; appearance: none; padding-right: 44px; background: var(--lp-bg) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314202B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 14px center / 18px; }
.lp-store .form-row.woocommerce-validated input.input-text { padding-right: 44px; background: var(--lp-bg) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C7C3E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>") no-repeat right 14px center / 18px; }
.lp-store .form-row.woocommerce-invalid input.input-text, .lp-store .form-row.woocommerce-invalid select, .lp-store .form-row.woocommerce-invalid textarea { border: var(--lp-border-w-strong) solid var(--lp-danger); background-color: var(--lp-bg); }
.lp-store .form-row.woocommerce-invalid label { color: inherit; }
.lp-store .checkout-inline-error-message { display: flex; align-items: center; gap: var(--lp-space-2); margin-top: var(--lp-space-2); color: var(--lp-danger); font-size: var(--lp-text-sm); font-weight: 600; }
.lp-store .checkout-inline-error-message::before { content: ""; flex: none; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 7v6M12 16.5v.5'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 7v6M12 16.5v.5'/></svg>") center / contain no-repeat; }

/* Checkboxes and radios: drawn by the theme, same look everywhere. */
.lp-store input[type="checkbox"], .lp-store input[type="radio"] { -webkit-appearance: none; appearance: none; flex: none; width: 22px; height: 22px; margin: 0; padding: 0; border: 1.5px solid var(--lp-border-strong); background-color: var(--lp-bg); cursor: pointer; vertical-align: middle; }
.lp-store input[type="checkbox"] { border-radius: 4px; }
.lp-store input[type="radio"] { border-radius: 50%; }
.lp-store input[type="checkbox"]:checked { border-color: var(--lp-cta); background: var(--lp-cta) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>") center / 16px no-repeat; }
.lp-store input[type="radio"]:checked { border-color: var(--lp-cta); background: radial-gradient(circle, var(--lp-cta) 0 42%, var(--lp-bg) 46%); }
.lp-store .woocommerce-invalid input[type="checkbox"] { border: var(--lp-border-w-strong) solid var(--lp-danger); }

/* Stepper: bordered box with dividers. */
.lp-js .quantity { border-width: var(--lp-border-w); }
.lp-js .quantity input.qty { border-left: var(--lp-border-w) solid var(--lp-border); border-right: var(--lp-border-w) solid var(--lp-border); }

/* Choice cards: 1 px outline, selected is 2 px (border plus ring) with the soft fill and the dot. */
.lp-store .lp-choice, .lp-store ul.wc_payment_methods .wc_payment_method { border-width: var(--lp-border-w); border-radius: var(--lp-radius); }
.lp-store .lp-choice:has(input:checked), .lp-store ul.wc_payment_methods .wc_payment_method:has(> input:checked) { box-shadow: 0 0 0 1px var(--lp-primary); }
.lp-store .lp-choice input { pointer-events: none; }

/* Place order: loading state (spinner, label "Processing..."), the fields stay read-only. */
.lp-store #place_order[aria-busy="true"] { pointer-events: none; }
.lp-store #place_order[aria-busy="true"]::before { -webkit-mask: none; mask: none; background: none; width: 18px; height: 18px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: lp-spin .8s linear infinite; }
@keyframes lp-spin { to { transform: rotate(360deg); } }


/* ===== Boards 02, 03 and 07: header on phones, cards, shop, search, 404, home, cookie consent ===== */
.lp-btn--ink { background: var(--lp-text); color: var(--lp-bg); border-color: var(--lp-text); }
.lp-btn--ink:hover { background: var(--lp-footer-bg); color: var(--lp-bg); }
.lp-store .lp-kicker { margin: 0 0 var(--lp-space-2); font-size: var(--lp-text-xs); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--lp-primary-ink); }

/* Header on phones: logo next to the menu button, search icon and cart on the right. */
.lp-site-logo { justify-self: start; }
.lp-searchbtn { display: grid; }
.lp-accountlink { display: none; }
.lp-site-footer__hours { color: var(--lp-footer-muted); }
@media (min-width: 768px) {
	.lp-searchbtn { display: none; }
	.lp-accountlink { display: grid; }
}

/* Product card: image, rating, name (two lines), price, outlined "+ Add" button. */
.lp-store ul.products li.product { position: relative; }
.lp-cardrating { display: inline-flex; align-items: center; gap: var(--lp-space-1); margin-bottom: var(--lp-space-1); font-size: var(--lp-text-xs); color: var(--lp-text); }
.lp-cardrating__star { color: var(--lp-accent); }
.lp-cardrating__count { color: var(--lp-muted); }
.lp-store .woocommerce-loop-product__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lp-store ul.products li.product a.woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title { text-decoration: underline; }
.lp-store ul.products li.product a.woocommerce-LoopProduct-link:focus-visible { box-shadow: var(--lp-focus-ring); border-radius: var(--lp-radius); }
.lp-store ul.products li.product .button { background: var(--lp-bg); color: var(--lp-primary-ink); border: var(--lp-border-w-strong) solid var(--lp-primary-hover); min-height: 44px; font-size: var(--lp-text-sm); }
.lp-store ul.products li.product .button:hover { background: var(--lp-primary-soft); color: var(--lp-primary-ink); }
.lp-store ul.products li.product .add_to_cart_button.product_type_simple::before { content: "+"; font-size: var(--lp-text-md); line-height: 1; }
.lp-store ul.products li.product .add_to_cart_button.added { background: var(--lp-success-soft); border-color: var(--lp-success); color: var(--lp-success); }
.lp-store ul.products li.product .add_to_cart_button.added::before { content: "✓"; }
.lp-store ul.products li.product .lp-soldout-btn { background: var(--lp-disabled-bg); color: var(--lp-disabled-text); border-color: transparent; cursor: not-allowed; }
.lp-card__flag { position: absolute; top: var(--lp-space-2); left: var(--lp-space-2); z-index: 2; }
.lp-hl { padding: 0 2px; background: var(--lp-primary-soft); color: inherit; border-radius: 2px; }

/* Shop layout: toolbar, active filters, filters (sidebar on desktop, bottom sheet below), load more. */
.lp-store .lp-toolbar { gap: var(--lp-space-3); }
.lp-store .lp-toolbar .woocommerce-ordering select { background-image: none; }
.lp-filterbtn { min-height: 44px; padding-inline: var(--lp-space-4); font-size: var(--lp-text-sm); }
.lp-activechips { list-style: none; margin: 0 0 var(--lp-space-4); padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--lp-space-2); }
.lp-activechips a { display: inline-flex; align-items: center; gap: var(--lp-space-1); padding: var(--lp-space-1) var(--lp-space-3); border-radius: var(--lp-radius-full); background: var(--lp-primary-soft); color: var(--lp-primary-ink); font-size: var(--lp-text-sm); font-weight: 600; text-decoration: none; }
.lp-activechips a.lp-clearall { background: none; padding-inline: 0; text-decoration: underline; }
.lp-filtertoggle { position: absolute; opacity: 0; pointer-events: none; }
.lp-filter-scrim { z-index: 130; }
.lp-filtertoggle:checked ~ .lp-filter-scrim { opacity: 1; visibility: visible; }
.lp-filters { position: fixed; z-index: 140; left: 0; right: 0; bottom: 0; max-height: 88vh; overflow-y: auto; padding: var(--lp-space-4) var(--lp-pad) var(--lp-space-5); background: var(--lp-bg); border-radius: var(--lp-radius) var(--lp-radius) 0 0; box-shadow: var(--lp-shadow-2); transform: translateY(105%); visibility: hidden; transition: transform .2s ease-out, visibility .2s; }
.lp-filtertoggle:checked ~ .lp-filters { transform: none; visibility: visible; }
.lp-filters__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--lp-space-3); }
.lp-filters__head .lp-h3 { margin: 0; }
.lp-filters__group { margin: 0 0 var(--lp-space-5); padding: 0; border: 0; }
.lp-filters__group legend { padding: 0; margin-bottom: var(--lp-space-2); font-weight: 700; }
.lp-check { display: flex; align-items: center; gap: var(--lp-space-3); min-height: 40px; font-weight: 400; }
.lp-check small { color: var(--lp-muted); }
.lp-filters__chips { display: flex; flex-wrap: wrap; gap: var(--lp-space-2); }
.lp-chipcheck input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lp-chipcheck span { display: block; padding: var(--lp-space-2) var(--lp-space-4); border: var(--lp-border-w) solid var(--lp-border-strong); border-radius: var(--lp-radius-full); font-size: var(--lp-text-sm); font-weight: 600; cursor: pointer; }
.lp-chipcheck input:checked + span { background: var(--lp-primary-soft); border-color: var(--lp-primary); color: var(--lp-primary-ink); }
.lp-chipcheck input:focus-visible + span { box-shadow: var(--lp-focus-ring); }
.lp-filters__actions { display: grid; grid-template-columns: 1fr 1fr; gap: var(--lp-space-3); position: sticky; bottom: 0; padding-top: var(--lp-space-3); background: var(--lp-bg); }
.lp-filters__actions .lp-btn { width: 100%; }
.lp-loadmore { display: grid; justify-items: center; gap: var(--lp-space-3); margin: var(--lp-space-6) 0; text-align: center; }
.lp-loadmore__text { margin: 0; color: var(--lp-muted); font-size: var(--lp-text-sm); }
.lp-loadmore .lp-bar { width: 100%; max-width: 220px; height: 6px; }
.lp-empty-state { display: grid; justify-items: center; gap: var(--lp-space-3); max-width: 480px; margin: var(--lp-space-8) auto; padding: var(--lp-space-6); text-align: center; border: var(--lp-border-w) solid var(--lp-border); border-radius: var(--lp-radius); }
.lp-empty-state .lp-h3, .lp-empty-state .lp-lead { margin: 0; }
.lp-empty-state__icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--lp-bg-soft); color: var(--lp-muted); }
.lp-chiprow--center { justify-content: center; flex-wrap: wrap; }

/* Search and 404. */
.lp-search--boxed { position: relative; max-width: 420px; margin-bottom: var(--lp-space-5); }
.lp-search--boxed input[type="search"] { min-height: 48px; padding: 0 88px 0 44px; border: var(--lp-border-w) solid var(--lp-border-strong); border-radius: var(--lp-radius-sm); background: var(--lp-bg); }
.lp-search--boxed .lp-iconbtn { position: absolute; left: 0; top: 2px; }
.lp-search--boxed .lp-search__clear { position: absolute; right: 4px; top: 2px; display: grid; place-items: center; width: 44px; height: 44px; color: var(--lp-muted); }
.lp-404 { padding-block: var(--lp-space-9); }
.lp-404 .lp-search--boxed { width: 100%; margin-inline: auto; }
.lp-404__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--lp-space-3); margin: 0; }
.lp-404__code { display: none; }

/* Home: trust row, section heads, category links. */
.lp-home__trust { margin-top: var(--lp-space-6); border-block: var(--lp-border-w) solid var(--lp-border); }
.lp-hometrust { list-style: none; margin: 0 auto; padding: var(--lp-space-4) var(--lp-pad); display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--lp-space-4); }
.lp-hometrust li { display: flex; align-items: center; gap: var(--lp-space-3); font-weight: 600; font-size: var(--lp-text-sm); }
.lp-hometrust .lp-icon { color: var(--lp-primary); }
.lp-sechead { display: flex; align-items: baseline; justify-content: space-between; gap: var(--lp-space-3); margin-bottom: var(--lp-space-5); }
.lp-sechead .lp-h2 { margin: 0; }
.lp-cats a span { display: inline-flex; align-items: center; gap: var(--lp-space-1); }

/* Cookie consent (board 07): a card; Reject all and Accept all identical; switches in the panel. */
.lp-cookie { display: grid; gap: var(--lp-space-3); }
.lp-cookie__title { display: flex; align-items: center; gap: var(--lp-space-2); font-family: var(--lp-font-heading); }
.lp-cookie__title .lp-icon { color: var(--lp-primary); }
.lp-cookie p { margin: 0; }
.lp-cookie__actions { grid-template-columns: 1fr 1fr; }
.lp-cookie__actions--three { grid-template-columns: 1fr 1fr 1fr; }
.lp-cookie__customise { justify-self: center; font-weight: 600; }
.lp-prefs__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--lp-space-2); }
.lp-prefs__head .lp-cookie__title { margin: 0; }
.lp-prefs__list label.lp-switch { display: flex; align-items: center; gap: var(--lp-space-3); padding: var(--lp-space-3) 0; border: 0; border-bottom: var(--lp-border-w) solid var(--lp-border); border-radius: 0; }
.lp-switch__text { flex: 1; display: grid; }
.lp-switch__text small { font-weight: 400; color: var(--lp-muted); }
.lp-switch__state { color: var(--lp-muted); font-size: var(--lp-text-sm); font-weight: 400; }
.lp-switch input[type="checkbox"] { -webkit-appearance: none; appearance: none; flex: none; position: relative; width: 44px; height: 24px; margin: 0; border: 0; border-radius: var(--lp-radius-full); background: var(--lp-border-strong); cursor: pointer; transition: background .15s; }
.lp-switch input[type="checkbox"]::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .15s; }
.lp-switch input[type="checkbox"]:checked { background: var(--lp-cta); }
.lp-switch input[type="checkbox"]:checked::after { transform: translateX(20px); }
.lp-switch input[type="checkbox"]:disabled { opacity: .55; cursor: not-allowed; }
.lp-switch input[type="checkbox"]:focus-visible { box-shadow: var(--lp-focus-ring); }
.lp-switch__off { display: inline; }
.lp-switch__on { display: none; }
.lp-switch:has(input:checked) .lp-switch__on { display: inline; }
.lp-switch:has(input:checked) .lp-switch__off { display: none; }

@media (min-width: 768px) {
	.lp-hometrust { grid-template-columns: repeat(4, 1fr); }
	.lp-filterbtn { display: none; }
}

@media (min-width: 1080px) {
	.lp-store.post-type-archive-product .lp-shop, .lp-store.tax-product_cat .lp-shop { display: grid; grid-template-columns: 240px minmax(0, 1fr); column-gap: var(--lp-space-8); align-items: start; }
	.lp-store.post-type-archive-product .lp-shop > *, .lp-store.tax-product_cat .lp-shop > * { grid-column: 1 / -1; }
	.lp-store.post-type-archive-product .lp-shop > .lp-filters, .lp-store.tax-product_cat .lp-shop > .lp-filters { grid-column: 1; grid-row: span 8; position: static; max-height: none; padding: 0; background: none; border-radius: 0; box-shadow: none; transform: none; visibility: visible; overflow: visible; }
	.lp-store.post-type-archive-product .lp-shop > .lp-toolbar, .lp-store.post-type-archive-product .lp-shop > .lp-activechips, .lp-store.post-type-archive-product .lp-shop > ul.products, .lp-store.post-type-archive-product .lp-shop > .lp-loadmore, .lp-store.post-type-archive-product .lp-shop > .woocommerce-pagination, .lp-store.post-type-archive-product .lp-shop > .lp-empty-state,
	.lp-store.tax-product_cat .lp-shop > .lp-toolbar, .lp-store.tax-product_cat .lp-shop > .lp-activechips, .lp-store.tax-product_cat .lp-shop > ul.products, .lp-store.tax-product_cat .lp-shop > .lp-loadmore, .lp-store.tax-product_cat .lp-shop > .woocommerce-pagination, .lp-store.tax-product_cat .lp-shop > .lp-empty-state { grid-column: 2; }
	.lp-filters__head .lp-iconbtn { display: none; }
	.lp-filters__head { display: none; }
	.lp-filters__actions { position: static; grid-template-columns: 1fr 1fr; }
	.lp-store.post-type-archive-product ul.products, .lp-store.tax-product_cat ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.lp-filter-scrim { display: none; }
}

/* Search results, empty state and footer polish */
.lp-shop { padding-top: var(--lp-space-6); }
.lp-shop .woocommerce-products-header__title, .lp-shop .page-title { font-size: var(--lp-text-xl); margin-bottom: var(--lp-space-4); }
.lp-store.search .lp-shop { display: block; }
.lp-shop > .lp-empty-state, .lp-store .lp-shop > .lp-empty-state { grid-column: 1 / -1 !important; justify-self: center; width: 100%; max-width: 480px; margin-inline: auto; }
.lp-shop .lp-empty-state .lp-btn, .lp-shop .lp-empty-state .lp-linkbtn { justify-self: center; }
.lp-site-footer .lp-site-footer__brand a, .lp-site-footer .lp-wordmark { text-decoration: none; }
.lp-site-footer__grid { grid-template-columns: 1fr; }
@media (min-width: 768px) { .lp-site-footer__grid { grid-template-columns: 1.4fr repeat(auto-fit, minmax(140px, 1fr)); } }
.lp-pay li { padding: 4px var(--lp-space-3); background: var(--lp-bg); border-color: var(--lp-border-strong); color: var(--lp-text); }
.lp-site-footer__legal { border-top-color: var(--lp-border-strong); align-items: center; justify-content: space-between; }
.lp-site-footer__legal .lp-linkbtn { margin-left: auto; text-decoration: underline; }

/* Page titles on cart and checkout: same scale as the shop title */
.lp-store .lp-woopage__title { font-size: var(--lp-text-xl); margin-bottom: var(--lp-space-4); }
.lp-store .lp-woopage__title .lp-h1__count { font-size: var(--lp-text-base); }
.lp-store--checkout .lp-checkout { padding-top: var(--lp-space-6); }
.lp-store--checkout .lp-checkout__summary { top: calc(var(--lp-space-6) + 80px); }
@media (min-width: 1080px) { .lp-store--checkout .lp-checkout__summary { margin-top: var(--lp-space-6); } .lp-store--checkout .lp-checkout { padding-top: 0; } .lp-store--checkout .lp-checkout__main { padding-top: var(--lp-space-6); } }

/* Shop: the sidebar and the product column share rows; hide the category chips beside the sidebar */
@media (min-width: 1080px) {
	.lp-store.post-type-archive-product .lp-shop > .lp-chiprow, .lp-store.tax-product_cat .lp-shop > .lp-chiprow { display: none; }
	.lp-store.post-type-archive-product .lp-shop > .lp-filters, .lp-store.tax-product_cat .lp-shop > .lp-filters { grid-row: span 40; }
	.lp-filters__actions { grid-template-columns: 1fr; position: static; }
	.lp-filters .lp-btn { min-height: 44px; }
}

/* Cookie consent, as board 07 E1: white card, soft shadow, body text in the main text colour */
.lp-cookie { padding: 20px var(--lp-pad); gap: 14px; border: 0; border-radius: 16px 16px 0 0; box-shadow: 0 8px 24px rgba(20, 32, 43, .14); }
.lp-cookie p { font-size: 15px; line-height: 1.5; color: var(--lp-text); }
.lp-cookie p a { color: var(--lp-primary-ink); text-decoration: underline; }
.lp-cookie__title { font-size: var(--lp-text-lg); margin: 0; }
.lp-cookie__actions { gap: 10px; }
.lp-cookie__actions .lp-btn { min-height: 48px; }
.lp-cookie__customise { min-height: 44px; display: flex; align-items: center; justify-content: center; color: var(--lp-primary-ink); text-decoration: underline; }
@media (min-width: 768px) { .lp-cookie { border: 0; border-radius: 16px; } .lp-cookie__actions { grid-template-columns: 1fr 1fr; } }

/* Cookie preferences, as board 07 E1 (sheet on phones, 560 px modal on desktop) */
.lp-prefs__panel { display: flex; flex-direction: column; padding: 0; max-height: 92vh; }
.lp-prefs__head { min-height: 60px; margin: 0; padding: 0 6px 0 var(--lp-pad); border-bottom: var(--lp-border-w) solid var(--lp-border); }
.lp-prefs__head .lp-cookie__title { font-size: 20px; }
.lp-prefs__list { margin: 0; padding: 8px var(--lp-pad); gap: 0; overflow-y: auto; }
.lp-prefs__list label.lp-switch { display: grid; grid-template-columns: 1fr auto auto; gap: 4px 12px; align-items: center; padding: 14px 0; }
.lp-switch__text { display: contents; }
.lp-switch__text strong { grid-column: 1; grid-row: 1; }
.lp-switch__state { grid-column: 2; grid-row: 1; font-size: 14px; }
.lp-switch input[type="checkbox"] { grid-column: 3; grid-row: 1; }
.lp-switch__text small { grid-column: 1 / -1; grid-row: 2; font-size: 14px; line-height: 1.45; }
.lp-switch:has(input:checked) .lp-switch__state { color: var(--lp-text); font-weight: 600; }
.lp-switch input[type="checkbox"] { width: 48px; height: 28px; }
.lp-switch input[type="checkbox"]::after { width: 22px; height: 22px; }
.lp-switch input[type="checkbox"]:checked::after { transform: translateX(20px); }
.lp-switch input[type="checkbox"]:disabled { opacity: 1; background: #AEB7C0; }
.lp-prefs .lp-cookie__actions { padding: 12px var(--lp-pad) 20px; border-top: var(--lp-border-w) solid var(--lp-border); grid-template-columns: 1fr 1fr; }
.lp-prefs .lp-cookie__save { grid-column: 1 / -1; }
@media (min-width: 768px) {
	.lp-prefs__panel { border-radius: var(--lp-radius); box-shadow: 0 8px 24px rgba(20, 32, 43, .14); }
	.lp-prefs__head { min-height: 64px; padding-left: 24px; }
	.lp-prefs__head .lp-cookie__title { font-size: 22px; }
	.lp-prefs__list { padding-inline: 24px; }
	.lp-prefs .lp-cookie__actions { padding: 16px 24px 24px; grid-template-columns: 1fr 1fr 1fr; }
	.lp-prefs .lp-cookie__save { grid-column: 1; grid-row: 1; }
}

/* Buttons in the cookie dialogs: regular size, a visible hover */
.lp-btn--ink:hover, .lp-btn--ink:focus-visible { background: #2A3A49; border-color: #2A3A49; color: #fff; }
.lp-cookie .lp-btn, .lp-prefs .lp-btn { font-size: var(--lp-text-base); padding-inline: var(--lp-space-3); white-space: nowrap; }
.lp-cookie .lp-btn--ink, .lp-prefs .lp-btn--ink { color: #fff; }

/* Shop on desktop: float the sidebar instead of grid auto-placement, so the toolbar and products sit beside it */
@media (min-width: 1080px) {
	.lp-store.post-type-archive-product .lp-shop, .lp-store.tax-product_cat .lp-shop { display: block; }
	.lp-store.post-type-archive-product .lp-shop::after, .lp-store.tax-product_cat .lp-shop::after { content: ""; display: block; clear: both; }
	.lp-store.post-type-archive-product .lp-shop > .lp-filters, .lp-store.tax-product_cat .lp-shop > .lp-filters { float: left; width: 240px; grid-row: auto; grid-column: auto; }
	.lp-store.post-type-archive-product .lp-shop > .lp-toolbar, .lp-store.post-type-archive-product .lp-shop > .lp-activechips, .lp-store.post-type-archive-product .lp-shop > ul.products, .lp-store.post-type-archive-product .lp-shop > .lp-loadmore, .lp-store.post-type-archive-product .lp-shop > .woocommerce-pagination, .lp-store.post-type-archive-product .lp-shop > .lp-empty-state,
	.lp-store.tax-product_cat .lp-shop > .lp-toolbar, .lp-store.tax-product_cat .lp-shop > .lp-activechips, .lp-store.tax-product_cat .lp-shop > ul.products, .lp-store.tax-product_cat .lp-shop > .lp-loadmore, .lp-store.tax-product_cat .lp-shop > .woocommerce-pagination, .lp-store.tax-product_cat .lp-shop > .lp-empty-state { margin-left: calc(240px + var(--lp-space-8)); }
	.lp-store .lp-filters .lp-btn { min-height: 44px; font-size: var(--lp-text-sm); }
}

/* Filters switched off: products use the full width */
@media (min-width: 1080px) {
	.lp-store.lp-nofilters .lp-shop > :not(.lp-empty-state) { margin-left: 0 !important; }
	.lp-store.lp-nofilters .lp-shop > .lp-empty-state { margin-left: auto !important; margin-right: auto !important; }
}

/* Footer payment badges (SVG) */
.lp-pay { align-items: center; gap: var(--lp-space-3); }
.lp-pay li { padding: 0; border: 0; background: none; line-height: 0; text-transform: none; }
.lp-pay svg { display: block; width: 56px; height: 28px; }

/* Footer, as board 02 A2 */
.lp-site-footer__grid { grid-template-columns: 1fr 1fr; gap: var(--lp-space-6) var(--lp-gap, 24px); }
.lp-site-footer__brand { grid-column: 1 / -1; }
.lp-site-footer__brand .lp-wordmark, .lp-site-footer__brand a { font-size: 22px; letter-spacing: -.01em; }
.lp-site-footer__brand p { max-width: 300px; line-height: 1.5; margin-top: 12px; }
.lp-site-footer__col { display: flex; flex-direction: column; gap: 4px; }
.lp-site-footer__title { margin: 0; padding-bottom: 6px; font-size: var(--lp-text-base); }
.lp-site-footer__list { gap: 0; }
.lp-site-footer__list li { display: block; }
.lp-site-footer .lp-site-footer__list a, .lp-store .lp-site-footer .lp-site-footer__list a, .lp-site-footer__item { display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 0; color: var(--lp-footer-muted); text-decoration: none; }
.lp-site-footer .lp-site-footer__list a:hover { color: var(--lp-footer-text); text-decoration: underline; }
.lp-site-footer__list .lp-icon, .lp-site-footer__item .lp-icon { flex: none; }
.lp-site-footer__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--lp-space-4); margin-top: var(--lp-space-6); padding-top: var(--lp-space-5); border-top: var(--lp-border-w) solid var(--lp-footer-muted); }
.lp-site-footer__bar .lp-pay { margin: 0; }
.lp-site-footer__bar .lp-linkbtn { color: var(--lp-footer-text); text-decoration: underline; }
.lp-site-footer__legal--plain { margin-top: var(--lp-space-4); padding-top: 0; border-top: 0; font-size: 13px; line-height: 1.5; }
@media (min-width: 768px) {
	.lp-site-footer__grid { grid-template-columns: 1.4fr; grid-auto-columns: 1fr; grid-auto-flow: column; }
	.lp-site-footer__brand { grid-column: auto; }
}

/* An empty toolbar (no sorting, count or filter button) takes no space */
.lp-toolbar:empty { display: none; }

/* Sticky footer: short pages keep the footer at the bottom of the window */
body.lp-store { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
body.lp-store > .lp-main-store { flex: 1 0 auto; width: 100%; }
body.lp-store > .lp-site-footer { flex: none; }

/* Link colour must not override button text colour (.lp-store a is more specific than .lp-btn) */
.lp-store a.lp-btn, .lp-store a.lp-btn:hover { color: var(--lp-cta-text); text-decoration: none; }
.lp-store a.lp-btn--secondary, .lp-store a.lp-btn--secondary:hover { color: var(--lp-primary-ink); }
.lp-store a.lp-btn--ink, .lp-store a.lp-btn--ink:hover { color: #fff; }

/* 404 title at a calmer size */
.lp-404 .lp-h1 { font-size: var(--lp-text-2xl); }

/* Cart summary: a divider above the total (the design's coupon block lines sit here when the coupon is hidden) */
.lp-store.woocommerce-cart .cart_totals table.shop_table tr.order-total th, .lp-store.woocommerce-cart .cart_totals table.shop_table tr.order-total td { border-top: var(--lp-border-w) solid var(--lp-border-strong); padding-top: var(--lp-space-4); }
.lp-store.woocommerce-cart .cart_totals table.shop_table tr.shipping th, .lp-store.woocommerce-cart .cart_totals table.shop_table tr.shipping td { padding-bottom: var(--lp-space-4); }

/* Footer bottom line (copyright and company details) centred */
.lp-site-footer__legal--plain { justify-content: center; text-align: center; }

/* Bundle selector on the product page (same cards as the landing offer) */
.lp-tiers { display: grid; gap: var(--lp-space-3); margin: 0 0 var(--lp-space-4); }
.lp-tier { position: relative; display: block; cursor: pointer; }
.lp-tier input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lp-tier__body { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 2px var(--lp-space-3); align-items: center; padding: var(--lp-space-4) var(--lp-space-4) var(--lp-space-4) var(--lp-space-10); background: var(--lp-bg); border: var(--lp-border-w-strong) solid var(--lp-border-strong); border-radius: var(--lp-radius); }
.lp-tier__body::before { content: ""; position: absolute; left: var(--lp-space-4); top: 50%; width: 22px; height: 22px; margin-top: -11px; border: var(--lp-border-w-strong) solid var(--lp-border-strong); border-radius: 50%; background: var(--lp-bg); }
.lp-tier input:checked + .lp-tier__body { border-color: var(--lp-primary); background: var(--lp-primary-soft); }
.lp-tier input:checked + .lp-tier__body::before { border-color: var(--lp-primary); background: radial-gradient(circle, var(--lp-primary) 0 45%, var(--lp-bg) 50%); }
.lp-tier input:focus-visible + .lp-tier__body { box-shadow: var(--lp-focus-ring); }
.lp-tier .lp-badge--best { position: absolute; top: -11px; right: var(--lp-space-4); }
.lp-tier__label { font-weight: 600; font-size: var(--lp-text-md); }
.lp-tier__unit { grid-column: 1; color: var(--lp-muted); font-size: var(--lp-text-sm); }
.lp-tier__off { margin-left: var(--lp-space-2); color: var(--lp-sale); }
.lp-tier__price { grid-column: 2; grid-row: 1 / span 2; display: grid; justify-items: end; font-size: var(--lp-text-lg); font-weight: 700; }
.lp-tier__price s { color: var(--lp-muted); font-size: var(--lp-text-sm); font-weight: 400; }
.lp-tier__save { grid-column: 1 / -1; color: var(--lp-success); font-size: var(--lp-text-sm); font-weight: 600; }
.lp-tier__ship { grid-column: 1 / -1; color: var(--lp-success); font-size: var(--lp-text-sm); font-weight: 600; }
.lp-tiers--product ~ .quantity { display: none; }

/* "incl. VAT" notes switched off in Store settings */
body.lp-hide-vat small.includes_tax, body.lp-hide-vat .lp-summary__vat { display: none !important; }

.lp-tiers__legend { font-weight: 600; }
.lp-tiers--product { gap: var(--lp-space-2); }


/* Product page, as board 04 A6 */
.lp-pricebox { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: var(--lp-space-3) 0; }
.lp-store .product .summary .lp-pricebox .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 12px; margin: 0; font-family: var(--lp-font-heading); font-weight: var(--lp-heading-weight); font-size: var(--lp-text-xl); }
.lp-pricebox .price ins { order: -1; text-decoration: none; color: var(--lp-sale); }
.lp-pricebox .price del { color: var(--lp-muted); font-family: var(--lp-font-body); font-size: var(--lp-text-base); font-weight: 400; }
.lp-pricebox .lp-yousave { margin: 0; padding: 5px 7px; border-radius: 4px; background: var(--lp-sale); color: #fff; font-size: 13px; font-weight: 700; line-height: 1; }
.lp-pricebox .lp-vatnote { width: 100%; margin: 0; font-size: 13px; color: var(--lp-muted); }
.lp-store .woocommerce-product-details__short-description { display: none; }
.lp-benefits { gap: 6px; }
.lp-benefits li::before { color: var(--lp-success); }
.lp-pgallery__thumbs li { flex: none; width: 64px; }
.lp-pgallery__thumbs a { border-width: 2px; }
.lp-pgallery__thumbs a[aria-current="true"] { border-color: var(--lp-primary); }
.lp-tiers--product { flex: 0 0 100%; }
.lp-store form.cart .lp-tiers--product ~ .quantity, .lp-store form.cart .lp-tiers--product ~ .lp-qty { display: none !important; }

/* Product accordions: open list with lines, no boxes */
.lp-accordion { border-top: var(--lp-border-w) solid var(--lp-border); }
.lp-acc { border: 0; border-bottom: var(--lp-border-w) solid var(--lp-border); border-radius: 0; margin: 0; background: none; }
.lp-acc summary { min-height: 56px; padding: 0; font-size: var(--lp-text-md); }
.lp-acc__body { padding: 0 0 var(--lp-space-4); color: var(--lp-muted); }
.lp-store form.cart .quantity { align-self: flex-start; height: var(--lp-btn-h-xl, 52px); }

/* Reviews section (board 04): soft full-width band, summary left, cards right */
.lp-store.single-product div.product > .lp-reviews, .lp-store.single-product div.product > .related, .lp-store.single-product div.product > .up-sells { grid-column: 1 / -1; }
.lp-reviews { display: grid; gap: var(--lp-space-6); padding-block: var(--lp-section-y); background: var(--lp-bg-soft); box-shadow: 0 0 0 100vmax var(--lp-bg-soft); clip-path: inset(0 -100vmax); }
.lp-reviews__summary { display: grid; gap: var(--lp-space-3); align-content: start; }
.lp-reviews__summary .lp-h2 { margin: 0; font-size: var(--lp-text-2xl); line-height: 1.15; }
.lp-reviews__avg { display: flex; align-items: baseline; gap: 10px; margin: 0; color: var(--lp-muted); }
.lp-reviews__avg b { font-family: var(--lp-font-heading); font-size: 44px; line-height: 1; color: var(--lp-text); }
.lp-reviews .lp-bars { max-width: none; gap: 10px; }
.lp-reviews .lp-bars li { grid-template-columns: 52px 1fr 44px; font-size: 14px; }
.lp-reviews .lp-bars li > span:last-child { color: var(--lp-muted); text-align: right; }
.lp-reviews .lp-bar { height: 8px; border-radius: 4px; background: var(--lp-border); }
.lp-reviews .lp-bar i { display: block; height: 100%; border-radius: 4px; background: var(--lp-accent); }
.lp-reviews .woocommerce-Reviews-title { display: none; }
.lp-reviews ol.commentlist { grid-template-columns: 1fr; gap: 16px; }
.lp-reviews ol.commentlist li { padding: 20px; border-radius: var(--lp-radius); background: var(--lp-bg); list-style: none; }
.lp-reviews ol.commentlist li .comment_container { display: grid; gap: 10px; }
.lp-reviews ol.commentlist .comment-text { display: grid; gap: 10px; }
.lp-reviews ol.commentlist .star-rating { order: -1; margin: 0; }
.lp-reviews ol.commentlist .meta { margin: 0; color: var(--lp-muted); font-size: var(--lp-text-sm); }
.lp-reviews ol.commentlist .meta strong { color: var(--lp-text); }
.lp-reviews ol.commentlist .description p { margin: 0; }
.lp-reviews #review_form_wrapper { margin-top: var(--lp-space-5); }
.lp-reviews .woocommerce-noreviews { margin: 0; color: var(--lp-muted); }
.lp-acc--link { display: flex; justify-content: space-between; align-items: center; min-height: 56px; padding: 0; font-weight: 600; font-size: var(--lp-text-md); color: var(--lp-text); text-decoration: none; }
.lp-acc--link::after { content: "↓"; color: var(--lp-primary-ink); }
@media (min-width: 768px) {
	.lp-reviews ol.commentlist { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1080px) {
	.lp-reviews { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--lp-gap, 32px); }
}
.lp-accordion { grid-column: auto; margin-top: var(--lp-space-4); }
@media (min-width: 1080px) { .lp-store.single-product div.product .summary { position: static; } }

.lp-reviews__list { display: grid; gap: 16px; align-content: start; }
.lp-review { display: flex; flex-direction: column; gap: 10px; min-height: 180px; padding: 20px; border-radius: var(--lp-radius); background: var(--lp-bg); }
.lp-review .lp-stars { font-size: 16px; letter-spacing: 1px; }
.lp-review__text { margin: 0; color: var(--lp-muted); }
.lp-review__title { font-weight: 700; }
.lp-review__name { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; margin-top: auto; font-size: 14px; }
.lp-review__verified { display: inline-flex; align-items: center; gap: 4px; color: var(--lp-success); }
@media (min-width: 768px) { .lp-reviews__list { grid-template-columns: 1fr 1fr; } }

/* Product bundle cards, compact like board 04 A6 */
.lp-tiers--product .lp-tier__body { gap: 0 12px; padding: 14px 16px 14px 54px; border-width: 1px; line-height: 1.3; }
.lp-tiers--product .lp-tier input:checked + .lp-tier__body { border-width: 2px; padding: 13px 15px 13px 53px; }
.lp-tiers--product .lp-tier__body::before { left: 16px; border-width: 2px; }
.lp-tiers--product .lp-tier input:checked + .lp-tier__body::before { left: 15px; }
.lp-tiers--product .lp-tier__label { font-size: var(--lp-text-base); }
.lp-tiers--product .lp-tier__unit { font-size: 14px; }
.lp-tiers--product .lp-tier__price { font-size: var(--lp-text-base); }
.lp-tiers--product .lp-tier__price s { font-size: 13px; }
.lp-tiers--product .lp-tier__save { display: none; }
.lp-tiers--product .lp-tier .lp-badge--best { top: -11px; }

/* Trust list with chosen icons */
.lp-trustbox .lp-checklist li { display: flex; align-items: flex-start; gap: 10px; padding-left: 0; }
.lp-trustbox .lp-checklist li::before { content: none; }
.lp-trustbox .lp-checklist .lp-icon { flex: none; color: var(--lp-primary-ink); margin-top: 2px; }

/* Review cards: capped width, centred in their area, long words wrap */
.lp-reviews__list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 420px)); justify-content: center; min-width: 0; }
.lp-review { width: 100%; max-width: 420px; min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
@media (min-width: 768px) { .lp-reviews__list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 420px)); } }
.lp-reviews__summary, .lp-reviews__list { min-width: 0; }

/* Sale badge on the product photo: 12 px from the top and left edge of the image (board 04) */
.lp-store.single-product .onsale { top: calc(var(--lp-space-2) + 12px); left: calc(12px - var(--lp-pad)); }
@media (min-width: 768px) { .lp-store.single-product .onsale { left: 12px; } }

/* Product page layout per breakpoint, as board 04 A6 (390 / 768 / 1280) */
@media (min-width: 768px) { .lp-store.single-product div.product { gap: var(--lp-gap, 24px); } }
@media (min-width: 1080px) {
	.lp-store.single-product div.product { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--lp-gap, 32px); }
	.lp-reviews { grid-template-columns: 340px minmax(0, 1fr); }
}
/* Sticky add-to-cart bar on phones and tablets: thumbnail, name, price, button */
.lp-stickyatc { gap: 12px; padding: 10px var(--lp-pad) 14px; box-shadow: 0 -1px 3px rgba(20, 32, 43, .08); }
.lp-stickyatc__thumb { flex: none; width: 44px; height: 44px; border-radius: var(--lp-radius-sm); background: var(--lp-bg-soft); overflow: hidden; }
.lp-stickyatc__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lp-stickyatc__name { font-size: 14px; }
.lp-stickyatc__price { font-family: var(--lp-font-heading); font-weight: var(--lp-heading-weight); }
.lp-stickyatc__price ins { text-decoration: none; color: var(--lp-sale); }
.lp-stickyatc__price del { display: none; }
.lp-stickyatc .lp-btn { min-height: 52px; padding-inline: 22px; flex: none; }
@media (max-width: 1079px) { .lp-store.single-product .lp-main-store { padding-bottom: 84px; } }

/* Review carousel: two cards per view, arrows for the rest */
.lp-reviews__list { display: block; min-width: 0; }
.lp-reviews__track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 2px; }
.lp-reviews__track::-webkit-scrollbar { display: none; }
.lp-reviews__track .lp-review { flex: 0 0 100%; max-width: none; width: auto; scroll-snap-align: start; }
@media (min-width: 768px) { .lp-reviews__track .lp-review { flex-basis: calc((100% - 16px) / 2); } }
.lp-reviews__nav { display: flex; justify-content: flex-end; gap: 8px; margin-top: var(--lp-space-3); }
.lp-reviews__nav[hidden] { display: none; }
.lp-reviews__nav .lp-iconbtn { border: var(--lp-border-w) solid var(--lp-border-strong); border-radius: 50%; background: var(--lp-bg); }
.lp-reviews__nav .lp-iconbtn:disabled { opacity: .4; cursor: default; }
.lp-reassure[hidden] { display: none; }

/* Checkout lines under the button, as board 05: bold line with icon, then a small grey line */
.lp-reassure-wrap { display: flex; flex-direction: column; align-items: center; gap: 6px; margin-top: var(--lp-space-3); text-align: center; font-size: 14px; }
.lp-reassure-wrap .lp-reassure { margin: 0; color: var(--lp-text); font-weight: 600; }
.lp-reassure-trust { margin: 0; color: var(--lp-muted); }

/* Idle borders are 1 px (board 01/05); the selected state adds a 1 px ring instead of a 2 px border, so nothing shifts */
.lp-store input[type="text"], .lp-store input[type="email"], .lp-store input[type="tel"], .lp-store input[type="password"], .lp-store input[type="search"], .lp-store input[type="number"], .lp-store select, .lp-store textarea, .lp-store .select2-container .select2-selection--single { border-width: 1px; }
.lp-store .lp-addons .lp-addon label, .lp-choice, .lp-store ul.wc_payment_methods .wc_payment_method { border-width: 1px; }
.lp-store .lp-addons .lp-addon:has(input:checked) label, .lp-choice:has(input:checked), .lp-store ul.wc_payment_methods .wc_payment_method:has(> input:checked) { border-color: var(--lp-primary); box-shadow: 0 0 0 1px var(--lp-primary); }

/* Payment options: radio, icon (same style as the extras), title, fee on the right */
.lp-store .wc_payment_method > label::before { order: -2; }
.lp-store .lp-payicon { order: -1; margin-left: 0; width: 28px; height: 28px; border: 0; background: none; color: var(--lp-primary); }
.lp-store .lp-payicon .lp-icon { width: 24px; height: 24px; }
.lp-store .wc_payment_method:has(> input:checked) .lp-payicon { background: none; }
.lp-store .lp-payfee { order: 3; margin-left: auto; flex: none; font-weight: 700; }

/* Checkout line: price, then the struck regular price with a gap */
.lp-store .woocommerce-checkout-review-order-table .lp-compare-at { margin-left: var(--lp-space-2); margin-right: 0; }

/* Saving on the line, a green badge with the amount (cart and checkout) */
.lp-save-badge { display: block; width: fit-content; margin: 6px 0 0 auto; padding: 3px 8px; border-radius: 4px; background: var(--lp-success-soft); color: var(--lp-success); font-size: 13px; font-weight: 700; line-height: 1.4; }
.lp-store .woocommerce-checkout-review-order-table .lp-compare-at { display: block; margin: 0; }
.lp-store .woocommerce-checkout-review-order-table td.product-total { text-align: right; }
.lp-store.woocommerce-cart .woocommerce-cart-form td.product-subtotal { text-align: right; }

/* Photo from the customer, a thumbnail between the opinion and the name */
.lp-review__photo { display: block; width: 72px; height: 72px; overflow: hidden; border-radius: var(--lp-radius-sm); background: var(--lp-bg-soft); }
.lp-review__img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Product tabs: features table, package list; global FAQ under the reviews */
.lp-acc__body .lp-specs { width: 100%; margin: 0; border-collapse: collapse; }
.lp-acc__body .lp-specs th, .lp-acc__body .lp-specs td { padding: var(--lp-space-2) 0; border-bottom: var(--lp-border-w) solid var(--lp-border); text-align: left; vertical-align: top; }
.lp-acc__body .lp-specs th { width: 45%; padding-right: var(--lp-space-3); color: var(--lp-muted); font-weight: 600; }
.lp-acc__body .lp-specs tr:last-child th, .lp-acc__body .lp-specs tr:last-child td { border-bottom: 0; }
.lp-acc__body .lp-checklist li { display: flex; align-items: flex-start; gap: 10px; padding-left: 0; }
.lp-acc__body .lp-checklist li::before { content: none; }
.lp-acc__body .lp-checklist .lp-icon { color: var(--lp-primary-ink); margin-top: 2px; }
.lp-pfaq { grid-column: 1 / -1; box-sizing: border-box; display: grid; justify-items: center; width: 100%; max-width: none; margin: 0; padding-block: var(--lp-section-y) 0; }
.lp-pfaq .lp-h2 { margin: 0 0 var(--lp-space-5); text-align: center; font-size: var(--lp-text-2xl); }
.lp-pfaq .lp-accordion { grid-column: auto; width: 100%; max-width: var(--lp-read); }
.lp-pfaq .lp-acc__body p { margin: 0 0 var(--lp-space-3); }
.lp-pfaq .lp-acc__body p:last-child { margin-bottom: 0; }

/* ===== Cart: "Add one more for only X" next to the quantity ===== */
.lp-store .lp-qtyrow { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lp-space-2) var(--lp-space-3); }
.lp-store .lp-addmore { display: inline-flex; align-items: center; gap: var(--lp-space-1); max-width: 100%; min-height: 36px; padding: var(--lp-space-1) var(--lp-space-3); border: var(--lp-border-w) solid var(--lp-primary-hover); border-radius: var(--lp-radius-full); background: var(--lp-primary-soft); color: var(--lp-primary-ink); font: inherit; font-size: var(--lp-text-sm); line-height: 1.25; text-align: left; cursor: pointer; }
.lp-store .lp-addmore:hover { background: var(--lp-bg); }
.lp-store .lp-addmore svg { flex: none; }
.lp-store .lp-addmore strong { font-weight: 700; white-space: nowrap; }

/* ===== Cart lines on phones: name and total on top, quantity and remove below, the offer on its own row ===== */
@media (min-width: 768px) {
	.lp-store .lp-qtyrow { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 767px) {
	.lp-store.woocommerce-cart .woocommerce-cart-form tr.cart_item { grid-template-columns: 72px minmax(0, 1fr) auto; gap: var(--lp-space-3) var(--lp-space-3); align-items: start; padding: var(--lp-space-5) 0; }
	.lp-store.woocommerce-cart .woocommerce-cart-form td.product-thumbnail { grid-column: 1; grid-row: 1 / span 2; }
	.lp-store.woocommerce-cart .woocommerce-cart-form td.product-thumbnail img { width: 72px; height: 72px; }
	.lp-store.woocommerce-cart .woocommerce-cart-form td.product-name { grid-column: 2; grid-row: 1; }
	.lp-store.woocommerce-cart .woocommerce-cart-form td.product-subtotal { grid-column: 3; grid-row: 1; justify-self: end; }
	/* The saving is in the order summary; on the line it only crowds the price. */
	.lp-store.woocommerce-cart .woocommerce-cart-form td.product-subtotal .lp-save-badge { display: none; }

	/* The cells around the quantity dissolve so that the stepper and the offer are placed on the row grid. */
	.lp-store.woocommerce-cart .woocommerce-cart-form td.product-quantity, .lp-store.woocommerce-cart .woocommerce-cart-form td.product-quantity .lp-qtyrow { display: contents; }
	.lp-store.woocommerce-cart .woocommerce-cart-form td.product-quantity .quantity { grid-column: 2; grid-row: 2; justify-self: start; align-self: center; }
	.lp-store.woocommerce-cart .woocommerce-cart-form td.product-remove { grid-column: 3; grid-row: 2; justify-self: end; align-self: center; }
	.lp-store.woocommerce-cart .woocommerce-cart-form .lp-addmore { grid-column: 1 / -1; grid-row: 3; justify-content: center; text-align: center; min-height: 40px; }
}

/* ===== Cart on phones and tablets: sticky "Continue to checkout" bar instead of the order summary ===== */
.lp-cartbar { display: none; }
@media (max-width: 959px) {
	.lp-store.woocommerce-cart .cart_totals { padding: 0; background: none; }
	.lp-store.woocommerce-cart .cart_totals h2, .lp-store.woocommerce-cart .cart_totals table.shop_table, .lp-store.woocommerce-cart .cart_totals .wc-proceed-to-checkout, .lp-store.woocommerce-cart .cart_totals > .lp-codnote, .lp-store.woocommerce-cart .cart_totals > .lp-carttrust, .lp-store.woocommerce-cart .lp-continue { display: none; }
	.lp-store.woocommerce-cart .lp-cartbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; display: grid; gap: var(--lp-space-2); padding: var(--lp-space-3) var(--lp-pad) calc(var(--lp-space-3) + env(safe-area-inset-bottom, 0px)); background: var(--lp-bg); border-top: var(--lp-border-w) solid var(--lp-border); box-shadow: 0 -4px 16px rgba(16, 24, 40, .08); }
	.lp-store.woocommerce-cart .lp-cartbar__btn { width: 100%; min-height: var(--lp-btn-h-xl, 52px); font-size: var(--lp-text-md); }
	.lp-store.woocommerce-cart .lp-cartbar__note { display: flex; align-items: center; justify-content: center; gap: var(--lp-space-2); margin: 0; color: var(--lp-muted); font-size: var(--lp-text-sm); }
	/* Room for the bar under the last thing on the page. */
	.lp-store.woocommerce-cart .lp-woopage { padding-bottom: 120px; }
}
@media (max-width: 959px) {
	.lp-store.woocommerce-cart .lp-cartbar__trust { margin: 0; text-align: center; color: var(--lp-text); font-size: var(--lp-text-sm); font-weight: 600; }
}

/* ===== Cart: add-on cards (upsell) under the items ===== */
.lp-store .lp-upsell { display: grid; gap: var(--lp-space-4); margin: var(--lp-space-5) 0 0; }
.lp-store .lp-upsell__card { position: relative; display: block; overflow: hidden; border: var(--lp-border-w-strong) solid var(--lp-primary); border-radius: var(--lp-radius); background: var(--lp-bg); cursor: pointer; }
.lp-store .lp-upsell__card:has(input:checked) { background: var(--lp-primary-soft); }
.lp-store .lp-upsell__tab { display: inline-flex; align-items: center; gap: var(--lp-space-2); padding: var(--lp-space-2) var(--lp-space-4) var(--lp-space-2) var(--lp-space-3); border-bottom-right-radius: var(--lp-radius); background: var(--lp-primary); color: #fff; font-weight: 700; font-size: var(--lp-text-sm); }
.lp-store .lp-upsell__tab input { margin: 0; accent-color: #fff; }
.lp-store .lp-upsell__body { display: flex; align-items: center; gap: var(--lp-space-4); padding: var(--lp-space-3) var(--lp-space-4) var(--lp-space-4); }
.lp-store .lp-upsell__media { flex: none; display: grid; place-items: center; width: 84px; height: 84px; overflow: hidden; border-radius: var(--lp-radius-sm); background: var(--lp-bg-soft); color: var(--lp-primary-ink); }
.lp-store .lp-upsell__img { width: 100%; height: 100%; object-fit: cover; }
.lp-store .lp-upsell__text { display: grid; gap: var(--lp-space-1); min-width: 0; }
.lp-store .lp-upsell__text small { color: var(--lp-muted); font-size: var(--lp-text-sm); line-height: 1.35; }
.lp-store .lp-upsell__price { color: var(--lp-primary-ink); font-weight: 700; }

/* ===== Order received (board 05, C3) ===== */
.lp-thanks { display: grid; gap: var(--lp-space-6); padding-top: var(--lp-space-5); align-items: start; }
.lp-thanks__main { display: grid; gap: var(--lp-space-6); min-width: 0; }
.lp-thanks__head { display: grid; justify-items: start; gap: var(--lp-space-3); }
.lp-thanks__check { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--lp-success-soft); color: var(--lp-success); }
.lp-thanks__check svg { stroke-width: 2.6; }
.lp-thanks__title { margin: 0; padding: 0; border: 0; background: none; color: var(--lp-text); font-family: var(--lp-font-heading); font-weight: var(--lp-heading-weight); font-size: var(--lp-text-2xl); line-height: 1.15; letter-spacing: -.01em; text-wrap: balance; }
.lp-thanks__lead { margin: 0; color: var(--lp-muted); }
.lp-thanks__lead b { color: var(--lp-text); overflow-wrap: anywhere; }

.lp-store .lp-next { margin: 0; padding: var(--lp-space-5); border: var(--lp-border-w) solid var(--lp-border); border-radius: var(--lp-radius); }
.lp-next__title { margin: 0 0 var(--lp-space-4); font-family: var(--lp-font-heading); font-size: var(--lp-text-lg); }
.lp-next__steps { list-style: none; margin: 0; padding: 0; display: grid; }
.lp-next__step { position: relative; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 0 var(--lp-space-4); padding: 0 0 var(--lp-space-5); }
.lp-next__step:last-child { padding-bottom: 0; }
.lp-next__step:not(:last-child)::before { content: ""; position: absolute; left: 15px; top: 34px; bottom: 2px; width: 2px; background: var(--lp-border); }
.lp-next__mark { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; border: 2px solid var(--lp-border-strong); color: var(--lp-muted); background: var(--lp-bg); }
.lp-next__step--done .lp-next__mark { border-color: var(--lp-success); background: var(--lp-success); color: #fff; }
.lp-next__step--next .lp-next__mark { border-color: var(--lp-primary); color: var(--lp-primary-ink); }
.lp-next__text { display: grid; gap: 2px; align-content: start; min-width: 0; padding-top: 4px; }
.lp-next__text small { color: var(--lp-muted); font-size: var(--lp-text-sm); line-height: 1.4; }

.lp-thanks__cards { display: grid; gap: var(--lp-space-4); }
.lp-thanks__card { display: grid; gap: var(--lp-space-1); align-content: start; padding: var(--lp-space-4); background: var(--lp-bg-soft); border-radius: var(--lp-radius-sm); font-size: var(--lp-text-sm); overflow-wrap: anywhere; }
.lp-thanks__card address { font-style: normal; }
.lp-thanks__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lp-space-3) var(--lp-space-5); }
.lp-thanks__actions .button { min-height: var(--lp-btn-h-xl, 52px); }
.lp-thanks__support { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; text-underline-offset: 3px; }

.lp-thanks__summary { display: grid; gap: var(--lp-space-4); padding: var(--lp-space-5); background: var(--lp-bg-soft); border-radius: var(--lp-radius); min-width: 0; }
.lp-thanks__summary-title { font-family: var(--lp-font-heading); font-weight: var(--lp-heading-weight); font-size: var(--lp-text-lg); }
.lp-thanks__items { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--lp-space-4); }
.lp-thanks__item { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: var(--lp-space-4); align-items: center; line-height: 1.3; }
.lp-thanks__thumb { position: relative; display: block; width: 64px; height: 64px; border: var(--lp-border-w) solid var(--lp-border); border-radius: var(--lp-radius-sm); background: var(--lp-bg-soft); }
.lp-thanks__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.lp-thanks__qty { position: absolute; top: -8px; right: -8px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--lp-muted); color: #fff; font: 700 12px/22px var(--lp-font-body); text-align: center; }
.lp-thanks__name { min-width: 0; overflow-wrap: anywhere; }
.lp-thanks__price { text-align: right; white-space: nowrap; }
.lp-thanks__lines { display: grid; gap: var(--lp-space-2); margin: 0; padding-top: var(--lp-space-4); border-top: var(--lp-border-w) solid var(--lp-border); font-size: var(--lp-text-sm); }
.lp-thanks__lines > div { display: flex; justify-content: space-between; gap: var(--lp-space-3); }
.lp-thanks__lines dt, .lp-thanks__lines dd { margin: 0; }
.lp-thanks__lines dd { white-space: nowrap; }
.lp-thanks__line--discount { color: var(--lp-success); }
.lp-thanks__total { display: flex; justify-content: space-between; align-items: baseline; gap: var(--lp-space-3); padding-top: var(--lp-space-3); border-top: var(--lp-border-w) solid var(--lp-border); }
.lp-thanks__total-amount { font-family: var(--lp-font-heading); font-weight: var(--lp-heading-weight); font-size: var(--lp-text-xl); }
.lp-thanks__vat { margin-top: calc(var(--lp-space-2) * -1); text-align: right; color: var(--lp-muted); font-size: 13px; }
.lp-thanks .woocommerce-bacs-bank-details { padding: var(--lp-space-4); border: var(--lp-border-w) solid var(--lp-border); border-radius: var(--lp-radius-sm); overflow-wrap: anywhere; }

@media (min-width: 600px) {
	.lp-thanks__cards { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 960px) {
	.lp-thanks { grid-template-columns: minmax(0, 640px) 400px; justify-content: center; gap: var(--lp-space-9); padding-top: var(--lp-space-7); }
	.lp-thanks__summary { position: sticky; top: 96px; }
}
@media (max-width: 380px) {
	.lp-thanks__item { grid-template-columns: 56px minmax(0, 1fr) auto; gap: var(--lp-space-3); }
	.lp-thanks__thumb { width: 56px; height: 56px; }
	.lp-next { padding: var(--lp-space-4); }
}

/* Stripe: card icon on the option row, one frame, no empty gap, no "save to account" (guest checkout, hidden account). */
.lp-store .payment_method_stripe > label::after { content: ""; order: -1; flex: none; width: 28px; height: 28px; background: var(--lp-primary); -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 5h20v14H2zM2 10h20M6 15h4'/></svg>") center / 24px 24px no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M2 5h20v14H2zM2 10h20M6 15h4'/></svg>") center / 24px 24px no-repeat; }
.lp-store .payment_method_stripe .lp-payicon { display: none; }
.lp-store .payment_method_stripe .payment_box { padding-top: 0; }
.lp-store .payment_method_stripe .payment_box > p:empty, .lp-store .payment_method_stripe .payment_box > div:empty { display: none; }
.lp-store .payment_method_stripe .payment_box fieldset { margin: 0; padding: 0; border: 0; background: none; }
.lp-store .payment_method_stripe .wc-upe-form, .lp-store .payment_method_stripe .wc-stripe-upe-element, .lp-store .payment_method_stripe .wc-stripe-elements-field { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.lp-store .payment_method_stripe .woocommerce-SavedPaymentMethods-saveNew, .lp-store .payment_method_stripe .wc-stripe-save-source { display: none; }
/* Stripe "save to account": the label has an inline display:inline, so the rule needs !important. */
.lp-store label[for$="-new-payment-method"], .lp-store input[name$="-new-payment-method"], .lp-store :is(p, div, fieldset):has(> input[name$="-new-payment-method"]), .lp-store :is(p, div, fieldset):has(> label[for$="-new-payment-method"]) { display: none !important; }
.lp-store .woocommerce-SavedPaymentMethods-saveNew, .lp-store fieldset:has(> .woocommerce-SavedPaymentMethods-saveNew) { display: none !important; }

/* "+0,00" pill on the payment options that cost nothing extra (next to the cash on delivery fee). */
.lp-store .lp-payfee--free { padding: 2px var(--lp-space-3); border-radius: 999px; background: var(--lp-success-soft); color: var(--lp-success); font-size: var(--lp-text-sm); line-height: 1.5; }
.lp-store .wc_payment_method > .lp-payfee--free { position: absolute; top: 28px; right: var(--lp-space-4); transform: translateY(-50%); pointer-events: none; }
