

@font-face { font-family:'Anton'; font-style:normal; font-weight:400; font-display:swap;
  src:url('../pisma/anton-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD; }
@font-face { font-family:'Anton'; font-style:normal; font-weight:400; font-display:swap;
  src:url('../pisma/anton-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Space Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url('../pisma/space-mono-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD; }
@font-face { font-family:'Space Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url('../pisma/space-mono-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Space Mono'; font-style:normal; font-weight:700; font-display:swap;
  src:url('../pisma/space-mono-700-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD; }
@font-face { font-family:'Space Mono'; font-style:normal; font-weight:700; font-display:swap;
  src:url('../pisma/space-mono-700-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2C60-2C7F,U+A720-A7FF; }

:root {
  --uhli:      #17130F;
  --uhli-svit: #211D1A;
  --papir:     #F3EAD9;
  --papir-svit:#EFE7DE;
  --ohen:      #E4572E;
  --med:       #f99f1b;
  --logo-oran: #E09B46;
  --neutral:   #9A8F80;

  --k: 8px;
  --sirka: 1180px;

  --naj: .18s cubic-bezier(.2,.7,.3,1);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background:var(--uhli); color:var(--papir);
  font-family:'Space Mono', ui-monospace, Menlo, monospace;
  font-size:16px; line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img { max-width:100%; display:block; }
a { color:inherit; }
::selection { background:var(--ohen); color:var(--papir); }

:focus-visible { outline:3px solid var(--med); outline-offset:3px; }

.pas { background:var(--bg); color:var(--fg); padding:calc(var(--k)*10) 0; }
.pas--tmavy  { --bg:var(--uhli);  --fg:var(--papir); --akcent:var(--med);  --tlum:var(--neutral); --plocha:var(--uhli-svit); --linka:#2E2822; }
.pas--svetly { --bg:var(--papir); --fg:var(--uhli);  --akcent:var(--ohen); --tlum:#7A6E5E;        --plocha:var(--papir-svit); --linka:#D9CDB6; }
.pas--uzky   { padding:calc(var(--k)*6) 0; }

.wrap { width:100%; max-width:var(--sirka); margin:0 auto; padding:0 calc(var(--k)*3); }

.nadpis-xxl, .nadpis-xl, .nadpis-l {
  font-family:'Anton', Impact, sans-serif; font-weight:400;
  text-transform:uppercase; letter-spacing:-.015em;

  line-height:1.06;
}
.nadpis-xxl { font-size:clamp(3rem, 13vw, 7.5rem); }
.nadpis-xl  { font-size:clamp(2.2rem, 7vw, 4.4rem); }
.nadpis-l   { font-size:clamp(1.5rem, 4vw, 2.2rem); }
.akc { color:var(--akcent); }

.kicker {
  font-size:.75rem; letter-spacing:.3em; text-transform:uppercase;
  color:var(--akcent); margin-bottom:calc(var(--k)*2);
}

.sloka { font-family:'Anton', Impact, sans-serif; text-transform:uppercase;
  font-size:clamp(1.15rem, 3.4vw, 1.9rem); line-height:1.12;
  letter-spacing:.01em; color:var(--fg); }

.sloka-konec { font-size:1rem; letter-spacing:.04em; color:var(--tlum);
  margin-top:calc(var(--k)*2); }

.podnadpis { font-family:'Anton', Impact, sans-serif; text-transform:uppercase;
  font-size:clamp(1.05rem, 2.4vw, 1.45rem); line-height:1.15;
  letter-spacing:.01em; color:var(--fg); }

.perex { font-size:1.05rem; max-width:56ch; color:var(--fg); }
.tlumene { color:var(--tlum); }
.mikro { font-size:.78rem; letter-spacing:.06em; color:var(--tlum); }

.poznamka { font-size:.95rem; line-height:1.75; color:var(--tlum); }

.odkaz-box { display:flex; flex-wrap:wrap; align-items:baseline;
  gap:calc(var(--k)*1) calc(var(--k)*1.5);
  border:1px solid var(--linka); border-radius:14px;
  padding:calc(var(--k)*2.5) calc(var(--k)*3);
  text-decoration:none; color:var(--fg); font-size:.95rem; line-height:1.6;
  transition:border-color var(--naj), background var(--naj); }
.odkaz-box b { color:var(--akcent); white-space:nowrap; }
.odkaz-box:hover { border-color:var(--akcent); background:var(--plocha); }

.btn {
  display:inline-block; font-weight:700; font-size:.85rem;
  letter-spacing:.06em; text-transform:uppercase; text-decoration:none;
  padding:calc(var(--k)*2) calc(var(--k)*3.5); border-radius:99px;
  transition:transform var(--naj), box-shadow var(--naj), border-color var(--naj), color var(--naj);
  border:1px solid transparent; cursor:pointer;
  min-height:48px;
  display:inline-flex; align-items:center; justify-content:center;
}
.btn--plny  { background:var(--akcent); color:var(--uhli); }
.btn--plny:hover  { transform:translateY(-2px); box-shadow:0 10px 30px rgba(228,87,46,.28); }
.btn--obrys { border-color:currentColor; color:var(--fg); opacity:.85; }
.btn--obrys:hover { opacity:1; border-color:var(--akcent); color:var(--akcent); }
.btn-radek { display:flex; flex-wrap:wrap; gap:calc(var(--k)*1.5); margin-top:calc(var(--k)*4); }

.hero { position:relative; min-height:min(86vh, 760px); display:flex; align-items:flex-end;
  overflow:hidden; background:var(--uhli); }
.hero-foto { position:absolute; inset:0; width:100%; height:100%; object-fit:cover;

  object-position:50% 50%; }

.hero-obsah .nadpis-xxl,
.hero-obsah .hero-echo,
.hero-obsah .perex {
  text-shadow:
    0 0  2px rgba(23,19,15,.98),
    0 1px 4px rgba(23,19,15,.95),
    0 2px 12px rgba(23,19,15,.90),
    0 4px 30px rgba(23,19,15,.80); }

.hero-obsah .dolu { color:#C4BBAE; }
.hero-obsah .kicker,
.hero-obsah .dolu {
  text-shadow:
    0 0 1px rgba(23,19,15,1),
    0 0 2px rgba(23,19,15,1),
    0 0 4px rgba(23,19,15,.99),
    0 1px 7px rgba(23,19,15,.97),
    0 2px 16px rgba(23,19,15,.92); }

.hero-echo { font-family:'Anton', Impact, sans-serif; text-transform:uppercase;
  font-size:clamp(1.05rem, 2.6vw, 1.7rem); letter-spacing:.02em; line-height:1.15;
  margin-top:calc(var(--k)*2); color:var(--papir); opacity:.88; }
.hero-obsah { position:relative; width:100%; padding-top:calc(var(--k)*8); padding-bottom:calc(var(--k)*5); }
@media (max-width:700px) {
  .hero { min-height:min(80vh, 620px); }

  .hero-obsah { padding-top:calc(var(--k)*14); }
}

@media (max-width:560px) {
  .hero { align-items:stretch; }
  .hero-obsah { display:flex; flex-direction:column;
    padding-top:calc(var(--k)*9); padding-bottom:calc(var(--k)*4); }

  .hero-obsah .dolu { margin-top:auto; align-self:flex-start; }

  .hero-panel {
    position:relative;
    padding:calc(var(--k)*2.5) calc(var(--k)*2);
    margin-left:calc(var(--k)*-2); margin-right:calc(var(--k)*-1);
    border-radius:16px;
    background:rgba(23,19,15,.72);
    border:1px solid rgba(243,234,217,.16);

  }
  .hero-panel .perex.tlumene { color:#C4BBAE; }
}

.oznameni { background:var(--papir); border-bottom:1px solid #D9CDB6; }
.oznameni-in { display:flex; align-items:center; gap:calc(var(--k)*2);
  max-width:var(--sirka); margin:0 auto; padding:calc(var(--k)*1.75) calc(var(--k)*3);
  font-size:.82rem; color:var(--uhli); text-decoration:none; }
.oznameni-in:hover .oznameni-vic { opacity:1; }

.oznameni-znak { width:8px; height:8px; border-radius:99px; background:var(--ohen);
  flex:none; animation:pulz 2s ease-in-out infinite; }
@keyframes pulz { 0%,100% { opacity:1; } 50% { opacity:.25; } }
.oznameni-text { flex:1; min-width:0; }
.oznameni-vic { white-space:nowrap; color:var(--uhli); opacity:.7; letter-spacing:.1em;
  text-transform:uppercase; font-size:.7rem; font-weight:700; }

.oznameni-in:focus-visible { outline-color:var(--uhli); }
@media (max-width:600px) { .oznameni-vic { display:none; } }

.dolu { display:inline-flex; align-items:center; gap:calc(var(--k)*1.5);
  margin-top:calc(var(--k)*5); text-decoration:none; color:var(--tlum); }
.dolu:hover { color:var(--akcent); }
.dolu-text { font-size:.72rem; letter-spacing:.28em; text-transform:uppercase; }
.dolu-sipka { width:1px; height:46px; background:currentColor; position:relative;
  animation:dychani 2.4s ease-in-out infinite; transform-origin:top; }
.dolu-sipka::after { content:''; position:absolute; left:-3px; bottom:0;
  width:7px; height:7px; border-right:1px solid currentColor;
  border-bottom:1px solid currentColor; transform:rotate(45deg); }
@keyframes dychani { 0%,100% { transform:scaleY(.6); opacity:.55; }
                     50%     { transform:scaleY(1);  opacity:1; } }

.hlava {
  position:sticky; top:0; z-index:50;
  background:rgba(23,19,15,.92); backdrop-filter:blur(10px);
  border-bottom:1px solid #2E2822;
}
.hlava-in { display:flex; align-items:center; gap:calc(var(--k)*3);
  padding:calc(var(--k)*1.5) calc(var(--k)*3); max-width:var(--sirka); margin:0 auto; }

.znacka { display:flex; align-items:center;
  font-family:'Anton', Impact, sans-serif;
  font-size:clamp(1.45rem, 5.2vw, 2rem); line-height:1.05;
  letter-spacing:.5px; text-transform:uppercase; text-decoration:none;
  color:var(--papir); white-space:nowrap; }
.znacka:hover { color:var(--med); }

.znak-hero { width:min(340px, 62vw); height:auto; margin:0 auto; display:block; }
.znak-hero-obal { display:grid; place-items:center; gap:calc(var(--k)*2);
  background:var(--plocha); border:1px solid var(--linka);
  padding:calc(var(--k)*7) calc(var(--k)*3); text-align:center; }
.hlava-mezera { flex:1; }
.hlava-odkazy { display:none; gap:calc(var(--k)*3); }
.hlava-odkazy a { text-decoration:none; font-size:.8rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--papir); opacity:.8; }
.hlava-odkazy a:hover { opacity:1; color:var(--med); }
.jazyk { font-size:.72rem; letter-spacing:.12em; color:var(--neutral); text-decoration:none; }
.jazyk b { color:var(--papir); }

.ham { background:none; border:1px solid #3A332C; border-radius:99px;
  width:46px; height:46px; display:grid; place-items:center; cursor:pointer; }
.ham span { display:block; width:18px; height:2px; background:var(--papir); position:relative; }
.ham span::before, .ham span::after { content:''; position:absolute; left:0; width:18px; height:2px; background:var(--papir); }
.ham span::before { top:-6px; } .ham span::after { top:6px; }

.menu-cele {
  position:fixed; inset:0; z-index:60; background:var(--uhli);
  display:flex; flex-direction:column; justify-content:center;
  padding:calc(var(--k)*8) calc(var(--k)*3);

  overflow-y:auto; visibility:hidden;
  transform:translateY(-100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1), visibility .35s;
}
.menu-cele[data-otevreno="ano"] { transform:translateY(0); visibility:visible; }
.menu-cele a {
  font-family:'Anton', Impact, sans-serif; text-transform:uppercase;
  font-size:clamp(1.8rem, 7vw, 3.4rem); line-height:1.18;
  text-decoration:none; color:var(--papir); width:max-content; max-width:100%;
}
.menu-cele a:hover { color:var(--med); }
.menu-zavri { position:absolute; top:calc(var(--k)*2); right:calc(var(--k)*3);
  background:none; border:1px solid #3A332C; color:var(--papir);
  width:46px; height:46px; border-radius:99px; font-size:1.3rem; cursor:pointer; }

.cedule { background:var(--med); color:var(--uhli); overflow:hidden; white-space:nowrap;
  padding:calc(var(--k)*1.2) 0; min-width:0; max-width:100%;
  font-weight:700; font-size:.78rem; letter-spacing:.22em; text-transform:uppercase; }

.cedule span { display:inline-block; padding-right:40px; animation:jede 52s linear infinite; }
@keyframes jede { from { transform:translateX(0); } to { transform:translateX(-50%); } }

.polozky { margin-top:calc(var(--k)*5); }
.polozka { padding:calc(var(--k)*2.5) 0; border-bottom:1px solid var(--linka); }

.polozka-radek { display:flex; align-items:baseline; flex-wrap:wrap;
  gap:calc(var(--k)*.75) calc(var(--k)*2); }
.polozka-nazev { font-family:'Anton', Impact, sans-serif; text-transform:uppercase;
  font-size:clamp(1.3rem, 3.6vw, 2rem); line-height:1.1; }

.polozka-tecky { flex:1; border-bottom:1px dotted var(--tlum); transform:translateY(-5px); min-width:20px; }
.polozka-cena { font-weight:700; white-space:nowrap; color:var(--akcent); }

.polozka-znak { font-family:'Space Mono', ui-monospace, monospace;
  font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700;
  background:var(--akcent); color:var(--uhli);
  padding:3px 9px 2px; border-radius:99px; white-space:nowrap;
  border:1.5px solid var(--akcent);
  align-self:center; flex:none; }

.polozka-znak--obrys { background:none; color:var(--fg); }

.polozka-znak--mesto { font-size:.7rem; padding:4px 12px 3px;
  outline:1.5px solid var(--akcent); outline-offset:2.5px; }
.polozka-znak--mesto::before { content:""; display:inline-block;
  width:5px; height:5px; border-radius:99px; background:var(--uhli);
  margin-right:7px; vertical-align:middle; position:relative; top:-1px; }

.znaky { display:flex; flex-wrap:wrap; align-items:center;
  gap:calc(var(--k)*1) calc(var(--k)*1.25); margin-top:calc(var(--k)*3); }
.znaky-popis { font-size:.78rem; letter-spacing:.06em; color:var(--tlum);
  width:100%; margin-bottom:calc(var(--k)*.5); }

.polozka-slozeni { color:var(--tlum); font-size:.85rem; margin-top:calc(var(--k)*.75); }

.polozka-alergeny { color:var(--tlum); font-size:.72rem; letter-spacing:.04em;
  margin-top:calc(var(--k)*.5); opacity:.85; }

.polozka { display:flex; gap:calc(var(--k)*2.5); align-items:flex-start; }
.polozka-foto { width:96px; height:96px; flex:none; object-fit:cover; border-radius:10px; }

/* Fotka u položky se schovává pod odkaz a rozbalí se až po kliknutí.
   Malý náhled vedle názvu vypadal jako omylem vložený obrázek a velká fotka
   by zabila seznam, ve kterém jde hlavně o čtení složení. Je to <details>,
   takže to funguje bez javascriptu. */
.foto-rozbal { margin-top:calc(var(--k)*1.5); }
.foto-rozbal > summary {
  display:inline-block; cursor:pointer; list-style:none;
  font-family:'Space Mono', ui-monospace, monospace;
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700;
  color:var(--akcent); padding:5px 13px 4px; border-radius:99px;
  box-shadow:inset 0 0 0 1.5px var(--akcent);
  transition:transform var(--naj); }
.foto-rozbal > summary::-webkit-details-marker { display:none; }
.foto-rozbal > summary:hover { transform:translateY(-1px); }
.foto-rozbal[open] > summary { margin-bottom:calc(var(--k)*1.5); }
.foto-rozbal img { display:block; width:100%; max-width:340px; height:auto; border-radius:14px; }

.polozka-foto--tajna { display:grid; place-items:center;
  background:var(--plocha); border:1px solid var(--linka);
  color:var(--akcent); font-family:'Anton', Impact, sans-serif;
  font-size:2.4rem; line-height:1; }
.polozka-telo { flex:1; min-width:0; }
@media (max-width:520px) { .polozka-foto { width:68px; height:68px; }
                           .polozka-foto--tajna { font-size:1.8rem; } }

.obrazek { width:100%; height:auto; object-fit:cover; display:block; }

.mrizka > .obrazek { align-self:start; }
.obrazek--siroka { aspect-ratio:16/9; }
.obrazek--portret { aspect-ratio:3/4; }

.foto-ram { position:relative; overflow:hidden; border-radius:14px; margin:0; }
.foto-stitek { position:absolute; left:-6%; right:-6%; top:64%;
  transform:rotate(-3.5deg); transform-origin:center;
  background:var(--med); color:var(--uhli);
  font-family:'Anton', Impact, sans-serif; text-transform:uppercase;
  font-size:clamp(1.35rem, 4.4vw, 3.1rem); line-height:1.15; letter-spacing:.015em;
  text-align:center; padding:calc(var(--k)*1.1) calc(var(--k)*2); }

@media (max-width:520px) {
  .foto-stitek { top:66%; transform:rotate(-2.5deg);
    padding:calc(var(--k)*.8) calc(var(--k)*1); }
}

.akce { margin-top:calc(var(--k)*5); display:grid; gap:0 calc(var(--k)*6); }
/* Dva sloupce až od 1100px. Dřív to bylo od 760, ale do úzkého sloupce se
   vedle dlouhého názvu města nevejde odznak „burger pro město" a skákal pod
   název. Radši jeden široký sloupec, než rozlámaný řádek. */
@media (min-width:1100px) { .akce { grid-template-columns:1fr 1fr;
  grid-auto-flow:column; grid-template-rows:repeat(4, auto); } }
.akce-radek { display:flex; flex-wrap:wrap; align-items:baseline; gap:calc(var(--k)*2);
  padding:calc(var(--k)*2.25) 0; border-bottom:1px solid var(--linka); }
.akce-datum { font-family:'Anton', Impact, sans-serif; text-transform:uppercase;
  font-size:clamp(1.1rem, 3vw, 1.6rem); color:var(--akcent);
  flex:none; min-width:9ch; }
.akce-kde { flex:1; min-width:min(240px,100%); }
.akce-nazev { font-family:'Anton', Impact, sans-serif; text-transform:uppercase;
  font-size:clamp(1.1rem, 3vw, 1.6rem); line-height:1.15; display:block; }
.akce-misto { display:block; color:var(--tlum); font-size:.82rem; line-height:1.5; }

.akce-znak { display:inline-block; vertical-align:middle;
  margin-left:calc(var(--k)*1.5);
  font-family:'Space Mono', ui-monospace, monospace;
  font-size:.82rem; letter-spacing:.18em; text-transform:uppercase; font-weight:700;
  background:var(--akcent); color:var(--uhli);
  padding:8px 16px 7px; border-radius:99px; white-space:nowrap;
  text-decoration:none; line-height:1.2;
  box-shadow:0 0 0 0 rgba(249,159,27,.55);
  animation:znak-pulz 2.6s ease-in-out infinite;
  transition:transform var(--naj); }
.akce-znak:hover { transform:translateY(-1px); }

/* Odznak u termínů, kde máme burger pro město. Tišší varianta medailového
   odznaku - obrys místo plné barvy a bez pulzování, aby na řádku netloukly
   dvě věci naráz. Vede na nabídku. Drobnější písmo a menší prostrkání než
   u medaile, aby se vešel na řádek i za dlouhý název města. */
.akce-znak--mesto { background:transparent; color:var(--akcent);
  box-shadow:inset 0 0 0 1.5px var(--akcent); animation:none;
  font-size:.68rem; letter-spacing:.07em; padding:5px 11px 4px;
  margin-left:calc(var(--k)*1); }

@keyframes znak-pulz {
  0%,100% { box-shadow:0 0 0 0 rgba(249,159,27,.65); }
  60%     { box-shadow:0 0 0 14px rgba(249,159,27,0); } }

.fotka {
  background:var(--plocha); border:1px dashed var(--tlum);
  display:grid; place-items:center; text-align:center;
  color:var(--tlum); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase;
  padding:calc(var(--k)*3);
}
.fotka--siroka { aspect-ratio:16/9; }

.fotka--ctverec { aspect-ratio:1/1; }
.fotka--portret { aspect-ratio:3/4; }

.mrizka { display:grid; gap:calc(var(--k)*3); margin-top:calc(var(--k)*5); }
@media (min-width:700px)  { .mrizka--2 { grid-template-columns:repeat(2,1fr); } }
@media (min-width:900px)  { .mrizka--3 { grid-template-columns:repeat(3,1fr); }
                            .mrizka--4 { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1100px) { .mrizka--4 { grid-template-columns:repeat(4,1fr); } }

.karta { border-top:2px solid var(--akcent); padding-top:calc(var(--k)*2); }
.karta-cislo { font-family:'Anton',Impact,sans-serif; color:var(--akcent); font-size:.9rem; letter-spacing:.2em; }
.karta h3 { font-family:'Anton',Impact,sans-serif; font-weight:400; text-transform:uppercase;
  font-size:1.35rem; line-height:1.15; margin:calc(var(--k)*1) 0 calc(var(--k)*1.5); }
.karta p { color:var(--tlum); font-size:.9rem; }

.citace { border-left:3px solid var(--akcent); padding:calc(var(--k)*2) calc(var(--k)*2.5);
  background:var(--plocha); font-size:1.1rem; line-height:1.55; }
.citace .kdo { display:block; margin-top:calc(var(--k)*1.5); font-size:.75rem;
  letter-spacing:.1em; color:var(--tlum); }

.pole { display:flex; flex-wrap:wrap; gap:calc(var(--k)*1.5); margin-top:calc(var(--k)*3); }
.pole input[type="email"] {
  flex:1; min-width:240px; font:inherit; font-size:.95rem;
  padding:calc(var(--k)*2); border-radius:12px;
  border:1px solid var(--linka); background:var(--plocha); color:var(--fg);
}
.pole input::placeholder { color:var(--tlum); }
.souhlas { display:flex; gap:calc(var(--k)*1.5); align-items:flex-start;
  margin-top:calc(var(--k)*2); font-size:.8rem; color:var(--tlum); max-width:60ch; }
.souhlas input { margin-top:4px; width:18px; height:18px; accent-color:var(--ohen); }
.past { position:absolute; left:-9999px; }

.paticka { background:var(--uhli); color:var(--papir); border-top:1px solid #2E2822;
  padding:calc(var(--k)*7) 0 calc(var(--k)*4); }
.paticka-mrizka { display:grid; gap:calc(var(--k)*4); }

.paticka-pozn { display:block; color:#6D665E; font-size:.82rem; line-height:1.9; }

.site { display:flex; align-items:center; line-height:1;
  gap:calc(var(--k)*2); margin:calc(var(--k)*4) 0 calc(var(--k)*2); }

.paticka .site a { display:grid; place-items:center; width:44px; height:44px;
  padding:0; border:1px solid #2E2822; border-radius:99px; color:#9A8F80;
  transition:color var(--naj), border-color var(--naj), transform var(--naj); }
.paticka .site a:hover { color:var(--med); border-color:var(--med); transform:translateY(-2px); }

.site svg { width:19px; height:19px; fill:currentColor; display:block; }
@media (min-width:760px) { .paticka-mrizka { grid-template-columns:repeat(3,1fr); } }
.paticka h4 { font-family:'Anton',Impact,sans-serif; font-weight:400; text-transform:uppercase;
  font-size:1rem; letter-spacing:.06em; margin-bottom:calc(var(--k)*2); }

.paticka h4:not(:first-child) { margin-top:calc(var(--k)*4); }

.paticka-logo { display:block; width:clamp(110px, 30vw, 180px); height:auto;
  margin-bottom:calc(var(--k)*2); }
.paticka a { display:block; text-decoration:none; color:var(--neutral); font-size:.85rem;
  padding:3px 0; }
.paticka a:hover { color:var(--med); }

.paticka a.btn { display:inline-block; width:auto;
  margin-top:calc(var(--k)*1.5); padding:calc(var(--k)*1.4) calc(var(--k)*2.6);
  font-size:.72rem; background:var(--med); color:var(--uhli); }
.paticka a.btn:hover { color:var(--uhli);
  box-shadow:0 10px 30px rgba(249,159,27,.22); }
.paticka-spodek { display:flex; flex-wrap:wrap; gap:calc(var(--k)*2); justify-content:space-between;
  margin-top:calc(var(--k)*5); padding-top:calc(var(--k)*3); border-top:1px solid #2E2822;
  color:#6D665E; font-size:.75rem; }

.paticka a.paticka-zazemi { flex:none; display:inline-block; width:auto; margin-left:auto;
  padding:7px 16px; border:1px solid #2E2822; border-radius:99px;
  color:#6D665E; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
  text-decoration:none; white-space:nowrap; }
.paticka a.paticka-zazemi:hover { color:var(--med); border-color:var(--med); }

.paticka-podpis { margin-top:calc(var(--k)*2); color:#6D665E;
  font-size:.72rem; letter-spacing:.04em; }

@media (min-width:900px) {
  .hlava-odkazy { display:flex; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

.seznam { list-style:none; margin-top:calc(var(--k)*3); }
.seznam li { position:relative; padding-left:calc(var(--k)*3.5);
  margin-bottom:calc(var(--k)*2); font-size:.95rem; line-height:1.65; max-width:56ch; }
.seznam li::before { content:''; position:absolute; left:0; top:.72em;
  width:14px; height:2px; background:var(--akcent); }
.seznam li b { color:var(--fg); }
.seznam li { color:var(--tlum); }

.seznam--krizky li::before { content:'✕'; background:none; width:auto; height:auto;
  top:0; font-size:.8rem; color:var(--tlum); line-height:1.85; }

.dokument { max-width:68ch; }
.dokument h2 {
  font-family:'Anton', Impact, sans-serif; font-weight:400; text-transform:uppercase;
  font-size:clamp(1.4rem, 4vw, 2rem); line-height:1.15; letter-spacing:.01em;
  margin:calc(var(--k)*7) 0 calc(var(--k)*2); scroll-margin-top:calc(var(--k)*10);
}
.dokument h3 {
  font-family:'Space Mono', ui-monospace, monospace; font-weight:700;
  font-size:.92rem; letter-spacing:.08em; text-transform:uppercase;
  margin:calc(var(--k)*4) 0 calc(var(--k)*1);
}
.dokument p, .dokument ul, .dokument ol { margin-top:calc(var(--k)*2); font-size:.94rem; line-height:1.8; }
.dokument ul, .dokument ol { padding-left:1.3em; }
.dokument li { margin-top:calc(var(--k)*1); }
.dokument a { color:var(--akcent); text-underline-offset:3px; }
.dokument b, .dokument strong { color:var(--fg); }

.obsah { margin-top:calc(var(--k)*4); padding:calc(var(--k)*3);
  background:var(--plocha); border:1px solid var(--linka); border-radius:14px; }
.obsah ol { margin-top:calc(var(--k)*1); }
.obsah li { color:var(--tlum); }
.obsah a { color:var(--fg); text-decoration:none; border-bottom:1px solid var(--linka); }
.obsah a:hover { color:var(--akcent); border-color:var(--akcent); }

.udaj { border-top:1px solid var(--linka); padding:calc(var(--k)*2.5) 0; }
.udaj:last-of-type { border-bottom:1px solid var(--linka); }
.udaj-nazev { font-weight:700; }
.udaj-radek { display:flex; flex-wrap:wrap; gap:calc(var(--k)*.5) calc(var(--k)*1.5);
  font-size:.86rem; margin-top:calc(var(--k)*1); color:var(--tlum); }
.udaj-stitek { flex:0 0 auto; min-width:11ch; letter-spacing:.06em;
  text-transform:uppercase; font-size:.72rem; padding-top:2px; }
.udaj-hodnota { flex:1 1 22ch; color:var(--fg); }

.lista-souhlas {
  --akcent:var(--med); --fg:var(--papir); --tlum:var(--neutral);
  position:fixed; z-index:80; left:calc(var(--k)*2); right:calc(var(--k)*2);
  bottom:calc(var(--k)*2); max-width:520px;
  background:var(--uhli-svit); color:var(--papir);
  border:1px solid #3A332C; border-radius:18px;
  padding:calc(var(--k)*3); box-shadow:0 18px 50px rgba(0,0,0,.5);
}
.lista-nadpis { font-family:'Anton', Impact, sans-serif; text-transform:uppercase;
  font-size:1.25rem; line-height:1.15; }
.lista-text { font-size:.84rem; line-height:1.65; color:var(--neutral);
  margin-top:calc(var(--k)*1.5); }
.lista-text a { color:var(--med); }
.lista-volby { margin-top:calc(var(--k)*2.5); display:grid; gap:calc(var(--k)*1.5); }

.lista-volby[hidden] { display:none; }
.lista-volby label { display:flex; gap:calc(var(--k)*1.5); align-items:flex-start;
  font-size:.8rem; line-height:1.55; color:var(--neutral); cursor:pointer; }
.lista-volby b { color:var(--papir); }
.lista-volby input { margin-top:3px; width:18px; height:18px; flex:none; accent-color:var(--med); }
.lista-tlacitka { display:flex; flex-wrap:wrap; gap:calc(var(--k)*1.5);
  margin-top:calc(var(--k)*3); }
.btn--rovny { flex:1 1 150px; background:var(--papir); color:var(--uhli); }
.btn--rovny:hover { transform:translateY(-2px); box-shadow:0 10px 30px rgba(0,0,0,.35); }
.lista-vic { display:block; margin:calc(var(--k)*2) auto 0; background:none; border:0;
  font:inherit; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--neutral); text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.lista-vic:hover { color:var(--med); }

.galerie {
  display:grid; gap:calc(var(--k)*3);
  grid-template-columns:repeat(2,1fr);
  margin-top:calc(var(--k)*6);
}
@media (min-width:900px) { .galerie { grid-template-columns:repeat(3,1fr); } }

.dlazdice {
  position:relative; display:block; overflow:hidden;
  aspect-ratio:1/1;
  border-radius:14px; background:var(--plocha);
  text-decoration:none; color:inherit;
  transition:transform var(--naj), box-shadow var(--naj);
}
.dlazdice img { width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.2,.7,.3,1); }

.dlazdice::after {
  content:''; position:absolute; inset:0; border-radius:inherit;
  border:2px solid transparent; transition:border-color var(--naj);
}

a.dlazdice:hover { transform:translateY(-3px); box-shadow:0 14px 34px rgba(0,0,0,.45); }
a.dlazdice:hover img { transform:scale(1.06); }
a.dlazdice:hover::after { border-color:var(--akcent); }
.dlazdice:focus-visible { outline-offset:4px; }

.dlazdice--misto {
  display:grid; place-items:center; text-align:center;
  border:1px dashed var(--linka); background:var(--plocha);
  color:var(--tlum); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  padding:calc(var(--k)*2);
}
.dlazdice--misto:hover { transform:none; box-shadow:none; }

@media (prefers-reduced-motion: reduce) {
  .dlazdice, .dlazdice img { transition:none; }
  .dlazdice:hover { transform:none; }
  .dlazdice:hover img { transform:none; }
}

.zpravy { margin-top:calc(var(--k)*5); border-top:1px solid var(--linka); }
.zprava {
  display:block; text-decoration:none; color:var(--fg);
  padding:calc(var(--k)*4) 0; border-bottom:1px solid var(--linka);
  transition:padding-left var(--naj);
}
.zprava:hover { padding-left:calc(var(--k)*1.5); }
.zprava-hlava { display:flex; flex-wrap:wrap; align-items:center; gap:calc(var(--k)*1.5); }
.zprava-datum { font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--tlum); }

.zprava-stitek {
  font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; font-weight:700;
  color:var(--bg); background:var(--akcent); border-radius:99px;
  padding:3px calc(var(--k)*1.25);
}
.zprava-nazev {

  display:block;
  font-family:'Anton', Impact, sans-serif; font-weight:400; text-transform:uppercase;
  font-size:clamp(1.5rem, 5vw, 2.4rem); line-height:1.06;
  margin-top:calc(var(--k)*1.5);
  transition:color var(--naj);
}
.zprava:hover .zprava-nazev { color:var(--akcent); }
.zprava-perex { display:block; color:var(--tlum); font-size:.92rem; max-width:62ch; margin-top:calc(var(--k)*1.5); }
.zprava-vic { display:inline-block; margin-top:calc(var(--k)*2);
  font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--akcent); }

@media (prefers-reduced-motion: reduce) {
  .zprava:hover { padding-left:0; }
}

.pas-fotek {
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  scroll-snap-type:x proximity;
  margin-top:calc(var(--k)*4);
  -webkit-overflow-scrolling:touch;
}
.pas-fotek::-webkit-scrollbar { display:none; }

.pas-fotek-stopa {
  display:flex; gap:calc(var(--k)*2);
  width:max-content;
  padding:0 calc(var(--k)*2);
}

.pas-fotek .dlazdice {
  flex:0 0 auto;
  width:clamp(140px, 20vw, 210px);
  scroll-snap-align:center;
}

@supports (mask-image: linear-gradient(90deg, transparent, #000)) {
  .pas-fotek {
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
            mask-image:linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
  }
}
