/* novy-2026-obsah.css: skin nad starym obsahem sablony template_general, noc 25. 8. 2026.
   Slozeno z 25/css-obsah/*.css skriptem noc-2026-08-25/slozit-a-nasadit.py, needitovat rucne, menit partialy.
   Kazdy selektor je pod body:has(.zs26-hlavicka), takze bez zverejnene nove hlavicky (modul 891) se nic nezmeni.
   Nemeni HTML ani texty, nesaha na objednavkovou vrstvu (fox1/fox2) ani na funkcni tridy enginu.
   Slozeno: 2026-08-25 06:46 z 11 partialu. */

/* ===== css-obsah/60-zaklad.css ===== */
/* 60-zaklad.css
   Co to je: zaklad skinu nad standardnim obsahem Joomly a JCE. Plati na vsech ceskych
   podstrankach testu webvyvoj2 (mimo objednavku, viz nize). Stavitel 0, noc 25. 8. 2026.

   Scope: body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26)
   Cast :not(.foxplus) drzi cely soubor mimo /objednavka. Ta ma na body tridu foxplus
   a vlastni vrstvu (modul 890, tridy zs26-obj-*) uvnitr #clanek. Kdyz skin platil i tam,
   krokovnik objednavky se sesypal (obal 1180 misto 1330) a tlacitka Overit a Vybrat jidlo
   prisla o limetku (mereno 25. 8. proti Dukazy/pred/objednavka-1440.jpg).
   Nova hlavicka i paticka jsou primi potomci #obsah jako div.zs26.zs26-hlavicka /
   .zs26-paticka (mereno 25. 8. v headless Chromu). Proto se stary obsah adresuje pres
   `#obsah > :not(.zs26)`: to jsou pasy .pas a obal clanku .main_limit.obsah, a nova
   hlavicka ani paticka se timhle souborem nikdy nezasahne.

   Co prebiji z template2024.css a content2024.css (mereno na zivem webu, ne odhad):
   - body { font-size: 14px; font-weight: 300; text-align: center }
   - .main_limit { max-width: 1330px }, .body_v3 .main_limit { width: 95% }
   - .pas .main_limit { padding: 60px 0 35px }
   - .pas.pozadi1 kremova, .pozadi2 svetle zelena, .pozadi3 zluta + pozadi3.png,
     .pozadi4 studena bila, .pozadi5 bila + pozadi-srdicka.png (presne hodnoty jsou
     v template2024.css radky 396 az 404, sem se hexy psat nesmi)
   - h1..h6 { padding: 2em 0 .3em }, h1 { font-size: 1.685em; padding: 2.5em 0 .5em }
   - h1 strong, h2 strong { color: limetka; font-size: 36px } (limetka na textu, zakazana)
   - p { padding: 6px 0 }, a { color: limetka, kontrast na bile pod 3:1 }
   - ul li { list-style: none; padding: .4em 0 .4em 2em; background: url(tecka1..3.png) }
   - input, textarea { padding: 28px 31px !important } (pole meri 74 px), select { height: 60px }
   - input[type=submit], .button, button { padding: 21px 25px !important; border: 0 !important }
   - .button_hlavni { background: limetka !important; color: bila !important;
     border: 2px solid limetka !important } (bila na limetce, zakazana)
   - hr { border-top: 2px teckovana seda }

   Zamerne nehotove a proc:
   - Cely soubor je mimo /objednavka (body.foxplus), viz vys. Objednavkova vrstva si tam
     drzi svuj vzhled beze zmeny. Cena: h1 objednavky zustava limetkovy a obal 1330 px,
     coz je vec modulu 890, ne skinu.
   - Tabulky styluje jen `table:not([class])` a `table.tabulka`, tedy redakcni tabulky z JCE.
     Tabulky enginu (.jidelnicky_tab, .cenik_tab, .tabulka_cenik, .tabulka_jidelnicku) maji
     vlastni vzhled a scrollovaci obal, na ty sahaji stranky A a B.
   - Odrazky dostane jen `ul:not([class])` a `ol:not([class])`, zase kvuli enginu.
     Zelene tecky (tecka1..3.png) se ale rusi na vsech `ul > li` v obsahu, to je jen odebrani.
   - Zaobleni tabulky na obalu neni: redakcni tabulka z JCE zadny obal nema.
   - Fokus pole: content2024.css ma na :focus vlastni stin s !important a ten se tady
     prebit neda, kontrakt stiny zakazuje. Fokus resi outline v --zs-barva-stav-fokus.
   - #newsletter-prihlaseni.pas_acy (zluty pas nad patickou) je mimo #obsah, na body.
     Neni to .pas ani obsah clanku, takze sem nepatri. Vyzaduje rozhodnuti orchestratora.
   - Hero pasy nechavaji zarovnani, jak je dnes (mereno: text-align left).
   - Breakpointy jen 700 a 1024, mobile first.
*/

/* ---------------------------------------------------------------
   1. Obaly: sirka 1180, bocni odsazeni, svisle odstupy sekci
   --------------------------------------------------------------- */
/* template2024.css dava strance svetle zelene pozadi, ktere kolem obalu 1180 px
   prosvita jako pruh. Homepage je bila, tak at je bila i podstranka. */
body:has(.zs26-hlavicka):not(.foxplus) {
  background: var(--zs-barva-pozadi-stranka);
}

body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .main_limit,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--zs-sirka-obsah);
  margin-inline: auto;
  padding-inline: var(--zs-odstup-base);
}

/* svisly odstup pasu podle tokenu (mobil 44, desktop 64) */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas > .main_limit,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah {
  padding-block: var(--zs-odstup-sekce-mobil);
}

/* pasy, ktere odsazeni nemaji mit, ho nedostanou ani ode me */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.bezlimitu > .main_limit,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.bezodsazeni > .main_limit {
  padding-block: 0;
}

@media (min-width: 700px) {
  body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .main_limit,
  body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah {
    padding-inline: var(--zs-odstup-lg);
  }
  body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas > .main_limit,
  body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah {
    padding-block: var(--zs-odstup-sekce);
  }
  body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.bezlimitu > .main_limit,
  body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.bezodsazeni > .main_limit {
    padding-block: 0;
  }
}

/* ---------------------------------------------------------------
   2. Plochy pasu. Mereno 25. 8. 2026 na /cenik, /blog a /program-pro-zdravi:
      pozadi1 = kremova, pozadi2 = svetle zelena,
      pozadi3 = zluta se vzorem (jediny vyrazny pas, v novem designu
      ho zastupuje tmavy pas jako na homepage), pozadi4 = studena bila,
      pozadi5 = bila se srdicky. Svetle zustava svetle, prehodi se jen pozadi3.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas {
  background: var(--zs-barva-pozadi-stranka);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.pozadi1 {
  background: var(--zs-barva-pozadi-sekce-2);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.pozadi2 {
  background: var(--zs-barva-pozadi-sekce);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.pozadi3 {
  background: var(--zs-barva-pozadi-tmave);
  color: var(--zs-barva-text-na-tmavem);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.pozadi4,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.pozadi5 {
  background: var(--zs-barva-pozadi-jemne);
}

/* vnitrni zluty pas v clanku (.inpas.inpas_objednat na /cenik a /jidelnicek).
   Zustava svetly, jen v kremove z tokenu. Tmavy byt nemuze: text a tlacitko nad nim
   nejsou jeho potomci (mereno: .inpas_objednat nema deti), takze by se nedaly zesvetlit. */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .inpas_objednat {
  background: var(--zs-barva-pozadi-sekce-2);
}

/* text na tmavem pasu */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.pozadi3 h1,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.pozadi3 h2,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.pozadi3 h3,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.pozadi3 h4,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.pozadi3 p,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.pozadi3 li,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.pozadi3 strong,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.pozadi3 span {
  color: var(--zs-barva-text-na-tmavem);
}

/* ---------------------------------------------------------------
   3. Hero pas podstranek: div.pas.bezlimitu > .pozadi-flexi (500 px).
      Pismo a barvy podle homepage hero (css-partials/31-homepage-a.css, .zs-m-hero),
      zarovnani se nemeni (dnes je vlevo).
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.bezlimitu > .pozadi-flexi {
  font-family: var(--zs-pismo);
  color: var(--zs-barva-text-zakladni);
  font-size: 16px;
  line-height: 1.55;
  font-weight: 400;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.bezlimitu > .pozadi-flexi h1 {
  margin: 0;
  padding: 0 0 var(--zs-odstup-base);
  font-size: clamp(34px, 3.3vw, 44px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--zs-barva-text-nadpis);
}
/* limetka na textu je zakazana, strong v nadpisu tedy jen dedi */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.bezlimitu > .pozadi-flexi h1 strong,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.bezlimitu > .pozadi-flexi h2 strong {
  font: inherit;
  color: inherit;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.bezlimitu > .pozadi-flexi h2 {
  margin: 0;
  padding: 0 0 var(--zs-odstup-md);
  font-size: clamp(26px, 2.7vw, 36px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--zs-barva-text-nadpis);
}
/* h3 je v hero perex, ne nadpis (mereno na /o-nas a /obchodni-podminky) */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.bezlimitu > .pozadi-flexi h3 {
  margin: 0;
  padding: 0 0 var(--zs-odstup-md);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.bezlimitu > .pozadi-flexi p {
  margin: 0 0 var(--zs-odstup-base);
  padding: 0;
  font-size: 16px;
  line-height: 1.55;
  color: var(--zs-barva-text-tlumeny);
}

/* ---------------------------------------------------------------
   4. Typografie obsahu clanku
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah,
body:has(.zs26-hlavicka):not(.foxplus) #clanek.item-page {
  font-family: var(--zs-pismo);
  font-size: 16px;
  line-height: 1.55;
  font-weight: 400;
  color: var(--zs-barva-text-zakladni);
  text-align: left;
}
/* .stranka_normal ma z template2024.css padding-top 17px, odstup uz resi obal */
body:has(.zs26-hlavicka):not(.foxplus) #clanek.item-page {
  padding-top: 0;
}
/* .item-page nema mit ramecky ani plochu legacy */
body:has(.zs26-hlavicka):not(.foxplus) #clanek.item-page,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .page-header {
  background: none;
  border: 0;
}

/* h1 plati i v pasu (.program_head na /cenik lezi mimo .main_limit),
   zarovnani se nemeni, jen velikost, vaha a barva */
body:has(.zs26-hlavicka):not(.foxplus) #clanek h1,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas h1 {
  margin: 0;
  padding: 0 0 var(--zs-odstup-base);
  font-size: clamp(34px, 3.3vw, 44px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--zs-barva-text-nadpis);
}
/* nadpisy pasu si smi nechat stred, kdyz ho dnes maji (kontrakt bod 10),
   proto se u h2 v pasu meni jen pismo a barva, ne zarovnani */
body:has(.zs26-hlavicka):not(.foxplus) #clanek h2,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas > .main_limit h2 {
  margin: 0;
  padding: var(--zs-odstup-2xl) 0 var(--zs-odstup-md);
  font-size: clamp(26px, 2.7vw, 36px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek h3,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas > .main_limit h3 {
  margin: 0;
  padding: var(--zs-odstup-xl) 0 var(--zs-odstup-sm);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek h4,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas > .main_limit h4 {
  margin: 0;
  padding: var(--zs-odstup-lg) 0 var(--zs-odstup-sm);
  font-size: 17.5px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--zs-barva-text-nadpis);
}
/* prvni nadpis v clanku nema mit odstup nahore */
body:has(.zs26-hlavicka):not(.foxplus) #clanek h1:first-child,
body:has(.zs26-hlavicka):not(.foxplus) #clanek h2:first-child,
body:has(.zs26-hlavicka):not(.foxplus) #clanek h3:first-child,
body:has(.zs26-hlavicka):not(.foxplus) #clanek h4:first-child {
  padding-top: 0;
}
/* limetka na textu je zakazana (kontrakt bod 8). content2024.css dava
   h1 strong a h2 strong limetku a 36 az 50 px, tady jen dedi nadpis. */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) h1 strong,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) h2 strong,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) h1.hlavni,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) h2.hlavni {
  /* oprava 02:50 (nalez Stavitele A): font: inherit srazilo nadpis na 14 px / 300 z body */
  font-family: var(--zs-pismo);
  font-size: clamp(34px, 3.3vw, 44px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--zs-barva-text-nadpis);
  color: inherit;
}

/* Vypis blogu (.blogitem) ma vlastni karty s pevnou vyskou. Nadpis karty proto
   drzi velikost .zs-h3, ne velikost nadpisu clanku, jinak text z karty vypadne. */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .blogitem .nadpis h2,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .blogitem .nadpis h3,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .blogitem .nadpis h4 {
  margin: 0;
  padding: 0 0 var(--zs-odstup-sm);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: var(--zs-barva-text-nadpis);
}

body:has(.zs26-hlavicka):not(.foxplus) #clanek p,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah p {
  margin: 0 0 var(--zs-odstup-base);
  padding: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;
  color: var(--zs-barva-text-zakladni);
}

body:has(.zs26-hlavicka):not(.foxplus) #clanek a,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah a {
  color: var(--zs-barva-text-odkaz);
  text-decoration: underline;
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek a:hover,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah a:hover {
  color: var(--zs-barva-text-nadpis);
}

/* Odkaz v tabulce neni odkaz v textu. Na /cenik jsou vsechny ceny odkazy a podtrzeni
   z pravidla vyse z nich udelalo kasi. Podtrzeni patri odkazum v odstavcich, v bunce
   staci barva textu a podtrzeni az na najeti. */
body:has(.zs26-hlavicka):not(.foxplus) #clanek td a,
body:has(.zs26-hlavicka):not(.foxplus) #clanek th a,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah td a,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah th a,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas > .main_limit td a,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas > .main_limit th a {
  color: inherit;
  text-decoration: none;
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek td a:hover,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah td a:hover,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas > .main_limit td a:hover {
  color: var(--zs-barva-text-odkaz);
  text-decoration: underline;
}

/* seznamy: pryc zelene tecky tecka1..3.png, zpet normalni odrazky.
   Tecky jsou i v seznamech uvnitr pasu (mereno na /cenik, pas m226.pozadi1). */
body:has(.zs26-hlavicka):not(.foxplus) #clanek ul > li,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah ul > li,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas > .main_limit ul > li {
  background-image: none;
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek ul:not([class]),
body:has(.zs26-hlavicka):not(.foxplus) #clanek ol:not([class]),
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah ul:not([class]),
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah ol:not([class]),
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas > .main_limit ul:not([class]),
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas > .main_limit ol:not([class]) {
  margin: 0 0 var(--zs-odstup-base);
  padding: 0 0 0 var(--zs-odstup-xl);
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek ul:not([class]) > li,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah ul:not([class]) > li,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas > .main_limit ul:not([class]) > li {
  margin: 0;
  padding: var(--zs-odstup-xs) 0;
  background: none;
  list-style: disc;
  font-size: 16px;
  line-height: 1.55;
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek ol:not([class]) > li,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah ol:not([class]) > li,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas > .main_limit ol:not([class]) > li {
  margin: 0;
  padding: var(--zs-odstup-xs) 0;
  background: none;
  list-style: decimal;
  font-size: 16px;
  line-height: 1.55;
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek ul:not([class]) > li::marker,
body:has(.zs26-hlavicka):not(.foxplus) #clanek ol:not([class]) > li::marker {
  color: var(--zs-barva-ikona-check);
}

body:has(.zs26-hlavicka):not(.foxplus) #clanek hr,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah hr {
  height: 1px;
  margin: var(--zs-odstup-xl) 0;
  background: none;
  border: 0;
  border-top: 1px solid var(--zs-barva-ramecek-karta);
  color: var(--zs-barva-ramecek-karta);
}

body:has(.zs26-hlavicka):not(.foxplus) #clanek blockquote,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah blockquote {
  margin: var(--zs-odstup-xl) 0;
  padding: 0 0 0 var(--zs-odstup-lg);
  border-left: 3px solid var(--zs-barva-akce-primarni);
  font-size: 19px;
  line-height: 1.5;
  color: var(--zs-barva-text-tlumeny);
}

/* redakcni tabulky z JCE (bez tridy nebo .tabulka). Tabulky enginu se nechavaji.
   Doplneno 03:15: clanek v Aktualitach a na blogu se vykresluje v hero pasu (.pozadi-flexi .text), ne v #clanek. */
body:has(.zs26-hlavicka):not(.foxplus) #clanek table:not([class]),
body:has(.zs26-hlavicka):not(.foxplus) #clanek table.tabulka,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah table:not([class]),
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pozadi-flexi .text table:not([class]) {
  width: 100%;
  margin: 0 0 var(--zs-odstup-xl);
  border-collapse: collapse;
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek table:not([class]) th,
body:has(.zs26-hlavicka):not(.foxplus) #clanek table.tabulka th,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah table:not([class]) th,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pozadi-flexi .text table:not([class]) th {
  padding: var(--zs-odstup-md) var(--zs-odstup-base);
  background: var(--zs-barva-pozadi-sekce);
  color: var(--zs-barva-text-nadpis);
  font-weight: 600;
  text-align: left;
  border: 1px solid var(--zs-barva-ramecek-karta);
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek table:not([class]) td,
body:has(.zs26-hlavicka):not(.foxplus) #clanek table.tabulka td,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah table:not([class]) td,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pozadi-flexi .text table:not([class]) td {
  padding: var(--zs-odstup-md) var(--zs-odstup-base);
  border: 1px solid var(--zs-barva-ramecek-karta);
  vertical-align: top;
}

body:has(.zs26-hlavicka):not(.foxplus) #clanek img,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah img {
  max-width: 100%;
  height: auto;
}
/* zaobleni jen redakcnim obrazkum, ikony (img.ic) a obrazky enginu zustavaji ostre */
body:has(.zs26-hlavicka):not(.foxplus) #clanek img:not([class]),
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .main_limit.obsah img:not([class]) {
  border-radius: var(--zs-radius-karta);
}

/* ---------------------------------------------------------------
   5. Tlacitka. Vzhled .zs-tlacitko z css-partials/20-komponenty.css.
      Limetka jen tam, kde odkaz vede do objednavky, jinak obrys,
      odesilaci tlacitko ve formulari tmave (kontrakt bod 9).
      content2024.css ma na techto selektorech !important, proto ho tady potrebuji taky.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.button_hlavni,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) span.button_hlavni,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.button,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.tlacitko,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.btn,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) button,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--zs-odstup-sm);
  min-height: var(--zs-vyska-tlacitko);
  padding: 0 var(--zs-odstup-xl) !important;
  border-radius: var(--zs-radius-pill) !important;
  font-family: var(--zs-pismo);
  font-size: 16px !important;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  background: var(--zs-barva-pozadi-karta) !important;
  color: var(--zs-barva-text-nadpis) !important;
  border: 2px solid var(--zs-barva-akce-sekundarni-ramecek) !important;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.button_hlavni:hover,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) span.button_hlavni:hover,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.button:hover,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.tlacitko:hover,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) button:hover,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) input[type="submit"]:hover {
  background: var(--zs-barva-akce-sekundarni-hover) !important;
  color: var(--zs-barva-text-nadpis) !important;
}

/* primarni: tlacitko, ktere vede do objednavky. Jen tlacitka, ne kazdy odkaz,
   aby se z odkazu v textu nestala limetkova plocha. */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.button_hlavni[href*="objednavka"],
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.button_hlavni[href*="objednat"],
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.button[href*="objednavka"],
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.button[href*="objednat"],
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.tlacitko[href*="objednavka"],
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.tlacitko[href*="objednat"],
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.btn[href*="objednavka"],
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.btn[href*="objednat"] {
  background: var(--zs-barva-akce-primarni) !important;
  color: var(--zs-barva-akce-primarni-text) !important;
  border-color: var(--zs-barva-akce-primarni) !important;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.button_hlavni[href*="objednavka"]:hover,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.button_hlavni[href*="objednat"]:hover,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.button[href*="objednavka"]:hover,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.tlacitko[href*="objednavka"]:hover,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.btn[href*="objednavka"]:hover {
  background: var(--zs-barva-akce-primarni-hover) !important;
  border-color: var(--zs-barva-akce-primarni-hover) !important;
  color: var(--zs-barva-akce-primarni-text) !important;
}

/* .outline z content2024.css uz obrys je, jen na nasich barvach */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.button_hlavni.outline {
  background: var(--zs-barva-pozadi-karta) !important;
  color: var(--zs-barva-text-nadpis) !important;
  border-color: var(--zs-barva-akce-sekundarni-ramecek) !important;
}

/* odesilaci tlacitko ve formulari: tmave */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) form button,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) form input[type="submit"] {
  background: var(--zs-barva-akce-tmave) !important;
  color: var(--zs-barva-text-inverzni) !important;
  border-color: var(--zs-barva-akce-tmave) !important;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) form button:hover,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) form input[type="submit"]:hover {
  background: var(--zs-barva-akce-tmave-hover) !important;
  border-color: var(--zs-barva-akce-tmave-hover) !important;
  color: var(--zs-barva-text-inverzni) !important;
}

body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.button_hlavni:focus-visible,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) button:focus-visible,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) input[type="submit"]:focus-visible {
  outline: 2px solid var(--zs-barva-stav-fokus);
  outline-offset: 2px;
}

/* ---------------------------------------------------------------
   6. Pole. Bez /objednavka (body.foxplus) a bez .datepicker,
      tam ma vzhled na starosti objednavkova vrstva a kalendar enginu.
      content2024.css ma padding 28px 31px !important, pole meri 74 px.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]):not(.datepicker),
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) select,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) textarea {
  box-sizing: border-box;
  min-height: var(--zs-vyska-pole);
  height: var(--zs-vyska-pole);
  padding: 0 var(--zs-odstup-base) !important;
  font-family: var(--zs-pismo);
  font-size: 16px !important;
  font-weight: 400;
  line-height: 1.4;
  color: var(--zs-barva-text-zakladni);
  background: var(--zs-barva-pozadi-karta);
  border: 1px solid var(--zs-barva-ramecek-pole) !important;
  border-radius: var(--zs-radius-male);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) textarea {
  height: auto;
  min-height: 120px;
  padding: var(--zs-odstup-md) var(--zs-odstup-base) !important;
  line-height: 1.55;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]):not(.datepicker):focus,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) select:focus,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) textarea:focus {
  outline: 2px solid var(--zs-barva-stav-fokus);
  outline-offset: 1px;
  border-color: var(--zs-barva-ramecek-doporucena) !important;
  color: var(--zs-barva-text-zakladni) !important;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) ::placeholder {
  color: var(--zs-barva-text-popisek);
  opacity: 1;
}

/* ---------------------------------------------------------------
   7. Drobecky jako .zs-popisek
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) ul.breadcrumbC,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .breadcrumb,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .drobecky {
  margin: 0;
  padding: var(--zs-odstup-base) 0;
  font-family: var(--zs-pismo);
  font-size: 14.5px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--zs-barva-text-popisek);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) ul.breadcrumbC li,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .breadcrumb li,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .drobecky li {
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--zs-barva-text-popisek);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) ul.breadcrumbC a,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) ul.breadcrumbC a > span,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) ul.breadcrumbC li > span,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .breadcrumb a {
  color: var(--zs-barva-text-popisek);
  text-decoration: none;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) ul.breadcrumbC a:hover > span {
  color: var(--zs-barva-text-nadpis);
  text-decoration: underline;
}

/* ---------------------------------------------------------------
   8. Bocni panel a spodni lista. Jen barvy a pismo, zadne position ani width.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float.sidebar2 {
  font-family: var(--zs-pismo);
  font-size: 16px;
  line-height: 1.55;
  font-weight: 400;
  color: var(--zs-barva-text-zakladni);
}
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float.sidebar2 > div,
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float.sidebar2 > div.blank .modblank {
  background: var(--zs-barva-pozadi-karta);
  border: 1px solid var(--zs-barva-ramecek-karta);
  border-radius: var(--zs-radius-karta);
}
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float.sidebar2 div.vnor {
  padding: var(--zs-odstup-xl);
  font-size: 16px;
  line-height: 1.55;
}
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float.sidebar2 h2,
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float.sidebar2 h3 {
  padding: 0 0 var(--zs-odstup-md);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--zs-barva-text-nadpis);
}
/* zluta krabicka objednavky v bocnim panelu (/jidelnicek, /program-pro-zdravi)
   je jedina zluta plocha, ktera v novem designu nema partu. Svetle zeleny podklad
   a limetkove tlacitko uvnitr. */
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float.sidebar2 .objednat {
  background: var(--zs-barva-pozadi-sekce);
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float.sidebar2 a {
  color: var(--zs-barva-text-odkaz);
}
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float.sidebar2 li {
  background-image: none;
  font-size: 16px;
  line-height: 1.55;
}

body:has(.zs26-hlavicka):not(.foxplus) #respofix {
  font-family: var(--zs-pismo);
  background: var(--zs-barva-pozadi-sekce);
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #respofix li,
body:has(.zs26-hlavicka):not(.foxplus) #respofix li a {
  color: var(--zs-barva-text-nadpis);
  font-weight: 500;
}

/* ---------------------------------------------------------------
   9. Strankovani a hlavicka vypisu
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pagination {
  margin: var(--zs-odstup-2xl) 0 0;
  font-family: var(--zs-pismo);
  font-size: 16px;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pagination li {
  background-image: none;
}
/* strankovani je flex nowrap a na 390 px vylezlo na 608 px (mereno 25. 8.),
   proto se na mobilu zalamuje a ma mensi odsazeni */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) ul.pagination {
  flex-wrap: wrap;
  justify-content: center;
  row-gap: var(--zs-odstup-sm);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pagination a,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pagination span {
  padding: var(--zs-odstup-xs) var(--zs-odstup-sm);
  border-radius: var(--zs-radius-male);
  color: var(--zs-barva-text-nadpis);
  text-decoration: none;
}
@media (min-width: 700px) {
  body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pagination a,
  body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pagination span {
    padding: var(--zs-odstup-sm) var(--zs-odstup-md);
  }
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pagination a:hover {
  background: var(--zs-barva-pozadi-sekce);
}

body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .page-header {
  padding: 0;
  margin: 0 0 var(--zs-odstup-base);
}

/* ---------------------------------------------------------------
   10. Mobil. Vse vyse plati i na 390, tady jen to, co se lisi.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) img,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) iframe {
  max-width: 100%;
}

/* ---------------------------------------------------------------
   Doplneno 02:50 (nalez Stavitele A): text v pasech .pas dedil 14 px a vahu 300 z body.
   Stranky, ktere stavitele A a B resili, to maji prebite ve svych partialech;
   tohle je zachrana pro pasy, na ktere nikdo nesahal. Nizka specificita, partialy vyhravaji.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas p,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas li,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas td,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas label {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;
}

/* ---------------------------------------------------------------
   Doplneno 03:00 (QA vlna 1, nalez 1): div.podtisk na strankach programu
   (position: absolute, z-index 1, top -116px) prekryval pravou cast nove hlavicky
   (telefon useknuty, tlacitko Objednat jako prouzek), 23 z 24 programovych stranek.
   Hlavicka dostava vlastni vrstvu nad obsahem. Pod z-indexem sticky listy (60).
   --------------------------------------------------------------- */
.zs26 .zs-hlavicka { position: relative; z-index: 50; }

/* ===== css-obsah/61-cenik.css ===== */
/* 61-cenik.css
   Co to je: skin ceniku. Stranky /cenik, /cenik?typ=26, /cenik?typ=82 a kazdy dalsi typ
   (obsah tabulky se doplnuje AJAXem, HTML je vzdy stejne). Stavitel A, noc 25. 8. 2026.
   Navazuje na 60-zaklad.css, nic z nej neopakuje, jen doplnuje, co je na ceniku navic.

   Scope je stejny jako v zakladu: body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26).
   Bocni panel je adresovan pres #sidebar_float, protoze lezi uvnitr .main_limit.obsah.

   Co je na strance (mereno 25. 8. v headless Chromu na portu 9301, ne odhad):
   - .pas.m110.pozadi2.bezodsazeni > .main_limit > ul.breadcrumbC + .program_head (h1, h4)
     + .s_outer > .s_inner.myDraggable.cenik_nabidka_okolo > .cenik_nabidka
     > div.jidelnicek.aN.bNN (120 x 110, box-sizing border-box) > .jidelnicek_ic.jidelnicekNN > h6
     Aktivni kartu znaci trida `act` na .jidelnicek, ne `vybrany`.
     Stitek Obliby je .stitky > p > strong, absolutne nad kartou (proto ma karta margin-top 60).
   - #clanek > #cenik > h2 + .jidelnicek_den.color3.tabulka_cenik > .c_outer > .c_inner.myDraggable
     > table.jidelnicky_tab.cenik_tab: tr.linka_pod s th.zahlavi/th.mez/th.chod,
     pak 10x tr.linky s td.zahlavi (inline style border 0 a text-align left), td.mez, td.chod > a
   - #cenik > .moduletable > ul (poznamky pod tabulkou), .inpas_okolo > .inpas_obsah
     + .inpas.inpas_objednat (kremovy pas pres celou sirku, vzhled uz resi zaklad)
   - .slevyproverneklienty_celek > .slevyproverneklienty_grid(.hlavicka)
     > .rukasrdce > .bublN (PNG bublina) + .faj1 / .faj2 (plocha s PNG ikonou vlevo)
   - #sidebar_float > .m111 > h4 + .vnor > ul + .ic_div.ic_tel + .ic_div.ic_mail
   - .pas.m226.pozadi1 (Dodani jidel, dva sloupce .sloupce2), typografii uz resi zaklad

   Co prebiji z legacy (radky mereny v stazenych souborech 25. 8.):
   - template2024.css 648 a 667 az 675: .cenik_nabidka .jidelnicek ramecek limetka, radius 15
   - template2024.css 688: .cenik_nabidka .jidelnicek:hover { background: limetka }
   - template2024.css 704: .cenik_nabidka .jidelnicek.act { background: limetka }
   - content2024.css 527: .jidelnicek_ic.act / .klik { background-color: limetka }
   - content2024.css 451: .stitky p strong { background: zluta; color: bila } (bila na zlute)
   - template2024.css 622: .jidelnicek_den { border: 1px limetka; radius 15 }
   - content2024.css 85 az 100: .jidelnicky_tab pismo 15 px, radky 2px dotted, mez 10 px
   - content2024.css 156 az 158, 177: .slevyproverneklienty radky 2px dotted, .fajN radius 7

   Zamerne nehotove a proc:
   - Sipky karuselu .kolsipka jsou PNG (kolosipka_L.png / kolsipka_L.png), ne kreslene CSS.
     Prebarvit je bez filtru nejde a filtr na obrazek je hack, ktery by se pri kazde zmene
     obrazku rozbil. Zustavaji, jak jsou (limetkove kolecko, sedi do palety). Pozice ani
     opacity se nesmi menit (kontrakt bod 3), takze ani margin karet: sipka ma top 88 px
     a stred karty je na 115 px, s jinym margin-top by se rozesla.
   - Nejlevnejsi ani doporucena varianta se v tabulce nezvyraznuje: legacy ji nicim neznaci
     (bunky maji jen kod chodu, tridy kod_CD, kod_CD-Sn a dalsi). Zvyraznit ji by znamenalo
     dopsat tridu do HTML, coz kontrakt zakazuje. Vyzaduje HTML / Mojmira.
   - Vnitrni pas .inpas.inpas_objednat zustava kremovy ze zakladu. Tmavy pas by sel udelat
     (plocha je .inpas_objednat, text je v sesterskem .inpas_obsah), ale na ceniku by to byl
     treti vyrazny prvek nad sebou vedle karuselu a tabulky. Kremova plocha oddeluje stejne
     dobre a limetkove tlacitko na ni ma kontrast 7:1.
   - h2 "Cenik programu ..." je na stred inline stylem z clanku, ne ze sablony. Necham,
     stejne jako to udelal Stavitel 0 na /obchodni-podminky.
   - .program_head je i na detailu programu (.pas.m138). Je tady jen jednou, at se pravidla
     nedubluji mezi partialy 61 a 63.
   - Bubliny slev .bublN jsou PNG s textem uvnitr (95 x 95). Meni se jen pismo, ne velikost,
     jinak by text z bubliny vypadl.
*/

/* ---------------------------------------------------------------
   1. Hlavicka pasu: h1 uz ma zaklad, h4 je perex, ne nadpis.
      Plati i pro detail programu (.pas.m138 > .program_head).
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas > .main_limit .program_head h4,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas > .program_head h4 {
  margin: 0;
  padding: 0;
  font-size: 19px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  color: var(--zs-barva-text-tlumeny);
}

/* pas s karuselem nema odsazeni zdola (bezodsazeni), karty by se dotykaly hrany */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.m110 > .main_limit {
  padding-bottom: var(--zs-odstup-xl);
}

/* ---------------------------------------------------------------
   2. Karusel programu. Karty jako .zs-karta na homepage: bila plocha,
      tenky neutralni ramecek, radius 16. Vybrana (trida act) svetle limetkova
      plocha a 2px ramecek --zs-barva-ramecek-doporucena, jako .zs-karta--doporucena.
      Sirka, vyska, pozice, overflow ani margin se nemeni, karusel se dal posouva.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .cenik_nabidka .jidelnicek {
  background: var(--zs-barva-pozadi-karta);
  border: 1px solid var(--zs-barva-ramecek-karta);
  border-radius: var(--zs-radius-karta);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .cenik_nabidka .jidelnicek:hover {
  background: var(--zs-barva-pozadi-sekce);
  border-color: var(--zs-barva-ramecek-doporucena);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .cenik_nabidka .jidelnicek.act {
  background: var(--zs-barva-akcent-limetka-plo);
  border: 2px solid var(--zs-barva-ramecek-doporucena);
}
/* vnitrni vrstva s ikonou ma pri kliku svoji limetku, at prosvita plocha karty */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .cenik_nabidka .jidelnicek .jidelnicek_ic.act,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .cenik_nabidka .jidelnicek .jidelnicek_ic.klik {
  background-color: transparent;
}
/* nazev programu na karte. 12,6 px z legacy je popisek, ne nazev. */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .cenik_nabidka .jidelnicek h6 {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--zs-barva-text-nadpis);
}

/* stitek Obliby: bila na zlute z legacy ma kontrast 1,8:1, text patri tmave zeleny */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .cenik_nabidka .stitky p strong {
  background: var(--zs-barva-akcent-zluta);
  color: var(--zs-barva-text-nadpis);
  border-radius: var(--zs-radius-male);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* ---------------------------------------------------------------
   3. Tabulka cen. Obal dostane vzhled karty, hlavicka svetle zelenou plochu,
      radky zebru a tenkou linku, ceny tabularni cislice na jeden radek.
      Na .c_outer ani .c_inner.myDraggable se nesaha, posouvani je JS enginu.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #cenik .jidelnicek_den.tabulka_cenik {
  border: 1px solid var(--zs-barva-ramecek-karta);
  border-radius: var(--zs-radius-karta);
  background: var(--zs-barva-pozadi-karta);
}
body:has(.zs26-hlavicka):not(.foxplus) #cenik .tabulka_cenik table.cenik_tab {
  font-family: var(--zs-pismo);
  font-size: 16px;
  line-height: 1.4;
  color: var(--zs-barva-text-zakladni);
}
/* Sirka sloupce s cenou. Legacy ma 8em (template2024.css 784), coz je pri pismu 16 px
   128 px na sloupec. Osm sloupcu se pak pere o 713 px, ktere clanek s bocnim panelem ma,
   a slozka nazvu radku spadne na 96 px, kde se "bez snidane" laame na tri radky.
   4,6em je presne na cenu se ctyrmi znaky a mezerou, nazvy radku pak vyjdou na dva radky
   a tabulka je o 60 px nizsi nez pred zasahem (mereno 25. 8. na 1440 px). */
body:has(.zs26-hlavicka):not(.foxplus) #cenik .tabulka_cenik table.cenik_tab .chod {
  width: 4.6em;
}
/* zahlavi sloupcu */
body:has(.zs26-hlavicka):not(.foxplus) #cenik .tabulka_cenik table.cenik_tab th.chod {
  padding: var(--zs-odstup-md) var(--zs-odstup-sm);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--zs-barva-text-nadpis);
  background: var(--zs-barva-pozadi-sekce);
  vertical-align: bottom;
  border-bottom: 1px solid var(--zs-barva-ramecek-karta);
}
body:has(.zs26-hlavicka):not(.foxplus) #cenik .tabulka_cenik table.cenik_tab th.zahlavi {
  background: var(--zs-barva-pozadi-sekce);
  border-bottom: 1px solid var(--zs-barva-ramecek-karta);
}
/* zahlavi radku: nazev kombinace chodu */
body:has(.zs26-hlavicka):not(.foxplus) #cenik .tabulka_cenik table.cenik_tab td.zahlavi {
  padding: var(--zs-odstup-sm) var(--zs-odstup-md);
  background: var(--zs-barva-pozadi-sekce);
  color: var(--zs-barva-text-nadpis);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
}
/* Bunka s cenou ma padding 0 (template2024.css 786), odsazeni nese odkaz uvnitr,
   ktery je block a vyplnuje celou bunku. Kdyz se padding prida i bunce, secte se
   a radek naroste na 98 px misto 62. Odsazeni proto patri odkazu, ne bunce. */
body:has(.zs26-hlavicka):not(.foxplus) #cenik .tabulka_cenik table.cenik_tab td.chod {
  font-size: 16px;
  color: var(--zs-barva-text-zakladni);
  border-bottom: 1px solid var(--zs-barva-ramecek-karta);
}
body:has(.zs26-hlavicka):not(.foxplus) #cenik .tabulka_cenik table.cenik_tab td.chod a {
  padding: var(--zs-odstup-md) var(--zs-odstup-sm) !important;
  font-size: 16px;
  font-weight: 500 !important;
  line-height: 1.3;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
body:has(.zs26-hlavicka):not(.foxplus) #cenik .tabulka_cenik table.cenik_tab tr.linky td.mez {
  border-bottom: 1px solid var(--zs-barva-ramecek-karta);
}
/* zebra: liche datove radky (prvni tr je zahlavi, proto sude nth-of-type) */
body:has(.zs26-hlavicka):not(.foxplus) #cenik .tabulka_cenik table.cenik_tab tr.linky:nth-of-type(even) td.chod,
body:has(.zs26-hlavicka):not(.foxplus) #cenik .tabulka_cenik table.cenik_tab tr.linky:nth-of-type(even) td.mez {
  background: var(--zs-barva-pozadi-jemne);
}
/* posledni radek uz linku dole nepotrebuje, ma ji obal */
body:has(.zs26-hlavicka):not(.foxplus) #cenik .tabulka_cenik table.cenik_tab tr.linky:last-child td {
  border-bottom: 0;
}

/* ---------------------------------------------------------------
   4. Poznamky pod tabulkou (.moduletable) a vnitrni pas objednat.
      Plocha pasu uz je kremova ze zakladu, tady jen pismo.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #cenik .moduletable ul > li {
  font-size: 16px;
  line-height: 1.55;
  color: var(--zs-barva-text-zakladni);
}
body:has(.zs26-hlavicka):not(.foxplus) #cenik .inpas_obsah p {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
  color: var(--zs-barva-text-tlumeny);
}

/* ---------------------------------------------------------------
   5. Vernostni slevy. Radky misto teckovanych linek tenkou linku,
      plochy .faj1 a .faj2 zustavaji (jsou uz v barvach tokenu), meni se
      jen radius a pismo. Ikony v plose jsou background-image, proto se
      prepisuje jen background-color, ne cely background.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .slevyproverneklienty_grid {
  border-top: 1px solid var(--zs-barva-ramecek-karta);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .slevyproverneklienty_grid.hlavicka > div {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .slevyproverneklienty_celek .faj1,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .slevyproverneklienty_celek .faj2,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .slevyproverneklienty_celek .fajplus {
  border-radius: var(--zs-radius-male);
  font-size: 16px;
  line-height: 1.5;
  color: var(--zs-barva-text-zakladni);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .slevyproverneklienty_celek .faj1 {
  background-color: var(--zs-barva-pozadi-sekce);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .slevyproverneklienty_celek .faj2,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .slevyproverneklienty_celek .fajplus {
  background-color: var(--zs-barva-pozadi-sekce-2);
}
/* text v PNG bubline: velikost zustava, jinak z bubliny vypadne */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .rukasrdce strong {
  font-family: var(--zs-pismo);
  font-weight: 700;
  color: var(--zs-barva-text-nadpis);
}

/* ---------------------------------------------------------------
   6. Bocni panel. Kartu uz kresli zaklad, tady jen hlavicka karty,
      aby jeji plocha nevyckuhovala z 16px zaobleni karty.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float.sidebar2 .m111 > h4 {
  margin: 0;
  padding: var(--zs-odstup-lg);
  font-size: 17.5px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--zs-barva-text-nadpis);
  background: var(--zs-barva-pozadi-sekce);
  border-radius: var(--zs-radius-karta) var(--zs-radius-karta) 0 0;
}
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float.sidebar2 .ic_div {
  margin: 0 0 var(--zs-odstup-base);
  font-size: 16px;
  line-height: 1.55;
}
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float.sidebar2 .ic_div p {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.55;
  color: var(--zs-barva-text-tlumeny);
}
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float.sidebar2 .ic_div a {
  color: var(--zs-barva-text-odkaz);
  font-weight: 600;
  text-decoration: none;
}
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float.sidebar2 .ic_div a:hover {
  text-decoration: underline;
}

/* ---------------------------------------------------------------
   7. Pas Dodani jidel (.pas.m226.pozadi1). Typografii resi zaklad,
      tady jen mezera mezi sloupci a odstup poslednim odstavcem.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.m226 > .main_limit .sloupce2 > div {
  padding-right: var(--zs-odstup-2xl);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.m226 > .main_limit > p {
  margin: var(--zs-odstup-xl) 0 0;
  padding: 0;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--zs-barva-text-popisek);
}

/* ---------------------------------------------------------------
   8. Mobil. Tabulka se na uzkem okne posouva tazenim (.c_inner.myDraggable),
      to je JS enginu a nechava se, jen bunky maji mensi bocni odsazeni,
      at se do posuvneho okna vejde vic sloupcu. Pismo zustava 16 px
      (kontrakt bod 8), zmensuje se odsazeni, ne text.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #cenik .tabulka_cenik table.cenik_tab td.chod a,
body:has(.zs26-hlavicka):not(.foxplus) #cenik .tabulka_cenik table.cenik_tab th.chod {
  padding-inline: var(--zs-odstup-xs) !important;
}
body:has(.zs26-hlavicka):not(.foxplus) #cenik .tabulka_cenik table.cenik_tab td.zahlavi {
  padding-inline: var(--zs-odstup-sm);
}
@media (min-width: 700px) {
  body:has(.zs26-hlavicka):not(.foxplus) #cenik .tabulka_cenik table.cenik_tab td.chod a,
  body:has(.zs26-hlavicka):not(.foxplus) #cenik .tabulka_cenik table.cenik_tab th.chod {
    padding-inline: var(--zs-odstup-sm) !important;
  }
  body:has(.zs26-hlavicka):not(.foxplus) #cenik .tabulka_cenik table.cenik_tab td.zahlavi {
    padding-inline: var(--zs-odstup-md);
  }
}

/* ===== css-obsah/62-jidelnicek.css ===== */
/* 62-jidelnicek.css
   Co to je: skin jidelnicku. Stranky /jidelnicek a /jidelnicek/<program>-<kJ>
   (a varianta -dalsi-tyden). Stavitel A, noc 25. 8. 2026. Navazuje na 60-zaklad.css.

   Struktura (mereno 25. 8. v headless Chromu na portu 9301, /jidelnicek):
   - .pas.m107.pozadi2.bezlimitu > .main_limit > div > .jidelnicky_outer
     > .jidelnicky_inner.myDraggable > .nastavTydenJidelnicek (span.alink(.act))
     + .clonaL/.clonaR + .kolsipka + .jidelnicky_okolo > .jidelnicky_nabidka
     > .skupina > h4 + .jidelnicky > .jidelnicek(.act)
       > a.program > .jidelnicek_ico.jidelnicek_ic.jidelnicekNN > h6
       + .programy > a.program(.act)  (dlazdice kJ, odkaz na variantu)
     a vedle .jidelnicky_doplnky
   - #clanek > h1 + .prepinactydnu (a.nastavScroll, aktivni ma .color6)
     + 5 x [ .relative > .jidelnicek_nadpis  +  .jidelnicek_den.color3.tabulka_jidelnicku
       > table.jidelnicky_tab > tr.linka_pod (th.hodnoty: Energie kJ, Bilkoviny g,
       Sacharidy g, Tuky g) + tr.linky (td.zahlavi_n, td.mez, td.nazevjidelnicku,
       4 x td.hodnoty) + tr.linka_nad.hodnoty_celkem ]
   - V tabulce **nejsou fotky jidel**, jen nazev chodu a tooltip se slozenim
     (span.jmeno.tooltiphover). Zadani mluvilo o zaoblenych fotkach, na teto sablone
     zadne nejsou, takze se nic takoveho nepridava (kontrakt bod 6).

   Co prebiji z legacy:
   - template2024.css 622: .jidelnicek_den ramecek 1px limetka, radius 15
   - content2024.css 524: .jidelnicky .jidelnicek.act plna limetka
   - content2024.css 529: .jidelnicek_ico ramecek limetka, bila plocha
   - content2024.css 642 a 643: .jidelnicek.act .programy .program bily ramecek a bily text,
     .program.act bila plocha s limetkovym textem (limetka na textu, kontrast 1,9:1)
   - content2024.css 85 az 100 a 108 az 116: .jidelnicky_tab pismo 15 px, teckovane linky
   - template2024.css 617: .jidelnicek_ic h6

   Zamerne nehotove a proc:
   - **Velikost dlazdic kJ (a.program) se nemeni.** Karta programu meri 120 px a dlazdice
     jsou dve na radek, tedy asi 50 px. Pri 16 px by se "10 000" na radek nevesle a karusel
     by se prerovnal. Legacy velikost tedy zustava a meni se jen barva: limetkovy text na
     bile ma kontrast 1,9:1 a nahrazuje ho tmave zelena. Zvetsit pismo jde az se zmenou
     rozvrzeni dlazdic, coz je **vec HTML a JS**, ne skinu.
   - Karusel .jidelnicky_inner.myDraggable a sipky .kolsipka se nechavaji, stejne jako
     na ceniku: sipky jsou PNG a pozice patri enginu.
   - Nadpis dne (.jidelnicek_nadpis) ma v obsahu male pismeno ("pondeli,"). Text se nemeni,
     jen rez a velikost.
*/

/* ---------------------------------------------------------------
   1. Prepinac tydne. Dve podoby na jedne strance:
      v pasu jako span.alink (JS prepinac), v clanku jako a.nastavScroll (odkaz).
      Obe jako obrysove tlacitko, aktivni ma svetle zelenou plochu a tmavy ramecek.
      Primarni (limetkove) byt nesmi, do objednavky nevede (kontrakt bod 9).
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .nastavTydenJidelnicek .alink,
body:has(.zs26-hlavicka):not(.foxplus) #clanek .prepinactydnu a.nastavScroll {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--zs-vyska-tlacitko-male);
  margin-right: var(--zs-odstup-md);
  padding: 0 var(--zs-odstup-lg);
  border: 2px solid var(--zs-barva-akce-sekundarni-ramecek);
  border-radius: var(--zs-radius-pill);
  background: var(--zs-barva-pozadi-karta);
  color: var(--zs-barva-text-nadpis);
  font-family: var(--zs-pismo);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .nastavTydenJidelnicek .alink:hover,
body:has(.zs26-hlavicka):not(.foxplus) #clanek .prepinactydnu a.nastavScroll:hover {
  background: var(--zs-barva-akce-sekundarni-hover);
  color: var(--zs-barva-text-nadpis);
  text-decoration: none;
}
/* aktivni tyden: jen plocha a barva, zadne rozvrzeni (trida act je funkcni) */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .nastavTydenJidelnicek .alink.act,
body:has(.zs26-hlavicka):not(.foxplus) #clanek .prepinactydnu a.color6 {
  background: var(--zs-barva-pozadi-sekce);
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek .prepinactydnu {
  padding: 0 0 var(--zs-odstup-2xl);
}

/* ---------------------------------------------------------------
   2. Vyber programu v pasu (.pas.m107). Karta jako na homepage.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .jidelnicky_nabidka h4,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .jidelnicky_doplnky h4 {
  margin: 0;
  font-size: 17.5px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .jidelnicky .jidelnicek {
  background: var(--zs-barva-pozadi-karta);
  border: 1px solid var(--zs-barva-ramecek-karta);
  border-radius: var(--zs-radius-karta);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .jidelnicky .jidelnicek:hover {
  border-color: var(--zs-barva-ramecek-doporucena);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .jidelnicky .jidelnicek.act {
  background: var(--zs-barva-akcent-limetka-plo);
  border: 2px solid var(--zs-barva-ramecek-doporucena);
}
/* ikona programu uvnitr karty: plochu i ramecek uz ma karta */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .jidelnicek .jidelnicek_ico {
  background-color: transparent;
  border-color: transparent;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .jidelnicek a.program:hover .jidelnicek_ico {
  background-color: transparent;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .jidelnicek .jidelnicek_ico h6 {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--zs-barva-text-nadpis);
}
/* dlazdice kJ. Velikost pisma zustava z legacy, viz hlavicka souboru.
   Meni se barva: limetkovy text na bile ma kontrast 1,9:1. */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .jidelnicek .programy a.program {
  background: var(--zs-barva-pozadi-karta);
  border: 1px solid var(--zs-barva-ramecek-karta);
  border-radius: var(--zs-radius-pill);
  color: var(--zs-barva-text-nadpis);
  font-weight: 600;
  text-decoration: none;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .jidelnicek .programy a.program:hover {
  background: var(--zs-barva-pozadi-sekce);
  border-color: var(--zs-barva-ramecek-doporucena);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .jidelnicek .programy a.program.act {
  background: var(--zs-barva-akce-primarni);
  border-color: var(--zs-barva-akce-primarni);
  color: var(--zs-barva-akce-primarni-text);
}
/* uvnitr vybrane karty ma legacy bily ramecek a bily text, na svetle limetce neviditelne */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .jidelnicek.act .programy a.program {
  background: var(--zs-barva-pozadi-karta);
  border-color: var(--zs-barva-ramecek-karta);
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .jidelnicek.act .programy a.program.act {
  background: var(--zs-barva-akce-primarni);
  border-color: var(--zs-barva-akce-primarni);
  color: var(--zs-barva-akce-primarni-text);
}

/* ---------------------------------------------------------------
   3. Nadpis dne
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #clanek .jidelnicek_nadpis {
  font-family: var(--zs-pismo);
  font-size: 17.5px;
  font-weight: 400;
  line-height: 1.35;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek .jidelnicek_nadpis strong {
  font-weight: 700;
}

/* ---------------------------------------------------------------
   4. Tabulka dne. Obal jako karta, zahlavi svetle zelene, radky s linkou,
      cisla tabularni. Sirka sloupcu se nemeni: tabulka stoji v clanku,
      ktery je pri zapnutem bocnim panelu siroky 755 px, a kazde rozsireni
      obsahu roztahne mrizku a vytlaci panel z obalu (mereno na ceniku).
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #clanek .jidelnicek_den.tabulka_jidelnicku {
  margin: 0 0 var(--zs-odstup-2xl);
  background: var(--zs-barva-pozadi-karta);
  border: 1px solid var(--zs-barva-ramecek-karta);
  border-radius: var(--zs-radius-karta);
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek .tabulka_jidelnicku table.jidelnicky_tab {
  font-family: var(--zs-pismo);
  font-size: 16px;
  line-height: 1.4;
  color: var(--zs-barva-text-zakladni);
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek .tabulka_jidelnicku table.jidelnicky_tab th.hodnoty {
  padding: var(--zs-odstup-md) var(--zs-odstup-sm);
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--zs-barva-text-popisek);
  vertical-align: bottom;
  border-bottom: 1px solid var(--zs-barva-ramecek-karta);
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek .tabulka_jidelnicku table.jidelnicky_tab td.zahlavi_n {
  padding: var(--zs-odstup-md) var(--zs-odstup-sm);
  background: var(--zs-barva-pozadi-sekce);
  color: var(--zs-barva-text-nadpis);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek .tabulka_jidelnicku table.jidelnicky_tab td.nazevjidelnicku {
  padding: var(--zs-odstup-md);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--zs-barva-text-zakladni);
  border-bottom: 1px solid var(--zs-barva-ramecek-karta);
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek .tabulka_jidelnicku table.jidelnicky_tab td.hodnoty {
  padding: var(--zs-odstup-md) var(--zs-odstup-sm);
  font-size: 16px;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  color: var(--zs-barva-text-tlumeny);
  border-bottom: 1px solid var(--zs-barva-ramecek-karta);
}
/* soucet za den */
body:has(.zs26-hlavicka):not(.foxplus) #clanek .tabulka_jidelnicku table.jidelnicky_tab tr.hodnoty_celkem td {
  padding-top: var(--zs-odstup-md);
  font-size: 16px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--zs-barva-text-nadpis);
  border-top: 1px solid var(--zs-barva-ramecek-karta);
  border-bottom: 0;
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek .tabulka_jidelnicku table.jidelnicky_tab tr.linky:last-of-type td {
  border-bottom: 0;
}
/* ikonka slozeni jidla, jen barva */
body:has(.zs26-hlavicka):not(.foxplus) #clanek .tabulka_jidelnicku .jmeno {
  color: var(--zs-barva-text-popisek);
}

/* ---------------------------------------------------------------
   5. Mobil. Na uzkem okne engine schova sloupce s hodnotami
      (.hodnoty display none) a misto nich ukaze .hodnoty_celkem_respo.
      To je jeho vec, tady jen pismo te mrizky.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #clanek .tabulka_jidelnicku .hodnoty_celkem_respo div {
  font-size: 16px;
  line-height: 1.4;
  color: var(--zs-barva-text-tlumeny);
  font-variant-numeric: tabular-nums;
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek .tabulka_jidelnicku .hodnoty_celkem_respo strong {
  font-size: 16px;
  font-weight: 700;
  color: var(--zs-barva-text-nadpis);
}

/* ===== css-obsah/63-programy.css ===== */
/* 63-programy.css
   Co to je: skin prehledu programu a detailu programu. Stranky /programy-a-priprava
   a /programy-a-priprava/program-* (pro-zdravi, keto, menicko a dalsi, HTML je stejne).
   Stavitel A, noc 25. 8. 2026. Navazuje na 60-zaklad.css.

   Struktura (mereno 25. 8. v headless Chromu na portu 9301):
   - Detail: .pas.m138.pozadi2.bezlimitu > .program_head > .main_limit
     > .flex-space-between-center-nowrap > [.flex-flex-start-center-nowrap > .obr + .pretext
     (h1.hlavni > span.p + strong, h4)] + [.text (p + .ukaz_v3 s tlacitkem)]
     .pas.m139.pozadi1 > .main_limit > .limit1 > h2 + p + N x .varianty_celek
     (> .varianty_nadpis + .varianty(.chody|.doplnky|.varianty_kalorie) > div(.ne))
     .pas.m141.pozadi3.objednat (tmavy pas s limetkovym tlacitkem, resi zaklad)
     .pas.m142 > .main_limit > .limit1 > h2 + .program-grid
     .pas.m136.bezlimitu > .pozadi-flexi.priprava-jidel
   - Prehled: .pas.m279.pozadi2.bezodsazeni (drobecky, .program_head, karusel .cenik_nabidka,
     ten uz resi 61-cenik.css), pak #clanek > .stranka_programy > ... > ul.uk-accordion
     > li > a.uk-accordion-title + .uk-accordion-content > .uk-margin > .program-grid
   - .pas.m134 a .pas.m135 na prehledu **nejsou primi potomci #obsah**, lezi v `#obsah > strong`
     (rozbite HTML z modulu). Proto na ne pravidla zakladu psana pres `#obsah > .pas`
     nedosahnou: m134 mela odsazeni 60/35 z legacy a h2 23,6 px misto 36. Adresuji je
     zvlast pres `#obsah > :not(.zs26) .pas.m134`. **Vyzaduje HTML / Mojmira**, spravne
     reseni je vyhodit ten `strong` z modulu, ne obchazet ho v CSS.

   Co prebiji z legacy:
   - content2024.css 22 a 23: h1.hlavni, h1.hlavni strong limetkove 36 az 50 px
   - content2024.css 431 az 445: .ikona plocha, radius 7, h3 uvnitr
   - content2024.css 561 az 573: .program-grid grid-template-rows 120px 120px
   - content2024.css 762 az 765: .varianty > div plocha, ramecek limetka, radius 5
   - content2024.css 687 az 699: .tab_srovnavaci radky 2px teckovane, zahlavi
   - uikit: a.uk-accordion-title limetkova plocha s limetkovym podtrzenym textem

   Dve chyby zakladu, ktere se ukazaly az tady (hlaseno orchestratorovi, doresit v 60-zaklad):
   1. `#obsah > :not(.zs26) h1.hlavni { font: inherit }` v zakladu (pravidlo proti limetce
      v nadpisu) srazi hlavni nadpis detailu programu na 14 px a vahu 300. Zaklad ho mysli
      jako `h1 strong`, ale `h1.hlavni` je cely nadpis, ne jen zvyrazneni v nem. Tady se
      vraci zpatky na velikost nadpisu podstranky.
   2. Zaklad styluje `p` jen v obsahu clanku (`#clanek p`, `.main_limit.obsah p`), ne
      v pasech. Odstavce v pasech proto zustaly na 14 px a vaze 300, coz je proti kontraktu
      bod 8. Tady se doplnuji pro vsechny pasy, at to plati i na strankach Stavitele B.

   Zamerne nehotove a proc:
   - Prehled programu je uikit accordion (`ul.uk-accordion`), ne mrizka karet. Prepsat ho
     na karty by znamenalo sahnout na HTML nebo na JS uikitu. Meni se jen vzhled zalozky:
     misto limetkove plochy s limetkovym podtrzenym textem svetle zelena plocha s tmave
     zelenym nadpisem, otevrena polozka ma tmavy ramecek.
   - Srovnavaci tabulka .tab_srovnavaci se posouva tazenim v .c_outer.rolovat. Sirku
     sloupcu nemenim: tabulka uz je sirsi nez obal (1275 proti 950) a posuv je zamer.
   - Ikony programu (.ikona img) jsou dve prekryte PNG s absolutni pozici. Nesahaji se,
     jen obal dostane zaobleni a ramecek.
*/

/* ---------------------------------------------------------------
   1. Doplneni zakladu pro obsah pasu (viz hlavicka souboru, bod 2)
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas p,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pas p {
  margin: 0 0 var(--zs-odstup-base);
  padding: 0;
  font-family: var(--zs-pismo);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;
}
/* Polozky seznamu v pasu. Zaklad jim dava velikost a odrazku, ale ne vahu, takze
   dedily 300 z `body` (template2024.css 13). Mereno na /cenik, pas m226: sest polozek
   se ctenym textem ve vaze 300, coz je proti kontraktu bod 8. */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas li,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pas li {
  font-family: var(--zs-pismo);
  font-weight: 400;
}
/* odkaz v textu pasu: legacy ma limetku, ktera ma na bile kontrast pod 3:1 */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas a:not([class]),
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pas a:not([class]) {
  color: var(--zs-barva-text-odkaz);
  text-decoration: underline;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.pozadi3 a:not([class]) {
  color: var(--zs-barva-text-na-tmavem);
}
/* delici linka v pasu, stejne jako v clanku */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas hr,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pas hr {
  height: 1px;
  margin: var(--zs-odstup-xl) 0;
  background: none;
  border: 0;
  border-top: 1px solid var(--zs-barva-ramecek-karta);
}
/* stitek nad kartou programu: bila na zlute ma kontrast 1,8:1 */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .stitky p strong {
  background: var(--zs-barva-akcent-zluta);
  color: var(--zs-barva-text-nadpis);
  border-radius: var(--zs-radius-male);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* ---------------------------------------------------------------
   2. Hlavicka detailu programu (.pas.m138 > .program_head)
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .program_head h1.hlavni {
  margin: 0;
  padding: 0 0 var(--zs-odstup-sm);
  font-family: var(--zs-pismo);
  font-size: clamp(34px, 3.3vw, 44px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--zs-barva-text-nadpis);
}
/* "Program krabickove diety:" je popisek nad nazvem, ne cast nazvu */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .program_head h1.hlavni > span.p {
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
  color: var(--zs-barva-text-tlumeny);
}
/* svisla linka u perexu vpravo, legacy limetka -> limetka z tokenu */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .program_head .text {
  border-left-color: var(--zs-barva-akce-primarni);
}

/* ---------------------------------------------------------------
   3. Mrizka variant (.varianty). Bunka je karta jako na homepage:
      bila plocha, neutralni ramecek, radius 8. Nedostupna varianta (.ne)
      svetla plocha bez ramecku a tlumeny text.
      Sirka, vyska ani grid-template se nemeni, to je rozvrzeni enginu.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .varianty > div {
  background: var(--zs-barva-pozadi-karta);
  border: 1px solid var(--zs-barva-ramecek-karta);
  border-radius: var(--zs-radius-male);
  color: var(--zs-barva-text-nadpis);
  font-weight: 600;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .varianty > div p {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .varianty > div.ne {
  background: var(--zs-barva-pozadi-jemne);
  border-color: transparent;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .varianty > div.ne p {
  color: var(--zs-barva-text-popisek);
  font-weight: 400;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .varianty > div.poznamka {
  background: none;
  border: 0;
  color: var(--zs-barva-text-tlumeny);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .varianty > div.poznamka p {
  font-size: 16px;
  font-weight: 400;
  color: var(--zs-barva-text-tlumeny);
  text-align: left;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .varianty > div img {
  border-radius: var(--zs-radius-male);
}
/* popisek skupiny variant vlevo */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .varianty_nadpis h4 {
  margin: 0;
  padding: 0 0 var(--zs-odstup-xs);
  font-size: 17.5px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .varianty_nadpis p {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: var(--zs-barva-text-tlumeny);
}

/* ---------------------------------------------------------------
   4. Radek programu (.program-grid). Legacy ma pevne radky 120 + 120 px
      a pri pismu 16 px se odstavec do 120 px nevejde: text pretekl pres
      tlacitka Podrobnosti a Objednat (mereno na /programy-a-priprava,
      odstavec 124 px konci 43 px pod hornim okrajem radku s tlacitky).
      Radky proto dostanou auto. Sloupce ani grid-area se nemeni.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .program-grid {
  grid-template-rows: auto auto;
  align-items: start;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .program-grid .grid-text {
  height: auto;
  padding-bottom: var(--zs-odstup-base);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .program-grid .grid-odkazy {
  height: auto;
  padding-top: var(--zs-odstup-sm);
  gap: var(--zs-odstup-base);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .program-grid .grid-text p {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
  color: var(--zs-barva-text-zakladni);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.aktualnijidelnicek {
  color: var(--zs-barva-text-odkaz);
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) a.aktualnijidelnicek:hover {
  text-decoration: underline;
}

/* ---------------------------------------------------------------
   5. Dlazdice programu (.hp_program > a > .ikona). Karta jako na homepage.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .hp_program .ikona {
  background: var(--zs-barva-pozadi-sekce);
  border: 1px solid var(--zs-barva-ramecek-karta);
  border-radius: var(--zs-radius-karta);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .hp_program a:hover .ikona {
  border-color: var(--zs-barva-ramecek-doporucena);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .hp_program .ikona h3 {
  margin: 0;
  font-size: 17.5px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
  color: var(--zs-barva-text-nadpis);
}

/* ---------------------------------------------------------------
   6. Prehled programu: uikit accordion.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #clanek .stranka_programy a.uk-accordion-title {
  padding: var(--zs-odstup-base) var(--zs-odstup-lg);
  background: var(--zs-barva-pozadi-sekce);
  border: 1px solid var(--zs-barva-ramecek-karta);
  border-radius: var(--zs-radius-karta);
  color: var(--zs-barva-text-nadpis);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek .stranka_programy a.uk-accordion-title:hover {
  border-color: var(--zs-barva-ramecek-doporucena);
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek .stranka_programy li.uk-open > a.uk-accordion-title {
  border-color: var(--zs-barva-ramecek-doporucena);
  border-width: 2px;
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek .stranka_programy .uk-accordion-content {
  padding-top: var(--zs-odstup-sm);
}
/* vnorene skupiny (Doplnky k jidelnicku, Vyjimky k jidelnicku) meli u zalozky
   odrazku ze seznamu. Zaklad rusi jen obrazkove odrazky, ne znacku seznamu,
   a `ul:not([class])` na `ul.uk-accordion` nedosahne. */
body:has(.zs26-hlavicka):not(.foxplus) #clanek .stranka_programy ul.uk-accordion > li {
  list-style: none;
  margin-bottom: var(--zs-odstup-sm);
}

/* ---------------------------------------------------------------
   7. Srovnavaci tabulka programu (.tab_srovnavaci v .pas.m134).
      Sirku sloupcu nemenim, tabulka se posouva tazenim.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) table.tab_srovnavaci {
  font-family: var(--zs-pismo);
  font-size: 16px;
  line-height: 1.4;
  color: var(--zs-barva-text-zakladni);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) table.tab_srovnavaci td.chod h5 {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  color: var(--zs-barva-text-nadpis);
  text-transform: none;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) table.tab_srovnavaci td.zahlavi,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) table.tab_srovnavaci td.zahlavi span {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) table.tab_srovnavaci .linky td {
  background: var(--zs-barva-pozadi-karta);
  border-bottom: 1px solid var(--zs-barva-ramecek-karta);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) table.tab_srovnavaci .linky td.act {
  background: var(--zs-barva-pozadi-sekce);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) table.tab_srovnavaci .linky.bezlinky td {
  border-bottom: 0;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) table.tab_srovnavaci td.mez {
  background: none;
  border-bottom: 0;
}
/* posledni radek s cenami a tlacitky Vice. Legacy ma sytou limetku pres celou sirku,
   coz je vedle svetle zelene hlavicky druha nejvyraznejsi plocha na strance.
   Svetla limetkova plocha z tokenu drzi duraz a nekrici. */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) table.tab_srovnavaci tr.zelena td {
  background: var(--zs-barva-akcent-limetka-plo);
  color: var(--zs-barva-text-nadpis);
  font-size: 16px;
  font-weight: 600;
  border-bottom: 0;
}

/* ---------------------------------------------------------------
   8. Pasy m134 a m135, ktere lezi v `#obsah > strong` (viz hlavicka).
      Zaklad na ne pres `#obsah > .pas` nedosahne, proto tady odsazeni
      sekce a velikost nadpisu, at vypadaji jako ostatni pasy.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pas.m134 > .main_limit,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pas.m135 > .main_limit {
  padding-block: var(--zs-odstup-sekce-mobil);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pas.m134 h2,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pas.m135 h2 {
  margin: 0;
  padding: 0 0 var(--zs-odstup-md);
  font-size: clamp(26px, 2.7vw, 36px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pas.m134 h3,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pas.m135 h3 {
  margin: 0;
  padding: var(--zs-odstup-xl) 0 var(--zs-odstup-sm);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--zs-barva-text-nadpis);
}
@media (min-width: 700px) {
  body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pas.m134 > .main_limit,
  body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pas.m135 > .main_limit {
    padding-block: var(--zs-odstup-sekce);
  }
}

/* ---------------------------------------------------------------
   9. Pas Davame si zalezet (.pas.m136 > .pozadi-flexi.priprava-jidel).
      Pismo uz resi zaklad, tady jen plocha textove poloviny a odkaz.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.m136 > .pozadi-flexi > .text {
  background: var(--zs-barva-pozadi-jemne);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas.m136 a {
  color: var(--zs-barva-text-odkaz);
  font-weight: 600;
}

/* ---------------------------------------------------------------
   10. Mobil
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .program-grid .grid-odkazy {
  flex-wrap: wrap;
}
@media (min-width: 700px) {
  body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .program-grid .grid-odkazy {
    flex-wrap: nowrap;
  }
}

/* ===== css-obsah/64-rozvoz-kalkulacka.css ===== */
/* 64-rozvoz-kalkulacka.css
   Co to je: skin rozvozu a doporucovaci kalkulacky. Stranky /rozvoz
   a /doporucovaci-kalkulacka. Stavitel A, noc 25. 8. 2026. Navazuje na 60-zaklad.css
   a na 63-programy.css (odstavce a odkazy v pasech resi ten).

   Struktura /rozvoz (mereno 25. 8. v headless Chromu na portu 9301):
   - .pas.m217.bezlimitu.pozadi4 > .pozadi-flexi.programy (hero, resi zaklad)
   - .main_limit.obsah > #clanek (kratky text)
   - .pas.m218.pozadi1 > .main_limit > h2 + p + div > form#form_rozvoz.muj_ajax_form_request
     (> .fpol > label + input#n_psc, .fpol > button.button_hlavni) + div#map (mapa)
   - .pas.m231.pozadi5 > .main_limit > h2 + .rozvozova_mista_sloupce (4 sloupce ul > li)
   - .pas.m219.pozadi2 > .main_limit > h2 + h3 + .seznam_odbernych_mist
     > N x .infomenu (> h3.class_toggle + .con > N x .misto > 4 x div > p)
   - .pas.m220.pozadi5 > .main_limit > h3 + .rozvozova_mista_sloupce (slovenska mesta)

   Struktura /doporucovaci-kalkulacka:
   - .pas.m263.odsazeni.pozadi2.bezlimitu (hero)
   - #clanek > p + div > #online_kalk.online_kalkulacka > .okoloform.forms
     > form#calculator.calculator + #form_vysledek.vysledek + #ajax_vysledek.vysledek
   - pole uz maji 48 px a ramecek z tokenu ze zakladu, prepinace jsou label.ch_radio
     se skrytym inputem a kreslenym koleckem .checkmark

   Co prebiji z legacy:
   - template2024.css 1695: .online_kalkulacka ramecek 1px limetka, radius 12
   - template2024.css 1697: .online_kalkulacka tr td linka 1px svetle limetkova
   - content2024.css 1092 az 1114: .checkmark ramecek 2px seda, po zaskrtnuti limetka
   - content2024.css 1174: .rozvozova_mista_sloupce mrizka
   - content2024.css 1204: .seznam_odbernych_mist .misto mrizka

   Zamerne nehotove a proc:
   - **Tlacitko Overit zustava pod polem PSC, ne vedle nej.** Pole i tlacitko jsou kazde
     ve svem `div.fpol` a `.fpol` je funkcni trida enginu, na ktere se podle kontraktu
     bod 3 nesmi menit `display` ani `width`. Prvni `.fpol` ma navic inline `width: 15em`.
     Dostat tlacitko vedle pole tedy znamena sahnout na HTML nebo na funkcni tridu.
     **Vyzaduje HTML / Mojmira.** Pole ma 48 px a tlacitko je tmave, jak zadani chtelo.
   - **Mapa `#map` se nestyluje vubec**, jen okoli. Vykresluje ji Google Maps do vlastniho
     kontejneru a jakykoliv zasah do ni je loterie.
   - **Rozbaleni mest v seznamu odbernych mist** (`.infomenu.toggle .con` s `max-height`)
     je JS enginu. Meni se jen barvy a pismo, `max-height` ani `overflow` se nedotykam.
   - **Zaskrtavaci kolecko `.checkmark`** ma po zaskrtnuti obrazek `check.png` na bilem
     podkladu. Prepisuje se jen `border-color` a `background-color`, ne cely `background`,
     aby obrazek fajfky zustal.
*/

/* ---------------------------------------------------------------
   1. Formular PSC. Bily obal pres celou sirku pasu vypadal jako pruh,
      ktery tam nepatri. Formular je karta na stred, obal je pruhledny.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas div:has(> #form_rozvoz) {
  background: none;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas #form_rozvoz {
  box-sizing: border-box;
  max-width: 460px;
  margin-inline: auto;
  padding: var(--zs-odstup-xl) !important;
  background: var(--zs-barva-pozadi-karta);
  border: 1px solid var(--zs-barva-ramecek-karta);
  border-radius: var(--zs-radius-karta);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas #form_rozvoz p {
  margin: 0 0 var(--zs-odstup-base);
  font-size: 16px;
  line-height: 1.55;
  color: var(--zs-barva-text-zakladni);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas #form_rozvoz label {
  display: block;
  margin: 0 0 var(--zs-odstup-sm);
  font-family: var(--zs-pismo);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas #form_rozvoz label em {
  color: var(--zs-barva-stav-chyba);
  font-style: normal;
}
/* odpoved AJAXu (rozvazime, nerozvazime) */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas #form_rozvoz .f_vystraha {
  color: var(--zs-barva-stav-chyba);
  font-size: 16px;
  font-weight: 600;
}

/* ---------------------------------------------------------------
   2. Seznamy mest ve ctyrech sloupcich
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .rozvozova_mista_sloupce li {
  padding: var(--zs-odstup-xs) 0;
  font-size: 16px;
  line-height: 1.5;
  color: var(--zs-barva-text-zakladni);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .rozvozova_mista_sloupce li a {
  color: var(--zs-barva-text-odkaz);
  text-decoration: none;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .rozvozova_mista_sloupce li a:hover {
  text-decoration: underline;
}

/* ---------------------------------------------------------------
   3. Seznam odbernych mist. Kazde mesto je karta jako na homepage.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .seznam_odbernych_mist .infomenu {
  margin: 0 0 var(--zs-odstup-md);
  padding: var(--zs-odstup-xl);
  background: var(--zs-barva-pozadi-karta);
  border: 1px solid var(--zs-barva-ramecek-karta);
  border-radius: var(--zs-radius-karta);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .seznam_odbernych_mist .infomenu > h3 {
  margin: 0;
  padding: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .seznam_odbernych_mist .misto {
  padding: var(--zs-odstup-base) 0;
  border-top: 1px solid var(--zs-barva-ramecek-karta);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .seznam_odbernych_mist .misto p {
  margin: 0 0 var(--zs-odstup-xs);
  font-size: 16px;
  line-height: 1.5;
  color: var(--zs-barva-text-tlumeny);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .seznam_odbernych_mist .misto strong {
  color: var(--zs-barva-text-nadpis);
  font-weight: 600;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .seznam_odbernych_mist .misto a {
  color: var(--zs-barva-text-odkaz);
  text-decoration: none;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .seznam_odbernych_mist .misto a:hover {
  text-decoration: underline;
}

/* ---------------------------------------------------------------
   4. Kalkulacka. Obal je karta, uvnitr uz pole resi zaklad.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #clanek #online_kalk.online_kalkulacka {
  padding: var(--zs-odstup-xl);
  background: var(--zs-barva-pozadi-sekce);
  border: 1px solid var(--zs-barva-ramecek-karta);
  border-radius: var(--zs-radius-karta);
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek #online_kalk h2,
body:has(.zs26-hlavicka):not(.foxplus) #clanek #online_kalk h3 {
  padding-top: 0;
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek #online_kalk tr td {
  border-top: 1px solid var(--zs-barva-ramecek-karta);
  padding: var(--zs-odstup-md) 0;
  font-size: 16px;
  line-height: 1.5;
  vertical-align: middle;
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek #online_kalk label {
  font-family: var(--zs-pismo);
  font-size: 16px;
  line-height: 1.7;
  color: var(--zs-barva-text-zakladni);
}
/* kreslene kolecko a ctverecek prepinace: jen barvy, obrazek fajfky zustava */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) label.ch_radio .checkmark,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) label.ch_box .checkmark {
  background-color: var(--zs-barva-pozadi-karta);
  border-color: var(--zs-barva-ramecek-pole);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) label.ch_radio input:checked ~ .checkmark,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) label.ch_box input:checked ~ .checkmark {
  border-color: var(--zs-barva-akce-primarni);
  background-color: var(--zs-barva-pozadi-karta);
}
/* Tlacitko Spocitej je `span.submit.button_hlavni`, ne `button` ani `a`, takze na nej
   pravidla zakladu pro tlacitka nedosahnou a zustalo mu z legacy limetka s bilym textem
   (content2024.css 142, kontrast 1,8:1). Je to akce formulare, ne vstup do objednavky,
   takze podle kontraktu bod 9 patri tmave. */
body:has(.zs26-hlavicka):not(.foxplus) #clanek #online_kalk span.button_hlavni {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--zs-vyska-tlacitko);
  padding: 0 var(--zs-odstup-xl) !important;
  border: 2px solid var(--zs-barva-akce-tmave) !important;
  border-radius: var(--zs-radius-pill);
  background: var(--zs-barva-akce-tmave) !important;
  color: var(--zs-barva-text-inverzni) !important;
  font-family: var(--zs-pismo);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none !important;
  cursor: pointer;
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek #online_kalk span.button_hlavni:hover {
  background: var(--zs-barva-akce-tmave-hover) !important;
  border-color: var(--zs-barva-akce-tmave-hover) !important;
}
/* odkaz v kalkulacce ma z legacy limetku pres id, proto se prebiji taky pres id */
body:has(.zs26-hlavicka):not(.foxplus) #clanek #online_kalk a {
  color: var(--zs-barva-text-odkaz);
}

/* vysledek kalkulacky */
body:has(.zs26-hlavicka):not(.foxplus) #clanek .vysledek {
  font-family: var(--zs-pismo);
  font-size: 16px;
  line-height: 1.55;
  color: var(--zs-barva-text-zakladni);
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek .vysledek strong {
  color: var(--zs-barva-text-nadpis);
  font-weight: 700;
}

/* ---------------------------------------------------------------
   5. Mobil
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .seznam_odbernych_mist .infomenu {
  padding: var(--zs-odstup-base);
}
body:has(.zs26-hlavicka):not(.foxplus) #clanek #online_kalk.online_kalkulacka {
  padding: var(--zs-odstup-base);
}
@media (min-width: 700px) {
  body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .seznam_odbernych_mist .infomenu {
    padding: var(--zs-odstup-xl);
  }
  body:has(.zs26-hlavicka):not(.foxplus) #clanek #online_kalk.online_kalkulacka {
    padding: var(--zs-odstup-xl);
  }
}

/* ===== css-obsah/65-redakce.css ===== */
/* 65-redakce.css
   Co to je: sest trid, ktere si redaktor vybere v JCE v nabidce Styly a pouzije primo
   v tele clanku. Plati na vsech ceskych podstrankach testu webvyvoj2. Stavitel 0, noc 25. 8. 2026.

   Nazvy jsou zavazne, manual pro redaktory na nich stavi:
     .zs-tlacitko            tlacitko s obrysem (vychozi)
     .zs-tlacitko--primarni  limetkove tlacitko (jen vstup do objednavky)
     .zs-box                 svetle zeleny box
     .zs-box--kremovy        kremova varianta boxu
     .zs-karty-2             mrizka karet, 2 sloupce od 700 px
     .zs-karty-3             mrizka karet, 2 sloupce od 700 px a 3 od 1024 px

   Proc to tady je znovu, kdyz .zs-tlacitko uz existuje: v novy-2026.css je definovane
   pod .zs26, tedy jen uvnitr novych modulu. Telo clanku zadny .zs26 obal nema, takze
   by tam trida nic neudelala. Tady je stejny vzhled pro obsah clanku.

   Nacita se za 60-zaklad.css, takze prebiji jeho tlacitkova pravidla, kdyz redaktor
   da .zs-tlacitko na odkaz, ktery uz ma tridu enginu.
   Scope ma stejne jako 60-zaklad.css, vcetne :not(.foxplus): na /objednavka plati
   vrstva modulu 890, ne skin.

   Zamerne nehotove:
   - hover a fokus drzi stejnou logiku jako 20-komponenty.css, nic navic
   - .zs-karty-2 a .zs-karty-3 stylujou primo sve deti, at je karta div, li nebo p.
     Redaktor v JCE neumi dat tridu na kazdou kartu zvlast.
   - zadne stiny (kontrakt bod 5)
*/

/* ---------------------------------------------------------------
   1. Tlacitka pro redaktory
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-tlacitko {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--zs-odstup-sm);
  min-height: var(--zs-vyska-tlacitko);
  padding: 0 var(--zs-odstup-xl) !important;
  border-radius: var(--zs-radius-pill) !important;
  font-family: var(--zs-pismo);
  font-size: 16px !important;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  background: var(--zs-barva-pozadi-karta) !important;
  color: var(--zs-barva-text-nadpis) !important;
  border: 2px solid var(--zs-barva-akce-sekundarni-ramecek) !important;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-tlacitko:hover {
  background: var(--zs-barva-akce-sekundarni-hover) !important;
  color: var(--zs-barva-text-nadpis) !important;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-tlacitko:focus-visible {
  outline: 2px solid var(--zs-barva-stav-fokus);
  outline-offset: 2px;
}

body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-tlacitko--primarni {
  background: var(--zs-barva-akce-primarni) !important;
  color: var(--zs-barva-akce-primarni-text) !important;
  border-color: var(--zs-barva-akce-primarni) !important;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-tlacitko--primarni:hover {
  background: var(--zs-barva-akce-primarni-hover) !important;
  border-color: var(--zs-barva-akce-primarni-hover) !important;
  color: var(--zs-barva-akce-primarni-text) !important;
}

/* ---------------------------------------------------------------
   2. Boxy
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-box,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) p.zs-box,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .pozadi-flexi .text p.zs-box {
  box-sizing: border-box;
  margin: 0 0 var(--zs-odstup-xl);
  /* !important: hero pas (.pozadi-flexi .text p) i zaklad nastavuji odstavcum padding 0, box ho potrebuje (overeno na testovacim clanku 973) */
  padding: var(--zs-odstup-xl) !important;
  border-radius: var(--zs-radius-karta);
  background: var(--zs-barva-pozadi-sekce);
  color: var(--zs-barva-text-zakladni);
  font-size: 16px;
  line-height: 1.55;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-box--kremovy {
  background: var(--zs-barva-pozadi-sekce-2);
}
/* posledni odstavec v boxu uz odstup dole nepotrebuje */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-box > p:last-child,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-box > ul:last-child,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-box > ol:last-child {
  margin-bottom: 0;
}

/* ---------------------------------------------------------------
   3. Mrizky karet. Deti jsou karty, na mobilu pod sebou, v rade stejne vysoke.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-karty-2,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-karty-3 {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--zs-odstup-xl);
  align-items: stretch;
  margin: 0 0 var(--zs-odstup-xl);
  padding: 0;
  list-style: none;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-karty-2 > *,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-karty-3 > * {
  box-sizing: border-box;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: var(--zs-odstup-xl);
  border: 1px solid var(--zs-barva-ramecek-karta);
  border-radius: var(--zs-radius-karta);
  background: var(--zs-barva-pozadi-karta);
  list-style: none;
  font-size: 16px;
  line-height: 1.55;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-karty-2 > * > :last-child,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-karty-3 > * > :last-child {
  margin-bottom: 0;
}

@media (min-width: 700px) {
  body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-karty-2,
  body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-karty-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  body:has(.zs26-hlavicka):not(.foxplus) #obsah > :not(.zs26) .zs-karty-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ===== css-obsah/70-clanky.css ===== */
/* 70-clanky.css
   Co to je: spolecne veci obsahovych podstranek (hero pas, spodni lista, kontaktni bloky,
   vypisy recenzi) a skupina Kontakt a O nas. Stavitel B, noc 25. 8. 2026.
   Stranky: /kontakt, /o-nas, /kariera, /spoluprace, /ohlasy, /napsali-o-nas,
   /krabickova-dieta-praha, /krabickova-dieta-brno, /podekovani2024.
   Sekce 1 a 2 plati na vsech podstrankach, protoze hero pas i spodni lista jsou vsude.

   Navazuje na 60-zaklad.css (pismo, barvy, tlacitka, pole, drobecky) a nepredefinovava ho.

   Co je zmereno 25. 8. v headless Chromu (port 9302), ne odhadnuto:
   - hero: div.pas.mNNN.bezlimitu > div.pozadi-flexi.programy > div.text > div.vnor.main_limit50
     plus div.foto > div.stin + img. Na 1440 zacinal text hero na 55 px, obsah clanku
     (#clanek) na 150 px, tedy hero byl o 95 px vlevo mimo osu hlavicky i obsahu.
   - .vnor.main_limit50 ma z template2024.css width 95% a max-width 665px, .text je
     flexbox s justify-content flex-end (desktop) a center (mobil), proto to sedelo nakrivo.
   - vypisy (/blog, /aktuality, /ohlasy, /kariera, /napsali-o-nas) a detaily clanku maji
     hero o patro hloubeji: #obsah > .pas.m250.pozadi4.bezlimitu > div > .pas.bezlimitu.pozadi4.linka
     > .pozadi-flexi. Selektory v 60-zaklad.css chteji .pas jako primeho potomka #obsah,
     takze se tam hero typografie vubec nedostane a odstavce zustavaly na 14 px.
     Proto ma sekce 1 selektor `#obsah .pas.bezlimitu` (potomek, ne dite) a sekce 1b
     dopisuje typografii jen pro vnorene hero (`#obsah > .pas .pas.bezlimitu`).
   - p.tel a p.mail v hero maji ikonu jako background-image z content2024.css na pozici
     0px 5px (tel) a 0px 12px (mail) a odsazeni padding-left 40px. 60-zaklad.css da hero
     odstavcum padding 0, cimz ikona skoncila pod textem (videt na /kontakt pred).
   - #respofix je primy potomek body (ne #obsah), position fixed, bottom 0, vyska 80 px,
     zobrazuje se pod 1024 px (body_v3 a nizsi), nad 1024 ma display none.
     Uvnitr je .s_outer > .s_inner.myDraggable.limitL > .cenik_nabidka > ul, tedy vodorovny
     posuvny karusel enginu. Menim jen barvy, pismo a odsazeni, nic pohybliveho.

   Zamerne nehotove a proc:
   - Fotka hero zustava od kraje ke kraji a bez zaobleni. Zaobleni by chtelo overflow
     na .foto a pod nim lezi absolutne posazeny prekryv .stin, takze by pod rohy prosvital.
     Homepage ma hero fotku v ramu, tady by to znamenalo zmenu HTML (kontrakt bod 6).
   - Vyska hero se nezvetsuje ani nezmensuje pres min-height, jen se snizuje na mobilu
     tam, kde ji sablona natvrdo drzela na 500 px (viz sekce 1).
   - Kartu dostanou jen telefon a mail v hero (p.tel, p.mail). Blok Firemni udaje v clanku
     je jen posloupnost odstavcu bez obalu, kartu z nej udelat nejde bez zmeny HTML
     (kontrakt bod 6). Redaktor to umi tridou .zs-karty-2 z 65-redakce.css (viz EDITORI.md).
   - Radek Dalsi kontakty na /kontakt ma v HTML u prvnich tri adres chybejici <br>, takze
     mail a nasledujici popisek splyvaly do jednoho slova (bylo tak i pred skinem).
     Resim to zlomem na joomla-hidden-mail jen na teto strance. Spravne to patri do JCE.
   - Spodni lista #respofix dostane jen barvy, pismo a odsazeni. Position se nemeni
     (kontrakt bod 3) a misto pod ni uz drzi skript sablony (viz sekce 2).
   - Vetsi pismo v liste ji zvysilo z 80 na zhruba 104 px. Je to cena za kontrakt bod 8
     (cteny text nejmene 16 px). Skript sablony si vysku prepocita sam.
*/

/* ---------------------------------------------------------------
   1. Hero pas podstranek: text na stejne ose jako obsah clanku
      Cil: leva hrana textu hero = leva hrana #clanek = leva hrana obsahu hlavicky.
      Vzorec: obsah zacina na max(bocni odsazeni, (sirka okna - 1180) / 2 + bocni odsazeni).
      Procentni padding na .text se pocita ze sirky .pozadi-flexi, tedy z cele sirky okna,
      takze 50% = polovina okna a vzorec vyjde presne bez vw (vw pocita i posuvnik).
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah .pas.bezlimitu > .pozadi-flexi > .text {
  box-sizing: border-box;
  padding-inline: max(
      var(--zs-odstup-base),
      calc(50% - var(--zs-sirka-obsah) / 2 + var(--zs-odstup-base))
    )
    0;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .pas.bezlimitu > .pozadi-flexi > .text > .vnor {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: 0 var(--zs-odstup-base) var(--zs-odstup-lg) 0;
  text-align: left;
}

@media (min-width: 700px) {
  body:has(.zs26-hlavicka):not(.foxplus) #obsah .pas.bezlimitu > .pozadi-flexi > .text {
    padding-inline: max(
        var(--zs-odstup-lg),
        calc(50% - var(--zs-sirka-obsah) / 2 + var(--zs-odstup-lg))
      )
      0;
  }
  body:has(.zs26-hlavicka):not(.foxplus) #obsah .pas.bezlimitu > .pozadi-flexi > .text > .vnor {
    padding-right: var(--zs-odstup-2xl);
  }
}

/* Drobecky v hero sedi tesne nad nadpisem, at nadpis nekopiruje odstup dvakrat. */
body:has(.zs26-hlavicka):not(.foxplus) #obsah .pas.bezlimitu > .pozadi-flexi ul.breadcrumbC {
  padding: 0 0 var(--zs-odstup-lg);
}

/* ---------------------------------------------------------------
   2. Spodni lista #respofix (pod 1024 px). Jen barvy, pismo a misto pod ni.
      Text lisy byl 14 px (dedil z body), kontrakt bod 8 chce nejmene 16 px.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #respofix {
  padding: var(--zs-odstup-sm);
  border-top: 1px solid var(--zs-barva-ramecek-karta);
  font-size: 16px;
  line-height: 1.35;
}
body:has(.zs26-hlavicka):not(.foxplus) #respofix li,
body:has(.zs26-hlavicka):not(.foxplus) #respofix li a {
  font-size: 16px;
  line-height: 1.35;
  text-decoration: none;
}
body:has(.zs26-hlavicka):not(.foxplus) #respofix li a:hover {
  text-decoration: underline;
}
/* Misto pod listou se v CSS neresi. Skript sablony dava na body inline
   padding-bottom presne o vysce #respofix (mereno 25. 8.: bar 108 px, body
   style="padding-bottom: 108px"), a inline styl prebije cokoliv odsud.
   Prepocitava se po zmene vysky, takze vetsi pismo v liste uz je zapocitane. */

/* ---------------------------------------------------------------
   1b. Typografie vnoreneho hero (vypisy blogu a detaily clanku).
       60-zaklad.css sem nedosahne, protoze chce .pas jako primeho potomka #obsah.
       Hodnoty jsou stejne jako v zakladu, at hero vypada vsude stejne.
       Selektor `#obsah > .pas .pas.bezlimitu` schvalne trefi jen vnorene pasy,
       aby se pravidla zakladu nepredefinovavala tam, kde uz plati.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .pas.bezlimitu > .pozadi-flexi {
  font-family: var(--zs-pismo);
  color: var(--zs-barva-text-zakladni);
  font-size: 16px;
  line-height: 1.55;
  font-weight: 400;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .pas.bezlimitu > .pozadi-flexi h2 {
  margin: 0;
  padding: 0 0 var(--zs-odstup-md);
  font-size: clamp(26px, 2.7vw, 36px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .pas.bezlimitu > .pozadi-flexi h3 {
  margin: 0;
  padding: 0 0 var(--zs-odstup-md);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .pas.bezlimitu > .pozadi-flexi p {
  margin: 0 0 var(--zs-odstup-base);
  padding: 0;
  font-size: 16px;
  line-height: 1.55;
  color: var(--zs-barva-text-tlumeny);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .pas.bezlimitu > .pozadi-flexi h1 strong,
body:has(.zs26-hlavicka):not(.foxplus) #obsah > .pas .pas.bezlimitu > .pozadi-flexi h2 strong {
  font: inherit;
  color: inherit;
}
/* prazdny odstavec z JCE nema delat diru */
body:has(.zs26-hlavicka):not(.foxplus) #obsah .pas.bezlimitu > .pozadi-flexi p:empty {
  margin: 0;
}

/* ---------------------------------------------------------------
   3. Telefon a mail v hero (/kontakt) jako karta.
      Ikona je background-image z content2024.css, takze se posouva
      jen pres background-position, obrazek se nesaha.
      Mereno: p.tel background 0px 5px, p.mail 0px 12px, oba padding-left 40px.
      Sablona jim pod 1024 px davala width 200px a display table (vystredene),
      to se tady rusi, at karta drzi sirku sloupce hero.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah .pas.bezlimitu > .pozadi-flexi p.tel,
body:has(.zs26-hlavicka):not(.foxplus) #obsah .pas.bezlimitu > .pozadi-flexi p.mail {
  display: block;
  width: auto;
  max-width: 420px;
  margin: 0 0 var(--zs-odstup-md);
  padding: var(--zs-odstup-lg) var(--zs-odstup-lg) var(--zs-odstup-lg) 60px;
  background-color: var(--zs-barva-pozadi-sekce);
  background-position: var(--zs-odstup-lg) 22px;
  border-radius: var(--zs-radius-karta);
  font-size: 16px;
  line-height: 1.55;
  color: var(--zs-barva-text-zakladni);
  text-align: left;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .pas.bezlimitu > .pozadi-flexi p.mail {
  background-position: var(--zs-odstup-lg) 26px;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .pas.bezlimitu > .pozadi-flexi p.tel strong,
body:has(.zs26-hlavicka):not(.foxplus) #obsah .pas.bezlimitu > .pozadi-flexi p.mail strong {
  padding: 0;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .pas.bezlimitu > .pozadi-flexi p.tel a,
body:has(.zs26-hlavicka):not(.foxplus) #obsah .pas.bezlimitu > .pozadi-flexi p.mail a {
  color: var(--zs-barva-text-nadpis);
  text-decoration: none;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .pas.bezlimitu > .pozadi-flexi p.tel a:hover,
body:has(.zs26-hlavicka):not(.foxplus) #obsah .pas.bezlimitu > .pozadi-flexi p.mail a:hover {
  text-decoration: underline;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .pas.bezlimitu > .pozadi-flexi .tel_info {
  font-size: 16px;
  line-height: 1.55;
  color: var(--zs-barva-text-tlumeny);
}

/* ---------------------------------------------------------------
   4. /kontakt (body.p114): blok Dalsi kontakty.
      V HTML chybi <br> mezi prvnimi tremi adresami, takze mail a dalsi popisek
      splyvaly (objednavky@zdravestravovani.czVedeni spolecnosti:). Zlom na adrese
      to rozdeli na dvojice popisek a adresa. Jen na teto strance a jen v tomto odstavci.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus).p114 #obsah #clanek > h2:first-child + p joomla-hidden-mail {
  display: block;
  padding: 0 0 var(--zs-odstup-sm);
}
body:has(.zs26-hlavicka):not(.foxplus).p114 #obsah #clanek > h2:first-child + p br {
  display: none;
}

/* ===== css-obsah/71-blog.css ===== */
/* 71-blog.css
   Co to je: vypisy clanku a detail clanku. Stavitel B, noc 25. 8. 2026.
   Stranky: /blog, /blog/<rubrika>, detail clanku (/blog/<slug>), /aktuality
   a se stejnou znackou i /ohlasy, /kariera, /napsali-o-nas (ty patri do skupiny 2,
   ale vypis maji tentyz, takze se resi tady jednou pro vsechny).
   Hero techto stranek je v 70-clanky.css, sekce 1 a 1b.

   Tohle je pro redakci nejdulezitejsi soubor: novy clanek napsany v JCE musi vypadat
   dobre bez jakehokoliv zasahu do CSS.

   Zmereno 25. 8. v headless Chromu, ne odhadnuto:
   - vypis: .item-page.blog > .blog-all.inpas_okolo > .inpas_obsah > .blog_vypis_dalsi + .pagination
   - karta: .item > .blogitem(.velke_foto) > [a > .velkefotoitem > img] + .bl
     .bl > .nadpis (span.datum + a > h2) + .introtext (.orez > p... + .stinek, pak .vicezde_kat)
   - template2024.css: .blog_vypis_dalsi grid 1fr 1fr, .body_v3 1fr (mobil),
     .blogitem padding 30px, border 1px, radius 11px, bila plocha,
     .blogitem > div.fotoitem 145x145, .orez height 85px + .stinek bily prechod,
     .blog .datum 60x60, radius 7px, font 14px, strong 17px.
   - Karty v jedne rade nemely stejnou vysku (mereno na /ohlasy: .item 250 px,
     .blogitem uvnitr 240 px, sousedni karta 276 px). Marek chce stejne vysky.
   - /aktuality ma nahore .blog-lead > .modul-novinky-hp > div > .leaditems se stejnymi kartami.
   - detail clanku: #clanek.item-page.blogvelkefoto.clanek_blogu, sirka 800 px na stred,
     hero nese .nadpis-blog > span.datum-blog + span.textvedle a pak h1 a perex.

   Zamerne nehotove a proc:
   - Vypis zustava na dvou sloupcich na desktopu, ne na trech. Sloupec obsahu ma vedle
     sebe bocni panel a meri 755 px (/blog) az 875 px (/ohlasy). Tri karty vedle sebe
     by mely pod 250 px na kartu, coz je na nadpis a perex malo. Tri sloupce by chtely
     schovat bocni panel, a to je zmena HTML sablony (kontrakt bod 6).
   - Orez perexu (.orez, 85 px) a bily prechod .stinek zustavaji. Drzi karty priblizne
     stejne vysoke uz v zaklade a bez nich by se z vypisu staly ruzne dlouhe sloupce.
   - Obrazek karty si nechava svuj pomer z .velkefotoitem (aspect-ratio 1.928 / 1).
   - .instac (odkaz na Instagram nad fotkou u ohlasu) se nemeni, je to prekryv
     s position absolute a ten podle kontraktu neni muj.
*/

/* ---------------------------------------------------------------
   1. Mrizka vypisu a stejne vysoke karty v rade
      .item je bunka gridu, ta se natahne sama. Aby se natahla i karta uvnitr,
      je z .item flexbox a karta v nem roste. Zadne pevne vysky.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blog_vypis_dalsi,
body:has(.zs26-hlavicka):not(.foxplus) #obsah .leaditems {
  gap: var(--zs-odstup-xl);
  padding: var(--zs-odstup-lg) 0 0;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blog_vypis_dalsi > .item,
body:has(.zs26-hlavicka):not(.foxplus) #obsah .leaditems > .item {
  display: flex;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blog_vypis_dalsi > .item > .blogitem,
body:has(.zs26-hlavicka):not(.foxplus) #obsah .leaditems > .item > .blogitem {
  flex: 1 1 auto;
}

/* ---------------------------------------------------------------
   2. Karta vypisu
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem {
  box-sizing: border-box;
  align-items: stretch;
  padding: var(--zs-odstup-lg);
  border: 1px solid var(--zs-barva-ramecek-karta);
  border-radius: var(--zs-radius-karta);
  font-size: 16px;
  line-height: 1.55;
  color: var(--zs-barva-text-zakladni);
  text-align: left;
}
/* karta s velkou fotkou nahore: fotka az ke krajum, text ma vlastni odsazeni */
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem.velke_foto {
  display: flex;
  flex-direction: column;
  padding: 0;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem.velke_foto > .bl {
  padding: var(--zs-odstup-lg);
}
/* text karty vyplni zbytek vysky, at spodni radek sedi na dne karty */
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem > .bl {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem > .bl > .introtext {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  font-size: 16px;
  line-height: 1.55;
  color: var(--zs-barva-text-zakladni);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem .introtext p,
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem .introtext div {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.55;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem .introtext p:empty {
  display: none;
}

@media (min-width: 700px) {
  body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem {
    padding: var(--zs-odstup-xl);
  }
  body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem.velke_foto {
    padding: 0;
  }
  body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem.velke_foto > .bl {
    padding: var(--zs-odstup-xl);
  }
}

/* ---------------------------------------------------------------
   3. Hlavicka karty: datum a nadpis
      Velikost nadpisu (20 px) uz drzi 60-zaklad.css pravidlem .blogitem .nadpis h2.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem .nadpis {
  align-items: flex-start;
  padding: 0 0 var(--zs-odstup-md);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blog .datum,
body:has(.zs26-hlavicka):not(.foxplus) #obsah .datum-blog {
  flex: 0 0 auto;
  padding: var(--zs-odstup-md) var(--zs-odstup-sm);
  background: var(--zs-barva-pozadi-sekce);
  border-radius: var(--zs-radius-male);
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.25;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blog .datum strong,
body:has(.zs26-hlavicka):not(.foxplus) #obsah .datum-blog strong {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem .nadpis > a {
  padding: 0 0 0 var(--zs-odstup-base);
  color: var(--zs-barva-text-nadpis);
  text-decoration: none;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem .nadpis > a:hover h2 {
  color: var(--zs-barva-text-odkaz);
}

/* ---------------------------------------------------------------
   4. Spodni radek karty: rubrika a odkaz na cely clanek
      margin-top auto ho posadi na dno karty, at radek sedi u vsech karet stejne.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem .vicezde_kat {
  margin-top: auto;
  align-items: center;
  gap: var(--zs-odstup-base);
  padding: var(--zs-odstup-base) 0 0;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem .vicezde_kat .kat {
  padding: 0;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--zs-barva-text-popisek);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem .vicezde_kat a,
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem > .bl > .introtext > a {
  font-weight: 600;
  color: var(--zs-barva-text-odkaz);
  text-decoration: underline;
}
/* vypisy bez .vicezde_kat (aktuality, ohlasy) maji odkaz primo v .introtext */
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem > .bl > .introtext > a {
  margin-top: auto;
  padding: var(--zs-odstup-base) 0 0;
}

/* ---------------------------------------------------------------
   5. Fotka v karte
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem .fotoitem img {
  border-radius: var(--zs-radius-karta);
  object-fit: cover;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem.velke_foto .velkefotoitem > img {
  border-radius: 0;
}
/* Perex karty orezava .orez (template2024.css, height 85px) a pres jeho spodek lezi
   bily prechod .stinek. 85 px je 3,4 radku po 24,8 px, takze rez padal doprostred
   ctvrteho radku a bylo videt pul pismene. 75 px jsou presne tri radky.
   .stinek se nechava, jak je: 20 px prechodu rekne, ze text pokracuje, a kratky perex
   nezasedne. Kdyz se zmeni velikost pisma perexu, prepocitat i tuhle vysku. */
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blogitem .introtext .orez {
  height: 75px;
}

/* ---------------------------------------------------------------
   6. /aktuality: pas s vybranymi clanky nad vypisem
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blog-lead {
  padding: 0 0 var(--zs-odstup-2xl);
  background: none;
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .blog-all .inpas {
  background: var(--zs-barva-pozadi-sekce-2);
}

/* ---------------------------------------------------------------
   7. Detail clanku: hlavicka s datem a rubrikou
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah .nadpis-blog {
  align-items: center;
  gap: var(--zs-odstup-base);
  padding: 0 0 var(--zs-odstup-base);
}
body:has(.zs26-hlavicka):not(.foxplus) #obsah .nadpis-blog .textvedle {
  padding: 0;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--zs-barva-text-popisek);
}
/* tlacitko Zpet na vypis pod clankem */
body:has(.zs26-hlavicka):not(.foxplus) #obsah .zpet_na_vypis {
  margin: var(--zs-odstup-2xl) 0 0;
  padding: var(--zs-odstup-xl) 0 0;
  border-top: 1px solid var(--zs-barva-ramecek-karta);
}

/* ---------------------------------------------------------------
   8. Bocni panel vypisu: rubriky a hledani
      Kartu (plochu, ramecek, radius) uz da 60-zaklad.css pravidlem
      #sidebar_float.sidebar2 > div, tady je jen obsah te karty.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float div.kategorierozklik h3 {
  padding: 0 0 var(--zs-odstup-md);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float div.kategorierozklik {
  padding: var(--zs-odstup-xl);
}
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float div.kategorierozklik .vypis-kat a {
  padding: var(--zs-odstup-xs) 0;
  font-size: 16px;
  line-height: 1.55;
  color: var(--zs-barva-text-odkaz);
  opacity: 1;
}
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float div.kategorierozklik .vypis-kat a:hover {
  text-decoration: underline;
}
body:has(.zs26-hlavicka):not(.foxplus) #sidebar_float > div.findblog {
  padding: var(--zs-odstup-xl);
}

/* ---------------------------------------------------------------
   9. Detail clanku: ctenarsky sloupec zarovnany na osu stranky.
      Mereno: #clanek.clanek_blogu ma max-width 800px a margin 0 auto, takze zacinal
      na 320 px, zatimco hero nadpis a vypis blogu zacinaji na 150 px. Skok o 170 px
      vypadal jako chyba. Sirka 800 px zustava, jen se sloupec posadi vlevo.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus) #obsah #clanek.clanek_blogu {
  margin-inline: 0;
}

/* ===== css-obsah/72-jak-to-funguje.css ===== */
/* 72-jak-to-funguje.css
   Co to je: skupina Jak to funguje. Stavitel B, noc 25. 8. 2026.
   Stranky: /jak-to-funguje (body.p176), /jak-to-funguje/faq (p175),
   /jak-to-funguje/priprava (p177), /jak-to-funguje/recyklace (p178).
   Hero pas a spodni lista jsou v 70-clanky.css, protoze plati vsude.

   Proc trida stranky (body.p175 apod.): je to Joomla Itemid menu polozky, sablona ho dava
   na body u kazde stranky (mereno 25. 8., body="zal2 sidebared cs-CZ p175 id8 body_v0").
   FAQ je jedina stranka, kde ma odkazovy seznam pod prvnim h2 vypadat jako stitky, a jedina
   spolu s recyklaci, kde jsou h3 otazky, ne nadpisy sekci. Bez tridy stranky by se stejny
   vzhled dostal i tam, kam nepatri (napr. /jak-to-funguje, kde jsou h3 nadpisy sekci).

   Zamerne nehotove a proc:
   - Otazky se nesklapuji. Rozklikavaci FAQ jako na homepage potrebuje details/summary
     nebo JS, a to je zmena HTML (kontrakt bod 6). Zustava dlouha stranka, jen ctitelnejsi.
   - Stitky nahore nefiltruji, jsou to obycejne kotvy, ktere uz v HTML jsou. Menim jen vzhled.
   - Cely li je stitek, ne jen odkaz v nem. V HTML je "otazky k <a>zakaznickemu uctu</a>",
     takze stitek jen kolem odkazu by utrhl prvni dve slova. Cely li dava cely smysluplny text.
   - /jak-to-funguje/priprava (p177) linky nad nadpisy nedostava: tam jsou h3 nadpisy sekci,
     ne otazky, a linka nad kazdou sekci by rozsekala kratkou stranku na prouzky.
   - V selektorech je navic #obsah. Neni to ozdoba: 60-zaklad.css ma na odrazky pravidlo
     `#obsah > .main_limit.obsah ul:not([class]) > li` se specificitou (1 id, 5 trid),
     ktere bez druheho id prebilo stitky a nechalo pred nimi zelene puntiky (mereno na
     prvnim nasazeni 25. 8. v 02:10). Dve id specificitu srovnaji.
*/

/* ---------------------------------------------------------------
   1. FAQ: odkazovy rozcestnik pod prvnim h2 jako obrysove stitky
      Mereno: #clanek deti FAQ zacinaji h2, ul, h2, h3, p, ... Prvni ul je ten rozcestnik.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus).p175 #obsah #clanek > h2:first-child {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.015em;
  padding: 0 0 var(--zs-odstup-base);
}
body:has(.zs26-hlavicka):not(.foxplus).p175 #obsah #clanek > h2:first-child + ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--zs-odstup-md);
  margin: 0 0 var(--zs-odstup-2xl);
  padding: 0;
  list-style: none;
}
body:has(.zs26-hlavicka):not(.foxplus).p175 #obsah #clanek > h2:first-child + ul > li {
  margin: 0;
  padding: var(--zs-odstup-sm) var(--zs-odstup-lg);
  border: 2px solid var(--zs-barva-akce-sekundarni-ramecek);
  border-radius: var(--zs-radius-pill);
  background: var(--zs-barva-pozadi-karta);
  background-image: none;
  list-style: none;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--zs-barva-text-nadpis);
}
body:has(.zs26-hlavicka):not(.foxplus).p175 #obsah #clanek > h2:first-child + ul > li:hover {
  background: var(--zs-barva-akce-sekundarni-hover);
}
body:has(.zs26-hlavicka):not(.foxplus).p175 #obsah #clanek > h2:first-child + ul > li a {
  color: inherit;
  font-weight: 600;
  text-decoration: none;
}
body:has(.zs26-hlavicka):not(.foxplus).p175 #obsah #clanek > h2:first-child + ul > li a:hover {
  color: inherit;
  text-decoration: underline;
}

/* ---------------------------------------------------------------
   2. FAQ a recyklace: h3 je otazka. Linka nad ni oddeli dvojici otazka + odpoved.
      h2 zustava nadpisem sekce, po nem se linka nekresli, ta by zdvojila oddeleni.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus).p175 #obsah #clanek > h3,
body:has(.zs26-hlavicka):not(.foxplus).p178 #obsah #clanek > h3 {
  margin-top: var(--zs-odstup-2xl);
  padding-top: var(--zs-odstup-xl);
  border-top: 1px solid var(--zs-barva-ramecek-karta);
}
body:has(.zs26-hlavicka):not(.foxplus).p175 #obsah #clanek > h2 + h3,
body:has(.zs26-hlavicka):not(.foxplus).p175 #obsah #clanek > h3:first-child,
body:has(.zs26-hlavicka):not(.foxplus).p178 #obsah #clanek > h3:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
/* h2 sekce FAQ dostane vetsi vzduch nad sebou, at je videt, ze zacina novy blok otazek */
body:has(.zs26-hlavicka):not(.foxplus).p175 #obsah #clanek > h2 {
  padding-top: var(--zs-odstup-sekce);
}
body:has(.zs26-hlavicka):not(.foxplus).p175 #obsah #clanek > h2:first-child {
  padding-top: 0;
}

/* ---------------------------------------------------------------
   3. FAQ: odpoved patri k otazce, tak at je bliz k ni nez k dalsi otazce.
      h4 uvnitr odpovedi (zpusoby platby) linku nedostava, je to podnadpis, ne otazka.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus).p175 #obsah #clanek > h3 + p,
body:has(.zs26-hlavicka):not(.foxplus).p178 #obsah #clanek > h3 + p {
  margin-top: 0;
}
body:has(.zs26-hlavicka):not(.foxplus).p175 #obsah #clanek > h4 {
  border-top: 0;
}

/* ===== css-obsah/73-pravni.css ===== */
/* 73-pravni.css
   Co to je: pravni stranky. Stavitel B, noc 25. 8. 2026.
   Stranky: /obchodni-podminky (body.p380), /reklamacni-rad (p1132), /osobni-udaje (p381),
   /informace-o-cookies (p646), /cookies (p645).

   Zmereno 25. 8. v headless Chromu:
   - #clanek meri na vsech peti strankach 755 px, protoze vedle nej stoji bocni panel.
     Pozadovanych 760 px pro citelnost je tim uz splneno, max-width je tu jako pojistka
     pro pripad, ze by bocni panel na nektere z nich zmizel.
   - /obchodni-podminky a /reklamacni-rad maji nadpisy h2 s inline stylem
     `style="text-align: center;"` primo z JCE (I. Vymezeni pojmu, II. Zbozi, ...).
     /osobni-udaje a /informace-o-cookies inline styl nemaji a nadpisy uz jsou vlevo.
   - ol a ul dostavaji ze 60-zaklad.css odsazeni 24 px. Na pravnim textu s cisly
     a pismeny je to malo, cisla se lepi na text.
   - /cookies ma v clanku doslova prazdny <div></div>. Formular nastaveni cookies
     nevykresluje clanek, ale skript cookie listy do #popup_pod (fixed prekryv pres
     celou stranku, mimo #obsah, na kazde strance webu). Viz "Zamerne nehotove".

   Zamerne nehotove a proc:
   - Formular nastaveni cookies (#popup_pod) tenhle soubor neresi. Neni to obsah stranky,
     je to globalni prekryv se svym vlastnim JS (CookAjax, CookToggleClass) a patri
     spis k hlavicce a paticce nez k obsahovym strankam. Kdo ho ma prebarvit, at rozhodne
     orchestrator; jinak zustava, jak byl. Sama stranka /cookies je prazdna a nema
     co zobrazit, to je vec obsahu v Joomle, ne skinu.
   - Inline zarovnani nadpisu prebijim jen na dvou strankach, kde je (p380, p1132).
     Cena: redaktor uz na techto dvou strankach nadpis na stred nedostane. Kontrakt bod 10
     rika, ze nadpisy v obsahu clanku jsou vlevo, a rimske cislice na stred vypadaji
     jako stara sablona. Jinde inline styly redaktoru nesaham.
*/

/* ---------------------------------------------------------------
   1. Ctenarska sirka sloupce
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus).p380 #obsah #clanek,
body:has(.zs26-hlavicka):not(.foxplus).p1132 #obsah #clanek,
body:has(.zs26-hlavicka):not(.foxplus).p381 #obsah #clanek,
body:has(.zs26-hlavicka):not(.foxplus).p646 #obsah #clanek,
body:has(.zs26-hlavicka):not(.foxplus).p645 #obsah #clanek {
  max-width: 760px;
}

/* ---------------------------------------------------------------
   2. Nadpisy vlevo (kontrakt bod 10). Inline styl z JCE se jinak prebit neda.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus).p380 #obsah #clanek h2,
body:has(.zs26-hlavicka):not(.foxplus).p380 #obsah #clanek h3,
body:has(.zs26-hlavicka):not(.foxplus).p1132 #obsah #clanek h2,
body:has(.zs26-hlavicka):not(.foxplus).p1132 #obsah #clanek h3 {
  text-align: left !important;
}

/* ---------------------------------------------------------------
   3. Vzduch mezi clanky pravniho textu a odsazeni cislovanych seznamu
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus).p380 #obsah #clanek > h2,
body:has(.zs26-hlavicka):not(.foxplus).p1132 #obsah #clanek > h2,
body:has(.zs26-hlavicka):not(.foxplus).p381 #obsah #clanek > h2,
body:has(.zs26-hlavicka):not(.foxplus).p646 #obsah #clanek > h2 {
  padding-top: var(--zs-odstup-2xl);
}
body:has(.zs26-hlavicka):not(.foxplus).p380 #obsah #clanek > h2:first-child,
body:has(.zs26-hlavicka):not(.foxplus).p1132 #obsah #clanek > h2:first-child,
body:has(.zs26-hlavicka):not(.foxplus).p381 #obsah #clanek > h2:first-child,
body:has(.zs26-hlavicka):not(.foxplus).p646 #obsah #clanek > h2:first-child {
  padding-top: 0;
}

body:has(.zs26-hlavicka):not(.foxplus).p380 #obsah #clanek ol,
body:has(.zs26-hlavicka):not(.foxplus).p380 #obsah #clanek ul,
body:has(.zs26-hlavicka):not(.foxplus).p1132 #obsah #clanek ol,
body:has(.zs26-hlavicka):not(.foxplus).p1132 #obsah #clanek ul,
body:has(.zs26-hlavicka):not(.foxplus).p381 #obsah #clanek ol,
body:has(.zs26-hlavicka):not(.foxplus).p381 #obsah #clanek ul,
body:has(.zs26-hlavicka):not(.foxplus).p646 #obsah #clanek ol,
body:has(.zs26-hlavicka):not(.foxplus).p646 #obsah #clanek ul {
  margin: 0 0 var(--zs-odstup-base);
  padding-left: var(--zs-odstup-2xl);
}
body:has(.zs26-hlavicka):not(.foxplus).p380 #obsah #clanek li,
body:has(.zs26-hlavicka):not(.foxplus).p1132 #obsah #clanek li,
body:has(.zs26-hlavicka):not(.foxplus).p381 #obsah #clanek li,
body:has(.zs26-hlavicka):not(.foxplus).p646 #obsah #clanek li {
  padding: var(--zs-odstup-sm) 0;
  font-size: 16px;
  line-height: 1.6;
}

@media (min-width: 700px) {
  body:has(.zs26-hlavicka):not(.foxplus).p380 #obsah #clanek > h2,
  body:has(.zs26-hlavicka):not(.foxplus).p1132 #obsah #clanek > h2,
  body:has(.zs26-hlavicka):not(.foxplus).p381 #obsah #clanek > h2,
  body:has(.zs26-hlavicka):not(.foxplus).p646 #obsah #clanek > h2 {
    padding-top: var(--zs-odstup-sekce);
  }
  body:has(.zs26-hlavicka):not(.foxplus).p380 #obsah #clanek > h2:first-child,
  body:has(.zs26-hlavicka):not(.foxplus).p1132 #obsah #clanek > h2:first-child,
  body:has(.zs26-hlavicka):not(.foxplus).p381 #obsah #clanek > h2:first-child,
  body:has(.zs26-hlavicka):not(.foxplus).p646 #obsah #clanek > h2:first-child {
    padding-top: 0;
  }
}

/* ---------------------------------------------------------------
   4. /informace-o-cookies (p646): tabulka seznamu cookies na mobilu
      Mereno na 390 px: tabulka a jeji bunky sahaly na 501 px, tedy 111 px pres okraj
      (scrollWidth stranky zustal 390, protoze to sablona orizne, ale cast textu
      nebyla videt). Redakcni tabulka nema v HTML zadny posuvny obal a pridat ho nelze
      (kontrakt bod 6), takze posuvna je sama tabulka. Nad 700 px se vraci normalni
      chovani, tam se vejde.
      Kontrola po nasazeni: prvky uvnitr tabulky hlasi prekroceni dal, protoze skript
      overflow bere jen inline style="overflow", ne overflow z CSS. Tabulka uz ale
      vodorovne roluje a scrollWidth stranky je 390.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus).p646 #obsah #clanek table {
  display: block;
  overflow-x: auto;
  max-width: 100%;
}
@media (min-width: 700px) {
  body:has(.zs26-hlavicka):not(.foxplus).p646 #obsah #clanek table {
    display: table;
    overflow-x: visible;
  }
}

/* ===== css-obsah/79-rozcestniky-ram.css ===== */
/* 79-rozcestniky-ram.css
   Co to je: ram kolem novych sekci ZS26, ktere Joomla vykresluje uvnitr obalu clanku.
   Stavitel B, noc 25. 8. 2026.
   Stranky: /hubnu, /sportuji, /chci-jist, /jim-podle-svych-potreb (div.zs26.zs26-rozcestnik),
   /programy (.zs26-programy), /program-na-miru (.zs26-namiru),
   /nutricni-poradenstvi-2026 (.zs26-poradenstvi).

   Zmereno 25. 8. na /hubnu v headless Chromu (port 9302):
   - #obsah deti: hlavicka, div.main_limit.obsah, paticka. Zadny .pas, zadne hero.
   - div.main_limit.obsah: max-width 1180px, margin 0 130px, padding 64px 20px.
   - #dcomponent i #clanek: sirka 1140, padding 0, border 0, pozadi zadne.
     Ram ani odsazeni na obalu clanku uz nejsou, to odstranil 60-zaklad.css.
     Zbyva jedina vec: obal 1180 px, ktery drzi sekce ZS26 uvnitr sloupce.
   - Kvuli tomu mela svetla sekce (.zs-sekce--svetla, pozadi F3FDEE) bily pruh vlevo
     i vpravo a nesla od kraje ke kraji jako na homepage.
   - .zs-sekce ma vlastni padding 64px 0 a uvnitr .zs-obsah s max-width 1180px
     a padding 0 20px. Kdyz se obal pusti na plnou sirku, obsah sekce skonci
     presne na 150 px stejne jako predtim, jen plocha sekce jde az ke kraji okna.
   - Drobecky (Domu / Programy / Hubnu) jsou soucast modulu ZS26 uvnitr .zs-sekce,
     ne Joomla ul.breadcrumbC. Sablonove drobecky na techto strankach nejsou
     (mereno: 0 prvku ul.breadcrumbC). Neni tedy co skryvat ani prebarvovat.

   Proc `body:has(.zs26-hlavicka):has(.zs26-rozcestnik)` a ne jen `body:has(.zs26-rozcestnik)`:
   lint chce, aby selektor zacinal presne retezcem `body:has(.zs26-hlavicka)`. Dve podminky
   za sebou jsou navic presnejsi: plati jen tam, kde je nova hlavicka i nova sekce.

   Zamerne nehotove a proc:
   - Uvnitr .zs26 se nesaha na nic. Vzhled sekci, karet a tlacitek ZS26 patri
     do css-partials/, ne do skinu nad starym obsahem (kontrakt bod 1).
   - .zs-sticky-lista (spodni lista s cenou na mobilu) zustava bez zmeny, je to
     soucast modulu ZS26.
   - Stranky /sportuji, /chci-jist a /jim-podle-svych-potreb maji stejnou znacku
     jako /hubnu, takze je pokryva tentyz selektor. Overeno bylo /hubnu a /programy.
*/

/* ---------------------------------------------------------------
   1. Obal clanku pusti sekce ZS26 od kraje ke kraji
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus):has(.zs26-rozcestnik) #obsah > .main_limit.obsah,
body:has(.zs26-hlavicka):not(.foxplus):has(.zs26-programy) #obsah > .main_limit.obsah,
body:has(.zs26-hlavicka):not(.foxplus):has(.zs26-namiru) #obsah > .main_limit.obsah,
body:has(.zs26-hlavicka):not(.foxplus):has(.zs26-poradenstvi) #obsah > .main_limit.obsah {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
}

/* Sloupec komponenty a obal clanku uz jen predavaji sirku dal. */
body:has(.zs26-hlavicka):not(.foxplus):has(.zs26-rozcestnik) #obsah > .main_limit.obsah #dcomponent,
body:has(.zs26-hlavicka):not(.foxplus):has(.zs26-programy) #obsah > .main_limit.obsah #dcomponent,
body:has(.zs26-hlavicka):not(.foxplus):has(.zs26-namiru) #obsah > .main_limit.obsah #dcomponent,
body:has(.zs26-hlavicka):not(.foxplus):has(.zs26-poradenstvi) #obsah > .main_limit.obsah #dcomponent,
body:has(.zs26-hlavicka):not(.foxplus):has(.zs26-rozcestnik) #obsah #clanek.item-page,
body:has(.zs26-hlavicka):not(.foxplus):has(.zs26-programy) #obsah #clanek.item-page,
body:has(.zs26-hlavicka):not(.foxplus):has(.zs26-namiru) #obsah #clanek.item-page,
body:has(.zs26-hlavicka):not(.foxplus):has(.zs26-poradenstvi) #obsah #clanek.item-page {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
}

/* ---------------------------------------------------------------
   2. Sablonove drobecky, kdyby se na nekterou z techto stranek pridaly.
      Dnes tam nejsou (mereno), tohle je pojistka: at vypadaji jako .zs-popisek
      a sedi na stejne ose jako obsah sekce, ne u kraje okna.
   --------------------------------------------------------------- */
body:has(.zs26-hlavicka):not(.foxplus):has(.zs26-rozcestnik) #obsah > .main_limit.obsah ul.breadcrumbC,
body:has(.zs26-hlavicka):not(.foxplus):has(.zs26-programy) #obsah > .main_limit.obsah ul.breadcrumbC,
body:has(.zs26-hlavicka):not(.foxplus):has(.zs26-namiru) #obsah > .main_limit.obsah ul.breadcrumbC,
body:has(.zs26-hlavicka):not(.foxplus):has(.zs26-poradenstvi) #obsah > .main_limit.obsah ul.breadcrumbC {
  box-sizing: border-box;
  max-width: var(--zs-sirka-obsah);
  margin-inline: auto;
  padding: var(--zs-odstup-base) var(--zs-odstup-lg);
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--zs-barva-text-popisek);
}

