/* ==== Téma nd: košík podľa prototypu (pages-cart.jsx, CartPage) - MAIN_CFG_ND_CHECKOUT_V2 ====
   Načíta ho layout_head.php len pri téme nd a zapnutom prepínači; všetko je pod body.nd-co2.
   Markup: template/default/basket.php (vetvy $nd_co2), postup nákupu nd_flow_steps() v template/nd/bootstrap.php. */

/* ---- Spoločné pre košík aj objednávku (nd_order.css ich môže použiť bez kopírovania) ---- */

/* postup nákupu: 1 Nákupný košík - 2 Objednávka - 3 Hotovo (prototyp FlowSteps) */
body.nd-co2 .nd-flow { display: flex; align-items: center; margin: 6px 0 22px; }
body.nd-co2 .nd-flow-step { display: flex; align-items: center; gap: 11px; flex-shrink: 0; padding: 4px 6px; color: var(--nd-muted-2); text-decoration: none !important; }
body.nd-co2 a.nd-flow-step:hover .nd-flow-label { text-decoration: underline; }
body.nd-co2 .nd-flow-dot {
  display: grid; place-items: center; flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%;
  background: var(--nd-surface-3); color: var(--nd-muted);
  font-family: var(--nd-font-display); font-size: 15px; font-weight: 700; line-height: 1;
}
body.nd-co2 .nd-flow-label { font-size: var(--nd-fs-14-5); font-weight: 700; line-height: 1.1; }
body.nd-co2 .nd-flow-step.is-active .nd-flow-dot { background: var(--nd-accent); color: var(--nd-on-accent); box-shadow: 0 0 0 4px var(--nd-accent-soft); }
body.nd-co2 .nd-flow-step.is-active .nd-flow-label { color: var(--nd-ink); }
body.nd-co2 .nd-flow-step.is-done .nd-flow-dot { background: var(--nd-ok); color: #fff; }
body.nd-co2 .nd-flow-step.is-done .nd-flow-label { color: var(--nd-ink-2); }
body.nd-co2 .nd-flow-line { flex: 1; min-width: 24px; height: 3px; margin: 0 10px; border-radius: 3px; background: var(--nd-surface-3); }
body.nd-co2 .nd-flow-line.is-done { background: var(--nd-ok); }
@media (max-width: 599px) {
  body.nd-co2 .nd-flow { margin-bottom: 16px; }
  body.nd-co2 .nd-flow-step { flex-direction: column; gap: 5px; padding: 0; }
  body.nd-co2 .nd-flow-dot { width: 28px; height: 28px; font-size: 13px; }
  body.nd-co2 .nd-flow-label { font-size: var(--nd-fs-12); text-align: center; }
  body.nd-co2 .nd-flow-line { margin: 0 6px 18px; }
}

/* karta, tlačidlá, štítok (prototyp .card / .btn / .pill) */
body.nd-co2 .nd-card { border: 1px solid var(--nd-line); border-radius: var(--nd-r-lg); background: var(--nd-surface); }
body.nd-co2 .nd-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 18px; border: 1px solid transparent; border-radius: var(--nd-r);
  font-family: var(--nd-font-body); font-size: var(--nd-fs-15); font-weight: 600; line-height: 1; white-space: nowrap;
  text-decoration: none !important; text-transform: none; cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
}
body.nd-co2 .nd-btn:active { transform: translateY(1px); }
body.nd-co2 .nd-btn-primary { background: var(--nd-accent); color: var(--nd-on-accent) !important; }
body.nd-co2 .nd-btn-primary:hover { background: var(--nd-accent-deep); }
body.nd-co2 .nd-btn-dark { background: var(--nd-ink); color: #fff !important; }
body.nd-co2 .nd-btn-dark:hover { background: var(--nd-ink-2); }
body.nd-co2 .nd-btn-ghost { border-color: var(--nd-line); background: var(--nd-surface); color: var(--nd-ink) !important; }
body.nd-co2 .nd-btn-ghost:hover { border-color: var(--nd-ink-2); }
body.nd-co2 .nd-btn-lg { padding: 15px 24px; font-size: 16px; }
body.nd-co2 .nd-btn-sm { padding: 9px 14px; font-size: var(--nd-fs-13-5); }
body.nd-co2 .nd-btn-block { display: flex; width: 100%; }
body.nd-co2 .nd-co-pill {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: var(--nd-r-pill);
  background: var(--nd-surface-3); color: var(--nd-muted); font-size: var(--nd-fs-12); font-weight: 600; line-height: 1; white-space: nowrap;
}
body.nd-co2 .nd-co-pill.is-ok { background: var(--nd-ok-soft); color: var(--nd-ok); }

/* ---- Stránka košíka ---- */

/* starý postup a nadpis stránky (page.php) nahrádza postup a nadpis s počtom položiek z basket.php */
body.nd-co2 .mainContainer:has(.nd-cart, .nd-cart-empty) .order-progress,
body.nd-co2 .mainContainer:has(.nd-cart, .nd-cart-empty) h1:not(.nd-cart-h1) { display: none; }

body.nd-co2 .basket.nd-cart { margin-top: 8px; font-size: var(--nd-fs-15); }
body.nd-co2 .nd-cart-h1 { margin: 0 0 18px; font-family: var(--nd-font-display); font-size: 30px; font-weight: 700; line-height: 1.15; color: var(--nd-ink); }
body.nd-co2 .nd-cart-h1-n { color: var(--nd-ink); }

/* dva stĺpce: položky | súhrn 360 px (od tabletu na šírku), inak súhrn pod položkami */
body.nd-co2 .nd-cart-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
body.nd-co2 .nd-cart-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
body.nd-co2 .nd-cart-side { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
@media (min-width: 992px) {
  body.nd-co2 .nd-cart-grid { grid-template-columns: minmax(0, 1fr) 360px; }
  body.nd-co2 .nd-cart-side { position: sticky; top: calc(var(--nd-nav-bot, var(--nd-hdr-vis, 0px)) + var(--nd-car-h, 0px) + 16px); }
}
/* hlášky nad položkami cez celú šírku (oba stĺpce); odsadenie od mriežky len keď je aspoň jedna neprázdna */
body.nd-co2 .nd-cart-notes { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
body.nd-co2 .nd-cart-notes:has(> :not(:empty):not(noscript)) { margin-bottom: 16px; }
/* prázdne obaly hlášok (AJAX ich prekresľuje) nesmú v stĺpci robiť medzeru */
body.nd-co2 .nd-cart-main > div:empty, body.nd-co2 .nd-cart-main > noscript,
body.nd-co2 .nd-cart-notes > div:empty, body.nd-co2 .nd-cart-notes > noscript { display: none; }
/* úvodný text stránky košíka (page.php, .shortdesc má v nd.css max. 820 px) cez celú šírku ako hlášky pod ním */
body.nd-co2 .mainContainer:has(.nd-cart, .nd-cart-empty) > .clearfix > .shortdesc { max-width: none; }
/* rámik z CMS (inline style="border: 1px solid red; padding:10px") = karta s ikonou rovnakého typu ako hláška o paletovej
   preprave (.nd-co-note nižšie), len v informačnej modrej. Inline štýl prebije len !important a nd.css:1811 dáva tomu istému
   boxu žltý ľavý pásik so selektorom s ID (:has(#basket_form)) - :is(#nd-x, *) preto len dvíha špecificitu na úroveň ID,
   zhodne sa s každým prvkom (na košíku bez read_more text nie je v #popis).
   Blok, nie flex: vpravo pláva ikona zdieľania košíka (#sbi) a flex kontajner (nový BFC) by sa jej vyhol a bol o 40 px užší
   než ostatné karty; blok ide cez celú šírku a ikona ostane v ňom. Ikona „i" je preto absolútne v ľavom paddingu. */
body.nd-co2 .mainContainer:has(.nd-cart, .nd-cart-empty) > .clearfix > .shortdesc div[style*="border"]:is(#nd-x, *) {
	position: relative; display: block;
	margin: 0 0 16px !important; padding: 12px 14px 12px 42px !important;
	border: 1px solid color-mix(in srgb, var(--nd-info) 30%, transparent) !important; border-radius: var(--nd-r-md, 10px) !important;
	background: var(--nd-info-soft) !important;
	font-size: var(--nd-fs-14, 14px); line-height: 1.45; color: var(--nd-ink-2, var(--nd-ink));
}
/* ikona „i" (CMS do textu nič vložiť nevie, preto maska cez ::before) */
body.nd-co2 .mainContainer:has(.nd-cart, .nd-cart-empty) > .clearfix > .shortdesc div[style*="border"]:is(#nd-x, *)::before {
	content: ""; position: absolute; left: 14px; top: 13px; width: 18px; height: 18px; background: var(--nd-info);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.nd-co2 .mainContainer:has(.nd-cart, .nd-cart-empty) > .clearfix > .shortdesc div[style*="border"]:is(#nd-x, *) a { color: var(--nd-info) !important; text-decoration: underline; text-underline-offset: 2px; }
/* page.php dáva textu košíka (read_more) zbaľovanie .description_wrapper.collapsed: max-height 120px + maska do priehľadna
   by zjedla spodok bubliny a pod ňou visí „Čítajte viac“ s <br>. Hláška je krátka, v košíku ju ukáž celú. */
body.nd-co2 .mainContainer:has(.nd-cart, .nd-cart-empty) > .clearfix > .shortdesc .description_wrapper.collapsed { max-height: none; overflow: visible; -webkit-mask-image: none; mask-image: none; }
body.nd-co2 .mainContainer:has(.nd-cart, .nd-cart-empty) > .clearfix > .shortdesc :is(.citajte_viac_wrapper, .citajte_menej_wrapper),
body.nd-co2 .mainContainer:has(.nd-cart, .nd-cart-empty) > .clearfix > .shortdesc > br { display: none; }
/* prázdne <p> z editora (aj s komentárom vnútri) nesmú robiť medzeru */
body.nd-co2 .mainContainer:has(.nd-cart, .nd-cart-empty) > .clearfix > .shortdesc .description_wrapper > p:not(:has(*)) { margin: 0; }
/* hláška o paletovej preprave (#basket_overweight): jemná karta s ikonou ako v kroku 2 pokladne (nd_order.css) */
body.nd-co2 .nd-cart .ajaxbasket-warning.nd-co-note {
	display: flex; align-items: flex-start; gap: 10px;
	margin: 0; padding: 12px 14px;
	background: var(--nd-warn-soft); color: var(--nd-ink-2, var(--nd-ink));
	border: 1px solid color-mix(in srgb, var(--nd-warn) 35%, transparent); border-radius: var(--nd-r-md, 10px);
	font-size: var(--nd-fs-14, 14px); line-height: 1.45;
}
body.nd-co2 .nd-cart .ajaxbasket-warning.nd-co-note > svg { flex: none; margin-top: 1px; color: var(--nd-warn); }
body.nd-co2 #basket_items { display: flex; flex-direction: column; gap: 12px; }

/* doprava zadarmo: karta s pásikom */
body.nd-co2 .nd-cart-free { padding: 12px 16px; border: 1px solid var(--nd-line); border-radius: var(--nd-r-lg); background: var(--nd-surface); }
body.nd-co2 .nd-cart-free-t { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: var(--nd-fs-13-5); line-height: 1.35; color: var(--nd-ink-2); }
body.nd-co2 .nd-cart-free-t .nd-ico { flex-shrink: 0; color: var(--nd-accent-deep); }
body.nd-co2 .nd-cart-free-t b { color: var(--nd-ink); }
body.nd-co2 .nd-cart-free-bar { height: 6px; border-radius: 6px; background: var(--nd-surface-3); overflow: hidden; }
body.nd-co2 .nd-cart-free-bar > span { display: block; height: 100%; background: var(--nd-accent); }
body.nd-co2 .nd-cart-free.is-reached .nd-cart-free-t .nd-ico { color: var(--nd-ok); }
body.nd-co2 .nd-cart-free.is-reached .nd-cart-free-bar > span { background: var(--nd-ok); }

/* individuálna zľava zákazníka, paletová preprava, nedostupný tovar */
body.nd-co2 .nd-cart .basket-discount-info { display: block; padding: 10px 14px; border-radius: var(--nd-r); background: var(--nd-ok-soft); color: var(--nd-ok); }
body.nd-co2 .nd-cart .basket-discount-info br { display: none; }
body.nd-co2 #basket_overweight br { display: none; }
body.nd-co2 .nd-cart .basket-unavailable-note { margin: 0; }

/* položka = karta: obrázok | značka, názov, kód, dostupnosť | súčet, množstvo, odstrániť */
body.nd-co2 .nd-ci {
  display: grid; grid-template-columns: 100px minmax(0, 1fr) auto; gap: 16px; align-items: center;
  padding: 14px; border: 1px solid var(--nd-line); border-radius: var(--nd-r-lg); background: var(--nd-surface);
}
body.nd-co2 .nd-ci > div { float: none; width: auto; padding: 0; }
body.nd-co2 .nd-ci-img a { display: grid; place-items: center; height: 100px; border-radius: var(--nd-r); background: #fff; overflow: hidden; }
body.nd-co2 .nd-ci-img img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; mix-blend-mode: multiply; }
body.nd-co2 .nd-ci-info .basket-name-wrap { margin: 0; }
body.nd-co2 .nd-ci-info .basket-name-wrap::before, body.nd-co2 .nd-ci-info .basket-name-wrap::after { content: none; }
body.nd-co2 .nd-ci-info .basket-name-wrap > div { float: none; width: auto; padding: 0; }
body.nd-co2 .nd-ci-brand { margin-bottom: 2px; font-size: var(--nd-fs-11); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--nd-muted); }
body.nd-co2 .nd-ci .basket-name-col > a { font-size: var(--nd-fs-15); font-weight: 600; line-height: 1.3; color: var(--nd-ink) !important; text-decoration: none !important; overflow-wrap: anywhere; }
body.nd-co2 .nd-ci .basket-name-col > a:hover { text-decoration: underline !important; }
body.nd-co2 .nd-ci-code { margin: 3px 0 0; font-family: var(--nd-font-mono); font-size: var(--nd-fs-11-5); color: var(--nd-muted); overflow-wrap: anywhere; }
body.nd-co2 .nd-ci .basket-name-col .attr { font-size: var(--nd-fs-13); color: var(--nd-muted); }
body.nd-co2 .nd-ci .ajaxbasket-warning-thin { display: inline-block; margin-top: 6px; font-size: var(--nd-fs-13); line-height: 1.35; }
body.nd-co2 .nd-ci .basket-avail-col:has(.basket_avail:empty),
body.nd-co2 .nd-ci .basket-avail-col:not(:has(.availability)) { display: none; }
body.nd-co2 .nd-ci .basket-avail-col { margin-top: 8px; }
body.nd-co2 .nd-ci-avail { margin-top: 8px; font-size: var(--nd-fs-13); }
/* blok dostupnosti v strede karty: vľavo hneď pod názvom a kódom, kompaktné písmo na všetkých šírkach
   (základ .ad-delivery-box je zarovnaný vpravo a pod 768 px má 18 px na stred, preto #basket_form pre vyššiu špecificitu) */
body.nd-co2 #basket_form .nd-ci-avail .ad-delivery-box { margin: 0; font-size: var(--nd-fs-13); line-height: 1.45; text-align: left; }
body.nd-co2 #basket_form .nd-ci-avail .ad-de-badge { margin-bottom: 4px; padding: 3px 10px; font-size: var(--nd-fs-12-5); white-space: normal; }
body.nd-co2 #basket_form .nd-ci-avail :is(.ad-de-stock, .ad-de-24h) { margin-bottom: 0; font-size: var(--nd-fs-12-5); color: var(--nd-muted); text-align: left; }
/* odkaz Termíny doručenia: tučný a tmavý ako na karte produktu a v detaile (11.11.2026 bol tlmený sivý 400 a pôsobil ako iný prvok) */
body.nd-co2 #basket_form .nd-ci-avail a.ad-de-link { display: inline-flex; justify-content: flex-start; align-items: center; margin: 4px 0 0; font-size: var(--nd-fs-13); font-weight: 700; color: var(--nd-ink) !important; text-decoration: none !important; }
body.nd-co2 #basket_form .nd-ci-avail a.ad-de-link:hover { color: var(--nd-ink) !important; }
body.nd-co2 #basket_form .nd-ci-avail a.ad-de-link:hover .ad-de-ltext { text-decoration: underline; }
body.nd-co2 #basket_form .nd-ci-avail .ad-de-ltext { max-width: none; text-align: left; text-decoration: none; }
body.nd-co2 #basket_form .nd-ci-avail .ad-de-i { width: 1.3em; height: 1.3em; line-height: 1.3em; margin-right: .4em; font-size: .9em; font-weight: 600; background: var(--nd-surface-2); color: var(--nd-muted); border: 1px solid var(--nd-line); box-sizing: content-box; }
body.nd-co2 #basket_form .nd-ci-avail .ad-de-urgency { margin: 6px 0 0; padding: 5px 10px; font-size: var(--nd-fs-12-5); text-align: left; }

/* pravý stĺpec karty: súčet riadka hore, pod ním cena za kus, množstvo a odstrániť */
body.nd-co2 .nd-ci-side { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; text-align: right; }
body.nd-co2 .nd-ci-side > div { position: static; left: auto; float: none; width: auto; padding: 0; text-align: right; }
body.nd-co2 .nd-ci-total { order: 1; font-family: var(--nd-font-display); font-size: 20px; font-weight: 700; line-height: 1.1; color: var(--nd-ink); white-space: nowrap; }
body.nd-co2 .nd-ci-before { order: 2; font-size: var(--nd-fs-12-5); color: var(--nd-muted); text-decoration: line-through; white-space: nowrap; }
body.nd-co2 .nd-ci-before:empty, body.nd-co2 .nd-ci-before:not(:has(*)):not(:has(~ *)) { display: none; }
body.nd-co2 .nd-ci-unit { order: 3; margin-top: -6px; font-size: var(--nd-fs-12-5); font-weight: 400; color: var(--nd-muted); white-space: nowrap; }
body.nd-co2 .nd-ci-unit::after { content: " / ks"; }
body.nd-co2 .nd-ci-qty { order: 4; }
body.nd-co2 .nd-ci-remove { order: 5; }
body.nd-co2 .nd-ci .qty-stepper { border: 1px solid var(--nd-line); border-radius: var(--nd-r); background: var(--nd-surface); }
body.nd-co2 .nd-ci .qty-stepper .qty-btn { width: 36px; height: 38px; background: transparent; color: var(--nd-ink-2); font-size: 13px; }
body.nd-co2 .nd-ci .qty-stepper .qty-minus, body.nd-co2 .nd-ci .qty-stepper .qty-plus { border: 0; }
body.nd-co2 .nd-ci .qty-stepper .qty-btn:hover:not(:disabled) { background: var(--nd-surface-2); color: var(--nd-ink); }
body.nd-co2 .nd-ci .qty-stepper .qty-btn:disabled { background: transparent; color: var(--nd-line); }
body.nd-co2 .nd-ci .qty-stepper .qty-input { width: 40px; min-width: 34px; height: 38px; padding: 0 2px; background: transparent; font-weight: 700; font-variant-numeric: tabular-nums; }
body.nd-co2 .nd-ci a.basket-remove { display: inline-flex; align-items: center; gap: 5px; font-size: var(--nd-fs-12-5); color: var(--nd-muted) !important; text-decoration: none !important; }
body.nd-co2 .nd-ci a.basket-remove:hover { color: var(--nd-danger) !important; }
body.nd-co2 .nd-ci a.basket-remove .hidden-sm, body.nd-co2 .nd-ci a.basket-remove .hidden-xs { display: inline !important; }
/* rebrík ponúk (COMCO-115): podriadok je karta bez koša, jemne odsadená pod hlavnou */
body.nd-co2 .nd-ci.basket-ladder-sub { margin-top: -6px; margin-left: 24px; background: var(--nd-surface); }
/* odsadenie podriadku (24 px) sa uberie zo stĺpca obrázka, aby info a box dostupnosti začínali aj končili ako v hlavnom riadku */
body.nd-co2 .nd-ci.basket-ladder-sub { grid-template-columns: 76px minmax(0, 1fr) auto; }
body.nd-co2 .nd-ci.basket-ladder-sub .nd-ci-img a { height: 76px; }
/* prepočet cez AJAX: ceny a súhrn zošednú, kým nepríde odpoveď */
body.nd-co2 #basket_items.basket-recalc .nd-ci-total,
body.nd-co2 .nd-cart:has(#basket_items.basket-recalc) #basket_summary_rows { opacity: .45; transition: opacity .15s; }

body.nd-co2 .nd-cart-more { display: flex; justify-content: flex-start; }
body.nd-co2 .nd-cart-more .fa { font-size: 14px; }

/* súhrn objednávky */
body.nd-co2 .nd-cart-sum { padding: 18px; }
body.nd-co2 .nd-cart-sum-h { margin: 0 0 14px; font-family: var(--nd-font-display); font-size: 18px; font-weight: 700; color: var(--nd-ink); }
body.nd-co2 .nd-cart-coupon { display: flex; gap: 8px; margin-bottom: 14px; }
body.nd-co2 .nd-cart-coupon .nd-field {
  flex: 1 1 auto; width: auto; min-width: 0; height: auto; padding: 10px 12px;
  border: 1px solid var(--nd-line); border-radius: var(--nd-r); background: var(--nd-surface); box-shadow: none; font-size: var(--nd-fs-14);
}
body.nd-co2 .nd-cart-coupon .nd-field:focus { outline: none; border-color: var(--nd-accent); box-shadow: 0 0 0 3px var(--nd-accent-soft); }
body.nd-co2 .nd-cart-coupon .nd-btn { flex-shrink: 0; }
/* chyba kupónu pri poli (AJAX ajaxbasketvoucher aj odoslanie bez JS), nie hore na stránke */
body.nd-co2 .nd-cart-coupon .nd-field.is-invalid { border-color: var(--nd-danger); }
body.nd-co2 .nd-cart-coupon .nd-field.is-invalid:focus { border-color: var(--nd-danger); box-shadow: 0 0 0 3px var(--nd-danger-soft); }
body.nd-co2 .nd-cart-coupon .nd-btn.is-busy { opacity: .6; cursor: progress; }
body.nd-co2 .nd-cart-coupon-err { margin: -8px 0 14px; font-size: 13px; line-height: 1.35; color: var(--nd-danger); }
body.nd-co2 .nd-cart-coupon-err:empty { margin: 0; }	/* ostáva v strome (aria-live), len bez výšky */
body.nd-co2 .nd-cart-rows { display: flex; flex-direction: column; gap: 9px; font-size: var(--nd-fs-14); }
body.nd-co2 .nd-cart-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
body.nd-co2 .nd-cart-row-t { color: var(--nd-muted); }
body.nd-co2 .nd-cart-row-v { color: var(--nd-ink); text-align: right; white-space: nowrap; }
body.nd-co2 .nd-cart-row--voucher, body.nd-co2 .nd-cart-row--voucher .nd-cart-row-t, body.nd-co2 .nd-cart-row--voucher .nd-cart-row-v { color: var(--nd-ok); }
body.nd-co2 .nd-cart-row--voucher .remove-voucher { margin-left: 4px; color: var(--nd-muted) !important; }
body.nd-co2 .nd-cart-muted { font-size: var(--nd-fs-13); color: var(--nd-muted); white-space: normal; }
body.nd-co2 .nd-cart-divider { height: 1px; margin: 6px 0; background: var(--nd-line); }
body.nd-co2 .nd-cart-row--total { margin-top: 2px; font-size: 19px; }
body.nd-co2 .nd-cart-row--total .nd-cart-row-t { font-weight: 700; color: var(--nd-ink); }
body.nd-co2 .nd-cart-row--total .nd-cart-row-v { font-family: var(--nd-font-display); font-weight: 700; }
body.nd-co2 .nd-cart-vatnote { margin-top: -6px; font-size: var(--nd-fs-11-5); color: var(--nd-muted); }
body.nd-co2 .nd-cart-sum .checkout { margin-top: 16px; }
body.nd-co2 .nd-cart-sum .nd-cart-back, body.nd-co2 .nd-cart-sum noscript .nd-btn { margin-top: 8px; }
/* hlavné tlačidlo košíka OBJEDNAŤ tučne (ostatné .nd-btn majú 600) */
body.nd-co2 .nd-cart-sum button.checkout { font-weight: 800; letter-spacing: .02em; }
body.nd-co2 .nd-cart-sum .basket-unavailable-note { margin: 10px 0 0; }

/* výhody nákupu */
body.nd-co2 .nd-cart-trust { padding: 16px; }
body.nd-co2 .nd-cart-trust > div { display: flex; align-items: center; gap: 9px; font-size: var(--nd-fs-13); color: var(--nd-muted); }
body.nd-co2 .nd-cart-trust > div + div { margin-top: 9px; }
body.nd-co2 .nd-cart-trust .nd-ico { flex-shrink: 0; color: var(--nd-ok); }

/* prázdny košík: karta v strede */
body.nd-co2 .mainContainer .empty-basket.nd-cart-empty {
  max-width: 520px; margin: 20px auto 32px; padding: 56px 28px; border: 1px solid var(--nd-line); border-radius: var(--nd-r-lg);
  background: var(--nd-surface); font-family: var(--nd-font-body); font-size: var(--nd-fs-15); font-weight: 400; text-align: center; color: var(--nd-ink);
}
body.nd-co2 .nd-cart-empty-ico { display: block; color: var(--nd-muted-2); }
body.nd-co2 .nd-cart-empty .nd-cart-h1 { margin: 16px 0 8px; font-size: 26px; }
body.nd-co2 .nd-cart-empty-p { margin: 0 0 20px; color: var(--nd-muted); }

/* mobil: položka v dvoch stĺpcoch, pravý stĺpec karty ide pod názov ako riadok */
@media (max-width: 599px) {
  body.nd-co2 .nd-cart-h1 { font-size: 24px; }
  body.nd-co2 .nd-ci { grid-template-columns: 72px minmax(0, 1fr); gap: 10px 12px; align-items: start; padding: 12px; }
  body.nd-co2 .nd-ci-img a { height: 72px; }
  body.nd-co2 .nd-ci-side { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
  /* stepper a kôš vľavo, súčet vpravo; keď sa nezmestí, ide celý na vlastný riadok (žiadna položka sa nezmršťuje do susednej) */
  body.nd-co2 .nd-ci-side > div { flex: 0 0 auto; min-width: 0; }
  body.nd-co2 .nd-ci-total { order: 4; margin-left: auto; max-width: 100%; }
  body.nd-co2 .nd-ci-before, body.nd-co2 .nd-ci-unit { display: none; }
  body.nd-co2 .nd-ci-qty { order: 1; }
  body.nd-co2 .nd-ci-remove { order: 2; }
  /* podriadok rebríka je odsadený o 12 px, o toľko má užší stĺpec obrázka: box dostupnosti potom začína
     a končí presne ako box hlavného riadka (test basket_ladder_ui_test.js [sub box]) */
  body.nd-co2 .nd-ci.basket-ladder-sub { margin-left: 12px; grid-template-columns: 60px minmax(0, 1fr); }
  body.nd-co2 .nd-ci.basket-ladder-sub .nd-ci-img a { height: 60px; }
  body.nd-co2 .nd-cart-sum, body.nd-co2 .nd-cart-trust { padding: 14px; }
}
/* úzky mobil (320-399 px): súčet riadka vždy na vlastnom riadku zarovnaný vpravo, aby nekolidoval s košom */
@media (max-width: 399px) {
  body.nd-co2 .nd-ci-total { flex-basis: 100%; text-align: right; }
}
