/* Retro pivnice — Brutalistní pivnice. Vzhled řídí dna.json, ne ruka. */
:root{
  --pozadi:#14120f; --text:#f0ebe3; --akcent:#503030; --akcent-text:#917e7e; --na-akcentu:#ffffff;
  --akcent-jemny:#2f1f1d;
  --povrch:#1f1d1b; --linka:#44413d; --tlumene:#a9a59f;
  --tecka1:#3b2524; --tecka2:#6c6863;
  --radius:0; --mezera:3.2rem; --mezera-m:1.4rem;
  --nadpisy:'Vollkorn',Georgia,serif; --text-font:'Sen',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--pozadi); color:var(--text);
  font-family:var(--text-font); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
  background-image:none; background-attachment:fixed;
}
h1,h2,h3{font-family:var(--nadpisy);text-transform:uppercase;letter-spacing:-.02em;font-weight:900;margin:0 0 .5em;line-height:1.1}
h1{font-size:clamp(2.1rem,6.4vw,4.1rem)}
h2{font-size:clamp(1.5rem,3.4vw,2.3rem)}
p{margin:0 0 1rem}
a{color:var(--akcent-text)}
img{display:block;max-width:100%;height:auto}
.obal{width:min(1080px,92vw);margin:0 auto}
.sekce{padding:var(--mezera) 0;border-top:6px solid var(--akcent)}
.sekce:first-of-type{border-top:0}
.drobne{font-size:.82rem;color:var(--tlumene);margin-top:1rem}
.uvod{padding-bottom:0;border-top:0}
.perex{font-size:clamp(1.06rem,2.1vw,1.32rem);line-height:1.55;max-width:62ch;margin:0}

/* hlavička */
.hlavicka{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--pozadi) 92%,transparent);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--linka)}
.hlavicka .obal{display:flex;align-items:center;justify-content:space-between;
  gap:1rem;padding:.7rem 0;flex-wrap:wrap}
.znacka{font-family:var(--nadpisy);font-weight:700;text-decoration:none;color:var(--text);
  font-size:1.06rem;text-transform:uppercase;letter-spacing:-.02em;font-weight:900}
.menu{display:flex;gap:1.1rem;flex-wrap:wrap}
.menu a{color:var(--text);text-decoration:none;font-size:.9rem;opacity:.82}
.menu a:hover{opacity:1;text-decoration:underline}

/* tlačítka */
.akce{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.4rem}
.btn{display:inline-block;padding:.72em 1.3em;text-decoration:none;
  border-radius:var(--radius);font-size:.96rem;border:0;background:var(--akcent);color:var(--na-akcentu);font-weight:700;}
.btn:hover{filter:brightness(1.08)}
.btn-druhy{background:transparent;color:var(--text);border:1px solid var(--linka)}

/* hero */
.hero{position:relative}
.hero .nadhlavek{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--tlumene);margin-bottom:.7rem}
.hero-full{min-height:min(78vh,620px);display:grid}
.hero-full .hero-foto{grid-area:1/1;width:100%;height:100%;object-fit:cover;
  min-height:min(78vh,620px)}
.hero-full .hero-obsah{grid-area:1/1;align-self:end;padding:var(--mezera-m) 4vw;
  width:min(1080px,92vw);margin:0 auto;color:#fff;
  background:linear-gradient(transparent,rgba(0,0,0,.72))}
.hero-full .hero-obsah .nadhlavek{color:rgba(255,255,255,.8)}
.hero-split{display:grid;gap:0;align-items:stretch}
.hero-split .hero-text{padding:var(--mezera) 4vw;width:min(560px,92vw);margin-left:auto}
.hero-split .hero-obraz img{width:100%;height:100%;object-fit:cover;min-height:320px}
.hero-typo{padding:var(--mezera) 0;width:min(1080px,92vw);margin:0 auto}
.hero-typo h1{max-width:16ch}
.hero-mozaika{padding:var(--mezera-m) 0}
.hero-mozaika .mozaika{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;
  width:min(1180px,96vw);margin:0 auto}
.hero-mozaika .dlazdice img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;
  border-radius:var(--radius)}
.hero-mozaika .d1{grid-column:span 2;grid-row:span 2}
.hero-mozaika .d1 img{aspect-ratio:1/1}
.hero-mozaika .hero-text{width:min(1080px,92vw);margin:var(--mezera-m) auto 0}
.hero-pas .pas img{width:100%;height:clamp(180px,32vh,320px);object-fit:cover}
.hero-pas .hero-text{width:min(1080px,92vw);margin:0 auto;padding:var(--mezera-m) 0}
.hero-karta{display:grid}
.hero-karta .hero-foto{grid-area:1/1;width:100%;height:min(72vh,560px);object-fit:cover}
.hero-karta .karta{grid-area:1/1;align-self:center;justify-self:start;
  width:min(560px,88vw);margin:0 4vw;background:var(--pozadi);
  padding:2rem;border-radius:var(--radius);border:1px solid var(--linka)}

/* otevírací doba */
.dny{display:grid;grid-template-columns:1fr;gap:0;margin:0}
.den{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;
  border-bottom:1px solid var(--linka)}
.den dt{font-weight:600;margin:0}
.den dd{margin:0;font-variant-numeric:tabular-nums;text-align:right}

/* co tu je */
.odrazky{list-style:none;padding:0;margin:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.6rem}
.odrazky li{background:var(--povrch);border:1px solid var(--linka);
  border-radius:var(--radius);padding:.75rem 1rem;font-size:.95rem}

/* galerie */
.galerie-mriz{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.7rem}
.galerie-mriz figure{margin:0}
.galerie-mriz img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.galerie-asym{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.galerie-asym figure{margin:0}
.galerie-asym img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius);
  aspect-ratio:1/1}
.galerie-asym figure:first-child{grid-column:span 2;grid-row:span 2}
.galerie-asym figure:first-child img{aspect-ratio:1/1}

/* recenze */
.citaty{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.citaty blockquote{margin:0;background:var(--povrch);border:1px solid var(--linka);
  border-radius:var(--radius);padding:1.2rem}
.citaty p{font-size:.95rem}
.hvezdy{color:var(--akcent-text);letter-spacing:.12em;margin-bottom:.4rem}
.citaty footer{font-size:.8rem;color:var(--tlumene)}

/* kontakt */
.polozky{margin:0}
.polozka{display:flex;gap:1rem;justify-content:space-between;padding:.6rem 0;
  border-bottom:1px solid var(--linka)}
.polozka dt{font-weight:600;margin:0}
.polozka dd{margin:0;text-align:right}

/* podpisové prvky */
.pas-cisel{background:var(--povrch);border-top:6px solid var(--akcent);border-bottom:1px solid var(--linka)}
.pas-cisel .obal{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:1rem;padding:1.7rem 0;text-align:center}
.pas-cisel strong{display:block;font-family:var(--nadpisy);font-size:2rem;line-height:1}
.pas-cisel span{font-size:.8rem;color:var(--tlumene)}
.marquee{overflow:hidden;background:var(--akcent);color:var(--na-akcentu);padding:.6rem 0}
.marquee-obsah{display:flex;gap:3rem;white-space:nowrap;width:max-content;
  animation:jede 26s linear infinite;font-size:.86rem;letter-spacing:.08em}
@keyframes jede{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-obsah{animation:none}}
.widget-otevreno{background:var(--povrch);border-bottom:1px solid var(--linka)}
.widget-otevreno p{margin:0;padding:.75rem 0;font-size:.92rem;font-weight:600}
/* Zvýraznění musí ležet POD písmem, ne přes něj. Plná akcentní barva od 62 %
   výšky řádku přejela dolní dotažnice a vypadalo to jako přeškrtnutí — proto
   světlejší odstín a začátek až pod účařím. */
.podtrh mark{background:linear-gradient(transparent 74%,var(--akcent-jemny) 74%);
  color:inherit;padding:0 .12em}
.bocni{position:fixed;right:.9rem;top:50%;transform:translateY(-50%);z-index:30;
  display:none;flex-direction:column;gap:.55rem}
.bocni a span{display:block;width:9px;height:9px;border-radius:50%;
  background:var(--linka);border:1px solid var(--tlumene)}
.bocni a:hover span{background:var(--akcent)}
@media(min-width:1100px){.bocni{display:flex}}

/* patička */
.paticka{border-top:6px solid var(--akcent);padding:2.2rem 0;font-size:.84rem;color:var(--tlumene)}
.paticka a{color:var(--tlumene)}

@media(min-width:900px){
  .hero-split{grid-template-columns:1fr 1fr}
  .hero-split .hero-text{margin-left:0;padding-left:6vw}
  .dny{grid-template-columns:1fr 1fr;column-gap:2.6rem}
}
@media(max-width:560px){
  body{font-size:16px}
  .hero-mozaika .mozaika{grid-template-columns:repeat(2,1fr)}
  .galerie-asym{grid-template-columns:repeat(2,1fr)}
  .den,.polozka{flex-direction:column;gap:.1rem}
  .den dd,.polozka dd{text-align:left}
}
.sekce{position:relative}
.sekce h2{font-size:clamp(2.2rem,7vw,4.4rem);line-height:.95}
