@font-face{font-family:'Shrikhand';font-style:normal;font-weight:400;font-display:swap;src:url(pismo/shrikhand-400.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:400;font-display:swap;src:url(pismo/outfit-400.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:500;font-display:swap;src:url(pismo/outfit-500.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:600;font-display:swap;src:url(pismo/outfit-600.woff2) format('woff2')}

:root{
  --podklad:#FDE7DF;
  --podklad-2:#FFF5F0;
  --text:#3B1F14;
  --text-tlumeny:#6B4334;
  --akcent:#EF6A2E;
  --na-akcentu:#3B1F14;
  --horcice:#E2A72E;
  --malina:#D63A6A;
  --tmavy:#3B1F14;
  --na-tmavem:#FDE7DF;
  --inkoust:#3B1F14;
  --linka:#E9B9A6;
  --fokus:#D63A6A;
  --nadpis:'Shrikhand', 'Georgia', serif;
  --pismo:'Outfit', system-ui, sans-serif;
  --kontejner:1200px;
  --oble:22px;
  --vyska-hlavicky:132px;
}
@media (min-width:1240px){ :root{ --vyska-hlavicky:84px; } }

*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(var(--vyska-hlavicky) + 16px)}
@media (prefers-reduced-motion:no-preference){ html{scroll-behavior:smooth} }
body{margin:0;background:var(--podklad);color:var(--text);font:400 17px/1.6 var(--pismo);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:var(--akcent)}
a:hover{text-decoration-color:var(--malina)}
:focus-visible{outline:3px solid var(--fokus);outline-offset:3px;border-radius:8px}
h1,h2,h3,h4{margin:0;font-weight:400;line-height:1.15}
h1,h2,h3{font-family:var(--nadpis);letter-spacing:.005em}
h2{font-size:clamp(26px,1.4rem + .6vw,34px)}
h3{font-size:22px}
p{margin:0}
svg{width:1em;height:1em;fill:currentColor;flex:none}
.kontejner{width:100%;max-width:var(--kontejner);margin-inline:auto;padding-inline:max(16px,3vw)}
@media (min-width:1260px){ .kontejner{padding-inline:0} }

/* retro pruhy: tři tenké souběžné linky */
.pruhy{height:14px;background:linear-gradient(to bottom,var(--akcent) 0 3px,transparent 3px 5.5px,var(--horcice) 5.5px 8.5px,transparent 8.5px 11px,var(--malina) 11px 14px)}
.pruhy--siroky{margin:0}

/* tlačítka */
.tl{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;font-weight:600;font-size:17px;text-decoration:none;white-space:nowrap;border:2px solid transparent}
.tl svg{width:20px;height:20px}
.tl--hlavni{background:var(--akcent);color:var(--na-akcentu);box-shadow:0 4px 0 var(--text)}
.tl--hlavni:hover{background:#F47E48}
.tl--druhe{border-color:var(--text);color:var(--text);background:transparent}
.tl--druhe:hover{background:var(--podklad-2)}
@media (prefers-reduced-motion:no-preference){
  .tl{transition:transform .2s,box-shadow .2s,background-color .2s}
  .tl--hlavni:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--text)}
}

/* hlavička a kapsle */
.hlavicka{position:sticky;top:0;z-index:50;background:var(--podklad)}
.hlavicka__radek{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 16px;max-width:calc(var(--kontejner) + 48px);margin-inline:auto;padding:10px max(16px,3vw)}
.logo{font-family:var(--nadpis);font-size:26px;line-height:1.2;text-decoration:none;color:var(--text);white-space:nowrap}
.hlavicka__volat{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;background:var(--akcent);color:var(--na-akcentu);font-weight:600;text-decoration:none;white-space:nowrap}
.hlavicka__volat svg{width:18px;height:18px}
.logo{grid-row:1;grid-column:1}
.hlavicka__volat{grid-row:1;grid-column:2;justify-self:end}
.kapsle{grid-row:2;grid-column:1 / -1;justify-self:center;position:relative;display:flex;max-width:100%;padding:4px;overflow-x:auto;scrollbar-width:none;border-radius:999px;background:var(--podklad-2);box-shadow:inset 0 0 0 2px var(--linka)}
.kapsle::-webkit-scrollbar{display:none}
.kapsle a{position:relative;z-index:1;display:flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;white-space:nowrap;color:inherit;text-decoration:none;font-weight:600;font-size:16px}
.kapsle a:hover{color:var(--malina)}
.kapsle a[aria-current]{color:var(--na-tmavem)}
.kapsle__jezdec{position:absolute;top:4px;bottom:4px;left:0;width:var(--menu-jezdec-w,0);translate:var(--menu-jezdec-x,0) 0;border-radius:999px;background:var(--inkoust)}
@media (prefers-reduced-motion:no-preference){
  .kapsle__jezdec{transition:translate .35s cubic-bezier(.3,.7,.3,1),width .35s cubic-bezier(.3,.7,.3,1)}
  .kapsle a{transition:color .25s}
}
@media (min-width:1240px){
  .hlavicka__radek{grid-template-columns:1fr auto 1fr}
  .kapsle{grid-column:auto;grid-row:1;grid-column-start:2}
  .logo{grid-row:1;grid-column:1}
  .hlavicka__volat{grid-row:1;grid-column:3;justify-self:end}
}
@media (max-width:899px){
  .hlavicka__radek{padding:8px 16px}
  .kapsle{justify-self:stretch}
  .logo{font-size:22px}
  .hlavicka__volat span{display:none}
  .hlavicka__volat{width:44px;padding:0;justify-content:center}
}

/* úvod U4 */
.u4{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:center;padding:48px max(16px,(100vw - var(--kontejner)) / 2) 56px}
.nadpisek{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:6px 14px;border-radius:999px;background:var(--horcice);color:var(--text);font-weight:600;font-size:16px}
.nadpisek svg{width:18px;height:18px}
.u4 h1{font-size:clamp(28px,1.2rem + 2.2vw,48px);line-height:1.15;margin-bottom:18px}
.perex{font-size:18px;color:var(--text-tlumeny);max-width:34em;margin-bottom:26px}
.u4__akce{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:24px}
.stitky{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.stitek{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:4px 14px;border-radius:999px;background:var(--podklad-2);box-shadow:inset 0 0 0 2px var(--linka);font-weight:600;font-size:16px}
.stitek svg{width:16px;height:16px}
.stitek--horcice{background:var(--horcice);box-shadow:none;color:var(--text)}
.stitek--malina{background:var(--malina);box-shadow:none;color:#fff}
.stitek--stav .tecka{width:10px;height:10px;border-radius:50%;background:var(--horcice)}
.stitek--stav[data-otevreno] .tecka{background:#2E9E5B;box-shadow:0 0 0 4px rgba(46,158,91,.22)}
.stitek--stav[data-zavreno] .tecka{background:var(--malina)}
.u4__mrizka{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:clamp(150px,18vw,250px);gap:14px}
.u4__mrizka li{border-radius:var(--oble);overflow:hidden}
.u4__mrizka li:first-child:nth-last-child(3){grid-row:span 2}
.u4__mrizka img{width:100%;height:100%;object-fit:cover}
@media (max-width:899px){
  .u4{grid-template-columns:1fr;gap:28px;padding:28px 16px 36px}
  .u4__mrizka{grid-auto-rows:150px;gap:8px}
  .u4__mrizka li:first-child:nth-last-child(3){grid-row:auto;grid-column:1 / -1}
  .perex{font-size:17px}
}
@media (max-width:420px){
  .u4__akce .tl{width:100%;white-space:normal;text-align:center}
}

/* páteř katalog */
.katalog{display:grid;grid-template-columns:minmax(200px,3fr) minmax(0,9fr);gap:clamp(32px,4vw,64px);padding-block:clamp(48px,6vw,88px)}
.katalog__seznam{align-self:stretch}
.katalog__seznam > *{position:sticky}
.katalog__titul{top:calc(var(--vyska-hlavicky) + 24px);font-family:var(--nadpis);font-size:20px;margin-bottom:8px}
.katalog__seznam ol{position:sticky;top:calc(var(--vyska-hlavicky) + 64px);list-style:none;margin:0;padding:10px;border-radius:var(--oble);background:var(--podklad-2);box-shadow:inset 0 0 0 2px var(--linka)}
.katalog__seznam a{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border-radius:14px;text-decoration:none;font-weight:500}
.katalog__seznam a svg{width:18px;height:18px;color:var(--akcent)}
.katalog__seznam a:hover{background:var(--podklad)}
.katalog__seznam a[aria-current]{background:var(--horcice);color:var(--text);font-weight:600}
.katalog__seznam a[aria-current] svg{color:var(--text)}
.katalog__obsah{min-width:0}
.oddil + .oddil{margin-top:clamp(56px,7vw,96px);padding-top:clamp(56px,7vw,96px);border-top:3px dotted var(--linka)}
.uvodni{font-size:18px;color:var(--text-tlumeny);max-width:40em;margin-top:10px}
.hlava-oddilu{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}
.razitko{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:var(--malina);color:#fff;font-weight:600;font-size:16px}

/* tento týden */
.tyden__foto{width:100%;aspect-ratio:16 / 7;object-fit:cover;object-position:53% 50%;border-radius:var(--oble);margin-top:24px}
.sezony{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sezona{padding:18px;border-radius:18px;background:var(--podklad-2);box-shadow:inset 0 0 0 2px var(--linka)}
.sezona__nazev{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;color:var(--text-tlumeny);margin-bottom:6px;font-size:16px}
.sezona h3{font-family:var(--pismo);font-weight:600;font-size:19px;line-height:1.3}
.sezona__ted{display:none;padding:2px 10px;border-radius:999px;background:var(--text);color:var(--na-tmavem);font-size:16px}
.sezona[data-aktualni]{background:var(--horcice);box-shadow:none}
.sezona[data-aktualni] .sezona__nazev{color:var(--text)}
.sezona[data-aktualni] .sezona__ted{display:inline-block}
@media (max-width:1100px){ .sezony{grid-template-columns:repeat(2,1fr)} }

/* kategorie */
.kategorie{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:28px;align-items:center;margin-top:36px;padding:16px;border-radius:calc(var(--oble) + 8px);background:var(--podklad-2)}
.kategorie:nth-of-type(even){grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.kategorie:nth-of-type(even) .kategorie__foto{order:2}
.kategorie__foto{width:100%;height:100%;min-height:260px;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--oble)}
.kategorie__text{padding:8px 8px 8px 0}
.kategorie:nth-of-type(even) .kategorie__text{padding:8px 0 8px 8px}
.kategorie h3{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.kategorie h3 svg{width:26px;height:26px;color:var(--akcent)}
.kategorie__text > p{color:var(--text-tlumeny)}
.polozky{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.polozky li{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:4px 14px 4px 6px;border-radius:999px;background:var(--podklad);box-shadow:inset 0 0 0 2px var(--linka)}
.polozky li::before{content:"";width:28px;height:28px;border-radius:50%;background:var(--c);box-shadow:inset 0 -4px 0 rgba(59,31,20,.18),0 0 0 2px var(--text)}
.polozky h4{font-size:16px;font-weight:600}
.mini{padding:1px 8px;border-radius:999px;background:var(--horcice);font-size:16px;font-weight:600}
.kategorie__text > .cena-mala{color:#fff}
.cena-mala{margin-top:14px;display:inline-flex;gap:8px;align-items:baseline;padding:8px 16px;border-radius:999px;background:var(--malina);color:#fff;font-weight:600}
.cena-mala strong{font-size:19px}
@media (prefers-reduced-motion:no-preference){
  .kategorie__foto,.zakazka img{transition:transform .35s ease}
  .kategorie:hover .kategorie__foto,.zakazka:hover img{transform:scale(1.02)}
}
@media (max-width:1100px){
  .kategorie,.kategorie:nth-of-type(even){grid-template-columns:1fr}
  .kategorie:nth-of-type(even) .kategorie__foto{order:0}
  .kategorie__text,.kategorie:nth-of-type(even) .kategorie__text{padding:4px 6px 8px}
  .kategorie__foto{min-height:0}
}

/* ceník: jedna karta */
.cenik{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:40px;align-items:start}
.cenik__text p{color:var(--text-tlumeny);margin-top:12px;max-width:28em}
.cenik__platba{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--text)!important}
.cenik__platba svg{width:22px;height:22px;color:var(--akcent)}
.cenik__foto{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--oble);margin-top:22px}
.karta-ceny{padding:28px;border-radius:28px;background:var(--podklad-2);box-shadow:inset 0 0 0 3px var(--text),8px 8px 0 var(--horcice)}
.karta-ceny__hlavni{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:16px;border-bottom:3px solid var(--akcent)}
.karta-ceny__hlavni span{font-weight:600;font-size:20px}
.karta-ceny__hlavni strong{font-family:var(--nadpis);font-weight:400;font-size:44px;line-height:1.15;color:var(--text)}
.karta-ceny__seznam{list-style:none;margin:8px 0 22px;padding:0}
.karta-ceny__seznam li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:2px dotted var(--linka)}
.karta-ceny__seznam li span:last-child{font-weight:600;white-space:nowrap}
.karta-ceny .tl{width:100%}
@media (max-width:1000px){ .cenik{grid-template-columns:1fr;gap:24px} }
@media (max-width:420px){ .karta-ceny{padding:20px} .karta-ceny__hlavni strong{font-size:36px} }

/* na zakázku */
.zakazky__mrizka{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.zakazka{border-radius:calc(var(--oble) + 6px);background:var(--podklad-2);overflow:hidden;box-shadow:inset 0 0 0 2px var(--linka)}
.zakazka img{width:100%;aspect-ratio:4 / 3;object-fit:cover}
.zakazka__text{padding:20px 22px 24px}
.zakazka h3{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.zakazka h3 svg{width:24px;height:24px;color:var(--malina)}
.zakazka__text > p{color:var(--text-tlumeny)}
.zakazka .od{margin-top:14px;display:inline-block;padding:6px 14px;border-radius:999px;background:var(--horcice);color:var(--text);font-weight:600}
.zakazka .od strong{font-size:19px}
.zakazky__akce{margin-top:22px;font-size:18px;font-weight:500}
.zakazky__akce a{font-weight:600;white-space:nowrap}
@media (max-width:720px){ .zakazky__mrizka{grid-template-columns:1fr} }

/* otevírací doba */
.doba__rozpis{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.doba__rozpis li{display:grid;gap:4px;padding:20px;border-radius:18px;background:var(--podklad-2);box-shadow:inset 0 0 0 2px var(--linka)}
.doba__rozpis svg{width:28px;height:28px;color:var(--akcent);margin-bottom:6px}
.doba__kdy{font-weight:600;color:var(--text-tlumeny)}
.doba__cas{font-family:var(--nadpis);font-size:21px;line-height:1.25}
.doba__rozpis li[data-aktualni]{background:var(--akcent);box-shadow:none}
.doba__rozpis li[data-aktualni] svg,.doba__rozpis li[data-aktualni] .doba__kdy{color:var(--text)}
@media (max-width:1000px){ .doba__rozpis{grid-template-columns:1fr} }

/* otázky */
.otazky__seznam{margin-top:20px;display:grid;gap:10px}
.otazky details{border-radius:18px;background:var(--podklad-2);box-shadow:inset 0 0 0 2px var(--linka)}
.otazky summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 20px;font-weight:600;font-size:18px;cursor:pointer;list-style:none}
.otazky summary::-webkit-details-marker{display:none}
.otazky summary::after{content:"+";display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--horcice);font-size:22px;line-height:1}
.otazky details[open] summary::after{content:"–";background:var(--akcent)}
.otazky details p{padding:0 20px 18px;color:var(--text-tlumeny);max-width:44em}

/* kontakt: fotka místa a údaje */
.kontakt{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:32px;align-items:stretch}
.kontakt__foto{width:100%;height:100%;min-height:380px;object-fit:cover;border-radius:var(--oble)}
.kontakt__udaje{display:flex;flex-direction:column;justify-content:center}
.kontakt__adresa{margin-top:12px;font-size:18px}
.kontakt__kanaly{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}
.kontakt__kanaly li{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:baseline;padding:10px 0;border-bottom:2px dotted var(--linka)}
.kontakt__kanaly span{font-weight:600;color:var(--text-tlumeny);font-size:16px}
.kontakt__kanaly a{font-weight:600;white-space:nowrap}
.kontakt__kanaly li:last-child a{white-space:normal}
.cesta{margin-top:22px;padding:18px 20px;border-radius:18px;background:var(--podklad-2);display:grid;gap:8px}
.cesta h3{font-size:20px}
@media (max-width:1000px){
  .kontakt{grid-template-columns:1fr}
  .kontakt__foto{min-height:0;aspect-ratio:4 / 3}
}
@media (max-width:380px){ .kontakt__kanaly li{grid-template-columns:1fr;gap:2px} }

/* výzva kompaktní */
.vyzva{background:var(--horcice)}
.vyzva__radek{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;padding-block:28px;flex-wrap:wrap}
.vyzva__nadpis{font-family:var(--nadpis);font-size:clamp(22px,1.1rem + .8vw,30px);line-height:1.2}

/* patička */
.paticka{background:var(--tmavy);color:var(--na-tmavem)}
.paticka a{color:var(--na-tmavem);text-decoration-color:var(--horcice)}
.paticka__mrizka{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px;padding-block:52px 36px}
.paticka__logo{font-family:var(--nadpis);font-size:28px;line-height:1.2;margin-bottom:12px}
.paticka__firma p + p{margin-top:8px}
.paticka__mapa{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.paticka__skupina{font-weight:600;color:var(--horcice);margin-bottom:6px}
.paticka__mapa ul{list-style:none;margin:0 0 18px;padding:0}
.paticka__mapa li a{display:inline-flex;align-items:center;min-height:36px;text-decoration:none}
.paticka__mapa li a:hover{text-decoration:underline}
.paticka__spodek{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding-block:20px 28px;border-top:1px solid rgba(253,231,223,.25);font-size:16px}
@media (max-width:899px){
  .paticka__mrizka{grid-template-columns:1fr}
  .paticka__mapa{grid-template-columns:1fr 1fr}
}
@media (max-width:480px){ .paticka__mapa{grid-template-columns:1fr} }

/* katalog na telefonu */
@media (max-width:899px){
  .katalog{grid-template-columns:1fr;gap:20px}
  .katalog__titul{position:static}
  .katalog__seznam ol{position:static;display:flex;flex-wrap:wrap;gap:6px;padding:8px}
  .katalog__seznam a{padding:6px 12px;background:var(--podklad)}
}
