/* ==========================================================================
   LEMODUS — base.css
   Global layout, header, navigation, homepage sections, product card, footer.
   Tokens come from theme.json (--wp--preset--*, --wp--custom--*); short
   aliases below keep component rules readable. Mobile-first.
   ========================================================================== */

:root {
	--c-bg: var(--wp--preset--color--base);
	--c-surface: var(--wp--preset--color--surface);
	--c-surface-2: var(--wp--preset--color--surface-2);
	--c-line: var(--wp--preset--color--line);
	--c-silver: var(--wp--preset--color--silver);
	--c-cyan: var(--wp--preset--color--cyan);
	--c-slate: var(--wp--preset--color--slate);
	--c-slate-dark: var(--wp--preset--color--slate-dark);
	--c-iron: var(--wp--preset--color--iron);
	--c-ink: var(--wp--preset--color--ink);
	--c-muted: var(--wp--preset--color--muted);
	--c-success: var(--wp--preset--color--success);
	--c-warning: var(--wp--preset--color--warning);
	--c-danger: var(--wp--preset--color--danger);
	--c-footer: #2f3a3b;
	--r-xs: var(--wp--custom--radius--xs, 6px);
	--r-sm: var(--wp--custom--radius--sm, 10px);
	--r-md: var(--wp--custom--radius--md, 16px);
	--r-lg: var(--wp--custom--radius--lg, 24px);
	--r-pill: 999px;
	--sh-raised: var(--wp--custom--shadow--raised);
	--sh-overlay: var(--wp--custom--shadow--overlay);
	--gutter: var(--wp--custom--gutter, clamp(1rem, 4vw, 2rem));
	--wrap: 1320px;
	--ease: var(--wp--custom--ease, cubic-bezier(.2, .7, .2, 1));
	--announce-h: 0px;
	--fs-xs: var(--wp--preset--font-size--xs);
	--fs-sm: var(--wp--preset--font-size--sm);
	--fs-md: var(--wp--preset--font-size--md);
	--fs-lg: var(--wp--preset--font-size--lg);
	--fs-xl: var(--wp--preset--font-size--xl);
	--fs-2xl: var(--wp--preset--font-size--huge);
	--fs-3xl: var(--wp--preset--font-size--display);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 8.5rem; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; overflow-x: clip; }
.l-lock, .l-lock body { overflow: hidden; }
img, svg, video { max-width: 100%; }
img { height: auto; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid var(--c-cyan); outline-offset: 2px; }
::selection { background: rgba(98, 146, 158, .25); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { clip: auto; width: auto; height: auto; margin: 0; padding: .75rem 1rem; z-index: 100000; background: #fff; color: var(--c-ink); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }

/* Block-gap resets inside custom components (they lay out with grid/flex gap). */
.wp-site-blocks > * + * { margin-block-start: 0; }
:is(.l-header, .l-header__bar, .l-header__actions, .l-hero__inner, .l-hero__copy, .l-hero__media, .l-tasks__grid, .l-section__head, .l-season, .l-season__copy, .l-season__media,
	.l-footer, .l-footer__grid, .l-footer__brand, .l-archive, .l-archive__layout, .l-archive__results, .l-toolbar, .l-product__top, .l-product__summary, .l-product__gallery, .l-buybox,
	.l-guide-card, .l-page-head, .l-bundle__top, .l-bundle__intro, .l-article__meta, .l-article__head) > * { margin-block: 0; }

/* Full-bleed sections stack edge to edge; spacing lives inside each section. */
.l-main > *, .l-home .wp-block-post-content > *, .l-landing .wp-block-post-content > *, .l-section > .l-wrap > * + .l-tasks__grid { margin-block-start: 0; }
.l-main > .wc-block-store-notices:empty { display: none; }

.l-wrap { box-sizing: border-box; width: 100%; max-width: calc(var(--wrap) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.l-wrap--text { max-width: calc(760px + 2 * var(--gutter)); }
.l-wrap--mid { max-width: calc(960px + 2 * var(--gutter)); }
.l-main { min-height: 50vh; }

.l-icon { width: 20px; height: 20px; flex: none; }
.l-flip { transform: scaleX(-1); }
.l-muted { color: var(--c-muted); }
.l-count { margin-left: .15rem; font-size: 12px; color: var(--c-muted); font-variant-numeric: tabular-nums; }
.l-eyebrow { display: inline-flex; align-items: center; gap: .6em; margin: 0; font-size: var(--fs-xs); font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--c-slate); }
.l-eyebrow::before { content: ""; width: 18px; height: 2px; background: var(--c-cyan); }
.l-eyebrow a { color: inherit; text-decoration: none; }
.l-lead { margin: 0; max-width: 62ch; font-size: var(--fs-md); line-height: 1.55; color: var(--c-muted); }
.l-page-title { margin: .5rem 0 .5rem; font-size: var(--fs-2xl); letter-spacing: -0.03em; text-wrap: balance; }
.l-page-head { margin-block: 0 1.75rem; }
.l-empty { padding: 1.5rem; border-radius: var(--r-md); background: var(--c-surface); color: var(--c-muted); }
.l-editor-note { padding: .75rem 1rem; border: 1px dashed var(--c-silver); border-radius: 8px; background: var(--c-surface); color: var(--c-muted); font: 13px/1.45 system-ui, sans-serif; }

/* ---------- Buttons ---------- */
.l-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	min-height: 48px; padding: 0 1.5rem; border: 0; border-radius: var(--r-pill);
	background: var(--c-slate); color: #fff; font: inherit; font-size: var(--wp--preset--font-size--base); font-weight: 560; line-height: 1.2;
	text-decoration: none; cursor: pointer; transition: background-color .2s var(--ease), color .2s, box-shadow .2s, transform .1s;
}
.l-btn:hover { background: var(--c-slate-dark); color: #fff; }
.l-btn:active { transform: translateY(1px); }
.l-btn:disabled, .l-btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.l-btn--ghost { background: transparent; color: var(--c-slate); box-shadow: inset 0 0 0 1.5px var(--c-slate); }
.l-btn--ghost:hover { background: var(--c-slate); color: #fff; }
.l-btn--card { width: 100%; min-height: 42px; padding: 0 1rem; font-size: var(--fs-sm); }
.l-btn.is-loading { opacity: .7; cursor: progress; }
.l-btn.is-added { background: var(--c-success); }
.wp-block-button.is-style-light .wp-block-button__link { background: #fff; color: var(--c-ink); }
.wp-block-button.is-style-light .wp-block-button__link:hover { background: var(--c-surface-2); }
.wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; box-sizing: border-box; text-decoration: none; }

.l-iconbtn { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--c-ink); cursor: pointer; transition: background-color .2s; }
.l-iconbtn:hover { background: var(--c-surface-2); }
.l-iconbtn .l-icon { width: 22px; height: 22px; }

/* ---------- Chips ---------- */
.l-chips, .l-chips.wp-block-categories { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.l-chip, .l-chips li a {
	display: inline-flex; align-items: center; gap: .4rem; min-height: 38px; padding: 0 .95rem; box-sizing: border-box;
	border: 1px solid var(--c-line); border-radius: var(--r-pill); background: #fff; color: var(--c-ink);
	font-size: var(--fs-sm); font-weight: 500; text-decoration: none; white-space: nowrap; transition: border-color .2s, background-color .2s;
}
.l-chip:hover, .l-chips li a:hover { border-color: var(--c-silver); background: var(--c-surface); color: var(--c-ink); }
.l-chips .current-cat a { border-color: var(--c-ink); }
.l-quicklinks { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.l-quicklinks__label { font-size: var(--fs-sm); color: var(--c-muted); }

/* ---------- Announcement ---------- */
.l-announce { background: var(--c-iron); color: #eef0ed; font-size: 13px; }
.l-announce__inner { display: block; margin: 0 auto; min-height: 36px; padding-block: .55rem; line-height: 1.4; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-sizing: border-box; }
.l-announce__sep { display: inline-block; width: 4px; height: 4px; margin: 0 .9rem; border-radius: 50%; background: var(--c-cyan); vertical-align: middle; }

/* ---------- Header ---------- */
.l-site-header:has(.l-announce) { --announce-h: 36px; }
.l-site-header { position: sticky; top: calc(-1 * var(--announce-h)); z-index: 50; }
@media (min-width: 783px) { .admin-bar .l-site-header { top: calc(32px - var(--announce-h)); } }
.l-header { position: relative; background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); border-bottom: 1px solid var(--c-line); }
.l-header__bar { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .25rem; min-height: 58px; }
.l-header__actions { display: flex; align-items: center; justify-content: flex-end; gap: .125rem; }

.l-wordmark { margin: 0; font-size: 1.1875rem; font-weight: 700; letter-spacing: .2em; line-height: 1; }
.l-wordmark a { color: var(--c-ink); text-decoration: none; }
.l-wordmark a::after { content: ""; display: inline-block; width: .3em; height: .3em; margin-left: .12em; border-radius: 50%; background: var(--c-cyan); vertical-align: .02em; }
.l-header .l-wordmark { justify-self: start; }

/* WooCommerce account + mini-cart icons, sized like our icon buttons. */
.l-header .wc-block-customer-account a, .l-header .wc-block-mini-cart__button {
	display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border-radius: 50%; color: var(--c-ink); background: transparent; transition: background-color .2s;
}
.l-header .wc-block-customer-account a:hover, .l-header .wc-block-mini-cart__button:hover { background: var(--c-surface-2); }
.l-header .wc-block-customer-account svg, .l-header .wc-block-mini-cart__icon { width: 24px; height: 24px; }
.l-header .wc-block-mini-cart__quantity-badge { position: relative; display: inline-grid; }
.l-header .wc-block-mini-cart__badge { min-width: 18px; height: 18px; padding: 0 4px; font-size: 11px; font-weight: 600; background: var(--c-slate) !important; color: #fff !important; border: 2px solid #fff; box-sizing: content-box; }
.l-header__account { display: none; }

/* Search */
.l-search {
	position: relative; display: flex; align-items: center; gap: .25rem; box-sizing: border-box;
	height: 48px; padding: 0 .3rem 0 2.75rem; border: 1px solid var(--c-line); border-radius: var(--r-pill); background: var(--c-surface);
	transition: border-color .2s, box-shadow .2s, background-color .2s;
}
.l-search:focus-within { border-color: var(--c-slate); background: #fff; box-shadow: 0 0 0 4px rgba(98, 146, 158, .18); }
.l-search__icon { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); display: grid; color: var(--c-muted); pointer-events: none; }
.l-search__input { flex: 1; min-width: 0; height: 100%; padding: 0; border: 0; background: transparent; color: var(--c-ink); font: inherit; font-size: 16px; outline: none; }
.l-search__input::placeholder { color: #7c8687; }
.l-search__input::-webkit-search-cancel-button { -webkit-appearance: none; }
.l-search__input:focus-visible { outline: none; }
.l-search__submit { flex: none; height: 38px; padding: 0 1rem; border: 0; border-radius: var(--r-pill); background: var(--c-slate); color: #fff; font: inherit; font-size: var(--fs-sm); font-weight: 560; cursor: pointer; }
.l-search__submit:hover { background: var(--c-slate-dark); }
.l-search__panel { position: absolute; z-index: 60; top: calc(100% + 8px); left: 0; right: 0; max-height: min(70vh, 520px); overflow: auto; padding: .5rem; background: #fff; border: 1px solid var(--c-line); border-radius: var(--r-md); box-shadow: var(--sh-overlay); }
.l-suggest__label { margin: .5rem .5rem .25rem; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--c-muted); }
.l-suggest__term, .l-suggest__product, .l-suggest__all { display: grid; align-items: center; gap: .75rem; padding: .55rem .6rem; border-radius: var(--r-sm); color: var(--c-ink); text-decoration: none; }
.l-suggest__term { grid-template-columns: auto 1fr; font-weight: 500; }
.l-suggest__type { padding: .1rem .5rem; border-radius: var(--r-pill); background: var(--c-surface-2); font-size: 11.5px; color: var(--c-muted); }
.l-suggest__product { grid-template-columns: 44px 1fr auto; }
.l-suggest__product img { width: 44px; height: 44px; object-fit: contain; border-radius: var(--r-xs); background: var(--c-surface); mix-blend-mode: multiply; }
.l-suggest__name { display: block; font-size: var(--fs-sm); font-weight: 500; line-height: 1.3; }
.l-suggest__brand { display: block; font-size: 12px; color: var(--c-muted); }
.l-suggest__price { font-size: var(--fs-sm); font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.l-suggest__all { color: var(--c-slate); font-weight: 560; }
.l-suggest__none { margin: .75rem; color: var(--c-muted); font-size: var(--fs-sm); }
[role=option][aria-selected=true], .l-search__panel a:hover { background: var(--c-surface); }

/* Mobile: header search opens as a panel below the bar. */
.l-header #l-search { display: none; }
.l-header #l-search.is-open { display: flex; position: absolute; z-index: 61; top: calc(100% + 8px); left: var(--gutter); right: var(--gutter); background: #fff; box-shadow: var(--sh-overlay); }
.l-search--inline { margin-block: 1.75rem; max-width: 560px; }
.l-search--drawer { margin: 1rem var(--gutter); }

/* Category bar (desktop) */
.l-catnav { display: none; }

/* Drawer (mobile menu) */
.l-drawer { box-sizing: border-box; margin: 0; inset: 0 auto 0 0; width: min(88vw, 400px); height: 100dvh; max-height: 100dvh; padding: 0 0 2rem; border: 0; background: #fff; color: var(--c-ink); overflow-y: auto; overscroll-behavior: contain; }
.l-drawer[open] { animation: l-slide-in .28s var(--ease); }
.l-drawer::backdrop { background: rgba(20, 25, 27, .45); }
@keyframes l-slide-in { from { transform: translateX(-24px); opacity: 0; } to { transform: none; opacity: 1; } }
.l-drawer__head { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; min-height: 58px; padding: 0 .5rem 0 var(--gutter); background: #fff; border-bottom: 1px solid var(--c-line); }
.l-drawer__title { font-weight: 600; }
.l-drawer__list, .l-drawer__list ul, .l-drawer__secondary { margin: 0; padding: 0; list-style: none; }
.l-drawer__list > li { border-bottom: 1px solid var(--c-line); }
.l-drawer__link, .l-drawer__group summary { display: flex; align-items: center; justify-content: space-between; min-height: 54px; padding: 0 var(--gutter); color: var(--c-ink); font-size: 1.0625rem; font-weight: 560; text-decoration: none; cursor: pointer; list-style: none; }
.l-drawer__group summary::-webkit-details-marker { display: none; }
.l-drawer__group summary .l-icon { transition: transform .2s; color: var(--c-muted); }
.l-drawer__group[open] summary .l-icon { transform: rotate(180deg); }
.l-drawer__group ul { padding: 0 0 .75rem; }
.l-drawer__group ul a { display: block; padding: .6rem var(--gutter) .6rem calc(var(--gutter) + .75rem); color: #2e3638; text-decoration: none; }
.l-drawer__group ul li:first-child a { font-weight: 560; color: var(--c-slate); }
.l-drawer__secondary { margin-top: 1.25rem; }
.l-drawer__secondary a { display: flex; align-items: center; gap: .75rem; min-height: 48px; padding: 0 var(--gutter); color: var(--c-ink); text-decoration: none; }
.l-drawer__secondary .l-icon { color: var(--c-muted); }

@media (min-width: 1024px) {
	.l-header__bar { grid-template-columns: auto minmax(0, 1fr) auto; gap: 2rem; min-height: 72px; }
	.l-menu-toggle, .l-search-toggle { display: none; }
	.l-header #l-search { display: flex; justify-self: center; width: min(100%, 600px); }
	.l-header__account { display: block; }
	.l-wordmark { font-size: 1.3125rem; }

	.l-catnav { display: block; position: relative; border-top: 1px solid var(--c-line); }
	.l-catnav__list { display: flex; align-items: center; gap: .125rem; min-height: 48px; margin: 0 auto; list-style: none; }
	.l-catnav__item { display: flex; align-items: center; }
	.l-catnav__item.is-split { margin-left: auto; }
	.l-catnav__link { display: inline-flex; align-items: center; min-height: 36px; padding: 0 .5rem; border-radius: var(--r-pill); color: var(--c-ink); font-size: 13.5px; font-weight: 500; white-space: nowrap; text-decoration: none; transition: background-color .2s; }
	.l-catnav__link:hover, .l-catnav__item:hover > .l-catnav__link { background: var(--c-surface-2); }
	.l-catnav__toggle { display: inline-grid; place-items: center; width: 24px; height: 28px; margin-left: -.35rem; padding: 0; border: 0; background: none; color: var(--c-muted); cursor: pointer; }
	.l-catnav__toggle .l-icon { width: 16px; height: 16px; transition: transform .2s; }
	.l-catnav__toggle[aria-expanded="true"] .l-icon { transform: rotate(180deg); }
	.l-catnav__panel { position: absolute; z-index: 55; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); box-shadow: 0 24px 40px -28px rgba(20, 25, 27, .35); opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .18s var(--ease), transform .18s var(--ease), visibility 0s linear .18s; }
	.l-catnav__item:hover > .l-catnav__panel, .l-catnav__toggle[aria-expanded="true"] + .l-catnav__panel { opacity: 1; visibility: visible; transform: none; transition-delay: .06s, .06s, 0s; }
	.l-catnav__panel-inner { display: grid; grid-template-columns: 240px 1fr; gap: 2rem; padding-block: 1.75rem 2rem; }
	.l-catnav__panel-title { margin: 0; font-size: var(--fs-lg); font-weight: 620; letter-spacing: -0.02em; }
	.l-catnav__panel-title a { display: inline-flex; align-items: center; gap: .5rem; color: var(--c-ink); text-decoration: none; }
	.l-catnav__children { columns: 3 220px; column-gap: 2rem; margin: 0; padding: 0; list-style: none; }
	.l-catnav__children a { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .45rem 0; color: #2e3638; text-decoration: none; break-inside: avoid; }
	.l-catnav__children a:hover { color: var(--c-slate); }
}
@media (min-width: 1280px) {
	.l-catnav__list { gap: .25rem; }
	.l-catnav__link { padding: 0 .75rem; font-size: 14.5px; }
}

/* ---------- Sections ---------- */
.l-section { padding-block: clamp(3rem, 2rem + 4vw, 6rem); }
.l-section--tint { background: var(--c-surface); }
.l-section + .l-section:not(.l-section--tint) { padding-top: 0; }
.l-section--tint + .l-section { padding-top: clamp(3rem, 2rem + 4vw, 6rem); }
.l-section__head { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); max-width: 720px; }
.l-section__head--row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .75rem 2rem; max-width: none; }
.l-section-title { margin: 0; font-size: var(--fs-2xl); letter-spacing: -0.03em; text-wrap: balance; }
.l-section-lead { margin: .6rem 0 0; color: var(--c-muted); font-size: var(--fs-md); max-width: 60ch; }
.l-section-link { margin: 0; }
.l-section-link a { display: inline-flex; align-items: center; gap: .4rem; font-weight: 560; text-decoration: none; white-space: nowrap; }
.l-section-link a::after { content: "→"; transition: transform .2s; }
.l-section-link a:hover::after { transform: translateX(3px); }

/* ---------- Hero ---------- */
.l-hero { padding-block: clamp(1.5rem, 1rem + 3vw, 3.5rem) clamp(2.5rem, 2rem + 4vw, 5.5rem); background: var(--c-surface); }
.l-hero__inner { display: grid; gap: 2rem; }
.l-hero__title { margin: 1rem 0 1.1rem; max-width: 15ch; font-size: var(--fs-3xl); font-weight: 640; line-height: 1.02; letter-spacing: -0.04em; text-wrap: balance; }
.l-hero__lead { margin: 0; max-width: 52ch; font-size: var(--fs-md); line-height: 1.6; color: #3d4749; }
.l-hero__actions { margin-top: 1.75rem !important; gap: .75rem; }
.l-hero__actions .wp-block-button { flex: 1 1 100%; }
.l-hero__actions .wp-block-button__link { width: 100%; }
.l-hero .l-quicklinks { margin-top: 1.75rem; }
.l-hero__media { position: relative; aspect-ratio: 16 / 11; border-radius: var(--r-lg); overflow: hidden; }
.l-hero__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.l-hero__media figure { height: 100%; margin: 0; }
.is-placeholder {
	display: grid; align-content: end; justify-items: start; padding: 1.25rem; box-sizing: border-box;
	background:
		linear-gradient(112deg, transparent 38%, rgba(255, 255, 255, .09) 39%, rgba(255, 255, 255, .09) 41.5%, transparent 42.5%),
		linear-gradient(112deg, transparent 52%, rgba(255, 255, 255, .05) 53%, rgba(255, 255, 255, .05) 59%, transparent 60%),
		radial-gradient(120% 90% at 85% 10%, #6b8183 0%, transparent 55%),
		linear-gradient(160deg, #56696a 0%, #3c494a 55%, #2a3435 100%);
}
.is-placeholder:has(img) { padding: 0; background: none; }
.l-placeholder-label { margin: 0; padding: .4rem .65rem; border: 1px dashed rgba(255, 255, 255, .4); border-radius: var(--r-xs); color: rgba(255, 255, 255, .82); font-size: 11.5px; letter-spacing: .05em; text-transform: uppercase; }
.is-placeholder:has(img) .l-placeholder-label { display: none; }

@media (min-width: 600px) {
	.l-hero__actions .wp-block-button { flex: 0 0 auto; }
	.l-hero__actions .wp-block-button__link { width: auto; }
}
@media (min-width: 960px) {
	.l-hero__inner { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(2.5rem, 5vw, 5.5rem); }
	.l-hero__media { aspect-ratio: 5 / 4; }
	/* No photo chosen yet: the text uses the full width instead of leaving an empty column. */
	.l-hero__inner:not(:has(.l-hero__media)) { grid-template-columns: minmax(0, 1fr); }
}
.l-hero__inner:not(:has(.l-hero__media)) .l-hero__title { max-width: 20ch; }

/* ---------- Task cards ---------- */
.l-tasks__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.l-task {
	position: relative; display: flex; flex-direction: column; gap: .85rem; box-sizing: border-box; height: 100%; min-height: 148px; padding: 1rem;
	border: 1px solid var(--c-line); border-radius: var(--r-md); background: #fff; color: var(--c-ink); text-decoration: none;
	transition: border-color .2s, box-shadow .25s var(--ease), transform .25s var(--ease);
}
a.l-task:hover { border-color: var(--c-silver); box-shadow: var(--sh-raised); transform: translateY(-2px); color: var(--c-ink); }
.l-task__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--c-surface-2); color: var(--c-slate); }
.l-task__icon .l-icon { width: 24px; height: 24px; }
.l-task__body { display: grid; gap: .25rem; }
.l-task__title { font-size: 15.5px; font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; }
.l-task__text { font-size: 13px; line-height: 1.4; color: var(--c-muted); }
.l-task__arrow { position: absolute; top: 1rem; right: 1rem; color: var(--c-slate); opacity: .35; transition: opacity .2s, transform .2s; }
a.l-task:hover .l-task__arrow { opacity: 1; transform: translateX(2px); }
@media (min-width: 768px) { .l-tasks__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; } .l-task { padding: 1.25rem; min-height: 176px; } .l-task__title { font-size: var(--fs-md); } }

/* ---------- Product finder ---------- */
.l-finder { display: grid; gap: 1.75rem; }
.l-finder__form { display: grid; gap: 1.75rem; }
.l-finder__step { margin: 0; padding: 0; border: 0; min-width: 0; }
.l-finder__step legend { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-bottom: 1rem; padding: 0; font-size: var(--fs-lg); font-weight: 600; letter-spacing: -0.015em; }
.l-finder__num { display: inline-flex; align-items: center; height: 26px; padding: 0 .6rem; border-radius: var(--r-pill); background: var(--c-iron); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.l-finder__options { display: grid; gap: .6rem; }
.l-option { position: relative; display: flex; align-items: center; gap: .85rem; min-height: 56px; padding: .85rem 1.1rem; box-sizing: border-box; border: 1.5px solid var(--c-line); border-radius: var(--r-md); background: #fff; cursor: pointer; transition: border-color .15s, background-color .15s; }
.l-option input { position: absolute; opacity: 0; pointer-events: none; }
.l-option::before { content: ""; flex: none; width: 20px; height: 20px; border: 1.5px solid var(--c-silver); border-radius: 50%; transition: border .15s, box-shadow .15s; }
.l-option:hover { border-color: var(--c-silver); }
.l-option:has(input:checked) { border-color: var(--c-slate); background: rgba(74, 109, 124, .06); }
.l-option:has(input:checked)::before { border: 6px solid var(--c-slate); }
.l-option:has(input:focus-visible) { outline: 2px solid var(--c-cyan); outline-offset: 2px; }
.l-option span { font-weight: 500; }
.l-finder__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.l-finder.is-enhanced .l-finder__step[hidden] { display: none; }
.l-finder__result { display: grid; gap: 1rem; padding: clamp(1.25rem, 3vw, 2rem); border-radius: var(--r-lg); background: #fff; border: 1px solid var(--c-line); outline: none; }
.l-finder__title { margin: 0; font-size: var(--fs-lg); font-weight: 620; }
.l-finder__note { margin: 0; color: #3d4749; }
.l-finder__more { margin: 0; }
.l-finder__restart { justify-self: start; }
.l-finder__result .l-bundle-card { max-width: 440px; }
.l-finder__result .l-bundle-card__media { aspect-ratio: 2 / 1; }
@media (min-width: 768px) { .l-finder__options { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) {
	.l-finder { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 4rem; align-items: start; }
	.l-finder__intro { position: sticky; top: 9rem; }
	.l-finder__output { grid-column: 2; }
}

/* ---------- Product grids + card ---------- */
.l-grid, .l-products .wc-block-product-template { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem .75rem; margin: 0; padding: 0; list-style: none; }
.l-products .wc-block-product-template > li { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0; }
@media (min-width: 768px) { .l-grid, .l-products .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.25rem 1.25rem; } }
@media (min-width: 1200px) { .l-grid--4, .l-products--home .wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.l-card { position: relative; display: flex; flex-direction: column; height: 100%; }
.l-card__media { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: var(--r-md); background: var(--c-surface); }
.l-card__media img { display: block; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .5s var(--ease); }
.l-card:hover .l-card__media img { transform: scale(1.035); }
.l-card.is-out .l-card__media img { opacity: .55; }
.l-badge { position: absolute; top: .65rem; left: .65rem; padding: .3rem .6rem; border-radius: var(--r-pill); font-size: 12px; font-weight: 600; line-height: 1; }
.l-badge--sale { background: var(--c-cyan); color: var(--c-ink); }
.l-card__body { display: flex; flex-direction: column; gap: .3rem; padding: .9rem .1rem 0; }
.l-card__brand { margin: 0; font-size: 11.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--c-muted); }
.l-card__title { display: -webkit-box; margin: 0; overflow: hidden; font-size: 15.5px; font-weight: 560; line-height: 1.35; letter-spacing: -0.008em; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.l-card__title a { color: var(--c-ink); text-decoration: none; }
.l-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: var(--r-md); }
.l-card__title a:focus-visible { outline: none; }
.l-card__title a:focus-visible::after { outline: 2px solid var(--c-cyan); outline-offset: 4px; }
.l-card__benefit { display: -webkit-box; margin: 0; overflow: hidden; color: var(--c-muted); font-size: 13.5px; line-height: 1.45; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.l-card__rating { display: flex; align-items: center; gap: .3rem; margin: 0; font-size: 13px; }
.l-card__rating .l-icon { width: 15px; height: 15px; color: #b98528; }
.l-card__variants { margin: 0; font-size: 12.5px; color: var(--c-muted); }
.l-card__foot { display: grid; gap: .55rem; margin-top: auto; padding: .8rem .1rem 0; }
.l-card__foot .l-btn { position: relative; z-index: 2; }
.l-card__price, .l-product__price, .l-sticky__price { font-variant-numeric: tabular-nums; }
.l-card__price { font-size: 1.0625rem; font-weight: 640; letter-spacing: -0.01em; }
.l-card__price del, .l-product__price del { margin-right: .35rem; color: var(--c-muted); font-size: .85em; font-weight: 400; }
.l-card__price ins, .l-product__price ins { text-decoration: none; }
.l-card__price .woocommerce-price-suffix { font-size: 12px; font-weight: 400; color: var(--c-muted); }

.l-stock { display: flex; align-items: center; gap: .45rem; margin: 0; font-size: 12.5px; color: #3d4749; }
.l-stock::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--c-success); box-shadow: 0 0 0 3px rgba(46, 115, 80, .14); }
.l-stock--backorder::before { background: var(--c-warning); box-shadow: 0 0 0 3px rgba(138, 90, 0, .14); }
.l-stock--out { color: var(--c-muted); }
.l-stock--out::before { background: var(--c-silver); box-shadow: none; }

/* ---------- Bundles ---------- */
.l-bundle-grid { display: grid; gap: 1rem; }
@media (min-width: 768px) { .l-bundle-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; } }
.l-bundle-card { display: flex; flex-direction: column; gap: 1rem; padding: 1rem; border: 1px solid var(--c-line); border-radius: var(--r-lg); background: #fff; }
.l-bundle-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--r-md); background: var(--c-surface); }
.l-bundle-card__media > img { width: 100%; height: 100%; object-fit: cover; }
.l-bundle-card__stack { display: flex; align-items: center; justify-content: center; height: 100%; padding: 0 6%; }
.l-bundle-card__stack img { width: 36%; margin-inline: -3%; aspect-ratio: 1; object-fit: contain; mix-blend-mode: multiply; }
.l-bundle-card__body { display: grid; gap: .5rem; }
.l-bundle-card__title { margin: 0; font-size: var(--fs-lg); letter-spacing: -0.02em; }
.l-bundle-card__title a { color: var(--c-ink); text-decoration: none; }
.l-bundle-card__title a:hover { color: var(--c-slate); }
.l-bundle-card__text { margin: 0; color: var(--c-muted); font-size: var(--fs-sm); }
.l-bundle-card__items { display: grid; gap: .3rem; margin: .25rem 0 0; padding: 0; list-style: none; font-size: var(--fs-sm); }
.l-bundle-card__items li { position: relative; padding-left: 1rem; }
.l-bundle-card__items li::before { content: ""; position: absolute; left: 0; top: .6em; width: 5px; height: 5px; border-radius: 50%; background: var(--c-cyan); }
.l-qty { font-weight: 600; font-variant-numeric: tabular-nums; }
.l-bundle-card__foot { display: grid; gap: .75rem; margin-top: auto; padding-top: .75rem; border-top: 1px solid var(--c-line); }
.l-bundle-card__price { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; margin: 0; font-size: var(--fs-lg); font-weight: 640; font-variant-numeric: tabular-nums; }
.l-bundle-card__price .l-muted { font-size: var(--fs-sm); font-weight: 400; }
.l-bundle-card__price del { margin-left: auto; font-size: var(--fs-sm); font-weight: 400; color: var(--c-muted); }
.l-bundle-card__price ins { text-decoration: none; }
.l-form-status { min-height: 1.2em; margin: .25rem 0 0; font-size: 13px; color: var(--c-muted); }
.l-form-status:empty { display: none; }

/* ---------- Season ---------- */
.l-season { display: grid; overflow: hidden; border-radius: var(--r-lg); background: var(--c-iron); color: #eef0ed; }
.l-season__copy { display: grid; align-content: center; gap: 1rem; padding: clamp(1.75rem, 1rem + 4vw, 4rem); }
.l-season .l-eyebrow { color: var(--c-silver); }
.l-season__title { margin: 0; color: #fff; font-size: var(--fs-2xl); letter-spacing: -0.03em; }
.l-season p { margin: 0; max-width: 46ch; color: #dfe3df; }
.l-season .wp-block-buttons { margin-top: .5rem; }
.l-season__media { min-height: 220px; border-radius: 0; }
@media (min-width: 900px) { .l-season { grid-template-columns: 1.1fr .9fr; } .l-season__media { min-height: 380px; } .l-season:not(:has(.l-season__media)) { grid-template-columns: 1fr; } }
.l-season__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.l-season__media.l-media { position: relative; }
.l-season__media.l-media img { position: absolute; inset: 0; }

/* ---------- Collections (homepage product sections) ---------- */
.l-collection + .l-collection { padding-top: 0; }
.l-section:has(.l-season) + .l-collection--compact { padding-top: 0; margin-top: calc(-1 * clamp(1rem, 2vw, 2rem)); }
.l-collection--compact .l-section-title { font-size: var(--fs-xl); }
.l-grid--compact { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
.l-grid--compact .l-card { display: grid; grid-template-columns: 88px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: .9rem; padding: .75rem; border: 1px solid var(--c-line); border-radius: var(--r-md); background: #fff; }
.l-grid--compact .l-card__media { grid-row: 1 / 3; align-self: start; border-radius: var(--r-sm); }
.l-grid--compact .l-card__body { padding: 0; }
.l-grid--compact .l-card__benefit, .l-grid--compact .l-card__variants, .l-grid--compact .l-card__brand { display: none; }
.l-grid--compact .l-card__title { font-size: 14px; }
.l-grid--compact .l-card__foot { grid-column: 2; padding: .4rem 0 0; }
.l-grid--compact .l-card__foot .l-stock { display: none; }
@media (min-width: 768px) { .l-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .l-grid--compact.l-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---------- Guides ---------- */
.l-guide-grid, .wp-block-post-template.l-guide-grid { display: grid; gap: 2rem 1.5rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 640px) { .l-guide-grid, .wp-block-post-template.l-guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .l-guide-grid, .wp-block-post-template.l-guide-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.l-guide-card { position: relative; display: flex; flex-direction: column; gap: .6rem; }
.l-guide-card__media, .l-guide-card .wp-block-post-featured-image { margin: 0 0 .4rem; overflow: hidden; border-radius: var(--r-md); background: var(--c-surface); }
.l-guide-card__media img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .5s var(--ease); }
.l-guide-card:hover .l-guide-card__media img { transform: scale(1.03); }
.l-guide-card:not(:has(img))::before { content: ""; display: block; aspect-ratio: 3 / 2; margin-bottom: .4rem; border-radius: var(--r-md); background: repeating-linear-gradient(135deg, var(--c-surface) 0 14px, var(--c-surface-2) 14px 15px); }
.l-guide-card__title { margin: 0; font-size: var(--fs-lg); letter-spacing: -0.02em; line-height: 1.25; }
.l-guide-card__title a { color: var(--c-ink); text-decoration: none; }
.l-guide-card__title a:hover { color: var(--c-slate); }
.l-guide-card__excerpt, .l-guide-card__excerpt p { margin: 0; color: var(--c-muted); font-size: var(--fs-sm); }
.l-guide-card__date { font-size: 12.5px; color: var(--c-muted); }
.l-guides .l-chips { margin-bottom: 2rem; }
.l-guides .l-wrap { padding-block: 0 4rem; }

/* ---------- Breadcrumbs ---------- */
.l-bc { padding-top: 1rem; font-size: 13px; color: var(--c-muted); }
.l-bc .woocommerce-breadcrumb { margin: 0; }
.l-bc a { color: var(--c-muted); text-decoration: none; }
.l-bc a:hover { color: var(--c-ink); text-decoration: underline; }
.l-bc__sep { margin: 0 .45rem; color: var(--c-silver); }

/* ---------- Pagination ---------- */
.wp-block-query-pagination.l-pagination { margin-top: 2.75rem; gap: .35rem; }
.l-pagination .page-numbers, .l-pagination a { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 .75rem; box-sizing: border-box; border-radius: var(--r-pill); color: var(--c-ink); text-decoration: none; font-variant-numeric: tabular-nums; }
.l-pagination a:hover { background: var(--c-surface-2); }
.l-pagination .page-numbers.current { background: var(--c-ink); color: #fff; }

/* ---------- FAQ ---------- */
.l-faq .l-section-title { margin-bottom: 1rem; font-size: var(--fs-xl); }
.l-faq__list { border-top: 1px solid var(--c-line); }
.l-faq__item { border-bottom: 1px solid var(--c-line); }
.l-faq__q { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 0; font-size: var(--fs-md); font-weight: 560; cursor: pointer; list-style: none; }
.l-faq__q::-webkit-details-marker { display: none; }
.l-faq__icon { color: var(--c-slate); transition: transform .2s var(--ease); }
.l-faq__item[open] .l-faq__icon { transform: rotate(45deg); }
.l-faq__a { max-width: 70ch; padding: 0 0 1.25rem; color: #2e3638; }
.l-faq__a > :first-child { margin-top: 0; }
.l-faq__a > :last-child { margin-bottom: 0; }

/* ---------- Prose ---------- */
.l-prose { font-size: 1.0625rem; line-height: 1.72; }
.l-prose > :first-child { margin-top: 0; }
.l-prose h2 { margin: 2.2em 0 .6em; font-size: var(--fs-xl); }
.l-prose h3 { margin: 1.8em 0 .5em; font-size: var(--fs-lg); }
.l-prose p, .l-prose ul, .l-prose ol { margin: 0 0 1.1em; }
.l-prose li + li { margin-top: .35em; }
.l-prose a { text-underline-offset: .18em; }
.l-prose img { border-radius: var(--r-md); }
.l-prose table, .l-table-scroll table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.l-prose th, .l-prose td { padding: .7rem .8rem; border-bottom: 1px solid var(--c-line); text-align: left; vertical-align: top; }
.l-prose thead th { background: var(--c-surface); font-weight: 600; }
.l-table-scroll { overflow-x: auto; }
/* Tables pasted into editor content have no scroll wrapper: on phones, tighten them and let them scroll inside the column. */
@media (max-width: 640px) {
	.l-prose table { display: block; max-width: 100%; overflow-x: auto; font-size: 14px; }
	.l-prose th, .l-prose td { padding: .6rem .5rem; }
}

/* ---------- Article ---------- */
.l-article__head { display: grid; gap: .75rem; padding-block: 0 2rem; }
.l-article__title { margin: .25rem 0 0; font-size: var(--fs-3xl); line-height: 1.05; letter-spacing: -0.04em; text-wrap: balance; }
.l-article__meta { display: flex; flex-wrap: wrap; gap: .25rem 1rem; font-size: var(--fs-sm); color: var(--c-muted); }
.l-article__updated::before { content: "Atnaujinta "; }
.l-article__media { max-width: calc(1100px + 2 * var(--gutter)); margin-bottom: 2.5rem; }
.l-article__media img { border-radius: var(--r-lg); }
.l-article__body { padding-bottom: 3rem; }
.l-toc { margin-bottom: 2rem; padding: 1.25rem 1.5rem; border-radius: var(--r-md); background: var(--c-surface); }
.l-toc__title { margin: 0 0 .5rem; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--c-muted); }
.l-toc ol { display: grid; gap: .35rem; margin: 0; padding-left: 1.2rem; }
.l-toc a { color: var(--c-ink); text-decoration: none; }
.l-toc a:hover { color: var(--c-slate); text-decoration: underline; }
.l-page { padding-bottom: 4rem; }

/* ---------- Empty / 404 ---------- */
.l-empty-page { padding-block: clamp(3rem, 8vw, 7rem); }
.l-empty-state { display: grid; justify-items: center; gap: .75rem; padding: clamp(1.75rem, 5vw, 3rem); border: 1px dashed var(--c-silver); border-radius: var(--r-lg); background: var(--c-surface); text-align: center; }
.l-empty-state p { margin: 0; max-width: 52ch; }
.l-empty-state__title { font-size: var(--fs-lg); font-weight: 620; }
.l-empty-state .l-quicklinks { justify-content: center; margin-top: .5rem; }

/* ---------- Brands + reviews ---------- */
.l-brands { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .75rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.l-brand { display: grid; place-items: center; height: 84px; padding: 0 1rem; border: 1px solid var(--c-line); border-radius: var(--r-md); background: #fff; color: var(--c-ink); font-weight: 600; text-decoration: none; }
.l-brand img { max-height: 44px; width: auto; filter: grayscale(1); opacity: .8; transition: filter .2s, opacity .2s; }
.l-brand:hover img { filter: none; opacity: 1; }
.l-reviews-grid { display: grid; gap: 1rem; margin-top: 1.5rem; }
@media (min-width: 768px) { .l-reviews-grid { grid-template-columns: repeat(3, 1fr); } }
.l-review { display: grid; gap: .75rem; margin: 0; padding: 1.5rem; border-radius: var(--r-lg); background: #fff; }
.l-review__stars { display: flex; gap: 2px; margin: 0; color: #b98528; }
.l-review__stars .l-icon { width: 16px; height: 16px; }
.l-review blockquote { margin: 0; font-size: var(--fs-md); line-height: 1.55; }
.l-review figcaption { font-size: var(--fs-sm); }

/* ---------- Footer ---------- */
.l-footer { margin-top: 0; background: var(--c-footer); color: #d6dbd7; font-size: var(--fs-sm); }
.l-footer__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.25rem 1.5rem; padding-block: clamp(2.5rem, 6vw, 4.5rem) 2rem; }
.l-footer__brand { grid-column: 1 / -1; display: grid; align-content: start; gap: 1rem; max-width: 380px; }
.l-footer .l-wordmark a { color: #fff; }
.l-footer__claim { margin: 0; color: #b8c0bb; line-height: 1.6; }
.l-footer__col { min-width: 0; }
.l-footer__title { margin: 0 0 .9rem; font-size: 12px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--c-silver); }
.l-footer__links { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.l-footer a { color: #eef0ed; text-decoration: none; }
.l-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: .2em; }
.l-contact { display: grid; gap: .45rem; font-style: normal; }
.l-contact p { margin: 0; }
.l-contact .l-muted { color: #aab3ae; }
.l-social { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.l-social a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 .85rem; border: 1px solid rgba(255, 255, 255, .18); border-radius: var(--r-pill); }
.l-methods { display: flex; flex-wrap: wrap; gap: 1rem 2.5rem; padding-block: 1.25rem; border-top: 1px solid rgba(255, 255, 255, .1); }
.l-methods__group { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .9rem; }
.l-methods__label { display: inline-flex; align-items: center; gap: .45rem; font-weight: 600; color: #fff; }
.l-methods__label .l-icon { width: 18px; height: 18px; color: var(--c-silver); }
.l-methods ul { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.l-methods li { padding: .2rem .6rem; border-radius: var(--r-pill); background: rgba(255, 255, 255, .07); font-size: 12.5px; }
.l-legal { margin: 0 auto; padding-block: 1.25rem 2rem; border-top: 1px solid rgba(255, 255, 255, .1); color: #a3aca7; font-size: 12.5px; }
.l-footer--minimal { margin-top: 3rem; background: var(--c-surface); color: var(--c-muted); }
.l-footer--minimal a { color: var(--c-ink); }
.l-footer--minimal .l-legal { color: var(--c-muted); border-color: var(--c-line); }
.l-inline-links ul { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin: 0; padding: 1.25rem 0; list-style: none; font-size: 13px; }
@media (min-width: 768px) {
	.l-footer__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
	.l-footer__grid { grid-template-columns: minmax(0, 1.6fr) repeat(4, minmax(0, 1fr)); gap: 2.5rem; }
	.l-footer__brand { grid-column: auto; }
}

/* Finder picks: numbered work steps */
.l-finder__pick { display: flex; flex-direction: column; gap: .6rem; }
.l-finder__step-label { display: flex; align-items: center; gap: .5rem; margin: 0; font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--c-slate); }
.l-finder__step-label span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--c-slate); color: #fff; font-size: 12px; letter-spacing: 0; }
.l-finder__addall { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 1.5rem; }

/* Card: "nuo" prices, filter-matched option, quick options */
.l-card__from { font-size: .8em; font-weight: 450; color: var(--c-muted); }
.l-card__match { color: var(--c-slate); font-weight: 560; }
.l-card__opts { position: relative; z-index: 2; display: flex; flex-wrap: wrap; gap: .35rem; }
.l-opt { min-height: 32px; padding: 0 .65rem; border: 1px solid var(--c-line); border-radius: var(--r-pill); background: #fff; color: var(--c-ink); font: inherit; font-size: 12.5px; font-weight: 560; cursor: pointer; transition: border-color .15s, background-color .15s; }
.l-opt:hover { border-color: var(--c-silver); }
.l-opt[aria-checked="true"] { border-color: var(--c-slate); background: #f3f7f8; box-shadow: inset 0 0 0 1px var(--c-slate); }
.l-opt[data-out] { color: var(--c-muted); text-decoration: line-through; }
.l-btn[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }

/* Free-shipping progress (mini-cart, cart, checkout) */
.l-freeship { display: grid; gap: .45rem; margin: 0 0 1rem; padding: .75rem .9rem; border-radius: var(--r-md); background: var(--c-surface); font-size: 13.5px; color: #2e3638; }
.l-freeship__text { display: flex; align-items: center; gap: .4rem; margin: 0; }
.l-freeship__text strong { font-weight: 650; color: var(--c-ink); font-variant-numeric: tabular-nums; }
.l-freeship__track { height: 4px; overflow: hidden; border-radius: var(--r-pill); background: var(--c-line); }
.l-freeship__track span { display: block; height: 100%; border-radius: inherit; background: var(--c-slate); transition: width .35s var(--ease); }
.l-freeship.is-reached { background: #eef5f1; color: var(--c-success); }
.l-freeship.is-reached .l-freeship__track span { background: var(--c-success); }
.wc-block-mini-cart__drawer .l-freeship { margin: .5rem 1rem 1rem; }
.wp-block-woocommerce-cart + .l-freeship, .l-freeship + .wp-block-woocommerce-cart, .l-freeship + .wp-block-woocommerce-checkout { margin-top: 0; }
@media (prefers-reduced-motion: reduce) { .l-freeship__track span { transition: none; } }
.l-empty-state__more { margin: 2.5rem 0 1.25rem; font-size: var(--fs-xl); text-align: left; }
