/* ============================================================
   FÁZE G — STRÁNKA KOŠÍKU (/kosik, controller cart)
   Vlastník: cart agent. Scope: body#cart. Tokeny: --ksk-*.
   Bez předlohy v artefaktu — styl v zavedeném jazyce design
   systému (karty radius 14, pilulky, žluté CTA, stepper −/+,
   h1 se žlutým zvýrazňovačem dle category.css).

   Mapování PS DOM:
     řádek položky  → li.cart-item > .product-line-grid
     hlavička       → li.cart-item-header (Produkt/Cena/Množství/Celkem,
                      česky z child cart-detailed.tpl)
     stepper        → TouchSpin .input-group.bootstrap-touchspin
                      (vzor „STEPPER V DROPDOWNU KOŠÍKU" v chrome.css)
     souhrn         → .cart-grid-right .card.cart-summary
     kupón          → .block-promo .promo-code .input-group
     CTA            → .cart-detailed-actions .btn-primary
                      (child cart-detailed-actions.tpl)
     prázdný stav   → .ks-cart-empty (child cart-detailed.tpl)

   Pasti (legacy custom.css, načítá se 2×, cart.css je až ZA
   oběma kopiemi — pořadí vyhrává, přesto scope body#cart):
     #cart h1 {35px #3f3f3f}
     .cart-grid .cart-container {border:0/padding !important}
     .cart-grid-right .cart-summary {bg #f6f6f7, border modrá, !important}
     .cart-item {border modrá, padding 1.5rem !important}
     .cart-summary-line {margin-top:5px !important}
     .cart-summary-line.cart-total {font-weight:normal}
     .cart-detailed-totals {border-top modrá !important}
     .cart-items .product-price {color:#000}
     .page-content .form-control {border/radius 0/bg #f2f2f2 !important}
     #content-wrapper .page-title {50px, skew span:before} (category.css LEGACY)
     a:link:not(.nav-link):not(.btn){color:#777} (0,3,1, custom_s_1.css)

   Hlavní past: custom.css ~ř. 5347-5545 „STRÁNKA KOŠÍKU (body#cart)"
   je STARÝ design košíku (baseball, tokeny --ks-*, černá CTA uppercase,
   radius 6, svislý touchspin). Stejný scope body#cart + !important.
   cart.css se načítá jako poslední, remíza spec.+!important padá mně;
   kde má legacy vyšší specificitu (a.btn.btn-primary, > div:last-child,
   #cart-subtotal-shipping), používám selektor se stejnou/vyšší.
   Z legacy bloku se VĚDOMĚ PŘEJÍMÁ (nepřebíjí se): zarovnání sloupců
   hlavičky nad hodnoty (flex:1 1 0, center), skrytí duplicitní
   jednotkové ceny .unit-price-cart („57 Kč ks").
   ============================================================ */

/* ---- lokální tokeny ---- */
body#cart {
  --ksk-paper: #FFFDF6;
  --ksk-surface: #FFFFFF;
  --ksk-cream: #FDF4D8;
  --ksk-cream2: #FFF7E0;
  --ksk-ink: #2B2620;
  --ksk-text: #4C473F;
  --ksk-muted: #9C9483;
  --ksk-faint: #BDB7A6;
  --ksk-line: #EDE7D8;
  --ksk-line-strong: #DED6C2;
  --ksk-coral: #F07E7E;
  --ksk-coral-deep: #E06A6A;
  --ksk-coral-soft: #FCE6E4;
  --ksk-yellow: #FFD54A;
  --ksk-yellow-btn: #FFCE3B;
  --ksk-yellow-deep: #EDAF06;
  --ksk-hi: #FFE07A;
  --ksk-shadow-sm: 0 1px 2px rgba(43,38,32,.05), 0 5px 14px rgba(43,38,32,.05);
  --ksk-shadow: 0 3px 8px rgba(43,38,32,.06), 0 16px 36px rgba(43,38,32,.08);
  --ksk-r: 14px;

  /* remap legacy tokenů --ks-* (custom.css :root, baseball) na design
     webu — bezpečnostní síť pro legacy pravidla, která nepřebíjím */
  --ks-nadpis: #2B2620;
  --ks-cerna: #2B2620;
  --ks-akcent: #E06A6A;
  --ks-akcent-hover: #F07E7E;
  --ks-muted: #9C9483;
  --ks-muted-2: #9C9483;
  --ks-border: #EDE7D8;
  --ks-radius: 14px;
  --ks-radius-s: 10px;
}

/* ============================================================
   1. TITULEK (žlutý zvýrazňovač, vzor .cathead / category.css)
   ============================================================ */
body#cart #content-wrapper .page-title {
  font-size: 32px;
  line-height: 1.15;
  font-weight: 800;
  color: var(--ksk-ink);
  margin: 18px 0 20px;
  padding: 0;
  text-align: left;
}
body#cart #content-wrapper .page-title::after { display: none; }
body#cart #content-wrapper .page-title span {
  position: static;
  z-index: auto;
  background: -webkit-linear-gradient(top, transparent 58%, var(--ksk-hi) 58%, var(--ksk-hi) 95%, transparent 95%);
  background: linear-gradient(180deg, transparent 58%, var(--ksk-hi) 58%, var(--ksk-hi) 95%, transparent 95%);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 0 4px;
  margin: 0 -2px;
  border-radius: 3px;
}
body#cart #content-wrapper .page-title span::before { content: none; display: none; }

/* ============================================================
   2. MŘÍŽKA STRÁNKY
   ============================================================ */
body#cart .cart-grid { margin-bottom: 44px; }

/* ============================================================
   3. KARTA POLOŽEK (levý blok)
   ============================================================ */
body#cart .cart-grid .cart-container {
  background: var(--ksk-surface);
  border: 1px solid var(--ksk-line) !important;   /* legacy border:0 !important */
  border-radius: var(--ksk-r);
  -webkit-box-shadow: var(--ksk-shadow-sm);
  box-shadow: var(--ksk-shadow-sm);
  padding: 6px 22px 10px !important;              /* legacy padding !important */
  margin-bottom: 20px;
}
body#cart .cart-overview .cart-items {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* hlavička tabulky (zarovnání sloupců nad hodnoty dělá legacy blok:
   labely flex:1 1 0 center, poslední buňka = šířka sloupce s košem) */
body#cart .cart-item-header {
  border-top: 0;
  border-bottom: 1px solid var(--ksk-line);
  padding: 14px 0 10px;
}
body#cart .cart-item-header [class*="col"] {
  color: var(--ksk-muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
/* Produkt zarovnat doleva nad název (theme centruje) */
body#cart .cart-item-header > .row > .col-6:first-child { text-align: left; padding-left: 100px; }
/* sloupec koše má 44px tlačítko (legacy počítá s 32) */
body#cart .cart-item-header > .row > .col-6:last-child > .row > .col:last-child { -webkit-box-flex: 0 !important; -webkit-flex: 0 0 44px !important; -ms-flex: 0 0 44px !important; flex: 0 0 44px !important; }
body#cart .cart-item .product-line-grid > div:last-child > .row > .col-auto:last-child { -webkit-box-flex: 0; -webkit-flex: 0 0 44px; -ms-flex: 0 0 44px; flex: 0 0 44px; text-align: center; }

/* řádek položky */
body#cart .cart-item {
  border-bottom: 1px solid var(--ksk-line) !important; /* legacy modrá */
  padding: 16px 0 !important;                          /* legacy 1.5rem !important */
}
body#cart .cart-items > .cart-item:last-child { border-bottom: 0 !important; }

/* miniatura — pevná šířka sloupce (theme dává 125/50 dle šířky okna,
   při 50 px obrázek přetékal pod název); 72px img + 2×5 gutter + rezerva */
body#cart .cart-item .product-image {
  -webkit-box-flex: 0; -webkit-flex: 0 0 86px; -ms-flex: 0 0 86px; flex: 0 0 86px;
  width: 86px;
  /* legacy media <=991: .cart-item .product-image{max-width:50px !important} */
  max-width: 86px !important;
}
body#cart .cart-item .product-image a { display: block; }
body#cart .cart-item .product-image img {
  width: 72px;
  height: auto;
  border: 1px solid var(--ksk-line);
  border-radius: 10px;
  background: var(--ksk-surface);
  padding: 3px;
}

/* mezera mezi miniaturou a názvem (small-gutters mají jen 5px);
   sloupec názvu pružný — s pevnou miniaturou by col-9 (75 %) přetekl
   a název spadl pod obrázek */
body#cart .cart-item .product-image + [class*="col"] {
  padding-left: 14px;
  -webkit-box-flex: 1; -webkit-flex: 1 1 0px; -ms-flex: 1 1 0px; flex: 1 1 0px;
  max-width: none;
  min-width: 0;
}

/* název produktu */
body#cart .cart-item .product-line-info a.label {
  display: inline-block;
  color: var(--ksk-ink);
  font-weight: 700;
  font-size: 15px;
  line-height: 1.35;
  -webkit-transition: color .12s ease;
  transition: color .12s ease;
}
body#cart .cart-item .product-line-info a.label:hover,
body#cart .cart-item .product-line-info a.label:focus { color: var(--ksk-coral-deep); }
body#cart .cart-item .product-line-info-secondary {
  color: var(--ksk-muted);
  font-size: 12.5px;
  font-weight: 600;
}

/* jednotková cena */
body#cart .cart-item .unit-price { color: var(--ksk-muted); }
body#cart .cart-item .unit-price > .value {
  color: var(--ksk-muted);
  font-weight: 600;
  font-size: 14px;
  white-space: nowrap;
}
body#cart .cart-item .unit-price .unit-price-cart {
  color: var(--ksk-faint);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
/* sleva na řádku */
body#cart .cart-item .unit-price .regular-price {
  color: var(--ksk-faint);
  text-decoration: line-through;
  font-size: 12.5px;
  font-weight: 600;
}
body#cart .cart-item .unit-price .discount {
  display: inline-block;
  background: var(--ksk-coral-soft);
  color: var(--ksk-coral-deep);
  border-radius: 100px;
  font-size: 11.5px;
  font-weight: 800;
  padding: 1px 8px;
}

/* řádkový součet */
body#cart .cart-items .product-price,
body#cart .cart-items .product-price strong {
  color: var(--ksk-ink);
  font-weight: 800;
  font-size: 16px;
  white-space: nowrap;
}

/* koš */
body#cart .cart-line-product-actions .remove-from-cart {
  display: -webkit-inline-box; display: -webkit-inline-flex; display: -ms-inline-flexbox; display: inline-flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 100px;
  color: var(--ksk-muted) !important;  /* globální a:link (0,3,1) */
  -webkit-transition: color .12s ease, background-color .12s ease;
  transition: color .12s ease, background-color .12s ease;
}
body#cart .cart-line-product-actions .remove-from-cart .fa { font-size: 16px; }
body#cart .cart-line-product-actions .remove-from-cart:hover,
body#cart .cart-line-product-actions .remove-from-cart:focus {
  color: var(--ksk-coral-deep) !important;
  background: var(--ksk-coral-soft);
}

/* ============================================================
   4. STEPPER MNOŽSTVÍ (TouchSpin svislé šipky → vodorovná
      pilulka −/+, vzor chrome.css „STEPPER V DROPDOWNU KOŠÍKU")
   ============================================================ */
body#cart .cart-item .qty .input-group.bootstrap-touchspin {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap; /* bootstrap wrapuje */
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  border: 1.5px solid var(--ksk-line-strong);
  border-radius: 100px;
  background: var(--ksk-surface);
  overflow: hidden;
  width: auto;
  min-width: 108px;
  float: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
body#cart .cart-item .qty .bootstrap-touchspin .input-group-btn-vertical { display: contents; }
body#cart .cart-item .qty .bootstrap-touchspin-prefix,
body#cart .cart-item .qty .bootstrap-touchspin-postfix { display: none; }
body#cart .cart-item .qty .btn-touchspin {
  -webkit-box-flex: 0; -webkit-flex: 0 0 34px; -ms-flex: 0 0 34px; flex: 0 0 34px;
  width: 34px;
  height: 40px;
  border: 0 !important;
  border-radius: 0;
  background: none !important;
  color: var(--ksk-ink) !important;
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  padding: 0;
  margin: 0;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer;
}
body#cart .cart-item .qty .btn-touchspin:hover { background: var(--ksk-cream2) !important; }
body#cart .cart-item .qty .btn-touchspin .fa { display: none; }
body#cart .cart-item .qty .bootstrap-touchspin-down { -webkit-box-ordinal-group: 0; -webkit-order: -1; -ms-flex-order: -1; order: -1; }
body#cart .cart-item .qty .bootstrap-touchspin-down::before { content: "\2212"; }
body#cart .cart-item .qty .bootstrap-touchspin-up::before { content: "+"; }
body#cart .cart-item .qty input.js-cart-line-product-quantity {
  -webkit-box-flex: 0; -webkit-flex: 0 0 36px; -ms-flex: 0 0 36px; flex: 0 0 36px;
  width: 36px;
  min-width: 36px;
  height: 40px;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  text-align: center;
  font-family: inherit;
  font-weight: 800;
  font-size: 16px; /* iOS: pod 16 px zoomuje */
  color: var(--ksk-ink);
  padding: 0;
  margin: 0;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  -webkit-appearance: none;
  appearance: none;
  -moz-appearance: textfield;
  float: none;
}
body#cart .cart-item .qty input.js-cart-line-product-quantity::-webkit-outer-spin-button,
body#cart .cart-item .qty input.js-cart-line-product-quantity::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* dárek: jen číslo */
body#cart .cart-item .qty .gift-quantity { font-weight: 800; color: var(--ksk-ink); }

/* ============================================================
   5. KARTA SOUHRNU (pravý blok)
   ============================================================ */
body#cart .cart-grid-right .cart-summary {
  background: var(--ksk-surface) !important;      /* legacy #f6f6f7 */
  border: 1px solid var(--ksk-line) !important;   /* legacy modrá */
  border-radius: var(--ksk-r);
  -webkit-box-shadow: var(--ksk-shadow);
  box-shadow: var(--ksk-shadow);
  overflow: hidden;
  padding: 10px 4px 8px !important;               /* legacy padding-top !important */
}
body#cart .cart-grid-right .cart-summary .cart-detailed-totals {
  border-top: 0 !important;                       /* legacy modrá !important */
}
body#cart .cart-grid-right .cart-summary .card-body { padding: 10px 18px !important; }
body#cart .cart-grid-right .cart-summary .cart-detailed-totals hr {
  display: block !important;                      /* legacy hr display:none !important */
  margin: 2px 18px !important;
  border: 0 !important;
  border-top: 1px solid var(--ksk-line) !important;
  opacity: 1;
}

/* řádky souhrnu (legacy: padding 6/18 + margin 0 !important) */
body#cart .cart-grid-right .cart-summary .cart-summary-line {
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: none !important;
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between;
  -webkit-box-align: baseline; -webkit-align-items: baseline; -ms-flex-align: baseline; align-items: baseline;
}
body#cart .cart-grid-right .cart-summary .cart-summary-line:last-child { margin-bottom: 0 !important; }
/* clearfix ::after tématu je při space-between třetí flex položka
   a odtlačuje hodnotu od pravé hrany */
body#cart .cart-grid-right .cart-summary .cart-summary-line::after { content: none !important; display: none !important; }
/* detail dopravy (hook) na vlastní řádek pod hodnotou */
body#cart .cart-grid-right .cart-summary .cart-summary-line#cart-subtotal-shipping { -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
body#cart .cart-grid-right .cart-summary .cart-summary-line#cart-subtotal-shipping > div {
  -webkit-box-flex: 0; -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%;
  text-align: right;
  color: var(--ksk-muted);
  font-size: 12px;
}
/* řádek dopravy: legacy ho skrývá (display:none !important, selektor s id
   #cart-subtotal-shipping) — design ho chce: mezisoučet / doprava / celkem */
body#cart .cart-grid-right .cart-summary .cart-summary-line#cart-subtotal-shipping {
  display: -webkit-box !important; display: -webkit-flex !important; display: -ms-flexbox !important; display: flex !important;
}
body#cart .cart-grid-right .cart-summary .cart-summary-line .label {
  color: var(--ksk-text);
  font-size: 14px;
  font-weight: 600;
  margin: 0;
  text-transform: none;
}
body#cart .cart-grid-right .cart-summary .cart-summary-line .value {
  color: var(--ksk-ink);
  font-weight: 700;
  font-size: 14.5px;
  white-space: nowrap;
}
/* celkem (s DPH) velké */
body#cart .cart-grid-right .cart-summary .cart-summary-line.cart-total {
  margin: 0 0 2px !important;
  border-top: 0 !important;                       /* legacy si kreslí vlastní linku */
  padding-top: 2px !important;
}
body#cart .cart-grid-right .cart-summary .cart-summary-line.cart-total .label {
  color: var(--ksk-ink);
  font-size: 15.5px;
  font-weight: 800 !important;                    /* legacy font-weight:normal */
  text-transform: none;
  letter-spacing: 0;
}
body#cart .cart-grid-right .cart-summary .cart-summary-line.cart-total .value {
  font-size: 24px;
  font-weight: 800;
  line-height: 1.1;
}
/* DPH pod celkem decentně */
body#cart .cart-grid-right .cart-summary .cart-summary-line .label.sub,
body#cart .cart-grid-right .cart-summary .cart-summary-line .value.sub {
  color: var(--ksk-muted);
  font-size: 12.5px;
  font-weight: 600;
}

/* ============================================================
   6. SLEVOVÝ KÓD (input pilulka + tmavé tlačítko)
   ============================================================ */
/* legacy dává padding 4/18/14 zároveň na .block-promo i vnořenou
   .cart-voucher-area (dvojité odsazení) — srovnat na jedno */
body#cart .cart-grid-right .cart-summary .block-promo { margin: 0; padding: 8px 18px 10px !important; }
/* linka mezi souhrnem a slevovym kodem pryc: kolem kuponu bylo moc car
   a nestejne mezery (Filip 1.9.2026); zustava jen linka pred CTA */
body#cart .cart-grid-right .cart-summary .cart-summary-totals + hr { display: none !important; }
body#cart .cart-grid-right .cart-summary .cart-voucher-area { padding: 0 !important; }
body#cart .cart-grid-right .cart-summary .block-promo .promo-code {
  background: none !important;
  padding: 0 !important;
  border: 0;
}
body#cart .promo-code .input-group {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap;
  -webkit-box-align: stretch; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch;
}
body#cart .promo-code .voucher-icon { display: none; } /* fa-tag, pilulka ho nemá */
body#cart .promo-code .input-group input.form-control[name="discount_name"] {
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto;
  min-width: 0;
  height: 44px;
  border: 1.5px solid var(--ksk-line-strong) !important;  /* legacy .form-control !important */
  border-radius: 100px !important;
  background: var(--ksk-surface) !important;
  color: var(--ksk-ink);
  font-family: inherit;
  font-weight: 600;
  font-size: 16px; /* iOS */
  padding: 0 18px;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  -webkit-appearance: none;
  appearance: none;
}
body#cart .promo-code .input-group input.form-control[name="discount_name"]::-webkit-input-placeholder { color: var(--ksk-muted); }
body#cart .promo-code .input-group input.form-control[name="discount_name"]::-moz-placeholder { color: var(--ksk-muted); }
body#cart .promo-code .input-group input.form-control[name="discount_name"]:-ms-input-placeholder { color: var(--ksk-muted); }
body#cart .promo-code .input-group input.form-control[name="discount_name"]::placeholder { color: var(--ksk-muted); }
body#cart .promo-code .input-group input.form-control[name="discount_name"]:focus { border-color: var(--ksk-ink) !important; }
body#cart .promo-code .input-group .btn.btn-secondary {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto;
  margin-left: 8px;
  height: 44px;
  padding: 0 20px;
  border: 1.5px solid var(--ksk-ink) !important;
  border-radius: 100px !important;
  background: var(--ksk-ink) !important;
  color: #fff !important;
  font-family: inherit;
  font-weight: 800;
  font-size: 13.5px;
  text-transform: none;
  letter-spacing: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-transition: background-color .12s ease;
  transition: background-color .12s ease;
}
body#cart .promo-code .input-group .btn.btn-secondary:hover { background: #4C473F !important; border-color: #4C473F !important; }
/* chybová hláška kupónu */
body#cart .cart-voucher .alert.js-error {
  border: 0;
  border-radius: 10px;
  background: var(--ksk-coral-soft);
  color: var(--ksk-coral-deep);
  font-weight: 600;
  font-size: 13px;
  padding: 8px 12px;
  margin: 0 0 10px;
}
/* přidané kupóny */
body#cart .cart-voucher .promo-name { margin: 0 0 6px; padding: 0; list-style: none; }
body#cart .cart-voucher .promo-name .label { color: var(--ksk-text); }
body#cart .cart-voucher .promo-name a { color: var(--ksk-muted) !important; }
body#cart .cart-voucher .promo-name a:hover { color: var(--ksk-coral-deep) !important; }
body#cart .promo-discounts { color: var(--ksk-muted); font-size: 13px; margin: 8px 0 0; }
body#cart .promo-discounts .code { color: var(--ksk-coral-deep); font-weight: 800; }

/* ============================================================
   7. CTA (žlutá pilulka) + POKRAČOVAT V NÁKUPU (outline)
   ============================================================ */
body#cart .cart-detailed-actions { padding-top: 4px; }
/* legacy má body#cart .cart-detailed-actions a.btn.btn-primary (1,3,2)
   s černým pozadím a uppercase !important — nutná >= specificita */
body#cart .checkout.cart-detailed-actions a.btn.btn-primary,
body#cart .checkout.cart-detailed-actions button.btn.btn-primary,
body#cart .cart-detailed-actions a.btn.btn-primary,
body#cart .cart-detailed-actions button.btn.btn-primary {
  /* flex centrovani: s display:block sedel text kvuli min-height o 2 px vys */
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
  width: 100%;
  height: auto;
  min-height: 52px;
  padding: 14px 20px;
  border: 0 !important;
  border-radius: 100px !important;
  background: var(--ksk-yellow-btn) !important;
  color: #3A2E00 !important;
  font-family: inherit;
  font-weight: 800;
  font-size: 15.5px;
  line-height: 1.3;
  text-transform: none;
  letter-spacing: 0;
  text-transform: none !important;                /* legacy uppercase !important */
  -webkit-box-shadow: 0 2px 0 rgba(43,38,32,.06);
  box-shadow: 0 2px 0 rgba(43,38,32,.06);
  -webkit-transition: background-color .12s ease;
  transition: background-color .12s ease;
}
body#cart .checkout.cart-detailed-actions a.btn.btn-primary:hover,
body#cart .checkout.cart-detailed-actions a.btn.btn-primary:focus,
body#cart .cart-detailed-actions a.btn.btn-primary:hover,
body#cart .cart-detailed-actions a.btn.btn-primary:focus,
body#cart .cart-detailed-actions button.btn.btn-primary:hover {
  background: var(--ksk-yellow-deep) !important;
  color: #3A2E00 !important;
}
body#cart .cart-detailed-actions button.btn.btn-primary.disabled,
body#cart .cart-detailed-actions button.btn.btn-primary[disabled] {
  opacity: .55;
  cursor: not-allowed;
}
/* outline odkaz pod CTA (child cart-detailed-actions.tpl) */
body#cart .ks-cart-continue {
  display: block;
  margin-top: 10px;
  padding: 12px 20px;
  border: 1.5px solid var(--ksk-line-strong);
  border-radius: 100px;
  text-align: center;
  color: var(--ksk-ink) !important;  /* globální a:link (0,3,1) */
  font-weight: 800;
  font-size: 14px;
  -webkit-transition: border-color .12s ease;
  transition: border-color .12s ease;
}
body#cart .ks-cart-continue:hover,
body#cart .ks-cart-continue:focus {
  border-color: var(--ksk-ink);
  color: var(--ksk-ink) !important;
  text-decoration: none;
}

/* ============================================================
   8. PRÁZDNÝ KOŠÍK (vzor .ks-empty z category.css)
   ============================================================ */
body#cart.cart-empty .cart-grid-right { display: none; }
body#cart.cart-empty .cart-grid-body {
  -webkit-box-flex: 0; -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%;
  max-width: 100%;
}
body#cart.cart-empty .cart-grid .cart-container {
  background: none;
  border: 0 !important;
  -webkit-box-shadow: none;
  box-shadow: none;
  padding: 0 !important;
}
body#cart .ks-cart-empty {
  background: var(--ksk-surface);
  border: 1px solid var(--ksk-line);
  border-radius: var(--ksk-r);
  -webkit-box-shadow: var(--ksk-shadow-sm);
  box-shadow: var(--ksk-shadow-sm);
  padding: 46px 24px;
  text-align: center;
}
body#cart .ks-cart-empty-ill { width: 84px; height: 84px; margin: 0 auto 14px; display: block; }
body#cart .ks-cart-empty b {
  display: block;
  font-size: 20px;
  font-weight: 800;
  color: var(--ksk-ink);
  margin-bottom: 6px;
}
body#cart .ks-cart-empty p {
  color: var(--ksk-muted);
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 20px;
}
body#cart .ks-cart-empty-actions {
  display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
  -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center;
  -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;
  gap: 10px;
}
body#cart .ks-cart-empty-btn {
  display: inline-block;
  padding: 12px 24px;
  border-radius: 100px;
  border: 1.5px solid var(--ksk-line-strong);
  color: var(--ksk-ink) !important;
  font-weight: 800;
  font-size: 14px;
  -webkit-transition: border-color .12s ease;
  transition: border-color .12s ease;
}
body#cart .ks-cart-empty-btn:hover { border-color: var(--ksk-ink); color: var(--ksk-ink) !important; text-decoration: none; }
body#cart .ks-cart-empty-btn-main {
  background: var(--ksk-yellow-btn);
  border-color: var(--ksk-yellow-btn);
  color: #3A2E00 !important;
}
body#cart .ks-cart-empty-btn-main:hover { background: var(--ksk-yellow-deep); border-color: var(--ksk-yellow-deep); color: #3A2E00 !important; }

/* ============================================================
   9. RESPONSIVITA
   ============================================================ */
/* tablet dolů: souhrn pod položkami (bootstrap col-lg stack) — jen mezera */
@media (max-width: 991.98px) {
  body#cart .cart-grid-right { margin-top: 4px; }
}

/* mobil: řádky stackují — obrázek + info nahoře, pod tím
   stepper | součet | koš; hlavičku tabulky skrývá hidden-sm-down */
@media (max-width: 767.98px) {
  body#cart #content-wrapper .page-title { font-size: 26px; margin: 10px 0 16px; }
  body#cart .cart-grid .cart-container { padding: 2px 14px 6px !important; }
  body#cart .cart-item { padding: 14px 0 !important; }

  /* obě poloviny řádku na plnou šířku; legacy drží pravé polovině
     flex:0 0 50% !important (selektor > div:last-child), proto stejné
     selektory + !important (cart.css je poslední, remíza padá mně) */
  body#cart .cart-item .product-line-grid > .product-line-grid-body,
  body#cart .cart-item .product-line-grid > div:last-child {
    -webkit-box-flex: 0 !important; -webkit-flex: 0 0 100% !important; -ms-flex: 0 0 100% !important; flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  body#cart .cart-item .product-image {
    -webkit-box-flex: 0; -webkit-flex: 0 0 72px; -ms-flex: 0 0 72px; flex: 0 0 72px;
    width: 72px; max-width: 72px !important;
  }
  body#cart .cart-item .product-image img { width: 60px; padding: 2px; }
  body#cart .cart-item .product-line-info a.label { font-size: 14px; }

  /* spodní řádek: stepper vlevo / součet vpravo / koš (legacy: nowrap,
     flex:1 1 0 !important a center na buňkách) */
  body#cart .cart-item .product-line-grid > div:last-child { margin-top: 10px; }
  body#cart .cart-item .product-line-grid > div:last-child > .row {
    -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap;
    -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center;
  }
  body#cart .cart-item .product-line-grid .unit-price {
    -webkit-box-flex: 0 !important; -webkit-flex: 0 0 auto !important; -ms-flex: 0 0 auto !important; flex: 0 0 auto !important;
    max-width: none !important;
    text-align: left !important;
  }
  body#cart .cart-item .product-line-grid .qty {
    -webkit-box-flex: 0 !important; -webkit-flex: 0 0 auto !important; -ms-flex: 0 0 auto !important; flex: 0 0 auto !important;
    -webkit-box-pack: start !important; -webkit-justify-content: flex-start !important; -ms-flex-pack: start !important; justify-content: flex-start !important;
  }
  body#cart .cart-item .product-line-grid .price {
    -webkit-box-flex: 1 !important; -webkit-flex: 1 1 auto !important; -ms-flex: 1 1 auto !important; flex: 1 1 auto !important;
    max-width: none !important;
    text-align: right !important;
  }
  body#cart .cart-items .product-price,
  body#cart .cart-items .product-price strong { font-size: 17px; }

  /* karta souhrnu */
  body#cart .cart-grid-right .cart-summary .card-body { padding: 10px 14px !important; }
  body#cart .cart-grid-right .cart-summary .cart-detailed-totals hr { margin: 2px 14px !important; }
  body#cart .cart-grid-right .cart-summary .block-promo { padding: 2px 14px 8px !important; }
}

/* úzký mobil */
@media (max-width: 429.98px) {
  body#cart .cart-item .product-image img { width: 52px; }
  body#cart .promo-code .input-group .btn.btn-secondary { padding: 0 16px; }
  body#cart .ks-cart-empty { padding: 36px 16px; }
}

/* ============================================================
   10. PŘÍSTUPNOST
   ============================================================ */
body#cart .btn-touchspin:focus-visible,
body#cart input.js-cart-line-product-quantity:focus-visible,
body#cart .remove-from-cart:focus-visible,
body#cart .cart-detailed-actions .btn:focus-visible,
body#cart .ks-cart-continue:focus-visible,
body#cart .ks-cart-empty-btn:focus-visible,
body#cart .promo-code .btn:focus-visible,
body#cart .promo-code input:focus-visible,
body#cart .product-line-info a.label:focus-visible {
  outline: 3px solid var(--ksk-yellow-deep);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  body#cart #main *,
  body#cart #main *::before,
  body#cart #main *::after {
    -webkit-transition: none !important;
    transition: none !important;
  }
}
