/* Lucas Bites — design from LucasBites-demo.html. Tokens live in theme.json; this file holds layout + components. */

:root {
	--ink: var(--wp--preset--color--contrast);
	--batter: var(--wp--preset--color--base);
	--butter: var(--wp--preset--color--base-alt);
	--honey: var(--wp--preset--color--primary);
	--maple: var(--wp--preset--color--accent);
	--berry: var(--wp--preset--color--focus);
	--leaf: var(--wp--preset--color--fresh);
	--paper: var(--wp--preset--color--surface);
	--muted: var(--wp--preset--color--contrast-muted);
	--dash: var(--wp--preset--color--line);
	--pro-bg: var(--wp--preset--color--pro-bg);
	--pro-panel: var(--wp--preset--color--pro-panel);
	--pro-line: var(--wp--preset--color--pro-line);
	--pro-text: var(--wp--preset--color--pro-text);
	--pro-muted: var(--wp--preset--color--pro-muted);
	--radius: 14px;
	--bw: 2.5px;
	--shadow: 4px 4px 0 var(--ink);
	--display: var(--wp--preset--font-family--heading);
	--mono: var(--wp--preset--font-family--mono);
	/* Lucide icons (ISC) as CSS masks */
	--lb-icon-arrow: url("data:image/svg+xml,%3Csvg 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'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
	--lb-icon-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

body { -webkit-font-smoothing: antialiased; }
html { scroll-behavior: smooth; }
:focus-visible { outline: 3px solid var(--berry); outline-offset: 3px; border-radius: 6px; }
img { max-width: 100%; height: auto; }

.lb-wrap { max-width: 1200px; margin-left: auto !important; margin-right: auto !important; padding-left: 20px; padding-right: 20px; box-sizing: border-box; width: 100%; }
.lb-main { margin-top: 0 !important; }
.lb-main > * { margin-block-start: 0; }
.lb-eyebrow { font: 600 12px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--maple); margin: 0 0 14px; }
.lb-eyebrow.is-honey { color: var(--honey); }
.lb-show-s { display: none; }
.lb-icon { display: inline-block; flex-shrink: 0; vertical-align: middle; }

/* ---------- Buttons: mirror the logo's outlined lettering ---------- */
.wp-element-button,
.wp-block-button__link,
.lb-btn,
.wc-block-components-button:not(.is-link),
.wp-block-woocommerce-product-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: var(--bw) solid var(--ink) !important;
	background: var(--honey);
	color: var(--ink);
	font-weight: 700;
	padding: 12px 20px;
	border-radius: 999px !important;
	box-shadow: var(--shadow);
	text-decoration: none;
	transition: transform .12s, box-shadow .12s;
	cursor: pointer;
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.2;
}
.wp-element-button:hover,
.wp-block-button__link:hover,
.lb-btn:hover,
.wc-block-components-button:not(.is-link):hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--ink); background: var(--honey); color: var(--ink); }
/* WooCommerce's own button styles set their text colour with high specificity; keep ours. */
.wc-block-components-button:not(.is-link), .wc-block-components-button:not(.is-link) .wc-block-components-button__text { color: var(--ink) !important; }
.wc-block-components-button:is(.outlined, .is-style-outline):not(.is-link) { background: var(--paper); }
/* WooCommerce fills outline buttons with near-black on hover/focus/active; our ink text would vanish. Use butter instead. */
.wc-block-components-button:is(.outlined, .is-style-outline):not(.is-link):is(:hover, :focus, :active) { background: var(--butter) !important; border-color: var(--ink) !important; }
.wp-element-button:active,
.wp-block-button__link:active,
.lb-btn:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--ink); }
.is-style-ghost .wp-block-button__link,
.lb-btn--ghost { background: var(--paper); }
.lb-btn--small,
.lb-card__btn .wp-block-button__link,
.lb-card__btn .wc-block-components-product-button__button { padding: 8px 14px !important; font-size: 14px !important; box-shadow: 3px 3px 0 var(--ink); min-height: 0; }
.lb-btn--block { width: 100%; }
.lb-btn--flat { box-shadow: none; border-width: 1.5px !important; }
.lb-btn--honey-shadow { border-color: var(--honey) !important; box-shadow: 4px 4px 0 var(--honey); margin-top: 22px; }
.lb-btn--honey-shadow:hover { box-shadow: 6px 6px 0 var(--honey); }
.wp-block-buttons.lb-ctas { gap: 14px; }

.lb-arrow-link { font-weight: 700; display: inline-flex; align-items: center; gap: .4em; }
.lb-arrow-link::after {
	content: "";
	flex: none;
	width: 1.05em;
	height: 1.05em;
	background: currentColor;
	-webkit-mask: var(--lb-icon-arrow) center / contain no-repeat;
	mask: var(--lb-icon-arrow) center / contain no-repeat;
	transition: transform .2s;
}
.lb-arrow-link:hover::after { transform: translateX(3px); }

/* ---------- Utility bar + header ---------- */
.lb-site-header { position: sticky; top: -40px; z-index: 40; }
.admin-bar .lb-site-header { top: calc(var(--wp-admin--admin-bar--height, 32px) - 40px); }
/* Headers without the util bar (checkout) must not hide 40px under the top edge. */
.lb-site-header:not(:has(.lb-util)) { top: 0; }
.admin-bar .lb-site-header:not(:has(.lb-util)) { top: var(--wp-admin--admin-bar--height, 32px); }
/* On phones the admin bar is not fixed (scrolls away), so the header sticks to the very top. */
@media (max-width: 600px) { .admin-bar .lb-site-header { top: -40px; } .admin-bar .lb-site-header:not(:has(.lb-util)) { top: 0; } }
.lb-util { background: var(--ink); color: #F5EBDD; font-size: 13px; }
.lb-util a { color: inherit; text-decoration: none; }
.lb-util__in { max-width: 1200px; margin: 0 auto; padding: 0 20px; display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 40px; }
.lb-util__links { display: flex; gap: 18px; align-items: center; }
.lb-util__links a { display: inline-flex; align-items: center; gap: 6px; }
.lb-pro-pill { display: inline-flex; align-items: center; gap: 8px; border: 1.5px solid #5B524A; padding: 4px 12px 4px 4px; border-radius: 999px; font-weight: 600; }
.lb-pro-pill b { background: var(--honey); color: var(--ink); font: 700 11px/1 var(--mono); padding: 5px 8px; border-radius: 999px; letter-spacing: .06em; }
.lb-pro-pill:hover { border-color: var(--honey); }

.lb-mainbar { background: var(--batter); border-bottom: var(--bw) solid var(--ink); }
.lb-mainbar__in { max-width: 1200px; margin: 0 auto; padding: 0 20px; display: flex; align-items: center; gap: 28px; min-height: 78px; }
.lb-mainbar__in > * { margin: 0 !important; }
.lb-logo { gap: 10px; flex: none; }
.lb-logo .wp-block-site-logo img { height: 44px; width: auto !important; }
.lb-pro-badge { display: none; font: 700 12px/1 var(--mono); background: var(--honey); color: var(--ink); padding: 6px 8px; border-radius: 6px; letter-spacing: .08em; }
.lb-cats { display: flex; gap: 4px; flex: 1; overflow-x: auto; scrollbar-width: none; }
.lb-cats::-webkit-scrollbar { display: none; }
.lb-cats a { text-decoration: none; font-weight: 600; padding: 8px 12px; border-radius: 999px; white-space: nowrap; color: inherit; }
.lb-cats a:hover,
.lb-cats a.is-on { background: var(--butter); }
.lb-hicons { gap: 6px; flex: none; margin-left: auto !important; }
.lb-icon-btn { width: 44px; height: 44px; border-radius: 50%; border: 2px solid transparent; display: grid; place-items: center; color: inherit; text-decoration: none; }
.lb-icon-btn:hover { border-color: var(--ink); }
.lb-hicons .wc-block-mini-cart__button { width: 44px; height: 44px; border-radius: 50%; border: 2px solid transparent; padding: 0; justify-content: center; box-shadow: none; background: none; }
.lb-hicons .wc-block-mini-cart__button:hover { border-color: var(--ink); transform: none; box-shadow: none; }
.lb-hicons .wc-block-mini-cart__badge {
	background: var(--honey) !important;
	color: var(--ink) !important;
	border: 2px solid var(--ink) !important;
	font: 700 11px/1 var(--mono);
	min-width: 20px;
	height: 20px;
	border-radius: 10px;
}
.lb-secure { display: inline-flex; align-items: center; gap: .4rem; margin: 0; color: var(--leaf); font-weight: 700; font-size: 14px; }

/* ---------- Home: hero ---------- */
.lb-hero { position: relative; padding: 56px 0 110px; background: var(--butter); overflow: hidden; margin: 0 !important; }
.lb-hero__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: center; }
.lb-hero__grid > * { margin: 0 !important; }
.lb-hero__title { font-size: clamp(46px, 7vw, 92px) !important; font-weight: 800; margin: 0; }
.lb-hero__title em { font-style: normal; color: var(--maple); display: block; }
.lb-lead { font-size: 19px; max-width: 30ch; margin: 22px 0 28px; }
.lb-hero__media { position: relative; }
.lb-hero__photo { border: var(--bw) solid var(--ink); border-radius: 28px; overflow: hidden; box-shadow: 8px 8px 0 var(--ink); transform: rotate(1.5deg); aspect-ratio: 4 / 3.4; background: var(--paper); }
.lb-hero__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lb-hero__steps { position: absolute; left: -28px; bottom: -34px; background: var(--paper); border: var(--bw) solid var(--ink); border-radius: 18px; box-shadow: var(--shadow); padding: 14px 18px; display: flex; gap: 16px; transform: rotate(-2deg); margin: 0; list-style: none; }
.lb-hero__steps li { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; }
.lb-hero__steps li span { width: 28px; height: 28px; border-radius: 50%; background: var(--honey); border: 2px solid var(--ink); display: grid; place-items: center; font: 700 13px/1 var(--mono); }
.lb-drip { position: absolute; left: 0; right: 0; bottom: -1px; height: 90px; width: 100%; display: block; }

/* Promise pills */
.lb-promise { padding-top: 56px; padding-bottom: 24px; }
.lb-promise ul { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; justify-content: center; }
.lb-promise li { border: 2px solid var(--ink); border-radius: 999px; padding: 10px 18px; font-weight: 600; background: var(--paper); display: inline-flex; align-items: center; gap: 6px; }
.lb-promise li s { text-decoration-thickness: 2px; text-decoration-color: var(--maple); }
.lb-promise li.is-yes .lb-icon { color: var(--leaf); }

/* Sections */
.lb-block { padding-top: 56px; padding-bottom: 56px; }
.lb-block--tight { padding-top: 10px; }
.lb-block > * { margin-block-start: 0; }
.lb-sec-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 26px; }
.lb-sec-head h2 { font-size: clamp(32px, 4.2vw, 52px); font-weight: 800; margin: 0; }
.lb-sec-head a { color: inherit; }

/* Category grid */
.lb-catgrid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.lb-cat { background: var(--paper); border: var(--bw) solid var(--ink); border-radius: var(--radius); text-decoration: none; padding: 10px 10px 14px; transition: transform .15s, box-shadow .15s; color: inherit; display: block; }
.lb-cat:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.lb-cat img { aspect-ratio: 1; object-fit: cover; border-radius: 9px; width: 100%; display: block; }
.lb-cat b { display: block; font-family: var(--display); font-size: 20px; margin-top: 10px; }
.lb-cat small { color: var(--muted); }

/* ---------- Product cards ---------- */
.lb-pgrid .wc-block-product-template,
.lb-pgrid.products-block-post-template,
.lb-pgrid .products-block-post-template { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 18px !important; margin: 0; padding: 0; list-style: none; }
.lb-pgrid .wc-block-product,
.lb-pgrid .wp-block-post { width: auto !important; max-width: none !important; margin: 0 !important; display: flex; }
.lb-card { background: var(--paper); border: var(--bw) solid var(--ink); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; width: 100%; margin: 0 !important; }
.lb-card > * { margin-block-start: 0 !important; }
.lb-card__img { margin: 0 !important; border-bottom: var(--bw) solid var(--ink); background: #fff; }
.lb-card__img img { aspect-ratio: 1; object-fit: cover; width: 100%; display: block; border-radius: 0 !important; }
.lb-card__body { padding: 14px 14px 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.lb-card__body > * { margin: 0 !important; }
.lb-card__title { font-family: var(--display); font-size: 18px !important; font-weight: 700; line-height: 1.15; }
.lb-card__title a { text-decoration: none; }
.lb-card__row { display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; margin-top: auto !important; padding-top: 8px; }
.lb-card__row > * { margin: 0 !important; }
.lb-card__price .wc-block-components-product-price,
.lb-card__price { font: 800 22px/1 var(--display); text-align: left !important; }
.lb-card__btn { flex: none; width: auto !important; }
.lb-card__btn .wp-block-button__link { width: auto !important; }
.lb-card .wc-block-components-product-button__button { width: auto !important; }
.lb-card .added_to_cart { display: none !important; }

.lb-unit-price { display: block; font: 500 12px/1.3 var(--wp--preset--font-family--body); color: var(--muted); margin-top: 4px; }
.lb-vat-note { font: 500 12px var(--wp--preset--font-family--body); color: var(--muted); white-space: nowrap; }
.lb-card .lb-vat-note { display: block; margin-top: 4px; }

/* Lucide star rating */
.lb-stars { display: inline-flex; align-items: center; gap: 6px; color: var(--honey); font-size: 13px; }
.lb-stars > span:first-child { display: inline-flex; gap: 1px; }
.lb-stars .lb-icon.is-empty { color: var(--dash); }
.lb-stars__n { color: var(--muted); }
.lb-stars--lg { font-size: 15px; margin: 6px 0 !important; }

/* ---------- Retail strip ---------- */
.lb-retail-strip { background: var(--paper); border-block: var(--bw) solid var(--ink); padding: 36px 0; }
.lb-retail-strip__in { display: grid; grid-template-columns: 280px 1fr; gap: 30px; align-items: center; }
.lb-retail-strip h2 { font-size: 34px; margin: 0 0 10px; }
.lb-retail-strip p { margin: 0; }
.lb-retail-strip a { color: inherit; }
.lb-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.lb-rchip { display: inline-flex; align-items: center; gap: 8px; border: 2px solid var(--ink); border-radius: 10px; padding: 10px 14px; font-weight: 700; background: var(--batter); text-decoration: none; color: var(--ink) !important; }
.lb-rchip i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.lb-rchip__logo, .lb-rcard__logo { height: 20px; width: auto; }
.lb-rchip:hover { box-shadow: 3px 3px 0 var(--ink); }

/* ---------- PRO band ---------- */
.lb-pro-band { background: var(--pro-bg); color: var(--pro-text); border-radius: 28px; padding: 48px; display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: center; }
.lb-pro-band h2 { font-size: clamp(34px, 4.4vw, 56px); font-weight: 800; color: var(--pro-text); margin: 0 0 14px; }
.lb-pro-band h2 span { color: var(--honey); }
.lb-pro-band p { color: var(--pro-muted); max-width: 44ch; }
.lb-pro-band ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.lb-pro-band li { display: flex; gap: 12px; align-items: baseline; border-top: 1px solid var(--pro-line); padding-top: 10px; font-family: var(--mono); font-size: 14px; }
.lb-pro-band li b { color: var(--honey); min-width: 110px; font-weight: 600; }

/* ---------- Recipes mosaic ---------- */
.lb-recipes .wp-block-post-template { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 18px; margin: 0; padding: 0; list-style: none; }
.lb-recipes .wp-block-post { margin: 0 !important; }
.lb-recipe { position: relative; border: var(--bw) solid var(--ink); border-radius: var(--radius); overflow: hidden; min-height: 260px; height: 100%; color: #fff; }
.lb-recipe__img { position: absolute !important; inset: 0; margin: 0 !important; }
.lb-recipe__img a, .lb-recipe__img img { width: 100%; height: 100% !important; object-fit: cover; display: block; border-radius: 0 !important; }
.lb-recipe__txt { position: absolute; inset: auto 0 0 0; padding: 18px; background: linear-gradient(transparent, rgba(20, 14, 10, .85)); pointer-events: none; margin: 0 !important; }
.lb-recipe__txt > * { margin: 0 !important; }
.lb-recipe__title { font: 700 24px/1.1 var(--display) !important; color: #fff !important; }
.lb-recipe__title a { color: #fff !important; pointer-events: auto; }
.lb-recipe__meta, .lb-recipe__meta p { font-family: var(--mono); font-size: 12px; opacity: .85; color: #fff; margin: 0 0 4px; }
.lb-recipe__meta .wp-block-post-excerpt__more-text { display: none; }

/* ---------- Footer ---------- */
.lb-footer { background: var(--ink); color: #EADFD0; padding: 56px 0 30px; margin-top: 40px !important; border-top: var(--bw) solid var(--ink); }
.lb-footer__cols { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 30px; }
.lb-footer__cols > * { margin: 0 !important; }
.lb-footer__about { opacity: .75; max-width: 32ch; margin: 14px 0 0; }
.lb-footer__h { font: 600 12px var(--mono) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--honey) !important; margin: 0 0 12px !important; }
.lb-footer__links { line-height: 2.1; margin: 0; }
.lb-footer a { color: #EADFD0; text-decoration: none; opacity: .85; }
.lb-footer a:hover { opacity: 1; text-decoration: underline; }
.lb-footer__legal { border-top: 1px solid #3A332D; margin-top: 36px !important; padding-top: 18px; font-size: 13px; opacity: .6; }

/* ---------- Listing / product ---------- */
.lb-crumbs, .lb-crumbs a { font-size: 13px; color: var(--muted); }
.lb-crumbs { padding-top: 22px; margin: 0; }
.lb-page-title { font-size: clamp(40px, 6vw, 72px) !important; font-weight: 800; margin: 10px 0 18px !important; }
.lb-term-desc { color: var(--muted); margin: -6px 0 18px; }
.lb-filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }
.lb-filters a { border: 2px solid var(--ink); background: var(--paper); border-radius: 999px; padding: 7px 14px; font-weight: 600; text-decoration: none; color: var(--ink); }
.lb-filters a.is-on { background: var(--ink); color: var(--batter); }

.lb-pdp { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; padding: 20px 0 40px; }
.lb-pdp > * { margin: 0 !important; }
.lb-pdp__gallery .woocommerce-product-gallery { border: var(--bw) solid var(--ink); border-radius: 22px; overflow: hidden; background: #fff; margin: 0; }
.lb-pdp__gallery .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, 1fr); gap: 10px; padding: 12px !important; margin: 0 !important; border-top: var(--bw) solid var(--ink); background: var(--paper); }
.lb-pdp__gallery .flex-control-thumbs li { width: auto !important; margin: 0 !important; }
.lb-pdp__gallery .flex-control-thumbs img { border: 2px solid var(--ink); border-radius: 10px; aspect-ratio: 1; object-fit: cover; opacity: .75; }
.lb-pdp__gallery .flex-control-thumbs img.flex-active { opacity: 1; box-shadow: 3px 3px 0 var(--ink); }
.lb-pdp__info > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.lb-pdp__title { font-size: clamp(36px, 4.5vw, 56px) !important; font-weight: 800; margin: 0 0 6px !important; }
.lb-pdp__price { font: 800 40px/1 var(--display) !important; margin: 16px 0 4px !important; }
.lb-pdp__price .lb-unit-price { font-size: 14px; margin-top: 8px; }
.lb-facts { display: flex; gap: 8px; flex-wrap: wrap; margin: 18px 0 !important; padding: 0; list-style: none; }
.lb-facts li { background: var(--butter); border: 2px solid var(--ink); border-radius: 8px; padding: 6px 10px; font-weight: 600; font-size: 14px; color: var(--ink); }
.lb-buy { margin: 20px 0 6px !important; }
.lb-buy form, .lb-buy .wp-block-group { display: flex !important; gap: 12px; align-items: center; flex-wrap: nowrap; margin: 0; }
.lb-buy .wp-block-woocommerce-product-button { flex: none; margin: 0; }
.lb-buy .wc-block-components-product-button__button,
.lb-buy .wp-block-button__link { min-height: 48px; padding-left: 24px !important; padding-right: 24px !important; }
.lb-buy .quantity { display: flex; align-items: center; border: var(--bw) solid var(--ink); border-radius: 999px; background: var(--paper); overflow: hidden; height: 48px; }
.lb-buy .quantity .qty { width: 44px; text-align: center; border: 0 !important; font: 700 16px var(--mono); background: none; box-shadow: none; padding: 0; min-height: 0; }
.lb-buy .quantity button { width: 40px; height: 44px; background: none; border: 0; font-size: 20px; font-weight: 700; color: var(--ink); cursor: pointer; }
.lb-ship-note { font-size: 14px; color: var(--muted); margin: 8px 0 0 !important; }

/* Product page: gallery stays in view while the info column scrolls (two-column desktop only) */
@media (min-width: 821px) and (min-height: 640px) {
	.lb-pdp { align-items: start; }
	.lb-pdp__gallery { position: sticky !important; top: calc(var(--lb-header-h, 80px) + 24px); align-self: start; }
	.admin-bar .lb-pdp__gallery { top: calc(var(--lb-header-h, 80px) + 24px + var(--wp-admin--admin-bar--height, 32px)); }
}

/* Where-to-buy panel */
.lb-wtb { margin-top: 26px !important; border: var(--bw) solid var(--ink); border-radius: 18px; background: var(--paper); overflow: hidden; color: var(--ink); }
.lb-wtb__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 18px; background: var(--butter); border-bottom: var(--bw) solid var(--ink); }
.lb-wtb__head b { font: 700 20px var(--display); }
.lb-wtb__head a { font-size: 13px; font-weight: 600; color: var(--ink); }
.lb-wtb__grp { padding: 12px 18px; }
.lb-wtb__grp + .lb-wtb__grp { border-top: 1.5px dashed var(--dash); }
.lb-wtb__grp h5 { margin: 4px 0 8px; font: 600 11px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.lb-wtb__opt { display: flex; align-items: center; gap: 12px; padding: 8px 0; flex-wrap: wrap; }
.lb-wtb__nm { font-weight: 700; flex: 1; display: flex; align-items: center; gap: 8px; min-width: 120px; }
.lb-wtb__st { font-size: 13px; color: var(--leaf); font-weight: 600; }
.lb-wtb__st.is-muted { color: var(--muted); }
.lb-go { display: inline-flex; align-items: center; gap: 4px; font-weight: 700; font-size: 14px; border: 2px solid var(--ink); border-radius: 999px; padding: 5px 12px; text-decoration: none; color: var(--ink) !important; }
.lb-go:hover { background: var(--ink); color: #fff !important; }
.lb-dot { width: 12px; height: 12px; border-radius: 3px; display: inline-block; border: 1.5px solid var(--ink); flex: none; }

.lb-tabs { border-top: var(--bw) solid var(--ink); margin-top: 20px !important; padding: 24px 0; }
.lb-tabs > * { margin-top: 0; }
.lb-tabs h2 { font-size: 28px; margin: 0 0 10px; }
.lb-tabs__lead, .lb-tabs__content { max-width: 70ch; }
.lb-related h2 { font-size: clamp(28px, 3.4vw, 40px); margin: 30px 0 20px; }

/* ---------- Product page: "Despre produs" ---------- */
.lb-about { display: grid; grid-template-columns: 1.15fr 1fr; gap: 48px; align-items: start; border-top: var(--bw) solid var(--ink); margin-top: 24px !important; padding: 40px 0 16px; }
.lb-about__title { font-size: clamp(30px, 3.6vw, 44px) !important; margin: 0 0 12px !important; }
.lb-about__lead { font-size: 20px; line-height: 1.45; font-weight: 600; margin: 0 0 18px; max-width: 46ch; }
.lb-about__body { max-width: 62ch; color: #3A332D; }
.lb-about__body p { margin: 0 0 14px; }
.lb-about__body ul { padding-left: 1.1em; margin: 0 0 14px; }
.lb-about__body li { margin-bottom: 6px; }
.lb-promises { list-style: none; padding: 0; margin: 26px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.lb-promises:has(li:nth-child(2):last-child) { grid-template-columns: repeat(2, 1fr); }
.lb-promises:has(li:only-child) { grid-template-columns: 1fr; max-width: 260px; }
.lb-promises li { background: var(--paper); border: 2px solid var(--ink); border-radius: var(--radius); padding: 14px; display: grid; gap: 2px; }
.lb-promises__icon { width: 40px; height: 40px; border-radius: 50%; background: var(--butter); border: 2px solid var(--ink); display: grid; place-items: center; margin-bottom: 8px; color: var(--ink); }
.lb-promises b { font-family: var(--display); font-size: 17px; line-height: 1.2; }
.lb-promises small { color: var(--muted); font-size: 13px; }

.lb-about__side { display: grid; gap: 14px; }
.lb-acc { background: var(--paper); border: var(--bw) solid var(--ink); border-radius: 18px; overflow: hidden; }
.lb-acc[open] { box-shadow: var(--shadow); }
.lb-acc summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px; padding: 14px 18px; font: 700 19px/1.2 var(--display); }
.lb-acc summary::-webkit-details-marker { display: none; }
.lb-acc[open] summary { background: var(--butter); border-bottom: var(--bw) solid var(--ink); }
.lb-acc__icon { width: 34px; height: 34px; border-radius: 50%; background: var(--honey); border: 2px solid var(--ink); display: grid; place-items: center; flex: none; }
.lb-acc__chev { margin-left: auto; transition: transform .2s; display: grid; }
.lb-acc[open] .lb-acc__chev { transform: rotate(180deg); }
.lb-acc__body { padding: 16px 18px 18px; font-size: 15px; }
.lb-acc__intro { color: var(--muted); margin: 0 0 12px; }
.lb-steps { list-style: none; counter-reset: lbstep; margin: 0; padding: 0; display: grid; gap: 12px; }
.lb-steps li { counter-increment: lbstep; display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: start; line-height: 1.5; }
.lb-steps li::before { content: counter(lbstep); width: 30px; height: 30px; border-radius: 50%; background: var(--honey); border: 2px solid var(--ink); display: grid; place-items: center; font: 700 13px/1 var(--mono); box-sizing: border-box; }
.lb-tip { display: flex; gap: 10px; align-items: flex-start; margin: 14px 0 0; padding: 12px 14px; background: var(--wp--preset--color--primary-soft); border: 2px dashed var(--ink); border-radius: 12px; font-size: 14px; }
.lb-tip p { margin: 0; }
.lb-tip ol { margin: 8px 0 0; padding-left: 1.2em; display: grid; gap: 4px; }
.lb-tip .lb-icon { color: var(--maple); margin-top: 2px; }
.lb-ingredients { margin: 0 0 14px; line-height: 1.6; }
.lb-ingredients strong { font-weight: 800; text-decoration: underline; text-decoration-color: var(--honey); text-decoration-thickness: 3px; text-underline-offset: 2px; }
.lb-allergens { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.lb-allergens__label { display: inline-flex; align-items: center; gap: 6px; font: 600 11px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--maple); margin-right: 4px; }
.lb-allergens__chip { border: 2px solid var(--maple); color: var(--maple); background: #FFF1E6; border-radius: 999px; padding: 3px 10px; font-weight: 700; font-size: 13px; }
.lb-traces { margin: 10px 0 0; font-size: 13px; color: var(--muted); }
.lb-nutri { width: 100%; border-collapse: collapse; font-size: 14px; }
.lb-nutri th, .lb-nutri td { padding: 8px 6px; border-bottom: 1.5px dashed var(--dash); text-align: right; }
.lb-nutri th:first-child { text-align: left; font-weight: 600; }
.lb-nutri thead th { font: 600 11px var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); border-bottom: 2px solid var(--ink); }
.lb-nutri td { font-family: var(--mono); white-space: nowrap; }
.lb-nutri tr.is-sub th { padding-left: 18px; font-weight: 400; color: var(--muted); }
.lb-nutri + .lb-nutri { margin-top: 16px; }
.lb-more { margin-top: 12px; }
.lb-more summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 14px; border: 2px solid var(--ink); border-radius: 999px; padding: 6px 14px; background: var(--paper); }
.lb-more summary::-webkit-details-marker { display: none; }
.lb-more summary::after { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: var(--lb-icon-arrow) center / contain no-repeat; mask: var(--lb-icon-arrow) center / contain no-repeat; transform: rotate(90deg); transition: transform .2s; }
.lb-more[open] summary { margin-bottom: 12px; }
.lb-more[open] summary::after { transform: rotate(-90deg); }
body.lb-pro .lb-more summary { background: transparent; border-color: var(--pro-line); color: var(--pro-text); }

body.lb-pro .lb-about { border-color: var(--pro-line); }
body.lb-pro .lb-about__body { color: var(--pro-muted); }
body.lb-pro .lb-promises li, body.lb-pro .lb-acc { background: var(--pro-panel); border: 1px solid var(--pro-line); color: var(--pro-text); }
body.lb-pro .lb-acc[open] { box-shadow: none; }
body.lb-pro .lb-acc[open] summary { background: rgba(247, 162, 27, .12); border-color: var(--pro-line); }
body.lb-pro .lb-promises__icon, body.lb-pro .lb-acc__icon, body.lb-pro .lb-steps li::before { border-color: var(--honey); }
body.lb-pro .lb-promises__icon { background: rgba(247, 162, 27, .15); color: var(--honey); }
body.lb-pro .lb-tip { background: rgba(247, 162, 27, .1); border-color: var(--pro-line); }
body.lb-pro .lb-allergens__chip { background: transparent; border-color: var(--honey); color: var(--honey); }
body.lb-pro .lb-allergens__label, body.lb-pro .lb-tip .lb-icon { color: var(--honey); }
body.lb-pro .lb-nutri th, body.lb-pro .lb-nutri td { border-color: var(--pro-line); }
body.lb-pro .lb-nutri thead th { border-color: var(--pro-muted); color: var(--pro-muted); }

@media (max-width: 820px) {
	.lb-about { grid-template-columns: 1fr; gap: 28px; padding-top: 28px; }
	.lb-about__lead { font-size: 18px; }
	.lb-promises { grid-template-columns: 1fr !important; max-width: none !important; }
	.lb-promises li { grid-template-columns: 40px 1fr; column-gap: 12px; align-items: center; }
	.lb-promises__icon { grid-row: span 2; margin: 0; }
	.lb-nutri { font-size: 13px; }
	.lb-nutri th, .lb-nutri td { padding: 7px 4px; }
	.lb-nutri td { font-size: 12px; }
	.lb-nutri tr.is-sub th { padding-left: 10px; }
}

/* ---------- PRO pages ---------- */
.lb-pro-hero { padding: 48px 0 30px; border-bottom: 1px solid var(--pro-line); }
.lb-pro-hero__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: end; }
.lb-pro-hero h1 { font-size: clamp(42px, 6vw, 80px); font-weight: 800; color: var(--pro-text); margin: 0 0 16px; }
.lb-pro-hero h1 span { color: var(--honey); }
.lb-pro-hero p { color: var(--pro-muted); font-size: 18px; max-width: 46ch; }
.lb-kpis { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--pro-line); border-radius: 14px; overflow: hidden; }
.lb-kpis div { padding: 16px; border-right: 1px solid var(--pro-line); }
.lb-kpis div:last-child { border: 0; }
.lb-kpis b { display: block; font: 600 22px var(--mono); color: var(--honey); }
.lb-kpis small { color: var(--pro-muted); font-size: 13px; }
.lb-qo-head { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-top: 34px; flex-wrap: wrap; scroll-margin-top: 100px; }
.lb-qo-head h2 { font-size: 36px; color: var(--pro-text); margin: 0; }
.lb-tier { font-size: 12px; color: var(--pro-muted); font-family: var(--mono); }
.lb-scroll-x { overflow-x: auto; }
.lb-num { font-family: var(--mono); white-space: nowrap; }
/* PRO quick order — grid rows on desktop, cards on mobile */
.lb-qo-form { margin-top: 14px; }
.lb-qo { display: grid; gap: 10px; }
.lb-qo__head, .lb-qo__row { display: grid; grid-template-columns: 64px minmax(200px, 2fr) 96px minmax(150px, 1.2fr) 110px 156px 124px; gap: 16px; align-items: center; }
.lb-qo__head { padding: 0 18px 4px; font: 600 11px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--pro-muted); }
.lb-qo__head span:first-child { grid-column: span 2; }
.lb-qo__row { position: relative; background: var(--pro-panel); border: 1px solid var(--pro-line); border-radius: 16px; padding: 12px 18px; transition: border-color .15s, background .15s, box-shadow .15s; }
.lb-qo__row:hover { border-color: #4A5160; }
.lb-qo__row.is-selected { border-color: var(--honey); background: linear-gradient(90deg, rgba(247, 162, 27, .10), rgba(247, 162, 27, .02) 60%), var(--pro-panel); box-shadow: inset 4px 0 0 var(--honey); }
.lb-qo__img { display: block; width: 64px; height: 64px; border-radius: 12px; overflow: hidden; background: #fff; }
.lb-qo__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lb-qo__name a { display: block; font: 700 17px/1.25 var(--display); color: var(--pro-text) !important; text-decoration: none; }
.lb-qo__name a:hover { color: var(--honey) !important; }
.lb-qo__name small { display: block; margin-top: 4px; font: 500 12px var(--mono); color: var(--pro-muted); letter-spacing: .04em; }
.lb-qo__lbl { display: none; }
.lb-qo__pack { display: inline-flex; align-items: center; gap: 6px; color: var(--pro-text); font-weight: 600; }
.lb-qo__pack .lb-icon { color: var(--pro-muted); }
.lb-qo__price b { display: block; font: 600 18px var(--mono); color: var(--pro-text); }
.lb-qo__tier { display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; font: 500 12px var(--mono); color: var(--pro-muted); border-radius: 999px; padding: 2px 8px 2px 0; transition: all .15s; }
.lb-qo__row.is-tier .lb-qo__tier { background: var(--honey); color: var(--ink); padding: 2px 8px; font-weight: 700; }
.lb-qo__row.is-tier .lb-qo__price b { text-decoration: line-through; text-decoration-color: var(--pro-muted); color: var(--pro-muted); font-size: 15px; }
.lb-qo__kg { font: 500 15px var(--mono); color: var(--pro-muted); }
.lb-qo__qty { display: grid; gap: 4px; }
.lb-qo__line { font: 500 11px var(--mono); color: var(--honey); min-height: 1em; white-space: nowrap; }
.lb-qo__add { justify-self: end; }
.lb-qo__add .lb-btn { gap: 6px; }

.lb-stepper { display: inline-grid; grid-template-columns: 38px 1fr 38px; align-items: center; height: 44px; width: 148px; border: 1px solid var(--pro-line); border-radius: 999px; background: var(--pro-bg); overflow: hidden; }
.lb-stepper__btn { height: 100%; border: 0; background: transparent; color: var(--pro-text); display: grid; place-items: center; cursor: pointer; transition: background .15s, color .15s; }
.lb-stepper__btn:hover:not(:disabled) { background: var(--honey); color: var(--ink); }
.lb-stepper__btn:disabled { color: #4A5160; cursor: default; }
.lb-stepper input { width: 100%; height: 100%; border: 0 !important; background: transparent !important; color: var(--pro-text) !important; text-align: center; font: 700 17px var(--mono) !important; padding: 0 !important; -moz-appearance: textfield; appearance: textfield; }
.lb-stepper input::-webkit-outer-spin-button, .lb-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.lb-stepper:focus-within { border-color: var(--honey); box-shadow: 0 0 0 3px rgba(247, 162, 27, .25); }

.lb-qo__bar { position: sticky; bottom: 16px; z-index: 30; margin-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 14px 18px; background: rgba(31, 34, 40, .92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid var(--pro-line); border-radius: 18px; box-shadow: 0 18px 40px rgba(0, 0, 0, .35); }
.lb-qo__bar.has-items { border-color: var(--honey); }
.lb-qo__sum { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.lb-qo__count { font: 500 13px var(--mono); color: var(--pro-muted); }
.lb-qo__bar.has-items .lb-qo__count { color: var(--pro-text); }
.lb-qo__total { display: grid; }
.lb-qo__total small { font: 600 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--pro-muted); }
.lb-qo__total b { font: 800 24px/1.1 var(--display); color: var(--pro-text); }
.lb-qo__bar.has-items .lb-qo__total b { color: var(--honey); }
.lb-qo__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.lb-qo__actions .lb-btn { gap: 8px; }
.lb-btn:disabled { opacity: .45; cursor: not-allowed; transform: none !important; box-shadow: none !important; }

@media (max-width: 1100px) {
	.lb-qo__head, .lb-qo__row { grid-template-columns: 56px minmax(160px, 2fr) 80px minmax(130px, 1.2fr) 96px 148px 52px; gap: 12px; }
	.lb-qo__img { width: 56px; height: 56px; }
	.lb-qo__add .lb-btn span { display: none; }
	.lb-qo__add .lb-btn { width: 44px; height: 44px; padding: 0 !important; }
}
@media (max-width: 820px) {
	.lb-qo__head { display: none; }
	.lb-qo__row {
		grid-template-columns: 64px 1fr 1fr;
		grid-template-areas: "img name name" "img pack kg" "price price price" "qty qty add";
		gap: 10px 12px;
		padding: 14px;
		border-radius: 18px;
	}
	.lb-qo__img { grid-area: img; width: 64px; height: 64px; align-self: start; }
	.lb-qo__name { grid-area: name; }
	.lb-qo__pack { grid-area: pack; }
	.lb-qo__kg { grid-area: kg; }
	.lb-qo__pack, .lb-qo__kg { display: block; font-size: 14px; }
	.lb-qo__pack .lb-icon { display: none; }
	.lb-qo__lbl { display: block; font: 600 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--pro-muted); margin-bottom: 2px; }
	.lb-qo__price { grid-area: price; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; border-top: 1px dashed var(--pro-line); padding-top: 10px; }
	.lb-qo__price .lb-qo__lbl { width: 100%; margin: 0; }
	.lb-qo__price b { font-size: 22px; }
	.lb-qo__row.is-tier .lb-qo__price b { font-size: 16px; }
	.lb-qo__qty { grid-area: qty; }
	.lb-stepper { width: 100%; height: 48px; grid-template-columns: 48px 1fr 48px; }
	.lb-qo__add { grid-area: add; align-self: start; }
	.lb-qo__add .lb-btn { width: auto; height: 48px; padding: 0 16px !important; }
	.lb-qo__add .lb-btn span { display: inline; }
	.lb-qo__bar { position: fixed; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); margin: 0; padding: 12px 14px; border-radius: 16px; }
	.lb-qo__sum { gap: 2px 14px; flex: 1; justify-content: space-between; }
	.lb-qo__count { width: 100%; font-size: 11px; }
	.lb-qo__total { grid-auto-flow: column; align-items: baseline; gap: 8px; }
	.lb-qo__total b { font-size: 20px; }
	.lb-qo__actions { width: 100%; }
	.lb-qo__actions .lb-btn--pro { flex: 1; min-height: 48px; }
	.lb-qo-form { padding-bottom: 150px; }
	.lb-qo__bar { transition: transform .25s ease, opacity .25s ease; }
	.lb-qo-form.is-enhanced .lb-qo__bar:not(.has-items) { transform: translateY(calc(100% + 20px)); opacity: 0; pointer-events: none; }
}
.lb-btn--pro { background: var(--honey); border-color: var(--honey) !important; box-shadow: none; color: var(--ink) !important; }
.lb-btn--pro:hover { transform: none; box-shadow: 0 0 0 3px rgba(247, 162, 27, .35); }
.lb-btn--pro-ghost { background: transparent; border: 1.5px solid var(--pro-line) !important; color: var(--pro-text) !important; box-shadow: none; }
.lb-btn--pro-ghost:is(:hover, :focus, :active) { transform: none; box-shadow: none; border-color: var(--honey) !important; background: rgba(247, 162, 27, .10) !important; color: var(--pro-text) !important; }
.lb-pro-perks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 40px 0; scroll-margin-top: 100px; }
.lb-pro-perks div { background: var(--pro-panel); border: 1px solid var(--pro-line); border-radius: 14px; padding: 18px; }
.lb-pro-perks b { display: block; font: 700 18px var(--display); margin-bottom: 6px; color: var(--pro-text); }
.lb-pro-perks p { margin: 0; color: var(--pro-muted); font-size: 14px; }

/* PRO mode re-skin: the whole chrome changes, so nobody mistakes it for the family shop */
body.lb-pro { background: var(--pro-bg); color: var(--pro-text); }
body.lb-pro .lb-util { background: var(--honey); color: var(--ink); }
body.lb-pro .lb-mainbar { background: var(--pro-bg); border-color: var(--pro-line); }
body.lb-pro .lb-cats a:hover,
body.lb-pro .lb-cats a.is-on { background: var(--pro-panel); }
body.lb-pro .lb-icon-btn:hover,
body.lb-pro .lb-hicons .wc-block-mini-cart__button:hover { border-color: var(--pro-line); }
body.lb-pro .lb-pro-badge { display: inline-block; }
body.lb-pro .lb-footer { background: #0E0F12; border-color: var(--pro-line); }
body.lb-pro h1, body.lb-pro h2, body.lb-pro h3, body.lb-pro .wp-block-post-title a, body.lb-pro .lb-card__title a { color: var(--pro-text); }
body.lb-pro .lb-crumbs, body.lb-pro .lb-crumbs a, body.lb-pro .lb-term-desc, body.lb-pro .lb-ship-note { color: var(--pro-muted); }
body.lb-pro .lb-eyebrow { color: var(--honey); }
body.lb-pro .lb-card { background: var(--pro-panel); border: 1px solid var(--pro-line); }
body.lb-pro .lb-card__img { border-color: var(--pro-line); }
body.lb-pro .lb-card__price, body.lb-pro .lb-pdp__price { color: var(--pro-text); }
body.lb-pro .lb-unit-price, body.lb-pro .lb-vat-note, body.lb-pro .lb-stars__n { color: var(--pro-muted); }
body.lb-pro .wp-element-button, body.lb-pro .wp-block-button__link, body.lb-pro .wc-block-components-button:not(.is-link) { border-color: var(--honey) !important; box-shadow: none; }
body.lb-pro .wp-element-button:hover, body.lb-pro .wp-block-button__link:hover { transform: none; box-shadow: 0 0 0 3px rgba(247, 162, 27, .35); }
body.lb-pro .lb-pdp__gallery .woocommerce-product-gallery { border: 1px solid var(--pro-line); }
body.lb-pro .lb-pdp__gallery .flex-control-thumbs { background: var(--pro-panel); border-color: var(--pro-line); }
body.lb-pro .lb-buy .quantity { background: var(--pro-panel); border: 1px solid var(--pro-line); }
body.lb-pro .lb-buy .quantity .qty, body.lb-pro .lb-buy .quantity button { color: var(--pro-text); }
body.lb-pro .lb-tabs { border-color: var(--pro-line); }
body.lb-pro .lb-main a:not(.lb-btn):not(.wp-element-button):not(.wp-block-button__link):not(.lb-go) { color: var(--pro-text); }
body.lb-pro .lb-filters a { background: var(--pro-panel); border-color: var(--pro-line); color: var(--pro-text); }

/* ---------- Cart / checkout (WooCommerce blocks) ---------- */
.lb-chan-banner { display: flex; gap: 12px; align-items: center; padding: 12px 16px; border-radius: 12px; margin-bottom: 16px; font-weight: 600; border: 2px solid var(--ink); background: var(--butter); flex-wrap: wrap; }
.lb-chan-tag { font: 600 10px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; padding: 4px 6px; border-radius: 4px; border: 1.5px solid currentColor; }
body.lb-pro .lb-chan-banner { background: rgba(247, 162, 27, .12); border: 1px solid var(--honey); color: var(--pro-text); }

.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { margin-top: 0 !important; }
.wc-block-components-sidebar-layout .wc-block-components-main { background: var(--paper); border: var(--bw) solid var(--ink); border-radius: 18px; padding: 22px !important; }
.wc-block-components-sidebar-layout .wc-block-components-sidebar { background: var(--paper); border: var(--bw) solid var(--ink); border-radius: 18px; padding: 22px !important; align-self: flex-start; }
/* Space between the two cards (cart + checkout). WooCommerce spaces them with padding, which our card padding replaces. */
.wc-block-components-sidebar-layout { gap: 24px; }
@media (min-width: 821px) {
	.wc-block-components-sidebar-layout { flex-wrap: nowrap; }
	.wc-block-components-sidebar-layout .wc-block-components-main { flex: 1 1 auto; width: auto !important; min-width: 0; }
	.wc-block-components-sidebar-layout .wc-block-components-sidebar { flex: 0 0 clamp(300px, 34%, 400px); width: auto !important; }
}
.wc-block-cart-items td, .wc-block-cart-items th { border-color: var(--dash) !important; }
.wc-block-components-product-metadata__description { display: none; }
.wc-block-components-product-name { font-weight: 700; color: var(--ink); text-decoration: none; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { border: 2px solid var(--ink); border-radius: 10px; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font: 800 24px var(--display); }
.wc-block-components-title, .wc-block-components-checkout-step__title { font: 700 22px var(--display) !important; }
.wc-block-components-text-input input, .wc-block-components-text-input input[type],
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea {
	border: 2px solid var(--ink) !important;
	border-radius: 10px !important;
	background: var(--paper) !important;
	color: var(--ink) !important;
}

.wc-block-components-radio-control--highlight-checked::after { display: none; }
.wc-block-components-radio-control__input:checked { border-color: var(--ink) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--honey) !important; }
.wc-block-components-checkout-place-order-button, .wc-block-cart__submit-button { width: 100%; }
input.lb-filled { background: var(--wp--preset--color--primary-soft) !important; transition: background 1.2s; }

/* PRO cart/checkout */
body.lb-pro .wc-block-components-sidebar-layout .wc-block-components-main,
body.lb-pro .wc-block-components-sidebar-layout .wc-block-components-sidebar { background: var(--pro-panel) !important; border: 1px solid var(--pro-line); color: var(--pro-text); }
body.lb-pro .wc-block-components-text-input input, body.lb-pro .wc-block-components-text-input input[type],
body.lb-pro .wc-blocks-components-select .wc-blocks-components-select__select,
body.lb-pro .wc-block-components-combobox .wc-block-components-combobox-control input { background: var(--pro-bg) !important; border: 1px solid var(--pro-line) !important; color: var(--pro-text) !important; }
body.lb-pro .wc-block-components-text-input label, body.lb-pro .wc-blocks-components-select__label { color: var(--pro-muted) !important; }

body.lb-pro .wc-block-components-product-name, body.lb-pro .wc-block-components-totals-item, body.lb-pro .wc-block-components-checkout-step__title, body.lb-pro .wc-block-components-title { color: var(--pro-text) !important; }
body.lb-pro input.lb-filled { background: #2A2618 !important; }
body.lb-pro .wc-block-components-panel__button, body.lb-pro .wc-block-components-totals-coupon-link { color: var(--pro-text); }

/* ---------- Checkout polish ---------- */
/* Order summary: one card (ours), no inner box; dashed separators like the cart */
.wc-block-components-sidebar .wc-block-components-checkout-order-summary__title { border: 0 !important; padding: 2px 0 !important; margin: 0 !important; }
.wp-block-woocommerce-checkout-order-summary-block { border: 0 !important; border-radius: 0 !important; padding-bottom: 0 !important; }
/* One dashed line per section: coupon, totals, and the final total — wrappers nested inside don't add their own. */
.wc-block-components-sidebar .wc-block-components-totals-wrapper,
.wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-totals-block { border-top: 0 !important; }
.wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-coupon-form-block,
.wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-subtotal-block,
.wc-block-components-sidebar .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item),
.wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-coupon-form-block,
.wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-subtotal-block { border-top: 1.5px dashed var(--dash) !important; }
body.lb-pro .wc-block-components-sidebar [class*="order-summary-coupon-form-block"],
body.lb-pro .wc-block-components-sidebar [class*="order-summary-subtotal-block"],
body.lb-pro .wc-block-components-sidebar .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item) { border-top-color: var(--pro-line) !important; }

/* Checkboxes */
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { border: 2px solid var(--ink) !important; border-radius: 6px !important; background: var(--paper) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--honey) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--ink) !important; }
body.lb-pro .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { border: 1.5px solid var(--pro-muted) !important; background: var(--pro-bg) !important; }
body.lb-pro .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--honey) !important; border-color: var(--honey) !important; }

/* Shipping + payment options: one border per option; selected = tinted, not doubled */
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option { border: 2px solid var(--dash); border-radius: 12px; margin-bottom: 10px !important; background: var(--paper); box-shadow: none !important; transition: border-color .15s, background .15s; }
.wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option { border: 0 !important; margin: 0 !important; border-radius: 0; background: transparent !important; }
.wc-block-components-radio-control__option:has(input:checked),
.wc-block-components-radio-control-accordion-option:has(> .wc-block-components-radio-control__option input:checked) { border-color: var(--ink); background: var(--wp--preset--color--primary-soft); }
.wc-block-components-radio-control--highlight-checked::after,
.wc-block-components-radio-control--highlight-checked::before,
.wc-block-components-radio-control__option--checked-option-highlighted::after,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted::after { display: none !important; box-shadow: none !important; }
.wc-block-components-radio-control-accordion-content { padding: 0 16px 14px 48px !important; color: var(--muted); font-size: 14px; border: 0 !important; }
.wc-block-components-radio-control__input { background: var(--paper) !important; border: 2px solid var(--ink) !important; }
body.lb-pro .wc-block-components-radio-control__option,
body.lb-pro .wc-block-components-radio-control-accordion-option { background: var(--pro-bg); border-color: var(--pro-line); color: var(--pro-text); }
body.lb-pro .wc-block-components-radio-control__option:has(input:checked),
body.lb-pro .wc-block-components-radio-control-accordion-option:has(> .wc-block-components-radio-control__option input:checked) { border-color: var(--honey); background: rgba(247, 162, 27, .08); }
body.lb-pro .wc-block-components-radio-control__input { background: var(--pro-bg) !important; border-color: var(--pro-muted) !important; }
body.lb-pro .wc-block-components-radio-control__input:checked { border-color: var(--honey) !important; }
body.lb-pro .wc-block-components-radio-control-accordion-content { color: var(--pro-muted); }

/* Order summary item: quantity badge + savings tag */
.wc-block-components-order-summary-item__quantity { background: var(--honey) !important; color: var(--ink) !important; border: 2px solid var(--ink) !important; font: 700 11px/1 var(--mono); min-width: 22px; height: 22px; box-shadow: none !important; }
.wc-block-components-order-summary-item__quantity span { color: var(--ink) !important; }
.wc-block-components-sale-badge { background: var(--honey) !important; color: var(--ink) !important; border: 0 !important; border-radius: 999px !important; padding: 2px 8px !important; font-weight: 700; font-size: 11px; }

/* Saved address card */
.wc-block-components-address-card { border: 2px solid var(--dash) !important; border-radius: 12px !important; background: var(--paper); }
body.lb-pro .wc-block-components-address-card { border: 1px solid var(--pro-line) !important; background: var(--pro-bg); }
.wc-block-components-address-card__edit { font-weight: 700; }

/* Contact step: guest note right under the e-mail, company block after it */
.wc-block-checkout__contact-fields .wc-block-components-address-form { display: flex; flex-direction: column; }
.wc-block-checkout__contact-fields .wc-block-components-address-form > * { order: 3; }
.wc-block-checkout__contact-fields .wc-block-components-address-form > :first-child { order: 1; }
.wc-block-checkout__contact-fields .wc-block-components-address-form > .wc-block-checkout__guest-checkout-notice { order: 2; margin-top: 6px; font-size: 13px; color: var(--muted); }
body.lb-pro .wc-block-checkout__guest-checkout-notice { color: var(--pro-muted) !important; }
.lb-company-head { margin-top: 22px; padding-top: 18px; border-top: 1.5px dashed var(--dash); }
.lb-company-head h3 { font: 700 18px/1.2 var(--display) !important; margin: 0 0 4px !important; display: flex; align-items: center; gap: 8px; }
.lb-company-head p { margin: 0; font-size: 13px; color: var(--muted); }
body.lb-pro .lb-company-head { border-color: var(--pro-line); }
body.lb-pro .lb-company-head h3 { color: var(--pro-text) !important; }
body.lb-pro .lb-company-head h3 .lb-icon { color: var(--honey); }
body.lb-pro .lb-company-head p { color: var(--pro-muted); }
/* ANAF button sits inside the CUI field */
.lb-cui-wrap { position: relative; }
.lb-cui-wrap input { padding-right: 150px !important; }
.lb-cui-wrap .lb-anaf-btn { position: absolute; right: 7px; top: 50%; transform: translateY(-50%); margin: 0 !important; padding: 7px 12px !important; font-size: 13px !important; box-shadow: none !important; z-index: 2; }
.lb-cui-wrap .lb-anaf-btn:hover { transform: translateY(-50%); }

@media (max-width: 520px) {
	/* .lb-main prefix: must beat the base .lb-progress rules that come later in this file */
	.lb-main .lb-progress { flex-wrap: nowrap; gap: 6px; font-size: 12px; justify-content: space-between; }
	.lb-main .lb-progress li { gap: 5px; }
	.lb-main .lb-progress li::before { width: 22px; height: 22px; font-size: 11px; flex: none; }
	.lb-main .lb-progress li.is-done::after { left: 4px; width: 12px; height: 12px; }
	.lb-cui-wrap input { padding-right: 118px !important; }
	.lb-cui-wrap .lb-anaf-btn { padding: 6px 9px !important; font-size: 12px !important; }
}

/* ANAF */
.lb-anaf-btn { margin: 8px 0 0 !important; }
.lb-anaf-msg:empty { display: none; }
.lb-anaf-msg { margin-top: 10px; font-size: 14px; padding: 10px 12px; border-radius: 10px; }
.lb-anaf-msg.is-ok { background: rgba(63, 125, 58, .15); border: 1px solid var(--leaf); }
.lb-anaf-msg.is-err { background: rgba(154, 74, 20, .12); border: 1px solid var(--maple); }

/* 3-step progress (cart → checkout) */
.lb-progress { list-style: none; padding: 0; margin: 0 0 18px; display: flex; flex-wrap: wrap; gap: 8px 18px; font-weight: 700; font-size: 14px; counter-reset: step; }
.lb-progress li { counter-increment: step; display: flex; align-items: center; gap: 8px; color: var(--muted); position: relative; }
.lb-progress li::before { content: counter(step); width: 28px; height: 28px; box-sizing: border-box; border-radius: 50%; display: grid; place-items: center; background: var(--paper); border: 2px solid var(--ink); color: var(--ink); font: 700 13px/1 var(--mono); }
.lb-progress li.is-current { color: var(--ink); }
.lb-progress li.is-current::before { background: var(--honey); }
.lb-progress li.is-done::before { content: ""; background: var(--leaf); }
.lb-progress li.is-done::after { content: ""; position: absolute; left: 7px; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; background: #fff; -webkit-mask: var(--lb-icon-check) center / contain no-repeat; mask: var(--lb-icon-check) center / contain no-repeat; }
body.lb-pro .lb-progress li { color: var(--pro-muted); }
body.lb-pro .lb-progress li.is-current { color: var(--pro-text); }
body.lb-pro .lb-progress li::before { background: var(--pro-panel); border-color: var(--pro-line); color: var(--pro-text); }
body.lb-pro .lb-progress li.is-current::before { background: var(--honey); color: var(--ink); }
body.lb-pro .lb-progress li.is-done::before { background: var(--leaf); }

/* ---------- Where-to-buy page ---------- */
.lb-finder { background: var(--paper); border: var(--bw) solid var(--ink); border-radius: 22px; padding: 22px; box-shadow: 6px 6px 0 var(--ink); }
.lb-finder input { width: 100%; box-sizing: border-box; border: var(--bw) solid var(--ink); border-radius: 999px; padding: 16px 22px; font: 600 18px var(--wp--preset--font-family--body); background: var(--batter); color: var(--ink); }
.lb-finder__sugg { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.lb-finder__sugg button { border: 2px solid var(--ink); border-radius: 999px; background: var(--butter); padding: 6px 12px; font-weight: 600; font-size: 14px; cursor: pointer; font-family: inherit; color: var(--ink); }
.lb-matrix { width: 100%; border-collapse: separate; border-spacing: 0; margin-top: 26px; background: var(--paper); border: var(--bw) solid var(--ink); border-radius: 18px; overflow: hidden; }
.lb-matrix th, .lb-matrix td { padding: 12px 10px; text-align: center; border-bottom: 1.5px solid #E8DCC6; font-size: 14px; }
.lb-matrix th { font: 600 11px var(--mono); letter-spacing: .06em; text-transform: uppercase; background: var(--butter); border-bottom: var(--bw) solid var(--ink); }
.lb-matrix td:first-child, .lb-matrix th:first-child { text-align: left; }
.lb-matrix td:first-child { font-weight: 700; }
.lb-matrix td:first-child a { color: inherit; text-decoration: none; }
.lb-y { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--leaf); color: #fff; }
.lb-n { color: var(--muted); } /* WCAG AA: 5.9:1 on white */
.lb-matrix tr.is-hit td { background: var(--wp--preset--color--primary-soft); }
.lb-finder__h2 { font-size: 36px !important; margin: 48px 0 0 !important; }
.lb-rgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 20px; }
.lb-rcard { background: var(--paper); border: var(--bw) solid var(--ink); border-radius: 16px; padding: 16px; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.lb-rcard b { font: 700 20px var(--display); display: flex; align-items: center; gap: 8px; }
.lb-rcard p { margin: 0; font-size: 14px; color: var(--muted); }
.lb-rcard__tg { font: 600 11px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.lb-rcard .lb-go { margin-top: 6px; }

/* ---------- Channel modal ---------- */
.lb-modal-bg { position: fixed; inset: 0; background: rgba(20, 15, 10, .55); display: grid; place-items: center; z-index: 100000; padding: 16px; }
.lb-modal { background: var(--paper); color: var(--ink); border: var(--bw) solid var(--ink); border-radius: 22px; box-shadow: 8px 8px 0 var(--ink); max-width: 520px; width: 100%; padding: 28px; box-sizing: border-box; }
.lb-modal h3 { font-size: 30px; margin: 0 0 10px; color: var(--ink) !important; }
.lb-modal__why { margin: 0 0 18px; color: var(--muted); }
.lb-modal__acts { display: flex; flex-direction: column; gap: 10px; }
.lb-modal .lb-btn { box-sizing: border-box; }
body.lb-pro .lb-modal .lb-btn { border-color: var(--ink) !important; }

/* Story / ingredients patterns (Povestea noastră page) */
.lb-icon-badge { display: inline-grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; background: var(--paper); color: var(--maple); border: 2px solid var(--ink); }
.lb-icon-badge--fresh { background: var(--wp--preset--color--fresh-soft); color: var(--leaf); }
.lb-icon-badge--xl { width: 6rem; height: 6rem; }
.lb-center { text-align: center; }
.lb-link-arrow a { display: inline-flex; align-items: center; gap: .5em; }
.lb-link-arrow a::after { content: ""; width: 1.1em; height: 1.1em; background: currentColor; -webkit-mask: var(--lb-icon-arrow) center / contain no-repeat; mask: var(--lb-icon-arrow) center / contain no-repeat; }

/* Mini-cart drawer */
.wc-block-mini-cart__drawer .wc-block-components-product-name { text-decoration: none; }

/* ---------- PRO product page buy box ---------- */
.lb-pro-pricing { margin: 18px 0 4px !important; padding: 16px; border: 1px solid var(--pro-line); border-radius: 18px; background: var(--pro-panel); }
.lb-pro-pricing__label { margin: 0 0 10px; font: 600 11px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--pro-muted); }
.lb-tiers { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lb-tier-tile { position: relative; display: grid; gap: 2px; padding: 12px 14px; border: 1px solid var(--pro-line); border-radius: 14px; background: var(--pro-bg); transition: border-color .15s, background .15s, box-shadow .15s; }
.lb-tier-tile__qty { font: 600 12px var(--mono); color: var(--pro-muted); display: flex; align-items: center; gap: 6px; }
.lb-tier-tile__qty em { font-style: normal; background: var(--honey); color: var(--ink); border-radius: 999px; padding: 1px 7px; font-weight: 700; }
.lb-tier-tile b { font: 700 22px/1.2 var(--display); color: var(--pro-text); }
.lb-tier-tile small { font-size: 12px; color: var(--pro-muted); }
.lb-tier-tile.is-active { border-color: var(--honey); background: rgba(247, 162, 27, .10); box-shadow: inset 0 0 0 1px var(--honey); }
/* Active tile: honey circle (::after) with an ink Lucide check (::before) on top */
.lb-tier-tile.is-active::after { content: ""; position: absolute; top: 12px; right: 12px; width: 18px; height: 18px; border-radius: 50%; background: var(--honey); }
.lb-tier-tile.is-active::before { content: ""; position: absolute; top: 15px; right: 15px; width: 12px; height: 12px; z-index: 1; background: var(--ink); -webkit-mask: var(--lb-icon-check) center / contain no-repeat; mask: var(--lb-icon-check) center / contain no-repeat; }
.lb-pro-total { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--pro-line); }
.lb-pro-total__qty { width: 100%; font: 600 11px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--pro-muted); }
.lb-pro-total__val b { font: 800 26px/1.1 var(--display); color: var(--honey); }
.lb-pro-total__val small { color: var(--pro-muted); font-size: 13px; }
.lb-pro-total__gross { font: 500 13px var(--mono); color: var(--pro-muted); }
.lb-pro-pricing__hint { margin: 10px 0 0; font-size: 13px; color: var(--pro-muted); }
.lb-pro-pricing__hint.is-on { color: #7BC47F; font-weight: 600; }

.lb-pro-perks-mini { list-style: none; margin: 22px 0 0 !important; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lb-pro-perks-mini li { display: flex; gap: 12px; align-items: flex-start; padding: 12px; border: 1px solid var(--pro-line); border-radius: 14px; background: var(--pro-panel); }
.lb-pro-perks-mini__icon { flex: none; width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: rgba(247, 162, 27, .14); color: var(--honey); }
.lb-pro-perks-mini b { display: block; font-size: 14px; color: var(--pro-text); line-height: 1.3; }
.lb-pro-perks-mini small { display: block; font-size: 12px; color: var(--pro-muted); line-height: 1.4; margin-top: 2px; }
.lb-pro-specs { margin: 14px 0 0 !important; display: grid; grid-template-columns: 1.5fr 1fr 1fr; border: 1px solid var(--pro-line); border-radius: 14px; overflow: hidden; }
.lb-pro-specs > div { padding: 10px 12px; border-right: 1px solid var(--pro-line); }
.lb-pro-specs > div:last-child { border-right: 0; }
.lb-pro-specs dt { display: flex; align-items: center; gap: 6px; font: 600 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--pro-muted); }
.lb-pro-specs dd { margin: 4px 0 0; font: 600 13px var(--mono); color: var(--pro-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-pro-specs dd a { color: var(--honey) !important; }
.lb-pro-qo-link { margin-top: 14px !important; display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 14px; border: 1px dashed var(--honey); color: var(--pro-text) !important; text-decoration: none; transition: background .15s; }
.lb-pro-qo-link:hover { background: rgba(247, 162, 27, .08); }
.lb-pro-qo-link > .lb-icon:first-child { color: var(--honey); }
.lb-pro-qo-link span { flex: 1; }
.lb-pro-qo-link b { display: block; font-size: 15px; }
.lb-pro-qo-link small { display: block; font-size: 13px; color: var(--pro-muted); }
.lb-pro-qo-link > .lb-icon:last-child { color: var(--honey); transition: transform .2s; }
.lb-pro-qo-link:hover > .lb-icon:last-child { transform: translateX(3px); }
@media (max-width: 520px) {
	.lb-pro-perks-mini { grid-template-columns: 1fr; }
	.lb-pro-specs { grid-template-columns: 1fr 1fr; }
	.lb-pro-specs > div:first-child { grid-column: span 2; border-right: 0; border-bottom: 1px solid var(--pro-line); }
	.lb-tier-tile b { font-size: 19px; }
}

/* WooCommerce quantity steppers: Lucide minus/plus instead of text glyphs (product page, cart, drawer) */
:root {
	--lb-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
	--lb-icon-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5v14'/%3E%3C/svg%3E");
}
/* The hidden text glyph still takes a grid/line box, so centre the icon absolutely instead. */
.wc-block-components-quantity-selector__button { font-size: 0 !important; color: inherit; position: relative; }
.wc-block-components-quantity-selector__button::before { content: ""; position: absolute; inset: 0; margin: auto; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--lb-icon-plus) center / contain no-repeat; mask: var(--lb-icon-plus) center / contain no-repeat; }
.wc-block-components-quantity-selector__button--minus::before { -webkit-mask-image: var(--lb-icon-minus); mask-image: var(--lb-icon-minus); }
.wc-block-components-quantity-selector__button:hover:not(:disabled) { color: var(--honey); }
.wc-block-components-quantity-selector__button:disabled::before { opacity: .4; }

/* ---------- Contrast fixes (WCAG AA, found by page scan) ---------- */
/* Green text on the light-green tint */
.has-fresh-soft-background-color .has-fresh-color, .has-fresh-soft-background-color.has-fresh-color { color: #2F6A2B !important; }
/* Retailer type label: neutral text + brand-coloured dot (brand colours fail as text) */
.lb-rcard__tg { color: var(--muted) !important; display: inline-flex; align-items: center; gap: 6px; }
.lb-rcard__tg::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--c, var(--muted)); }

/* PRO dark skin: WooCommerce parts that keep light-theme ink */
body.lb-pro .wp-block-woocommerce-product-price,
body.lb-pro .wc-block-components-product-price,
body.lb-pro .wc-block-components-product-price .woocommerce-Price-amount,
body.lb-pro .wc-block-grid__product-price,
body.lb-pro .lb-pdp__price .woocommerce-Price-amount,
body.lb-pro .lb-card__price .woocommerce-Price-amount { color: var(--pro-text) !important; }
body.lb-pro .lb-unit-price, body.lb-pro .lb-vat-note { color: var(--pro-muted) !important; }
body.lb-pro .wc-block-components-drawer__close,
body.lb-pro .wc-block-components-drawer__close svg { color: var(--pro-text) !important; fill: currentColor; }
body.lb-pro .wc-block-components-drawer__close:hover { color: var(--honey) !important; }
body.lb-pro .wc-block-components-button:is(.outlined, .is-style-outline):not(.is-link) { background: transparent !important; border: 1.5px solid var(--pro-line) !important; box-shadow: none; }
body.lb-pro .wc-block-components-button:is(.outlined, .is-style-outline):not(.is-link),
body.lb-pro .wc-block-components-button:is(.outlined, .is-style-outline):not(.is-link) .wc-block-components-button__text { color: var(--pro-text) !important; }
body.lb-pro .wc-block-components-button:is(.outlined, .is-style-outline):not(.is-link):hover { border-color: var(--honey) !important; transform: none; box-shadow: none; }
body.lb-pro .lb-secure { color: #7BC47F; }
body.lb-pro .lb-promises small { color: var(--pro-muted); }
.lb-stepper__btn:disabled { color: #6E7686; }

/* PRO: links hover to honey (theme.json's maple hover is too dark on charcoal) */
/* Scoped to dark areas only — the PRO utility bar is honey, so its links keep ink. */
body.lb-pro :is(.lb-mainbar, .lb-main, .lb-footer, .wc-block-mini-cart__drawer) a:not(.wp-element-button):not(.lb-btn):not(.wc-block-components-button):not(.lb-go):not(.lb-rhero__cat):not(.lb-social__a):hover,
body.lb-pro .lb-icon-btn:hover { color: var(--honey) !important; }
body.lb-pro .lb-util a:hover { color: var(--ink) !important; text-decoration: underline; }

/* ---------- Responsive ---------- */
@media (max-width: 1000px) {
	.lb-catgrid { grid-template-columns: repeat(3, 1fr); }
	.lb-pgrid .wc-block-product-template, .lb-pgrid.products-block-post-template, .lb-pgrid .products-block-post-template { grid-template-columns: repeat(2, 1fr); }
	.lb-rgrid, .lb-pro-perks { grid-template-columns: repeat(2, 1fr); }
	.lb-footer__cols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 820px) {
	.lb-hero__grid, .lb-pdp, .lb-pro-band, .lb-pro-hero__grid, .lb-retail-strip__in { grid-template-columns: 1fr; }
	.lb-hero { padding-bottom: 120px; }
	.lb-hero__steps { left: 10px; right: 10px; bottom: -40px; gap: 10px; justify-content: center; }
	.lb-mainbar__in { flex-wrap: wrap; min-height: 0; padding-top: 10px; padding-bottom: 6px; gap: 8px 16px; }
	.lb-cats { order: 3; flex-basis: 100%; }
	.lb-hide-s { display: none !important; }
	.lb-show-s { display: inline; }
	.lb-recipes .wp-block-post-template { grid-template-columns: 1fr; }
	.lb-pro-band { padding: 28px; }
}
@media (max-width: 520px) {
	/* Keep logo (+ PRO badge) and the three icons on one line */
	.lb-logo .wp-block-site-logo img { height: 34px; }
	.lb-logo { gap: 6px; }
	.lb-pro-badge { font-size: 10px; padding: 4px 6px; }
	.lb-hicons { gap: 0; }
	.lb-icon-btn, .lb-hicons .wc-block-mini-cart__button { width: 40px; height: 40px; }
	.lb-mainbar__in { flex-wrap: wrap; column-gap: 8px; }
	.lb-catgrid { grid-template-columns: repeat(2, 1fr); }
	.lb-pgrid .wc-block-product-template, .lb-pgrid.products-block-post-template, .lb-pgrid .products-block-post-template { gap: 10px !important; }
	.lb-card__title { font-size: 15px !important; }
	.lb-card__price { font-size: 18px; }
	.lb-card__row { flex-direction: column; align-items: stretch; }
	.lb-card__btn .wp-block-button__link, .lb-card .wc-block-components-product-button__button { width: 100% !important; }
	.lb-rgrid, .lb-pro-perks { grid-template-columns: 1fr; }
	.lb-kpis { grid-template-columns: 1fr; }
	.lb-kpis div { border-right: 0; border-bottom: 1px solid var(--pro-line); }
	.lb-hero__steps li { font-size: 12px; }
	.lb-footer__cols { grid-template-columns: 1fr; }
	/* Sticky buy bar on phones */
	.single-product .lb-buy { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; margin: 0 !important; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: var(--paper); border-top: var(--bw) solid var(--ink); }
	body.lb-pro.single-product .lb-buy { background: var(--pro-panel); border-color: var(--pro-line); }
	.single-product .lb-buy .wp-block-woocommerce-product-button { flex: 1; }
	.single-product .lb-buy .wc-block-components-product-button__button { width: 100%; }
	.single-product { padding-bottom: 80px; }
}
@media (prefers-reduced-motion: reduce) {
	* { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- Recipes ---------- */
.lb-recipe-page > *, .lb-recipes-archive > * { margin-block-start: 0; }
.lb-rhero { display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center; padding: 18px 0 44px; }
.lb-rhero__cat { display: inline-block; font: 600 12px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink); background: var(--butter); border: 2px solid var(--ink); border-radius: 999px; padding: 5px 12px; text-decoration: none; }
.lb-rhero__cat:hover { background: var(--honey); }
.lb-rhero__title { font-size: clamp(36px, 5vw, 64px); line-height: 1.02; font-weight: 800; margin: 14px 0 16px; text-wrap: balance; }
.lb-rhero__lead p { font-size: 18px; line-height: 1.55; color: var(--muted); margin: 0 0 10px; max-width: 54ch; }
.lb-rfacts { list-style: none; padding: 0; margin: 22px 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.lb-rfacts li { display: flex; gap: 10px; align-items: center; background: var(--paper); border: 2px solid var(--ink); border-radius: 12px; padding: 10px 12px; }
.lb-rfacts li > svg { flex: none; color: var(--maple); }
.lb-rfacts span { display: grid; line-height: 1.2; min-width: 0; }
.lb-rfacts small { font: 600 11px var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.lb-rfacts b { font-size: 15px; overflow-wrap: anywhere; }
.lb-rhero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.lb-rhero__actions .lb-btn { display: inline-flex; align-items: center; gap: 8px; }
.lb-rhero__photo { margin: 0; border: var(--bw) solid var(--ink); border-radius: 28px; overflow: hidden; box-shadow: 8px 8px 0 var(--ink); transform: rotate(1.2deg); aspect-ratio: 4 / 3.4; background: var(--paper); }
.lb-rhero__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.lb-rbody { display: grid; grid-template-columns: minmax(300px, 380px) 1fr; gap: 40px; align-items: start; padding-bottom: 40px; }
.lb-rbody__side { display: grid; gap: 18px; }
@media (min-width: 821px) and (min-height: 640px) {
	.lb-rbody__side { position: sticky; top: calc(var(--lb-header-h, 80px) + 20px); }
	.admin-bar .lb-rbody__side { top: calc(var(--lb-header-h, 80px) + 20px + var(--wp-admin--admin-bar--height, 32px)); }
	.lb-rbody__side.is-tall { position: static; }
}
.lb-rbox { background: var(--paper); border: var(--bw) solid var(--ink); border-radius: 18px; box-shadow: var(--shadow); padding: 20px; }
.lb-rbox__h { display: flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 800; margin: 0 0 12px; }
.lb-rbox__h svg { color: var(--maple); }
.lb-ring__yield { font: 600 13px var(--mono); color: var(--muted); margin: -6px 0 10px; }
.lb-ring__group { font: 600 12px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--maple); margin: 16px 0 6px; }
.lb-ring__list { list-style: none; padding: 0; margin: 0; }
.lb-ring__list li + li { border-top: 1px dashed var(--wp--preset--color--line); }
.lb-ring__list label { display: flex; gap: 12px; align-items: flex-start; padding: 9px 0; cursor: pointer; line-height: 1.4; }
.lb-ring__check { appearance: none; -webkit-appearance: none; flex: none; width: 20px; height: 20px; margin: 1px 0 0; border: 2px solid var(--ink); border-radius: 6px; background: #fff; display: grid; place-content: center; cursor: pointer; }
.lb-ring__check::before { content: ""; width: 12px; height: 12px; background: var(--ink); -webkit-mask: url("../icons/check.svg") center / contain no-repeat; mask: url("../icons/check.svg") center / contain no-repeat; transform: scale(0); transition: transform .12s; }
.lb-ring__check:checked { background: var(--honey); }
.lb-ring__check:checked::before { transform: scale(1); }
.lb-ring__check:focus-visible { outline: 3px solid var(--wp--preset--color--focus); outline-offset: 2px; }
.lb-ring__list label:has(:checked) span { text-decoration: line-through; color: var(--muted); }
.lb-ring__hint { font-size: 13px; color: var(--muted); margin: 12px 0 0; }

.lb-rprod { display: grid; grid-template-columns: 84px 1fr; gap: 14px; align-items: center; }
.lb-rprod + .lb-rprod { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--wp--preset--color--line); }
.lb-rprod__img { display: block; border: 2px solid var(--ink); border-radius: 12px; overflow: hidden; background: #fff; aspect-ratio: 1; }
.lb-rprod__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.lb-rprod__txt { display: grid; gap: 4px; min-width: 0; }
.lb-rprod__name { font-weight: 700; line-height: 1.25; color: var(--ink); text-decoration: none; }
a.lb-rprod__name:hover { text-decoration: underline; }
.lb-rprod__price { font-weight: 700; }
.lb-rprod__price .lb-unit-price { display: block; font: 400 12px var(--mono); color: var(--muted); }
.lb-rprod .wp-block-button, .lb-rprod .wc-block-components-product-button { margin: 6px 0 0 !important; justify-content: flex-start; }
.lb-rprod .wp-block-button__link, .lb-rprod .lb-btn { font-size: 14px !important; padding: 8px 14px !important; }
.lb-rprod--none { grid-template-columns: 1fr; }
.lb-rprod--none p { margin: 0; font-size: 14px; color: var(--muted); }

.lb-rsteps__h { font-size: clamp(28px, 3.4vw, 40px); font-weight: 800; margin: 0 0 18px; scroll-margin-top: calc(var(--lb-header-h, 80px) + 20px); }
.lb-rsteps { list-style: none; counter-reset: lbstep; padding: 0; margin: 0; display: grid; gap: 14px; }
.lb-rsteps li { counter-increment: lbstep; position: relative; padding: 16px 18px 16px 72px; background: var(--paper); border: 2px solid var(--ink); border-radius: 16px; }
.lb-rsteps li::before { content: counter(lbstep); position: absolute; left: 16px; top: 14px; width: 40px; height: 40px; display: grid; place-items: center; border: 2px solid var(--ink); border-radius: 50%; background: var(--honey); font: 800 18px var(--display); color: var(--ink); box-shadow: 2px 2px 0 var(--ink); }
.lb-rsteps p { margin: 0; font-size: 17px; line-height: 1.6; }
.lb-rsteps__label { display: block; font: 600 12px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--maple); margin: 2px 0 4px; }
.lb-rtips { margin-top: 22px; font-size: 16px; }
.lb-rtips svg { flex: none; color: var(--maple); margin-top: 2px; }
.lb-rtips p { margin: 4px 0 0; }
.lb-routro { margin: 22px 0 0; font-size: 16px; color: var(--muted); font-style: italic; }
.lb-rdone { display: flex; align-items: center; gap: 10px; margin: 26px 0 0; font: 800 24px var(--display); }
.lb-rdone svg { color: var(--maple); }
.lb-related-recipes { border-top: var(--bw) solid var(--ink); padding-top: 40px; margin-top: 10px; }
.lb-recipes--even .wp-block-post-template { grid-template-columns: repeat(3, 1fr); }
.lb-recipes .wp-block-post-template > .lb-recipe { margin: 0; }

/* Archive */
.lb-rarch-head { max-width: 760px; }
.lb-filters small { font: 600 11px var(--mono); opacity: .7; margin-left: 2px; }
.lb-recipes--grid .wp-block-post-template { grid-template-columns: repeat(3, 1fr); }
.lb-recipes--grid .wp-block-post:first-child { grid-column: span 2; grid-row: span 2; }
.lb-recipes--grid .wp-block-post:first-child .lb-recipe { min-height: 540px; }
.lb-recipes--grid .wp-block-post:first-child .lb-recipe__title { font-size: clamp(26px, 3vw, 36px) !important; }
.lb-recipes .lb-recipe__title { text-wrap: balance; }
.lb-recipe:hover img { transform: scale(1.04); }
.lb-recipe img { transition: transform .35s ease; }
.lb-pager { margin: 34px 0 10px; gap: 8px; font-weight: 700; }
.lb-pager a, .lb-pager .page-numbers { color: var(--ink); text-decoration: none; border: 2px solid var(--ink); border-radius: 999px; padding: 6px 14px; background: var(--paper); }
.lb-pager .page-numbers.current { background: var(--ink); color: var(--batter); }
.lb-pager .page-numbers.dots { border: 0; background: none; }

@media (max-width: 1000px) {
	.lb-rhero { grid-template-columns: 1fr; gap: 28px; padding-bottom: 32px; }
	.lb-rhero__photo { order: -1; transform: none; box-shadow: 5px 5px 0 var(--ink); aspect-ratio: 16 / 10; }
	.lb-rbody { grid-template-columns: 1fr; gap: 28px; }
	.lb-recipes--grid .wp-block-post-template, .lb-recipes--even .wp-block-post-template { grid-template-columns: 1fr 1fr; }
	.lb-recipes--grid .wp-block-post:first-child { grid-row: auto; }
	.lb-recipes--grid .wp-block-post:first-child .lb-recipe { min-height: 340px; }
}
@media (max-width: 600px) {
	.lb-rfacts { grid-template-columns: 1fr 1fr; }
	.lb-rfacts li:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.lb-rsteps li { padding: 54px 16px 16px; }
	.lb-rsteps li::before { left: 14px; top: 10px; width: 34px; height: 34px; font-size: 16px; }
	.lb-recipes--grid .wp-block-post-template, .lb-recipes--even .wp-block-post-template { grid-template-columns: 1fr; }
	.lb-recipes--grid .wp-block-post:first-child { grid-column: auto; }
	.lb-recipes--grid .wp-block-post:first-child .lb-recipe { min-height: 280px; }
	.lb-filters { flex-wrap: nowrap; overflow-x: auto; margin-inline: -16px; padding: 2px 16px 6px; scrollbar-width: none; }
	.lb-filters a { flex: none; }
}

/* PRO skin */
body.lb-pro .lb-rbox, body.lb-pro .lb-rfacts li, body.lb-pro .lb-rsteps li { background: var(--pro-panel); border: 1px solid var(--pro-line); box-shadow: none; color: var(--pro-text); }
body.lb-pro .lb-rhero__lead p, body.lb-pro .lb-rfacts small, body.lb-pro .lb-ring__hint, body.lb-pro .lb-routro, body.lb-pro .lb-ring__yield { color: var(--pro-muted); }
body.lb-pro .lb-rbox__h svg, body.lb-pro .lb-rfacts li > svg, body.lb-pro .lb-rsteps__label, body.lb-pro .lb-ring__group, body.lb-pro .lb-rdone svg { color: var(--honey); }
body.lb-pro .lb-rprod__name { color: var(--pro-text); }
body.lb-pro .lb-rhero__photo { border-color: var(--pro-line); box-shadow: none; }

/* Print: the recipe only */
@media print {
	.lb-site-header, .lb-footer, footer, .lb-rhero__actions, .lb-related-recipes, .lb-rbox--prod, .lb-crumbs, .lb-ring__hint, #wpadminbar { display: none !important; }
	.lb-rhero { grid-template-columns: 1fr 220px; gap: 20px; padding: 0 0 16px; }
	.lb-rhero__photo { transform: none; box-shadow: none; aspect-ratio: 1; }
	.lb-rbody { grid-template-columns: 260px 1fr; gap: 24px; }
	.lb-rbody__side { position: static; }
	.lb-rbox, .lb-rsteps li, .lb-rfacts li { box-shadow: none; break-inside: avoid; }
	body { background: #fff; }
}
body.lb-pro .lb-rhero__cat { color: var(--ink) !important; background: var(--honey); border-color: var(--honey); }
body.lb-pro .lb-rhero__cat:hover { background: var(--butter); }
/* Story page: the H1 keeps the section-heading scale. */
.lb-story__title { font-size: var(--wp--preset--font-size--xx-large, clamp(36px, 4.6vw, 56px)) !important; }

/* Footer social links (Simple Icons) */
.lb-social { list-style: none; padding: 0; margin: 18px 0 0; display: flex; gap: 10px; flex-wrap: wrap; }
.lb-footer a.lb-social__a { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 2px solid rgba(234, 223, 208, .35); color: #EADFD0; opacity: 1; text-decoration: none; transition: background .15s, color .15s, border-color .15s, transform .15s; }
.lb-footer a.lb-social__a:is(:hover, :focus-visible) { background: var(--honey); border-color: var(--honey); color: var(--ink) !important; text-decoration: none; transform: translateY(-2px); }
.lb-footer a.lb-social__a:focus-visible { outline: 3px solid var(--honey); outline-offset: 3px; }

/* ---------- Breadcrumbs (one component: [lb_breadcrumbs]) ---------- */
.lb-crumbs { padding-top: 20px; margin: 0 0 6px; font-size: 14px; line-height: 1.3; }
.lb-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 4px 0; }
.lb-crumbs li { display: inline-flex; align-items: center; min-width: 0; }
.lb-crumbs li + li::before { content: ""; flex: none; width: 14px; height: 14px; margin: 0 4px; background: var(--muted); opacity: .55; -webkit-mask: url("../icons/chevron-right.svg") center / contain no-repeat; mask: url("../icons/chevron-right.svg") center / contain no-repeat; }
.lb-crumbs a { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; color: var(--muted); font-weight: 500; text-decoration: none; transition: background .15s, color .15s; }
.lb-crumbs li:first-child a { margin-left: -10px; }
.lb-crumbs a:hover { background: var(--butter); color: var(--ink); }
.lb-crumbs a:focus-visible { outline: 3px solid var(--wp--preset--color--focus); outline-offset: 1px; }
.lb-crumbs a svg { flex: none; margin-top: -1px; }
.lb-crumbs__current { display: inline-block; padding: 5px 2px; font-weight: 700; color: var(--ink); max-width: 46ch; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 600px) {
	.lb-crumbs { margin-inline: -16px; }
	.lb-crumbs ol { flex-wrap: nowrap; overflow-x: auto; padding: 0 16px 2px; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); }
	.lb-crumbs ol::-webkit-scrollbar { display: none; }
	.lb-crumbs li { flex: none; }
	.lb-crumbs li:first-child a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.lb-crumbs li:first-child a { margin-left: -8px; padding-inline: 8px; }
	.lb-crumbs__current { max-width: 62vw; padding-right: 32px; }
}
body.lb-pro .lb-crumbs li + li::before { background: var(--pro-muted); }
body.lb-pro .lb-crumbs a { color: var(--pro-muted) !important; }
body.lb-pro .lb-crumbs a:hover { background: var(--pro-panel); color: var(--honey) !important; }
body.lb-pro .lb-crumbs__current { color: var(--pro-text); }

/* ---------- Where-to-buy: availability cards (replaces the product × retailer table) ---------- */
.lb-avail { list-style: none; margin: 26px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 14px; }
.lb-avail__item { display: grid; grid-template-columns: 76px 1fr; gap: 14px; align-items: start; background: var(--paper); border: var(--bw) solid var(--ink); border-radius: 18px; padding: 14px; transition: background .15s, box-shadow .15s; }
.lb-avail__item.is-hit { background: var(--wp--preset--color--primary-soft); box-shadow: 4px 4px 0 var(--ink); }
.lb-avail__img { display: block; aspect-ratio: 1; border: 2px solid var(--ink); border-radius: 12px; overflow: hidden; background: #fff; }
.lb-avail__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.lb-avail__body { min-width: 0; display: grid; gap: 2px; }
.lb-avail__name { font: 700 19px/1.2 var(--display); color: var(--ink); text-decoration: none; }
.lb-avail__name:hover { text-decoration: underline; text-decoration-color: var(--honey); text-decoration-thickness: 3px; text-underline-offset: 3px; }
.lb-avail__meta { font: 500 12px var(--mono); color: var(--muted); }
.lb-avail__where { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.lb-wchip { display: inline-flex; align-items: center; gap: 6px; border: 2px solid var(--ink); border-radius: 999px; padding: 4px 11px; font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--ink) !important; background: var(--batter); text-decoration: none; transition: background .15s, box-shadow .15s, transform .15s; }
.lb-wchip i { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.lb-wchip--own { background: var(--honey); }
.lb-wchip svg { flex: none; }
.lb-wchip:hover { box-shadow: 2px 2px 0 var(--ink); transform: translate(-1px, -1px); }
.lb-wchip:focus-visible { outline: 3px solid var(--wp--preset--color--focus); outline-offset: 2px; }
.lb-avail__empty { grid-column: 1 / -1; padding: 18px; border: 2px dashed var(--ink); border-radius: 16px; text-align: center; color: var(--muted); }
@media (max-width: 600px) {
	.lb-avail__item { grid-template-columns: 60px 1fr; gap: 12px; padding: 12px; }
	.lb-avail__name { font-size: 17px; }
}
body.lb-pro .lb-avail__item { background: var(--pro-panel); border: 1px solid var(--pro-line); }
body.lb-pro .lb-avail__name { color: var(--pro-text) !important; }

/* ---------- Upsells (cart page, checkout sidebar, mini-cart drawer) ---------- */
.lb-upsell { background: var(--paper); border: var(--bw) solid var(--ink); border-radius: 18px; padding: 16px; margin: 20px 0 0; }
.lb-upsell[hidden] { display: none !important; }
.lb-upsell__h { font: 800 20px/1.2 var(--display) !important; margin: 0 0 10px !important; color: var(--ink); }
.lb-upsell__nudge { margin: 0 0 12px; padding: 8px 12px; border-radius: 10px; background: var(--butter); font-size: 14px; color: var(--ink); }
.lb-upsell__nudge b { font-weight: 800; }
.lb-upsell__nudge.is-ok { background: var(--wp--preset--color--fresh-soft, #E4F0E1); }
.lb-upsell__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.lb-upsell--cart .lb-upsell__list { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.lb-upsell__item { display: grid; grid-template-columns: 56px 1fr auto; gap: 12px; align-items: center; padding: 8px; border-radius: 12px; background: var(--batter); border: 1.5px solid var(--wp--preset--color--line, #E8DCC6); }
.lb-upsell__img { display: block; width: 56px; height: 56px; border-radius: 10px; overflow: hidden; background: #fff; border: 1.5px solid var(--ink); }
.lb-upsell__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.lb-upsell__txt { min-width: 0; display: grid; gap: 2px; }
.lb-upsell__name { font-weight: 700; font-size: 14px; line-height: 1.25; color: var(--ink) !important; text-decoration: none; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.lb-upsell__name:hover { text-decoration: underline; }
.lb-upsell__price { font-size: 13px; font-weight: 700; color: var(--maple); }
.lb-upsell__price small { font-weight: 500; color: var(--muted); }
.lb-upsell__add { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; border: 2px solid var(--ink); border-radius: 999px; background: var(--honey); color: var(--ink); font: 700 13px var(--wp--preset--font-family--body); padding: 6px 12px; cursor: pointer; box-shadow: 2px 2px 0 var(--ink); transition: transform .12s, box-shadow .12s, background .15s; }
.lb-upsell__add:hover { transform: translate(-1px, -1px); box-shadow: 3px 3px 0 var(--ink); }
.lb-upsell__add:active { transform: translate(1px, 1px); box-shadow: 0 0 0 var(--ink); }
.lb-upsell__add:focus-visible { outline: 3px solid var(--wp--preset--color--focus); outline-offset: 2px; }
.lb-upsell__add[disabled] { cursor: default; opacity: .85; }
.lb-upsell__add.is-done { background: var(--leaf); color: #fff; border-color: var(--leaf); box-shadow: none; }
.lb-upsell__add span { font-size: 16px; line-height: 1; }
.lb-upsell__err { margin: 10px 0 0; font-size: 13px; color: #A3261B; }
/* Narrow placements (checkout sidebar, drawer): button under the price so names stay readable. */
:is(.lb-upsell--checkout, .lb-upsell--drawer) .lb-upsell__item { grid-template-columns: 56px 1fr; grid-template-rows: auto auto; row-gap: 6px; }
:is(.lb-upsell--checkout, .lb-upsell--drawer) .lb-upsell__img { grid-row: 1 / span 2; align-self: start; }
:is(.lb-upsell--checkout, .lb-upsell--drawer) .lb-upsell__add { grid-column: 2; justify-self: start; }
/* Checkout sidebar: sits under the order summary. */
.lb-upsell--checkout { margin-top: 16px; }
/* Drawer: flatter, inside the scroll area under the cart lines. */
.lb-upsell--drawer { margin: 18px 16px 8px; border-width: 2px; padding: 14px; }
.lb-upsell--drawer .lb-upsell__h { font-size: 17px !important; }
@media (max-width: 600px) {
	.lb-upsell .lb-upsell__item { grid-template-columns: 56px 1fr; grid-template-rows: auto auto; row-gap: 6px; }
	.lb-upsell .lb-upsell__img { grid-row: 1 / span 2; align-self: start; }
	.lb-upsell .lb-upsell__add { grid-column: 2; justify-self: start; }
}
/* PRO */
body.lb-pro .lb-upsell { background: var(--pro-panel); border: 1px solid var(--pro-line); }
body.lb-pro .lb-upsell__h { color: var(--pro-text); }
body.lb-pro .lb-upsell__item { background: var(--pro-bg); border-color: var(--pro-line); }
body.lb-pro .lb-upsell__name { color: var(--pro-text) !important; }
body.lb-pro .lb-upsell__price { color: var(--honey); }
body.lb-pro .lb-upsell__price small { color: var(--pro-muted); }
body.lb-pro .lb-upsell__add { box-shadow: none; border-color: var(--honey); }

/* ---------- Mini-cart drawer: close button ----------
   The global button style (border + padding) also hits WooCommerce's close button, and WooCommerce's
   own -1em margin then pushes the oversized circle past the drawer edge. Give it its own compact style. */
.wc-block-components-button.wc-block-components-drawer__close {
	position: absolute; top: 44px; right: 16px; inset-inline-end: 16px;
	width: 40px; height: 40px; min-width: 0; padding: 0 !important; margin: 0 !important;
	border: 2px solid var(--ink) !important; border-radius: 50% !important;
	background: var(--paper) !important; color: var(--ink) !important; opacity: 1; box-shadow: none !important;
	transition: background .15s, transform .15s;
}
.wc-block-components-button.wc-block-components-drawer__close svg { width: 20px; height: 20px; fill: currentColor; }
.wc-block-components-button.wc-block-components-drawer__close:hover { background: var(--butter) !important; transform: rotate(90deg); }
.wc-block-components-button.wc-block-components-drawer__close:focus-visible { outline: 3px solid var(--wp--preset--color--focus) !important; outline-offset: 2px; }
/* Keep the title clear of the button. */
.wc-block-mini-cart__title { padding-right: 56px; }
body.lb-pro .wc-block-components-button.wc-block-components-drawer__close { background: var(--pro-panel) !important; border-color: var(--pro-line) !important; color: var(--pro-text) !important; }
body.lb-pro .wc-block-components-button.wc-block-components-drawer__close:hover { background: var(--pro-bg) !important; color: var(--honey) !important; }
@media (prefers-reduced-motion: reduce) { .wc-block-components-button.wc-block-components-drawer__close:hover { transform: none; } }
/* Drawer title: label + item counter flow as one line of text instead of two wrapping flex columns. */
.wc-block-mini-cart__title { display: block !important; }
.wc-block-mini-cart__title > * { display: inline !important; }
@media (max-width: 600px) {
	.wc-block-mini-cart__title { font-size: 26px !important; }
	.wc-block-components-button.wc-block-components-drawer__close { top: 25px; }
}

/* ---------- Quantity stepper (cart page + drawer): pill with the site's ink outline ---------- */
.wc-block-components-quantity-selector { display: inline-flex !important; align-items: stretch; width: auto !important; height: 38px; border: 2px solid var(--ink) !important; border-radius: 999px !important; background: var(--paper); overflow: hidden; box-shadow: none !important; }
.wc-block-components-quantity-selector::after { display: none !important; } /* WooCommerce's inset border */
.wc-block-components-quantity-selector__button { width: 36px; min-width: 36px !important; height: 100%; border: 0 !important; background: transparent !important; color: var(--ink) !important; opacity: 1 !important; cursor: pointer; }
.wc-block-components-quantity-selector__button:hover:not(:disabled) { background: var(--butter) !important; color: var(--ink) !important; }
.wc-block-components-quantity-selector__button:focus-visible { outline: 3px solid var(--wp--preset--color--focus); outline-offset: -3px; }
.wc-block-components-quantity-selector__input { width: 34px !important; min-width: 0 !important; height: 100% !important; border: 0 !important; background: transparent !important; font: 700 15px var(--wp--preset--font-family--body) !important; color: var(--ink) !important; text-align: center; padding: 0 !important; box-shadow: none !important; -moz-appearance: textfield; }
.wc-block-components-quantity-selector__input::-webkit-inner-spin-button, .wc-block-components-quantity-selector__input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

/* Remove button: round icon button, red on hover. */
.wc-block-cart-item__remove-link { display: inline-grid !important; place-items: center; width: 36px; height: 36px; padding: 0 !important; border-radius: 50%; border: 0; background: transparent; color: var(--muted) !important; cursor: pointer; transition: background .15s, color .15s; }
.wc-block-cart-item__remove-link svg { width: 18px; height: 18px; fill: currentColor; }
.wc-block-cart-item__remove-link:hover { background: #FBE4E0; color: #B42318 !important; }
.wc-block-cart-item__remove-link:focus-visible { outline: 3px solid var(--wp--preset--color--focus); outline-offset: 1px; }
.wc-block-cart-item__quantity { display: flex !important; align-items: center; gap: 8px; margin-top: 10px; }

/* ---------- Mini-cart drawer: line items as cards ---------- */
.wc-block-mini-cart__drawer .wc-block-mini-cart__products-table { border-spacing: 0; }
.wc-block-mini-cart__drawer .wc-block-cart-items__row { display: grid !important; grid-template-columns: 72px minmax(0, 1fr) auto; column-gap: 14px; align-items: start; padding: 12px !important; margin: 0 0 10px; background: var(--paper); border: 1.5px solid var(--wp--preset--color--line, #E8DCC6); border-radius: 16px; }
.wc-block-mini-cart__drawer .wc-block-cart-items__row > td { display: block; padding: 0 !important; border: 0 !important; }
.wc-block-mini-cart__drawer .wc-block-cart-item__image { width: 72px; }
.wc-block-mini-cart__drawer .wc-block-cart-item__image img { width: 72px; height: 72px; object-fit: contain; background: #fff; border-radius: 12px; }
.wc-block-mini-cart__drawer .wc-block-cart-item__wrap { display: grid; gap: 3px; }
.wc-block-mini-cart__drawer .wc-block-components-product-name { font: 700 15px/1.25 var(--display) !important; color: var(--ink) !important; text-decoration: none; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin: 0 !important; }
.wc-block-mini-cart__drawer a.wc-block-components-product-name:hover { text-decoration: underline; text-decoration-color: var(--honey); text-decoration-thickness: 2px; }
.wc-block-mini-cart__drawer .wc-block-cart-item__prices { font-size: 13px; color: var(--muted); margin: 0 !important; }
.wc-block-mini-cart__drawer .wc-block-cart-item__prices .wc-block-components-product-price__value::after { content: " / buc"; }
.wc-block-mini-cart__drawer .wc-block-cart-item__prices del { opacity: .7; }
.wc-block-mini-cart__drawer .wc-block-components-product-metadata { display: none !important; } /* full description: noise in the drawer */
.wc-block-mini-cart__drawer .wc-block-cart-item__total { text-align: right; }
.wc-block-mini-cart__drawer .wc-block-cart-item__total .wc-block-components-product-price__value { font: 800 16px var(--display); color: var(--ink); white-space: nowrap; }
.wc-block-mini-cart__drawer .wc-block-cart-item__total .wc-block-components-sale-badge { margin-top: 4px; }
.wc-block-mini-cart__drawer .wc-block-cart-item__quantity { margin-top: 8px; }
.wc-block-mini-cart__drawer .wc-block-components-product-backorder-badge { justify-self: start; }
@media (max-width: 420px) {
	.wc-block-mini-cart__drawer .wc-block-cart-items__row { grid-template-columns: 60px minmax(0, 1fr) auto; column-gap: 12px; padding: 10px !important; }
	.wc-block-mini-cart__drawer .wc-block-cart-item__image, .wc-block-mini-cart__drawer .wc-block-cart-item__image img { width: 60px; height: 60px; }
}
/* PRO */
body.lb-pro .wc-block-mini-cart__drawer .wc-block-cart-items__row { background: var(--pro-panel); border-color: var(--pro-line); }
body.lb-pro .wc-block-mini-cart__drawer .wc-block-components-product-name,
body.lb-pro .wc-block-mini-cart__drawer .wc-block-cart-item__total .wc-block-components-product-price__value { color: var(--pro-text) !important; }
body.lb-pro .wc-block-components-quantity-selector { background: var(--pro-bg); border-color: var(--pro-line) !important; }
body.lb-pro .wc-block-components-quantity-selector__input,
body.lb-pro .wc-block-components-quantity-selector__button { color: var(--pro-text) !important; }
body.lb-pro .wc-block-components-quantity-selector__button:hover:not(:disabled) { background: var(--pro-panel) !important; color: var(--honey) !important; }
body.lb-pro .wc-block-cart-item__remove-link:hover { background: rgba(180, 35, 24, .18); color: #F2A79B !important; }
/* Remove: WooCommerce forces 24px and a small glyph; use a 36px target with Lucide trash-2. */
.wc-block-cart-item__remove-link { width: 36px !important; min-width: 36px; height: 36px !important; position: relative; }
.wc-block-cart-item__remove-link svg { display: none !important; }
.wc-block-cart-item__remove-link::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("../icons/trash-2.svg") center / contain no-repeat; mask: url("../icons/trash-2.svg") center / contain no-repeat; }
/* Drawer spacing: clear the title, and align the upsell box with the item cards. */
.wc-block-mini-cart__drawer .wc-block-mini-cart__products-table { margin-top: 26px !important; }
.lb-upsell--drawer { margin: 8px 0 8px !important; }
/* Drawer table → block flow so cards never exceed the drawer width (table layout overflowed on phones). */
.wc-block-mini-cart__drawer .wc-block-mini-cart__products-table,
.wc-block-mini-cart__drawer .wc-block-mini-cart__products-table tbody { display: block !important; width: 100% !important; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__products-table thead { display: none; }
.wc-block-mini-cart__drawer .wc-block-cart-items__row { width: 100%; box-sizing: border-box; }
.wc-block-mini-cart__drawer .wc-block-cart-item__product { min-width: 0; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__items { padding-inline: 16px !important; box-sizing: border-box; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__products-table { margin-inline: 0 !important; }
.lb-upsell--drawer { width: 100%; box-sizing: border-box; }
.wc-block-mini-cart__drawer table.wc-block-cart-items,
.wc-block-mini-cart__drawer table.wc-block-cart-items > tbody { display: block !important; width: 100% !important; border-spacing: 0; margin: 0 !important; }

/* ---------- Checkout order summary: items as soft cards (matches the drawer) ---------- */
.wc-block-components-order-summary .wc-block-components-order-summary__content { display: grid; gap: 8px; }
.wc-block-components-order-summary .wc-block-components-order-summary-item { display: grid !important; grid-template-columns: 56px minmax(0, 1fr) auto; column-gap: 12px; align-items: start; padding: 10px !important; margin: 0 !important; background: var(--batter); border: 1.5px solid var(--wp--preset--color--line, #E8DCC6); border-radius: 14px; }
.wc-block-components-order-summary .wc-block-components-order-summary-item::after { display: none !important; } /* WooCommerce divider line */
.wc-block-components-order-summary .wc-block-components-order-summary-item__image { width: 56px !important; margin: 0 !important; padding: 0 !important; position: relative; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__image img { width: 56px !important; height: 56px !important; max-width: none; object-fit: contain; background: #fff; border-radius: 10px; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity { top: -8px !important; right: -8px !important; left: auto !important; transform: none !important; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__description { padding: 0 !important; min-width: 0; display: grid; gap: 3px; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-name { font: 700 14px/1.25 var(--display) !important; color: var(--ink) !important; margin: 0 !important; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.wc-block-components-order-summary .wc-block-cart-item__prices { margin: 0 !important; font-size: 12.5px; color: var(--muted); }
.wc-block-components-order-summary .wc-block-components-order-summary-item__individual-prices::after { content: " / buc"; }
.wc-block-components-order-summary .wc-block-components-product-metadata { display: none !important; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__total-price { padding: 0 !important; margin: 0 !important; text-align: right; font: 800 15px var(--display) !important; color: var(--ink) !important; white-space: nowrap; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__total-price .wc-block-components-sale-badge { margin-top: 4px; }
/* PRO */
body.lb-pro .wc-block-components-order-summary .wc-block-components-order-summary-item { background: var(--pro-bg); border-color: var(--pro-line); }
body.lb-pro .wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-name,
body.lb-pro .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price { color: var(--pro-text) !important; }
/* Narrow sidebar: name spans the card; unit price + line total share the second row. */
.wc-block-components-order-summary .wc-block-components-order-summary-item { grid-template-columns: 56px minmax(0, 1fr) auto; grid-template-areas: "img name name" "img unit total"; row-gap: 6px; box-sizing: border-box; width: 100%; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__image { grid-area: img; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__description { display: contents !important; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__description .wc-block-components-product-name { grid-area: name; -webkit-line-clamp: unset; display: block; }
.wc-block-components-order-summary .wc-block-cart-item__prices { grid-area: unit; align-self: center; }
.wc-block-components-order-summary .wc-block-components-order-summary-item__total-price { grid-area: total; align-self: center; }
.wc-block-components-order-summary .wc-block-components-order-summary-item > .screen-reader-text { position: absolute !important; }

/* ---------- Cart page: items as cards (same language as the drawer and checkout summary) ---------- */
.wp-block-woocommerce-cart table.wc-block-cart-items,
.wp-block-woocommerce-cart table.wc-block-cart-items > tbody { display: block !important; width: 100% !important; border: 0 !important; border-spacing: 0; margin: 0 !important; }
.wp-block-woocommerce-cart table.wc-block-cart-items > thead { display: none !important; }
.wp-block-woocommerce-cart table.wc-block-cart-items > tbody { display: grid !important; gap: 12px; }
.wp-block-woocommerce-cart .wc-block-cart-items__row { display: grid !important; grid-template-columns: 96px minmax(0, 1fr) auto; column-gap: 18px; align-items: start; width: 100%; box-sizing: border-box; padding: 16px !important; background: var(--batter); border: 1.5px solid var(--wp--preset--color--line, #E8DCC6); border-radius: 18px; transition: border-color .15s; }
.wp-block-woocommerce-cart .wc-block-cart-items__row:hover { border-color: var(--ink); }
.wp-block-woocommerce-cart .wc-block-cart-items__row > td { display: block !important; padding: 0 !important; border: 0 !important; }
.wp-block-woocommerce-cart .wc-block-cart-item__image { width: 96px; }
.wp-block-woocommerce-cart .wc-block-cart-item__image a { display: block; }
.wp-block-woocommerce-cart .wc-block-cart-item__image img { width: 96px; height: 96px; max-width: none; object-fit: contain; background: #fff; border-radius: 14px; }
.wp-block-woocommerce-cart .wc-block-cart-item__product { min-width: 0; }
.wp-block-woocommerce-cart .wc-block-cart-item__wrap { display: grid; gap: 4px; }
.wp-block-woocommerce-cart .wc-block-components-product-name { font: 700 17px/1.25 var(--display) !important; color: var(--ink) !important; text-decoration: none; margin: 0 !important; }
.wp-block-woocommerce-cart a.wc-block-components-product-name:hover { text-decoration: underline; text-decoration-color: var(--honey); text-decoration-thickness: 3px; text-underline-offset: 3px; }
.wp-block-woocommerce-cart .wc-block-cart-item__prices { margin: 0 !important; font-size: 14px; color: var(--muted); }
.wp-block-woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price__value::after { content: " / buc"; }
.wp-block-woocommerce-cart .wc-block-cart-item__prices del { opacity: .7; }
.wp-block-woocommerce-cart .wc-block-components-product-metadata { display: none !important; }
.wp-block-woocommerce-cart .wc-block-cart-item__quantity { margin-top: 12px !important; }
.wp-block-woocommerce-cart .wc-block-cart-item__total { text-align: right; min-width: 90px; }
.wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value { font: 800 19px var(--display); color: var(--ink); white-space: nowrap; }
.wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-sale-badge { margin-top: 6px; }
@media (max-width: 600px) {
	.wp-block-woocommerce-cart .wc-block-cart-items__row { grid-template-columns: 72px minmax(0, 1fr) auto; column-gap: 12px; padding: 12px !important; border-radius: 16px; }
	.wp-block-woocommerce-cart .wc-block-cart-item__image, .wp-block-woocommerce-cart .wc-block-cart-item__image img { width: 72px; height: 72px; }
	.wp-block-woocommerce-cart .wc-block-components-product-name { font-size: 15px !important; }
	.wp-block-woocommerce-cart .wc-block-cart-item__total { min-width: 0; }
	.wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value { font-size: 16px; }
}
body.lb-pro .wp-block-woocommerce-cart .wc-block-cart-items__row { background: var(--pro-bg); border-color: var(--pro-line); }
body.lb-pro .wp-block-woocommerce-cart .wc-block-cart-items__row:hover { border-color: var(--pro-muted); }
body.lb-pro .wp-block-woocommerce-cart .wc-block-components-product-name,
body.lb-pro .wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value { color: var(--pro-text) !important; }
/* Cart page, WooCommerce's narrow layout (.is-mobile): name full width, unit price + total on one row, stepper below. */
.wp-block-woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 72px minmax(0, 1fr) auto !important; grid-template-areas: "img name name" "img unit total" "img qty qty" !important; column-gap: 12px; row-gap: 4px; padding: 12px !important; }
.wp-block-woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-item__image { grid-area: img !important; grid-row: 1 / span 3; width: 72px !important; padding: 0 !important; }
.wp-block-woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-item__image img { width: 72px; height: 72px; }
.wp-block-woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-item__product,
.wp-block-woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-item__wrap { display: contents !important; }
.wp-block-woocommerce-cart .wc-block-cart.is-mobile .wc-block-components-product-name { grid-area: name; font-size: 15px !important; }
.wp-block-woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-item__prices { grid-area: unit; align-self: center; }
.wp-block-woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-item__quantity { grid-area: qty; margin-top: 6px !important; }
.wp-block-woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-item__total { grid-area: total !important; align-self: center; min-width: 0; position: static !important; padding: 0 !important; }
.wp-block-woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-item__total .wc-block-components-product-price__value { font-size: 16px; }
/* WooCommerce's .is-mobile rules set grid-column/row-start on these cells with higher specificity. */
.wp-block-woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-items__row .wc-block-cart-item__quantity { grid-area: qty !important; padding: 0 !important; }
.wp-block-woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-items__row .wc-block-cart-item__prices { grid-area: unit !important; }
.wp-block-woocommerce-cart .wc-block-cart.is-mobile .wc-block-cart-items__row .wc-block-components-product-name { grid-area: name !important; }

/* Checkout title row: "Plată securizată" pill beside the heading (moved here from the old minimal header). */
.lb-page-head { gap: 8px 16px; margin: 0 0 4px; }
.lb-page-head .lb-page-title { margin-bottom: 10px !important; }
.lb-page-head .lb-secure { padding: 6px 12px; border: 2px solid var(--leaf); border-radius: 999px; background: var(--wp--preset--color--fresh-soft, #E4F0E1); }
body.lb-pro .lb-page-head .lb-secure { background: transparent; border-color: #7BC47F; }
@media (max-width: 600px) { .lb-page-head { margin-bottom: 14px; } }
/* Phones: WooCommerce puts the order summary above the form, which would put the upsell before the contact
   fields. Keep the mobile checkout focused; the cart page and drawer already carry upsells. */
.wc-block-checkout.is-mobile .lb-upsell--checkout, .wc-block-checkout.is-small .lb-upsell--checkout { display: none !important; }

/* Header: menu right-aligned next to the icons (desktop). On phones it stays its own full-width row. */
@media (min-width: 1000px) {
	.lb-cats { flex: 0 1 auto; min-width: 0; margin-left: auto !important; }
	.lb-hicons { margin-left: 0 !important; }
}
/* Below 1000px the full menu no longer fits beside logo + icons: give it its own row (as on tablets/phones). */
@media (min-width: 821px) and (max-width: 999px) {
	.lb-mainbar__in { flex-wrap: wrap; min-height: 0; padding-top: 12px; padding-bottom: 8px; gap: 8px 16px; }
	.lb-cats { order: 3; flex-basis: 100%; }
}
/* Mid-width desktops/laptops: tighten links so the whole menu fits (it was clipping "Unde găsești"). */
@media (min-width: 1000px) and (max-width: 1120px) {
	.lb-mainbar__in { gap: 18px; }
	.lb-cats { gap: 0; }
	.lb-cats a { padding: 8px 9px; font-size: 15px; }
}

/* ---------- Product gallery: thumbnail carousel + main image arrows ---------- */
.lb-pdp__gallery .lb-thumbs { position: relative; border-top: var(--bw) solid var(--ink); background: var(--paper); }
.lb-pdp__gallery .lb-thumbs .flex-control-thumbs { display: flex !important; grid-template-columns: none; gap: 10px; padding: 12px !important; margin: 0 !important; border-top: 0 !important; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 12px; scrollbar-width: none; overscroll-behavior-x: contain; }
.lb-pdp__gallery .lb-thumbs .flex-control-thumbs::-webkit-scrollbar { display: none; }
.lb-pdp__gallery .lb-thumbs .flex-control-thumbs li { flex: 0 0 calc((100% - 40px) / 5) !important; width: auto !important; margin: 0 !important; scroll-snap-align: start; float: none !important; }
.lb-pdp__gallery .lb-thumbs .flex-control-thumbs img { display: block; width: 100%; opacity: 1 !important; border: 2px solid var(--wp--preset--color--line, #D9CBB2); border-radius: 12px; aspect-ratio: 1; object-fit: cover; background: #fff; cursor: pointer; transition: border-color .15s, box-shadow .15s, transform .15s; }
.lb-pdp__gallery .lb-thumbs .flex-control-thumbs img:hover { border-color: var(--ink); }
.lb-pdp__gallery .lb-thumbs .flex-control-thumbs img.flex-active { border-color: var(--ink); box-shadow: 3px 3px 0 var(--honey); transform: translate(-1px, -1px); }
/* Arrow buttons only when the strip actually scrolls. */
.lb-thumbs__btn { display: none; position: absolute; top: 50%; translate: 0 -50%; z-index: 2; width: 34px; height: 34px; padding: 0; border: 2px solid var(--ink); border-radius: 50%; background: var(--paper); color: var(--ink); cursor: pointer; box-shadow: 2px 2px 0 var(--ink); transition: opacity .15s, background .15s; }
.lb-thumbs.is-scrollable .lb-thumbs__btn { display: grid; place-items: center; }
.lb-thumbs__btn::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("../icons/chevron-right.svg") center / contain no-repeat; mask: url("../icons/chevron-right.svg") center / contain no-repeat; }
.lb-thumbs__btn--prev { left: 4px; }
.lb-thumbs__btn--prev::before { -webkit-mask-image: url("../icons/chevron-left.svg"); mask-image: url("../icons/chevron-left.svg"); }
.lb-thumbs__btn--next { right: 4px; }
.lb-thumbs__btn:hover:not(:disabled) { background: var(--butter); }
.lb-thumbs__btn:disabled { opacity: 0; pointer-events: none; }
.lb-thumbs__btn:focus-visible { outline: 3px solid var(--wp--preset--color--focus); outline-offset: 2px; }
/* Main image arrows (FlexSlider direction nav). */
.lb-pdp__gallery .woocommerce-product-gallery { position: relative; }
.lb-pdp__gallery .flex-direction-nav { list-style: none; margin: 0; padding: 0; }
.lb-pdp__gallery .flex-direction-nav a { position: absolute; top: 40%; z-index: 3; width: 42px; height: 42px; border: 2px solid var(--ink); border-radius: 50%; background: var(--paper); box-shadow: 3px 3px 0 var(--ink); font-size: 0; color: var(--ink); display: grid; place-items: center; text-decoration: none; opacity: 0; transition: opacity .2s, background .15s; }
.lb-pdp__gallery .flex-direction-nav a::before { content: ""; width: 20px; height: 20px; background: currentColor; -webkit-mask: url("../icons/chevron-right.svg") center / contain no-repeat; mask: url("../icons/chevron-right.svg") center / contain no-repeat; }
.lb-pdp__gallery .flex-direction-nav .flex-prev { left: 12px; }
.lb-pdp__gallery .flex-direction-nav .flex-prev::before { -webkit-mask-image: url("../icons/chevron-left.svg"); mask-image: url("../icons/chevron-left.svg"); }
.lb-pdp__gallery .flex-direction-nav .flex-next { right: 12px; }
.lb-pdp__gallery .woocommerce-product-gallery:hover .flex-direction-nav a, .lb-pdp__gallery .flex-direction-nav a:focus-visible { opacity: 1; }
.lb-pdp__gallery .flex-direction-nav a:hover { background: var(--butter); }
.lb-pdp__gallery .flex-direction-nav a.flex-disabled { opacity: 0 !important; pointer-events: none; }
@media (hover: none) { .lb-pdp__gallery .flex-direction-nav a { opacity: 1; width: 36px; height: 36px; } }
@media (max-width: 600px) { .lb-pdp__gallery .lb-thumbs .flex-control-thumbs li { flex-basis: calc((100% - 30px) / 4) !important; } }
body.lb-pro .lb-pdp__gallery .lb-thumbs { background: var(--pro-panel); border-color: var(--pro-line); }
body.lb-pro .lb-thumbs__btn, body.lb-pro .lb-pdp__gallery .flex-direction-nav a { background: var(--pro-panel); color: var(--pro-text); border-color: var(--pro-line); box-shadow: none; }
/* The gallery is width:100% + a 2.5px border: content-box made it 5px wider than its column, and FlexSlider
   then sized slides 5px short (a sliver of the next photo showed). */
.lb-pdp__gallery .woocommerce-product-gallery { box-sizing: border-box; }

/* ---------- Product carousel (related products) ---------- */
.lb-carousel-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 30px 0 20px; }
.lb-carousel-head h2 { margin: 0 !important; }
.lb-carousel-nav { display: flex; gap: 8px; flex: none; }
.lb-carousel-nav[hidden] { display: none; }
.lb-carousel-btn { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 2px solid var(--ink); border-radius: 50%; background: var(--paper); color: var(--ink); cursor: pointer; box-shadow: 3px 3px 0 var(--ink); transition: transform .12s, box-shadow .12s, background .15s, opacity .15s; }
.lb-carousel-btn::before { content: ""; width: 20px; height: 20px; background: currentColor; -webkit-mask: url("../icons/chevron-right.svg") center / contain no-repeat; mask: url("../icons/chevron-right.svg") center / contain no-repeat; }
.lb-carousel-btn--prev::before { -webkit-mask-image: url("../icons/chevron-left.svg"); mask-image: url("../icons/chevron-left.svg"); }
.lb-carousel-btn:hover:not(:disabled) { background: var(--butter); transform: translate(-1px, -1px); box-shadow: 4px 4px 0 var(--ink); }
.lb-carousel-btn:active:not(:disabled) { transform: translate(1px, 1px); box-shadow: 1px 1px 0 var(--ink); }
.lb-carousel-btn:disabled { opacity: .35; cursor: default; box-shadow: none; }
.lb-carousel-btn:focus-visible { outline: 3px solid var(--wp--preset--color--focus); outline-offset: 2px; }
/* Track: overrides the grid of .lb-pgrid for this section only. */
.lb-carousel-section .lb-carousel { display: flex !important; grid-template-columns: none !important; gap: 18px !important; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; scrollbar-width: none; padding: 4px 6px 10px 2px !important; margin: 0 -6px 0 -2px !important; }
.lb-carousel-section .lb-carousel::-webkit-scrollbar { display: none; }
.lb-carousel-section .lb-carousel:focus-visible { outline: 3px solid var(--wp--preset--color--focus); outline-offset: 4px; border-radius: 18px; }
.lb-carousel-section .lb-carousel > * { flex: 0 0 calc((100% - 3 * 18px) / 4) !important; scroll-snap-align: start; min-width: 0; }
@media (max-width: 1000px) { .lb-carousel-section .lb-carousel > * { flex-basis: calc((100% - 2 * 18px) / 2.6) !important; } }
@media (max-width: 600px) {
	.lb-carousel-section .lb-carousel { gap: 12px !important; }
	.lb-carousel-section .lb-carousel > * { flex-basis: 72% !important; }
	.lb-carousel-btn { width: 38px; height: 38px; }
}
@media (prefers-reduced-motion: reduce) { .lb-carousel-section .lb-carousel { scroll-behavior: auto; } }
body.lb-pro .lb-carousel-btn { background: var(--pro-panel); color: var(--pro-text); border-color: var(--pro-line); box-shadow: none; }
body.lb-pro .lb-carousel-btn:hover:not(:disabled) { background: var(--pro-bg); color: var(--honey); box-shadow: none; }
/* Main image arrows: the link also holds FlexSlider's (visually hidden) label text, which took a grid row and
   pushed the chevron up. Center the chevron absolutely instead. */
.lb-pdp__gallery .flex-direction-nav a { box-sizing: border-box; overflow: hidden; color: var(--ink) !important; }
.lb-pdp__gallery .flex-direction-nav a::before { position: absolute; inset: 0; margin: auto; }
/* Card price/button row: wrap instead of overflowing when a card is narrow. */
.lb-card__row { flex-wrap: wrap; }
/* Carousel cards are narrow: always stack price + full-width button so every card looks the same. */
.lb-carousel .lb-card__row { flex-direction: column; align-items: stretch; gap: 10px; }
.lb-carousel .lb-card__btn, .lb-carousel .lb-card__btn .wp-block-button__link, .lb-carousel .lb-card .wc-block-components-product-button__button { width: 100% !important; justify-content: center; }

/* ---------- Contact page ---------- */
.lb-contact > * { margin-block-start: 0; }
.lb-chero { padding: 10px 0 34px; }
.lb-chero__eyebrow { font: 600 13px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--maple); margin: 8px 0 10px; }
.lb-chero__title { font-size: clamp(40px, 6vw, 76px); line-height: 1; font-weight: 800; margin: 0 0 16px; max-width: 16ch; text-wrap: balance; }
.lb-chero__title em { font-style: normal; color: var(--maple); }
.lb-chero__lead { font-size: 19px; line-height: 1.55; color: var(--muted); max-width: 60ch; margin: 0; }
.lb-croutes { list-style: none; margin: 30px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.lb-croute { display: grid; gap: 6px; align-content: start; padding: 18px; background: var(--paper); border: var(--bw) solid var(--ink); border-radius: 18px; transition: transform .15s, box-shadow .15s; }
.lb-croute:hover { transform: translate(-2px, -2px); box-shadow: var(--shadow); }
.lb-croute__ico { width: 44px; height: 44px; border-radius: 50%; background: var(--honey); border: 2px solid var(--ink); display: grid; place-items: center; margin-bottom: 6px; }
.lb-croute strong { font: 800 20px/1.15 var(--display); }
.lb-croute__txt { font-size: 15px; color: var(--muted); }
.lb-croute .lb-arrow-link { margin-top: 6px; color: var(--ink); }

.lb-contact__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); gap: 24px; align-items: start; padding-bottom: 40px; }
.lb-contact__form { background: var(--paper); border: var(--bw) solid var(--ink); border-radius: 22px; box-shadow: 8px 8px 0 var(--ink); padding: 28px; scroll-margin-top: calc(var(--lb-header-h, 80px) + 20px); }
.lb-contact__h { font-size: clamp(26px, 3vw, 34px) !important; font-weight: 800; margin: 0 0 6px !important; }
.lb-contact__h--sm { font-size: 22px !important; }
.lb-contact__sub { color: var(--muted); margin: 0 0 18px !important; font-size: 15px; }
.lb-contact__side { display: grid; gap: 16px; }
@media (min-width: 901px) { .lb-contact__side { position: sticky; top: calc(var(--lb-header-h, 80px) + 20px); } .admin-bar .lb-contact__side { top: calc(var(--lb-header-h, 80px) + 52px); } }
.lb-contact__card { background: var(--paper); border: var(--bw) solid var(--ink); border-radius: 20px; padding: 22px; }
.lb-contact__card--social { background: var(--butter); }

/* Form */
.lb-cform { display: grid; gap: 16px; }
.lb-cform__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.lb-field { display: grid; gap: 6px; margin: 0; }
.lb-field[hidden] { display: none; }
.lb-field--full { grid-column: 1 / -1; }
.lb-field label { font-weight: 700; font-size: 14px; }
.lb-field label span { color: var(--maple); }
.lb-field label small { font-weight: 500; color: var(--muted); }
.lb-field input, .lb-field select, .lb-field textarea { width: 100%; box-sizing: border-box; border: 2px solid var(--ink); border-radius: 12px; background: #fff; padding: 12px 14px; font: 500 16px var(--wp--preset--font-family--body); color: var(--ink); transition: box-shadow .15s, border-color .15s; }
.lb-field textarea { resize: vertical; min-height: 140px; line-height: 1.5; }
.lb-field select { appearance: none; -webkit-appearance: none; padding-right: 40px; background: #fff url("../icons/chevron-down.svg") right 12px center / 18px no-repeat; cursor: pointer; }
.lb-field input:focus, .lb-field select:focus, .lb-field textarea:focus { outline: none; box-shadow: 0 0 0 3px var(--honey); }
.lb-field.has-error input, .lb-field.has-error textarea { border-color: #B42318; }
.lb-field__err { font-size: 13px; color: #B42318; font-weight: 600; }
.lb-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--muted); cursor: pointer; flex-wrap: wrap; }
.lb-check input { appearance: none; -webkit-appearance: none; flex: none; width: 22px; height: 22px; margin: 0; border: 2px solid var(--ink); border-radius: 6px; background: #fff; display: grid; place-content: center; cursor: pointer; }
.lb-check input::before { content: ""; width: 13px; height: 13px; background: var(--ink); -webkit-mask: url("../icons/check.svg") center / contain no-repeat; mask: url("../icons/check.svg") center / contain no-repeat; transform: scale(0); transition: transform .12s; }
.lb-check input:checked { background: var(--honey); }
.lb-check input:checked::before { transform: scale(1); }
.lb-check input:focus-visible { outline: 3px solid var(--wp--preset--color--focus); outline-offset: 2px; }
.lb-check > span { flex: 1; min-width: 0; }
.lb-check a { color: var(--ink); }
.lb-check.has-error input { border-color: #B42318; }
.lb-check .lb-field__err { flex-basis: 100%; padding-left: 32px; }
.lb-cform__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lb-cform__foot { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.lb-cform__submit { display: inline-flex; align-items: center; gap: 8px; font-size: 17px !important; padding: 14px 24px !important; cursor: pointer; }
.lb-cform__submit.is-loading { opacity: .75; cursor: progress; }
.lb-cform__note { color: var(--muted); font-size: 13px; }
.lb-cform__status { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border: 2px solid var(--leaf); border-radius: 14px; background: var(--wp--preset--color--fresh-soft, #E4F0E1); color: var(--ink); }
.lb-cform__status[hidden] { display: none; }
.lb-cform__status svg { color: var(--leaf); flex: none; margin-top: 1px; }
.lb-cform__status div { display: grid; gap: 2px; }
.lb-cform__status span { color: var(--muted); font-size: 14px; }
.lb-cform__err { margin: 0; padding: 10px 14px; border-radius: 12px; background: #FBE4E0; color: #8A1C12; font-weight: 600; font-size: 14px; }

/* Contact details */
.lb-cinfo { list-style: none; margin: 8px 0 0; padding: 0; display: grid; }
.lb-cinfo li { display: flex; gap: 14px; align-items: flex-start; padding: 14px 0; }
.lb-cinfo li + li { border-top: 1px dashed var(--wp--preset--color--line, #E8DCC6); }
.lb-cinfo__ico { flex: none; width: 40px; height: 40px; border-radius: 12px; background: var(--butter); border: 2px solid var(--ink); display: grid; place-items: center; }
.lb-cinfo span:last-child { display: grid; gap: 2px; min-width: 0; font-size: 15px; line-height: 1.45; }
.lb-cinfo small { font: 600 11px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.lb-cinfo a:not(.lb-arrow-link) { font-weight: 700; color: var(--ink); text-decoration: none; overflow-wrap: anywhere; }
.lb-cinfo a:not(.lb-arrow-link):hover { text-decoration: underline; text-decoration-color: var(--honey); text-decoration-thickness: 2px; }
.lb-cinfo .lb-arrow-link { font-size: 14px; color: var(--ink); margin-top: 4px; }
/* Social links on a light card (footer styles are for the dark footer). */
.lb-contact .lb-social { margin-top: 4px; }
.lb-contact a.lb-social__a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); text-decoration: none; transition: background .15s, transform .15s; }
.lb-contact a.lb-social__a:hover { background: var(--honey); transform: translateY(-2px); }

/* FAQ */
.lb-contact__faq { border-top: var(--bw) solid var(--ink); padding: 40px 0 10px; }
.lb-contact__faq .lb-contact__h { margin-bottom: 20px !important; }
.lb-faq { display: grid; gap: 12px; max-width: 860px; }
.lb-faq .lb-acc__body p { margin: 0; line-height: 1.6; }
.lb-faq .lb-acc__body a { color: var(--ink); font-weight: 700; }

@media (max-width: 900px) {
	.lb-croutes { grid-template-columns: 1fr; }
	.lb-croute { grid-template-columns: 44px 1fr; column-gap: 14px; }
	.lb-croute__ico { grid-row: 1 / span 3; margin: 0; }
	.lb-contact__grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.lb-contact__form { padding: 20px; box-shadow: 5px 5px 0 var(--ink); }
	.lb-cform__grid { grid-template-columns: 1fr; }
	.lb-cform__submit { width: 100%; justify-content: center; }
	.lb-chero__lead { font-size: 17px; }
}
/* PRO */
body.lb-pro .lb-croute, body.lb-pro .lb-contact__form, body.lb-pro .lb-contact__card { background: var(--pro-panel); border: 1px solid var(--pro-line); box-shadow: none; color: var(--pro-text); }
body.lb-pro .lb-field input, body.lb-pro .lb-field select, body.lb-pro .lb-field textarea { background: var(--pro-bg); color: var(--pro-text); border-color: var(--pro-line); }
