/**
 * Let It Bloom — Checkout skin (Phase 02: checkout-skeleton).
 *
 * Additive skin over the single classic [woocommerce_checkout] form.
 * Ports the design-system tokens + stepper / step-visibility rules from
 * prototype/checkout/index.html, renamed to the project BEM convention
 * (.lb-stepper, .lb-step-tab, .lb-step). Design tokens are locked per D-07:
 * Archivo, #0A0A0A ink, #E6E6E6 hairlines, #8A8A8A muted, uppercase thin
 * headings, square corners, no shadows.
 *
 * This file styles ONLY the stepper + step show/hide for the skeleton. It does
 * NOT structurally restyle #payment, #place_order, or the order-review table
 * (that is Phase 4) — it must not break them.
 */

/* ── Design tokens (scoped to the checkout AND cart bodies) ── */
.woocommerce-checkout,
.woocommerce-cart {
  --lb-bg: #FFFFFF;
  --lb-soft: #F4F4F4;
  --lb-soft2: #FAFAF9;
  --lb-ink: #0A0A0A;
  --lb-muted: #8A8A8A;
  --lb-muted-d: #4E4B66;
  --lb-line: #E6E6E6;
  --lb-line-d: #CFCFCF;
  --lb-ls: .06em;
  /* ── 5-role type scale (issue #2, design audit) ── */
  --lb-fs-h1: 34px;
  --lb-fs-section: 18px;
  --lb-fs-body: 15px;
  --lb-fs-note: 13px;
  --lb-fs-label: 12px;
}

/* ── Focused checkout chrome → clean white, prototype-style (cart + checkout) ──
   Flatsome's "focused" layout strips the site nav and gives a minimal logo +
   absolute footer; we flatten its card/shadow to a clean full-white page and
   turn the centered logo into the prototype's small left logo + SSL note. */
body.woocommerce-cart,
body.woocommerce-checkout,
html.woocommerce-cart,
html.woocommerce-checkout {
  background: #fff;
}

body.woocommerce-cart #main-content,
body.woocommerce-checkout #main-content {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
}

body.woocommerce-cart #main.page-wrapper,
body.woocommerce-checkout #main.page-wrapper {
  box-shadow: none !important;
  padding: 0 !important;
  background: transparent;
}

/* Minimal header. Baiba #13: logo LIELĀKS un pa VIDU.
   Agrāk šeit bija 3 kolonnu grid ar "Drošs maksājums · SSL" piezīmi labajā
   pusē. Piezīme noņemta — drošības apliecinājums galvenē uzdod jautājumu, kas
   pircējam prātā nebija, un rada tieši pretēju efektu. Maksājuma uzticamības
   signāls paliek tur, kur tas ir noderīgs: banku logotipi apmaksas solī.
   Bez piezīmes režģis vairs nav vajadzīgs — pietiek ar centrētu bloku. */
.focused-checkout-logo {
  text-align: center !important;
  padding: 26px 0 !important;
}

.focused-checkout-logo #logo,
.focused-checkout-logo .logo {
  margin: 0 auto;
  float: none !important;
}

.focused-checkout-logo #logo img,
.focused-checkout-logo .logo img {
  /* Baiba #13 (2. kārta): identiski veikala galvenei. Tur Flatsome liek
     #logo{width:250px} + max-height kāpni 100/70/50px; SVG dabiskais platums
     ir 300px, tāpēc uz platas lapas ierobežo platums (→ 250x85), bet uz šaurās
     — augstums (→ 146x50). Šeit to pašu panākam ar max-width uz paša attēla. */
  max-height: 100px;
  width: auto;
  max-width: min(250px, 100%);
  height: auto;
  /* Flatsome tēmas opcija globāli liek #logo{width:250px}. Kad max-height
     saspiež attēlu šaurāku par 250px, tas paliktu kastes kreisajā malā (-52px
     no centra), tāpēc attēlu centrējam pašā kastē. */
  margin-inline: auto;
}

@media (max-width: 849px) {
  .focused-checkout-logo #logo img,
  .focused-checkout-logo .logo img {
    max-height: 70px;
  }
}

@media (max-width: 549px) {
  .focused-checkout-logo #logo img,
  .focused-checkout-logo .logo img {
    max-height: 50px;
  }
}

/* ── Stepper ── */
.lb-stepper {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--lb-line);
  margin-bottom: 32px;
}

.lb-step-tab {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 11px;
  cursor: pointer;
  padding: 20px 6px;
  border-bottom: 2px solid transparent;
  opacity: .5;
  transition: .18s;
}

.lb-step-tab__num {
  width: 26px;
  height: 26px;
  border: 1px solid var(--lb-line-d);
  display: grid;
  place-items: center;
  font-size: var(--lb-fs-label);
  flex: none;
  color: var(--lb-muted-d);
  border-radius: 0;
}

.lb-step-tab__lbl {
  font-size: var(--lb-fs-label);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  white-space: nowrap;
  font-family: 'Archivo', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

.lb-step-tab__lbl small {
  display: block;
  font-weight: 400;
  font-size: var(--lb-fs-label);
  color: var(--lb-muted-d);
  letter-spacing: .02em;
  text-transform: none;
}

.lb-step-tab.is-active {
  opacity: 1;
  border-bottom-color: var(--lb-ink);
}

.lb-step-tab.is-active .lb-step-tab__num {
  border-color: var(--lb-ink);
  background: var(--lb-ink);
  color: #fff;
}

.lb-step-tab.is-done {
  opacity: 1;
}

.lb-step-tab.is-done .lb-step-tab__num {
  font-size: 0;
  background: var(--lb-ink);
  border-color: var(--lb-ink);
  color: #fff;
}

.lb-step-tab.is-done .lb-step-tab__num::after {
  content: '\2713';
  font-size: 13px;
  color: #fff;
}

/* ── Step visibility (the load-bearing rule) ── */
.lb-step {
  display: none;
}

.lb-step.is-active {
  display: block;
}

/* ── Step navigation buttons / links ── */
.lb-actions {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 34px;
  align-items: center;
}

.lb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid var(--lb-ink);
  cursor: pointer;
  font-family: 'Archivo', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  border-radius: 0;
  padding: 16px 30px;
  /* Baiba #30: fiksēts line-height, lai <a> un <button> pogām sanāk vienāds
     augstums (Flatsome .button līdz šim uzspieda citu line-height → 55 vs 65px). */
  line-height: 1.6;
  transition: .15s;
  background: var(--lb-ink);
  color: #fff;
  box-shadow: none;
}

.lb-btn:hover {
  background: #fff;
  color: var(--lb-ink);
}

.lb-btn.lb-btn--ghost {
  background: #fff;
  color: var(--lb-ink);
}

.lb-btn.lb-btn--ghost:hover {
  background: var(--lb-ink);
  color: #fff;
}

.lb-link-back {
  color: var(--lb-muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  text-decoration: none;
  cursor: pointer;
}

.lb-link-back:hover {
  color: var(--lb-ink);
}

/* ── Page heads inside steps ── */
.lb-page-head {
  margin-bottom: 28px;
}

.lb-page-head h1 {
  margin: 0;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  line-height: 1.2;
  font-size: var(--lb-fs-h1);
  font-family: 'Archivo', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

.lb-page-head p {
  color: var(--lb-muted);
  margin: 10px 0 0;
  font-size: 14px;
}

/* ── Grozs (cart step) — ported from prototype .cart-list/.citem/.totals (plan 02-02) ── */
.lb-cart-list {
  border-top: 1px solid var(--lb-line);
}

/* Static columns: thumb | name(wraps) | qty | price | remove. The name flexes
   and wraps to 2 lines; qty + price stay in fixed columns so they align across
   every row (lower cognitive load — the eye scans a straight column). */
.lb-citem {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) auto 110px 24px;
  align-items: center;
  column-gap: 20px;
  padding: 22px 0;
  border-bottom: 1px solid var(--lb-line);
}

.lb-thumb {
  flex: none;
  width: 78px;
  height: 96px;
  background: var(--lb-soft);
  border: 1px solid var(--lb-line);
  overflow: hidden;
}

.lb-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;
}

.lb-citem__body {
  min-width: 0;
}

.lb-citem__nm {
  font-size: var(--lb-fs-body);
}

.lb-citem__meta {
  color: var(--lb-muted);
  font-size: var(--lb-fs-note);
  margin-top: 3px;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.lb-citem__meta p {
  margin: 0;
}

.lb-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--lb-line-d);
}

/* Equal heights + flex-centering + margin:0 keep the −, number and + on one
   baseline (Flatsome's default button margins otherwise push the number down). */
.lb-qty button {
  width: 32px;
  height: 34px;
  min-height: 0;
  box-sizing: border-box;
  border: 0;
  background: #fff;
  cursor: pointer;
  font-size: 15px;
  color: var(--lb-ink);
  line-height: 1;
  padding: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.lb-qty button:hover {
  background: var(--lb-soft);
}

.lb-qty__val {
  min-width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--lb-fs-body);
}

.lb-citem__price {
  text-align: right;
  font-size: var(--lb-fs-body);
  font-weight: 600;
  white-space: nowrap;
}

.lb-citem__remove {
  color: var(--lb-muted);
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  padding: 0 4px;
  flex: none;
}

.lb-citem__remove:hover {
  color: var(--lb-ink);
}

.lb-cart-empty {
  padding: 40px 0;
  color: var(--lb-muted);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  font-size: 14px;
}

.lb-totals {
  margin-top: 26px;
  max-width: 380px;
  margin-left: auto;
}

.lb-totals__row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  color: var(--lb-muted-d);
  font-size: 14px;
}

.lb-totals__row.grand {
  border-top: 1px solid var(--lb-ink);
  margin-top: 8px;
  padding-top: 16px;
  color: var(--lb-ink);
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  font-size: 15px;
}

.lb-totals__row.grand b {
  font-weight: 600;
}

.lb-totals__note {
  color: var(--lb-muted);
  font-size: var(--lb-fs-note);
  margin-top: 10px;
}

/* ── Coupon (discount code) — subtle collapsible, aligned under the totals ── */
.lb-totals__row--discount span:first-child {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
}

.lb-totals__row--discount > span:last-child {
  white-space: nowrap;
  padding-left: 16px;
}

.lb-coupon-remove {
  color: var(--lb-muted);
  text-decoration: none;
  font-size: var(--lb-fs-label);
  text-transform: uppercase;
  letter-spacing: .03em;
}

.lb-coupon-remove:hover {
  color: var(--lb-ink);
}

.lb-coupon {
  max-width: 380px;
  margin: 16px 0 0 auto;
}

.lb-coupon__toggle {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font-family: 'Archivo', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size: var(--lb-fs-label);
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  color: var(--lb-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.lb-coupon__toggle:hover {
  color: var(--lb-ink);
}

.lb-coupon__form {
  display: flex;
  gap: 10px;
  margin-top: 12px;
}

.lb-coupon__input {
  flex: 1;
  min-width: 0;
  font-family: inherit;
  font-size: var(--lb-fs-body);
  padding: 11px 12px;
  border: 1px solid var(--lb-line-d);
  border-radius: 0;
  background: #fff;
  color: var(--lb-ink);
}

.lb-coupon__input:focus {
  outline: 0;
  border-color: var(--lb-ink);
}

.lb-coupon__apply {
  border: 1px solid var(--lb-ink);
  background: var(--lb-ink);
  color: #fff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  padding: 0 18px;
  cursor: pointer;
  transition: .15s;
}

.lb-coupon__apply:hover {
  background: #fff;
  color: var(--lb-ink);
}

/* ── Responsive (matches the prototype breakpoints) ── */
@media (max-width: 760px) {
  .lb-step-tab__lbl {
    display: none;
  }
  .lb-step-tab {
    justify-content: center;
  }
}

@media (max-width: 560px) {
  .lb-citem {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    grid-template-areas:
      "thumb name name"
      "thumb qty price";
    gap: 6px 14px;
    align-items: center;
  }
  .lb-thumb {
    grid-area: thumb;
    width: 56px;
    height: 56px;
  }
  .lb-thumb img {
    width: 100%;
    height: 100%;
  }
  .lb-citem__body {
    grid-area: name;
  }
  .lb-citem__nm {
    font-size: 14px;
    line-height: 1.3;
  }
  .lb-citem__meta {
    font-size: 11px;
  }
  .lb-qty {
    grid-area: qty;
    justify-self: start;
  }
  .lb-qty button {
    width: 28px;
    height: 28px;
  }
  .lb-qty__val {
    width: 28px;
  }
  .lb-citem__price {
    grid-area: price;
    align-self: center;
    min-width: 0;
    white-space: nowrap;
    font-size: 14px;
    text-align: right;
  }
  .lb-citem__remove {
    grid-area: name;
    justify-self: end;
    align-self: start;
  }
  .lb-totals {
    max-width: none;
    margin-top: 22px;
  }
}

@media (max-width: 560px) {
  .lb-step-tab {
    padding: 16px 4px;
  }
  .lb-page-head h1 {
    font-size: 27px;
  }
  .lb-btn {
    padding: 15px 18px;
    font-size: 12px;
  }
  .lb-actions {
    gap: 10px;
  }
}

/* Task C — Grozs page: mobile cart actions stack full-width, black button on top,
   back link centered below. Scoped to body.woocommerce-cart so the Piegāde step's
   .lb-piegade .lb-actions (flex space-between) is NOT affected. */
@media (max-width: 849px) {
  body.woocommerce-cart .lb-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  body.woocommerce-cart .lb-actions .lb-btn {
    order: 0;
    width: 100%;
    display: flex;
  }
  body.woocommerce-cart .lb-actions .lb-link-back {
    order: 1;
    text-align: center;
  }
}

/* Baiba #24 — Piegādes un Norēķinu soļu navigācija mobilajā: melnā poga pilnā
   platumā augšā, atpakaļ-saite centrēta zem tās (tas pats raksts, kas grozā). */
@media (max-width: 849px) {
  .lb-piegade .lb-actions,
  .lb-actions--norekini {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .lb-piegade .lb-actions .lb-next,
  .lb-actions--norekini .lb-next {
    order: 0;
    width: 100%;
    display: flex;
  }
  .lb-piegade .lb-actions .lb-link-back,
  .lb-actions--norekini .lb-link-back {
    order: 1;
    text-align: center;
  }
}

/* ============================================================
   Phase 3 (plan 03-01) — Piegāde step: variant-A stacked monochrome
   delivery cards. Styles the card CHROME rendered by lib_render_piegade()
   AND the RELOCATED native shipping DOM + plugin pickers that checkout.js
   moves into each card's [data-lb-ship-slot]. Design tokens per
   DESIGN-SYSTEM.md: Archivo, #0A0A0A ink, #E6E6E6 hairlines, square, no
   shadow/radius. We restyle the plugin pickers IN PLACE — never rename
   omnivalt_terminal_id or remove plugin markup.
   ============================================================ */

.lb-piegade {
  margin-bottom: 24px;
}

/* Card shell — square, 1px hairline, no shadow/radius */
.lb-ship-card {
  border: 1px solid var(--lb-line);
  background: var(--lb-bg);
  padding: 22px 24px;
  margin-bottom: 18px;
}

/* Fix 3: [category title] [small Sūtījums-N tag] inline on the LEFT (baseline-
   aligned), item count muted on the RIGHT (prototype .ship-title: h3 + .tag + .cnt).
   The theme gives headings full width, which pushed the tag to the far right; cap
   the title to its content width so the tag sits right beside it. */
.lb-ship-card__head {
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.lb-ship-card__title {
  font-size: var(--lb-fs-section);
  font-weight: 600;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  width: auto;
  flex: 0 1 auto;
  min-width: 0;
}
.lb-ship-card__cnt {
  margin-left: auto;
  font-size: var(--lb-fs-label);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--lb-muted);
  white-space: nowrap;
  flex: none;
}
.lb-ship-card__tag {
  flex: none;
}

.lb-ship-card__items {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 16px;
}
.lb-ship-item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: var(--lb-fs-note);
}
.lb-ship-item__thumb img {
  width: 40px;
  height: 40px;
  object-fit: cover;
  display: block;
}
.lb-ship-item__nm {
  flex: 1;
  min-width: 0;
}

/* CHK-08 explanation — left-rule callout (prototype .ship-explain) */
.lb-ship-card__explain {
  border-left: 2px solid var(--lb-ink);
  padding: 10px 0 10px 16px;
  margin: 18px 0 0;
  font-size: var(--lb-fs-note);
  line-height: 1.55;
  color: var(--lb-muted-d);
}

/* The relocated native shipping rows live here */
.lb-ship-slot {
  margin-top: 18px;
}
.lb-ship-slot:empty {
  display: none;
}

/* Restyle the RELOCATED native shipping radios as prototype .method rows.
   Native markup is <ul id="shipping_method"> > <li> > <input.shipping_method> + <label>. */
.lb-ship-slot ul#shipping_method,
.lb-ship-slot ul.woocommerce-shipping-methods,
.lb-ship-slot ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
/* Fix 2: the WHOLE <li> is the boxed clickable row (prototype .method). Native
   markup is <li class="shipping__list_item"><input.shipping_method><label>. We box
   the <li> as a flex row: radio on the LEFT (inside the box), then the name + note,
   price pushed right. Rows stack with -1px so borders collapse into one hairline. */
.lb-ship-slot li {
  display: flex;
  align-items: center;
  gap: 15px;
  border: 1px solid var(--lb-line);
  padding: 16px 18px;
  margin: 0 0 -1px;
  background: #fff;
  cursor: pointer;
  font-size: var(--lb-fs-body);
  transition: border-color 0.12s, background 0.12s;
}
.lb-ship-slot li:hover {
  border-color: var(--lb-line-d);
  position: relative;
  z-index: 1;
}
/* Radio sits INSIDE the box, left-aligned, with a filled ink dot when checked
   (prototype .method .radio). The native input keeps posting; we just style it. */
.lb-ship-slot li input.shipping_method {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border: 1px solid var(--lb-line-d);
  border-radius: 50%;
  background: #fff;
  margin: 0;
  flex: none;
  display: grid;
  place-items: center;
  cursor: inherit;
}
.lb-ship-slot li input.shipping_method::after {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--lb-ink);
  transform: scale(0);
  transition: transform 0.1s;
}
.lb-ship-slot li input.shipping_method:checked {
  border-color: var(--lb-ink);
}
.lb-ship-slot li input.shipping_method:checked::after {
  transform: scale(1);
}
/* The label is now just the text content inside the row (no border of its own). */
.lb-ship-slot li label {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  flex: 1;
  gap: 0;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: inherit;
  font-size: var(--lb-fs-body);
  min-width: 0;
}
/* Selected row → ink border + soft background + filled dot (prototype .method.sel).
   :has() targets the <li> directly; a JS-toggled .is-sel fallback covers any UA
   that lacks :has() so the selected state is never lost. */
.lb-ship-slot li:has(input.shipping_method:checked),
.lb-ship-slot li.is-sel {
  border-color: var(--lb-ink);
  background: var(--lb-soft2);
  position: relative;
  z-index: 2;
}

/* CHK-08 locked card: single native radio is auto-checked by WC; present it
   non-changeable (visual) — the real checked input still posts. */
.lb-ship-card.is-locked .lb-ship-slot li {
  cursor: default;
  border-color: var(--lb-ink);
  background: var(--lb-soft2);
}
.lb-ship-card.is-locked .lb-ship-slot li input.shipping_method {
  pointer-events: none;
}

/* Plugin pickers restyled IN PLACE (Omniva map/select + Venipak courier fields) —
   never rename omnivalt_terminal_id, never remove markup. */
.lb-ship-slot #omnivalt_terminal,
.lb-ship-slot select[name="omnivalt_terminal_id"],
.lb-ship-slot .venipak-checkout-field input,
.lb-ship-slot .venipak_extra_fields input,
.lb-ship-slot input[type="text"],
.lb-ship-slot input[type="tel"],
.lb-ship-slot select {
  border-radius: 0;
  border: 1px solid var(--lb-line);
  background: #fff;
  font-family: Archivo, sans-serif;
  color: var(--lb-ink);
}
.lb-ship-slot #omnivalt_terminal:focus,
.lb-ship-slot select:focus,
.lb-ship-slot input:focus {
  border-color: var(--lb-ink);
  outline: none;
}
/* Omniva map container — give it room, no shadow/radius */
.lb-ship-slot .omnivalt-terminals-map,
.lb-ship-slot #omnivalt_map,
.lb-ship-slot .omnivalt_map {
  margin-top: 12px;
  border: 1px solid var(--lb-line);
}

/* Baiba #28 — Omniva pakomāta izvēle pārklājās ar metodes etiķeti: metodes <li>
   ir flex rinda, un plugina .omnivalt_terminal_container tika spiests BLAKUS
   etiķetei (etiķete saspiesta ~34px platumā, teksti viens virs otra — īpaši
   mobilajā). Konteiners tagad aizņem savu pilna platuma rindu zem etiķetes. */
.lb-ship-slot li.shipping__list_item {
  flex-wrap: wrap;
}
.lb-ship-slot .omnivalt_terminal_container {
  flex-basis: 100%;
  width: 100%;
  margin: 10px 0 0;
}

/* Baiba #26 — plugina tmjs izvēles logrīks pieskaņots dizaina sistēmai:
   monohroms, taisni stūri, Archivo — oranžās apaļās pogas vietā. */
/* PIEZĪME: plugina .tmjs-hidden "slēpj" ar left:-100%, kas statiskam elementam
   nedarbojas — logrīks vienmēr ir redzams un TĀ ARĪ JĀBŪT (tas ir vienīgais
   ērtais izvēles UI). Nekādā gadījumā nelikt display:none uz .tmjs-hidden. */
.lb-ship-slot .tmjs-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  position: static;
}
.lb-ship-slot .tmjs-selected-terminal {
  font-size: 13px;
  color: var(--lb-ink);
}
/* Trīs klases apzināti: plugina omniva.css ir pats savs (0,2,0) selektors
   `.omnivalt_terminal_container_map .tmjs-open-modal-btn` ar background:var(--omniva-color-main),
   kas ielādējas PĒC šī faila — vajag pārsist ar (0,3,0). */
.lb-ship-slot .omnivalt_terminal_container_map .tmjs-open-modal-btn,
.lb-ship-slot .tmjs-open-modal-btn {
  display: inline-block;
  background-color: #0A0A0A;
  background-image: none;
  color: #fff;
  border: 1px solid var(--lb-ink);
  border-radius: 0;
  padding: 10px 16px;
  font-family: 'Archivo', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: var(--lb-ls);
  text-transform: uppercase;
  text-decoration: none;
}
.lb-ship-slot .omnivalt_terminal_container_map .tmjs-open-modal-btn:hover,
.lb-ship-slot .tmjs-open-modal-btn:hover {
  background-color: #fff;
  color: var(--lb-ink);
}

/* GH #26/#27/#28 (2026-07-21, quick 260721-usv) — map turned OFF via
   woocommerce_omnivalt_settings['show_map']='no'. The plugin now renders its
   OLD legacy searchable dropdown (get_terminals_options_old(): a hidden
   <select class="omnivalt_terminal"> turned into .omniva-terminals-list by
   assets/js/omniva.js $.fn.omniva) instead of the .tmjs-* map widget above.
   Skin that widget monochrome/square/Archivo, matching the design system.
   Selectors need (0,3,0)+ specificity because checkout.css loads AFTER the
   plugin's omniva.css (theme enqueue runs after the plugin's, same hook). */
.lb-ship-slot .omnivalt_terminal_container.old {
  flex-basis: 100%;
  width: 100%;
  margin: 10px 0 0;
}
.lb-ship-slot .omniva-terminals-list {
  position: relative;
  width: 100%;
  background: #fff;
  font-family: 'Archivo', system-ui, sans-serif;
}
.lb-ship-slot .omniva-terminals-list .dropdown {
  border: 1px solid var(--lb-line-d);
  border-radius: 0;
  height: auto;
  min-height: 44px;
  line-height: 1.3;
  padding: 11px 34px 11px 12px;
  font-size: var(--lb-fs-body);
  color: var(--lb-ink);
  background: #fff;
}
.lb-ship-slot .omniva-terminals-list.open .dropdown {
  border-color: var(--lb-ink);
  border-bottom: none;
  border-radius: 0;
}
.lb-ship-slot .omniva-terminals-list .dropdown:before {
  background-color: #fff;
}
.lb-ship-slot .omniva-terminals-list .dropdown:after {
  border-color: var(--lb-ink) transparent transparent transparent;
}
.lb-ship-slot .omniva-terminals-list.open .dropdown:after {
  border-color: transparent transparent var(--lb-ink) transparent;
}
.lb-ship-slot .omniva-terminals-list .inner-container {
  border: 1px solid var(--lb-ink);
  border-top: none;
  border-radius: 0;
  background: #fff;
}
.lb-ship-slot .omniva-terminals-list .search-input,
.lb-ship-slot .omniva-terminals-list .search-input:focus {
  background: #fff !important;
  color: var(--lb-ink);
  border: none;
  border-bottom: 1px solid var(--lb-line-d);
  border-radius: 0;
  padding: 11px 12px;
  font-family: 'Archivo', system-ui, sans-serif;
  outline: none;
}
.lb-ship-slot .omniva-terminals-list .search-input:focus {
  border-bottom-color: var(--lb-ink);
}
.lb-ship-slot .omniva-terminals-list ul li {
  font-family: 'Archivo', system-ui, sans-serif;
  font-size: 13px;
  color: var(--lb-ink);
  border-radius: 0;
  padding: 8px 12px;
}
.lb-ship-slot .omniva-terminals-list ul li.city {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  font-size: 11px;
  color: var(--lb-muted);
  background: var(--lb-soft2);
  padding-left: 12px;
}
.lb-ship-slot .omniva-terminals-list ul li:not(.city):hover,
.lb-ship-slot .omniva-terminals-list ul li:not(.city):hover a,
.lb-ship-slot .omniva-terminals-list ul li.selected,
.lb-ship-slot .omniva-terminals-list ul li.selected a {
  background-color: var(--lb-ink);
  color: #fff;
}
.lb-ship-slot .omniva-terminals-list ul li a {
  text-decoration: none;
  color: inherit;
}
.lb-ship-slot .omniva-terminals-list .show-more {
  border-top: 1px solid var(--lb-line);
  padding: 8px;
  text-align: center;
}
.lb-ship-slot .omniva-terminals-list .show-more a {
  color: var(--lb-ink);
  text-decoration: underline;
}
/* No map anymore — hide the stray "show in map" affordances the legacy widget
   still prints (button + in-list link both exist in the plugin markup). */
.lb-ship-slot .omniva-terminals-list li a.show-in-map,
.lb-ship-slot #show-omniva-map {
  display: none !important;
}

@media (max-width: 849px) {
  .lb-ship-card {
    padding: 18px 16px;
  }
  .lb-ship-card__head {
    flex-wrap: wrap;
    gap: 8px;
  }
  .lb-ship-card__cnt {
    margin-left: 0;
    flex-basis: 100%;
  }
}

/* ============================================================
   Phase 3 (plan 03-02) — Piegāde step rebuilt to match the prototype:
   two-column grid (main + Kopsavilkums aside), shared recipient panel,
   category-named cards with Sūtījums-N tags, boxed method rows with notes,
   and the summary aside. Ports prototype .grid/.panel/.sec-label/.ship-title/
   .method/.mnote/.fields/.fields-none/.summary faithfully under lb- names.
   Tokens reused from the checkout scope above (Archivo, square, no shadow).
   ============================================================ */

/* Two-column layout — main 1fr + 360px aside, hairline divider (prototype .grid) */
.lb-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 0;
  align-items: start;
}
.lb-grid__main {
  padding-right: 40px;
  border-right: 1px solid var(--lb-line);
  min-width: 0;
}
.lb-grid__aside {
  padding-left: 32px;
}
@media (max-width: 900px) {
  .lb-grid {
    grid-template-columns: 1fr;
  }
  .lb-grid__main {
    padding-right: 0;
    border-right: 0;
  }
  .lb-grid__aside {
    padding-left: 0;
    margin-top: 30px;
    border-top: 1px solid var(--lb-line);
  }
}

/* Panels + section labels (prototype .panel.pad / .sec-label) */
.lb-piegade .panel {
  background: var(--lb-bg);
  border: 1px solid var(--lb-line);
}
.lb-piegade .panel.pad {
  padding: 26px;
}
.lb-sec-label {
  font-size: var(--lb-fs-label);
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  color: var(--lb-muted);
  margin-bottom: 14px;
}

/* Shared recipient panel — top of the main column (prototype recipient block) */
.lb-recipient {
  margin-bottom: 22px;
}
.lb-recipient__fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
/* The MOVED native billing fields (#billing_*_field) styled as prototype .fields */
.lb-recipient__fields .form-row,
.lb-recipient__fields p.form-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  width: auto;
  float: none;
}
.lb-recipient__fields label {
  font-size: var(--lb-fs-label);
  color: var(--lb-muted);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  margin: 0;
}
.lb-recipient__fields .required {
  color: var(--lb-muted);
  text-decoration: none;
}
.lb-recipient__fields input,
.lb-recipient__fields select {
  font-family: 'Archivo', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size: var(--lb-fs-body);
  padding: 11px 12px;
  border: 1px solid var(--lb-line-d);
  border-radius: 0;
  background: #fff;
  color: var(--lb-ink);
  box-shadow: none;
  margin: 0;
  width: 100%;
  height: auto;
  min-height: 0;
}
.lb-recipient__fields input:focus,
.lb-recipient__fields select:focus {
  outline: 0;
  border-color: var(--lb-ink);
}
/* Baiba #16 — piezīmju panelis (relocateNotes pārvieto native #order_comments_field). */
.lb-notes {
  margin: 22px 0 0;
}
/* Baiba #5 (260807-ewc): sadaļas virsraksts jau ir .lb-sec-label ("Piezīmes
   pasūtījumam") — native lauka paša <label> ("Pasūtījuma piezīmes") tāpēc
   veidoja dubultu virsrakstu. Paslēpjam TIKAI etiķeti (nevis lauku pašu) —
   ievade un tās validācija/submit paliek nemainīti. */
.lb-notes__slot #order_comments_field > label {
  display: none;
}
.lb-notes__slot .form-row,
.lb-notes__slot p.form-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  width: auto;
  float: none;
}
.lb-notes__slot label {
  font-size: var(--lb-fs-label);
  color: var(--lb-muted);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  margin: 0;
}
.lb-notes__slot textarea {
  font-family: 'Archivo', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size: var(--lb-fs-body);
  padding: 11px 12px;
  border: 1px solid var(--lb-line-d);
  border-radius: 0;
  background: #fff;
  color: var(--lb-ink);
  box-shadow: none;
  margin: 0;
  width: 100%;
  min-height: 84px;
  resize: vertical;
}
.lb-notes__slot textarea:focus {
  outline: 0;
  border-color: var(--lb-ink);
}

/* Baiba #15 — pasūtījuma detaļu / bankas rekvizītu saraksti bez bullet punktiem. */
.woocommerce-order-details ul,
.woocommerce-bacs-bank-details ul,
.woocommerce-order-details ul li,
.woocommerce-bacs-bank-details ul li {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}

@media (max-width: 520px) {
  .lb-recipient__fields {
    grid-template-columns: 1fr;
  }
}

/* ── Fix 1 (B2B): "Pērku kā juridiska persona" toggle + company fields ──
   The checkbox drives the shop's existing native CFE radio billing_customer_type;
   checkout.js moves the 3 native company-field wrappers into .lb-company__fields
   for styling. Toggle = a clean checkbox row under the recipient grid; company
   fields = the same square, uppercase-label .fields look as the recipient grid. */
.lb-company-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  cursor: pointer;
  font-size: var(--lb-fs-note);
  color: var(--lb-ink);
  user-select: none;
}
.lb-company-toggle__cb {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--lb-ink);
  flex: none;
}
.lb-company-toggle__txt {
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: var(--lb-fs-label);
  color: var(--lb-muted-d);
}
.lb-company-toggle.is-on .lb-company-toggle__txt {
  color: var(--lb-ink);
}

/* Company fields slot — appears only when toggle is on (PHP `hidden` attr is
   cleared by JS). Mirrors the recipient .fields grid; company name full-width. */
.lb-company__fields[hidden] {
  display: none;
}
.lb-company__fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px dotted var(--lb-line);
}
.lb-company__fields #billing_company_field {
  grid-column: 1 / -1;
}
.lb-company__fields .form-row,
.lb-company__fields p.form-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  width: auto;
  float: none;
}
.lb-company__fields label {
  font-size: var(--lb-fs-label);
  color: var(--lb-muted);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  margin: 0;
}
.lb-company__fields .required {
  color: var(--lb-muted);
  text-decoration: none;
}
.lb-company__fields input,
.lb-company__fields select {
  font-family: 'Archivo', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size: var(--lb-fs-body);
  padding: 11px 12px;
  border: 1px solid var(--lb-line-d);
  border-radius: 0;
  background: #fff;
  color: var(--lb-ink);
  box-shadow: none;
  margin: 0;
  width: 100%;
  height: auto;
  min-height: 0;
}
.lb-company__fields input:focus,
.lb-company__fields select:focus {
  outline: 0;
  border-color: var(--lb-ink);
}
/* The relocated native customer-type radio is driven by the checkbox — keep it in
   the form (so it posts) but visually hidden. */
.lb-company__fields .lb-company-typehidden,
.lb-company-typehidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
@media (max-width: 520px) {
  .lb-company__fields {
    grid-template-columns: 1fr;
  }
}

/* Quick 260807-hx6 (Baibas 2. kārta, A1): 260722-kp5 e-dāvanu kartes "man /
   saņēmējam" sūtīšanas bloka (.lb-gift / .lb-gift__*) stils noņemts kopā ar
   markup — karte tagad vienmēr iet pircējam. Paldies/e-pasta apliecinājuma
   stils (.lb-ty-gift, .lb-gift-line, .lb-gift-row zemāk) PALIEK — tos joprojām
   emitē lib_render_gift_block(). */

/* ── Fix 1: shared courier ADDRESS fields, MOVED into the active courier card ──
   checkout.js relocateAddress() appends the real native #billing_address_1_field /
   _city / _postcode / _country / _state wrappers into this slot, right under the
   card's method rows. Style to match the prototype .fields block: a soft box
   attached to the methods (border-top:0), 1fr/1fr grid with the street field
   full-width, square inputs, uppercase muted labels. Empty slot takes no space. */
.lb-card-address:empty {
  display: none;
}
.lb-card-address {
  margin-top: -1px;
  padding: 20px 18px;
  border: 1px solid var(--lb-ink);
  border-top: 0;
  background: var(--lb-soft2);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
/* Each moved native field wrapper is a column cell (prototype .fields .f) */
.lb-card-address .form-row,
.lb-card-address p.form-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  width: auto;
  float: none;
}
/* Street/house/apartment (billing_address_1) spans the full width (prototype .col2) */
.lb-card-address #billing_address_1_field,
.lb-card-address #billing_country_field {
  grid-column: 1 / -1;
}
/* A field hidden by the adaptive toggle must not leave a gap in the grid */
.lb-card-address .lib-hide-pickup {
  display: none !important;
}
.lb-card-address label {
  font-size: var(--lb-fs-label);
  color: var(--lb-muted);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  margin: 0;
}
.lb-card-address .required {
  color: var(--lb-muted);
  text-decoration: none;
}
.lb-card-address input,
.lb-card-address select,
.lb-card-address .select2-selection {
  font-family: 'Archivo', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size: var(--lb-fs-body);
  padding: 11px 12px;
  border: 1px solid var(--lb-line-d);
  border-radius: 0;
  background: #fff;
  color: var(--lb-ink);
  box-shadow: none;
  margin: 0;
  width: 100%;
  height: auto;
  min-height: 0;
}
.lb-card-address input:focus,
.lb-card-address select:focus {
  outline: 0;
  border-color: var(--lb-ink);
}
@media (max-width: 520px) {
  .lb-card-address {
    grid-template-columns: 1fr;
  }
}

/* Card title row: category name + Sūtījums-N tag + item count (prototype .ship-title) */
.lb-ship-card__tag {
  font-size: var(--lb-fs-label);
  letter-spacing: var(--lb-ls);
  text-transform: uppercase;
  color: var(--lb-muted);
  border: 1px solid var(--lb-line);
  padding: 3px 8px;
}

/* Item list rows — dotted divider, line price on the right (prototype .li-item) */
.lb-ship-card__items {
  gap: 0;
}
.lb-ship-item {
  gap: 14px;
  color: var(--lb-muted-d);
  padding: 8px 0;
  border-bottom: 1px dotted var(--lb-line);
}
.lb-ship-item:last-child {
  border-bottom: 0;
}
.lb-ship-item__thumb img {
  width: 38px;
  height: 46px;
  border: 1px solid var(--lb-line);
  background: var(--lb-soft);
}
.lb-ship-item__price {
  margin-left: auto;
  color: var(--lb-ink);
  font-weight: 600;
  white-space: nowrap;
}

/* Method rows: name + note (under name) on the left, price pushed right. The label
   is flex:1 inside the boxed <li>; it wraps so .lb-mnote drops to its own line
   under the method name (prototype .method .mnm + .mnote + .mprice). */
.lb-ship-slot li label {
  align-items: center;
}
.lb-mnote {
  display: block;
  flex-basis: 100%;
  margin-top: 2px;
  color: var(--lb-muted);
  font-size: var(--lb-fs-note);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.lb-ship-slot li label .amount,
.lb-ship-slot li label .woocommerce-Price-amount {
  margin-left: auto;
  font-size: var(--lb-fs-body);
  font-weight: 600;
  white-space: nowrap;
}

/* Quick 260722-hw8: .lb-ship-card__note noteikumi izvākti — kartes apakšas
   piezīme noņemta visiem piegādes veidiem (Ginta lēmums); Baiba #17 teksts
   tagad dzīvo flat_rate:8 .lb-mnote apakšvirsrakstā. */
.lb-ship-card.is-locked .lb-ship-slot {
  margin-top: 16px;
}

/* ── Kopsavilkums summary aside (prototype .summary) ── */
.lb-summary h3 {
  font-size: var(--lb-fs-section);
  font-weight: 600;
  margin: 0 0 4px;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
}
.lb-summary__sub {
  color: var(--lb-muted);
  font-size: var(--lb-fs-label);
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  margin-bottom: 18px;
}
.lb-sum-ship {
  padding: 14px 0;
  border-top: 1px solid var(--lb-line);
}
.lb-sum-ship__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  font-size: var(--lb-fs-label);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
}
.lb-sum-line {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: var(--lb-fs-note);
  color: var(--lb-muted-d);
  padding: 3px 0;
}

/* ── Issue #21: vienotās podu atribūtu rindas (.lb-attrs) ──
   Viens stils, ko lieto grozs (.lb-citem__meta), 2. soļa sūtījumu kartes
   (.lb-ship-item__nm) un kopsavilkums (.lb-sum-line--attrs). Katrs atribūts
   savā rindā, klusi un pieticīgi zem preces nosaukuma. */
.lb-attrs {
  display: block;
  margin-top: 3px;
}
.lb-attr {
  display: block;
  font-size: var(--lb-fs-label);
  line-height: 1.5;
  color: var(--lb-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.lb-attr__k {
  opacity: 0.7;
}
.lb-attr__k::after {
  content: ":\00a0";
}
/* Grozā .lb-citem__meta jau uzliek uppercase/izmēru — atribūti tur iekļaujas dabiski. */
.lb-citem__meta .lb-attrs {
  margin-top: 0;
}
/* Kopsavilkumā atribūtu rinda nav flex space-between — tikai kreisā kolonna. */
.lb-sum-line--attrs {
  display: block;
  padding: 0 0 4px;
}

.lb-sum-tot {
  padding: 16px 0;
  border-top: 1px solid var(--lb-ink);
  margin-top: 4px;
}
.lb-sum-tot__row {
  display: flex;
  justify-content: space-between;
  padding: 5px 0;
  color: var(--lb-muted-d);
  font-size: var(--lb-fs-note);
}
.lb-sum-tot__row.grand {
  color: var(--lb-ink);
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  font-size: 16px;
  padding-top: 12px;
}
.lb-sum-tot__row.grand b {
  font-weight: 700;
}
/* Baiba (14.08): Flatsome globālais .amount stils summām uzspieda 15,5px/700,
   tāpēc Preces un Piegāde summas iznāca LIELĀKAS par KOPĀ (14px) — apgriezta
   hierarhija. Rindu summas manto savas rindas izmēru; KOPĀ ir lielākā. */
.lb-summary .lb-sum-line .amount,
.lb-summary .lb-sum-line .woocommerce-Price-amount,
.lb-sum-tot__row .amount,
.lb-sum-tot__row .woocommerce-Price-amount {
  font-size: inherit;
  font-weight: inherit;
}
.lb-sum-tot__row.grand b,
.lb-sum-tot__row.grand .amount,
.lb-sum-tot__row.grand .woocommerce-Price-amount {
  font-weight: 700;
}

/* ── Native #customer_details on the Piegāde step ──
   The 4 recipient fields were MOVED out into .lb-recipient; the leftover ADDRESS
   fields stay here (toggled per chosen method by checkout.js). Suppress the noise
   rows that the prototype does not show on this step (company, order notes, the
   account/login extras) — visually only; they still post if present. Style the
   surviving address rows to match the recipient fields. */
.lb-native-details .woocommerce-account-fields,
.lb-native-details #order_comments_field,
.lb-native-details .woocommerce-additional-fields,
.lb-native-details .woocommerce-shipping-fields,
.lb-native-details #ship-to-different-address,
.lb-native-details #billing_customer_type_field,
.lb-native-details #billing_company_field,
.lb-native-details #billing_company_nr_field,
.lb-native-details #billing_vat_number_field {
  display: none !important;
}
/* The "Norēķinu informācija" billing heading is suppressed on the Piegāde step:
   the recipient panel carries its own sec-label, and the only surviving native
   rows are the address fields (shown solely when a courier is chosen), which are
   self-labelled. This keeps the step focused like the prototype. */
.lb-native-details .woocommerce-billing-fields > h3 {
  display: none !important;
}
.lb-native-details .form-row {
  margin-bottom: 14px;
}
.lb-native-details label {
  font-size: var(--lb-fs-label);
  color: var(--lb-muted);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
}
.lb-native-details input,
.lb-native-details select,
.lb-native-details .select2-selection {
  border-radius: 0 !important;
  border: 1px solid var(--lb-line-d);
  background: #fff;
  font-family: 'Archivo', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color: var(--lb-ink);
  box-shadow: none;
}
/* Hidden via the existing adaptive toggle (pickup/terminal → no address needed) */
.lib-hide-pickup {
  display: none !important;
}

/* Issue #9 finish (Task E): hide the visible country field wrapper (WC pārvērš
   vienas valsts lauku par hidden input ar "LV"; mēs paslēpjam tikai redzamo ietvaru).
   The underlying hidden input still posts LV — only the label+wrapper is hidden. */
.lib-hide-country {
  display: none !important;
}

/* ── Step navigation (prototype .actions) ─────────────────────────────── */
.lb-piegade .lb-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-top: 34px;
}
.lb-actions--norekini {
  margin-top: 24px;
}
.lb-piegade .lb-link-back,
.lb-actions--norekini .lb-link-back {
  color: var(--lb-muted);
  font-size: var(--lb-fs-label);
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  text-decoration: none;
  cursor: pointer;
}
.lb-piegade .lb-link-back:hover,
.lb-actions--norekini .lb-link-back:hover {
  color: var(--lb-ink);
}
.lb-piegade .lb-next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid var(--lb-ink);
  border-radius: 0;
  background: var(--lb-ink);
  color: #fff;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  padding: 16px 30px;
  line-height: 1.6; /* Baiba #30: vienāds augstums ar groza .lb-btn (55px). */
  margin: 0;
  cursor: pointer;
  transition: .15s;
}
.lb-piegade .lb-next:hover {
  background: #fff;
  color: var(--lb-ink);
}

/* ── Per-step validation feedback (checkout.js validatePiegadeStep) ──────── */
.lb-step-error {
  background: var(--lb-ink);
  color: #fff;
  font-size: var(--lb-fs-note);
  letter-spacing: 0.02em;
  line-height: 1.45;
  padding: 12px 16px;
  margin: 0 0 18px;
}
/* Invalid required field: a single red label cue only — no box/border around the
   input, and the field itself is intentionally NOT filled (owner preference).
   CRO note: a field-level fill speeds error recognition when several fields are
   wrong at once; if we add it later, tint the INPUT fill, never a border. */
.lb-step--piegade .form-row.woocommerce-invalid label::after {
  content: " — obligāts";
  color: #c0392b;
  font-weight: 500;
}

/* ════════════════════════════════════════════════════════════════════════════
   STEP 3 — NORĒĶINI (Variant B). Same monochrome editorial system as Piegāde.
   The native WooCommerce/MakeCommerce DOM is MOVED here (checkout.js) and styled —
   never rebuilt. Selectors target the real native nodes so order placement is
   untouched (ADR-0001).
   ════════════════════════════════════════════════════════════════════════════ */

/* Visually-hidden but accessible (the native "Your order" heading). */
.lb-screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Hide the verbose native review table on this step (it still posts for WC; we
   render the clean Kopsavilkums aside instead). checkout.js also sets display:none
   on the real node — this is the no-flash belt-and-suspenders. */
.lb-step--norekini #order_review table.woocommerce-checkout-review-order-table,
.lb-step--norekini #order_review table.shop_table {
  display: none !important;
}

/* The relocated #payment block is a plain stack inside the main column. */
.lb-step--norekini #payment,
.lb-step--norekini .woocommerce-checkout-payment {
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: 0;
}
.lb-step--norekini #payment::before {
  display: none; /* Flatsome/WC speech-bubble arrow on the payment box */
}

/* Gateway list = stacked method rows (prototype .method). */
/* ONE outer hairline frame around the whole payment-method list; the methods
   inside are divided by horizontal separators, NOT individually boxed (boxing
   each row produced colliding double borders + radios jammed against the frame).
   Selected method = a quiet soft fill, no border change. */
.lb-step--norekini ul.wc_payment_methods {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--lb-line);
  background: #fff;
}
.lb-step--norekini ul.wc_payment_methods > li {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--lb-line); /* separator between methods */
  list-style: none;
  /* WooCommerce renders <li><input><label> with the radio as a SIBLING of the
     label, so make the li the flex row: radio | label on one line, the accordion
     .payment_box wrapping full-width below. */
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.lb-step--norekini ul.wc_payment_methods > li:first-child {
  border-top: 0;
}
.lb-step--norekini ul.wc_payment_methods > li > label[for^="payment_method_"] {
  flex: 1 1 auto;
  min-width: 0;
  padding: 18px 22px 18px 14px; /* breathing room; left gap from the radio */
}
.lb-step--norekini ul.wc_payment_methods > li > input.input-radio {
  margin-left: 22px; /* keep the radio off the frame edge */
}
.lb-step--norekini ul.wc_payment_methods > li > .payment_box {
  flex: 0 0 100%;
}
.lb-step--norekini ul.wc_payment_methods > li::before {
  display: none;
}
/* The gateway label IS the clickable method row (radio | name+note | tag). */
.lb-step--norekini ul.wc_payment_methods > li > label[for^="payment_method_"] {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 18px 20px;
  margin: 0;
  font-size: var(--lb-fs-body);
  cursor: pointer;
}
/* Native radio → small square dot (prototype .rad). */
.lb-step--norekini ul.wc_payment_methods > li input.input-radio {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  flex: none;
  margin: 0 0 0 22px; /* keep the radio off the frame edge */
  align-self: center;
  border: 1px solid var(--lb-line-d);
  border-radius: 0;
  background: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.lb-step--norekini ul.wc_payment_methods > li input.input-radio:checked {
  border-color: var(--lb-ink);
  background: var(--lb-ink);
}
.lb-step--norekini ul.wc_payment_methods > li input.input-radio:checked::after {
  content: '\2713';
  font-size: 11px;
  line-height: 1;
  color: #fff;
}
.lb-method__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.lb-method__name {
  font-size: var(--lb-fs-body);
  color: var(--lb-ink);
}
.lb-method__note {
  color: var(--lb-muted);
  font-size: var(--lb-fs-note);
  text-transform: uppercase;
  letter-spacing: .03em;
  margin-top: 3px;
}
.lb-method__tag {
  margin-left: auto;
  color: var(--lb-muted);
  font-size: var(--lb-fs-label);
  letter-spacing: var(--lb-ls);
  text-transform: uppercase;
  white-space: nowrap;
}
/* Selected method row: a quiet soft fill only — no border change (the outer
   frame + separators already define the rows; a per-row border would collide). */
.lb-step--norekini ul.wc_payment_methods > li.lb-method--sel {
  background: var(--lb-soft2);
}

/* Accordion reveal: the native .payment_box drops inline under its chosen row.
   No own border (that produced the double line) — a soft panel separated from
   the method label above by a single hairline. */
.lb-step--norekini .payment_box {
  margin: 0;
  padding: 20px 22px;
  background: var(--lb-soft2);
  border: 0;
  border-top: 1px solid var(--lb-line);
  border-radius: 0;
  font-size: var(--lb-fs-note);
  color: var(--lb-muted-d);
  line-height: 1.6;
}
.lb-step--norekini .payment_box::before {
  display: none; /* WC's little up-arrow on the payment box */
}
.lb-step--norekini .payment_box p {
  margin: 0 0 10px;
}
.lb-step--norekini .payment_box p:last-child {
  margin-bottom: 0;
}

/* ── MakeCommerce bank grid — monochrome bare tiles (Variant B mockup) ──────────
   The real MakeCommerce markup (Bootstrap-scoped renderer) is:
     .makecommerce-payment-methods
       > .mb-3 > select.form-select[name=makecommerce_country_picker]   (country dropdown)
       > .makecommerce-picker.bg-white.p-3
           > .makecommerce_country_methods (one per country; WC JS shows the chosen one)
               > .d-flex.my-3.text-muted.fw-medium.fs-6  (section header "Bankas maksājumi" + trailing line)
               > .row.g-3
                   > .payment-method-wrapper.col-6
                       > .payment-method.shadow-sm.rounded
                           > input.btn-check  +  label.payment-control > img.mc-payment-logo
   We already LV-filter; the dropdown + section header are redundant chrome the
   mockup doesn't have, and the .bg-white/.p-3 card + .col-6/.shadow-sm/.rounded
   make the tiles a narrow shadowed box. Override all of it (presentation only —
   the radios/inputs stay untouched, so payment still works). */

/* Fix 2: hide the redundant country dropdown (we already filter to LV) and the
   "Bankas maksājumi" sub-header (+ its trailing dash line). The native d-none
   <label>/<select.d-none> are left alone — we only target the visible chrome. */
.lb-step--norekini .makecommerce-payment-methods select.form-select[name="makecommerce_country_picker"],
.lb-step--norekini .makecommerce-payment-methods .mb-3:has(> select.form-select[name="makecommerce_country_picker"]) {
  display: none !important;
}
.lb-step--norekini .makecommerce-payment-methods .makecommerce-picker .d-flex.my-3 {
  display: none !important;
}

/* Fix 3: strip the white card look from the picker root (.bg-white.p-3) so the
   tiles sit flush in the panel — transparent, no padding box, no border/shadow. */
.lb-step--norekini .makecommerce-payment-methods .makecommerce-picker {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Fix 3: widen the grid so tiles flow ~3-4 across and FILL the panel width.
   Override Bootstrap's .row.g-3 (negative margins + gutters) and the .col-6
   wrapper (50% width) with a CSS grid of auto-filled minmax tracks. */
.lb-step--norekini .makecommerce-payment-methods .makecommerce-picker .row.g-3 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 8px;
  margin: 0 !important;
  width: 100%;
}
.lb-step--norekini .makecommerce-payment-methods .payment-method-wrapper.col-6 {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* LV-only presentation filter (checkout.js adds .lb-bank--hide to non-lv_ tiles
   un to dublikātiem). Slēpjam arī flīzes režģa šūnu (.payment-method-wrapper) —
   citādi tukšā šūna tur savu vietu un režģī paliek "caurumi"; :has() kā rezerve,
   ja JS šūnai klasi vēl nav uzlicis. */
.lb-step--norekini .makecommerce-payment-methods .payment-method.lb-bank--hide,
.lb-step--norekini .makecommerce-payment-methods .payment-method-wrapper.lb-bank--hide,
.lb-step--norekini .makecommerce-payment-methods .payment-method-wrapper:has(> .payment-method.lb-bank--hide) {
  display: none !important;
}

/* Fix 3: the tile itself — square hairline mono tile, no Bootstrap shadow/round.
   Override the inline height:48px and .shadow-sm/.rounded utility classes. */
.lb-step--norekini .makecommerce-payment-methods .payment-method {
  position: relative;
  display: grid !important;
  place-items: center;
  height: 56px !important;
  margin: 0;
  padding: 8px;
  border: 1px solid var(--lb-line-d) !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: border-color .12s;
}
.lb-step--norekini .makecommerce-payment-methods .payment-method:hover {
  border-color: var(--lb-ink) !important;
}
/* Hide the native radio; the whole tile/label is the clickable target. */
.lb-step--norekini .makecommerce-payment-methods .payment-method input.btn-check,
.lb-step--norekini .makecommerce-payment-methods .payment-method input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
  pointer-events: none;
}
/* The Bootstrap .check overlay div is not used in our mono look — neutralize it. */
.lb-step--norekini .makecommerce-payment-methods .payment-method .check {
  display: none !important;
}
.lb-step--norekini .makecommerce-payment-methods .payment-method label,
.lb-step--norekini .makecommerce-payment-methods .payment-method .payment-control {
  display: grid !important;
  place-items: center;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  cursor: pointer;
}
.lb-step--norekini .makecommerce-payment-methods .payment-method img {
  max-width: 100%;
  max-height: 30px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
/* Selected bank tile = ink border (the native :checked radio drives it). */
.lb-step--norekini .makecommerce-payment-methods .payment-method:has(input:checked),
.lb-step--norekini .makecommerce-payment-methods .payment-method input:checked ~ label,
.lb-step--norekini .makecommerce-payment-methods .payment-method.selected {
  border-color: var(--lb-ink) !important;
  box-shadow: inset 0 0 0 1px var(--lb-ink) !important;
}
@media (max-width: 560px) {
  .lb-step--norekini .makecommerce-payment-methods .makecommerce-picker .row.g-3 {
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  }
}

/* "Karte / Apple Pay" tile (checkout.js injects .lb-card-tile as the LAST tile in
   the visible LV grid). Same square hairline mono look as the bank tiles, but it
   is a REAL route to the MakeCommerce card/Apple Pay page (sets the hidden
   PRESELECTED_METHOD_makecommerce select to card_visa) — not a fake control. We
   reuse .payment-method so it inherits the bank tile box styling; .lb-card-tile__box
   carries that class. The glyph + text label are mono (no borrowed brand logos). */
.lb-step--norekini .makecommerce-payment-methods .lb-card-tile .payment-method,
.lb-step--norekini .makecommerce-payment-methods .lb-card-tile__box {
  gap: 8px;
  flex-direction: row !important;
  padding: 8px 10px;
}
/* Card glyph: a simple monochrome "card" rectangle with a magnetic stripe, drawn
   in CSS so we ship no third-party logo we don't own. */
.lb-step--norekini .makecommerce-payment-methods .lb-card-tile__glyph {
  flex: 0 0 auto;
  width: 26px;
  height: 18px;
  border: 1.5px solid var(--lb-ink);
  border-radius: 3px;
  position: relative;
  background: #fff;
}
.lb-step--norekini .makecommerce-payment-methods .lb-card-tile__glyph::before {
  /* magnetic stripe */
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 3px;
  height: 4px;
  background: var(--lb-ink);
}
.lb-step--norekini .makecommerce-payment-methods .lb-card-tile__glyph::after {
  /* chip / number hint */
  content: '';
  position: absolute;
  left: 3px;
  bottom: 3px;
  width: 8px;
  height: 3px;
  background: var(--lb-ink);
  opacity: 0.55;
}
.lb-step--norekini .makecommerce-payment-methods .lb-card-tile__label {
  font-size: var(--lb-fs-label);
  font-weight: 600;
  line-height: 1.15;
  color: var(--lb-ink);
  letter-spacing: 0.01em;
  text-align: left;
  white-space: normal;
}
/* Selected state: ink border like a chosen bank tile. Driven by JS class, since
   there is no native radio inside our tile. */
.lb-step--norekini .makecommerce-payment-methods .lb-card-tile--sel .payment-method,
.lb-step--norekini .makecommerce-payment-methods .lb-card-tile--sel .lb-card-tile__box {
  border-color: var(--lb-ink) !important;
  box-shadow: inset 0 0 0 1px var(--lb-ink) !important;
}
/* Keyboard focus ring for accessibility (tile is role=button, tabindex=0). */
.lb-step--norekini .makecommerce-payment-methods .lb-card-tile__box:focus-visible {
  outline: 2px solid var(--lb-ink);
  outline-offset: 2px;
}

/* Terms + place-order row (relocated native .form-row.place-order). */
.lb-step--norekini .form-row.place-order {
  margin: 24px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  width: auto;
}
.lb-step--norekini .woocommerce-terms-and-conditions-wrapper {
  margin: 0 0 18px;
}
/* Baiba #31 (pārstrāde 22.07, quick 260722-lf7): IZMESTS iepriekšējais
   display:flex uz label — flex padarīja span.required par ATSEVIŠĶU šūnu aiz
   teksta span; kad teikums aplaužas, teksta span KASTE aizņem visu platumu un
   zvaigznīte stāvēja aiz kastes malas (mobile GAP ~113px), nevis aiz pēdējā
   vārda. -6px margin nudge (20.07) bija simptoma bīdīšana — noraidīts.
   Jaunais mehānisms: label = parasts bloks ar kreiso padding, čekbokss absolūti
   kreisajā, teksts + zvaigznīte INLINE plūsmā → zvaigznīte seko tieši aiz
   pēdējā vārda un aplaužas kopā ar tekstu. */
.lb-step--norekini .validate-required.terms,
.lb-step--norekini .woocommerce-form__label-for-checkbox {
  display: block;
  font-size: var(--lb-fs-note);
  color: var(--lb-muted-d);
  line-height: 1.5;
  margin: 0;
}
.lb-step--norekini .woocommerce-form__label-for-checkbox {
  position: relative;
  padding-left: 26px; /* 16px čekbokss + 10px atstarpe (bijušais flex gap) */
}
.lb-step--norekini .woocommerce-terms-and-conditions-checkbox-text,
.lb-step--norekini .validate-required.terms .required,
.lb-step--norekini .woocommerce-form__label-for-checkbox .required {
  display: inline;
}
.lb-step--norekini #terms {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  position: absolute;
  left: 0;
  top: 2px;
  margin: 0;
  border: 1px solid var(--lb-line-d);
  border-radius: 0;
  background: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.lb-step--norekini #terms:checked {
  border-color: var(--lb-ink);
  background: var(--lb-ink);
}
.lb-step--norekini #terms:checked::after {
  content: '\2713';
  font-size: 11px;
  line-height: 1;
  color: #fff;
}
.lb-step--norekini .woocommerce-terms-and-conditions-checkbox-text a,
.lb-step--norekini .woocommerce-terms-and-conditions-link {
  color: var(--lb-ink);
  font-weight: 600;
  text-decoration: underline;
}

/* The real #place_order, restyled as the full-width ink button. */
.lb-step--norekini #place_order {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  gap: 10px;
  background: var(--lb-ink);
  color: #fff;
  border: 1px solid var(--lb-ink);
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  font-weight: 600;
  font-size: 13px;
  font-family: 'Archivo', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  padding: 16px 18px;
  line-height: 1.6; /* Baiba #30: vienāds augstums ar pārējām Turpināt pogām. */
  margin: 18px 0 0;
  min-height: 0;
  height: auto;
  box-shadow: none;
  cursor: pointer;
  transition: .15s;
}
.lb-step--norekini #place_order:hover {
  background: #fff;
  color: var(--lb-ink);
}

/* Fix 4 (this plan): the WooCommerce privacy-policy text, relocated by checkout.js
   to sit just above the Apmaksāt button. Demote it from a full-width prominent
   paragraph to a small, muted legal line (keep the text — just less shouty). */
.lb-step--norekini .lb-privacy-note,
.lb-step--norekini .woocommerce-privacy-policy-text {
  margin: 16px 0 0;
  font-size: 12px; /* Baiba #31: pieskaņots piezīmju skalai; vienāds web + mobilajā. */
  line-height: 1.5;
  color: var(--lb-muted);
}
.lb-step--norekini .lb-privacy-note p,
.lb-step--norekini .woocommerce-privacy-policy-text p {
  margin: 0;
  font-size: inherit;
  color: inherit;
}
.lb-step--norekini .lb-privacy-note a {
  color: var(--lb-muted-d);
  text-decoration: underline;
}
/* When the note sits just above the button, drop the button's top margin so they
   read as one block (the note already carries the gap). */
.lb-step--norekini .lb-privacy-note + #place_order {
  margin-top: 12px;
}

/* Back link under the methods. */
.lb-step--norekini .lb-actions--norekini {
  margin-top: 16px;
  display: block;
}

/* ── Terms & Conditions guard (red warning when unchecked on submit) ─────── */
.lb-step--norekini .lb-terms-error {
  color: #c0392b;
  font-size: var(--lb-fs-note);
  font-weight: 500;
  line-height: 1.45;
  margin: 0 0 14px;
}
/* Turn the ToC row red and outline the checkbox so it's unmistakable. */
.lb-step--norekini .lb-terms-invalid,
.lb-step--norekini .lb-terms-invalid label,
.lb-step--norekini .lb-terms-invalid .woocommerce-terms-and-conditions-checkbox-text {
  color: #c0392b;
}
.lb-step--norekini .lb-terms-invalid #terms {
  outline: 1.5px solid #c0392b;
  outline-offset: 2px;
}

/* ── FIX: gateway-row flex blowout pushed the bank grid out of the column ──
   Making the <li> a flex row gave its children the default flex min-width:auto,
   so the makecommerce .payment_box expanded to its bank-grid content min-width
   (~1272px) and overflowed the 834px column into the Kopsavilkums aside. Pin the
   children to min-width:0 so the box stays exactly the column width; the existing
   auto-fill tile grid then wraps correctly (6 per row, not 10 in one overflowing row). */
.lb-step--norekini ul.wc_payment_methods > li > * {
  min-width: 0;
}
.lb-step--norekini ul.wc_payment_methods > li > .payment_box {
  max-width: 100%;
  overflow: hidden;
}
.lb-step--norekini .makecommerce-payment-methods,
.lb-step--norekini .makecommerce-picker,
.lb-step--norekini .makecommerce_country_methods,
.lb-step--norekini .makecommerce-payment-methods .row.g-3,
.lb-step--norekini .makecommerce-payment-methods .makecommerce-picker .row.g-3 {
  min-width: 0;
  max-width: 100%;
}

/* Owner: drop the redundant right-side gateway tags ("MakeCommerce" / "Rēķins")
   — they duplicate the method name already shown on the left. */
.lb-step--norekini .lb-method__tag {
  display: none;
}


/* ──────────────────────────────────────────────────────────────────────────────
   STEP 4 — PALDIES (order-received / thank-you). Ported from prototype .ty block,
   renamed to the project BEM convention. Same monochrome tokens as the rest of the
   checkout (Archivo, square, no shadows). Rendered by woocommerce/checkout/thankyou.php.
   ────────────────────────────────────────────────────────────────────────────── */
.lb-paldies {
  display: block;
}

.lb-ty {
  max-width: 620px;
  margin: 0 auto;
  text-align: center;
  padding-top: 10px;
}

.lb-ty__seal {
  width: 64px;
  height: 64px;
  background: var(--lb-ink);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 26px;
  margin: 0 auto 24px;
}

.lb-ty h1 {
  margin: 0;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  line-height: 1.2;
  font-size: var(--lb-fs-h1);
  font-family: 'Archivo', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

.lb-ty__ordno {
  color: var(--lb-muted);
  margin-top: 12px;
  font-size: var(--lb-fs-note);
}

.lb-ty__ordno a {
  color: inherit;
}

/* Per-shipment confirmation cards (built from the real order). */
.lb-ty-card {
  text-align: left;
  margin-top: 34px;
  border: 1px solid var(--lb-line);
}

.lb-ty-ship {
  display: flex;
  gap: 18px;
  padding: 22px 24px;
  border-bottom: 1px solid var(--lb-line);
}

/* Quick 260722-kp5 — e-dāvanu kartes apliecinājuma kartiņa uz Paldies. */
.lb-ty-gift {
  padding: 22px 24px;
}
.lb-ty-gift__h {
  font-size: var(--lb-fs-section);
  font-weight: 600;
  margin: 0 0 10px;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
}
.lb-ty-gift .lb-gift-line {
  margin: 0 0 8px;
  color: var(--lb-muted-d);
  font-size: var(--lb-fs-body);
}
.lb-ty-gift .lb-gift-row {
  margin: 0 0 6px;
  font-size: var(--lb-fs-body);
}

.lb-ty-ship:last-child {
  border-bottom: 0;
}

.lb-ty-ship__num {
  font-size: var(--lb-fs-label);
  color: var(--lb-muted);
  letter-spacing: var(--lb-ls);
  flex: none;
  width: 46px;
  padding-top: 3px;
}

.lb-ty-ship h3 {
  font-size: var(--lb-fs-section);
  font-weight: 600;
  margin: 0 0 6px;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  line-height: 1.3;
  font-family: 'Archivo', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

.lb-ty-ship__d {
  color: var(--lb-muted-d);
  font-size: var(--lb-fs-note);
  line-height: 1.55;
}

.lb-ty-note {
  color: var(--lb-muted);
  font-size: var(--lb-fs-note);
  margin-top: 26px;
  line-height: 1.6;
}

.lb-ty-note a {
  color: var(--lb-ink);
}

.lb-ty__actions {
  margin-top: 28px;
}

/* Task D — Paldies button role swap. Back-home .lb-btn--ghost becomes solid black
   (primary) on the success block only; .lb-ty--failed also uses .lb-ty__actions so
   we scope to :not(.lb-ty--failed) to avoid changing the failed-order buttons. */
.lb-ty:not(.lb-ty--failed) .lb-ty__actions .lb-btn--ghost {
  background: var(--lb-ink);
  color: #fff;
  border: 1px solid var(--lb-ink);
}

.lb-ty:not(.lb-ty--failed) .lb-ty__actions .lb-btn--ghost:hover {
  background: #fff;
  color: var(--lb-ink);
}

.lb-ty--failed {
  max-width: 620px;
  margin: 0 auto;
  text-align: center;
}

.lb-ty--failed .lb-ty__actions {
  display: flex;
  gap: 12px;
  justify-content: center;
}

/* Native order details kept below the hero — collapsible + muted. */
.lb-ty-native {
  max-width: 760px;
  margin: 44px auto 0;
  border-top: 1px solid var(--lb-line);
  padding-top: 20px;
  text-align: center;
}

.lb-ty-native > summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  list-style: none;
  background: #fff;
  color: var(--lb-ink);
  border: 1px solid var(--lb-ink);
  border-radius: 0;
  padding: 14px 28px;
  font-family: 'Archivo', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  box-shadow: none;
  transition: .15s;
}

.lb-ty-native > summary::-webkit-details-marker {
  display: none;
}

.lb-ty-native > summary:hover {
  background: var(--lb-ink);
  color: #fff;
}

.lb-ty-native[open] > summary {
  margin-bottom: 24px;
}

.lb-ty-native__body {
  font-size: var(--lb-fs-body);
}

@media (max-width: 560px) {
  .lb-ty h1 {
    font-size: 27px;
  }

  .lb-ty-ship {
    padding: 18px 16px;
    gap: 12px;
  }
}

/* iOS Safari anti-zoom: any focused control < 16px makes iOS zoom in and never
   out. Force 16px on all checkout form controls at mobile. */
@media (max-width: 849px) {
  .lb-recipient__fields input,
  .lb-recipient__fields select,
  .lb-company__fields input,
  .lb-company__fields select,
  form.checkout input[type="text"],
  form.checkout input[type="tel"],
  form.checkout input[type="email"],
  form.checkout input[type="number"],
  form.checkout input[type="search"],
  form.checkout input[type="password"],
  form.checkout select,
  form.checkout textarea,
  .lb-ship-slot .omniva-terminals-list .search-input {
    font-size: 16px;
  }
}

/* GH #27 — Omniva no-map picker at ≤849px: full-width, comfortable gap above
   the Turpināt button, no overlap with surrounding texts (matches the 849px
   breakpoint used across this file). */
@media (max-width: 849px) {
  .lb-ship-slot .omnivalt_terminal_container.old {
    margin: 12px 0 6px;
  }
  .lb-ship-slot .omniva-terminals-list,
  .lb-ship-slot .omniva-terminals-list .inner-container {
    width: 100%;
  }
  .lb-ship-slot .omniva-terminals-list ul {
    max-height: 220px;
  }
}

/* ── Maksājumu partnera zīme kājenē (Baiba #13) ──
   Aizstāj bijušo "Drošs maksājums · SSL" galvenē. Kluss fakts, nevis solījums:
   mazs, pieklusināts, zem copyright rindas. Nedrīkst konkurēt ar copyright —
   tāpēc opacity .75 un tā pati burtu izretināšana, kas pārējām mikro-etiķetēm. */
/* Flatsome .footer-primary ir flex ar nowrap, tāpēc zīme citādi ielec vienā
   rindā blakus copyright tekstam. Šis fails tiek ielādēts TIKAI grozā/checkout
   (letitbloom_enqueue_checkout_assets), tāpēc noteikums nenoplūst uz pārējām
   lapām un veikala kājene paliek neskarta. */
.focused-checkout-footer .footer-primary,
.absolute-footer .footer-primary {
  flex-wrap: wrap;
}

.lb-pay-mark {
  flex: 0 0 100%; /* pilna rinda zem copyright */
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 10px;
  opacity: .75;
}

.lb-pay-mark__label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  color: var(--lb-muted);
}

.lb-pay-mark__logo {
  /* SVG ir 155x60, bet ap vārdzīmi ir daudz tukšuma — 26px augstums to nolīdzina
     ar 11px etiķeti. width:auto, lai proporcija nesaplok. */
  height: 26px;
  width: auto;
  display: block;
}


/* ── quick 260722-hw8 — mūsu pašu Omniva pakomātu izvēles UI (.lb-omniva-picker) ──
   Saraksts + meklēšana + pilsētas filtrs + melnbalta OSM karte. Plugina
   .omniva-terminals-list tiek slēpts TIKAI zem JS pieliktās .lb-omniva-active
   klases — ja mūsu dati/JS nenostrādā, klase netiek pielikta un plugina saraksts
   paliek redzams (fallback līgums). Dizains: monochrome, Archivo, kvadrātisks,
   bez ēnām/radiusiem — esošie tokeni --lb-ink/--lb-line/--lb-soft2/--lb-muted. */
.omnivalt_terminal_container.lb-omniva-active .omniva-terminals-list {
  display: none;
}
.lb-omniva-picker {
  flex-basis: 100%;
  width: 100%;
  margin: 10px 0 0;
  font-family: 'Archivo', system-ui, sans-serif;
}
.lb-omniva-picker__controls {
  display: flex;
  gap: 8px;
}
.lb-omniva-picker__city,
.lb-ship-slot .lb-omniva-picker select.lb-omniva-picker__city {
  flex: 0 0 38%;
  max-width: 38%;
  height: 44px;
  padding: 0 30px 0 12px;
  border: 1px solid var(--lb-line-d);
  border-radius: 0;
  background-color: #fff;
  color: var(--lb-ink);
  font-family: 'Archivo', system-ui, sans-serif;
  font-size: 13px;
  box-shadow: none;
}
.lb-omniva-picker__search,
.lb-ship-slot .lb-omniva-picker input.lb-omniva-picker__search {
  flex: 1 1 auto;
  height: 44px;
  padding: 0 12px;
  border: 1px solid var(--lb-line-d);
  border-radius: 0;
  background: #fff;
  color: var(--lb-ink);
  font-family: 'Archivo', system-ui, sans-serif;
  font-size: 13px;
  box-shadow: none;
  margin: 0;
}
.lb-omniva-picker__city:focus,
.lb-omniva-picker__search:focus,
.lb-ship-slot .lb-omniva-picker input.lb-omniva-picker__search:focus {
  border-color: var(--lb-ink);
  outline: none;
  box-shadow: none;
}
.lb-omniva-picker__chosen {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
  padding: 9px 12px;
  border: 1px solid var(--lb-ink);
  background: var(--lb-soft2);
  color: var(--lb-ink);
  font-size: 13px;
  font-weight: 600;
}
/* "MAINĪT" — atver izvēlni atpakaļ pēc izvēles (owner fix 1). */
.lb-omniva-picker__change,
.lb-ship-slot .lb-omniva-picker button.lb-omniva-picker__change {
  flex: 0 0 auto;
  margin: 0;
  padding: 6px 12px;
  border: 1px solid var(--lb-ink);
  border-radius: 0;
  background: #fff;
  color: var(--lb-ink);
  font-family: 'Archivo', system-ui, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: var(--lb-ls);
  text-transform: uppercase;
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
}
.lb-omniva-picker__change:hover,
.lb-ship-slot .lb-omniva-picker button.lb-omniva-picker__change:hover {
  background: var(--lb-ink);
  color: #fff;
}
/* Saliektais stāvoklis (owner fix 1+2): pēc izvēles paliek tikai izvēles josla +
   maza, uz izvēlēto pakomātu pietuvināta karte. */
.lb-omniva-picker.is-collapsed .lb-omniva-picker__controls,
.lb-omniva-picker.is-collapsed .lb-omniva-picker__list {
  display: none;
}
.lb-omniva-picker.is-collapsed .lb-omniva-picker__map {
  height: 220px;
}
.lb-omniva-picker__list {
  margin-top: 8px;
  max-height: 320px;
  overflow-y: auto;
  border: 1px solid var(--lb-line-d);
  background: #fff;
}
.lb-omniva-picker__city-head {
  padding: 7px 12px 5px;
  background: var(--lb-soft2);
  color: var(--lb-muted);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--lb-ls);
  position: sticky;
  top: 0;
}
.lb-omniva-picker__item {
  padding: 9px 12px;
  font-size: 13px;
  color: var(--lb-ink);
  cursor: pointer;
  border-bottom: 1px solid var(--lb-line);
}
.lb-omniva-picker__item:last-child {
  border-bottom: none;
}
.lb-omniva-picker__item:hover,
.lb-omniva-picker__item.is-selected {
  background: var(--lb-ink);
  color: #fff;
}
.lb-omniva-picker__empty {
  padding: 14px 12px;
  color: var(--lb-muted);
  font-size: 13px;
}
/* Karte: melnbaltas OSM flīzes, 1px hairline, bez radiusa. */
.lb-omniva-picker__map {
  margin-top: 8px;
  height: 360px;
  border: 1px solid var(--lb-line-d);
  border-radius: 0;
  z-index: 0; /* jauns stacking context — Leaflet paneļi nelien pāri stepper/modal */
}
.lb-omniva-picker__map .leaflet-tile-pane {
  filter: grayscale(1);
}
/* Melns kvadrātveida marķieris (nekādu zilo Leaflet pin). Izvēlētais — ar
   gredzenu caur box-shadow (transform aiztikt nedrīkst — Leaflet to lieto
   pozicionēšanai ar translate3d). */
.lb-omniva-marker {
  background: var(--lb-ink);
  border: 2px solid #fff;
  border-radius: 0;
  box-sizing: border-box;
  cursor: pointer;
}
.lb-omniva-marker.is-selected {
  background: var(--lb-ink);
  box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--lb-ink);
}

@media (max-width: 849px) {
  /* Mobilajā saraksts ir primārais; karte — sekundāra, zemāka zem saraksta. */
  .lb-omniva-picker__controls {
    flex-direction: column;
  }
  .lb-omniva-picker__city,
  .lb-ship-slot .lb-omniva-picker select.lb-omniva-picker__city {
    flex: 0 0 auto;
    max-width: none;
    width: 100%;
  }
  .lb-omniva-picker__list {
    max-height: 260px;
  }
  .lb-omniva-picker__map {
    height: 260px;
  }
  .lb-omniva-picker.is-collapsed .lb-omniva-picker__map {
    height: 180px;
  }
}
