/* ==========================================================================
   Spotřební koš — styly
   Stavba a typografie jako web Optimal program (optimal-program.cz),
   barvy z loga Spotřebního koše (#004890) a stavů v aplikaci (v normě / u hranice / mimo).
   ========================================================================== */
:root {
  --papir: #F4F7FB;
  --bila: #FFFFFF;
  --inkoust: #0E1E3D;     /* text a nadpisy */
  --navy: #004890;        /* barva loga */
  --modra: #4A90D9;       /* doplňková světlejší modrá */
  --modra-text: #1F64AE;  /* modrá pro malý text (kontrast 4,5 : 1) */
  --modra-svetla: #E3EEF9;
  --sedy-text: #52607A;
  --linka: #D7DFEA;
  --zelena: #2E9E5B;      /* v normě */
  --oranzova: #E8A33A;    /* u hranice */
  --cervena: #D9534F;     /* mimo */

  --pismo: "Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --sirka: 1200px;
  --okraj: clamp(16px, 4vw, 40px);
  --zaobleni: 10px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body {
  margin: 0;
  font-family: var(--pismo);
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--inkoust);
  background: var(--papir);
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--navy); text-underline-offset: .18em; }
a:hover { color: var(--modra); }
:focus-visible { outline: 3px solid var(--modra); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3 { line-height: 1.1; margin: 0 0 .6em; letter-spacing: -0.02em; }
p { margin: 0 0 1em; }

.sirka { max-width: var(--sirka); margin-inline: auto; padding-inline: var(--okraj); }
.skip { position: absolute; left: -9999px; top: 8px; background: var(--navy); color: #fff; padding: 8px 14px; z-index: 100; }
.skip:focus { left: 8px; }
[id] { scroll-margin-top: 90px; }

/* ---------- Tlačítka ---------- */
.tlacitko {
  display: inline-block;
  background: var(--navy);
  color: #fff;
  font: inherit;
  font-weight: 700;
  padding: .85em 1.5em;
  border: 0;
  border-radius: 999px;
  text-decoration: none;
  cursor: pointer;
  transition: background .15s;
}
.tlacitko:hover { background: var(--inkoust); color: #fff; }
.tlacitko--male { padding: .6em 1.3em; font-size: 1rem; }
.odkaz-tlacitko {
  font-weight: 700;
  color: var(--navy);
  text-decoration: underline;
  text-decoration-color: var(--modra);
  text-decoration-thickness: 2px;
}

/* ---------- Hlavička ---------- */
.hlavicka { background: var(--bila); border-bottom: 1px solid var(--linka); position: sticky; top: 0; z-index: 50; }
.hlavicka__in { display: flex; align-items: center; justify-content: space-between; min-height: 76px; gap: 24px; }
.logo img { width: 190px; height: auto; }
.menu { display: flex; align-items: center; gap: 32px; }
.menu ul { list-style: none; display: flex; gap: 28px; margin: 0; padding: 0; }
.menu ul a { text-decoration: none; color: var(--inkoust); font-weight: 500; }
.menu ul a:hover { color: var(--modra); }
.menu .tlacitko { color: #fff; }

/* tlačítko menu: popisek + tři čárky, po otevření křížek */
.menu-tlacitko { display: none; align-items: center; gap: 10px; background: none; border: 0; padding: 8px 4px 8px 10px; margin-right: -4px; cursor: pointer; font: inherit; font-weight: 700; color: var(--navy); }
.menu-tlacitko__ikona { position: relative; width: 24px; height: 18px; }
.menu-tlacitko__car, .menu-tlacitko__car::before, .menu-tlacitko__car::after {
  position: absolute; left: 0; width: 24px; height: 2.5px; border-radius: 2px; background: var(--navy); content: ""; transition: transform .2s, background .2s;
}
.menu-tlacitko__car { top: 8px; }
.menu-tlacitko__car::before { top: -7px; }
.menu-tlacitko__car::after { top: 7px; }
.menu-tlacitko[aria-expanded="true"] .menu-tlacitko__car { background: transparent; }
.menu-tlacitko[aria-expanded="true"] .menu-tlacitko__car::before { transform: translateY(7px) rotate(45deg); }
.menu-tlacitko[aria-expanded="true"] .menu-tlacitko__car::after { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 960px) {
  .menu-tlacitko { display: flex; }
  /* otevřené menu = panel přes celou obrazovku pod hlavičkou */
  .menu { display: none; position: fixed; left: 0; right: 0; top: 76px; bottom: 0; overflow-y: auto; background: var(--bila); flex-direction: column; align-items: stretch; gap: 0; padding: 12px var(--okraj) 32px; border-top: 1px solid var(--linka); }
  .menu.je-otevrene { display: flex; }
  .menu ul { flex-direction: column; gap: 0; }
  .menu ul a { display: block; padding: 18px 0 18px 16px; border-bottom: 1px solid var(--linka); font-size: 1.375rem; font-weight: 700; color: var(--navy); }
  .menu .tlacitko { display: block; text-align: center; margin-top: 32px; padding: 16px; font-size: 1.0625rem; }
  body.menu-otevrene { overflow: hidden; }
}

/* ---------- Úvod (hero) ---------- */
.uvod { background: var(--bila); border-bottom: 1px solid var(--linka); overflow: hidden; }
.uvod__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 72px); align-items: center; padding-block: clamp(48px, 7vw, 96px); }
.uvod__stitek { display: inline-block; margin-bottom: 18px; padding: 4px 14px; border-radius: 999px; background: var(--modra-svetla); color: var(--navy); font-weight: 700; font-size: .9375rem; }
.uvod h1 { font-size: clamp(2.3rem, 4.8vw, 3.9rem); font-weight: 800; letter-spacing: -0.035em; line-height: 1.02; color: var(--navy); }
.uvod__perex { font-size: 1.1875rem; color: var(--sedy-text); max-width: 32em; }
.uvod__akce { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 28px; }
/* současný i nový koš — zelená fajfka jako „v normě“ v aplikaci */
.uvod__kose { position: relative; margin: 26px 0 0; padding-left: 30px; font-weight: 600; color: var(--inkoust); max-width: 32em; }
.uvod__kose::before { content: ""; position: absolute; left: 3px; top: .38em; width: 13px; height: 7px; border-left: 3px solid var(--zelena); border-bottom: 3px solid var(--zelena); transform: rotate(-45deg); }
.uvod__kose a { color: var(--navy); }
@media (max-width: 900px) { .uvod__in { grid-template-columns: 1fr; } }

/* úvodní obrázek: telefon se semaforem na světle modrém kruhu */
.uvod__obraz { position: relative; display: flex; justify-content: center; padding-block: 12px; }
.uvod__obraz::before { content: ""; position: absolute; top: 50%; left: 50%; width: min(520px, 100%); aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(circle at 35% 30%, #EEF5FC, var(--modra-svetla) 70%); }
.telefon { position: relative; width: min(300px, 76vw); padding: 11px; border-radius: 46px; background: var(--inkoust); box-shadow: 0 40px 70px -30px rgba(0, 41, 82, .55), inset 0 0 0 2px #2A3B5C; }
.telefon__displej { position: relative; overflow: hidden; border-radius: 36px; background: #EEF1F6; }
/* výřez kamery */
.telefon__displej::before { content: ""; position: absolute; top: 10px; left: 50%; width: 84px; height: 24px; transform: translateX(-50%); border-radius: 12px; background: var(--inkoust); z-index: 2; }
.telefon__stav { display: flex; justify-content: space-between; align-items: center; height: 44px; padding: 4px 26px 0 30px; background: var(--bila); font-size: .8125rem; font-weight: 700; color: var(--inkoust); }
.telefon__stav i { width: 38px; height: 11px; border-radius: 3px; background: linear-gradient(90deg, var(--inkoust) 0 60%, transparent 60%), var(--linka); }
.telefon__lista { display: flex; align-items: center; gap: 9px; padding: 8px 18px 12px; background: var(--bila); border-bottom: 1px solid var(--linka); }
.telefon__lista img { border-radius: 6px; }
.telefon__lista strong { flex: 1; color: var(--navy); font-size: .9375rem; }
/* tři čárky menu */
.telefon__lista i { width: 18px; height: 2px; border-radius: 2px; background: var(--navy); box-shadow: 0 -6px 0 var(--navy), 0 6px 0 var(--navy); }
.telefon__obsah { padding: 14px 12px 26px; }
.telefon__obsah img { display: block; width: 100%; height: auto; border-radius: 8px; box-shadow: 0 10px 24px -16px rgba(0, 41, 82, .5); }
/* proužek pro návrat domů */
.telefon__obsah::after { content: ""; display: block; width: 110px; height: 5px; margin: 16px auto 0; border-radius: 3px; background: var(--inkoust); opacity: .8; }

/* ---------- Sekce: společné ---------- */
.sekce { padding-block: clamp(56px, 8vw, 104px); }
.sekce--bila { background: var(--bila); border-block: 1px solid var(--linka); }
section h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 800; color: var(--navy); }
.sekce-perex { color: var(--sedy-text); max-width: 42em; font-size: 1.125rem; }
.nadtitulek { color: var(--modra-text); font-weight: 700; margin-bottom: 6px; }

/* ---------- Semafor a pravidla: snímek z aplikace + výklad ---------- */
.vyklad { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(28px, 5vw, 72px); align-items: center; margin-top: clamp(40px, 6vw, 64px); }
.vyklad--obracene { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
.vyklad--obracene .vyklad__obrazek { order: 2; }
.vyklad__obrazek { display: flex; justify-content: center; padding: clamp(24px, 4vw, 44px); border-radius: 20px; background: var(--modra-svetla); }
.vyklad__obrazek img { display: block; width: 100%; height: auto; max-width: 340px; border-radius: 10px; box-shadow: 0 18px 44px -22px rgba(0, 41, 82, .4); }
.vyklad--obracene .vyklad__obrazek img { max-width: 300px; }
/* semafor a pravidla vedle sebe */
.vyklad--dva { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
.vyklad__obrazek--dva { gap: clamp(12px, 2vw, 20px); align-items: flex-start; }
.vyklad__obrazek--dva img { min-width: 0; max-width: 260px; }
/* měsíční sestava je široká tabulka */
.vyklad--sestava { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.vyklad--obracene .vyklad__obrazek--siroky img { max-width: 100%; }
.vyklad__text h3 { font-size: clamp(1.4rem, 2.2vw, 1.75rem); font-weight: 800; color: var(--navy); margin-bottom: 12px; }
.vyklad__text p { color: var(--sedy-text); font-size: 1.0625rem; }
.barvy { list-style: none; margin: 18px 0; padding: 0; display: grid; gap: 12px; }
.barvy li { position: relative; padding-left: 26px; color: var(--sedy-text); }
.barvy li::before { content: ""; position: absolute; left: 0; top: .42em; width: 14px; height: 14px; border-radius: 50%; background: var(--zelena); }
.barvy li.u-hranice::before { background: var(--oranzova); }
.barvy li.mimo::before { background: var(--cervena); }
.barvy strong { color: var(--inkoust); margin-right: 4px; }
.barvy strong::after { content: " –"; font-weight: 400; color: var(--sedy-text); }
@media (max-width: 860px) {
  .vyklad, .vyklad--obracene, .vyklad--dva, .vyklad--sestava { grid-template-columns: 1fr; }
  .vyklad--obracene .vyklad__obrazek { order: 0; }
}
@media (max-width: 560px) { .vyklad__obrazek--dva { flex-direction: column; align-items: center; } }

/* ---------- Co umí: části aplikace ---------- */
.moduly { list-style: none; margin: 36px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.modul { display: block; height: 100%; background: var(--bila); border: 1px solid var(--linka); border-radius: var(--zaobleni); padding: 26px 26px 22px; color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s, background .15s; }
.modul:hover { border-color: var(--navy); box-shadow: 0 12px 30px -20px rgba(0, 41, 82, .45); }
.modul:focus-visible { outline: 3px solid var(--modra); outline-offset: 3px; }
.modul__ikona { width: 46px; height: 46px; border-radius: 12px; background: var(--modra-svetla); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.modul__ikona svg { width: 24px; height: 24px; fill: none; stroke: var(--navy); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.modul__nazev { display: block; font-size: 1.25rem; font-weight: 800; color: var(--navy); margin-bottom: 8px; }
.modul__kratce { display: block; color: var(--sedy-text); font-size: 1rem; }
/* vybraná dlaždice (nastavuje main.js) */
.modul[aria-selected="true"] { background: var(--navy); border-color: var(--navy); }
.modul[aria-selected="true"] .modul__nazev { color: #fff; }
.modul[aria-selected="true"] .modul__kratce { color: #D3E1F3; }
.modul[aria-selected="true"] .modul__ikona { background: rgba(255, 255, 255, .14); }
.modul[aria-selected="true"] .modul__ikona svg { stroke: #fff; }
@media (max-width: 960px) { .moduly { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .moduly { grid-template-columns: 1fr; } }

/* panel vybraného modulu: popis + galerie; bez JS jsou panely pod sebou */
.moduly-panely { margin-top: 24px; scroll-margin-top: 96px; }
.modul-panel { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); gap: clamp(24px, 4vw, 48px); align-items: start; background: var(--bila); border: 1px solid var(--linka); border-radius: var(--zaobleni); padding: clamp(22px, 3vw, 36px); scroll-margin-top: 96px; }
.modul-panel + .modul-panel { margin-top: 20px; }
.modul-panel[hidden] { display: none; }
.modul-panel--bez-snimku { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
.modul-panel__text h3 { font-size: clamp(1.4rem, 2.2vw, 1.75rem); font-weight: 800; color: var(--navy); margin-bottom: 10px; }
.modul-panel__text > p { color: var(--sedy-text); font-size: 1.0625rem; }
.modul-panel__text .fajfky { margin-top: 18px; }
.galerie__hlavni { display: flex; align-items: center; justify-content: center; height: clamp(260px, 32vw, 440px); padding: clamp(14px, 2vw, 24px); border-radius: var(--zaobleni); background: var(--modra-svetla); cursor: zoom-in; }
.galerie__hlavni img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; border: 1px solid var(--linka); border-radius: 8px; box-shadow: 0 14px 36px -20px rgba(0, 41, 82, .45); }
.galerie__hlavni:focus-visible { outline: 3px solid var(--modra); outline-offset: 3px; }
.galerie__popis { margin: 10px 0 0; color: var(--sedy-text); font-size: .875rem; }
.galerie__nahledy { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.galerie__nahledy a { display: block; width: 104px; height: 68px; border: 2px solid var(--linka); border-radius: 8px; overflow: hidden; background: var(--modra-svetla); }
.galerie__nahledy a[aria-current="true"] { border-color: var(--navy); }
.galerie__nahledy a:focus-visible { outline: 3px solid var(--modra); outline-offset: 2px; }
.galerie__nahledy img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top left; }
.skryte { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 860px) {
  .modul-panel { grid-template-columns: minmax(0, 1fr); }
  .galerie__hlavni { height: clamp(220px, 62vw, 380px); }
}

/* zvětšený snímek */
.lupa { padding: 0; border: 0; background: transparent; max-width: 96vw; max-height: 94vh; overflow: visible; }
.lupa::backdrop { background: rgba(8, 22, 46, .82); }
.lupa img { display: block; max-width: 94vw; max-height: 84vh; width: auto; height: auto; border-radius: 8px; background: var(--bila); }
.lupa__popis { margin: 10px 0 0; color: #fff; text-align: center; font-size: .9375rem; }
.lupa__zavrit { position: absolute; top: -14px; right: -14px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--bila); color: var(--navy); font-size: 1.75rem; line-height: 1; cursor: pointer; box-shadow: 0 6px 18px rgba(0, 0, 0, .3); }
@media (max-width: 600px) { .lupa__zavrit { top: 6px; right: 6px; } }

/* ---------- Pás: nový koš 2027 ---------- */
.pas { background: var(--navy); color: #fff; }
.pas__in { padding-block: clamp(40px, 5vw, 64px); }
/* hlavička drží stejnou mřížku jako čtyři body pod ní: datum nad prvním, text od druhého sloupce,
   datum a nadpis na společné účaří */
.pas__hlava { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 28px; align-items: baseline; }
.pas__hlava > div { grid-column: 2 / -1; }
.pas__velke { font-size: clamp(2.4rem, 4.2vw, 3.6rem); font-weight: 900; letter-spacing: -0.045em; line-height: .95; margin: 0; color: #8EC1F2; white-space: nowrap; }
.pas h2 { color: #fff; margin-bottom: 6px; }
.pas p { color: #D3E1F3; }
.pas__hlava p { margin: 0; max-width: 48em; }
.pas__aplikace { color: #fff; font-weight: 700; }
.pas__body { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 28px; margin: 32px 0 18px; padding: 0; }
.pas__body li { padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .25); color: #D3E1F3; font-size: .9375rem; }
.pas__body li strong { color: #fff; display: block; margin-bottom: 4px; font-size: 1rem; }
.pas__pozn { margin: 0; font-size: .8125rem; color: #A9C4E6 !important; }
.pas__pozn a { color: #fff; }

/* ---------- Stačí vyfotit (pod úvodem) ---------- */
.foto__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.foto__hlava .pas__velke { margin-bottom: 14px; }
.foto__hlava h2 { margin-bottom: 12px; }
.foto__hlava p:last-child { margin: 0; }
.foto__karty { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.foto__karty li { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .22); border-radius: var(--zaobleni); padding: 24px; color: #D3E1F3; }
.foto__karty strong { display: block; color: #fff; font-size: 1.125rem; margin-bottom: 6px; }
.foto__ikona { width: 46px; height: 46px; border-radius: 12px; background: rgba(255, 255, 255, .14); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.foto__ikona svg { width: 24px; height: 24px; fill: none; stroke: #fff; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
@media (max-width: 900px) { .foto__in { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .foto__karty { grid-template-columns: 1fr; } }
/* užší obrazovky: datum nad nadpisem, ať vedle něj nezůstává prázdná plocha */
@media (max-width: 1000px) {
  .pas__hlava { grid-template-columns: minmax(0, 1fr); }
  .pas__hlava > div { grid-column: auto; margin-top: 10px; }
  .pas__body { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 28px; }
}
@media (max-width: 600px) { .pas__body { grid-template-columns: 1fr; } }

/* ---------- Propojení s Objednávkou obědů ---------- */
.propojeni { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 4vw, 48px); align-items: stretch; margin-top: 36px; }
.propojeni__sloupec { background: var(--bila); border: 1px solid var(--linka); border-radius: var(--zaobleni); padding: 28px; height: 100%; }
.propojeni__sloupec--spolu { background: var(--bila); border: 2px solid var(--navy); }
.propojeni__sloupec h3 { font-size: 1.375rem; font-weight: 800; color: var(--navy); margin-bottom: 10px; }
.propojeni__sloupec > p { color: var(--sedy-text); }
.propojeni__sloupec > p.propojeni__pro { color: var(--modra-text); font-weight: 700; margin-top: -4px; }
.fajfky { list-style: none; margin: 0; padding: 0; }
.fajfky li { position: relative; padding: 10px 0 10px 30px; border-top: 1px solid var(--linka); }
.fajfky li::before { content: ""; position: absolute; left: 3px; top: 18px; width: 12px; height: 7px; border-left: 2.5px solid var(--modra); border-bottom: 2.5px solid var(--modra); transform: rotate(-45deg); }
.fajfky strong { color: var(--inkoust); }
@media (max-width: 860px) { .propojeni { grid-template-columns: 1fr; } }

/* schéma: dva systémy a co mezi nimi putuje */
.schema { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr); align-items: stretch; gap: 12px; margin: 8px 0 22px; }
.schema__system { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 128px; background: var(--bila); border: 1px solid var(--linka); border-radius: var(--zaobleni); padding: 16px 12px; text-align: center; box-shadow: 0 10px 28px -18px rgba(0, 41, 82, .35); }
.schema__logo { display: block; height: auto; max-width: 100%; }
.schema__logo--kos { width: 150px; }
.schema__logo--oo { width: 112px; }
.schema__ikona { width: 62px; height: 62px; border-radius: 50%; background: var(--modra-svetla); display: flex; align-items: center; justify-content: center; }
.schema__ikona svg { width: 30px; height: 30px; fill: none; stroke: var(--navy); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.schema__system small { display: block; font-weight: 600; font-size: .8125rem; color: var(--sedy-text); margin-top: 10px; }
.schema__toky { display: flex; flex-direction: column; gap: 10px; align-self: center; }
.schema__tok { position: relative; font-size: .8125rem; font-weight: 700; color: var(--navy); text-align: center; padding-bottom: 8px; border-bottom: 2px solid var(--modra); }
.schema__tok::after { content: ""; position: absolute; bottom: -6px; right: -2px; border: 5px solid transparent; border-left: 8px solid var(--modra); border-right: 0; }
.schema__tok--zpet { border-bottom: 0; border-top: 2px solid var(--modra); padding: 8px 0 0; }
.schema__tok--zpet::after { bottom: auto; top: -6px; right: auto; left: -2px; border-left: 0; border-right: 8px solid var(--modra); }

/* okno S Objednávkou obědů v barvách Objednávky obědů (zlatá z obedy/style.css) */
.propojeni__sloupec--spolu { --zlata: #E89D40; --zlata-svetla: #FDF4E7; --zlata-linka: #F2D9B3; --zlata-text: #93560F; background: var(--zlata-svetla); border-color: var(--zlata); }
.propojeni__sloupec--spolu h3,
.propojeni__sloupec--spolu > p.propojeni__pro { color: var(--zlata-text); }
.propojeni__sloupec--spolu .fajfky li { border-top-color: var(--zlata-linka); }
.propojeni__sloupec--spolu .fajfky li::before { border-color: var(--zlata); }
.propojeni__sloupec--spolu .schema__system { border-color: var(--zlata-linka); box-shadow: 0 10px 28px -18px rgba(120, 70, 10, .35); }
/* počty jdou z Objednávky obědů, proto zlatá šipka */
.propojeni__sloupec--spolu .schema__tok--zpet { color: var(--zlata-text); border-top-color: var(--zlata); }
.propojeni__sloupec--spolu .schema__tok--zpet::after { border-right-color: var(--zlata); }
@media (max-width: 480px) { .schema { grid-template-columns: 1fr; } .schema__tok { border: 0 !important; padding: 0 !important; } .schema__tok::after { display: none; } .schema__tok::before { content: "↓ "; } .schema__tok--zpet::before { content: "↑ "; } }

/* ---------- Pro koho ---------- */
.pro-koho { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.provozy { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.provozy li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; align-items: center; background: var(--bila); border: 1px solid var(--linka); border-radius: var(--zaobleni); padding: 16px 20px; }
.provozy strong { display: block; color: var(--navy); font-size: 1.125rem; }
.provozy span { color: var(--sedy-text); font-size: .9375rem; }
.provozy .modul__ikona { width: 44px; height: 44px; margin: 0; }
@media (max-width: 860px) { .pro-koho { grid-template-columns: 1fr; } }

/* ---------- Patička + formulář ---------- */
.paticka { background: var(--inkoust); color: #C5D0E2; }
.paticka a { color: #fff; }
.paticka a:hover { color: var(--modra); }
.poptavka { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: clamp(32px, 6vw, 96px); padding-block: clamp(56px, 8vw, 104px); border-bottom: 1px solid rgba(255, 255, 255, .14); }
.poptavka h2 { color: #fff; }
.poptavka__primo { font-weight: 700; color: #fff; }
@media (max-width: 760px) { .poptavka { grid-template-columns: 1fr; } }

.formular { display: flex; flex-wrap: wrap; gap: 16px; }
.pole { flex: 1 1 100%; display: flex; flex-direction: column; gap: 6px; }
.pole--pul { flex: 1 1 220px; }
.pole--skryte { position: absolute; left: -9999px; }
.pole label { font-weight: 600; color: #fff; font-size: .9375rem; }
.nepovinne { font-weight: 400; color: #97A6C2; }
.pole input, .pole textarea {
  font: inherit; color: var(--inkoust); background: #fff; border: 2px solid transparent; border-radius: 8px; padding: 12px 14px; width: 100%;
}
.pole textarea::placeholder { color: #8A96AD; }
.pole input:focus, .pole textarea:focus { outline: none; border-color: var(--modra); }
.souhlas { display: flex; gap: 10px; align-items: flex-start; font-size: .9375rem; }
.souhlas input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--modra); flex: none; }
.formular .tlacitko { background: var(--modra); color: var(--inkoust); }
.formular .tlacitko:hover { background: #fff; color: var(--inkoust); }
.hlaska { padding: 12px 16px; border-radius: 8px; font-weight: 600; }
.hlaska--chyba { background: #FDECEC; color: #8A1C1C; }

.paticka__spodek { display: grid; grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); gap: 32px; padding-block: 48px 32px; font-size: .9375rem; }
.paticka__spodek h3 { color: #fff; font-size: 1rem; margin-bottom: 8px; }
.paticka__nazev { font-size: 1.25rem; font-weight: 800; color: #fff; margin-bottom: 8px; }
.paticka__firma p:last-child { max-width: 28em; }
.paticka__pravni { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-block: 20px 32px; font-size: .875rem; border-top: 1px solid rgba(255, 255, 255, .14); }
@media (max-width: 760px) { .paticka__spodek { grid-template-columns: 1fr 1fr; } .paticka__firma { grid-column: 1 / -1; } }
@media (max-width: 480px) { .paticka__spodek { grid-template-columns: 1fr; gap: 20px; } }

/* ---------- Jednoduché podstránky (děkujeme, 404) ---------- */
.hlava-stranky { background: var(--bila); border-bottom: 1px solid var(--linka); padding-block: clamp(72px, 12vw, 160px); }
.hlava-stranky h1 { font-size: clamp(2.2rem, 4.4vw, 3.5rem); font-weight: 800; letter-spacing: -0.035em; line-height: 1.04; color: var(--navy); }
.hlava-stranky__perex { font-size: 1.1875rem; color: var(--sedy-text); max-width: 38em; }
