/*
 * La Bruja shop — design "1 · Continuidad".
 * Loaded only on WooCommerce pages (shop, categories, product, cart, checkout, account).
 * Colours: ink #0A0A0A, red #C01E3E (4.8:1 on the #E7E7E7 ground), text-2 #3B3B3B.
 */
.lb-shop-page {
	--lb-ink: #0A0A0A;
	--lb-red: #C01E3E;
	--lb-red-dark: #9E1832;
	--lb-t2: #3B3B3B;
	--lb-line: #C6C6C6;
	--lb-panel: #FFFFFF;
	--lb-focus: #10659C;
	--lb-display: "Cinzel Decorative", Georgia, serif;
	--lb-fell: "IM Fell French Canon SC", Georgia, serif;
	--lb-menu: "Marcellus SC", Georgia, serif;
	--lb-head: "Raleway", Arial, sans-serif;
	--lb-body: "Inconsolata", ui-monospace, monospace;
}

/* ---------- base ---------- */
html body.lb-shop-page,
html body.lb-shop-page.custom-background { background-color: #E7E7E7; }
.lb-main {
	display: block;
	color: var(--lb-ink);
	font-family: var(--lb-body);
	font-size: 16px;
	line-height: 1.6;
}
.lb-main *,
.lb-ft * { box-sizing: border-box; }
.lb-main h1, .lb-main h2, .lb-main h3, .lb-main p, .lb-main ul, .lb-main ol, .lb-ft h2, .lb-ft p { margin: 0; }
.lb-main img { max-width: 100%; height: auto; display: block; }
.lb-wrap {
	width: min(1140px, calc(100% - 32px));
	margin-inline: auto;
}
.lb-shop-page :focus-visible {
	outline: 2px solid var(--lb-focus);
	outline-offset: 3px;
}
.lb-shop-page .screen-reader-text:not(:focus) {
	position: absolute !important;
	width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.lb-title {
	font-family: var(--lb-display);
	font-weight: 700;
	color: var(--lb-red);
	line-height: 1.15;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, .25);
	text-wrap: balance;
}
.lb-h2,
.lb-sub,
.lb-ft h2 {
	font-family: var(--lb-head);
	font-weight: 600;
	color: var(--lb-ink);
	line-height: 1.2;
}
.lb-h2 { font-size: 30px; }
.lb-sub { font-size: 24px; margin-bottom: 10px; }

/* ---------- buttons ---------- */
.lb-shop-page .lb-btn,
.lb-shop-page .lb-main .button,
.lb-shop-page .single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 18px;
	border: 0;
	border-radius: 0;
	background: var(--lb-ink);
	color: #FFFFFF;
	font-family: var(--lb-menu);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	text-decoration: none;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	box-shadow: none;
	transition: background-color .15s;
}
.lb-shop-page .lb-btn:hover,
.lb-shop-page .lb-main .button:hover,
.lb-shop-page .single_add_to_cart_button:hover,
.lb-shop-page .lb-btn:focus-visible,
.lb-shop-page .lb-main .button:focus-visible {
	background: var(--lb-red);
	color: #FFFFFF;
}
.lb-shop-page .lb-main .button.loading { opacity: .7; }
.lb-shop-page .lb-main .button.added::after { content: " ✓"; margin-left: 6px; }
.lb-shop-page .lb-btn--red {
	min-height: 50px;
	padding: 0 26px;
	background: var(--lb-red);
	font-size: 18px;
	box-shadow: 3px 3px 6px rgba(0, 0, 0, .35);
}
.lb-shop-page .lb-btn--red:hover { background: var(--lb-red-dark); }
.lb-shop-page .lb-btn--out,
.lb-shop-page .lb-btn--out:hover {
	background: transparent;
	color: #454545;
	border: 1px dashed #5E5E5E;
	cursor: not-allowed;
}
.lb-shop-page .lb-btn--lg { min-height: 54px; font-size: 18px; width: 100%; max-width: 360px; }
.lb-link-more {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--lb-ink);
	font-family: var(--lb-display);
	font-weight: 700;
	font-size: 19px;
	text-decoration: underline;
	text-underline-offset: 5px;
}
.lb-link-more:hover { color: var(--lb-red); }

/* ---------- hero ---------- */
.lb-hero { padding-block: 72px 64px; text-align: center; }
.lb-hero__in { display: flex; flex-direction: column; align-items: center; gap: 22px; }
.lb-hero__mark { width: min(560px, 100%); }
.lb-hero .lb-title { font-size: clamp(30px, 4vw, 46px); }
.lb-hero__lead {
	font-family: var(--lb-fell);
	font-size: clamp(20px, 2.2vw, 26px);
	line-height: 1.35;
	max-width: 32ch;
	color: #1A1A1A;
	text-wrap: balance;
}
.lb-hero__lead p { margin: 0; }
.lb-hero__cta { display: flex; flex-wrap: wrap; gap: 12px 28px; justify-content: center; align-items: center; padding-top: 6px; }
.lb-hero--cat { padding-block: 56px 40px; }

/* ---------- shop head + chips ---------- */
.lb-shop__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 24px;
	border-top: 1px solid var(--lb-line);
	padding-top: 40px;
}
.lb-meta { color: var(--lb-t2); font-size: 15px; }
.lb-chips { padding-block: 20px 32px; }
.lb-chips ul { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.lb-chip {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--lb-ink);
	color: var(--lb-ink);
	font-family: var(--lb-menu);
	font-size: 16px;
	text-decoration: none;
	white-space: nowrap;
}
.lb-chip:hover { background: rgba(10, 10, 10, .08); color: var(--lb-ink); }
.lb-chip[aria-current="page"] { background: var(--lb-ink); color: #FFFFFF; }

/* ---------- grid + cards ---------- */
.lb-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
	gap: 40px 15px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.lb-shop-page .lb-grid > li.lb-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	width: auto;
	margin: 0;
	padding: 0;
	float: none;
}
.lb-card__img { position: relative; display: block; background: #111111; aspect-ratio: 1 / 1; overflow: hidden; }
.lb-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.lb-card__img:hover img { transform: scale(1.03); }
.lb-card.is-out .lb-card__img img { opacity: .55; filter: grayscale(.6); }
.lb-badge {
	position: absolute;
	top: 26px;
	left: 26px;
	z-index: 2;
	padding: 5px 10px;
	font-family: var(--lb-body);
	font-weight: 600;
	font-size: 13px;
	line-height: 1.2;
}
.lb-badge--last { background: var(--lb-red); color: #FFFFFF; }
.lb-badge--out { background: #FFFFFF; color: var(--lb-ink); }
.lb-card__body { padding-top: 14px; display: flex; flex-direction: column; gap: 2px; }
.lb-card__cat { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--lb-t2); }
.lb-card__title { font-family: var(--lb-menu); font-weight: 400; font-size: 24px; line-height: 1.25; }
.lb-card__title a { color: var(--lb-ink); text-decoration: none; }
.lb-card__title a:hover { color: var(--lb-red); text-decoration: underline; text-underline-offset: 4px; }
.lb-card__aroma { font-size: 15px; color: var(--lb-t2); }
.lb-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 12px;
	margin-top: auto;
}
.lb-price { font-size: 19px; font-weight: 600; display: flex; flex-direction: column; line-height: 1.25; }
.lb-price del { font-weight: 400; color: var(--lb-t2); font-size: 15px; }
.lb-price ins { text-decoration: none; }
.lb-iva,
.lb-shop-page .woocommerce-price-suffix { font-size: 13px; font-weight: 400; color: var(--lb-t2); }
.lb-pdp__price .woocommerce-price-suffix { font-size: 16px; }
.lb-card__foot .added_to_cart {
	flex-basis: 100%;
	text-align: right;
	color: var(--lb-ink);
	font-size: 15px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	text-decoration: underline;
}
.lb-empty { padding-block: 24px; }
.lb-shop-page .woocommerce-pagination { margin-top: 40px; text-align: center; }
.lb-shop-page .woocommerce-pagination ul { display: inline-flex; gap: 6px; list-style: none; padding: 0; border: 0; }
.lb-shop-page .woocommerce-pagination ul li { border: 0; }
.lb-shop-page .woocommerce-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 44px; min-height: 44px; border: 1px solid var(--lb-ink); color: var(--lb-ink); text-decoration: none;
}
.lb-shop-page .woocommerce-pagination .page-numbers.current { background: var(--lb-ink); color: #FFFFFF; }

/* ---------- trust strip ---------- */
.lb-trust { background: var(--lb-panel); margin-top: 80px; padding-block: 34px; }
.lb-trust__in {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
	gap: 20px 32px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.lb-trust__in li { display: flex; align-items: center; gap: 14px; font-family: var(--lb-menu); font-size: 18px; line-height: 1.4; }
.lb-trust__in .lb-ico { width: 30px; height: 30px; flex: none; }

/* ---------- FAQ ---------- */
.lb-faq { padding-block: 72px; }
.lb-faq .lb-wrap { max-width: 868px; }
.lb-faq__in { display: flex; flex-direction: column; gap: 18px; }
.lb-faq details { border-bottom: 1px solid #BDBDBD; }
.lb-faq summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 60px;
	font-family: var(--lb-menu);
	font-size: 19px;
}
.lb-faq summary::-webkit-details-marker { display: none; }
.lb-faq__i { font-size: 24px; flex: none; transition: transform .2s; }
.lb-faq details[open] .lb-faq__i { transform: rotate(45deg); }
.lb-faq details p { padding-bottom: 20px; color: var(--lb-t2); max-width: 62ch; }

/* ---------- upper footer (shop pages) ---------- */
.lb-ft { border-top: 1px solid #CFCFCF; padding-block: 56px; color: var(--lb-ink); font-family: var(--lb-body); font-size: 16px; line-height: 1.6; }
.lb-ft__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 32px; }
.lb-ft__c { display: flex; flex-direction: column; gap: 8px; }
.lb-ft__mark { width: 220px; height: auto; display: block; }
.lb-ft h2 { font-size: 30px; }
.lb-ft a { color: var(--lb-ink); text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.lb-ft a:hover { text-decoration: underline; }
.lb-ft__c p:has(a) { line-height: 1; }

/* ---------- product page ---------- */
.lb-pdp { padding-block: 16px 72px; }
.lb-crumbs { color: var(--lb-t2); font-size: 14px; margin-bottom: 12px; }
.lb-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0 10px; list-style: none; margin: 0; padding: 0; }
.lb-crumbs li { display: inline-flex; align-items: center; gap: 10px; }
.lb-crumbs li + li::before { content: "/"; color: var(--lb-t2); }
.lb-crumbs a { min-height: 44px; display: inline-flex; align-items: center; color: var(--lb-t2); text-decoration: underline; }
.lb-crumbs a:hover { color: var(--lb-red); }
.lb-shop-page .lb-pdp div.lb-pdp__grid.product {
	background: transparent;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 56px;
	align-items: start;
}
.lb-gal { min-width: 0; }
.lb-shop-page .lb-gal .woocommerce-product-gallery .woocommerce-product-gallery__trigger { width: 44px !important; height: 44px !important; }
.lb-shop-page .lb-gal .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; position: relative; opacity: 1 !important; }
.lb-gal .woocommerce-product-gallery__wrapper { margin: 0; }
.lb-gal .woocommerce-product-gallery__image { background: #111111; }
.lb-gal .woocommerce-product-gallery__image img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.lb-gal .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
}
.lb-gal .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
.lb-gal .flex-control-thumbs img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	cursor: pointer;
	border: 2px solid transparent;
	opacity: 1 !important;
}
.lb-gal .flex-control-thumbs img.flex-active,
.lb-gal .flex-control-thumbs img:hover { border-color: var(--lb-red); opacity: 1; }
.lb-gal .woocommerce-product-gallery__trigger {
	position: absolute; top: 12px; right: 12px; z-index: 5;
	width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
	background: #FFFFFF; border-radius: 50%; text-indent: 0;
}
.lb-buy { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.lb-pdp__cat { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--lb-t2); }
.lb-buy .lb-title { font-size: clamp(30px, 3.4vw, 42px); }
.lb-pdp__aroma { font-family: var(--lb-fell); font-size: 21px; }
.lb-pdp__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-size: 28px; font-weight: 600; color: var(--lb-ink); }
.lb-pdp__price .lb-iva { font-size: 16px; }
.lb-pdp__price del { font-size: 20px; font-weight: 400; color: var(--lb-t2); }
.lb-pdp__price ins { text-decoration: none; }
.lb-specs { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.lb-specs li { border: 1px solid var(--lb-ink); padding: 3px 12px; font-size: 14px; }
.lb-pdp__short { color: #262626; }
.lb-pdp__short p { margin: 0 0 .5em; }
.lb-stock { font-weight: 600; }
.lb-stock--last { color: var(--lb-red); }
.lb-stock--out { color: var(--lb-t2); }
.lb-cartform form.cart { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin: 0; }
.lb-cartform .quantity { display: flex; align-items: center; border: 1px solid var(--lb-ink); background: #FFFFFF; margin: 0 !important; float: none !important; }
.lb-qty-cap { flex-basis: 100%; font-family: var(--lb-menu); font-size: 17px; }
.lb-shop-page .lb-cartform .quantity input.qty {
	width: 52px;
	height: 52px;
	border: 0;
	background: transparent;
	color: var(--lb-ink);
	text-align: center;
	font-family: var(--lb-body);
	font-size: 18px;
	-moz-appearance: textfield;
	appearance: textfield;
	padding: 0;
}
.lb-cartform .quantity input.qty::-webkit-inner-spin-button,
.lb-cartform .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.lb-shop-page .lb-qty-btn {
	width: 46px;
	height: 52px;
	border: 0;
	background: none;
	color: var(--lb-ink);
	font-size: 20px;
	cursor: pointer;
	padding: 0;
}
.lb-shop-page .lb-qty-btn:hover { background: #F0F0F0; }
body.lb-shop-page .lb-pdp .lb-cartform form.cart .single_add_to_cart_button {
	flex: 1 1 220px;
	min-height: 54px;
	font-size: 18px;
	background: var(--lb-ink) !important;
	color: #FFFFFF !important;
	border: 0 !important;
	border-radius: 0;
}
body.lb-shop-page .lb-pdp .lb-cartform form.cart .single_add_to_cart_button:hover,
body.lb-shop-page .lb-pdp .lb-cartform form.cart .single_add_to_cart_button:focus-visible { background: var(--lb-red) !important; }
.lb-shop-page .lb-pdp .lb-cartform form.cart { margin: 0; }
.lb-pay { color: var(--lb-t2); font-size: 14px; }
.lb-ship { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }
.lb-ship .lb-sub { margin-bottom: 0; }
.lb-ship__o { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; background: var(--lb-panel); }
.lb-ship__o .lb-ico { width: 24px; height: 24px; flex: none; margin-top: 2px; }
.lb-ship__o div { display: flex; flex-direction: column; }
.lb-ship__o span { color: var(--lb-t2); font-size: 15px; }
.lb-pdp__more {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
	gap: 40px;
	margin-top: 64px;
	border-top: 1px solid var(--lb-line);
	padding-top: 40px;
}
.lb-prose, .lb-steps { color: #262626; }
.lb-prose p { margin: 0 0 .8em; }
.lb-steps { padding-left: 22px; display: flex; flex-direction: column; gap: 8px; }
.lb-safety { background: var(--lb-panel); padding: 20px; align-self: start; }
.lb-sub .lb-ico { width: 22px; height: 22px; vertical-align: -3px; margin-right: 8px; }
.lb-shop-page .woocommerce-notices-wrapper:not(:empty) { margin-bottom: 16px; }

/* ---------- WooCommerce notices (classic) ---------- */
.lb-shop-page .woocommerce-message,
.lb-shop-page .woocommerce-info,
.lb-shop-page .woocommerce-error {
	background: var(--lb-panel);
	color: var(--lb-ink);
	border-top: 3px solid var(--lb-ink);
	font-family: var(--lb-body);
}
.lb-shop-page .woocommerce-error { border-top-color: var(--lb-red); }
.lb-shop-page .woocommerce-message .button { float: right; margin-left: 12px; display: inline-flex; align-items: center; }

/* ---------- page shell for cart / checkout / account (parent page.php) ---------- */
.lb-shop-page .site-content .entry-title,
.lb-shop-page .site-content h1.post-title {
	font-family: var(--lb-display);
	font-weight: 700;
	color: var(--lb-red);
	font-size: clamp(30px, 3.4vw, 42px);
	line-height: 1.15;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, .25);
}
.lb-shop-page .responsive-breadcrumbs-wrapper a { color: var(--lb-t2); text-decoration: underline; display: inline-flex; align-items: center; min-height: 44px; }
.lb-shop-page.woocommerce-cart .site-content,
.lb-shop-page.woocommerce-checkout .site-content,
.lb-shop-page.woocommerce-account .site-content { font-family: var(--lb-body); color: var(--lb-ink); }
.lb-shop-page.woocommerce-account #primary.content-area { width: 100%; max-width: 100%; }

/* Wider, unboxed content area for cart / checkout / account.
   The parent's inline rules use long :not() chains (high specificity), so !important is needed here. */
.lb-shop-page .site-content .content-outer.container { max-width: 1164px; width: auto; }
.lb-shop-page .site-content #primary.content-area { width: 100% !important; max-width: 100%; float: none; padding-inline: 0 !important; }
.lb-shop-page .site-content article.hentry { background: transparent !important; padding: 0 !important; border-radius: 0 !important; box-shadow: none; }
.lb-shop-page .responsive-breadcrumbs-wrapper,
.lb-shop-page .responsive-breadcrumbs-wrapper .breadcrumbs-inner,
.lb-shop-page nav.breadcrumbs,
.lb-shop-page .responsive-breadcrumbs-wrapper .breadcrumb-list { text-align: left !important; justify-content: flex-start; }
body.lb-shop-page .breadcrumbs .breadcrumb-list .breadcrumb a,
body.lb-shop-page .breadcrumbs .breadcrumb-list .breadcrumb a * { color: var(--lb-t2) !important; }
.lb-shop-page .site-content .entry-header { text-align: left; }

/* The parent theme pads every input (2.5px 1em); checkboxes and radios must not get it. */
.lb-shop-page input[type="checkbox"],
.lb-shop-page input[type="radio"] { padding: 0; }

/* Inputs: the parent theme sets white text on a transparent input. Make them readable. */
.lb-shop-page .site-content input[type="text"],
.lb-shop-page .site-content input[type="email"],
.lb-shop-page .site-content input[type="password"],
.lb-shop-page .site-content input[type="tel"],
.lb-shop-page .site-content input[type="number"],
.lb-shop-page .site-content input[type="search"],
.lb-shop-page .site-content select,
.lb-shop-page .site-content textarea {
	background-color: #FFFFFF;
	color: var(--lb-ink);
	border: 1px solid #6E6E6E;
	border-radius: 0;
	min-height: 48px;
	font-family: var(--lb-body);
	font-size: 16px;
}
.lb-shop-page .site-content textarea { min-height: 96px; }
.lb-shop-page .site-content label { color: var(--lb-ink); }

/* Classic buttons (account forms) */
.lb-shop-page .site-content .woocommerce .button,
.lb-shop-page .site-content .woocommerce button.button,
.lb-shop-page .site-content .woocommerce-Button {
	min-height: 48px;
	padding: 0 22px;
	border: 0;
	border-radius: 0;
	background: var(--lb-ink);
	color: #FFFFFF;
	font-family: var(--lb-menu);
	font-size: 16px;
	font-weight: 400;
	text-transform: none;
}
.lb-shop-page .site-content .woocommerce .button:hover,
.lb-shop-page .site-content .woocommerce button.button:hover { background: var(--lb-red); color: #FFFFFF; }
.lb-shop-page .site-content .woocommerce a:not(.button) { color: var(--lb-ink); text-decoration: underline; text-underline-offset: 3px; }
.lb-shop-page .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-right: 16px; }
.lb-shop-page .woocommerce-LostPassword a { display: inline-flex; align-items: center; min-height: 44px; }
.lb-shop-page .show-password-input { min-width: 44px; min-height: 44px; }
.lb-shop-page .woocommerce form.login,
.lb-shop-page .woocommerce form.register,
.lb-shop-page .woocommerce form.lost_reset_password {
	background: var(--lb-panel);
	border: 0;
	border-radius: 0;
	padding: 28px;
	max-width: 560px;
}
.lb-shop-page .woocommerce-account .woocommerce > h2,
.lb-shop-page.woocommerce-account .entry-content .woocommerce > h2 { font-family: var(--lb-head); font-weight: 600; font-size: 26px; }
.lb-shop-page .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--lb-line); }
.lb-shop-page .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--lb-line); }
.lb-shop-page .woocommerce-MyAccount-navigation a {
	display: flex; align-items: center; min-height: 48px; padding: 0 12px;
	font-family: var(--lb-menu); color: var(--lb-ink) !important; text-decoration: none !important;
}
.lb-shop-page .woocommerce-MyAccount-navigation .is-active a { background: var(--lb-ink); color: #FFFFFF !important; }

/* ---------- Cart and Checkout blocks ---------- */
.lb-shop-page .wp-block-woocommerce-cart,
.lb-shop-page .wp-block-woocommerce-checkout {
	font-family: var(--lb-body);
	color: var(--lb-ink);
	font-size: 16px;
}
.lb-shop-page .wc-block-components-title,
.lb-shop-page .wc-block-components-checkout-step__title,
.lb-shop-page .wc-block-cart__totals-title,
.lb-shop-page .wp-block-woocommerce-cart .wc-block-cart-items th,
.lb-shop-page .wc-block-components-order-summary .wc-block-components-panel__button {
	font-family: var(--lb-head) !important;
	font-weight: 600 !important;
	color: var(--lb-ink);
	text-transform: none;
}
.lb-shop-page .wc-block-components-product-name {
	font-family: var(--lb-menu);
	font-size: 19px;
	color: var(--lb-ink);
	text-decoration: none;
}
.lb-shop-page a.wc-block-components-product-name { display: inline-flex; align-items: center; min-height: 44px; }
.lb-shop-page .wc-block-components-product-name:hover { color: var(--lb-red); text-decoration: underline; }
.lb-shop-page .wc-block-components-button:not(.is-link),
.lb-shop-page .wc-block-cart__submit-button,
.lb-shop-page .wc-block-components-checkout-place-order-button {
	min-height: 54px;
	border-radius: 0 !important;
	background: var(--lb-ink) !important;
	color: #FFFFFF !important;
	font-family: var(--lb-menu) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	text-decoration: none !important;
	border: 0 !important;
}
.lb-shop-page .wc-block-components-button:not(.is-link):hover,
.lb-shop-page .wc-block-cart__submit-button:hover,
.lb-shop-page .wc-block-components-checkout-place-order-button:hover { background: var(--lb-red) !important; }
.lb-shop-page .wc-block-components-button.is-link,
.lb-shop-page .wc-block-cart-item__remove-link {
	color: var(--lb-ink) !important;
	min-height: 44px;
	display: inline-flex !important;
	align-items: center;
	text-decoration: underline !important;
	font-family: var(--lb-body) !important;
	font-size: 15px !important;
}
.lb-shop-page .wc-block-components-quantity-selector {
	border: 1px solid var(--lb-ink) !important;
	border-radius: 0 !important;
	background: #FFFFFF;
	min-height: 44px;
}
.lb-shop-page .wc-block-components-quantity-selector::after { border: 0 !important; }
.lb-shop-page .wc-block-components-quantity-selector { display: inline-flex; width: auto; }
.lb-shop-page .site-content .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	min-height: 44px; width: 48px; min-width: 0; margin: 0; padding: 0; border: 0 !important; box-shadow: none;
	background: transparent; color: var(--lb-ink); font-family: var(--lb-body); font-size: 17px; order: 2; text-align: center;
}
.lb-shop-page .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	width: 44px; min-width: 44px; min-height: 44px; padding: 0; margin: 0; border: 0; background: transparent; color: var(--lb-ink); opacity: 1;
}
.lb-shop-page .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--minus { order: 1; }
.lb-shop-page .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--plus { order: 3; }
.lb-shop-page .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled { opacity: .45; }
.lb-shop-page .wc-block-cart-item__remove-link { min-width: 44px; justify-content: center; }
/* Narrow phones (< 380px): let the remove button go under the quantity control, so the row fits. */
.lb-shop-page .wc-block-cart-item__quantity { flex-wrap: wrap; row-gap: 4px; }
.lb-shop-page .wc-block-components-text-input input,
.lb-shop-page .wc-block-components-text-input textarea,
.lb-shop-page .wc-blocks-components-select .wc-blocks-components-select__select,
.lb-shop-page .wc-block-components-combobox .wc-block-components-combobox-control input {
	border-radius: 0 !important;
	border: 1px solid #6E6E6E !important;
	background: #FFFFFF !important;
	color: var(--lb-ink) !important;
	font-family: var(--lb-body) !important;
	min-height: 52px;
}
.lb-shop-page .wc-block-components-form .wc-block-components-text-input label,
.lb-shop-page .wc-block-components-text-input label {
	max-width: calc(100% - 20px) !important;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.lb-shop-page .wc-block-components-text-input label,
.lb-shop-page .wc-blocks-components-select__label { color: #4A4A4A !important; font-family: var(--lb-body); }
.lb-shop-page .wc-block-components-text-input.is-active input,
.lb-shop-page .wc-block-components-text-input input:focus { border-color: var(--lb-ink) !important; box-shadow: 0 0 0 1px var(--lb-ink) !important; }
.lb-shop-page .wc-block-components-radio-control__option,
.lb-shop-page .wc-block-components-radio-control-accordion-option { min-height: 48px; }
.lb-shop-page .wc-block-components-radio-control__input:checked { border-color: var(--lb-ink) !important; }
.lb-shop-page .wc-block-components-radio-control__input:checked::before { background: var(--lb-ink) !important; }
.lb-shop-page .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] { border-radius: 0; border-color: #6E6E6E; }
.lb-shop-page .wc-block-components-checkbox__label,
.lb-shop-page .wc-block-checkout__terms { color: var(--lb-ink); }
.lb-shop-page .wc-block-components-totals-item__label,
.lb-shop-page .wc-block-components-totals-item__value,
.lb-shop-page .wc-block-components-formatted-money-amount { color: var(--lb-ink); }
.lb-shop-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.lb-shop-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: 20px; font-weight: 600; }
.lb-shop-page .wc-block-components-sidebar .wc-block-components-panel,
.lb-shop-page .wc-block-components-sidebar .wc-block-components-totals-wrapper { border-color: var(--lb-line) !important; }
.lb-shop-page .wp-block-woocommerce-cart-order-summary-block,
.lb-shop-page .wp-block-woocommerce-checkout-order-summary-block {
	background: var(--lb-panel);
	padding: 8px 16px;
	border: 0 !important;
}
.lb-shop-page .wc-block-components-product-metadata,
.lb-shop-page .wc-block-components-product-details { color: var(--lb-t2); }
.lb-shop-page .wc-block-components-notice-banner { border-radius: 0; font-family: var(--lb-body); }
.lb-shop-page .wc-block-checkout__actions_row .wc-block-components-checkout-return-to-cart-button {
	color: var(--lb-ink); min-height: 44px; display: inline-flex; align-items: center; text-decoration: underline;
}
.lb-shop-page .wc-block-components-address-card { background: var(--lb-panel); border-radius: 0; }
.lb-shop-page .wc-block-components-address-card__edit { min-height: 44px; display: inline-flex; align-items: center; color: var(--lb-ink); }
.lb-shop-page .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { font-family: var(--lb-head); font-weight: 600; }

/* ---------- responsive ---------- */
@media (max-width: 860px) {
	.lb-shop-page .lb-pdp div.lb-pdp__grid.product { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 600px) {
	.lb-hero { padding-block: 40px 44px; }
	.lb-shop__head { padding-top: 28px; }
	.lb-chips { margin-inline: -16px; }
	.lb-chips ul { flex-wrap: nowrap; overflow-x: auto; padding: 0 16px 6px; scrollbar-width: none; }
	.lb-chips ul::-webkit-scrollbar { display: none; }
	.lb-trust { margin-top: 56px; }
	.lb-faq { padding-block: 52px; }
	.lb-badge { top: 16px; left: 16px; }
	.lb-shop-page .lb-btn--lg { max-width: none; }
	.lb-shop-page .woocommerce form.login { padding: 20px; }
}
/* Cart, checkout (incl. order received) and account: 16px side margin until the
   1164px container has room of its own (the parent's container padding does not reach #primary). */
@media (max-width: 1199px) {
	.lb-shop-page.woocommerce-cart .site-content #primary.content-area,
	.lb-shop-page.woocommerce-checkout .site-content #primary.content-area,
	.lb-shop-page.woocommerce-account .site-content #primary.content-area { padding-inline: 16px !important; box-sizing: border-box; }
}
@media (prefers-reduced-motion: reduce) {
	.lb-shop-page * { transition: none !important; }
}
