/* Křižovatka — jídelní lístek (listek.html). Jen styly této stránky; základ je v zaklad.css. */

html{scroll-padding-top:88px}

/* ---------- úvod stránky ---------- */
.hlava{padding-top:clamp(36px,6vw,72px);padding-bottom:clamp(24px,4vw,40px)}
.hlava .nadpis{font-size:var(--t-h1);margin-top:12px}
.hlava .perex{max-width:40em;margin-top:18px;font-size:clamp(17px,1.6vw,19px);color:var(--sede)}
.hlaseni{display:flex;align-items:baseline;gap:8px;margin-top:18px;font-size:15px;font-weight:600;color:var(--sede);max-width:46em}
.hlaseni::before{content:"";width:8px;height:8px;border-radius:50%;border:2px solid var(--g);flex:none;transform:translateY(-1px)}
.hlaseni[hidden]{display:none}
.hlaseni a{color:var(--g-tma)}

/* ---------- rozvržení: přepínač vlevo, lístek vpravo ---------- */
.listek{display:grid;grid-template-columns:360px minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:start}

/* ---------- PŘEPÍNAČ-KŘÍŽ ---------- */
.prepinac{position:sticky;top:100px}
.kriz-box{position:relative;width:360px;height:300px;--kriz:180px}
.kriz{position:absolute;left:50%;top:50%;width:var(--kriz);height:var(--kriz);margin:calc(var(--kriz) / -2) 0 0 calc(var(--kriz) / -2);overflow:visible}
.vysek{fill:var(--bila);stroke:var(--g);stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linejoin:round;cursor:pointer;transition:fill .25s ease,stroke .25s ease,transform .25s ease;transform-box:view-box;transform-origin:0 0}
.vysek.aktivni{fill:var(--g)}
.prepinac[data-najeto="denni"] .vysek[data-vysek="denni"]:not(.aktivni),
.prepinac[data-najeto="staly"] .vysek[data-vysek="staly"]:not(.aktivni),
.prepinac[data-najeto="napoje"] .vysek[data-vysek="napoje"]:not(.aktivni),
.prepinac[data-najeto="info"] .vysek[data-vysek="info"]:not(.aktivni){fill:var(--g-svetla)}
.vysek.fokus{stroke:var(--ink);stroke-width:3px}
.no-js .vysek{cursor:default}

/* jemné „vysunutí“ aktivního výseku ze středu po své ose */
.vysek[data-vysek="denni"].aktivni{transform:translate(0,-3px)}
.vysek[data-vysek="staly"].aktivni{transform:translate(3px,0)}
.vysek[data-vysek="napoje"].aktivni{transform:translate(0,3px)}
.vysek[data-vysek="info"].aktivni{transform:translate(-3px,0)}

.stitky{list-style:none;margin:0;padding:0}
.stitky li{position:absolute}
.stitky a{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--ink);padding:6px 8px;border-radius:4px;line-height:1.1;transition:color .2s}
.stitky .jm{font-weight:800;font-size:16px;letter-spacing:-.01em}
.stitky .jm-k{display:none}
.stitky .kdy{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sede)}
.stitky a:hover .jm,.stitky a[aria-current] .jm{color:var(--g)}
/* štítky leží u svých výseků: nahoře, vpravo, dole, vlevo */
.m-denni{left:50%;top:0;transform:translateX(-50%);text-align:center}
.m-denni a,.m-napoje a{align-items:center}
.m-napoje{left:50%;bottom:0;transform:translateX(-50%);text-align:center}
.m-staly{left:calc(50% + var(--kriz) / 2 + 4px);top:50%;transform:translateY(-50%)}
.m-info{right:calc(50% + var(--kriz) / 2 + 4px);top:50%;transform:translateY(-50%)}
.m-info a{align-items:flex-end;text-align:right}

.stav{margin-top:18px;text-align:center;font-size:var(--t-male);color:var(--sede);line-height:1.45}
.stav b{color:var(--ink);font-weight:700}

/* ---------- PANELY ---------- */
.panely{min-width:0}
.panel{scroll-margin-top:96px}
.panel + .panel{margin-top:clamp(56px, 7vw, 88px)}
.kotva{display:block;height:0;scroll-margin-top:96px}
.panel-hlava{margin-bottom:20px}
.panel-hlava .nadpis{font-size:var(--t-h2)}
.panel-hlava p{margin-top:10px;color:var(--sede)}

/* volba dne po–pá */
.dny{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:16px}
.dny[hidden]{display:none}
.dny button{font:inherit;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border:2px solid var(--g);border-radius:4px;background:transparent;color:var(--g-tma);cursor:pointer;transition:background .2s,color .2s}
.dny .zkr{font-weight:900;font-size:20px;line-height:1;white-space:nowrap}
.dny .dat{font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--sede)}
.dny .dnes{box-shadow:inset 0 0 0 2px var(--g),0 0 0 3px var(--g-svetla)}
.dny .dnes .dat{color:var(--g);font-weight:800;text-transform:uppercase}
.dny button:hover{background:var(--g-svetla)}
.dny button[aria-pressed="true"]{background:var(--g);color:#fff}
.dny button[aria-pressed="true"] .dat{color:rgba(255,255,255,.85)}
.upozorneni{margin-bottom:16px;font-size:15px;color:var(--sede)}
.upozorneni[hidden]{display:none}

/* ---------- KARTA LÍSTKU (styl tištěného A4) ---------- */
.karta{background:var(--bila);padding:clamp(16px,3vw,32px);border-radius:var(--radius);box-shadow:0 1px 0 var(--linka),0 12px 32px -18px rgba(22,22,22,.25);--knock:var(--bila)}
.pruh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;background:var(--g);color:#fff;padding:14px clamp(14px,2vw,22px);font-weight:900;font-size:clamp(22px,3vw,32px);text-transform:uppercase;letter-spacing:-.01em;line-height:1}
.pruh span:last-child{font-weight:700;font-size:clamp(14px,1.6vw,18px);letter-spacing:.04em}

.polozky{list-style:none;margin:8px 0 0;padding:0;font-size:clamp(16px,1.6vw,18px)}
.polozky li{display:grid;grid-template-columns:2em minmax(0,1fr) auto;gap:.7em;padding:.75em 0;border-bottom:1px solid #DDD8D5;line-height:1.3;align-items:baseline}
.polozky li.predel{border-top:3px solid var(--g);margin-top:-1px}
.polozky .n,.legenda .n{font-weight:900;color:var(--g);font-size:1.22em;line-height:1}
.polozky .n svg,.legenda .n svg{width:1em;height:1em;display:block;color:var(--g);transform:translateY(.12em)}
.polozky b{font-weight:800}
.polozky i{font-style:normal;color:#6d6866}
.polozky .g{font-weight:600;color:#6d6866;margin-right:.15em;white-space:nowrap}
.polozky .p{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.polozky .p small{font-size:.78em;font-weight:600;color:#6d6866}
.poznamky{margin-top:18px;font-size:var(--t-male);color:var(--sede)}
.prazdne{padding:24px 0;color:var(--sede)}
.prazdne a{color:var(--g-tma);font-weight:700}
.pruh.dnes{background:var(--g-tma)}
.specialy{display:grid;gap:24px;margin-top:24px}
.specialy[hidden]{display:none}

/* ---------- STÁLÝ LÍSTEK ---------- */
.leaf-text{width:1em;height:1em;color:var(--g);vertical-align:-.12em;--knock:var(--papir)}
.kategorie-seznam{display:grid;gap:24px}
.pruh-ikona{display:inline-flex;align-items:center;gap:.4em}
.pruh-ikona svg{width:1.15em;height:1.15em;color:#fff;--knock:var(--g);flex:none}
.kat-uvod{margin-top:14px;color:var(--sede);font-size:15px;max-width:52ch}
.polozky.stale li{grid-template-columns:auto minmax(0,1fr) auto;gap:0}
.polozky.stale .n:not(:empty){margin-right:.6em}
.polozky.stale .p{padding-left:.8em}
.polozky.stale .n{font-size:1em}
.polozky li.varianta{padding:.15em 0 .6em;border-bottom:1px solid #DDD8D5;margin-top:-.45em;font-size:.92em;color:#6d6866}
.polozky li:has(+ li.varianta){border-bottom:0}
.polozky .chov{display:inline-block;font-size:.78em;font-weight:700;color:var(--g);letter-spacing:.02em;white-space:nowrap}

/* ---------- NÁPOJE ---------- */
.napoje-mrizka{columns:3 240px;column-gap:40px}
.napoje-skupina{break-inside:avoid;margin-bottom:26px}
.napoje-skupina h3{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--g);padding-bottom:8px;border-bottom:3px solid var(--g)}
.napoje-skupina ul{list-style:none;margin:0;padding:0;font-size:16px}
.napoje-skupina li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:.45em 0;border-bottom:1px solid #DDD8D5;line-height:1.3}
.napoje-skupina b{font-weight:700}
.napoje-skupina i{font-style:normal;color:#6d6866;font-size:.9em;white-space:nowrap}
.napoje-skupina .p{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.napoje-skupina .p small{font-size:.78em;font-weight:600;color:#6d6866}

/* ---------- INFORMACE ---------- */
.info-mrizka{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px 36px;margin-top:24px}
.blok h3{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--g);margin:0 0 10px}
.blok h3:not(:first-child){margin-top:24px}
.blok p + p{margin-top:6px}
.tyden{list-style:none;margin:0;padding:0;font-variant-numeric:tabular-nums}
.tyden li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--linka)}
.tyden li.dnes{font-weight:800;color:var(--g-tma)}
.tyden li.dnes span:first-child::after{content:" · dnes";font-weight:600;color:var(--g)}
.fakta{margin:0}
.fakta div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--linka)}
.fakta dt{color:var(--ink)}
.fakta dd{margin:0;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.legenda{list-style:none;margin:0;padding:0}
.legenda li{display:flex;align-items:center;gap:10px;padding:3px 0}
.legenda .n{width:1.4em;font-size:1.1em}
.legenda .n svg{transform:none}
.drobne{margin-top:12px;font-size:var(--t-male);color:var(--sede)}
.kontakt .velky{font-size:clamp(22px,2.4vw,28px);font-weight:900;text-decoration:none;letter-spacing:-.01em}
.kontakt a{overflow-wrap:anywhere}
.kontakt .btn{margin-top:14px}

/* ---------- STŘEDNÍ ŠÍŘKA ---------- */
@media (max-width:1080px){
  .listek{grid-template-columns:300px minmax(0,1fr)}
  .kriz-box{width:300px;height:270px;--kriz:150px}
  .stitky .jm{font-size:15px}
}

/* ---------- MOBIL A TABLET: přilepená lišta s malým křížem ---------- */
@media (max-width:900px){
  html{scroll-padding-top:150px}
  .listek{display:block}
  .prepinac{position:sticky;top:69px;z-index:40;margin-inline:calc(var(--gutter) * -1);padding:8px var(--gutter);background:rgba(244,241,237,.94);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--linka);margin-bottom:24px}
  .kriz-box{position:static;width:auto;height:auto;display:flex;align-items:center;gap:12px;--kriz:56px}
  .kriz{position:static;margin:0;flex:none}
  .vysek.aktivni{transform:none}
  .stitky{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .stitky li{position:static;transform:none}
  .stitky a,.m-info a,.m-denni a,.m-napoje a{align-items:center;text-align:center;padding:8px 2px;min-height:48px;justify-content:center}
  .stitky .jm{display:none}
  .stitky .jm-k{display:block;font-weight:800;font-size:15px}
  .stitky .kdy{font-size:10.5px;letter-spacing:.02em;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .stitky a[aria-current]{background:var(--g);color:#fff}
  .stitky a[aria-current] .jm-k{color:#fff}
  .stitky a[aria-current] .kdy{color:rgba(255,255,255,.85)}
  .stitky a:hover .jm-k{color:var(--g)}
  .stitky a[aria-current]:hover .jm-k{color:#fff}
  .stav{display:none}
  .panel,.kotva{scroll-margin-top:150px}
  .dny{grid-template-columns:repeat(3,minmax(0,1fr))}
  /* bez JS lišta jen odkazuje na části pod sebou */
  .no-js .prepinac{position:static}
}
@media (max-width:420px){
  .kriz-box{gap:8px;--kriz:48px}
  .stitky .kdy{display:none}
  .stitky .jm-k{font-size:14px}
  .dny .zkr{font-size:18px}
  .polozky li{grid-template-columns:1.6em minmax(0,1fr) auto;gap:.55em}
}
