/* ============================================================================
   kb-woo-blocks.css — the BLOCK cart and checkout skin
   ============================================================================
   PORT of whatashag assets/css/was-woo-blocks.css, done the way its header
   asks: the eight token values below and the body prefix changed, nothing
   below the token block re-derived. Loaded ONLY on the cart (/krepselis/) and
   checkout (/apmokejimas/) — the only pages where .wc-block-* markup exists
   (inc/kb-woocommerce.php).

   ── 🔴 THIS IS THE LIGHT ROW OF THE FAMILY TABLE ────────────────────────────
   whatashag's checkout is dark and leans on Woo's `has-dark-controls` mode.
   kavosbroliai's content pages are cream, so dark controls are NOT turned on,
   and the chains below were written against the light row:

     Text inputs  Woo .wc-block-components-form .wc-block-components-text-input
                  input[type=…]                                   (0,3,1)
                  ours body.theme--kb .wc-block-components-form
                  .wc-block-components-text-input input[type]      (0,4,2)
     Checkbox     Woo (0,4,0) → ours (0,4,2)
     Place order  Woo :root :where(.wp-element-button) — (0,0,0)   ours (0,2,1)+

   They also sit above the dark row (0,4,1), so switching dark controls on
   later changes nothing here. CLASS COUNT IS COMPARED BEFORE ELEMENT COUNT:
   `body.theme--kb .wc-block-components-text-input input` is (0,2,2) and LOSES
   to (0,3,1) — present, matching, beaten. whatashag lost a round to exactly
   that. No !important anywhere.

   ── IF A RULE HERE SEEMS TO DO NOTHING ──────────────────────────────────────
   Check the element exists before adding weight. An empty selector and a lost
   specificity fight look identical from outside; only one is fixable by
   adding a class.

   ── WHAT IT DOES NOT TOUCH ──────────────────────────────────────────────────
   Apple Pay, Google Pay and Link, and Stripe's card frame: cross-origin, their
   look is mandated by Apple/Google/Stripe, Apple forbids restyling. Style the
   space around them, never them. (Stripe's own Appearance setting, in the
   gateway, is the only lever on the card frame.)
   ========================================================================= */

/* ---- The eight values ---------------------------------------------------- */
body.theme--kb .wc-block-cart,
body.theme--kb .wc-block-checkout {
	--kb-blk-ground: var(--kb-paper);                    /* page behind the blocks  */
	/* Opaque on purpose: the floating label sits ON the field's top edge and
	   needs a solid fill behind it or it reads as struck through. White is
	   the lightest lift off cream that is still one surface. */
	--kb-blk-field: #fff;                                /* input / select fill     */
	--kb-blk-line: var(--kb-line);                       /* hairlines, field edges  */
	--kb-blk-line-strong: rgba(var(--kb-ink-rgb), 0.34); /* focus + emphasis edges  */
	--kb-blk-text: var(--kb-ink);                        /* typed text, headings    */
	/* Grey-dark, not the lighter grey: #7f828b on cream is 3.6:1 and fails
	   AA; #43485a is 8.5:1. */
	--kb-blk-muted: var(--kb-grey-dark);                 /* labels, secondary copy  */
	--kb-blk-action: var(--kb-brass);                    /* the one accent voice    */
	/* Navy on brass, never cream: measured 4.89:1 passes AA, cream on brass
	   is 3.11:1 and fails. Same answer as .kb-btn:hover and the banner. */
	--kb-blk-action-ink: var(--kb-ink);                  /* text ON the action fill */
}

/* ---- 1. Fields ----------------------------------------------------------- */
/* Radius 0 and 16px. 16px is load-bearing: iOS zooms the page when a focused
   field is under 16px, and a zoomed checkout is a lost sale. */
body.theme--kb .wc-block-components-form .wc-block-components-text-input input[type],
body.theme--kb .wc-block-components-form .wc-block-components-textarea[class],
body.theme--kb .wc-block-components-form .wc-block-components-combobox-control input[type],
body.theme--kb .wc-block-components-form .wc-block-components-select__container select[class],
body.theme--kb .wc-block-components-form .wc-block-components-country-input select[class],
body.theme--kb .wc-block-components-form .wc-block-components-state-input select[class],
/* The cart's coupon field lives OUTSIDE .wc-block-components-form, so it
   needs its own chain at the same weight. */
body.theme--kb .wc-block-components-totals-coupon .wc-block-components-text-input input[type],
body.theme--kb .wc-block-components-text-input input,
body.theme--kb .wc-block-components-textarea,
body.theme--kb .wc-block-components-combobox-control input,
body.theme--kb .wc-block-components-select__container select,
body.theme--kb .wc-block-components-country-input select,
body.theme--kb .wc-block-components-state-input select {
	background-color: var(--kb-blk-field);
	border: 1px solid var(--kb-blk-line-strong);
	border-radius: 0;
	color: var(--kb-blk-text);
	font-family: var(--kb-sans);
	font-weight: 300;
	font-size: 16px;
}
body.theme--kb .wc-block-components-form .wc-block-components-text-input input[type]:focus,
body.theme--kb .wc-block-components-text-input input:focus,
body.theme--kb .wc-block-components-combobox-control input:focus,
body.theme--kb .wc-block-components-select__container select:focus {
	outline: none;
	border-color: var(--kb-blk-action);
	box-shadow: 0 0 0 1px var(--kb-blk-action); /* a second hairline, not a shadow */
}
body.theme--kb .wc-block-components-text-input label,
body.theme--kb .wc-block-components-combobox-control label {
	color: var(--kb-blk-muted);
	font-family: var(--kb-sans);
}
body.theme--kb .wc-block-components-text-input.is-active label {
	background: var(--kb-blk-field);
	padding: 0 4px;
}
/* The focus accent. ADAPTED from the donor, which turned the focused LABEL
   orange: brass as text on white is 3.32:1 and fails AA, so here the label
   darkens to ink and the BORDER carries the brass. Where you are is still
   marked, one field at a time, and nothing small is set in brass. */
body.theme--kb .wc-block-components-text-input:focus-within label,
body.theme--kb .wc-block-components-combobox:focus-within label,
body.theme--kb .wc-block-components-country-input:focus-within label,
body.theme--kb .wc-block-components-state-input:focus-within label {
	color: var(--kb-blk-text);
}
body.theme--kb .wc-block-components-country-input:focus-within select,
body.theme--kb .wc-block-components-state-input:focus-within select,
body.theme--kb .wc-block-components-combobox:focus-within input {
	border-color: var(--kb-blk-action);
}
body.theme--kb .wc-block-components-combobox-list {
	background: var(--kb-blk-field);
	border: 1px solid var(--kb-blk-line-strong);
	border-radius: 0;
}
body.theme--kb .wc-block-components-combobox-list-item { color: var(--kb-blk-text); }
body.theme--kb .wc-block-components-combobox-list-item.is-highlighted,
body.theme--kb .wc-block-components-combobox-list-item:hover {
	background: var(--kb-blk-action);
	color: var(--kb-blk-action-ink);
}
/* Checkboxes stay SQUARE and radios stay ROUND: radius 0 governs surfaces,
   not affordances. Round means choose one, square means toggle many. */
body.theme--kb .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	background: var(--kb-blk-field);
	border: 1px solid var(--kb-blk-line-strong);
	border-radius: 0;
}
body.theme--kb .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	background: var(--kb-blk-action);
	border-color: var(--kb-blk-action);
}
/* The tick is drawn by Woo in currentColor-ish fill; ink on brass reads. */
body.theme--kb .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--kb-blk-action-ink); }
body.theme--kb .wc-block-components-checkbox__label { color: var(--kb-blk-muted); }

/* ---- 2. Buttons ------------------------------------------------------------
   The two primaries (PROCEED TO CHECKOUT / PLACE ORDER) ship as Woo's grey
   slab. They become the site's one action: brass fill, NAVY type, square,
   the .kb-btn type treatment. Hover goes to navy with cream type (15.22:1) —
   the page's other colour, not a lighter brass.

   🔴 WATCH FOR OUR OWN CSS BEATING US. whatashag's CTA rendered orange on
   orange because its own `.entry-content a:not(.button)` won. Here the rival
   is `.theme--kb a { color: inherit }` (0,1,1) and `.kb-prose a` (0,1,1) —
   the chains below are (0,2,1) and up, so they win. */
body.theme--kb .wc-block-cart__submit-button,
body.theme--kb .wc-block-components-checkout-place-order-button,
body.theme--kb .wc-block-cart__submit-container .wc-block-components-button.wc-block-cart__submit-button {
	background-color: var(--kb-blk-action);
	border: 1px solid var(--kb-blk-action);
	border-radius: 0;
	color: var(--kb-blk-action-ink);
	text-decoration: none;
	font-family: var(--kb-sans);
	font-weight: 400;
	font-size: 0.82rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	min-height: 54px;
	box-shadow: none;
}
body.theme--kb .wc-block-cart__submit-button:hover,
body.theme--kb .wc-block-components-checkout-place-order-button:hover,
body.theme--kb .wc-block-cart__submit-container .wc-block-components-button.wc-block-cart__submit-button:hover {
	background-color: var(--kb-ink);
	border-color: var(--kb-ink);
	color: var(--kb-paper);
}
body.theme--kb .wc-block-cart__submit-button .wc-block-components-button__text,
body.theme--kb .wc-block-components-checkout-place-order-button .wc-block-components-button__text {
	color: inherit;
	text-decoration: none;
}
/* Apply coupon — the ghost; applying a coupon is not what the page is for. */
body.theme--kb .wc-block-components-totals-coupon__button {
	background-color: transparent;
	border: 1px solid var(--kb-blk-text);
	border-radius: 0;
	color: var(--kb-blk-text);
	font-family: var(--kb-sans);
	font-weight: 400;
	font-size: 0.74rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
}
body.theme--kb .wc-block-components-totals-coupon__button:hover {
	background-color: var(--kb-blk-action);
	border-color: var(--kb-blk-action);
	color: var(--kb-blk-action-ink);
}

/* The order summary drops the short description: by checkout the choice is
   made, and in the landscape-phone band that column is ~100px wide — the
   donor measured one sentence wrapping to five lines. The variation line
   (Kiekis: 300 g, Malimas: Filtrui) stays; that IS about this order. */
body.theme--kb .wc-block-components-product-metadata__description { display: none; }

/* ---- 3. Structure, totals, rows ------------------------------------------ */
body.theme--kb .wc-block-components-title,
body.theme--kb .wc-block-components-checkout-step__title {
	font-family: var(--kb-serif);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.085em;
	color: var(--kb-blk-text);
}
body.theme--kb .wc-block-components-checkout-step__description,
body.theme--kb .wc-block-components-checkout-step__heading-content { color: var(--kb-blk-muted); }

body.theme--kb .wc-block-cart-items,
body.theme--kb .wc-block-cart-item__wrap,
body.theme--kb .wc-block-components-totals-item,
body.theme--kb .wc-block-components-totals-wrapper { border-color: var(--kb-blk-line); }

body.theme--kb .wc-block-components-product-name {
	font-family: var(--kb-serif);
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--kb-blk-text);
	text-decoration: none;
}
body.theme--kb .wc-block-components-product-price__value,
body.theme--kb .wc-block-components-totals-item__value { color: var(--kb-blk-text); font-weight: 400; }
body.theme--kb .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.theme--kb .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: var(--kb-serif);
	font-weight: 500;
}
body.theme--kb .wc-block-components-product-metadata { color: var(--kb-blk-muted); }

/* The order summary is a panel: a hairline frame with the brass rule every
   .kb-card carries on its top edge, radius 0.
   🔴 WOO 11 RENAMED THE WRAPPER. The donor's `.wc-block-components-sidebar`
   no longer exists in either page, so this rule was dead and Woo's own
   frame showed through — grey, 5px radius (measured on 1.7.1). The panels
   are now the blocks themselves: the checkout's order-summary block and
   the cart's totals block. */
body.theme--kb .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
body.theme--kb .wc-block-cart__sidebar .wp-block-woocommerce-cart-totals-block {
	background: var(--kb-blk-field);
	border: 1px solid var(--kb-blk-line);
	border-top: 2px solid var(--kb-blk-action);
	border-radius: 0;
}
body.theme--kb .wc-block-cart__sidebar .wp-block-woocommerce-cart-totals-block { padding: 8px 24px 24px; }
body.theme--kb .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { padding: 8px 8px 12px; }
/* Its heading in the site's heading voice, not Woo's bold sans. */
body.theme--kb .wc-block-components-checkout-order-summary__title-text {
	font-family: var(--kb-serif);
	font-weight: 500;
	font-size: 1rem;
	letter-spacing: 0.085em;
	text-transform: uppercase;
	color: var(--kb-blk-text);
}
/* 1.22.0 — the phone's folded summary at the top of the checkout. Woo gives
   the title 16px of margin and a hairline above it, so under our brass rule
   sat an empty white band and then a line (Arnas's screenshot); folded, a
   second hairline ran just above the panel's own frame. The title is a
   button (role) only when the summary is folded into the page — on desktop
   it is a plain heading — so that is what scopes this. The heading also gets
   a size that leaves room for the total ("SUVESTINĖ21,00 €" touched at 390px). */
body.theme--kb .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block:has(> .wc-block-components-checkout-order-summary__title[role="button"]) { padding: 0 16px; }
body.theme--kb .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title[role="button"] {
	margin-top: 0;
	padding: 18px 0;
	border-top: 0;
	gap: 12px;
}
body.theme--kb .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title[aria-expanded="false"] { border-bottom: 0; }
/* Unfolded, Woo closes the content with a hairline 1px above the frame. */
body.theme--kb .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block:has(> .wc-block-components-checkout-order-summary__title[role="button"]) .wc-block-components-checkout-order-summary__content { border-bottom: 0; }
body.theme--kb .wc-block-components-checkout-order-summary__title[role="button"] .wc-block-components-checkout-order-summary__title-text { font-size: 0.86rem; }
body.theme--kb .wc-block-components-checkout-order-summary__title-price { white-space: nowrap; }

/* 1.22.0 — the second summary. WooCommerce 11.2 repeats the order summary on
   phones just above "Apmokėti" (the actions block), with its own 5px-rounded
   frame — the one rounded box on the page. The same panel as the top one. */
body.theme--kb .checkout-order-summary-block-fill {
	background: var(--kb-blk-field);
	border: 1px solid var(--kb-blk-line);
	border-top: 2px solid var(--kb-blk-action);
	border-radius: 0;
}

/* Air between the lines of the summary: Woo stacks them 1px apart. */
body.theme--kb .wc-block-components-order-summary .wc-block-components-order-summary-item { padding: 10px 0 12px; }
body.theme--kb .wc-block-components-order-summary .wc-block-components-order-summary-item + .wc-block-components-order-summary-item { border-top: 1px solid var(--kb-blk-line); }

/* Woo's remaining rounded corners: the saved-address card, the country
   select, and the Pristatymas / Atsiimti toggle (1.7.4). Radius 0 governs
   surfaces. */
body.theme--kb .wc-block-components-address-card,
body.theme--kb .wc-blocks-components-select .wc-blocks-components-select__container,
body.theme--kb .wc-block-checkout__shipping-method-container,
body.theme--kb .wc-block-checkout__shipping-method-option { border-radius: 0; }
body.theme--kb .wc-block-checkout__shipping-method-container { background: rgba(var(--kb-ink-rgb), 0.05); }
/* 1.22.0 — on a phone each half is ~170px: "Atsiimti Espresinėje" broke over
   two lines beside its icon, the truck sat on one, and the halves looked like
   two different controls. Icon above the words, both centred, in both. */
@media (max-width: 560px) {
	body.theme--kb .wc-block-checkout__shipping-method-option { padding: 12px 8px; justify-content: center; }
	body.theme--kb .wc-block-checkout__shipping-method-option-title-wrapper {
		flex-direction: column;
		align-items: center;
		gap: 6px;
		text-align: center;
	}
	body.theme--kb .wc-block-checkout__shipping-method-option-title { font-size: 0.86rem; line-height: 1.3; }
}

/* More room between the checkout's steps (contact, address, delivery,
   payment): Woo's 24px made them read as one long form. */
body.theme--kb .wc-block-components-form .wc-block-components-checkout-step { margin-bottom: 44px; }
/* …except inside "Papildoma informacija": the invoice box (its own step, the
   order-fields block) and "Pridėti pastabą užsakymui" (the order-note block,
   also a step) are two options of ONE section, and 44px between them read as
   two sections (Arnas, 1.7.6). Same 14px as the options above. */
body.theme--kb .wc-block-components-form .wc-block-components-checkout-step.wc-block-checkout__order-fields { margin-bottom: 14px; }
/* "Pridėti pastabą užsakymui" sat in 44px of air above and below, then the
   terms line's own 24px (Arnas, 1.18.1: "spaced too much"). The note is the
   last option before the terms: 16px under it, and when a business client's
   invoice step is folded (kb-inv-short) the note follows the payment step at
   20px instead of 44px. */
body.theme--kb .wc-block-components-form .wp-block-woocommerce-checkout-order-note-block { margin-bottom: 16px; }
body.theme--kb.kb-inv-short:not(.kb-inv-open) .wc-block-components-form .wp-block-woocommerce-checkout-payment-block { margin-bottom: 20px; }
body.theme--kb .wc-block-checkout__terms { padding-top: 20px; }
body.theme--kb .wc-block-components-quantity-selector {
	border: 1px solid var(--kb-blk-line-strong);
	border-radius: 0;
}
body.theme--kb .wc-block-components-quantity-selector::after { border-radius: 0; border-color: transparent; }
body.theme--kb .wc-block-components-quantity-selector__input,
body.theme--kb .wc-block-components-quantity-selector__button {
	color: var(--kb-blk-text);
	background: transparent;
}
body.theme--kb .wc-block-components-quantity-selector__button:hover { background: rgba(var(--kb-brass-rgb), 0.18); }

/* Country / Region: the rhythm its neighbours have. Woo zeroes the top margin
   of the country input unconditionally at (0,3,0), assuming it is first in
   the step; when it is not, it lands glued under the name row. (0,5,1) here,
   and a genuinely leading field keeps its 0. Measured on whatashag; kept
   because the field order is Woo's to change. */
body.theme--kb .wc-block-components-form .wc-block-components-checkout-step .wc-block-components-country-input:not(:first-child),
body.theme--kb .wc-block-components-form .wc-block-components-checkout-step .wc-block-components-state-input:not(:first-child),
body.theme--kb .wc-block-components-address-form .wc-block-components-country-input:not(:first-child),
body.theme--kb .wc-block-components-address-form .wc-block-components-state-input:not(:first-child) {
	margin-top: 12px;
}

/* Shipping options: pickup, Omniva locker, courier. The chosen one reads as
   chosen. 🔴 THE RADIOS STAY ROUND — see §1. */
body.theme--kb .wc-block-components-radio-control__option { color: var(--kb-blk-muted); }
body.theme--kb .wc-block-components-radio-control__option-checked,
body.theme--kb .wc-block-components-radio-control__option:has(input:checked) { color: var(--kb-blk-text); }
body.theme--kb .wc-block-components-radio-control__input:checked {
	border-color: var(--kb-blk-action);
	background: var(--kb-blk-action);
}
body.theme--kb .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.theme--kb .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
	box-shadow: inset 0 0 0 1px var(--kb-blk-action);
	border-radius: 0;
}
body.theme--kb .wc-block-components-radio-control--highlight-checked,
body.theme--kb .wc-block-components-radio-control-accordion-option { border-radius: 0; }

/* Woo Blocks' own notices, separate from the classic .woocommerce-message. */
body.theme--kb .wc-block-components-notice-banner {
	background: var(--kb-blk-field);
	border: 1px solid var(--kb-blk-line);
	border-left: 2px solid var(--kb-blk-action);
	border-radius: 0;
	color: var(--kb-blk-text);
}

/* ---- 4. Around the express buttons, never on them ------------------------ */
body.theme--kb .wc-block-components-express-payment { border-color: var(--kb-blk-line); }
body.theme--kb .wc-block-components-express-payment__title-container,
body.theme--kb .wc-block-components-express-payment-continue-rule { color: var(--kb-blk-muted); }

/* ---- 5. Portrait phone ---------------------------------------------------- */
@media (max-width: 600px) {
	body.theme--kb .wc-block-cart__submit-button,
	body.theme--kb .wc-block-components-checkout-place-order-button { width: 100%; }
}

/* ---- 6. Collecting at Espresinė: no street address ----------------------
   body.kb-pickup is set by assets/js/kb-checkout.js while pickup is chosen.
   The billing form keeps name and phone; country, street, flat, city and
   postcode go. They are optional for LT (inc/kb-checkout-fields.php), and
   the server still insists on a street address whenever something ships. */
body.theme--kb.kb-pickup #billing-fields .wc-block-components-address-form__country,
body.theme--kb.kb-pickup #billing-fields .wc-block-components-address-form__address_1,
body.theme--kb.kb-pickup #billing-fields .wc-block-components-address-form__address_2,
body.theme--kb.kb-pickup #billing-fields .wc-block-components-address-form__address_2-toggle,
body.theme--kb.kb-pickup #billing-fields .wc-block-components-address-form__address_2-hidden-input,
body.theme--kb.kb-pickup #billing-fields .wc-block-components-address-form__city,
body.theme--kb.kb-pickup #billing-fields .wc-block-components-address-form__postcode { display: none; }

/* ---- 7. Omniva parcel locker: no street address either (1.8.1) ----------
   body.kb-locker is set by kb-checkout.js while an Omniva locker rate is
   selected. The shipping form keeps name, surname and phone; the machine
   chosen below is the address, and the server skips the street rule for it
   (kb_checkout_is_locker()). */
body.theme--kb.kb-locker #shipping-fields .wc-block-components-address-form__country,
body.theme--kb.kb-locker #shipping-fields .wc-block-components-address-form__address_1,
body.theme--kb.kb-locker #shipping-fields .wc-block-components-address-form__address_2,
body.theme--kb.kb-locker #shipping-fields .wc-block-components-address-form__address_2-toggle,
body.theme--kb.kb-locker #shipping-fields .wc-block-components-address-form__address_2-hidden-input,
body.theme--kb.kb-locker #shipping-fields .wc-block-components-address-form__city,
body.theme--kb.kb-locker #shipping-fields .wc-block-components-address-form__postcode { display: none; }

/* The Omniva plugin's locker picker in the site's voice: its orange map
   button becomes our navy outline button, its select square. */
body.theme--kb .omnivalt-terminal-select-container a.tmjs-open-modal-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 20px;
	border: 1px solid var(--kb-ink);
	border-radius: 0;
	background: transparent;
	color: var(--kb-ink);
	font-family: var(--kb-sans);
	font-size: 0.78rem;
	font-weight: 400;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: none;
}
body.theme--kb .omnivalt-terminal-select-container a.tmjs-open-modal-btn:hover { background: var(--kb-ink); color: var(--kb-paper); }
body.theme--kb .omnivalt-terminal-select-container select,
body.theme--kb .omnivalt-terminal-select-container .components-input-control__backdrop { border-radius: 0; }
body.theme--kb .omnivalt-container { margin-top: 18px; }

/* ---- 8. Omniva's parcel-machine map (1.8.2) ------------------------------
   The plugin's modal (terminal-mapping.css) takes its colours from CSS
   variables on .tmjs-default-theme; re-pointing them is enough, no
   !important. Orange becomes navy: the selected machine is a navy fill with
   cream text, links and the search button are navy. Square corners, no
   shadow, our type. The pins on the map are Omniva's own images and stay
   as they are — that is Omniva's mark on Omniva's map. */
body.theme--kb {
	--omnivalt-blocks-omniva-color-main: var(--kb-ink);
}
body.theme--kb .tmjs-default-theme {
	--highlight-color: var(--kb-ink);
	--muted-highlight-color: var(--kb-grey-dark);
	--white-color: var(--kb-paper);
	--selected-background: var(--kb-ink);
	--open-modal-btn-background: transparent;
	--open-modal-btn-text-color: var(--kb-ink);
	--overlay-background: rgba(var(--kb-ink-rgb), 0.72);
	--overlay-text-color: var(--kb-paper);
	--geolocation-text-color: var(--kb-ink);
	--search-input-background: #fff;
	--search-btn-background: var(--kb-ink);
	--active-background: var(--kb-ink);
	--active-text-color: var(--kb-paper);
	--terminal-comment-text-color: var(--kb-grey-dark);
	--modal-close-color: var(--kb-ink);
}
body.theme--kb .tmjs-modal,
body.theme--kb .tmjs-container {
	font-family: var(--kb-sans);
	font-size: 13px;
	color: var(--kb-ink);
}
body.theme--kb .tmjs-modal-content {
	border-radius: 0;
	box-shadow: none;
}
body.theme--kb .tmjs-modal-header {
	border-bottom: 1px solid var(--kb-line);
}
/* "Omniva paštomatai" in Hertz like our headings; the two sub-heads as our
   small uppercase labels. */
body.theme--kb .tmjs-terminal-finder h2 {
	font-family: var(--kb-serif);
	font-weight: 400;
	color: var(--kb-ink);
}
body.theme--kb .tmjs-terminal-finder h3,
body.theme--kb .tmjs-terminal-block h3 {
	font-family: var(--kb-sans);
	font-size: 0.72rem;
	font-weight: 400;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--kb-ink);
}
body.theme--kb .tmjs-terminal-sidebar {
	background-color: var(--kb-paper);
}
body.theme--kb .tmjs-search-input,
body.theme--kb .tmjs-search-btn,
body.theme--kb .tmjs-terminal-block,
body.theme--kb .tmjs-active,
body.theme--kb .tmjs-dropdown-trigger,
body.theme--kb .tmjs-dropdown-info,
body.theme--kb .tmjs-dropdown-list,
body.theme--kb .tmjs-dropdown-panel,
body.theme--kb a.tmjs-select-btn {
	border-radius: 0;
}
body.theme--kb .tmjs-search-input,
body.theme--kb .tmjs-terminal-block,
body.theme--kb .tmjs-dropdown-trigger {
	border-color: var(--kb-line);
}
body.theme--kb .tmjs-terminal-block {
	background-color: #fff;
}
body.theme--kb .tmjs-dropdown-panel {
	box-shadow: none;
	border-color: var(--kb-line);
}
body.theme--kb .tmjs-terminal-list > li:not(.tmjs-city):hover,
body.theme--kb .tmjs-dropdown-list > li:not(.tmjs-city):hover {
	background-color: rgba(var(--kb-ink-rgb), 0.06);
}
body.theme--kb .tmjs-dropdown-list > li.tmjs-highlight {
	background-color: rgba(var(--kb-ink-rgb), 0.06);
}
body.theme--kb a.tmjs-select-btn {
	border-color: var(--kb-paper);
	font-family: var(--kb-sans);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--kb-ink);
}
body.theme--kb div.tmjs-loading {
	color: var(--kb-ink);
	font-family: var(--kb-sans);
}

/* ── Business client: the company in one line (1.18.0) ─────────────────────
   kb_b2b_company_line (kb-b2b-checkout.php) prints it above the checkout when
   the client's profile holds the company, code and address; the invoice step
   ("Papildoma informacija") is then folded until "Keisti" (kb-b2b-pay.js). */
.kb-inv-line { margin: 0 0 18px; padding: 14px 16px; background: rgba(var(--kb-ink-rgb), 0.04); font-size: 0.9rem; color: var(--kb-grey-dark); }
.kb-inv-line strong { font-weight: 400; color: var(--kb-ink); }
.kb-inv-line__edit { margin-left: 6px; padding: 0; border: 0; background: none; color: var(--kb-ink); font: inherit; font-size: 0.74rem; letter-spacing: 0.12em; text-transform: uppercase; border-bottom: 1px solid var(--kb-brass); cursor: pointer; }
body.kb-inv-short:not(.kb-inv-open) .wp-block-woocommerce-checkout-additional-information-block { display: none; }
/* 1.19.0 — with "Pristatome patys" chosen the step holds the delivery day too
   (kb_car_day_register): the step shows, the folded company fields stay out. */
body.kb-inv-short:not(.kb-inv-open) .wp-block-woocommerce-checkout-additional-information-block:has(.wc-block-components-select-input-kavosbroliai-delivery-day) { display: block; }
body.kb-inv-short:not(.kb-inv-open) #order-fields :is(
	.wc-block-components-address-form__kavosbroliai-invoice,
	.wc-block-components-address-form__kavosbroliai-company,
	.wc-block-components-address-form__kavosbroliai-company-code,
	.wc-block-components-address-form__kavosbroliai-vat-code,
	.wc-block-components-address-form__kavosbroliai-company-address
) { display: none; }

/* 1.19.0 — the block checkout's select (the delivery day): square, our line. */
body.theme--kb .wc-blocks-components-select .wc-blocks-components-select__select {
	border-radius: 0;
	border-color: var(--kb-blk-line-strong);
}
body.theme--kb .wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--kb-ink);
	box-shadow: none;
	outline: 1px solid var(--kb-ink);
}

/* ---- 9. Montonio bank links (1.20.6) -------------------------------------
   The bank grid is Montonio's own markup with an injected <style>: 8px
   corners and a purple chosen state (.montonio-bank, .montonio-bank-active —
   (0,1,0) and (0,2,0), so the theme prefix wins without !important). In the
   site's voice: square white tiles on a hairline, navy on hover, the chosen
   bank framed in brass — the same brass as the chosen payment row around it.
   The card form is Montonio's iframe and keeps its own look. */
body.theme--kb .montonio-bank {
	border-radius: 0;
	border: 1px solid var(--kb-line);
	box-shadow: none;
}
body.theme--kb .montonio-bank:hover { border-color: var(--kb-ink); }
/* 1.22.0 — the tiles were Montonio's fixed 100 × 100 squares in a wrapping
   row: three across at 430px with a ragged gap on the right, two at 390px
   (five rows of big empty squares). A grid that fills the row instead —
   three across at every width (the nine Lithuanian banks are a 3 × 3
   square) — and tiles 60px tall: a logo is wide, not square. */
body.theme--kb .montonio-bank-items--grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}
body.theme--kb .montonio-bank-items--grid .montonio-bank { width: auto; height: 60px; padding: 10px; }
body.theme--kb .montonio-bank-items--grid .montonio-bank img { max-height: 22px; }
/* The card row: "Mokėjimas kortele" and the G Pay / Apple Pay / Mastercard /
   VISA strip (one image) shared a 290px line and crowded each other. The
   strip is a little smaller, and when the two do not fit it goes under the
   words instead of squeezing them onto two lines. */
body.theme--kb #radio-control-wc-payment-method-options-wc_montonio_card__label > span { flex-wrap: wrap; gap: 8px 12px; }
body.theme--kb #radio-control-wc-payment-method-options-wc_montonio_card__label img { height: 20px; width: auto; }
body.theme--kb .montonio-bank.montonio-bank-active {
	background: #fff;
	border-color: var(--kb-brass);
	outline: 1px solid var(--kb-brass);
	outline-offset: -2px;
	color: var(--kb-ink);
}
