/* Styly stránek potravin (detail i přehled).
   Dřív byly vložené v každé stránce zvlášť, což při 289 stránkách znamenalo
   5,8 MB CSS, které se nikdy nezakešuje. Teď je to jeden soubor se společnou cache. */
/* ===== stránka potraviny =====
   Vzhled se drží aplikace (localhost:8081, `src/index.css` + `src/pages/FoodDetail.tsx`):
   nazelenalá plocha #F1F5F2, bílé karty se zaoblením 15 px a měkkým stínem, ŽÁDNÉ okraje,
   nadpisy tmavě zelené extrabold, makra jako barevné pilulky s pruhem.
   Pořadí sekcí kopíruje to, co lidé na SERPu chtějí: nejdřív holé číslo (answer box
   a AI Overview berou první odstavec), pak tabulka, pak to, čím se lišíme. */

/* tokeny z aplikace, ať se hodnoty neopisují po celém souboru */
.pot{--panel:#F2F4EC}

/* --- hlavička: kulatá fotka na střed, jako v detailu potraviny v aplikaci --- */
/* Drobečky stojí až na konci stránky, u odkazů na sourozence. Nahoře jen odsouvaly
   odpověď níž; pro vyhledávač je rozhodující `BreadcrumbList` v datech, ne pozice. */
.drobky{font-size:.84rem;color:#6f7268;margin:34px 0 0;text-align:center}
.drobky a{color:#6f7268;text-decoration:none}
.drobky a:hover{color:#4B5C2A;text-decoration:underline}
.pot-hlava{text-align:center;margin:0 0 30px}
.pot-foto{width:190px;height:190px;border-radius:50%;object-fit:cover;background:#fff;
  margin:0 auto 18px;display:block}
.pot-hlava h1{margin:0 0 6px;font-size:clamp(1.9rem,3.6vw,2.5rem)}
.pot-hlava .pod{margin:0;color:#4B5C2A;font-size:1.14rem;font-weight:700}

/* --- holá odpověď: zelená plocha z aplikace (.surface-green) --- */
.odpoved{background:linear-gradient(160deg,#dcecc4 0%,#eef5e2 55%,#f7faf1 100%);
  border-radius:15px;padding:20px 34px;margin:0 0 30px;font-size:1.06rem;color:#4F5841}
.odpoved strong{color:#3F551E}

/* --- karta: bílá plocha na nazelenalé, bez okraje --- */
.karta{background:#fff;border-radius:15px;padding:32px 34px;margin:0 0 60px}
.karta>h2:first-child{margin-top:0}
.pot h2{font-size:1.45rem;margin:0 0 14px;letter-spacing:-.02em}
.pot h2 + p{margin-top:-4px}

/* `separate` místo `collapse`, aby šel mezi sloupce vložit skutečný odstup
   a aby se rohy tabulky daly zaoblit. */
.tab{width:100%;border-collapse:separate;border-spacing:0;margin:4px 0 6px;font-size:1rem}
.tab th,.tab td{text-align:left;padding:12px 14px}
.tab th{font-weight:700;color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.tab td:not(:first-child),.tab th:not(:first-child){text-align:right;white-space:nowrap}
/* Pruhování místo linek: řádky se odlišují podkladem, ne čarou. Záhlaví je nejtmavší,
   pak se sudé a liché řádky střídají. */
.tab tr:first-child{background:#4B5C2A}
/* Žádný řádek není čistě bílý, jinak by splynul s podkladem karty. */
.tab tr:nth-child(even){background:#fbfcf7}
.tab tr:nth-child(odd):not(:first-child){background:#f2f5e8}
.tab tr:first-child th:first-child{border-top-left-radius:12px}
.tab tr:first-child th:last-child{border-top-right-radius:12px}
.tab tr:last-child td:first-child{border-bottom-left-radius:12px}
.tab tr:last-child td:last-child{border-bottom-right-radius:12px}
.pozn{font-size:.88rem;color:#6f7268;margin:6px 0 60px;text-align:center}
.tab-obal{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:20px -4px 0;padding:0 4px}
.tab-obal .srov{min-width:420px}

/* --- velké číslo a makra ---
   Vzor: kalorické tabulky. Lidé jsou zvyklí uvidět hodnotu na první pohled, ne ji
   hledat v tabulce. Číslo je proto velké, makra mají barevný puntík a hodnota vpravo
   je největší prvek řádku. Barvy jsou z rodiny čtyř karet na homepage (Recepty,
   Jídelníček, Nákupní seznam, Vlastní jídla): název sedí ve štítku s přechodem té
   karty a v jejím tmavém odstínu nadpisu, číslo vpravo drží střední odstín téže rodiny.
   Střední odstíny mají na bílé 4,2 až 4,7:1, tmavé by vedle sebe splývaly.
   Odstíny maker z aplikace jsou pilulkové podklady, jako text mají asi 2:1. */
.energie{background:linear-gradient(160deg,#dcecc4 0%,#eef5e2 55%,#f7faf1 100%);
  border-radius:12px;padding:28px 20px 24px;text-align:center;margin:0}
.energie .cislo{margin:0;font-size:clamp(2.6rem,6vw,3.4rem);font-weight:800;color:#3F551E;
  line-height:1;letter-spacing:-.03em}
.energie .doplnek{margin:10px 0 0;font-size:.95rem;color:#4F5841}
.energie .na100{margin:14px 0 0;font-size:.95rem;color:#4F5841}
.energie .na100 strong{color:#3F551E}

.pro-porci{margin:44px 0 10px;text-align:center;font-size:.9rem;color:#6f7268;text-transform:uppercase;
  letter-spacing:.04em;font-weight:700}

/* Tři sloupce na jednom řádku: štítek, hodnota na 100 g hned za ním, dopočítané
   číslo vpravo. Umístění je dané explicitně, pořadí v kódu zůstává čitelné
   (název, hodnota, reference). */
.makro-radek{display:grid;grid-template-columns:1fr auto;align-items:baseline;
  column-gap:16px;background:var(--plocha);border-radius:20px;padding:20px 24px;margin:0 0 12px}
.makro-radek .jmeno{grid-area:1/1;font-size:1.35rem;font-weight:700;color:var(--text)}
.makro-radek .cislo{grid-area:1/2;font-size:1.9rem;font-weight:800;color:var(--cislo);
  line-height:1;white-space:nowrap;letter-spacing:-.02em}
.na100-souhrn{margin:16px 0 0;font-size:.92rem;color:#6f7268;text-align:center}
/* Když pod souhrnem není poznámka (228 z 289 stránek), navazovala karta bez mezery.
   Odstup se dává kartě, ne souhrnu — kdyby ho měl souhrn, sečetl by se s horním
   okrajem poznámky a odsunul ji od čísel, ke kterým patří. */
.na100-souhrn + .karta{margin-top:60px}
.na100-souhrn strong{color:#4B5C2A}

/* --- makra: pilulka + hodnota + pruh, jako MacroBar velikost „lg" --- */
.makro + .makro{margin-top:22px}
.makro:last-child{margin-bottom:14px}
.makro-hlava{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.pilulka{font-size:.88rem;font-weight:700;padding:6px 16px;border-radius:999px}
.hodnota{font-size:1.25rem;font-weight:700;color:#474747;white-space:nowrap}
.makro-hint{font-size:.88rem;color:#6f7268;margin:6px 0 10px}
.makro-hint b{color:#474747;font-weight:600}
.pruh{height:12px;border-radius:999px;background:#F0F0EE;overflow:hidden}
.pruh i{display:block;height:100%;border-radius:999px}
.slozeni{font-size:.88rem;color:#5F6B37;margin:10px 0 0}

/* Výzva k výpočtu vlastních čísel. Modelová čísla výš jsou jen ilustrace, tohle je
   místo, kde má smysl poslat čtenářku do aplikace. */
.spocitat{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  background:var(--panel);border-radius:12px;padding:20px 22px;margin:18px 0 28px}
.spocitat p{margin:0;flex:1;min-width:220px}
.spocitat strong{color:#3F551E}
.spocitat .btn{display:inline-flex;color:#fff;text-decoration:none;font-weight:700;font-size:15px;
  padding:12px 24px;border-radius:15px;white-space:nowrap;
  background:linear-gradient(135deg,#74863a 0%,#94a55a 48%,#a8bb72 100%);
  transition:background .15s,transform .15s}
.spocitat .btn:hover{background:linear-gradient(135deg,#5f7030 0%,#7b8f3e 48%,#93a565 100%);
  transform:translateY(-1px)}

/* --- porce: pilulky rychlého výběru z aplikace --- */
.porce{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:21px 0 0}
.porce button{padding:12px 18px;border-radius:999px;font-size:.98rem;font-family:inherit;
  border:0;color:#474747;background:#fff;cursor:pointer;transition:background .15s,color .15s}
.porce button b{color:#4B5C2A;font-weight:700;transition:color .15s}
.porce button:hover{background:var(--panel)}
.porce button.je-vybrana{background:#97A75C;color:#fff}
.porce button.je-vybrana b{color:#fff}

/* --- počítadlo vlastní gramáže --- */
/* Oddělovač pod energetickou hodnotou. Kreslí se podkladem, ne okrajem, aby to zůstalo
   ve stejné logice jako zbytek stránky. */
/* Popisek nad polem, číslo uvnitř je stejně velké jako hodnoty maker níž,
   ať je vidět, že je to hlavní ovládací prvek. */
.pocitadlo{display:flex;flex-direction:column;align-items:center;gap:10px;
  margin:24px 0 0;padding-top:24px;
  background:linear-gradient(rgba(63,85,30,.45),rgba(63,85,30,.45)) top center/50% 1px no-repeat}
.pocitadlo label{font-weight:700;color:#3F551E}
.pocitadlo .vstup{display:flex;align-items:center;gap:10px}
.pocitadlo input{width:158px;height:68px;border-radius:14px;border:1px solid rgba(151,167,92,.4);
  background:#fff;font-family:inherit;font-size:1.9rem;font-weight:800;color:#3F551E;
  letter-spacing:-.02em;text-align:center;padding:0 10px}
.pocitadlo input:focus{outline:none;border-color:#97A75C;box-shadow:0 0 0 3px rgba(151,167,92,.22)}
/* Šipky číselníku jsou ve výchozím stavu drobné a v Safari se ukazují až při najetí.
   Zvětšují se měřítkem, jiné rozměry jim prohlížeč nastavit nedá. */
.pocitadlo input::-webkit-inner-spin-button{opacity:1;transform:scale(1.4);transform-origin:center;
  margin-left:10px;margin-right:4px;cursor:pointer}
.pocitadlo .jednotka{font-size:1.35rem;font-weight:700;color:#4F5841}

/* zvýrazněný sloupec „Tvoje porce" — jediné místo v tabulce, které se hýbe */

/* --- blok od Heleny: krémová plocha (.surface-cream) --- */
/* Jeden sloupec: fotka nad nadpisem, text pod ním, všechno na střed. */
.helen{background:#f4eeea;border-radius:15px;padding:32px 34px;margin:0 0 60px;color:#594A40;
  text-align:center}
.helen img{width:154px;height:154px;border-radius:50%;object-fit:cover;
  display:block;margin:0 auto 16px}
.helen h2{color:#53311A;text-align:center;margin-bottom:20px}
.helen p{margin:0 0 10px}
.helen p:last-child{margin-bottom:0}
/* Podpis: jméno psacím Caveatem jako „Nutri" v logu, jen v odstínu téhle plochy.
   Caveat končí na váze 700, tučnost se proto dohání obtahem stejně jako v logu. */
.helen .kdo{margin-top:22px;text-align:center;line-height:1.2}
.helen .kdo b{display:block;font-family:Caveat,'Segoe Script',cursive;font-weight:700;
  font-size:1.9rem;color:#53311A;letter-spacing:.01em;-webkit-text-stroke:.55px currentColor}
.helen .kdo small{display:block;margin-top:6px;font-size:.86rem;color:#7a6a5f}

.srov td:first-child{font-weight:600;color:#4B5C2A}
.srov tr.my,.tab tr.my:nth-child(odd){background:#e3ebd0}

/* --- recepty: dlaždice s fotkou jako galerie na prodejní stránce --- */
/* Mřížka by u dvou receptů nechala pravou polovinu prázdnou, a to je většina stránek:
   80 ze 161 jich má míň než čtyři recepty. Proto flex se zarovnáním na střed — dlaždice
   si drží stejnou velikost jako na plné čtveřici, jen stojí uprostřed. */
.gal{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:0 0 60px}
.gal-i{flex:0 1 calc((100% - 42px) / 4)}
.gal-i{margin:0;position:relative;display:block;border-radius:15px;overflow:hidden;
  background:#F1F5E6;aspect-ratio:1;text-decoration:none}
.gal-i img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.gal-i:hover img{transform:scale(1.05)}
/* jak dlouho jídlo trvá — štítek v rohu fotky */
.gal-cas{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;align-items:center;
  gap:5px;background:rgba(255,255,255,.94);color:#4B5C2A;font-size:.78rem;font-weight:800;
  padding:5px 10px;border-radius:999px;box-shadow:0 2px 8px rgba(20,20,20,.14)}
.gal-cas svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.2}
.gal-i .popis{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;
  font-size:.82rem;font-weight:700;color:#fff;line-height:1.3;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.62))}
@media(max-width:900px){.gal-i{flex-basis:calc((100% - 14px) / 2)}}

/* --- CTA: modrá plocha z aplikace (.surface-blue) + tlačítko .btn-gradient --- */
.cta-potravina{background:linear-gradient(160deg,#c3e4f6 0%,#e6f7fc 55%,#f4fbfe 100%);
  border-radius:15px;padding:36px 34px;text-align:center;margin:60px 0;position:relative}
/* Pan Mango vykukuje zleva, stejně jako u závěrečné výzvy na prodejní stránce.
   Svislý řez těla je 79 % šířky obrázku, proto left = -0,79 × šířka. */
.cta-mango{position:absolute;left:-111px;bottom:30px;width:141px;height:auto;z-index:2;
  pointer-events:none}
.cta-potravina .btn-note{display:block;font-size:.82rem;color:#6f7268;margin-top:14px;
  line-height:1.5}
@media(max-width:1240px){.cta-mango{width:128px;left:-101px}}
@media(max-width:1100px){.cta-mango{display:none}}
.cta-potravina h2{margin:0 0 8px;color:#1E4155}
.cta-potravina p{margin:0 0 18px;color:#415058}
.cta-potravina .btn{display:inline-flex;color:#fff;text-decoration:none;font-weight:700;
  font-size:15px;padding:12px 24px;border-radius:15px;
  background:linear-gradient(135deg,#74863a 0%,#94a55a 48%,#a8bb72 100%);
  transition:background .15s,transform .15s}
.cta-potravina .btn:hover{background:linear-gradient(135deg,#5f7030 0%,#7b8f3e 48%,#93a565 100%);
  transform:translateY(-1px)}

/* --- FAQ: každá otázka vlastní bílá karta na nazelenalé ploše ---
   Uvnitř jedné velké bílé karty by rozbalená otázka splynula s podkladem. */
/* --- FAQ: převzaté z prodejní stránky, včetně znaménka psaným Caveatem --- */
.pot h2.faq-nadpis{margin:60px 0 18px;text-align:center}
.pot details{background:#fff;border-radius:15px;
  margin:0 0 12px;overflow:hidden}
.pot details summary{cursor:pointer;padding:20px 24px;font-weight:700;color:#4B5C2A;
  list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.pot details summary::-webkit-details-marker{display:none}
/* znaménko je psacím Caveatem, stejně jako „Nutri" v logu, včetně obtahu,
   protože Caveat končí na váze 700 a tučnost se dohání stejně jako tam */
.pot details summary:after{content:"+";font-family:Caveat,'Segoe Script',cursive;font-weight:700;
  font-size:2rem;color:#97A75C;line-height:.7;flex:0 0 auto;-webkit-text-stroke:.6px currentColor}
.pot details[open] summary:after{content:"–"}
.pot details .body{padding:0 24px 22px;max-width:70ch}
.pot details .body p:last-child{margin-bottom:0}

.podpis{font-size:.88rem;color:#6f7268;margin:26px 0 60px;text-align:center}

/* Sourozenci v kategorii jako karty s fotkou, stejně jako výpis potravin v aplikaci. */
.pot-mrizka{display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin:4px 0 0}
.pot h2.dalsi-nadpis{margin:60px 0 10px;text-align:center}
.dalsi-uvod{margin:8px 0 18px;color:#4F5841;text-align:center}
.pot-karta{display:flex;align-items:center;gap:14px;background:#fff;border-radius:15px;
  padding:16px 18px;text-decoration:none;color:inherit;transition:transform .15s}
.pot-karta:hover{transform:translateY(-2px)}
.pot-karta img{background:var(--panel)}
.pot-karta img{width:52px;height:52px;border-radius:12px;object-fit:cover;flex:0 0 auto;background:#fff}
.pot-karta .txt{flex:1;min-width:0}
.pot-karta b{display:block;font-size:1.16rem;font-weight:700;color:#3F551E;line-height:1.2;
  margin-bottom:1px}
.pot-karta small{font-size:.84rem;color:#6f7268}
.pot-karta .sipka{color:#9aa48c;font-size:1.3rem;line-height:1;flex:0 0 auto}

@media(max-width:640px){
  .karta,.odpoved,.helen{padding:24px 20px;border-radius:15px;margin-bottom:40px}
  .cta-potravina{padding:24px 20px;border-radius:15px}
  .gal,.podpis{margin-bottom:40px}
  .podpis{margin-top:20px}
  .faq-nadpis,.dalsi-nadpis{margin-top:40px}
  .drobky{margin-top:24px}
  .pot-hlava{margin-bottom:20px}
  .odpoved{margin-bottom:20px}
  .cta-potravina{margin:40px 0}
  .pot details summary{padding:16px 18px}
  .pot details .body{padding:0 18px 18px}
  .pot-foto{width:140px;height:140px}
  .helen img{width:120px;height:120px}
  .pot h2{font-size:1.28rem}
  .pot-mrizka{grid-template-columns:1fr}
  .makro-radek{padding:16px 18px;column-gap:12px}
  .makro-radek .jmeno{font-size:1.15rem}
  .makro-radek .cislo{font-size:1.6rem}
  .pocitadlo{gap:8px}
  .pocitadlo input{width:140px;height:60px;font-size:1.6rem}
  .tab th,.tab td{padding:10px 8px}
  .tab{font-size:.95rem}
}

/* --- jen přehled /potraviny/ --- */
.kat-mrizka{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  margin:4px 0 0}
/* Dlaždice kategorií stojí na pozadí stránky bez bílého obalu, takže musí být bílé
   samy — stejně jako dlaždice potravin. Při najetí se jen nadzvednou, barvu nemění,
   protože měnit není na co. */
.kat-mrizka a{display:block;background:#fff;border-radius:15px;padding:16px 18px;
  text-decoration:none;color:inherit;transition:transform .15s}
.kat-mrizka a:hover{transform:translateY(-2px)}
.kat-mrizka b{display:block;color:#4B5C2A;font-size:1.02rem}
.kat-mrizka small{font-size:.86rem;color:#6f7268}
.pot-uvod{background:linear-gradient(160deg,#dcecc4 0%,#eef5e2 55%,#f7faf1 100%);
  border-radius:15px;padding:28px 34px;margin:0 0 16px;font-size:1.06rem;color:#4F5841}
.pot-uvod strong{color:#3F551E}
/* Rozcestník /potraviny/ měl pod úvodem 16 px a mezi kartami 60 px, což vedle sebe
   vypadalo nevyváženě. Sjednoceno na střední hodnotu. Platí jen tady — na detailech
   potravin je odstup 60 px schválený a sedí tam k delšímu obsahu. */
/* Nadpis rozcestníku stojí na střed — stejně jako mezinadpisy pod ním a jako hlavička
   na detailech potravin (.pot-hlava). Vlevo vypadal, jako by patřil k jiné stránce. */
.pot-prehled > h1{text-align:center}
.pot-prehled .pot-uvod{margin-bottom:36px}
.pot-prehled .karta{margin-bottom:36px}
/* Mřížka nejhledanějších potravin stojí na pozadí stránky bez bílého obalu, takže si
   odstup od následující karty musí nést sama. */
.pot-prehled .pot-mrizka + .dalsi-nadpis{margin-top:36px}

/* --- dotykové cíle ---
   Odkazy uvnitř věty a v tabulce jsou nízké (16 až 20 px). Nedá se jim zvětšit
   výška bez rozhození řádkování, tak se rozšíří klikací plocha odsazením.
   🔴 Výjimky musí sedět: pravidlo má vyšší specificitu než .kat-mrizka a
   (0,4,1 proti 0,1,1), takže bez vyjmutí přepíše dlaždicím kategorií odsazení
   na 4px 0 a udělá z nich inline-block. */
.pot a:not(.btn):not(.gal-i):not(.pot-karta):not(.kat-mrizka a){padding:4px 0;display:inline-block}
.drobky a{padding:6px 2px}
