/* PH-NAKUP 2026-10-24 verze q – nákupní proces mercato.cz (košík, pokladna, panel po přidání)
   q = p + karty zboží s − / počet / + po přidání (oddíl 23), panel po přidání na nízkém displeji s tlačítky vedle sebe (oddíl 24)
   p = o + v panelu po přidání do košíku − / počet / + u položky (oddíl 22), hlášky Shoptetu o změně množství se při otevřeném panelu neukazují
   o = n + spodní lišta v košíku: cena, „Nakupovat dál“ (obrys) a „Pokračovat“ v jednom řádku
   n = m + pole pokladny 16 px i na dotykovém tabletu (iPad také přibližuje pole pod 16 px)
   m = l + nálezy auditu iPhone/iPad: lišta i na dotykovém tabletu a iPhonu na šířku (do 1199 px), pole kroku 2 16 px (iOS nepřibližuje), „Zpět“ 44 px, v košíku na mobilu „Nakupovat dál“ jako tlačítko (Pavel 24. 10.)
   l = k + vzhled vysvětlení u zásilky nad 5 kg (.ph-vaha)
   k = j + nálezy UX auditu: bubliny validace v kroku 2 pod polem (N-4), štítky voleb 44 px (N-10), ovládání košíku 40 px i na tabletu (N-7), stav čekání při přepočtu (N-1), „×“ v košíku na počítači uvnitř tabulky (D-01)
   j = h + hláška Shoptetu po přepočtu („Množství bylo úspěšně změněno.“) na mobilu nad lištou a průchozí pro ťuknutí, i chybové (dřív 2 s zakrývala „Pokračovat“)
   h = g + oprava řádku košíku na mobilu: řádek přes celou šířku, množství a cena s „×“ na vlastním řádku, ovládání 40 px (na 412 px „+“ mazalo položku)
   g = f + sladění se stylovým manuálem (H1 28/22, H2 20/18, kroky 15, kategorie v prázdném košíku jako pilulky) + místo pro kategorie a oblíbené na 404 a u hledání bez výsledků rezervované od prvního vykreslení (CLS na počítači po skrytí bočního sloupce ve vzhledu t); JS zůstává f
   f = e + nadpis 404 skrytý do výměny textu skriptem (záloha: po 2 s se ukáže původní), na mobilu místo pro dva řádky
   e = d + oddíl 14: lišta se schová při otevřeném okně (Zásilkovna), okno 18+ v designu a před cookie lištou, doprava zdarma nad souhrnem košíku, malé karty pro nedostupné zboží a prázdné stránky, čitelné tlačítko na 404
   d = c + rozložení kroku 2 a skrytí prázdné zprávy už od prvního vykreslení (bez posunu stránky, CLS)
   c = b + oddíl 11: jednotná typografie pokladny (3 velikosti: nadpis 18, text 15, drobný 13), klidnější volby, pomoc v jednom řádku
   b = a + oddíl 9: jednotný vzhled košíku a pokladny s webem (krémová stránka, bílé karty s rámečkem, kompaktní řádky)
   Navazuje na ph-vzhled-20261023h.css (relace Vzhled 2). Nemění #header, .top-navigation-bar, .responsive-tools,
   tlačítka ani barvy textů pokladny; jediná výjimka je poloha a.cart-count v přichycené hlavičce na počítači. */

/* ---------- 1) panel po přidání do košíku (skript ph-nakup-*.js) ---------- */
/* výchozí zelenou hlášku o přidání skryjeme jen tehdy, když běží náš skript (html.ph-np-on) */
html.ph-np-on body:not(.ordering-process) .messages .msg-success:has(a[href$="/kosik/"]) { display: none !important; }

.ph-np-overlay { position: fixed; inset: 0; background: rgba(33, 26, 23, .35); z-index: 10040; opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s; }
.ph-np { position: fixed; z-index: 10041; background: #fff; color: #2b2118; box-shadow: 0 12px 40px rgba(0, 0, 0, .22);
  font-size: 15px; line-height: 1.4; visibility: hidden; transition: transform .25s ease, visibility .25s; box-sizing: border-box; }
.ph-np *, .ph-np *::before, .ph-np *::after { box-sizing: border-box; }
.ph-np:focus { outline: none; }
.ph-np a:focus-visible, .ph-np button:focus-visible { outline: 3px solid #b69c75; outline-offset: 2px; }
html.ph-np-open .ph-np-overlay { opacity: 1; visibility: visible; }
html.ph-np-open .ph-np { visibility: visible; transform: none !important; }

/* počítač: panel zprava */
@media (min-width: 768px) {
  .ph-np { top: 0; right: 0; bottom: 0; width: 400px; max-width: 92vw; padding: 24px; transform: translateX(105%); overflow-y: auto; }
}
/* mobil: panel zespodu */
@media (max-width: 767px) {
  .ph-np { left: 0; right: 0; bottom: 0; max-height: 75vh; padding: 18px 16px calc(16px + env(safe-area-inset-bottom)); border-radius: 16px 16px 0 0;
    transform: translateY(105%); overflow-y: auto; }
}
.ph-np-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.ph-np-title { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 18px; font-weight: 700; }
.ph-np-x { border: 0; background: transparent; font-size: 30px; line-height: 1; width: 44px; height: 44px; margin: -10px -10px -10px 0; cursor: pointer; color: #5a4d42; }
.ph-np-item { display: flex; gap: 14px; align-items: center; padding: 12px 0; border-top: 1px solid #ebe3d6; border-bottom: 1px solid #ebe3d6; }
.ph-np-item img { width: 64px; height: 64px; object-fit: contain; flex: 0 0 64px; background: #f6f1ea; border-radius: 8px; }
.ph-np-name { margin: 0 0 4px; font-weight: 600; }
.ph-np-price { margin: 0; color: #5a4d42; }
.ph-np-sum { margin: 14px 0 6px; }
.ph-np-ship { margin: 10px 0 6px; font-size: 14px; }
.ph-np-ship-ok { color: #2E7D32; font-weight: 600; }
.ph-np-bar { height: 6px; background: #ebe3d6; border-radius: 3px; overflow: hidden; }
.ph-np-bar span { display: block; height: 100%; background: #8c6a3c; border-radius: 3px; }
.ph-np-btns { display: flex; flex-direction: column-reverse; gap: 10px; margin-top: 18px; }
.ph-np-go, .ph-np-cont { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; border-radius: 999px;
  font-size: 16px; font-weight: 700; text-decoration: none !important; cursor: pointer; }
.ph-np-go { background: #8c6a3c; color: #fff !important; border: 2px solid #8c6a3c; }
.ph-np-go:hover { background: #75582f; border-color: #75582f; }
.ph-np-cont { background: #fff; color: #2b2118; border: 2px solid #d8ccbb; }
.ph-np-cont:hover { border-color: #8c6a3c; }
@media (prefers-reduced-motion: reduce) { .ph-np, .ph-np-overlay { transition: none; } }

/* ---------- 2) přichycený košík na počítači ---------- */
/* v přichyceném stavu je vidět jen řádek menu; košík s počtem a cenou ukážeme jako plovoucí štítek vpravo pod lištou
   (menu Adaminu se dělí podle šířky okna, v řádku menu by se košík na některých šířkách překrýval) */
@media (min-width: 992px) {
  body:not(.ordering-process) #header.fixed-menu a.cart-count { position: fixed !important; top: 54px; right: 20px; height: 44px; z-index: 1001;
    display: inline-flex !important; align-items: center; gap: 8px; padding: 0 16px 0 46px !important; background: #fff; border-radius: 999px;
    box-shadow: 0 4px 16px rgba(33, 26, 23, .18); }
  body:not(.ordering-process) #header.fixed-menu a.cart-count:not(.full) { display: none !important; } /* prázdný košík neukazovat */
}

/* ---------- 3) kroky pokladny jako číslovaný postup ---------- */
.cart-header { counter-reset: phstep; display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center; gap: 8px; margin: 0 0 24px !important; padding: 0 !important; }
.cart-header li.step { counter-increment: phstep; display: flex !important; align-items: center; flex: 1 1 auto; min-width: auto; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.cart-header li.step::after { content: ""; flex: 1 1 auto; min-width: 12px; height: 2px; background: #ebe3d6; margin: 0 4px 0 10px; }
.cart-header li.step:last-child { flex: 0 1 auto; }
.cart-header li.step:last-child::after { display: none; }
.cart-header li.step > a, .cart-header li.step > strong { display: flex !important; position: static !important; align-items: center; gap: 8px; white-space: nowrap;
  font-size: 16px !important; font-weight: 600; line-height: 1.2; text-decoration: none !important; padding: 0 !important; border: 0 !important; }
.cart-header li.step > a::before, .cart-header li.step > strong::before { content: counter(phstep); flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%;
  display: inline-flex !important; position: static !important; left: auto !important; top: auto !important; transform: none !important; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; background: #fff; color: #9b9087; border: 2px solid #d8ccbb; }
#content ol.cart-header li.step > a::after, #content ol.cart-header li.step > strong::after { display: none !important; content: none !important; border: 0 !important; width: 0 !important; }
/* hotový krok: místo čísla fajfka v kroužku */
html body ol.cart-header li.step.completed > a::before { display: inline-flex !important; content: "\2713"; background: #fff; color: #8c6a3c; border-color: #8c6a3c; }
/* budoucí krok */
.cart-header li.step > strong span, .cart-header li.step > a span { color: #9b9087 !important; }
.cart-header li.step:not(.active) > strong { cursor: default; }
/* aktuální krok */
.cart-header li.step.active > strong span, .cart-header li.step.active > a span { color: #2b2118 !important; }
.cart-header li.step.active > a::before, .cart-header li.step.active > strong::before { background: #8c6a3c; border-color: #8c6a3c; color: #fff; }
/* hotový krok (odkaz zpět) */
.cart-header li.step.completed > a span { color: #8c6a3c !important; text-decoration: underline; }
.cart-header li.step > a { cursor: pointer; }
.cart-header li.step > a:hover span { color: #8c6a3c !important; }
/* krátké názvy kroků na mobilu (skript vloží .ph-l a .ph-s) */
.cart-header li.step span { font-size: inherit !important; line-height: inherit !important; }
.cart-header li.step .ph-s { display: none !important; }
/* skrýt podtržení a fajfky šablony */
.cart-header li.step::before, .cart-header li.step span::before, .cart-header li.step span::after { display: none !important; }
@media (max-width: 767px) {
  .cart-header { gap: 4px; margin-bottom: 16px !important; }
  .cart-header li.step > a, .cart-header li.step > strong { font-size: 13px !important; gap: 6px; }
  .cart-header li.step .ph-l { display: none !important; }
  .cart-header li.step .ph-s { display: inline !important; }
  .cart-header li.step > a::before, .cart-header li.step > strong::before { flex-basis: 24px; width: 24px; height: 24px; font-size: 12px; }
  .cart-header li.step::after { margin: 0 2px 0 6px; }
}

/* ---------- 4) méně „bílé krabice“: jednotné karty ---------- */
/* jen košík: bílá karta se stínem → jemný rámeček; kroky 1 a 2 mají vlastní bílé pole a zůstávají beze změny */
body.in-kosik .cart-row > .col-md-8 { box-shadow: none !important; border: 1px solid #ebe3d6; border-radius: 12px; }
.ordering-process .summary-wrapper .box, .ordering-process .sidebar-in-cart .box { border-radius: 12px; }

/* ---------- 5) košík: položky ---------- */
.ordering-process .cart-table .show-related { display: none !important; } /* „Související produkty: 8 (od 209 Kč)“ */
@media (max-width: 767px) {
  .ordering-process .cart-table tr.removeable { display: grid !important; grid-template-columns: 64px 1fr auto; grid-template-areas: "img name name" "img qty total";
    align-items: center; gap: 4px 12px; padding: 12px 0 !important; height: auto !important; text-align: left !important; }
  .ordering-process .cart-table tr.removeable > td { display: flex !important; width: auto !important; padding: 0 !important; margin: 0 !important; border: 0 !important; text-align: left !important; justify-content: flex-start; }
  .ordering-process .cart-table td.cart-p-image { grid-area: img; }
  .ordering-process .cart-table td.cart-p-image img { width: 64px; height: 64px; object-fit: contain; }
  .ordering-process .cart-table td.p-name { grid-area: name; font-size: 15px; line-height: 1.3; }
  .ordering-process .cart-table td.p-name a.main-link { font-weight: 600; }
  .ordering-process .cart-table tr.removeable > td.p-availability, .ordering-process .cart-table tr.removeable > td.p-price { display: none !important; }
  .ordering-process .cart-table td.p-quantity { grid-area: qty; }
  .ordering-process .cart-table tr.removeable > td.p-total { grid-area: total; justify-content: flex-end !important; font-weight: 700; }
  .ordering-process .cart-table td.p-total .p-label, .ordering-process .cart-table td.p-quantity .p-label { display: none !important; }
  .ordering-process .cart-table tr.removeable > td.p-total { align-items: center; gap: 10px; }
}

/* ---------- 6) mobil: spodní lišta „Celkem | Pokračovat“ (košík a krok 1; vytváří ji skript) ---------- */
.ph-bar { display: none; }
@media (max-width: 767px), (max-width: 1199px) and (pointer: coarse) {
  html.ph-bar-on .ph-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 10030; display: flex; align-items: center; gap: 12px;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; box-shadow: 0 -6px 18px rgba(33, 26, 23, .14);
    transition: transform .2s ease; }
  html.ph-bar-on.ph-bar-hide .ph-bar { transform: translateY(110%); }
  html.ph-bar-on body { padding-bottom: 76px; }
  .ph-bar-sum { display: flex; flex-direction: column; line-height: 1.2; font-size: 13px; color: #5a4d42; }
  .ph-bar-sum strong { font-size: 18px; color: #2b2118; white-space: nowrap; }
  .ph-bar-go { flex: 1 1 auto; min-height: 48px; border: 0; border-radius: 999px; background: #8c6a3c; color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; }
  .ph-bar-go:focus-visible { outline: 3px solid #b69c75; outline-offset: 2px; }
}

/* ---------- 7) krok 1: méně slepých kliků ---------- */
/* nedostupné kombinace dopravy a platby utlumit, aby nevypadaly jako klikací */
/* Shoptet nedostupnou volbu značí třídou .inactive-child a zakázaným vstupem */
.ordering-process .radio-wrapper.inactive-child { opacity: .45; }
.ordering-process .radio-wrapper.inactive-child, .ordering-process .radio-wrapper.inactive-child * { cursor: not-allowed !important; }
/* „Cena bez DPH“ v rekapitulaci pro běžné zákazníky nepotřebujeme */
.ordering-process .price-wrapper .price-secondary, .ordering-process .recapitulation-single .price-secondary { display: none !important; }

/* ---------- 8) krok 2 ---------- */
/* země je zamčená na ČR a zobrazuje se dvakrát: nechat jen text */
/* Shoptet zamčený výběr značí třídou .js-location--hidden, šablona ho ale neskrývá */
.ordering-process .js-location--hidden { display: none !important; }

/* ---------- 9) verze b: jednotný vzhled pokladny s webem (Pavel 23. 10.: „sjednotit, kompaktně“) ---------- */
/* tokeny webu: stránka #faf7f2, karta #fff + 1px #e7e0d6 + radius 14px, obrazová plocha #f1ebe1, text #211a17, hnědá #8c6a3c */
@media (min-width: 992px) {
  body.ordering-process #content-wrapper { max-width: 1680px; margin-left: auto; margin-right: auto; padding-left: 40px !important; padding-right: 40px !important; box-sizing: border-box; } /* jako #header .container; horní odsazení nechává ph-vzhled (body.mobile) */
  body.ordering-process .cart-row > .col-md-8 { padding: 32px 32px 40px 0 !important; }
  body.ordering-process .cart-row > .col-md-4 { padding-top: 32px !important; }
}
/* žádná velká bílá plocha: obsah na krémové stránce, sekce jako karty */
body.ordering-process .cart-row > .col-md-8, body.in-kosik .cart-row > .col-md-8 { background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
body.ordering-process .cart-row > .col-md-8 .cart-content { background: transparent !important; }
html body.ordering-process #content .cart-content .co-box, html body.ordering-process #content .cart-content fieldset.box {
  background: #fff !important; border: 1px solid #e7e0d6 !important; border-radius: 14px !important; padding: 20px 24px !important; margin: 0 0 16px !important; }
html body.ordering-process #content .cart-content h2.order-icon, html body.ordering-process #content .cart-content .co-box h2, html body.ordering-process #content .cart-content fieldset.box h4 {
  margin: 0 0 12px !important; padding: 0 !important; font-size: 18px !important; font-weight: 600 !important; position: static !important; }
/* vnořené sekce (např. Fakturační adresa uvnitř karty) bez druhého rámečku */
html body.ordering-process #content .cart-content .co-box .co-box, html body.ordering-process #content .cart-content .co-box fieldset.box,
html body.ordering-process #content .cart-content fieldset.box fieldset.box, html body.ordering-process #content .cart-content fieldset.box .co-box {
  background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; margin: 0 0 12px !important; }
@media (max-width: 767px) {
  html body.ordering-process #content .cart-content > form > .co-box, html body.ordering-process #content .cart-content .co-box:not(.co-box .co-box):not(fieldset.box .co-box), html body.ordering-process #content .cart-content fieldset.box:not(.co-box fieldset.box):not(fieldset.box fieldset.box) { padding: 16px 14px !important; }

}
/* postranní sloupec: rekapitulace a kontakt jako bílé karty, bez rámečku v rámečku */
#content .cart-row > .col-md-4 > .cart-content, #content .cart-row > .col-md-4 .checkout-box, body.in-kosik .sidebar-in-cart > .box {
  background: #fff !important; border: 1px solid #e7e0d6 !important; border-radius: 14px !important; box-shadow: none !important; }
#content .cart-row > .col-md-4 > .cart-content { padding: 20px !important; }
#content .cart-row > .col-md-4 > .cart-content .box, #content .cart-row > .col-md-4 .checkout-box .box {
  background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; }
/* kroky: u sebe, krátké spojnice, menší mezera pod nimi */
.cart-header { justify-content: flex-start !important; gap: 0 !important; margin-bottom: 20px !important; }
.cart-header li.step, .cart-header li.step:last-child { flex: 0 0 auto !important; width: auto !important; max-width: none !important; }
@media (max-width: 767px) {
  /* na úzkém displeji se kroky smějí zmenšit, jinak by mobilní prohlížeč roztáhl celou stránku */
  .cart-header li.step, .cart-header li.step:last-child { flex: 0 1 auto !important; min-width: 0 !important; }
  .cart-header li.step > a, .cart-header li.step > strong { min-width: 0; overflow: hidden; }
}
.cart-header li.step::after { flex: 0 0 40px !important; min-width: 0 !important; margin: 0 14px !important; }
body.ordering-process .site-msg-custom { margin: 0 !important; }
@media (max-width: 767px) { .cart-header { gap: 14px !important; } .cart-header li.step::after { display: none !important; } }

/* košík: položky jako jedna karta s kompaktními řádky */
body.in-kosik .cart-table { width: 100% !important; background: #fff; border: 1px solid #e7e0d6; border-radius: 14px; border-collapse: separate !important; overflow: hidden; margin: 0 0 24px !important; }
body.in-kosik .cart-table tbody { display: block; }
@media (min-width: 768px) {
  body.in-kosik .cart-table tr.removeable { display: grid !important; grid-template-columns: 64px minmax(0, 1fr) 132px 96px 28px; grid-template-areas: "img name qty total del" "img avail qty total del";
    align-items: center; column-gap: 16px; row-gap: 2px; padding: 12px 16px !important; border-bottom: 1px solid #efe8dd !important; height: auto !important; min-height: 0 !important; }
  body.in-kosik .cart-table tr.removeable:last-child { border-bottom: 0 !important; }
  body.in-kosik .cart-table tr.removeable > td { display: flex !important; align-items: center; justify-content: flex-start; width: auto !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; height: auto !important; text-align: left !important; }
  body.in-kosik .cart-table tr.removeable > td.cart-p-image a { padding: 0 !important; display: block; }
  body.in-kosik .cart-table tr.removeable > td.cart-p-image { grid-area: img; }
  body.in-kosik .cart-table tr.removeable > td.cart-p-image img { width: 64px; height: 64px; object-fit: contain; display: block; }
  body.in-kosik .cart-table tr.removeable > td.p-name { grid-area: name; align-self: end; font-size: 15px !important; min-width: 0; }
  body.in-kosik .cart-table tr.removeable > td.p-name a.main-link { font-weight: 600; color: #211a17 !important; }
  body.in-kosik .cart-table tr.removeable > td.p-availability { grid-area: avail; align-self: start; font-size: 13px !important; }
  body.in-kosik .cart-table tr.removeable > td.p-availability strong { font-size: 13px !important; font-weight: 500 !important; color: #2E7D32 !important; }
  body.in-kosik .cart-table tr.removeable > td.p-availability .p-label { display: none !important; }
  body.in-kosik .cart-table tr.removeable > td.p-quantity { grid-area: qty; }
  body.in-kosik .cart-table tr.removeable > td.p-price { display: none !important; }
  body.in-kosik .cart-table tr.removeable > td.p-total { grid-area: total; justify-content: flex-end; font-size: 16px !important; font-weight: 700; }
  body.in-kosik .cart-table tr.removeable > td.p-total .p-label { display: none !important; }
}
@media (max-width: 767px) {
  body.in-kosik .cart-table tr.removeable { border: 0 !important; border-bottom: 1px solid #efe8dd !important; border-radius: 0 !important; margin: 0 !important; padding: 12px 14px !important; min-height: 0 !important; height: auto !important; }
  body.in-kosik .cart-table tr.removeable:last-child { border-bottom: 0 !important; }
  body.in-kosik .cart-table td.cart-p-image img { display: block; }
}

/* „Ještě by se mohlo hodit“ (doplněk Upsell): karty jako ve výpisu produktů */
body.in-kosik .up-cart-offers-slot h4 { font-size: 22px !important; font-weight: 600 !important; color: #211a17 !important; margin: 8px 0 14px !important; }
body.in-kosik .up-product { background: #fff !important; border: 1px solid #e7e0d6 !important; border-radius: 14px !important; box-shadow: none !important; padding: 0 !important; overflow: hidden; display: flex !important; flex-direction: column; }
body.in-kosik .up-product > a.up-product-url { display: block; background: #f1ebe1; padding: 12px; }
/* obrázky doplňku mají bílé pozadí; multiply ho na krémové ploše „zprůhlední“ jako ve výpisu */
body.in-kosik .up-product .up-image { mix-blend-mode: multiply; }
body.in-kosik .up-product .up-image { height: 140px !important; width: 100% !important; object-fit: contain; }
body.in-kosik .up-product .up-product-content { padding: 12px 14px 14px !important; display: flex; flex-direction: column; flex: 1 1 auto; }
html body.ordering-process #content .up-cart-offers-slot .up-product .up-product-description-container a.up-product-url, html body.ordering-process #content .up-cart-offers-slot .up-product .up-product-description-container a.up-product-url:visited { color: #211a17 !important; /* přebíjí hnědou z ph-vzhled e4: názvy karet jako ve výpisu */ font-size: 15px !important; font-weight: 500 !important; line-height: 1.35 !important; text-decoration: none !important; }
body.in-kosik .up-product .up-product-price-container { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 10px; }
body.in-kosik .up-product .up-in-stock-label { display: block; font-size: 12px; color: #2E7D32 !important; }
body.in-kosik .up-product .up-price-value { font-size: 16px !important; font-weight: 700 !important; color: #211a17 !important; }
body.in-kosik .up-product .up-product-add-to-cart a { width: 40px !important; height: 40px !important; min-width: 40px; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: #8c6a3c !important;
  color: transparent !important; font-size: 0 !important; display: inline-flex !important; align-items: center; justify-content: center; position: relative; }
body.in-kosik .up-product .up-product-add-to-cart a::before { content: "+"; color: #fff; font-size: 26px; font-weight: 300; line-height: 1; }
body.in-kosik .up-product .up-product-add-to-cart a:hover { background: #75582f !important; }

/* krok 1: volby dopravy a platby jako bílé řádky s rámečkem, vybraná hnědě */
body.ordering-process .radio-wrapper label { background: #fff !important; border: 1px solid #e7e0d6 !important; border-radius: 12px !important; min-height: 64px !important;
  padding-top: 12px !important; padding-bottom: 12px !important; box-shadow: none !important; }
body.ordering-process .radio-wrapper + .radio-wrapper { margin-top: 8px !important; }
body.ordering-process .radio-wrapper.active label { border-color: #8c6a3c !important; box-shadow: inset 0 0 0 1px #8c6a3c !important; background: #fbf7f0 !important; }
/* zelený podklad vybrané volby kreslí šablona pseudoprvkem */
#content .radio-wrapper .payment-info::before, #content .radio-wrapper .payment-logo::before, #content .radio-wrapper .sublabel::before { display: none !important; opacity: 0 !important; }

/* krok 2: pole formuláře bílá s rámečkem (místo šedé výplně) */
body.ordering-process .cart-content input.form-control, body.ordering-process .cart-content select.form-control, body.ordering-process .cart-content textarea.form-control {
  background: #fff !important; border: 1px solid #d8ccbb !important; border-radius: 10px !important; box-shadow: none !important; }
body.ordering-process .cart-content input.form-control:focus, body.ordering-process .cart-content textarea.form-control:focus { border-color: #8c6a3c !important; outline: none; box-shadow: 0 0 0 3px rgba(140, 106, 60, .15) !important; }
/* postranní karty košíku: kratší mezery pod nadpisy */
#content .cart-row > .col-md-4 h2.h4 { margin: 0 0 14px !important; }

/* ---------- 10) krok 2: zaškrtávátka (skript přesune a přejmenuje, viz ph-nakup-20261023b.js) ---------- */
.ph-help { display: block; font-weight: 400; font-size: 13px; color: #6b5e53; margin-top: 2px; }
/* poznámka jako odkaz „+ Přidat poznámku k objednávce“ */
body.ordering-process .ph-note { position: relative; margin: 4px 0 8px !important; }
body.ordering-process .ph-note input[type="checkbox"] { position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important; }
body.ordering-process .ph-note label { padding-left: 0 !important; color: #8c6a3c !important; font-weight: 600 !important; text-decoration: underline; cursor: pointer; }
body.ordering-process .ph-note label::before { content: "+ " !important; position: static !important; display: inline !important; width: auto !important; height: auto !important;
  border: 0 !important; background: none !important; box-shadow: none !important; text-decoration: none; }
body.ordering-process .ph-note label::after { display: none !important; }
body.ordering-process .ph-note input:focus-visible + label { outline: 3px solid #b69c75; outline-offset: 2px; }
/* blok „E-maily od nás“ nad tlačítkem Objednat */
body.ordering-process .ph-emaily { border-top: 1px solid #efe8dd; margin: 16px 0 8px; padding-top: 14px; }
body.ordering-process .ph-emaily-title { font-weight: 700; font-size: 15px; color: #211a17; margin: 0 0 4px; }
body.ordering-process .ph-emaily-text { font-size: 13px; line-height: 1.45; color: #5a4d42; margin: 0 0 10px; }
body.ordering-process .ph-emaily .form-group { margin: 0 0 8px !important; }
body.ordering-process .ph-emaily label { font-size: 14px !important; font-weight: 500 !important; }
/* dlouhé názvy produktů se zalamují a nikdy nezasahují do sloupce s počtem kusů ani do ceny (Pavel 23. 10.) */
body.in-kosik .cart-table td.p-name, body.in-kosik .cart-table td.p-name a.main-link { min-width: 0 !important; max-width: 100% !important; white-space: normal !important;
  overflow-wrap: anywhere; word-break: normal; hyphens: manual; }
body.in-kosik .cart-table td.p-name a.main-link { display: block !important; }
body.in-kosik .cart-table td.p-quantity { min-width: 0; justify-content: center; }
body.ordering-process .cart-item-name, body.ordering-process .cart-item-name a { min-width: 0; overflow-wrap: anywhere; }
/* střední šířky (tablet, menší notebook): název přes celou šířku, počet kusů a cena pod ním */
@media (min-width: 768px) and (max-width: 1199px) {
  body.in-kosik .cart-table tr.removeable { grid-template-columns: 64px auto minmax(0, 1fr) 28px !important;
    grid-template-areas: "img name name del" "img avail avail del" "img qty total del" !important; row-gap: 4px !important; }
  body.in-kosik .cart-table tr.removeable > td.p-total { justify-content: flex-end !important; }
}

/* ---------- 11) verze c: jednotná typografie a klidnější pokladna (Pavel 23. 10.: „jednoduchý, přehledný styl“) ----------
   Tři velikosti: nadpis 18 px / 600, text 15 px, drobný text 13 px. Barvy z verze m: text #211A17, tlumený #6E645D, linka #E7E0D6.
   Podtržené jsou jen skutečné textové odkazy (Přihlásit se, obchodní podmínky, poznámka); kroky a nadpisy ne. */
html body.ordering-process #content, html body.ordering-process #content :is(p, li, label, span, strong, b, a, h2, h3, h4, td, th, div, button) {
  font-family: "Roboto", Arial, sans-serif !important; letter-spacing: normal !important; }
/* kroky */
html body.ordering-process #content ol.cart-header li.step > a, html body.ordering-process #content ol.cart-header li.step > strong { font-size: 15px !important; font-weight: 600 !important; }
html body.ordering-process #content ol.cart-header li.step > a span, html body.ordering-process #content ol.cart-header li.step > strong span { text-decoration: none !important; }
html body.ordering-process #content ol.cart-header li.step.completed > a:hover span { text-decoration: underline !important; }
@media (max-width: 767px) { html body.ordering-process #content ol.cart-header li.step > a, html body.ordering-process #content ol.cart-header li.step > strong { font-size: 13px !important; } }
/* nadpisy sekcí a karet: 18 px, tmavé, bez dekorační čáry */
html body.ordering-process #content :is(h2.order-icon, h2.h4, .co-box h2, fieldset.box h4, .up-cart-offers-slot h4, .ph-emaily-title) {
  font-size: 18px !important; font-weight: 600 !important; color: #211A17 !important; line-height: 1.3 !important; text-transform: none !important; margin: 0 0 12px !important; }
html body.ordering-process #content h2.h4::after, html body.ordering-process #content h2.h4::before, html body.ordering-process #content .co-box h2::before { display: none !important; content: none !important; }
html body.ordering-process #content h2.order-icon { padding-left: 0 !important; background-image: none !important; }
/* volby dopravy a platby: jeden řádek, název 15/600, popis 13 tlumeně, cena 15/600 vpravo, bez log a šedých ploch */
html body.ordering-process #content .radio-wrapper label { min-height: 56px !important; padding-top: 10px !important; padding-bottom: 10px !important; display: flex !important; align-items: center !important; }
html body.ordering-process #content .radio-wrapper .shipping-billing-name, html body.ordering-process #content .radio-wrapper .payment-info > b,
html body.ordering-process #content .radio-wrapper .payment-info { font-size: 15px !important; font-weight: 600 !important; color: #211A17 !important; }
html body.ordering-process #content .radio-wrapper .sublabel, html body.ordering-process #content .radio-wrapper .sublabel * { font-size: 13px !important; font-weight: 400 !important; color: #6E645D !important; }
html body.ordering-process #content .radio-wrapper .sublabel a { color: #8c6a3c !important; text-decoration: underline !important; font-weight: 600 !important; } /* „Zvolte odběrné místo“ je skutečný odkaz */
html body.ordering-process #content .radio-wrapper .payment-logo { display: none !important; }
html body.ordering-process #content .radio-wrapper .payment-shipping-price, html body.ordering-process #content .radio-wrapper .payment-shipping-price * { font-size: 15px !important; font-weight: 600 !important; color: #211A17 !important; margin-left: auto; }
/* všechny ceny voleb jednou barvou (i „ZDARMA“; přebíjí zelenou z ph-vzhled pro inline #32cb00) */
html body.ordering-process #content .radio-wrapper .payment-shipping-price.payment-shipping-price, html body.ordering-process #content .radio-wrapper .payment-shipping-price[style] { color: #211A17 !important; }
html body.ordering-process #content .radio-wrapper .question-tooltip { width: 16px !important; height: 16px !important; line-height: 16px !important; font-size: 11px !important; background: #B8AEA5 !important; vertical-align: middle; margin-left: 6px; }
html body.ordering-process #content .radio-wrapper .not-possible-info { font-size: 13px !important; color: #6E645D !important; font-weight: 400 !important; }
/* rekapitulace: nadpis 18 tmavě, položky a řádky 13, „Celkem k úhradě“ 15 + částka 18 tučně */
html body.ordering-process #content .cart-row h2.h4.h4 { color: #211A17 !important; font-size: 18px !important; font-weight: 600 !important; }
html body.ordering-process #content .order-summary-inner :is(.cart-item, .cart-item *, .order-summary-item.helper, .order-summary-item.helper *, .order-recapitulation, .order-recapitulation *) { font-size: 13px !important; color: #211A17 !important; }
html body.ordering-process #content .order-summary-inner .order-recapitulation :is(.price-label, .recapitulation-name, span:first-child) { color: #6E645D !important; font-weight: 400 !important; }
html body.ordering-process #content .order-summary-inner .order-summary-item.price .price-label.price-primary { font-size: 15px !important; font-weight: 600 !important; color: #211A17 !important; }
html body.ordering-process #content .order-summary-inner .order-summary-item.price strong.price.price-primary, html body.ordering-process #content strong[data-testid="recapFullPrice"][data-testid] { font-size: 18px !important; font-weight: 700 !important; color: #211A17 !important; }
html body.in-kosik #content .summary-wrapper .price-label { font-size: 15px !important; font-weight: 600 !important; color: #211A17 !important; }
html body.ordering-process #content a.next-step-back, html body.ordering-process #content a.next-step-back span { font-size: 13px !important; text-decoration: none !important; }
html body.ordering-process #content .btn.btn-conversion, html body.ordering-process #content .btn.btn-conversion span { font-size: 15px !important; font-weight: 700 !important; letter-spacing: normal !important; }
html body.ordering-process #content .btn.btn-conversion .order-button-text + span, html body.ordering-process #content #submit-order span:not(.order-button-text) { font-size: 13px !important; font-weight: 500 !important; }
/* košík: položky a doplňky ve stejné stupnici */
html body.in-kosik #content .cart-table td.p-name a.main-link { font-size: 15px !important; font-weight: 600 !important; }
html body.in-kosik #content .cart-table td.p-availability strong { font-size: 13px !important; }
html body.in-kosik #content .cart-table td.p-total strong.price-final { font-size: 15px !important; font-weight: 700 !important; }
html body.in-kosik #content .up-product .up-product-description-container a { font-size: 15px !important; }
html body.in-kosik #content .up-product .up-price-value { font-size: 15px !important; }
html body.in-kosik #content .up-product .up-in-stock-label, html body.ordering-process #content .delivery-time, html body.ordering-process #content .delivery-time * { font-size: 13px !important; }
html body.in-kosik #content .extra.delivery, html body.in-kosik #content .extra.delivery * { font-size: 13px !important; }
/* krok 2: popisky polí 13/600, text 15 */
html body.ordering-process #content .form-group > label:not(.whole-width), html body.ordering-process #content .smart-label-wrapper > label { font-size: 13px !important; font-weight: 600 !important; color: #211A17 !important; }
html body.ordering-process #content .form-group label.whole-width { font-size: 15px !important; font-weight: 500 !important; }
html body.ordering-process #content input.form-control, html body.ordering-process #content select.form-control, html body.ordering-process #content textarea.form-control { font-size: 15px !important; }
html body.ordering-process #content .consents, html body.ordering-process #content .consents * { font-size: 13px !important; }
html body.ordering-process #content .ph-emaily-text { font-size: 13px !important; }
html body.ordering-process #content .ph-emaily .form-group label { font-size: 15px !important; font-weight: 500 !important; }
/* „Potřebujete pomoc?“: jeden řádek pod rekapitulací (skript), původní karta skrytá */
html.ph-help-on body.ordering-process #content .checkout-box, html.ph-help-on body.ordering-process #content .checkout-box-wrap, html.ph-help-on body.ordering-process #content .checkout-box-wrapper { display: none !important; }
.ph-help-line { font-size: 13px; color: #6E645D; margin: 12px 4px 0; line-height: 1.5; }
.ph-help-line a { color: #211A17 !important; text-decoration: underline; font-weight: 500; white-space: nowrap; }
/* rekapitulace: název položky zalomit, počet kusů a cena na jednom řádku vpravo */
html body.ordering-process #content .order-summary-inner .cart-item { display: grid !important; grid-template-columns: minmax(0, 1fr) auto auto; column-gap: 12px; align-items: baseline; }
html body.ordering-process #content .order-summary-inner .cart-item .cart-item-name { min-width: 0; overflow-wrap: anywhere; }
html body.ordering-process #content .order-summary-inner .cart-item .cart-item-amount, html body.ordering-process #content .order-summary-inner .cart-item .cart-item-price { white-space: nowrap; text-align: right; width: auto !important; }
html body.ordering-process #content .order-summary-inner .order-recapitulation strong, html body.ordering-process #content .order-summary-inner .order-recapitulation b { font-weight: 600 !important; }
.ph-help-line { margin: 4px 21px 0 !important; padding: 0 !important; border: 0 !important; }
@media (max-width: 767px) { .ph-help-line { margin: 8px 4px 0 !important; } }
/* krok 2: zbytky mimo stupnici */
html body.ordering-process #content .cart-content p.label, html body.ordering-process #content .cart-content p.label * { font-size: 13px !important; font-weight: 600 !important; color: #211A17 !important; }
html body.ordering-process #content .cart-content .form-control-wrapper > strong, html body.ordering-process #content .cart-content .form-control-wrapper--with-note strong { font-size: 15px !important; font-weight: 500 !important; }
html body.ordering-process #content .cart-content select, html body.ordering-process #content .cart-content .phone-combined-input * { font-size: 15px !important; }
html body.ordering-process #content .order-summary-inner .recapitulation-single, html body.ordering-process #content .order-summary-inner .recapitulation-single * { font-size: 13px !important; }
html body.ordering-process #content .order-summary-inner .recapitulation-single strong, html body.ordering-process #content .order-summary-inner .recapitulation-single b { font-weight: 600 !important; color: #211A17 !important; }
/* skutečné textové odkazy: hnědé a podtržené (Přihlásit se, obchodní podmínky, ochrana údajů) */
html body.ordering-process #content a.login-button, html body.ordering-process #content p.label a, html body.ordering-process #content .consents a {
  color: #8c6a3c !important; text-decoration: underline !important; background: none !important; border: 0 !important; padding: 0 !important; font-size: inherit !important; font-weight: 600 !important; }
html body.ordering-process #content a.login-button { font-size: 15px !important; }
html body.ordering-process #content .cart-content p.label a[href], html body.ordering-process #content .consents a[href], html body.ordering-process #content .cart-content a.login-button.login-button {
  color: #8c6a3c !important; text-decoration: underline !important; font-weight: 600 !important; }
html body.ordering-process #content .cart-content .consents p.label, html body.ordering-process #content .cart-content .consents p.label :not(a) { font-weight: 400 !important; color: #6E645D !important; }
/* kolečko volby v hnědé webu (místo světle béžové) */
html body.ordering-process #content .radio-wrapper.active label::before { border-color: #8c6a3c !important; }
html body.ordering-process #content .radio-wrapper.active label::after { background-color: #8c6a3c !important; }
/* mobil: menší odsazení kolečka, aby se názvy voleb zbytečně nezalamovaly */
@media (max-width: 767px) {
  html body.ordering-process #content .radio-wrapper label { padding-left: 50px !important; padding-right: 14px !important; gap: 10px; }
  html body.ordering-process #content .radio-wrapper label::before { left: 14px !important; }
  html body.ordering-process #content .radio-wrapper label::after { left: 17px !important; }
  html body.ordering-process #content .radio-wrapper .payment-shipping-price { white-space: nowrap; }
}

/* ---------- 12) verze c: kompaktní krok 2 (skript přidá html.ph-kompakt) ---------- */
html body.ordering-process:has(ol.cart-header.step-2) #content .ph-skryt { display: none !important; }
/* tři karty levého sloupce jako jedna */
html body.ordering-process:has(ol.cart-header.step-2) #content .cart-row > .col-md-8 .co-box { margin: 0 !important; border-radius: 0 !important; border-top-width: 0 !important; }
html body.ordering-process:has(ol.cart-header.step-2) #content .cart-row > .col-md-8 .co-contact-information { border-top-width: 1px !important; border-radius: 14px 14px 0 0 !important; padding-bottom: 6px !important; }
html body.ordering-process:has(ol.cart-header.step-2) #content .cart-row > .col-md-8 .co-box.ph-last { border-radius: 0 0 14px 14px !important; }
html body.ordering-process:has(ol.cart-header.step-2) #content .cart-row > .col-md-8 .co-billing-address { padding-top: 4px !important; }
html body.ordering-process:has(ol.cart-header.step-2) #content .cart-row > .col-md-8 .co-box.ph-ship { padding-top: 0 !important; }
/* menší mezery mezi poli */
html body.ordering-process:has(ol.cart-header.step-2) #content .cart-row > .col-md-8 .form-group { margin-bottom: 10px !important; }
html body.ordering-process:has(ol.cart-header.step-2) #content .cart-row > .col-md-8 .form-group > label, html body.ordering-process:has(ol.cart-header.step-2) #content .cart-row > .col-md-8 .smart-label-wrapper > label { margin-bottom: 4px !important; }
html body.ordering-process:has(ol.cart-header.step-2) #content h2.header-billing { font-size: 15px !important; font-weight: 600 !important; margin: 6px 0 8px !important; }
/* přihlášení na jeden řádek: „Máte u nás účet? Přihlásit se“ */
html body.ordering-process:has(ol.cart-header.step-2) #content .co-contact-information > .form-group--inline:first-of-type p.label { display: none !important; }
html body.ordering-process:has(ol.cart-header.step-2) #content .co-contact-information a.login-button::before { content: "Máte u nás účet? "; color: #6E645D; font-weight: 400; text-decoration: none; display: inline-block; margin-right: 4px; }
/* řádek volitelných částí: odkazy „+ …“ vedle sebe */
html body.ordering-process:has(ol.cart-header.step-2) #content .ph-moznosti { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 8px 0 4px; }
html body.ordering-process:has(ol.cart-header.step-2) #content .ph-toggle { position: relative; margin: 0 !important; }
html body.ordering-process:has(ol.cart-header.step-2) #content .ph-toggle input[type="checkbox"] { position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important; }
html body.ordering-process:has(ol.cart-header.step-2) #content .ph-toggle label { padding-left: 0 !important; color: #8c6a3c !important; font-size: 15px !important; font-weight: 600 !important; text-decoration: underline; cursor: pointer; }
html body.ordering-process:has(ol.cart-header.step-2) #content .ph-toggle label::before { content: "+ " !important; position: static !important; display: inline !important; width: auto !important; height: auto !important; border: 0 !important; background: none !important; box-shadow: none !important; }
html body.ordering-process:has(ol.cart-header.step-2) #content .ph-toggle label::after { display: none !important; }
html body.ordering-process:has(ol.cart-header.step-2) #content .ph-toggle input:checked + label::before { content: "− " !important; }
html body.ordering-process:has(ol.cart-header.step-2) #content .ph-toggle input:focus-visible + label { outline: 3px solid #b69c75; outline-offset: 2px; }
/* počítač a tablet: dvě pole vedle sebe */
@media (min-width: 768px) {
  html body.ordering-process:has(ol.cart-header.step-2) #content .co-contact-information, html body.ordering-process:has(ol.cart-header.step-2) #content .co-billing-address > fieldset.box,
  html body.ordering-process:has(ol.cart-header.step-2) #content .co-shipping-address .form-option-block {
    display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 16px; align-items: end; }
  html body.ordering-process:has(ol.cart-header.step-2) #content :is(.co-contact-information, .co-billing-address > fieldset.box, .co-shipping-address .form-option-block) > * { grid-column: 1 / -1; min-width: 0; }
  html body.ordering-process:has(ol.cart-header.step-2) #content .co-contact-information > .form-group:has(#billFullName),
  html body.ordering-process:has(ol.cart-header.step-2) #content .co-contact-information > .phone-form-group,
  html body.ordering-process:has(ol.cart-header.step-2) #content .co-billing-address > fieldset.box > .form-group:has(#billCity),
  html body.ordering-process:has(ol.cart-header.step-2) #content .co-shipping-address .form-option-block > .form-group:has(#deliveryCity) { grid-column: 1 !important; }
  html body.ordering-process:has(ol.cart-header.step-2) #content .co-contact-information > .form-group:has(input[name="email"]),
  html body.ordering-process:has(ol.cart-header.step-2) #content .co-contact-information > .ph-reg,
  html body.ordering-process:has(ol.cart-header.step-2) #content .co-billing-address > fieldset.box > .form-group:has(#billZip),
  html body.ordering-process:has(ol.cart-header.step-2) #content .co-shipping-address .form-option-block > .form-group:has(#deliveryZip) { grid-column: 2 !important; }
  html body.ordering-process:has(ol.cart-header.step-2) #content .co-contact-information > .ph-reg { align-self: center; margin-top: 18px !important; }
  html body.ordering-process:has(ol.cart-header.step-2) #content .cart-row > .col-md-8 .form-control-wrapper input.form-control { max-width: none !important; width: 100% !important; }
}
/* telefon: předvolba a číslo v jednom řádku */
html body.ordering-process:has(ol.cart-header.step-2) #content .phone-combined-input { flex-wrap: nowrap !important; align-items: center; gap: 8px; }
html body.ordering-process:has(ol.cart-header.step-2) #content .phone-combined-input input.js-phone-form-control { flex: 1 1 auto !important; width: auto !important; min-width: 0 !important; }
/* mobil: Město a PSČ vedle sebe (PSČ úzké) */
@media (max-width: 767px) {
  html body.ordering-process:has(ol.cart-header.step-2) #content .co-billing-address > fieldset.box, html body.ordering-process:has(ol.cart-header.step-2) #content .co-shipping-address .form-option-block {
    display: grid !important; grid-template-columns: minmax(0, 1fr) 118px; column-gap: 12px; align-items: end; }
  html body.ordering-process:has(ol.cart-header.step-2) #content :is(.co-billing-address > fieldset.box, .co-shipping-address .form-option-block) > * { grid-column: 1 / -1; min-width: 0; }
  html body.ordering-process:has(ol.cart-header.step-2) #content .co-billing-address > fieldset.box > .form-group:has(#billCity),
  html body.ordering-process:has(ol.cart-header.step-2) #content .co-shipping-address .form-option-block > .form-group:has(#deliveryCity) { grid-column: 1 !important; }
  html body.ordering-process:has(ol.cart-header.step-2) #content .co-billing-address > fieldset.box > .form-group:has(#billZip),
  html body.ordering-process:has(ol.cart-header.step-2) #content .co-shipping-address .form-option-block > .form-group:has(#deliveryZip) { grid-column: 2 !important; }
  html body.ordering-process:has(ol.cart-header.step-2) #content .ph-moznosti { gap: 10px 18px; }
}

/* ---------- 13) verze d: bez posunu stránky při načtení (CLS) ----------
   Rozložení kroku 2 platí hned od prvního vykreslení (:has(ol.cart-header.step-2)); co skript přesouvá, je do té doby skryté. */
/* prázdná vlastní zpráva Shoptetu v pokladně: skrytá hned, skript ji ukáže, jen pokud obsahuje text */
html body.ordering-process #content .site-msg-custom { display: none; }
html body.ordering-process #content .site-msg-custom.ph-ma-text { display: block; }
/* krok 2: prvky, které skript přesune, jsou do té doby skryté (žádné poskočení) */
html body.ordering-process:has(ol.cart-header.step-2) #content .co-billing-address > fieldset.box > .company-shopping,
html body.ordering-process:has(ol.cart-header.step-2) #content .co-billing-address > .form-group:has(#another-shipping),
html body.ordering-process:has(ol.cart-header.step-2) #content .co-box-additional,
html body.ordering-process:has(ol.cart-header.step-2) #content .co-billing-address .form-group:has(#billCountryId) { display: none !important; }
html body.ordering-process:has(ol.cart-header.step-2) #content .ph-moznosti > .form-group { display: block !important; }
/* mobil: místo pro registraci pod telefonem je rezervované dřív, než ji skript přesune */
@media (max-width: 767px) {
  html body.ordering-process:has(ol.cart-header.step-2) #content .co-contact-information::after { content: ""; display: block; height: 66px; }
  html.ph-kompakt body.ordering-process:has(ol.cart-header.step-2) #content .co-contact-information::after { display: none; }
}

/* ===== 14) verze e (2026-10-23): opravy z celkové kontroly webu ===== */

/* V1: lišta „Celkem | Pokračovat“ se schová, dokud je otevřené okno výběru místa (Zásilkovna, PPL) nebo jiné okno */
html:has(#colorbox[style*="display: block"]) .ph-bar { display: none !important; }

/* V4: okno 18+ (Shoptet „souhlas s věkem“) – nejdřív okno, cookie lišta až po odpovědi; logika beze změny */
html:has(#colorbox.siteAgreement[style*="display: block"]) .siteCookies { visibility: hidden !important; }
#cboxOverlay.siteAgreement { background: #211A17 !important; opacity: .72 !important; }
#colorbox.siteAgreement {
  position: fixed !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%);
  width: min(420px, calc(100vw - 32px)) !important; height: auto !important; overflow: visible !important;
}
#colorbox.siteAgreement #cboxWrapper,
#colorbox.siteAgreement #cboxContent,
#colorbox.siteAgreement #cboxLoadedContent { width: 100% !important; height: auto !important; float: none !important; overflow: visible !important; }
#colorbox.siteAgreement #cboxTopLeft, #colorbox.siteAgreement #cboxTopCenter, #colorbox.siteAgreement #cboxTopRight,
#colorbox.siteAgreement #cboxMiddleLeft, #colorbox.siteAgreement #cboxMiddleRight,
#colorbox.siteAgreement #cboxBottomLeft, #colorbox.siteAgreement #cboxBottomCenter, #colorbox.siteAgreement #cboxBottomRight { display: none !important; }
#colorbox.siteAgreement #cboxContent { background: #fff !important; border-radius: 14px !important; box-shadow: 0 12px 40px rgba(33,26,23,.28); }
#colorbox.siteAgreement #cboxLoadedContent { padding: 28px 24px 24px !important; box-sizing: border-box; }
#colorbox.siteAgreement .site-agreement-inner { text-align: center; }
#colorbox.siteAgreement .site-agreement-inner p { margin: 0 0 20px; font: 400 17px/1.45 Roboto, Arial, sans-serif; color: #211A17; }
#colorbox.siteAgreement .site-agreement-inner p strong { font-weight: 700; }
#colorbox.siteAgreement .site-agreement-buttons { display: flex; flex-direction: column; gap: 10px; margin: 0; }
#colorbox.siteAgreement .site-agreement-buttons .btn {
  display: flex !important; align-items: center; justify-content: center; width: 100%; min-height: 48px; margin: 0 !important;
  padding: 0 20px !important; border-radius: 999px !important; font: 700 16px/1.2 Roboto, Arial, sans-serif !important;
  letter-spacing: 0 !important; text-transform: none; box-shadow: none;
}
#colorbox.siteAgreement #site-agree-button { background: #8c6a3c !important; border: 0 !important; color: #fff !important; }
#colorbox.siteAgreement #site-agree-button:hover { background: #75582f !important; }
#colorbox.siteAgreement .site-agreement-buttons .btn-default { background: #fff !important; border: 1px solid #E7E0D6 !important; color: #6E645D !important; }
@media (min-width: 768px) {
  #colorbox.siteAgreement .site-agreement-buttons { flex-direction: row-reverse; }
  #colorbox.siteAgreement .site-agreement-buttons .btn { flex: 1; }
}

/* K3: košík – „Dárky a slevy / doprava zdarma“ nad souhrn s tlačítkem (motivace k vyšší objednávce před rozhodnutím) */
body.in-kosik .sidebar-in-cart > .cart-summary { order: -1 !important; margin-bottom: 16px !important; }
html body.in-kosik #content .sidebar-in-cart > .cart-summary h2.h4 { margin: 0 0 4px !important; font-size: 16px !important; line-height: 1.3 !important; }
html body.in-kosik #content .sidebar-in-cart > .cart-summary .extra,
html body.in-kosik #content .sidebar-in-cart > .cart-summary .extras-wrap { margin: 0 !important; }
body.in-kosik .sidebar-in-cart > .cart-summary .extras-col:empty,
body.in-kosik .sidebar-in-cart > .cart-summary .extras-col:not(:has(*)) { display: none !important; }

/* V5 + S6: malé karty produktů (podobné skladem, oblíbené) */
.ph-mini { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ph-mini li { margin: 0; padding: 0; }
.ph-mini a { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 8px 12px 8px 8px; background: #fff; border: 1px solid #E7E0D6; border-radius: 12px; text-decoration: none !important; color: #211A17 !important; }
.ph-mini a:hover { border-color: #8c6a3c; }
.ph-mini img, .ph-mini-noimg { flex: 0 0 56px; width: 56px; height: 56px; object-fit: contain; border-radius: 8px; background: #fff; }
.ph-mini-t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ph-mini-n { font: 500 15px/1.3 Roboto, Arial, sans-serif; color: #211A17; overflow-wrap: anywhere; }
.ph-mini-p { font: 700 15px/1.3 Roboto, Arial, sans-serif; color: #211A17; }
.ph-alt { margin: 16px 0 8px; padding: 16px; background: #F1EBE1; border-radius: 14px; }
.ph-alt-h, .ph-empty-h { margin: 0 0 10px !important; font: 700 16px/1.3 Roboto, Arial, sans-serif !important; color: #211A17 !important; }
.ph-alt-ask { margin: 12px 0 0 !important; font: 400 15px/1.45 Roboto, Arial, sans-serif; color: #6E645D; }
.ph-alt-ask a { color: #8c6a3c !important; font-weight: 600; text-decoration: underline; }
/* „Položka byla vyprodána…“ nahrazuje blok výše */
html.ph-alt-on .p-info-wrapper tr.sold-out { display: none !important; }
.ph-empty { margin: 24px 0 0; text-align: left; }
.ph-empty > div { margin-top: 20px; }
.ph-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; }
.ph-chips a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; background: #fff; border: 1px solid #E7E0D6; border-radius: 999px; color: #211A17 !important; font: 500 15px/1 Roboto, Arial, sans-serif; text-decoration: none !important; }
.ph-chips a:hover { border-color: #8c6a3c; }
@media (min-width: 768px) {
  .ph-empty .ph-mini { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* CLS: místo rezervované od prvního vykreslení (nedostupné zboží: blok ~370 px; oblíbené: ~350 px mobil, ~200 px počítač) */
html:not(.ph-alt-on) body.type-detail .p-info-wrapper:has(tr.sold-out) table.detail-parameters { margin-bottom: 375px !important; }
.ph-empty.ph-cekam::after { content: ""; display: block; height: 373px; }
@media (min-width: 768px) {
  html:not(.ph-alt-on) body.type-detail .p-info-wrapper:has(tr.sold-out) table.detail-parameters { margin-bottom: 342px !important; }
  .ph-empty.ph-cekam::after { height: 212px; }
}
/* S6: 404 – tlačítko „Zpět do obchodu“ čitelné (bylo béžové s bílým textem 1,85:1) */
body.in-404 .empty-content-404 .btn { background: #8c6a3c !important; border-color: #8c6a3c !important; color: #fff !important; min-height: 48px; display: inline-flex !important; align-items: center; padding: 0 24px !important; border-radius: 999px !important;
  font: 700 16px/1.2 Roboto, Arial, sans-serif !important; letter-spacing: 0 !important; }
body.in-404 .empty-content-404 { text-align: left; }
/* 404: nadpis „Omlouváme se, něco se pokazilo.“ vkládá skript; do té doby je skrytý, aby nebylo vidět „A safra!“ */
body.in-404 .empty-content-404 h1:not(.ph-h1) { visibility: hidden; animation: phUkaz 0s linear 2s forwards; }
@keyframes phUkaz { to { visibility: visible; } }
/* (g) H1 na 404 podle manuálu 28/22 px, řádkování 1,2; rezerva pro výměnu textu podle šířky (jeden řádek od 360 px, dva pod 360 px) */
html body.in-404 #content#content .empty-content-404 h1 { font-size: 28px !important; line-height: 1.2 !important; font-weight: 600 !important; }
@media (max-width: 767px) { html body.in-404 #content#content .empty-content-404 h1 { font-size: 22px !important; min-height: 34px; } }
@media (max-width: 359px) { html body.in-404 #content#content .empty-content-404 h1 { min-height: 61px; } }

/* CLS (g): na 404 a u hledání bez výsledků je na počítači vidět patička, blok .ph-empty ji posouval.
   Místo je rezervované stylem, dokud skript blok nevloží (pak drží místo .ph-cekam). Výšky měřené 23. 10. */
body.in-404 .empty-content-404:not(:has(.ph-empty))::after,
body.type-search #products-found:has(.search-products-heading):not(:has(.product)):not(:has(.ph-empty))::after { content: ""; display: block; height: 496px; }
@media (min-width: 768px) {
  body.in-404 .empty-content-404:not(:has(.ph-empty))::after,
  body.type-search #products-found:has(.search-products-heading):not(:has(.product)):not(:has(.ph-empty))::after { height: 296px; }
}

/* ===== 15) verze g: sladění se stylovým manuálem vzhledu (H1 28/22, H2 20/18, text 15, drobný 13) ===== */
html body.in-kosik #content#content .cart-heading, html body.ordering-process #content#content h1:not(.sr-only) { font-size: 28px !important; line-height: 1.25 !important; font-weight: 600 !important; }
html body.ordering-process #content#content :is(h2.order-icon, h2.h4, .co-box h2, fieldset.box h4, .up-cart-offers-slot h4, .ph-emaily-title),
html body.in-kosik #content#content .sidebar-in-cart > .cart-summary h2.h4,
html body.in-kosik #content#content .empty-cart-boxes h3,
.ph-np-title, .ph-alt-h, .ph-empty-h { font-size: 20px !important; line-height: 1.3 !important; font-weight: 600 !important; }
html body.ordering-process #content#content .order-summary-inner .order-summary-item.price strong.price.price-primary,
html body.ordering-process #content#content strong[data-testid="recapFullPrice"][data-testid] { font-size: 20px !important; }
html body.ordering-process #content#content ol.cart-header li.step > a, html body.ordering-process #content#content ol.cart-header li.step > strong { font-size: 15px !important; }
@media (max-width: 767px) {
  html body.in-kosik #content#content .cart-heading, html body.ordering-process #content#content h1:not(.sr-only) { font-size: 22px !important; }
  html body.ordering-process #content#content :is(h2.order-icon, h2.h4, .co-box h2, fieldset.box h4, .up-cart-offers-slot h4, .ph-emaily-title),
  html body.in-kosik #content#content .sidebar-in-cart > .cart-summary h2.h4,
  html body.in-kosik #content#content .empty-cart-boxes h3,
  .ph-np-title, .ph-alt-h, .ph-empty-h { font-size: 18px !important; }
  html body.ordering-process #content#content .order-summary-inner .order-summary-item.price strong.price.price-primary,
  html body.ordering-process #content#content strong[data-testid="recapFullPrice"][data-testid] { font-size: 18px !important; }
  html body.ordering-process #content#content ol.cart-header li.step > a, html body.ordering-process #content#content ol.cart-header li.step > strong { font-size: 13px !important; }
}
/* prázdný košík: hlavní kategorie jako pilulky (stejná šestice jako na 404 a u hledání), čistě stylem od prvního vykreslení */
body.in-kosik .cart-empty .empty-cart-boxes ul { list-style: none !important; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; padding: 0 !important; }
body.in-kosik .cart-empty .empty-cart-boxes ul li { margin: 0 !important; padding: 0 !important; }
body.in-kosik .cart-empty .empty-cart-boxes ul li::before, body.in-kosik .cart-empty .empty-cart-boxes ul li::marker { content: none !important; display: none !important; }
body.in-kosik .cart-empty .empty-cart-boxes ul li:has(> a[href="/italska-cokolada/"]),
body.in-kosik .cart-empty .empty-cart-boxes ul li:has(> a[href="/italske-caje/"]),
body.in-kosik .cart-empty .empty-cart-boxes ul li:has(> a[href="/kavovary-mlynky/"]) { display: none !important; }
body.in-kosik .cart-empty .empty-cart-boxes ul li > a { display: inline-block; height: 40px; line-height: 38px; padding: 0 16px; background: #fff; border: 1px solid #E7E0D6; border-radius: 999px;
  color: #211A17 !important; font: 500 15px/38px Roboto, Arial, sans-serif !important; text-decoration: none !important; text-transform: lowercase; }
body.in-kosik .cart-empty .empty-cart-boxes ul li > a::first-letter { text-transform: uppercase; }
body.in-kosik .cart-empty .empty-cart-boxes ul li > a:hover { border-color: #8c6a3c; }

/* ===== 16) verze h: řádek košíku na mobilu (oprava 24. 10.) =====
   Mřížka řádku uvnitř tabulky se nenatahovala (412 px: řádek 162 px, „+“ ležel na „×“). Tabulka je na mobilu blok, řádek přes celou šířku,
   druhý řádek mřížky = množství vlevo pod obrázkem, cena a „×“ vpravo. Všechna ovládání 40 px. */
@media (max-width: 767px) {
  html body.ordering-process #content .cart-table, html body.ordering-process #content .cart-table > tbody { display: block !important; width: 100% !important; }
  html body.ordering-process #content .cart-table tr.removeable { width: 100% !important; box-sizing: border-box !important;
    grid-template-columns: 64px minmax(0, 1fr) auto !important; grid-template-areas: "img name name" "qty qty total" !important; column-gap: 12px !important; row-gap: 8px !important; }
  html body.ordering-process #content .cart-table tr.removeable > td.p-quantity { grid-area: qty !important; min-width: 0; }
  html body.ordering-process #content .cart-table tr.removeable > td.p-total { grid-area: total !important; justify-content: flex-end !important; align-items: center !important; gap: 8px !important; white-space: nowrap; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity { display: inline-flex !important; align-items: center !important; gap: 4px; position: relative; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.increase,
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.decrease { position: relative !important; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
    flex: 0 0 40px !important; width: 40px !important; height: 40px !important; min-width: 40px !important; margin: 0 !important; padding: 0 !important; transform: none !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important; border-radius: 50% !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.increase::before,
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.decrease::before { content: none !important; display: none !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity .increase__sign,
  html body.ordering-process #content .cart-table td.p-quantity .quantity .decrease__sign { display: block !important; position: static !important; font: 400 22px/1 Roboto, Arial, sans-serif !important; color: #211A17 !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.decrease { order: 0 !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity label { order: 1 !important; margin: 0 !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.increase { order: 2 !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity input.amount { flex: 0 0 48px !important; width: 48px !important; height: 40px !important; margin: 0 !important; padding: 0 4px !important; text-align: center; }
  html body.ordering-process #content .cart-table td.p-total button.remove-item { width: 40px !important; height: 40px !important; min-width: 40px !important; margin: 0 !important; padding: 0 !important; position: relative !important; top: auto !important; right: auto !important; left: auto !important; }
  html body.ordering-process #content .cart-table td.p-total button.remove-item::before { top: 12px !important; left: 12px !important; right: auto !important; bottom: auto !important; }
  html body.ordering-process #content .cart-table td.p-total form, html body.ordering-process #content .cart-table td.p-total form .inline { display: inline-flex !important; margin: 0 !important; }
}
@media (max-width: 359px) {
  html body.ordering-process #content .cart-table tr.removeable { grid-template-areas: "img name name" "qty qty qty" "total total total" !important; }
}

/* ===== 17) verze j: hlášky Shoptetu nad lištou (oprava 24. 10.) =====
   Po změně počtu vyjede zespodu hláška (.msg > .container, position fixed, bottom 30 px, z-index max) a asi 2 s leží přes „Pokračovat“.
   Na mobilu s lištou je posunutá nad lištu a ťuknutí propouští (hlášky nemají odkazy; i chybová při vyjíždění přejede přes lištu). */
@media (max-width: 767px), (max-width: 1199px) and (pointer: coarse) {
  html.ph-bar-on .msg > .container { bottom: calc(84px + env(safe-area-inset-bottom)) !important; }
  html.ph-bar-on .messages, html.ph-bar-on .msg, html.ph-bar-on .msg > .container, html.ph-bar-on .msg > .container * { pointer-events: none !important; }
}

/* ===== 18) verze k: nálezy UX auditu 24. 10. ===== */
/* N-4: bublina validace Shoptetu (.js-validator-msg) je absolutně umístěná vůči úzkému sloupci a v kompaktním kroku 2 vyjela mimo obrazovku.
   Zobrazí se jako řádek pod polem, nic nezakrývá a stránka nepřetéká. */
html body.ordering-process:has(ol.cart-header.step-2) #content .js-validator-msg {
  position: static !important; transform: none !important; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important;
  width: auto !important; max-width: 100% !important; margin: 4px 0 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important;
  color: #B3261E !important; font: 400 13px/1.35 Roboto, Arial, sans-serif !important; white-space: normal !important; text-align: left !important; }
html body.ordering-process:has(ol.cart-header.step-2) #content .js-validator-msg::before,
html body.ordering-process:has(ol.cart-header.step-2) #content .js-validator-msg::after { display: none !important; content: none !important; }
/* N-10: „+ Nakupuji na firmu“, „+ Doručit na jinou adresu“, „+ Přidat poznámku“ – ťukací plocha 44 px */
html body.ordering-process:has(ol.cart-header.step-2) #content .ph-toggle label { display: inline-flex !important; align-items: center; min-height: 44px !important; }
/* N-7: ovládání množství a „×“ v košíku 40 px i na tabletu (768–1199 px), sloupec pro „×“ rozšířený */
@media (min-width: 768px) and (max-width: 1199px) {
  body.in-kosik .cart-table tr.removeable { grid-template-columns: 64px auto minmax(0, 1fr) 44px !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity { display: inline-flex !important; align-items: center !important; gap: 4px; position: relative; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.increase,
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.decrease { position: relative !important; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
    flex: 0 0 40px !important; width: 40px !important; height: 40px !important; min-width: 40px !important; margin: 0 !important; padding: 0 !important; transform: none !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important; border-radius: 50% !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.increase::before,
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.decrease::before { content: none !important; display: none !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity .increase__sign,
  html body.ordering-process #content .cart-table td.p-quantity .quantity .decrease__sign { display: block !important; position: static !important; font: 400 22px/1 Roboto, Arial, sans-serif !important; color: #211A17 !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.decrease { order: 0 !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity label { order: 1 !important; margin: 0 !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.increase { order: 2 !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity input.amount { flex: 0 0 48px !important; width: 48px !important; height: 40px !important; margin: 0 !important; padding: 0 4px !important; text-align: center; }
  html body.ordering-process #content .cart-table td.p-total button.remove-item { width: 40px !important; height: 40px !important; min-width: 40px !important; margin: 0 !important; padding: 0 !important; position: relative !important; top: auto !important; right: auto !important; left: auto !important; }
  html body.ordering-process #content .cart-table td.p-total button.remove-item::before { top: 12px !important; left: 12px !important; right: auto !important; bottom: auto !important; }
}
/* N-7: totéž na dotykovém tabletu na šířku (≥ 1200 px, pointer: coarse); počítač s myší beze změny */
@media (min-width: 1200px) and (pointer: coarse) {
  html body.ordering-process #content .cart-table td.p-quantity .quantity { display: inline-flex !important; align-items: center !important; gap: 4px; position: relative; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.increase,
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.decrease { position: relative !important; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
    flex: 0 0 40px !important; width: 40px !important; height: 40px !important; min-width: 40px !important; margin: 0 !important; padding: 0 !important; transform: none !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important; border-radius: 50% !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.increase::before,
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.decrease::before { content: none !important; display: none !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity .increase__sign,
  html body.ordering-process #content .cart-table td.p-quantity .quantity .decrease__sign { display: block !important; position: static !important; font: 400 22px/1 Roboto, Arial, sans-serif !important; color: #211A17 !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.decrease { order: 0 !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity label { order: 1 !important; margin: 0 !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity button.increase { order: 2 !important; }
  html body.ordering-process #content .cart-table td.p-quantity .quantity input.amount { flex: 0 0 48px !important; width: 48px !important; height: 40px !important; margin: 0 !important; padding: 0 4px !important; text-align: center; }
  html body.ordering-process #content .cart-table td.p-total button.remove-item { width: 40px !important; height: 40px !important; min-width: 40px !important; margin: 0 !important; padding: 0 !important; position: relative !important; top: auto !important; right: auto !important; left: auto !important; }
  html body.ordering-process #content .cart-table td.p-total button.remove-item::before { top: 12px !important; left: 12px !important; right: auto !important; bottom: auto !important; }
}
/* D-01: na počítači (≥ 1200 px) se cena s „×“ nevešla do sloupce 96 px a „×“ vyteklo za okraj tabulky (overflow hidden).
   Buňka se roztáhne i přes prázdný sloupec pro „×“. */
@media (min-width: 1200px) {
  body.in-kosik .cart-table tr.removeable > td.p-total { grid-column: 4 / 6 !important; width: auto !important; min-width: 0 !important; max-width: 100% !important; box-sizing: border-box !important; padding-right: 8px !important; gap: 8px !important; }
}
/* N-1: během přepočtu košíku lišta i tlačítko „Pokračovat“ čekají (skript) a ukazují to */
html.ph-cekam-prepocet .ph-bar-go { opacity: .75; cursor: progress; }
html.ph-cekam-prepocet #content [data-testid="buttonNextStep"] { opacity: .75; cursor: progress; }

/* ===== 19) verze l: zásilka nad 5 kg (vysvětlení vkládá skript) ===== */
.ph-vaha { margin: 8px 0 12px !important; padding: 10px 12px !important; background: #F1EBE1; border-radius: 10px; color: #211A17 !important; font: 400 13px/1.45 Roboto, Arial, sans-serif !important; }

/* ===== 20) verze m: nálezy auditu iPhone/iPad 24. 10. ===== */
/* A-05: iOS Safari přiblíží stránku při ťuknutí do pole s písmem pod 16 px – pole pokladny na mobilu a dotykových zařízeních 16 px */
@media (max-width: 767px), (pointer: coarse) {
  html body.ordering-process #content#content :is(input.form-control, input[type="text"], input[type="email"], input[type="tel"], input[type="number"], select, textarea) { font-size: 16px !important; }
}
/* „Zpět“ v pokladně na dotykových zařízeních s ťukací plochou 44 px */
@media (pointer: coarse) {
  html body.ordering-process #content a.next-step-back { display: inline-flex !important; align-items: center; min-height: 44px; }
}
/* Košík na mobilu a dotykovém tabletu: „Zpět do obchodu“ byl drobný text 13 px. Obrysové tlačítko přes celou šířku pod „Pokračovat“
   (text „Nakupovat dál“ nastaví skript, odkaz Shoptetu vede zpět na poslední prohlížený produkt). Velikost je daná stylem, záměna textu nic neposune. */
@media (max-width: 767px), (max-width: 1199px) and (pointer: coarse) {
  html body.in-kosik #content#content .next-step--cart { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  html body.in-kosik #content#content .next-step--cart a.next-step-forward { order: 1 !important; }
  html body.in-kosik #content#content .next-step--cart a.next-step-back {
    order: 2 !important; display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; min-height: 48px !important;
    margin: 0 !important; padding: 0 20px !important; background: #fff !important; border: 1px solid #938578 !important; border-radius: 999px !important; box-shadow: none !important;
    color: #211A17 !important; font: 600 15px/1.2 Roboto, Arial, sans-serif !important; text-decoration: none !important; }
  html body.in-kosik #content#content .next-step--cart a.next-step-back span { font: inherit !important; color: inherit !important; text-decoration: none !important; }
  html body.in-kosik #content#content .next-step--cart a.next-step-back::before, html body.in-kosik #content#content .next-step--cart a.next-step-back span::before { display: none !important; content: none !important; }
}

/* ===== 21) verze o: spodní lišta v košíku s „Nakupovat dál“ (Pavel 24. 10.) =====
   Jeden řádek, výška lišty beze změny: cena | Nakupovat dál (obrys) | Pokračovat (hlavní, širší). */
@media (max-width: 767px), (max-width: 1199px) and (pointer: coarse) {
  html.ph-bar-on .ph-bar.ph-bar--kosik { gap: 8px; padding-left: 12px; padding-right: 12px; }
  .ph-bar--kosik .ph-bar-sum { flex: 0 0 auto; }
  .ph-bar--kosik .ph-bar-sum strong { font-size: 17px; }
  .ph-bar--kosik .ph-bar-back { flex: 1 1 0; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 10px; box-sizing: border-box;
    border: 1px solid #938578; border-radius: 999px; background: #fff; color: #211A17 !important; font: 600 14px/1.15 Roboto, Arial, sans-serif; text-align: center; text-decoration: none !important; white-space: nowrap; }
  .ph-bar--kosik .ph-bar-go { flex: 1.25 1 0; min-width: 0; padding: 0 10px; font-size: 15px; white-space: nowrap; }
}
@media (max-width: 359px) {
  .ph-bar--kosik .ph-bar-sum span { display: none; }
  .ph-bar--kosik .ph-bar-back { font-size: 13px; padding: 0 6px; }
  .ph-bar--kosik .ph-bar-go { font-size: 14px; padding: 0 6px; }
}

/* ===== 22) verze p: počet kusů přímo v panelu po přidání do košíku ===== */
html.ph-np-open body:not(.ordering-process) .messages .msg { display: none !important; }
.ph-np-qty { display: inline-flex; align-items: center; margin-top: 8px; border: 1px solid #d8ccbb; border-radius: 999px; background: #fff; }
.ph-np-qty button { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%;
  background: transparent; color: #2b2118; font: 500 22px/1 Roboto, Arial, sans-serif; cursor: pointer; touch-action: manipulation; }
.ph-np-qty button:hover:not(:disabled) { background: #f6f1ea; }
.ph-np-qty button:disabled { color: #c9bdad; cursor: default; }
.ph-np-n { min-width: 52px; text-align: center; font-weight: 600; font-variant-numeric: tabular-nums; }
.ph-np-err { margin: 6px 0 0; color: #b3261e; font-size: 13px; }
.ph-np-info { transition: opacity .15s; }
html.ph-np-busy .ph-np-info { opacity: .55; }

/* ===== 23) verze q: karty zboží – po „+“ pilulka − / počet / + přímo na kartě (skript 1b) ===== */
html.ph-kq-ticho body:not(.ordering-process) .messages .msg-success { display: none !important; }
.ph-kq-on { position: relative; }
.ph-kq-on .p-tools form { visibility: hidden; }
.ph-kq-plna .prices { visibility: hidden; }
.ph-kq { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between;
  min-height: 44px; border-radius: 999px; background: #8c6a3c; color: #fff; font: 600 15px/1 Roboto, Arial, sans-serif; }
.ph-kq.ph-kq-uzka { left: auto; width: 128px; }
.ph-kq button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%;
  background: transparent; color: #fff; font: 500 24px/1 Roboto, Arial, sans-serif; cursor: pointer; touch-action: manipulation; }
html .ph-kq button.ph-kq-dec, html .ph-kq button.ph-kq-inc { background: transparent !important; color: #fff !important; box-shadow: none !important; }
@media (hover: hover) { html .ph-kq button.ph-kq-dec:hover, html .ph-kq button.ph-kq-inc:hover { background: rgba(255, 255, 255, .16) !important; } }
.ph-kq button:focus-visible { outline: 3px solid #b69c75; outline-offset: 1px; }
.ph-kq-n { flex: 1 1 auto; text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ph-kq-busy .ph-kq-n { opacity: .75; }

/* ===== 24) verze q: panel po přidání na nízkém displeji (telefon na šířku) – tlačítka vedle sebe, menší mezery ===== */
@media (max-height: 520px) {
  .ph-np { padding-top: 12px !important; padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important; }
  .ph-np-head { margin-bottom: 8px; }
  .ph-np-item { padding: 8px 0; }
  .ph-np-sum { margin-top: 8px; }
  .ph-np-btns { flex-direction: row-reverse; margin-top: 10px; }
  .ph-np-btns > * { flex: 1 1 0; padding: 0 10px; }
}
