/**
 * Cart, checkout and order result (loaded on the cart and checkout pages only, after familia-shop.css).
 *
 * Layout, placement and proportions of the old shop (client.bundle.js cart step, checkout steps, `Dp` empty cart,
 * `jf` / `If` order result; sizes from its Tailwind classes, quoted as "ref:"), and its look (client decision
 * 2026-09-23: white page, ink #140e06, sky #8dc9f7, default-300 field borders, 2px corners, sky ticked boxes,
 * the orange/peach radio dot) with the tokens of familia.css.
 * Per-view differences and fixes: docs/parity/design-buying-account.md.
 *
 *   01 page frame           05 checkout steps, fields     08 DPD locker + salon search
 *   02 cart lines (shared)  06 delivery / payment choices 09 order received / order-pay
 *   03 cart summary         07 order summary (sidebar)    10 empty cart
 * The filled cart itself (lines, summary card, recommendations) follows the client's mock of 2026-10-01: familia-cart.css.
 * The checkout, order-received and order-pay pages follow the cart's language since 2026-10-01 (sections 05–09: grey
 * 10 px cards on the white page, white 6 px fields, sky accents; markup hooks in inc/checkout.php,
 * familia-checkout-blocks.js, woocommerce/checkout/thankyou.php).
 */

/* ------------------------------------------------------------------ 01 page frame */

/* One rail: the shop container already carries the 16/90px gutter (familia-shop.css), the full-width
   article must not add a second one (it pushed the heading to 180px and the cart block to 110px). */
body.familia.woocommerce-cart #primary > .site-main > article,
body.familia.woocommerce-checkout #primary > .site-main > article {
	max-width: none;
	padding-inline: 0;
}
body.familia.woocommerce-page .entry-content > .wp-block-woocommerce-cart.alignwide,
body.familia.woocommerce-page .entry-content > .wp-block-woocommerce-checkout.alignwide {
	width: auto;
	max-width: none;
	margin-inline: 0;
	padding-inline: 0;
}
/* the old cart and checkout had no breadcrumb */
body.familia.woocommerce-cart .storefront-breadcrumb,
body.familia.woocommerce-checkout .storefront-breadcrumb { display: none; }

/* ref: "pt-9 md:pt-[54px]", heading "text-26 md:text-32 leading-snug", "mb-6 md:mb-8" */
body.familia.woocommerce-cart #main .entry-header,
body.familia.woocommerce-checkout #main .entry-header { margin: 0; padding: 36px 0 24px; }
body.familia.woocommerce-cart #main .entry-title,
body.familia.woocommerce-checkout #main .entry-title {
	font-size: 26px;
	font-weight: 400;
	line-height: 1.375;
	text-align: left;
}
body.familia.woocommerce-cart #main .entry-title { font-weight: 400; }
@media (min-width: 1024px) {
	body.familia.woocommerce-cart #main .entry-header,
	body.familia.woocommerce-checkout #main .entry-header { padding: 54px 0 32px; }
	body.familia.woocommerce-cart #main .entry-title,
	body.familia.woocommerce-checkout #main .entry-title { font-size: 32px; }
}
/* the checkout and order-pay pages: the cart's heading (familia-cart.css 01) on the white page – the old grey band
   ("bg-default-100") gave way to grey step cards in the cart's language (2026-10-01, section 05) */
body.familia.woocommerce-checkout #main .entry-header { padding: 28px 0 20px; }
body.familia.woocommerce-checkout #main .entry-title { font-size: 28px; font-weight: 500; line-height: 1.2; }
@media (min-width: 1024px) {
	body.familia.woocommerce-checkout #main .entry-header { padding: 44px 0 28px; }
	body.familia.woocommerce-checkout #main .entry-title { font-size: 36px; }
}
/* the band runs straight into the footer (Storefront's .site-main bottom margin left a white strip) */
body.familia.woocommerce-cart #main,
body.familia.woocommerce-checkout #main,
body.familia.woocommerce-cart #main > article,
body.familia.woocommerce-checkout #main > article { margin-bottom: 0; }
/* empty cart and order result: the old shop showed only the centred block, no page heading */
body.familia.familia-cart--empty #main .entry-header,
body.familia.woocommerce-order-received #main .entry-header { display: none; }
body.familia.woocommerce-cart .entry-content,
body.familia.woocommerce-checkout .entry-content { padding-bottom: 80px; }
@media (min-width: 1024px) {
	body.familia.woocommerce-cart .entry-content,
	body.familia.woocommerce-checkout .entry-content { padding-bottom: 112px; }
}

/* two columns: ref "flex flex-col md:flex-row md:gap-[68px]", summary "md:min-w-[280px] md:max-w-[420px]" */
body.familia .wc-block-components-sidebar-layout { margin: 0; gap: 0; }
body.familia .wc-block-components-sidebar-layout .wc-block-components-main { padding-right: 0; }
/* below the old `md` (1024px) one column: WooCommerce's own 700px split squeezed the summary to ~250px on tablets */
@media (max-width: 1023px) {
	body.familia .wc-block-components-sidebar-layout { display: flex; flex-direction: column; }
	body.familia .wc-block-components-sidebar-layout .wc-block-components-main,
	body.familia .wc-block-components-sidebar-layout .wc-block-components-sidebar { width: 100%; max-width: none; padding: 0; }
}
@media (min-width: 1024px) {
	body.familia .wc-block-components-sidebar-layout {
		display: flex;
		flex-wrap: nowrap;
		align-items: flex-start;
		gap: 68px;
	}
	body.familia .wc-block-components-sidebar-layout .wc-block-components-main { flex: 1 1 auto; width: auto; min-width: 0; }
	body.familia .wc-block-components-sidebar-layout .wc-block-components-sidebar { flex: 0 0 380px; width: 380px; padding: 0; }
	body.familia .wc-block-checkout.wc-block-components-sidebar-layout { gap: 40px; }
	/* the cart lines need the room between 1024 and 1439 px (ref summary "md:min-w-[280px] md:max-w-[420px]"):
	   a 380 px column + 68 px gap left the lines ~510 px at 1140 px and the titles ~140 px (QA 2026-09-24) */
	body.familia .wc-block-cart.wc-block-components-sidebar-layout { gap: 40px; }
	body.familia .wc-block-cart.wc-block-components-sidebar-layout .wc-block-components-sidebar { flex-basis: 320px; width: 320px; }
}
@media (min-width: 1280px) {
	body.familia .wc-block-components-sidebar-layout .wc-block-components-sidebar { flex-basis: 420px; width: 420px; }
	body.familia .wc-block-checkout.wc-block-components-sidebar-layout { gap: 56px; }
	body.familia .wc-block-cart.wc-block-components-sidebar-layout { gap: 56px; }
	body.familia .wc-block-cart.wc-block-components-sidebar-layout .wc-block-components-sidebar { flex-basis: 360px; width: 360px; }
}
@media (min-width: 1440px) {
	body.familia .wc-block-cart.wc-block-components-sidebar-layout { gap: 68px; }
	body.familia .wc-block-cart.wc-block-components-sidebar-layout .wc-block-components-sidebar { flex-basis: 420px; width: 420px; }
}

/* shared primary action, large: ref gi size "lg" = "h-16 md:rounded-sm md:text-lg" */
body.familia .wc-block-cart .wc-block-cart__submit-container .wc-block-cart__submit-button,
body.familia .wc-block-checkout .wc-block-checkout__actions .wc-block-components-checkout-place-order-button,
body.familia .wc-block-cart__submit-button,
body.familia .wc-block-components-checkout-place-order-button {
	width: 100%;
	height: auto;
	min-height: 64px;
	padding: 0 24px;
	border-radius: var(--f-r-sm);
	font-size: var(--f-t-base);
	text-decoration: none;
	box-shadow: none;
}
body.familia .wc-block-cart__submit-button .wc-block-components-button__text,
body.familia .wc-block-components-checkout-place-order-button .wc-block-components-button__text { text-decoration: none; }
@media (min-width: 1024px) {
	body.familia .wc-block-cart__submit-button,
	body.familia .wc-block-components-checkout-place-order-button { font-size: var(--f-t-18); }
}
body.familia .wc-block-components-button:not(.is-link):focus-visible,
body.familia .familia-order-result .button:focus-visible {
	outline: 2px solid var(--f-ink);
	outline-offset: 2px;
	box-shadow: none;
}

/* ------------------------------------------------------------------ 02 cart lines */
/* The cart lines are drawn by familia-cart.css (client mock 2026-10-01). Shared with the checkout summary: */
/* product short descriptions leaked into the line (lens spec tables); the old line listed only the chosen options */
body.familia .wc-block-cart-item__product .wc-block-components-product-metadata__description,
body.familia .wc-block-components-order-summary-item .wc-block-components-product-metadata__description { display: none; }
body.familia .wc-block-components-product-details { margin: 0; padding: 0; list-style: none; }
body.familia .wc-block-components-product-details__name { font-weight: 400; }
/* item-data rows with their own labels (theme familia_product_subtitle, FC_Stock::cart_item_data, inc/cart.php) */
body.familia .wc-block-components-product-details .familia-line__label { display: none; }
body.familia .wc-block-components-product-details .familia-line-subtitle .wc-block-components-product-details__name,
body.familia .wc-block-components-product-details .familia-line-date .wc-block-components-product-details__name { display: none; }
/* the product code row: the cart line and the checkout summary line show it (section 07) */
body.familia .wc-block-components-sale-badge {
	margin: 0;
	padding: 2px 8px;
	border: 0;
	border-radius: var(--f-r-pill);
	background: var(--f-sky-wash);
	color: var(--f-ink);
	font-size: var(--f-t-xs);
	font-weight: 500;
	text-transform: none;
	white-space: nowrap;
}

/* ------------------------------------------------------------------ 03 cart summary */
/* ref: no panel – the column holds the code box, "Bendra suma" (text-base, semibold / extrabold) and the
   "Toliau" button; on phones the button sits in a white bar fixed to the bottom ("fixed bottom-0 bg-default-50
   pt-4 px-4 pb-7"), which the block cart already does with its sticky container. */
body.familia .wc-block-cart .wc-block-components-sidebar {
	margin-top: 32px;
	padding: 0;
	border: 0;
	background: transparent;
}
@media (min-width: 1024px) { body.familia .wc-block-cart .wc-block-components-sidebar { margin-top: 0; } }
body.familia .wc-block-cart .wc-block-cart__totals-title { display: none; }
body.familia .wc-block-cart .wp-block-woocommerce-cart-order-summary-block,
body.familia .wc-block-cart .wp-block-woocommerce-cart-order-summary-totals-block { border: 0; }
body.familia .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper {
	padding: 0 0 16px;
	border: 0;
}
/* WooCommerce draws the separators as ::after lines; the old column had none, the checkout uses its own borders */
body.familia .wc-block-components-totals-wrapper::after,
body.familia .wc-block-components-totals-wrapper::before { display: none; }
body.familia .wc-block-cart .wc-block-components-totals-item { margin: 0 0 8px; }
body.familia .wc-block-cart .wc-block-components-totals-wrapper:empty,
body.familia .wc-block-cart .wc-block-components-totals-wrapper.slot-wrapper:has(.wc-block-components-order-meta:empty) { display: none; }
/* code box: ref label "text-13 font-bold md:text-[14px] uppercase", field + button "mt-3.5", error "text-error text-xs" */
body.familia .wc-block-components-totals-coupon.wc-block-components-panel { padding: 0; border: 0; }
body.familia .wc-block-components-totals-coupon .wc-block-components-panel__button {
	min-height: 0;
	margin: 0;
	padding: 0 0 14px;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--f-ink);
	font-size: var(--f-t-13);
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	justify-content: space-between;
}
@media (min-width: 1024px) { body.familia .wc-block-components-totals-coupon .wc-block-components-panel__button { font-size: var(--f-t-sm); } }
body.familia .wc-block-components-totals-coupon .wc-block-components-panel__button:hover { background: transparent; color: var(--f-ink); }
body.familia .wc-block-components-totals-coupon .wc-block-components-panel__button-icon { width: 20px; height: 20px; }
body.familia .wc-block-components-totals-coupon .wc-block-components-panel__content { padding: 0; }
body.familia .wc-block-components-totals-coupon__form { display: flex; gap: 8px; margin: 0; }
body.familia .wc-block-components-totals-coupon__form .wc-block-components-text-input { flex: 1 1 auto; margin: 0; }
body.familia .wc-block-components-totals-coupon__button {
	flex: 0 0 auto;
	min-width: 112px;
	min-height: 48px;
	margin: 0;
	padding: 0 20px;
}
body.familia .wc-block-components-totals-coupon__form .wc-block-components-validation-error { flex-basis: 100%; }
body.familia .wc-block-components-totals-coupon__form:has(.wc-block-components-validation-error) { flex-wrap: wrap; }
body.familia .wc-block-components-totals-discount .wc-block-components-totals-item__label,
body.familia .wc-block-components-totals-discount .wc-block-components-totals-item__value { color: var(--f-ink); font-weight: 500; font-size: var(--f-t-base); }
body.familia .wc-block-components-totals-discount__coupon-list { margin: 6px 0 0; }
body.familia .wc-block-components-chip {
	margin: 0 6px 6px 0;
	padding: 2px 6px 2px 10px;
	border: 0;
	border-radius: var(--f-r-pill);
	background: var(--f-sky-wash);
	color: var(--f-ink);
	font-size: var(--f-t-xs);
}
body.familia .wc-block-components-chip .wc-block-components-chip__remove {
	min-width: 24px;
	min-height: 24px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}
/* totals rows in the cart: ref "flex items-center justify-between text-base", label semibold, value extrabold */
body.familia .wc-block-cart .wc-block-components-totals-item { font-size: var(--f-t-base); }
body.familia .wc-block-cart .wc-block-components-totals-footer-item {
	padding: 0;
	border: 0;
	font-size: var(--f-t-base);
}
body.familia .wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-weight: 500; }
body.familia .wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-weight: 500; }
body.familia .wc-block-components-totals-footer-item-tax,
body.familia .wc-block-components-totals-item__description { margin: 4px 0 0; color: var(--f-default-900); font-size: var(--f-t-xs); font-weight: 400; }
body.familia .wc-block-components-totals-shipping__via { font-size: var(--f-t-xs); font-weight: 400; }
body.familia .wc-block-cart__submit { margin: 20px 0 0; }
body.familia .wc-block-cart__submit-container { padding: 0; background: transparent; }
body.familia .wc-block-cart .wc-block-cart__submit-container--sticky {
	padding: 16px 16px 28px;
	border: 0;
	background: var(--f-default-50);
	box-shadow: 0 -6px 24px rgb(var(--f-ink-rgb) / .10);
}
body.familia .wc-block-cart .wc-block-cart__submit-container--sticky::before { display: none; }

/* ------------------------------------------------------------------ 05 checkout steps, fields */
/* The cart's language (client mock 2026-10-01, familia-cart.css): white page, light-grey cards with 10 px corners
   (the cart's "Užsakymo suma" card, the home mosaic), white 6 px fields, sky accents, type 400 / 500.
   Each step of the Checkout block is a card; the delivery sub-steps (courier rates / salon list, then the address)
   continue the "Pristatymas" card. The form is a flex column so the block's own parts can be ordered without moving
   them in the DOM: steps → terms → button (on phones WooCommerce's copy of the summary card above it) → benefit lines. Numbers:
   a CSS counter on the cards (1 Kontaktai, 2 Pristatymas, 3 Pirkėjo duomenys when shown, then Mokėjimas). */
body.familia .wc-block-checkout__form {
	display: flex;
	flex-direction: column;
	counter-reset: familia-step;
}
body.familia .wc-block-checkout__form > * { min-width: 0; }
body.familia .wc-block-checkout__form > .wc-block-components-checkout-step {
	margin: 0 0 16px;
	padding: 20px 16px;
	border: 0;
	border-radius: 10px;
	background: var(--f-default-100);
	counter-increment: familia-step;
}
@media (min-width: 768px) { body.familia .wc-block-checkout__form > .wc-block-components-checkout-step { padding: 24px; } }
/* the delivery card's continuation: rates / salon list after "Pristatymas", the address after the rates */
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-method + .wc-block-checkout__pickup-options,
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-method + .wc-block-checkout__shipping-option,
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-option + .wc-block-checkout__shipping-fields,
body.familia .wc-block-checkout__form > .wc-block-checkout__pickup-options + .wc-block-checkout__shipping-fields {
	margin-top: -16px;
	padding-top: 0;
	border-radius: 0 0 10px 10px;
	counter-increment: none;
}
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-method:has(+ .wc-block-checkout__pickup-options, + .wc-block-checkout__shipping-option),
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-option:has(+ .wc-block-checkout__shipping-fields),
body.familia .wc-block-checkout__form > .wc-block-checkout__pickup-options:has(+ .wc-block-checkout__shipping-fields) { padding-bottom: 20px; border-radius: 10px 10px 0 0; }
/* a middle part (the rates between "Pristatymas" and the address) is square on both ends */
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-method + .wc-block-checkout__shipping-option:has(+ .wc-block-checkout__shipping-fields),
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-method + .wc-block-checkout__pickup-options:has(+ .wc-block-checkout__shipping-fields) { border-radius: 0; }
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-method + .wc-block-checkout__pickup-options::before,
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-method + .wc-block-checkout__shipping-option::before,
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-option + .wc-block-checkout__shipping-fields::before,
body.familia .wc-block-checkout__form > .wc-block-checkout__pickup-options + .wc-block-checkout__shipping-fields::before {
	content: "";
	display: block;
	height: 1px;
	margin: 0 0 20px;
	background: var(--f-default-400);
}
/* the newsletter tick ("Papildoma užsakymo informacija") belongs to the closing part with the terms: no card, no number */
body.familia .wc-block-checkout__form > .wc-block-checkout__order-fields {
	margin: 4px 0 0;
	padding: 0;
	background: transparent;
	counter-increment: none;
}
body.familia .wc-block-checkout__order-fields .wc-block-components-checkout-step__heading-container {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
body.familia .wc-block-checkout__order-fields .wc-block-components-checkbox { margin-top: 0; }
/* nothing to ask (no order-level field rendered): no empty box between "Mokėjimas" and the terms */
body.familia .wc-block-checkout__form > .wc-block-checkout__order-fields:not(:has(input, select, textarea)) { display: none; }
/* the invoice fields open under their tick box */
body.familia .wc-block-checkout .wc-block-components-address-form > .wc-block-components-checkbox + .wc-block-components-text-input { margin-top: 16px; }
body.familia .wc-block-checkout__form > .wc-block-checkout__terms,
body.familia .wc-block-checkout__form > .cf-turnstile,
body.familia .wc-block-checkout__form > .cf-turnstile-br,
body.familia .wc-block-checkout__form > .wc-block-checkout__actions { order: 2; }
body.familia .wc-block-checkout__form > .familia-co-benefits { order: 3; }

/* titles: a sky number disc + the step name; the sub-steps inside the delivery card are smaller */
body.familia .wc-block-components-checkout-step__heading-container { margin: 0 0 20px; }
body.familia .wc-block-components-checkout-step__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	color: var(--f-ink);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.25;
}
@media (min-width: 1024px) { body.familia .wc-block-components-checkout-step__title { font-size: 22px; } }
body.familia .wc-block-checkout__form > .wc-block-components-checkout-step .wc-block-components-checkout-step__title::before {
	content: counter(familia-step);
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--f-sky);
	color: var(--f-ink);
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
}
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-method + .wc-block-checkout__pickup-options .wc-block-components-checkout-step__title,
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-method + .wc-block-checkout__shipping-option .wc-block-components-checkout-step__title,
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-option + .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__title,
body.familia .wc-block-checkout__form > .wc-block-checkout__pickup-options + .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__title { font-size: var(--f-t-base); font-weight: 500; }
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-method + .wc-block-checkout__pickup-options .wc-block-components-checkout-step__title::before,
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-method + .wc-block-checkout__shipping-option .wc-block-components-checkout-step__title::before,
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-option + .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__title::before,
body.familia .wc-block-checkout__form > .wc-block-checkout__pickup-options + .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__title::before { content: none; }
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-method + .wc-block-checkout__pickup-options .wc-block-components-checkout-step__heading-container,
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-method + .wc-block-checkout__shipping-option .wc-block-components-checkout-step__heading-container,
body.familia .wc-block-checkout__form > .wc-block-checkout__shipping-option + .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__heading-container,
body.familia .wc-block-checkout__form > .wc-block-checkout__pickup-options + .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__heading-container { margin-bottom: 14px; }
/* "Prisijungti" next to "Kontaktai": WooCommerce floats it into the title's line, which overlapped the title on phones
   (QA 2026-09-29) – a wrapping row instead */
body.familia .wc-block-components-checkout-step__heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 16px; margin: 0; }
body.familia .wc-block-components-checkout-step__heading .wc-block-checkout__login-prompt { float: none; margin: 0; }
body.familia .wc-block-components-checkout-step__heading-content a,
body.familia .wc-block-checkout__login-prompt {
	color: var(--f-sky-deep);
	font-size: var(--f-t-sm);
	font-weight: 500;
	text-decoration: none;
}
body.familia .wc-block-checkout__login-prompt:hover { color: var(--f-ink); text-decoration: underline; }
body.familia .wc-block-components-checkout-step__container::after,
body.familia .wc-block-components-checkout-step::after { display: none; }
body.familia .wc-block-components-checkout-step__content { padding: 0; }
body.familia .wc-block-components-checkout-step__description { margin: 0 0 16px; color: var(--f-muted); font-size: var(--f-t-sm); }
body.familia .wc-block-components-address-form,
body.familia .wc-block-components-address-form__fields { gap: 0 16px; }

/* text inputs: label above, as on the old forms (the floating label hid the field name once typed into) */
body.familia .wc-block-checkout .wc-block-components-text-input,
body.familia .wc-block-cart .wc-block-components-text-input { position: relative; margin-top: 0; margin-bottom: 16px; }
/* WooCommerce prints the label after the input: show it first */
body.familia .wc-block-checkout .wc-block-components-text-input { display: flex; flex-direction: column; }
body.familia .wc-block-checkout .wc-block-components-text-input > label { order: -1; }
body.familia .wc-block-components-totals-coupon .wc-block-components-text-input { margin-bottom: 0; }
body.familia .wc-block-checkout .wc-block-components-text-input label,
body.familia .wc-block-checkout .wc-block-components-text-input.is-active label,
body.familia .wc-block-checkout .wc-blocks-components-select__label {
	position: static;
	display: block;
	max-width: none;
	margin: 0 0 6px;
	transform: none;
	color: var(--f-ink);
	font-size: var(--f-t-sm);
	font-weight: 400;
	line-height: 1.43;
	text-transform: none;
	white-space: normal;
	cursor: default;
}
body.familia .wc-block-checkout .wc-block-components-text-input input[type],
body.familia .wc-block-checkout .wc-block-components-text-input.is-active input[type],
body.familia .wc-block-cart .wc-block-components-text-input input[type],
body.familia .wc-block-cart .wc-block-components-text-input.is-active input[type] {
	height: 48px;
	min-height: 48px;
	padding: 0 14px;
	border: 1px solid var(--f-default-400);
	border-radius: 6px;
	background: var(--f-default-50);
	color: var(--f-ink);
	font-size: var(--f-t-base);
	line-height: 46px;
	box-shadow: none;
}
body.familia .wc-block-cart .wc-block-components-totals-coupon .wc-block-components-text-input label {
	/* the code field keeps its placeholder-style label inside: the box's heading already names it */
	left: 18px;
	top: 24px;
	color: var(--f-default-900);
	font-size: var(--f-t-base);
	font-weight: 400;
	text-transform: none;
}
body.familia .wc-block-cart .wc-block-components-totals-coupon .wc-block-components-text-input.is-active label { display: none; }
body.familia .wc-block-checkout .wc-block-components-text-input input[type]:focus,
body.familia .wc-block-cart .wc-block-components-text-input input[type]:focus,
body.familia .wc-block-checkout .wc-blocks-components-select__select:focus,
body.familia .wc-block-checkout .wc-block-components-textarea:focus {
	border-color: var(--f-ink);
	outline: none;
	box-shadow: 0 0 0 3px rgb(var(--f-sky-rgb) / .45);
}
body.familia .wc-block-checkout .wc-block-components-text-input.has-error input[type],
body.familia .wc-block-cart .wc-block-components-text-input.has-error input[type],
body.familia .wc-block-checkout .wc-blocks-components-select.has-error .wc-blocks-components-select__select { border-color: var(--f-err); }
body.familia .wc-block-checkout .wc-block-components-text-input.has-error label { color: var(--f-ink); }
body.familia .wc-block-components-validation-error {
	margin: 6px 0 0;
	color: var(--f-err);
	font-size: var(--f-t-xs);
	line-height: 1.33;
}
body.familia .wc-block-components-validation-error > p { display: flex; gap: 4px; align-items: flex-start; margin: 0; }
body.familia .wc-block-components-validation-error svg { flex: 0 0 auto; width: 16px; height: 16px; fill: currentColor; }

/* selects (country, DPD city/terminal): one frame – familia.css framed the container and the select both */
body.familia .wc-block-checkout .wc-blocks-components-select { margin: 0 0 16px; }
body.familia .wc-block-checkout .wc-blocks-components-select__container {
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	line-height: normal;
}
body.familia .wc-block-checkout .wc-blocks-components-select__select {
	height: 48px;
	min-height: 48px;
	padding: 0 40px 0 14px;
	border: 1px solid var(--f-default-400);
	border-radius: 6px;
	background-color: var(--f-default-50);
	color: var(--f-ink);
	font-size: var(--f-t-base);
	line-height: 46px;
}
body.familia .wc-block-checkout .wc-blocks-components-select__expand { display: none; }
body.familia .wc-block-checkout .wc-block-components-textarea {
	min-height: 112px;
	padding: 12px 14px;
	border: 1px solid var(--f-default-400);
	border-radius: 6px;
	background: var(--f-default-50);
	font-size: var(--f-t-base);
}

/* checkboxes: white 22 px boxes with 4 px corners, ticked = sky */
body.familia .wc-block-components-checkbox { margin-top: 14px; }
body.familia .wc-block-components-checkbox label { align-items: flex-start; gap: 0; font-size: var(--f-t-sm); line-height: 1.5; }
body.familia .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	min-width: 22px;
	margin: 0 12px 0 0;
	border: 1px solid var(--f-default-500);
	border-radius: 4px;
	background: var(--f-default-50);
	-webkit-appearance: none;
	appearance: none;
}
body.familia .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { border-color: var(--f-sky); background: var(--f-sky); }
body.familia .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus-visible { outline: 2px solid var(--f-ink); outline-offset: 2px; }
body.familia .wc-block-components-checkbox .wc-block-components-checkbox__mark { left: 3px; top: 3px; width: 16px; height: 16px; margin: 0; fill: var(--f-ink); }
body.familia .wc-block-components-checkbox.has-error .wc-block-components-checkbox__input[type="checkbox"] { border-color: var(--f-err); }
body.familia .wc-block-components-checkbox a,
body.familia .wc-block-checkout__terms a { color: var(--f-ink); font-weight: 400; text-decoration: underline; text-underline-offset: 2px; }
body.familia .wc-block-components-checkbox a:hover,
body.familia .wc-block-checkout__terms a:hover { color: var(--f-sky-deep); }
body.familia .wc-block-checkout__guest-checkout-notice { margin: 8px 0 0; color: var(--f-muted); font-size: var(--f-t-xs); }
/* the closing part: newsletter, terms, Turnstile, "Patvirtinti ir apmokėti", benefit lines */
body.familia .wc-block-checkout__terms { margin: 0 0 20px; padding: 14px 0 0; border: 0; }
body.familia .wc-block-checkout__terms.wc-block-checkout__terms--with-separator::before { display: none; }
body.familia .wc-block-checkout__form > .cf-turnstile { margin: 0 0 16px; }
body.familia .wc-block-checkout__form > .cf-turnstile-br { display: none; }
body.familia .wc-block-checkout__actions { margin: 0; padding: 0; }
body.familia .wc-block-checkout__actions_row { display: flex; flex-direction: column-reverse; gap: 16px; }
body.familia .wc-block-checkout .wc-block-checkout__actions .wc-block-components-checkout-place-order-button { min-height: 56px; font-weight: 500; }   /* the cart's "Tęsti užsakymą" */
body.familia .wc-block-components-checkout-return-to-cart-button { color: var(--f-ink); font-weight: 500; }
body.familia .familia-co-benefits { margin: 16px 0 0; padding: 0 2px; list-style: none; }
body.familia .familia-co-benefits li { margin: 0; padding: 0; color: var(--f-muted); font-size: var(--f-t-sm); line-height: 1.6; }

/* ------------------------------------------------------------------ 06 delivery / payment choices */
/* white tiles (8 px corners) on the grey card; the chosen one: steel-blue edge on the light-blue ground */
body.familia .wc-block-checkout__shipping-method-container { gap: 10px; }
body.familia .wc-block-checkout__shipping-method-option {
	min-height: 56px;
	border: 1px solid var(--f-default-300);
	border-radius: 8px;
	background: var(--f-default-50);
	box-shadow: none;
	color: var(--f-ink);
	font-size: var(--f-t-base);
	font-weight: 400;
	text-transform: none;
}
body.familia .wc-block-checkout__shipping-method-option:hover { border-color: var(--f-default-500); background: var(--f-default-50); color: var(--f-ink); }
body.familia .wc-block-checkout__shipping-method-option--selected,
body.familia .wc-block-checkout__shipping-method-option--selected:hover {
	border-color: var(--f-sky-deep);
	background: var(--f-sky-wash);
	box-shadow: inset 0 0 0 1px var(--f-sky-deep);
}
body.familia .wc-block-checkout__shipping-method-option-title { font-size: var(--f-t-base); font-weight: 400; }
body.familia .wc-block-checkout__shipping-method-option--selected .wc-block-checkout__shipping-method-option-title { font-weight: 500; }

body.familia .wc-block-checkout .wc-block-components-radio-control,
body.familia .wc-block-checkout .wc-block-components-radio-control--highlight-checked { display: grid; gap: 10px; border: 0; box-shadow: none; }
body.familia .wc-block-checkout .wc-block-components-radio-control--highlight-checked::after,
body.familia .wc-block-checkout .wc-block-components-radio-control__option::after { display: none; }
body.familia .wc-block-checkout .wc-block-components-shipping-rates-control__package,
body.familia .wc-block-checkout .wc-block-components-local-pickup-select { border: 0; background: transparent; }
body.familia .wc-block-checkout .wc-block-components-radio-control .wc-block-components-radio-control__option,
body.familia .wc-block-checkout .wc-block-components-radio-control-accordion-option {
	margin: 0;
	padding: 16px 16px 16px 52px;
	border: 1px solid var(--f-default-300);
	border-radius: 8px;
	background: var(--f-default-50);
	box-shadow: none;
}
@media (min-width: 768px) {
	body.familia .wc-block-checkout .wc-block-components-radio-control .wc-block-components-radio-control__option { padding: 18px 20px 18px 56px; }
}
body.familia .wc-block-checkout .wc-block-components-radio-control-accordion-option { padding: 0; }
body.familia .wc-block-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option { border: 0; }
body.familia .wc-block-checkout .wc-block-components-radio-control .wc-block-components-radio-control__option.wc-block-components-radio-control__option-checked,
body.familia .wc-block-checkout .wc-block-components-radio-control-accordion-option:has(input:checked) {
	border-color: var(--f-sky-deep);
	background: var(--f-sky-wash);
	box-shadow: inset 0 0 0 1px var(--f-sky-deep);
}
body.familia .wc-block-checkout .wc-block-components-radio-control__input {
	left: 16px;
	width: 22px;
	min-width: 22px;
	height: 22px;
	min-height: 0;
	margin: 0;
	border: 1px solid var(--f-default-500);
	border-radius: 50%;
	background: var(--f-default-50);
	-webkit-appearance: none;
	appearance: none;
}
@media (min-width: 768px) { body.familia .wc-block-checkout .wc-block-components-radio-control__input { left: 20px; } }
body.familia .wc-block-checkout .wc-block-components-radio-control__input:checked { border: 0; background: var(--f-brand-wash); box-shadow: inset 0 0 0 1px var(--f-sky-deep); }   /* brandbook: steel blue on light blue (was the old shop's orange) */
body.familia .wc-block-checkout .wc-block-components-radio-control__input:checked::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--f-sky-deep);
	transform: translate(-50%, -50%);
}
body.familia .wc-block-checkout .wc-block-components-radio-control__input:focus-visible { outline: 2px solid var(--f-ink); outline-offset: 2px; }
body.familia .wc-block-checkout .wc-block-components-radio-control__label {
	color: var(--f-ink);
	font-size: var(--f-t-base);
	font-weight: 500;
	line-height: 1.4;
}
body.familia .wc-block-checkout .wc-block-components-radio-control__secondary-label { color: var(--f-ink); font-size: var(--f-t-sm); font-weight: 500; text-transform: none; white-space: nowrap; }
body.familia .wc-block-checkout .wc-block-components-radio-control__secondary-label *,
body.familia .wc-block-checkout .wc-block-components-radio-control__secondary-label em { font-style: normal; text-transform: none; }
body.familia .wc-block-checkout .wc-block-components-radio-control__secondary-label em,
body.familia .wc-block-checkout .wc-block-checkout__shipping-option--free { color: var(--f-sky-deep); }
body.familia .wc-block-checkout .wc-block-components-radio-control__description,
body.familia .wc-block-checkout .wc-block-components-radio-control__secondary-description {
	margin-top: 4px;
	color: var(--f-muted);
	font-size: var(--f-t-sm);
	font-weight: 400;
	line-height: 1.43;
}
body.familia .wc-block-checkout .wc-block-components-radio-control__description svg { width: 16px; height: 16px; vertical-align: -3px; fill: currentColor; }
body.familia .wc-block-checkout .wc-block-components-shipping-rates-control__no-results-notice,
body.familia .wc-block-checkout .wc-block-components-shipping-rates-control .wc-block-components-notice-banner,
body.familia .wc-block-checkout__no-shipping-placeholder {
	border-radius: 8px;
	font-size: var(--f-t-sm);
}
body.familia .wc-block-checkout__no-shipping-placeholder { padding: 20px; border: 1px dashed var(--f-default-500); background: var(--f-default-50); color: var(--f-muted); }
body.familia .wc-block-components-notice-banner { border-radius: 8px; font-size: var(--f-t-sm); }
body.familia .wc-block-components-notice-banner.is-error { border-color: var(--f-err); background: #fff4f4; }

/* payment: the shop has one payment method (QA 2026-09-29 #53) – its radio row ("Elektroninė bankininkystė") says
   nothing, the Klix bank / card tiles follow directly; the "Banko šalis" selector goes too (Lietuva, the default,
   already lists every group: banks, cards / Apple Pay / Google Pay, pay in parts) */
.familia .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:only-child > .wc-block-components-radio-control__option { display: none; }
.familia .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:only-child,
body.familia .wc-block-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:only-child:has(input:checked) { border: 0; background: transparent; box-shadow: none; }
.familia .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:only-child .wc-block-components-radio-control-accordion-content { padding: 0; }
.familia div:has(> #klix-country-selector) { display: none; }
/* Klix tiles (the plugin draws them with inline styles, hence !important), restyled 2026-10-01 in the delivery cards'
   language: white 8 px tiles, a drawn round radio (sky dot on light blue when picked, as the delivery choices), the
   picked tile light blue with the sky border; no outline after a mouse click, a sky ring around the tile for keyboard
   focus; logos 24 px high and vertically centred, the text of the card / Apple Pay / Google Pay / pay-in-parts tiles
   starting at the same place (a fixed logo box); group headings "Elektroninė bankininkystė" / "Mokėkite kortele" /
   "Mokėti dalimis" in one style. Phones: bank logos two per row, the tiles with text one per row. */
body.familia .wc-block-checkout__payment-method div:has(> div > p + div > label > input[name="klix_method"]) { margin-top: 0 !important; gap: 22px !important; color: var(--f-ink) !important; font-family: inherit !important; font-size: var(--f-t-sm) !important; }
body.familia .wc-block-checkout__payment-method div:has(> p + div > label > input[name="klix_method"]) > p {
	margin: 0 0 10px !important;
	color: var(--f-ink) !important;
	font-size: var(--f-t-sm) !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	letter-spacing: 0;
	text-transform: none;
}
body.familia .wc-block-checkout__payment-method div:has(> label > input[name="klix_method"]) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
@media (min-width: 768px) { body.familia .wc-block-checkout__payment-method div:has(> label > input[name="klix_method"]) { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important; } }
body.familia .wc-block-checkout__payment-method label:has(> input[name="klix_method"]) {
	position: relative;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	min-width: 0;
	min-height: 56px;
	margin: 0;
	padding: 10px 14px !important;
	border: 1px solid var(--f-default-300) !important;
	border-radius: 8px !important;
	background: var(--f-default-50) !important;
	color: var(--f-ink);
	font-size: var(--f-t-sm);
	font-weight: 500;
	line-height: 1.3;
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease !important;
}
body.familia .wc-block-checkout__payment-method label:has(> input[name="klix_method"]):hover { border-color: var(--f-default-500) !important; }
body.familia .wc-block-checkout__payment-method label:has(> input[name="klix_method"]:checked) {
	border-color: var(--f-sky-deep) !important;
	background: var(--f-sky-wash) !important;
	box-shadow: inset 0 0 0 1px var(--f-sky-deep);
}
/* the radio: drawn like the delivery choices' (section 06) */
body.familia .wc-block-checkout__payment-method label > input[name="klix_method"] {
	position: relative;
	flex: none;
	box-sizing: border-box;
	width: 20px !important;
	height: 20px !important;
	min-height: 0;
	margin: 0 !important;
	padding: 0;
	border: 1px solid var(--f-default-500);
	border-radius: 50%;
	background: var(--f-default-50);
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}
body.familia .wc-block-checkout__payment-method label > input[name="klix_method"]:checked { border: 0; background: var(--f-brand-wash); box-shadow: inset 0 0 0 1px var(--f-sky-deep); }
body.familia .wc-block-checkout__payment-method label > input[name="klix_method"]:checked::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--f-sky-deep);
	transform: translate(-50%, -50%);
}
/* focus: nothing after a click (also no square browser outline – coordinator hotfix cf9f84dd folded in), a ring around the
   tile for the keyboard */
body.familia input[name="klix_method"]:focus,
body.familia input[name="klix_method"]:focus-visible { outline: none !important; box-shadow: none; }
body.familia .wc-block-checkout__payment-method label > input[name="klix_method"]:checked:focus-visible { box-shadow: inset 0 0 0 1px var(--f-sky-deep); }
body.familia label:has(> input[name="klix_method"]):focus-within { outline: none; }
body.familia .wc-block-checkout__payment-method label:has(> input[name="klix_method"]:focus-visible) { border-color: var(--f-ink) !important; box-shadow: 0 0 0 3px rgb(var(--f-sky-rgb) / .55); }
/* logos: one height, vertically centred; on the tiles with text a fixed box so every label starts at the same place */
body.familia .wc-block-checkout__payment-method label:has(> input[name="klix_method"]) > img { display: block; flex: 0 1 auto; min-width: 0; max-width: 100%; height: 24px !important; width: auto !important; object-fit: contain; object-position: left center; }
body.familia .wc-block-checkout__payment-method label:has(> input[name="klix_method"][value^="klix"]) > img { flex: 0 0 56px; width: 56px !important; }
body.familia .wc-block-checkout__payment-method label:has(> input[name="klix_method"]) > span { min-width: 0; line-height: 1.3; }
/* phones: card / Apple Pay / Google Pay / pay in parts (`klix…` ids, icons + text) take the full row – half a row broke "Mokėkite" */
@media (max-width: 767px) { body.familia .wc-block-checkout__payment-method label:has(> input[name="klix_method"][value^="klix"]) { grid-column: 1 / -1; } }
/* no method picked when ordering: "Pasirinkite mokėjimo būdą" under the tiles (familia-checkout.js payState) */
body.familia .familia-pay-error { margin: 14px 0 0; color: var(--f-err); font-size: var(--f-t-xs); }
body.familia .familia-pay-error[hidden] { display: none; }
body.familia .familia-pay-missing label:has(> input[name="klix_method"]):not(:hover) { border-color: var(--f-err) !important; }
/* bank tiles: the logo is enough (client 2026-09-26: "nerodyk bankų tekstinių pavadinimų, užtenka ikonos") – the name
   stays for screen readers; card / Apple Pay / Google Pay / Pay Later (`klix…` ids) keep their text */
body.familia label:has(> input[name="klix_method"]:not([value^="klix"])):has(> img) > span {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
body.familia label:has(> input[name="klix_method"]:not([value^="klix"])):has(> img) > img { height: 24px !important; width: auto !important; }
/* a subscription in the cart: the Klix block is card-only (familia-klix) – no "Banko šalis" selector and no group
   heading, just the card / Apple Pay / Google Pay tiles under "Mokėkite kortele" (as on the old shop) */
body.familia-klix-card-only div:has(> #klix-country-selector) { display: none; }
body.familia-klix-card-only div:has(> div > #klix-country-selector) > div > p:first-child { display: none; }
/* the cart got a subscription while the checkout was open: until the block re-renders with the card group only
   (familia-klix card_only_script), no bank-link / Pay Later group is shown */
body.familia-klix-card-only div:has(> div > #klix-country-selector) > div:has(> div > label > input[name="klix_method"]:not([value="klix"]):not([value="klix_apple_pay"]):not([value="klix_google_pay"])) { display: none; }
/* subscriptions: the card tile only – Apple Pay / Google Pay would open the same card form (client 2026-10-01) */
body.familia-klix-card-only label:has(> input[name="klix_method"][value="klix_apple_pay"]),
body.familia-klix-card-only label:has(> input[name="klix_method"][value="klix_google_pay"]) { display: none; }

/* ------------------------------------------------------------------ 07 order summary (checkout column) */
/* The cart's "Užsakymo suma" card: grey, 10 px corners, compact lines (picture, name, code, price), "Prekės (N)" and
   gift rows (familia-checkout-blocks.js), discount, delivery, divider, "Bendra suma" large, VAT grey, the code field
   last. Desktop: the column follows the scroll; phones / tablets: WooCommerce's folded panel at the top. */
body.familia .wc-block-checkout .wc-block-components-sidebar { margin: 0; padding: 0; background: transparent; }
@media (min-width: 1024px) {
	body.familia .wc-block-checkout .wc-block-components-sidebar {
		position: sticky;
		top: calc(var(--wp-admin--admin-bar--height, 0px) + 100px);
		align-self: flex-start;
	}
}
body.familia .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block {
	padding: 0 20px;
	border: 0;
	border-radius: 10px;
	background: var(--f-default-100);
}
body.familia .wc-block-checkout .wc-block-components-checkout-order-summary__content { border: 0; border-radius: 0; background: transparent; }
body.familia .wc-block-components-checkout-order-summary__title { align-items: center; margin: 0; padding: 20px 0 10px; border: 0; }
body.familia .wc-block-components-checkout-order-summary__title-text {
	margin: 0;
	color: var(--f-ink);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.25;
}
body.familia .wc-block-components-checkout-order-summary__title-price { color: var(--f-ink); font-size: var(--f-t-18); font-weight: 500; white-space: nowrap; }
/* phones / tablets: the folded panel "Užsakymo suma 236.83 EUR ⌄" at the top */
@media (max-width: 1023px) {
	body.familia .wc-block-checkout .wc-block-components-sidebar { margin: 0 0 16px; }
	body.familia .wc-block-components-checkout-order-summary__title { min-height: 60px; padding: 16px 0; cursor: pointer; }
	body.familia .wc-block-components-checkout-order-summary__title-text { font-size: var(--f-t-18); }
	body.familia .wc-block-components-checkout-order-summary__title-icon { width: 24px; height: 24px; }
	body.familia .wc-block-components-checkout-order-summary__content { padding-bottom: 4px; }
}
body.familia .wc-block-checkout .wc-block-components-checkout-order-summary__content,
body.familia .wc-block-checkout .checkout-order-summary-block-fill { display: flex; flex-direction: column; }
/* phones / tablets: WooCommerce repeats the summary right before "Patvirtinti ir apmokėti" – the same card, no inner frame */
body.familia .wc-block-checkout .checkout-order-summary-block-fill { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
body.familia .wc-block-checkout__actions .wp-block-woocommerce-checkout-order-summary-block { margin: 0 0 16px; }
body.familia .wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper > .wc-block-components-checkout-step__heading { margin: 0; padding: 20px 0 10px; }
body.familia .wc-block-checkout__actions .checkout-order-summary-block-fill-wrapper .wc-block-components-checkout-step__title { font-size: 22px; font-weight: 400; }
/* …but folded on phones / tablets until its heading is tapped (WooCommerce hides it with display: none) */
body.familia .wc-block-checkout:is(.is-mobile, .is-small, .is-medium) .wc-block-components-checkout-order-summary__content:not(.is-open) { display: none; }
body.familia .wc-block-checkout :is(.wc-block-components-checkout-order-summary__content, .checkout-order-summary-block-fill) > .wp-block-woocommerce-checkout-order-summary-cart-items-block { order: 1; }
body.familia .wc-block-checkout :is(.wc-block-components-checkout-order-summary__content, .checkout-order-summary-block-fill) > .familia-summary-items { order: 2; padding-top: 14px; }
body.familia .wc-block-checkout :is(.wc-block-components-checkout-order-summary__content, .checkout-order-summary-block-fill) > .wp-block-woocommerce-checkout-order-summary-totals-block { order: 3; }
body.familia .wc-block-checkout :is(.wc-block-components-checkout-order-summary__content, .checkout-order-summary-block-fill) > .wc-block-components-totals-wrapper:has(> .wc-block-components-totals-footer-item) { order: 4; }
body.familia .wc-block-checkout :is(.wc-block-components-checkout-order-summary__content, .checkout-order-summary-block-fill) > .wp-block-woocommerce-checkout-order-summary-coupon-form-block { order: 5; }
body.familia .wc-block-checkout :is(.wc-block-components-checkout-order-summary__content, .checkout-order-summary-block-fill) > .slot-wrapper { order: 6; }
/* WooCommerce draws its separators as ::after lines */
body.familia .wc-block-checkout .wc-block-components-totals-wrapper { padding: 0; border: 0; }
body.familia .wc-block-checkout .wc-block-components-totals-wrapper:empty,
body.familia .wc-block-checkout .wc-block-components-totals-wrapper.slot-wrapper:has(.wc-block-components-order-meta:empty),
body.familia .wc-block-checkout .wc-block-components-totals-wrapper.slot-wrapper:not(:has(button, input, a, p)) { display: none; }   /* PW Gift Cards' empty redeem container */

/* lines */
body.familia .wc-block-checkout .wc-block-components-order-summary { padding: 0; background: transparent; }
body.familia .wc-block-checkout .wc-block-components-order-summary .wc-block-components-panel__button { display: none; }   /* "N items" toggle of some versions */
@media (min-width: 1024px) {
	/* a long cart scrolls inside the card, so the total and the code field stay in view next to the form */
	body.familia .wc-block-checkout .wc-block-components-order-summary__content { max-height: min(46vh, 420px); margin-right: -8px; padding: 6px 8px 0 0; overflow-y: auto; scrollbar-width: thin; }
}
body.familia .wc-block-components-order-summary .wc-block-components-order-summary-item {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	align-items: start;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--f-default-300);
	font-size: var(--f-t-sm);
}
body.familia .wc-block-components-order-summary-item:first-child { padding-top: 6px; }
body.familia .wc-block-components-order-summary-item__image { position: relative; width: 56px; margin: 0; padding: 0; }
body.familia .wc-block-components-order-summary-item__image img {
	width: 56px;
	max-width: 56px;
	height: 56px;
	border-radius: 6px;
	background: var(--f-default-50);
	object-fit: contain;
}
/* quantity badge: a small ink disc with a white figure */
body.familia .wc-block-components-order-summary-item__quantity {
	top: -6px;
	right: -6px;
	min-width: 22px;
	min-height: 22px;
	padding: 0 5px;
	border: 2px solid var(--f-default-100);
	border-radius: var(--f-r-pill);
	background: var(--f-ink);
	box-shadow: none;
	color: var(--f-default-50);
	font-size: 11px;
	font-weight: 500;
	line-height: 18px;
}
body.familia .wc-block-components-order-summary-item__quantity span { color: inherit; }
body.familia .wc-block-components-order-summary-item__description { padding: 0; }
body.familia .wc-block-components-order-summary-item__description .wc-block-components-product-name {
	display: block;
	margin: 0;
	overflow-wrap: break-word;
	word-break: normal;
	color: var(--f-ink);
	font-size: var(--f-t-sm);
	font-weight: 500;
	line-height: 1.4;
}
/* one price per line (the cart shows one too): the unit price under the name gives way to the line total */
body.familia .wc-block-components-order-summary-item__description .wc-block-cart-item__prices,
body.familia .wc-block-components-order-summary-item__description > .wc-block-components-product-price { display: none; }
body.familia .wc-block-components-order-summary-item__description .wc-block-components-product-metadata { margin: 2px 0 0; color: var(--f-muted); font-size: var(--f-t-xs); line-height: 1.45; }
body.familia .wc-block-components-order-summary-item .wc-block-components-product-details > span { display: none; }
body.familia .wc-block-components-order-summary-item .wc-block-components-product-details > span.familia-line-sku,
body.familia .wc-block-components-order-summary-item .wc-block-components-product-details > span.wc-block-components-product-details__akis,
body.familia .wc-block-components-order-summary-item .wc-block-components-product-details > span.familia-gc-row { display: block; }
body.familia .wc-block-components-order-summary-item .wc-block-components-product-details__akis .wc-block-components-product-details__name { display: none; }
body.familia .wc-block-components-order-summary-item .wc-block-components-product-details > span > [aria-hidden="true"] { display: none; }   /* " / " */
body.familia .wc-block-components-order-summary-item .familia-line-subtitle { display: none; }
body.familia .wc-block-components-order-summary-item .familia-line-sku { order: -1; margin-bottom: 2px; overflow-wrap: anywhere; }
body.familia .wc-block-components-order-summary-item .familia-line-sku .wc-block-components-product-details__name { display: none; }
body.familia .wc-block-components-order-summary-item .familia-line-date .familia-delivery { color: inherit; font-size: inherit; font-weight: 400; }
body.familia .wc-block-components-order-summary-item .wc-block-components-product-details { display: flex; flex-direction: column; }
body.familia .wc-block-components-order-summary-item__total-price { color: var(--f-ink); font-size: var(--f-t-sm); font-weight: 500; white-space: nowrap; }
body.familia .wc-block-components-order-summary-item__total-price .wc-block-components-sale-badge { display: none; }
/* gift line: the cart's "DOVANA" pill, the program row in grey */
body.familia .wc-block-components-order-summary-item.familia-line--gift .wc-block-components-product-name::before {
	content: "DOVANA";
	display: table;
	margin: 0 0 4px;
	padding: 2px 8px;
	border-radius: var(--f-r-pill);
	background: rgb(var(--f-sky-rgb) / .35);
	color: var(--f-sky-deep);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .02em;
}
body.familia .wc-block-components-order-summary-item.familia-line--gift .wc-block-components-product-details__name { display: none; }

/* rows: "Prekės (N)" / gifts (familia-checkout-blocks.js), discount, fee, delivery; WooCommerce's products subtotal and
   tax rows give way to ours and to the VAT line under the total */
body.familia .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-totals-block { display: flex; flex-direction: column; margin: 0; padding: 0; }
body.familia .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-subtotal-block,
body.familia .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-taxes-block { display: none; }
body.familia .wc-block-checkout .familia-summary-items .wc-block-components-totals-item,
body.familia .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-item {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 2px 16px;
	margin: 0;
	padding: 5px 0;
	font-size: 15px;
	line-height: 1.4;
}
body.familia .wc-block-checkout .familia-summary-items .wc-block-components-totals-item__label,
body.familia .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-item__label { color: var(--f-muted); font-weight: 400; }
body.familia .wc-block-checkout .familia-summary-items .wc-block-components-totals-item__value,
body.familia .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-item__value { color: var(--f-ink); font-weight: 400; white-space: nowrap; }
body.familia .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-item__value strong { font-weight: 400; text-transform: none; }
body.familia .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-totals-block .wc-block-components-totals-item__description { flex-basis: 100%; margin: 0; color: var(--f-muted); font-size: var(--f-t-xs); }
body.familia .wc-block-checkout .wc-block-components-totals-shipping__via { color: var(--f-muted); font-size: var(--f-t-xs); font-weight: 400; }
body.familia .wc-block-checkout .wc-block-components-totals-discount .wc-block-components-totals-item__label,
body.familia .wc-block-checkout .wc-block-components-totals-discount .wc-block-components-totals-item__value { color: var(--f-sky-deep); font-size: 15px; font-weight: 400; }
body.familia .wc-block-checkout .wc-block-components-totals-discount__coupon-list { margin: 2px 0 0; }
body.familia .wc-block-checkout .wc-block-components-chip { background: var(--f-default-50); }

/* total: divider, "Bendra suma" and the amount large, the VAT line grey */
body.familia .wc-block-checkout .wc-block-components-totals-footer-item {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0 16px;
	margin: 10px 0 0;
	padding: 14px 0 20px;
	border: 0;
	border-top: 1px solid var(--f-default-400);
}
body.familia .wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { color: var(--f-ink); font-size: var(--f-t-20); font-weight: 500; }
body.familia .wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--f-ink); font-size: 24px; font-weight: 500; white-space: nowrap; }
body.familia .wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__description { display: block; flex-basis: 100%; margin: 4px 0 0; }
body.familia .wc-block-checkout .wc-block-components-totals-footer-item-tax { margin: 0; color: var(--f-muted); font-size: var(--f-t-sm); font-weight: 400; }

/* discount code: a thin "Nuolaidos kodas ⌄" row at the card's foot; opened, the cart's one-row field with "Taikyti" */
body.familia .wc-block-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block { margin: 0 -20px; padding: 0 20px; border-top: 1px solid var(--f-default-300); }
body.familia .wc-block-checkout .wc-block-components-totals-coupon.wc-block-components-panel { padding: 0; border: 0; }
body.familia .wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--f-ink);
	font-size: var(--f-t-sm);
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}
body.familia .wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button:hover { color: var(--f-sky-deep); }
body.familia .wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button-icon { top: 50%; right: -4px; transform: translateY(-50%); }
body.familia .wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-panel__content { padding: 0 0 16px; }
body.familia .wc-block-checkout .wc-block-components-totals-coupon__form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 4px;
	border: 1px solid var(--f-default-400);
	border-radius: 6px;
	background: var(--f-default-50);
}
body.familia .wc-block-checkout .wc-block-components-totals-coupon__form:focus-within { border-color: var(--f-ink); box-shadow: 0 0 0 3px rgb(var(--f-sky-rgb) / .45); }
body.familia .wc-block-checkout .wc-block-components-totals-coupon__form .wc-block-components-text-input { flex: 1 1 0; min-width: 0; margin: 0; }
body.familia .wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-text-input input[type],
body.familia .wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-text-input.is-active input[type] {
	height: 42px;
	min-height: 42px;
	padding: 0 10px;
	border: 0;
	border-radius: 4px;
	background: transparent;
	box-shadow: none;
	line-height: 42px;
}
body.familia .wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-text-input input[type]:focus { border: 0; outline: none; box-shadow: none; }
body.familia .wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-text-input label {
	position: absolute;
	top: 50%;
	left: 10px;
	max-width: calc(100% - 20px);
	margin: 0;
	transform: translateY(-50%);
	color: var(--f-muted);
	font-size: var(--f-t-base);
	font-weight: 400;
	pointer-events: none;
}
body.familia .wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-text-input.is-active label { display: none; }
body.familia .wc-block-checkout .wc-block-components-totals-coupon__button,
body.familia .wc-block-checkout .wc-block-components-totals-coupon__button:disabled {
	flex: 0 0 auto;
	min-width: 88px;
	height: 42px;
	min-height: 42px;
	margin: 0;
	padding: 0 16px;
	border: 0;
	border-radius: 4px;
	background: var(--f-sky-wash);
	box-shadow: none;
	color: var(--f-sky-deep);
	font-size: var(--f-t-base);
	font-weight: 500;
	text-transform: none;
	opacity: 1;
}
body.familia .wc-block-checkout .wc-block-components-totals-coupon__button:hover:not(:disabled) { background: var(--f-sky); color: var(--f-ink); }
body.familia .wc-block-checkout .wc-block-components-totals-coupon__form .wc-block-components-validation-error { flex-basis: 100%; margin: 0; padding: 0 8px 6px; }

/* ------------------------------------------------------------------ 08 DPD parcel-locker selector + salon search */
/* DPD locker picker = the salon picker's twin (familia-checkout.js): the same search field and counter
   (familia-salon-search below), the same cards (WooCommerce radio-control option markup → section 06's card rules),
   "Rodyti visus paštomatus (N)" and "Keisti paštomatą" (familia-salon-more / familia-salon-change). Here only what
   differs: a sub-step title like "Pasirinkite optiką", the drawn radio of a card (a span, the cards are listbox
   options, not inputs), the keyboard highlight, a scrolling list for long search results. */
body.familia .familia-dpd-pickup { display: block; margin-top: 20px; }
body.familia .familia-dpd-pickup::before { content: ""; display: block; height: 1px; margin: 0 0 20px; background: var(--f-default-400); }
body.familia .familia-dpd-pickup [hidden] { display: none !important; }
body.familia .familia-dpd-pickup__title { margin: 0 0 14px; color: var(--f-ink); font-size: var(--f-t-base); font-weight: 500; line-height: 1.25; }
body.familia .familia-dpd-pickup__list { max-height: min(62vh, 560px); margin: 0; padding: 2px; overflow-y: auto; overscroll-behavior: contain; }
body.familia .familia-dpd-pickup__list:empty { display: none; }
body.familia .wc-block-checkout .familia-dpd-pickup__card { position: relative; cursor: pointer; text-align: left; -webkit-tap-highlight-color: transparent; }
body.familia .wc-block-checkout .familia-dpd-pickup__card:hover:not(.wc-block-components-radio-control__option-checked) { border-color: var(--f-default-500); }
body.familia .wc-block-checkout .familia-dpd-pickup__card.is-active { border-color: var(--f-ink); box-shadow: 0 0 0 3px rgb(var(--f-sky-rgb) / .45); }
body.familia .wc-block-checkout .familia-dpd-pickup__card .wc-block-components-radio-control__label-group { display: flex; justify-content: space-between; gap: 12px; }
/* level with the name, as the salon cards' radio */
body.familia .wc-block-checkout .familia-dpd-pickup__radio { position: absolute; top: 16px; display: block; box-sizing: border-box; transform: none; }
@media (min-width: 768px) { body.familia .wc-block-checkout .familia-dpd-pickup__radio { top: 18px; } }
body.familia .wc-block-checkout .familia-dpd-pickup__radio.is-checked { border: 0; background: var(--f-brand-wash); box-shadow: inset 0 0 0 1px var(--f-sky-deep); }
body.familia .wc-block-checkout .familia-dpd-pickup__radio.is-checked::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--f-sky-deep);
	transform: translate(-50%, -50%);
}
body.familia .familia-dpd-pickup__km { color: var(--f-muted); font-weight: 400; }
body.familia .familia-dpd-pickup[aria-busy="true"] .familia-dpd-pickup__list { opacity: .7; }
body.familia .familia-dpd-pickup__status { margin: 0 0 12px; font-size: var(--f-t-sm); color: var(--f-muted); }
body.familia .familia-dpd-pickup__status:empty { display: none; }
body.familia .familia-dpd-pickup__error { margin: 8px 0 0; color: var(--f-err); font-size: var(--f-t-xs); }
body.familia .familia-dpd-pickup.is-invalid input.familia-salon-search__input { border-color: var(--f-err); }

/* DPD logo on the locker rate, as on the old delivery card (ref: 52px carrier logo) */
body.familia .wc-block-components-radio-control__option:has(input[value^="dpd_parcels"]) .wc-block-components-radio-control__label::after {
	content: "";
	display: inline-block;
	width: 44px;
	height: 18px;
	margin-left: 10px;
	vertical-align: -3px;
	background: url("../../../../plugins/woo-shipping-dpd-baltic/public/images/dpd.png") no-repeat left center / contain;
}

/* ref: salon search "Įveskite miestą" (magnifier inside the field) and "{count} salonai" */
body.familia .familia-salon-search { display: grid; gap: 8px; margin: 0 0 14px; }
body.familia .familia-salon-search input.familia-salon-search__input {
	width: 100%;
	height: 48px;
	min-height: 48px;
	padding: 0 14px 0 42px;
	border: 1px solid var(--f-default-400);
	border-radius: 6px;
	background: var(--f-default-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23140e06' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 14px center;
	color: var(--f-ink);
	font: inherit;
	font-size: var(--f-t-base);
}
body.familia .familia-salon-search input.familia-salon-search__input:focus { border-color: var(--f-ink); outline: none; box-shadow: 0 0 0 3px rgb(var(--f-sky-rgb) / .45); }
body.familia .familia-salon-search__count { margin: 0; color: var(--f-muted); font-size: var(--f-t-sm); font-weight: 400; }

/* ------------------------------------------------------------------ 09 order received (thank you / payment declined / pending) */
/* The cart's language: "Ačiū, užsakymas pateiktas" large on the left, the facts and "Kas toliau?" as grey cards, the
   "Užsakymo suma" card on the right (sticky on desktop). Payment declined / pending: one centred card. */
body.familia .familia-order-result { padding: 28px 0 0; }
@media (min-width: 1024px) { body.familia .familia-order-result { padding-top: 44px; } }
body.familia .familia-order-result__head { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 4px 16px; margin: 0 0 24px; }
@media (min-width: 1024px) { body.familia .familia-order-result__head { margin-bottom: 32px; } }
body.familia .familia-order-result__icon {
	display: inline-grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--f-sky);
	color: var(--f-ink);
	font-size: 22px;
	font-weight: 500;
	line-height: 1;
}
body.familia .familia-order-result__head .familia-order-result__icon { grid-row: 1 / span 2; }
body.familia .familia-order-result__title { margin: 0; color: var(--f-ink); font-size: 28px; font-weight: 500; line-height: 1.2; }
@media (min-width: 1024px) {
	body.familia .familia-order-result__title { font-size: 36px; }
	body.familia .familia-order-result__head .familia-order-result__icon { width: 56px; height: 56px; font-size: 26px; }
}
body.familia .familia-order-result__number { margin: 0; color: var(--f-muted); font-size: var(--f-t-base); line-height: 1.4; }
body.familia .familia-order-result__number strong { color: var(--f-ink); font-weight: 500; }
body.familia .familia-order-result__grid { display: flex; flex-direction: column; gap: 16px; margin: 0 0 40px; }
@media (min-width: 1024px) {
	body.familia .familia-order-result__grid { flex-direction: row; align-items: flex-start; gap: 40px; margin-bottom: 64px; }
	body.familia .familia-order-result__main { flex: 1 1 auto; min-width: 0; }
	body.familia .familia-order-result__aside { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 100px); flex: 0 0 380px; width: 380px; }
}
@media (min-width: 1280px) {
	body.familia .familia-order-result__grid { gap: 68px; }
	body.familia .familia-order-result__aside { flex-basis: 420px; width: 420px; }
}
body.familia .familia-order-card,
body.familia .familia-order-result .fg-order-rx {
	margin: 0 0 16px;
	padding: 20px 16px;
	border-radius: 10px;
	background: var(--f-default-100);
}
@media (min-width: 768px) { body.familia .familia-order-card, body.familia .familia-order-result .fg-order-rx { padding: 24px; } }
body.familia .familia-order-card__title,
body.familia .familia-order-result .fg-order-rx h2 { margin: 0 0 12px; color: var(--f-ink); font-size: 22px; font-weight: 400; line-height: 1.25; }
body.familia .familia-order-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 16px 24px; margin: 0; }
@media (min-width: 768px) { body.familia .familia-order-facts { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); } }
body.familia .familia-order-facts__row { min-width: 0; margin: 0; }
body.familia .familia-order-facts dt { margin: 0 0 2px; color: var(--f-muted); font-size: var(--f-t-sm); font-weight: 400; }
body.familia .familia-order-facts dd { margin: 0; overflow-wrap: anywhere; color: var(--f-ink); font-size: var(--f-t-base); font-weight: 500; line-height: 1.4; }
body.familia .familia-order-facts__row--delivery,
body.familia .familia-order-facts__row--email { grid-column: 1 / -1; }
body.familia .familia-order-result__text { margin: 0 0 20px; color: var(--f-ink); font-size: var(--f-t-base); font-weight: 400; line-height: 1.55; }
body.familia .familia-order-result__text a { color: var(--f-ink); font-weight: 500; text-decoration: underline; }
body.familia .familia-order-result__actions { display: flex; flex-direction: column; gap: 10px; margin: 0; }
@media (min-width: 768px) { body.familia .familia-order-result__actions { flex-direction: row; flex-wrap: wrap; } }
body.familia .familia-order-result__actions .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 220px;
	min-height: 52px;
	margin: 0;
	padding: 0 24px;
	border-radius: var(--f-r-sm);
	font-size: var(--f-t-base);
	font-weight: 500;
}
body.familia .familia-order-result .f-btn--ghost { border-color: var(--f-default-400); background: var(--f-default-50); color: var(--f-ink); }
body.familia .familia-order-result .f-btn--ghost:hover { border-color: var(--f-ink); background: var(--f-default-50); color: var(--f-ink); }
/* payment declined / pending: one centred card */
body.familia .familia-order-result__box {
	max-width: 560px;
	margin: 0 auto 48px;
	padding: 36px 20px;
	border-radius: 10px;
	background: var(--f-default-100);
	text-align: center;
}
@media (min-width: 768px) { body.familia .familia-order-result__box { padding: 44px 40px; } }
body.familia .familia-order-result__box .familia-order-result__title { margin: 20px 0 12px; font-size: 26px; }
@media (min-width: 1024px) { body.familia .familia-order-result__box .familia-order-result__title { font-size: 30px; } }
body.familia .familia-order-result__box .familia-order-result__text { font-size: var(--f-t-18); }
body.familia .familia-order-result__box .familia-order-result__actions { justify-content: center; }
body.familia .familia-order-result__box--error .familia-order-result__icon { background: var(--f-red); color: var(--f-default-50); }
body.familia .familia-order-result__box--pending .familia-order-result__icon { background: var(--f-default-50); }
/* WooCommerce's order details under a declined / pending result */
body.familia .familia-order-result .woocommerce-order-details,
body.familia .familia-order-result .woocommerce-customer-details { max-width: 780px; margin: 0 auto 40px; }
body.familia .familia-order-result .woocommerce-order-details__title,
body.familia .familia-order-result .woocommerce-column__title { font-size: 22px; font-weight: 400; }
body.familia .familia-order-result table.shop_table { border-radius: 10px; background: var(--f-default-100); overflow: hidden; }
body.familia .familia-order-result table.shop_table th,
body.familia .familia-order-result table.shop_table td { padding: 12px 16px; background: transparent; }
body.familia .familia-order-result table.shop_table tfoot tr:last-child td { font-size: var(--f-t-18); font-weight: 500; }
body.familia .familia-order-result address { padding: 20px; border: 0; border-radius: 10px; background: var(--f-default-100); font-style: normal; line-height: 1.6; }
body.familia .familia-order-result .order-actions-button,
body.familia .familia-order-result td.order-actions--heading + td .button,
body.familia .familia-order-result .woocommerce-table--order-details .button { min-height: 40px; margin: 0 8px 8px 0; font-size: var(--f-t-sm); }

/* the "Užsakymo suma" card of a placed order (familia_order_summary_card(), inc/checkout.php) */
body.familia .familia-sum-card { padding: 20px; border-radius: 10px; background: var(--f-default-100); }
body.familia .familia-sum-card__title { margin: 0 0 8px; color: var(--f-ink); font-size: 22px; font-weight: 400; line-height: 1.25; }
body.familia .familia-sum-card__items { margin: 0; padding: 0; list-style: none; }
body.familia .familia-sum-line {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	align-items: start;
	gap: 12px;
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid var(--f-default-300);
	font-size: var(--f-t-sm);
}
body.familia .familia-sum-line__img { position: relative; display: block; width: 56px; }
body.familia .familia-sum-line__img img { display: block; width: 56px; height: 56px; border-radius: 6px; background: var(--f-default-50); object-fit: contain; }
body.familia .familia-sum-line__qty {
	position: absolute;
	top: -6px;
	right: -6px;
	min-width: 22px;
	height: 22px;
	padding: 0 5px;
	border: 2px solid var(--f-default-100);
	border-radius: var(--f-r-pill);
	background: var(--f-ink);
	color: var(--f-default-50);
	font-size: 11px;
	font-weight: 500;
	line-height: 18px;
	text-align: center;
}
body.familia .familia-sum-line__body { display: flex; flex-direction: column; min-width: 0; }
body.familia .familia-sum-line__name { color: var(--f-ink); font-weight: 500; line-height: 1.4; overflow-wrap: break-word; }
body.familia .familia-sum-line__code,
body.familia .familia-sum-line__qtytext { color: var(--f-muted); font-size: var(--f-t-xs); line-height: 1.45; overflow-wrap: anywhere; }
body.familia .familia-sum-line__price { color: var(--f-ink); font-weight: 500; white-space: nowrap; }
body.familia .familia-sum-line__price del { color: var(--f-muted); font-weight: 400; }
body.familia .familia-sum-line__pill {
	align-self: flex-start;
	margin: 0 0 4px;
	padding: 2px 8px;
	border-radius: var(--f-r-pill);
	background: rgb(var(--f-sky-rgb) / .35);
	color: var(--f-sky-deep);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .02em;
	text-transform: uppercase;
}
body.familia .familia-sum-line__more { margin: 4px 0 0; color: var(--f-muted); font-size: var(--f-t-xs); }
body.familia .familia-sum-line__more > summary { display: inline-flex; align-items: center; gap: 4px; min-height: 28px; color: var(--f-sky-deep); font-size: var(--f-t-xs); font-weight: 500; cursor: pointer; list-style: none; }
body.familia .familia-sum-line__more > summary::-webkit-details-marker { display: none; }
body.familia .familia-sum-line__more > summary::after { content: ""; width: 7px; height: 7px; margin-top: -3px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
body.familia .familia-sum-line__more[open] > summary::after { margin-top: 3px; transform: rotate(-135deg); }
body.familia .familia-sum-line__more ul.wc-item-meta { margin: 2px 0 0; padding: 0; list-style: none; }
body.familia .familia-sum-line__more ul.wc-item-meta li { display: block; margin: 0; }
body.familia .familia-sum-line__more ul.wc-item-meta li strong { font-weight: 400; }
body.familia .familia-sum-line__more ul.wc-item-meta li p { display: inline; margin: 0; }
body.familia .familia-sum-card__rows { margin: 0; padding: 10px 0 0; }
body.familia .familia-sum-row { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 16px; padding: 5px 0; font-size: 15px; line-height: 1.4; }
body.familia .familia-sum-row dt { margin: 0; color: var(--f-muted); font-weight: 400; }
body.familia .familia-sum-row dd { margin: 0; color: var(--f-ink); white-space: nowrap; }
body.familia .familia-sum-row--discount dt,
body.familia .familia-sum-row--discount dd { color: var(--f-sky-deep); }
body.familia .familia-sum-card__total {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0 16px;
	margin: 10px 0 0;
	padding: 14px 0 0;
	border-top: 1px solid var(--f-default-400);
}
body.familia .familia-sum-card__total-label { color: var(--f-ink); font-size: var(--f-t-20); font-weight: 500; }
body.familia .familia-sum-card__total-value { color: var(--f-ink); font-size: 24px; font-weight: 500; white-space: nowrap; }
body.familia .familia-sum-card__tax { flex-basis: 100%; margin: 4px 0 0; color: var(--f-muted); font-size: var(--f-t-sm); }

/* order-pay (WooCommerce's classic form-pay.php – an unpaid order's "Grįžti prie mokėjimo"): the order table and the
   payment box as grey cards, the full-width sky button */
body.familia.woocommerce-order-pay #order_review { max-width: 780px; margin: 0 0 40px; }
body.familia.woocommerce-order-pay #order_review table.shop_table { margin: 0 0 16px; border: 0; border-radius: 10px; background: var(--f-default-100); overflow: hidden; }
body.familia.woocommerce-order-pay #order_review table.shop_table th,
body.familia.woocommerce-order-pay #order_review table.shop_table td { padding: 12px 20px; border: 0; border-bottom: 1px solid var(--f-default-300); background: transparent; font-size: var(--f-t-sm); }
body.familia.woocommerce-order-pay #order_review table.shop_table tfoot tr:last-child th,
body.familia.woocommerce-order-pay #order_review table.shop_table tfoot tr:last-child td { border-bottom: 0; font-size: var(--f-t-18); font-weight: 500; }
body.familia.woocommerce-order-pay #payment { padding: 20px 16px; border-radius: 10px; background: var(--f-default-100); }
@media (min-width: 768px) { body.familia.woocommerce-order-pay #payment { padding: 24px; } }
body.familia.woocommerce-order-pay #payment ul.payment_methods { margin: 0 0 16px; padding: 0; border: 0; list-style: none; }
body.familia.woocommerce-order-pay #payment ul.payment_methods > li { margin: 0 0 10px; padding: 14px 16px; border: 1px solid var(--f-default-300); border-radius: 8px; background: var(--f-default-50); }
body.familia.woocommerce-order-pay #payment div.payment_box { margin: 10px 0 0; padding: 0; background: transparent; color: var(--f-ink); font-size: var(--f-t-sm); }
body.familia.woocommerce-order-pay #payment div.payment_box::before { display: none; }
body.familia.woocommerce-order-pay #payment .form-row { margin: 0; padding: 0; }
body.familia.woocommerce-order-pay #payment #place_order {
	float: none;
	width: 100%;
	min-height: 56px;
	margin: 16px 0 0;
	border-radius: var(--f-r-sm);
	background: var(--f-sky);
	color: var(--f-ink);
	font-size: var(--f-t-base);
	font-weight: 500;
}
body.familia.woocommerce-order-pay #payment #place_order:hover { background: var(--f-sky-deep); color: var(--f-default-50); }

/* ------------------------------------------------------------------ 10 empty cart (legacy `Dp`) */
/* ref: "mt-20", column "md:w-[480px]", cart icon, h2, text "md:text-xl mt-5 text-lg font-light leading-snug",
   button "h-16 md:w-80 shadow-sm", on phones in a white bar fixed to the bottom. */
body.familia .familia-empty-cart {
	max-width: 480px;
	margin: 80px auto 0;
	text-align: center;
}
body.familia .familia-empty-cart .wc-block-cart__empty-cart__title {
	margin: 32px 0 20px;
	font-size: 26px;
	font-weight: 400;
	line-height: 1.375;
}
@media (min-width: 1280px) { body.familia .familia-empty-cart .wc-block-cart__empty-cart__title { font-size: 32px; } }
/* the block's big sad face → the old shop's own 58×60 pictogram (a black trolley on a grey blob), mt-8 above the heading */
body.familia .familia-empty-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	width: 58px;
	height: 60px;
	margin: 0 auto 32px;
	border-radius: 0;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg width='58' height='60' viewBox='0 0 58 60' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M53 37.0753C53 53.1331 39.0418 60 21.8235 60C4.60524 60 0 49.7783 0 33.7204C0 17.6626 4.60524 8 21.8235 8C39.0418 8 53 21.0174 53 37.0753Z' fill='%23F0F0F0'%3E%3C/path%3E%3Cpath d='M47.5799 12.911C47.2238 12.473 46.6895 12.2188 46.125 12.2188H12.1627L12.0236 10.9408L12.0187 10.8997C11.353 5.82613 6.99216 2 1.875 2C0.839438 2 0 2.83944 0 3.875C0 4.91056 0.839438 5.75 1.875 5.75C5.10994 5.75 7.86778 8.16397 8.298 11.3682L10.5267 31.8433C8.57766 32.728 7.21875 34.6927 7.21875 36.9688C7.21875 36.9844 7.21894 37.0001 7.21931 37.0156C7.21894 37.0312 7.21875 37.0468 7.21875 37.0625C7.21875 40.1641 9.74212 42.6875 12.8438 42.6875H13.6067C13.416 43.2466 13.3125 43.8458 13.3125 44.4688C13.3125 47.5186 15.7938 50 18.8438 50C21.8937 50 24.375 47.5186 24.375 44.4688C24.375 43.8458 24.2715 43.2466 24.0808 42.6875H32.1693C31.9786 43.2466 31.8751 43.8458 31.8751 44.4688C31.8751 47.5186 34.3564 50 37.4063 50C40.4563 50 42.9376 47.5186 42.9376 44.4688C42.9376 41.4189 40.4563 38.9375 37.4063 38.9375H12.8438C11.8099 38.9375 10.9688 38.0964 10.9688 37.0625C10.9688 37.0468 10.9686 37.0312 10.9682 37.0156C10.9686 37.0001 10.9688 36.9844 10.9688 36.9688C10.9688 35.9349 11.8099 35.0938 12.8438 35.0938H36.781C40.1094 35.0938 43.1639 33.0344 44.5628 29.8473C44.979 28.8991 44.5478 27.7931 43.5996 27.3768C42.6514 26.9607 41.5453 27.3919 41.1291 28.3401C40.3405 30.1367 38.5932 31.3438 36.781 31.3438H14.2445L12.5709 15.9688H43.8186L42.9011 20.3671C42.6897 21.3808 43.3401 22.374 44.3538 22.5854C44.4829 22.6124 44.6116 22.6254 44.7385 22.6254C45.6078 22.6254 46.3876 22.0175 46.5721 21.1329L47.9604 14.4766C48.0757 13.9241 47.936 13.349 47.5799 12.911ZM37.4062 42.6875C38.3885 42.6875 39.1875 43.4865 39.1875 44.4688C39.1875 45.451 38.3885 46.25 37.4062 46.25C36.424 46.25 35.625 45.451 35.625 44.4688C35.625 43.4865 36.424 42.6875 37.4062 42.6875ZM18.8438 42.6875C19.826 42.6875 20.625 43.4866 20.625 44.4688C20.625 45.451 19.826 46.25 18.8438 46.25C17.8615 46.25 17.0625 45.451 17.0625 44.4688C17.0625 43.4865 17.8615 42.6875 18.8438 42.6875Z' fill='black'%3E%3C/path%3E%3Cpath d='M44.0156 26.0313C44.5765 26.0313 45.0313 25.5765 45.0313 25.0156C45.0313 24.4547 44.5765 24 44.0156 24C43.4547 24 43 24.4547 43 25.0156C43 25.5765 43.4547 26.0313 44.0156 26.0313Z' fill='black' stroke='black'%3E%3C/path%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 58px 60px;
	-webkit-mask-image: none;
	mask-image: none;
}
body.familia .familia-empty-cart p { margin: 0 0 32px; color: var(--f-ink); font-size: var(--f-t-18); font-weight: 300; line-height: 1.375; }   /* text block mb-8 */
@media (min-width: 768px) { body.familia .familia-empty-cart p { font-size: var(--f-t-20); } }
body.familia .familia-empty-cart .wp-block-buttons { display: flex; justify-content: center; margin: 0 0 61px; }   /* footer 232px under the button, as on the live page */
body.familia .familia-empty-cart .wp-block-button { width: 100%; max-width: 320px; margin: 0; }
/* (the CMS-page button rule in familia-shell.css reaches the cart page too; the extra classes outrank it) */
body.familia .familia-empty-cart .wp-block-button a.wp-block-button__link.familia-empty-cart__button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 64px;
	padding: 0 24px;
	border-radius: var(--f-r-sm);
	background: var(--f-sky);
	box-shadow: 0 10px 30px 4px rgb(0 0 0 / .15);
	color: var(--f-ink);
	font-size: var(--f-t-base);
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
}
body.familia .familia-empty-cart .wp-block-button a.wp-block-button__link.familia-empty-cart__button:hover { background: var(--f-sky-deep); border-color: var(--f-sky-deep); color: var(--f-ink); }
@media (max-width: 767px) {
	body.familia .familia-empty-cart { margin-top: 40px; }
	body.familia .familia-empty-cart .wp-block-buttons {
		position: fixed;
		z-index: 20;
		right: 0;
		bottom: 0;
		left: 0;
		margin: 0;
		padding: 16px 16px 28px;
		background: var(--f-default-50);
		box-shadow: 0 -6px 24px rgb(var(--f-ink-rgb) / .10);
	}
	body.familia .familia-empty-cart .wp-block-button { max-width: none; }
	body.familia.familia-cart--empty .site-footer { padding-bottom: 108px; }
}

/* ---- gift card line (legacy cart `ff` + detail rows `hf`; rows from familia-promotions FP_Giftcard_Form):
   subtitle "Elektroninė dovanų kortelė" `text-lg md:text-base mt-4 md:mt-1.5`; each detail `pt-6 last:mb-2`,
   label `uppercase text-sm font-bold mb-1`, value `text-sm`. The amount variation list ("Pasirinkite sumą: 50 €")
   is not shown – the old line had only the price. ---- */
body.familia .wc-block-components-product-metadata:has(.familia-gc-row) > .wc-block-components-product-details:not(:has(.familia-gc-row)) { display: none; }
body.familia .wc-block-components-product-details .familia-gc-row { display: block; padding-top: 24px; color: var(--f-ink); font-size: 14px; line-height: 20px; }
body.familia .wc-block-components-product-details .familia-gc-row:last-child { margin-bottom: 8px; }
body.familia .wc-block-components-product-details .familia-gc-row > [aria-hidden="true"] { display: none; }   /* " / " between rows */
body.familia .wc-block-components-product-details .familia-gc-row .wc-block-components-product-details__name { display: block; margin-bottom: 4px; font-size: 0; font-weight: 400; }   /* font-size 0 hides the block's ":" */
body.familia .wc-block-components-product-details .familia-gc-row .familia-gc-row__label { font-size: 14px; line-height: 20px; text-transform: none; }
body.familia .wc-block-components-product-details .familia-gc-row .wc-block-components-product-details__value { display: block; overflow: hidden; overflow-wrap: anywhere; }
body.familia .wc-block-components-product-details .familia-gc-row--type { padding-top: 16px; font-size: 18px; line-height: 28px; }
body.familia .wc-block-components-product-details .familia-gc-row--type .wc-block-components-product-details__name { display: none; }
@media (min-width: 768px) {
	body.familia .wc-block-components-product-details .familia-gc-row--type { padding-top: 6px; font-size: 16px; line-height: 24px; }
}
/* order summary at checkout: compact, one line each */
body.familia .wc-block-components-order-summary-item .familia-gc-row { padding-top: 2px; color: var(--f-default-900); font-size: var(--f-t-xs); line-height: 1.45; }
body.familia .wc-block-components-order-summary-item .familia-gc-row .wc-block-components-product-details__name { display: inline; margin: 0; }
body.familia .wc-block-components-order-summary-item .familia-gc-row .familia-gc-row__label { font-size: var(--f-t-xs); text-transform: none; }
body.familia .wc-block-components-order-summary-item .familia-gc-row .familia-gc-row__label::after { content: ": "; }
body.familia .wc-block-components-order-summary-item .familia-gc-row .wc-block-components-product-details__value { display: inline; }
body.familia .wc-block-components-order-summary-item .familia-gc-row--type { font-size: var(--f-t-xs); }

/* DPD parcel locker chosen: the delivery card shows only the locker picker – no "Kur išsiųsti užsakymą?" step (client
   2026-10-02 "use pirkėjo duomenys for that"): its name / street / city / postcode / phone are not drawn (field rule,
   Familia_Checkout::point_rate_rule), the street / city / postcode are filled from the locker (familia-checkout.js
   lockerAddress), the name / phone are the buyer's (billingToShipping). "Naudoti tą patį adresą" would copy the locker
   into the buyer's address: it is unticked for the customer, so "Pirkėjo duomenys" with the buyer's own address is
   always there (familia-checkout.js lockerBilling). The rules for the step's parts stay as a fallback. */
body.familia.familia-parcel-chosen .wc-block-checkout__shipping-fields,
body.familia.familia-parcel-chosen .wc-block-checkout__shipping-fields .wc-block-checkout__use-address-for-billing,
body.familia.familia-parcel-chosen .wc-block-checkout__shipping-fields .wc-block-components-address-form__address_1,
body.familia.familia-parcel-chosen .wc-block-checkout__shipping-fields .wc-block-components-address-form__address_2,
body.familia.familia-parcel-chosen .wc-block-checkout__shipping-fields .wc-block-components-address-form__city,
body.familia.familia-parcel-chosen .wc-block-checkout__shipping-fields .wc-block-components-address-form__postcode,
body.familia.familia-parcel-chosen .wc-block-checkout__shipping-fields .wc-block-components-address-form__country,
body.familia.familia-parcel-chosen .wc-block-checkout__shipping-fields .wc-block-components-address-card { display: none; }

/* salon pickup: after a salon is picked the list shows only it, with a link to change it */
body.familia .familia-salon-change {
	display: inline-block;
	min-height: 32px;
	margin: 8px 0 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--f-sky-deep);
	font-size: var(--f-t-sm);
	font-weight: 500;
	text-decoration: none;
	cursor: pointer;
}
body.familia .familia-salon-change:hover { background: none; color: var(--f-ink); text-decoration: underline; }
/* the short salon list (5 first) and its "Rodyti visas optikas (73)" (QA 2026-09-28 #14) */
body.familia .familia-salon-more {
	display: block;
	width: 100%;
	margin: 8px 0 0;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid var(--f-default-400);
	border-radius: 8px;
	background: var(--f-default-50);
	color: var(--f-ink);
	font: inherit;
	font-size: var(--f-t-sm);
	font-weight: 500;
	text-align: center;
	cursor: pointer;
}
body.familia .familia-salon-more:hover { border-color: var(--f-ink); }
body.familia .familia-salon-more[hidden] { display: none; }

/* No salon preselected (legacy): until the customer picks one, the salon WooCommerce selected by itself is drawn like
   the others (familia-checkout.js salonState) and "Pasirinkite optiką." shows under the list when ordering without one. */
body.familia .wc-block-checkout .familia-salon-unpicked .wc-block-components-radio-control__option.wc-block-components-radio-control__option-checked { border-color: var(--f-default-300); background: var(--f-default-50); box-shadow: none; }
body.familia .wc-block-checkout .familia-salon-unpicked .wc-block-components-radio-control__input:checked { border: 1px solid var(--f-default-500); background: var(--f-default-50); box-shadow: none; }
body.familia .wc-block-checkout .familia-salon-unpicked .wc-block-components-radio-control__input:checked::before { display: none; }
/* while no salon is picked the checked radio is drawn as an empty circle of the same size (section 06 draws the radios) */
body.familia .wc-block-checkout .familia-salon-unpicked .wc-block-components-radio-control__option .wc-block-components-radio-control__input:checked {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	width: 22px;
	height: 22px;
	margin: 0;
	border: 1px solid var(--f-default-500);
	border-radius: 50%;
	background: var(--f-default-50);
}
body.familia .familia-salon-error { margin: 8px 0 0; }
body.familia.familia-salon-none .wc-block-components-totals-shipping__via { display: none; }   /* no salon picked yet: the summary names none */

/* Salon pickup / DPD locker: "Pirkėjo duomenys" asks name, surname, the buyer's street / city / postcode (required
   again since 2026-10-02 – Familia_Checkout::point_rate_rule leaves the billing form alone; the server:
   billing_address_errors) and phone; the country (LT unless changed) is not asked. */
body.familia.familia-pickup-chosen .wc-block-checkout__billing-fields .wc-block-components-address-form__country,
body.familia.familia-parcel-chosen .wc-block-checkout__billing-fields .wc-block-components-address-form__country { display: none; }
/* A shop that sells to one country (body class familia-one-country, inc/checkout.php – linzebi.ge: Georgia): no country
   select in either address form; the address keeps the country. */
body.familia.familia-one-country .wc-block-checkout .wc-block-components-address-form__country { display: none; }
