/* Cura da Floresta — sdílený styl podstránek.
   Vychází z hlavní stránky: stejné barvy, stejná písma, stejné odsazení. */
:root{
  --zelena:#1F3C36; --krem:#FFF2D9; --oranzova:#ED6E2C;
  --oranzova-text:#F08851; --zluta:#F8BC4C; --tmava:#16302B;
  --linka:rgba(255,242,217,.14);
  --grotesk:"Space Grotesk","Helvetica Neue",Arial,sans-serif;
  --sora:"Sora","Helvetica Neue",Arial,sans-serif;
  --sirka:1140px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--zelena);color:var(--krem);font-family:var(--grotesk);
  font-size:19px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
[hidden]{display:none!important}
a{color:var(--oranzova-text);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--zluta);outline-offset:3px;border-radius:3px}
h1,h2,h3{line-height:1.12;margin:0;font-weight:700}
h1{font-size:clamp(2.1rem,5vw,3.3rem)}
h2{font-size:clamp(1.5rem,3vw,2.1rem)}
h3{font-size:1.18rem}
p{margin:0 0 1em}
.obal{width:100%;max-width:var(--sirka);margin:0 auto;padding:0 20px}
[id]{scroll-margin-top:92px}
.preskocit{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--oranzova);
  color:var(--zelena);font-family:var(--sora);font-size:13px;font-weight:700;
  padding:12px 18px;border-radius:25px}
.preskocit:focus{left:16px}
.nadtitulek{font-family:var(--sora);font-weight:700;font-size:14px;letter-spacing:2.2px;
  line-height:1;text-transform:uppercase;color:var(--oranzova-text);margin:0 0 14px}

/* hlavička */
.hlavicka{position:sticky;top:0;z-index:30;background:rgba(31,60,54,.96);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--linka)}
.hlavicka .obal{display:flex;align-items:center;gap:18px;height:72px}
.hlavicka img{width:44px;height:44px}
.hlavicka .obal>a:first-child{display:flex;flex:none;min-width:44px;min-height:44px;align-items:center}
.hlavicka nav{display:flex;gap:20px;margin-left:auto;font-family:var(--sora);
  font-size:12px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}
.hlavicka nav a{color:var(--krem);opacity:.8}
.hlavicka nav a:hover,.hlavicka nav a[aria-current]{opacity:1;color:var(--oranzova-text);text-decoration:none}
@media(max-width:1024px){.hlavicka nav{display:none}}
.jazyky{display:flex;align-items:center;gap:10px;font-family:var(--sora);
  font-size:13px;font-weight:700;letter-spacing:1px;margin-left:auto}
@media(min-width:1025px){.hlavicka nav+.jazyky{margin-left:0}}
.jazyky button{font:inherit;letter-spacing:inherit;background:none;border:0;
  padding:12px 12px;min-height:44px;min-width:44px;cursor:pointer;color:rgba(255,242,217,.5)}
.jazyky button[aria-pressed=true]{color:var(--oranzova-text)}
.jazyky .delic{width:1px;height:12px;background:rgba(255,242,217,.3)}
.cta{background:var(--oranzova);color:var(--zelena);font-family:var(--sora);font-weight:700;
  font-size:12px;letter-spacing:1.5px;text-transform:uppercase;padding:13px 18px;
  border-radius:25px;white-space:nowrap;display:inline-flex;align-items:center;min-height:44px}
.cta:hover{background:#f2814a;text-decoration:none}

/* obsah */
.uvodni{padding:72px 0 8px}
.uvodni .perex{font-size:1.16rem;max-width:44em;opacity:.94}
main section{padding:34px 0}
main .obal>*{max-width:44em}
.seznam{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:18px;max-width:44em}
.seznam li{border-left:2px solid var(--oranzova);padding-left:18px}
.seznam b{display:block;font-size:1.02rem;margin-bottom:3px}
.seznam span{opacity:.86;font-size:.97rem}
figure{margin:26px 0 0;max-width:100%}
figure img{border-radius:18px;box-shadow:0 8px 26px rgba(0,0,0,.35)}
figcaption{font-size:.92rem;opacity:.68;margin-top:8px}
.pas{height:22px;margin:52px 0;background:repeating-linear-gradient(90deg,
  var(--zelena) 0 18px,var(--zluta) 18px 24px,var(--zelena) 24px 30px,
  var(--oranzova) 30px 36px,var(--zelena) 36px 54px);opacity:.8}

/* otázky a odpovědi */
details{border-bottom:1px solid var(--linka);max-width:44em}
details summary{cursor:pointer;list-style:none;padding:18px 34px 18px 0;position:relative;
  font-weight:700;font-size:1.03rem;min-height:44px;display:flex;align-items:center}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"";position:absolute;right:6px;top:50%;width:9px;height:9px;
  border-right:2px solid var(--oranzova-text);border-bottom:2px solid var(--oranzova-text);
  transform:translateY(-70%) rotate(45deg);transition:transform .2s}
details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
details .odpoved{padding:0 0 20px;opacity:.92}
details .odpoved :last-child{margin-bottom:0}
.skupina{margin-top:34px}
.skupina>h3{font-family:var(--sora);font-size:13px;letter-spacing:2px;text-transform:uppercase;
  color:var(--oranzova-text);margin:0 0 6px}

/* kontakt */
.kontakty{display:grid;gap:14px;margin:26px 0 0;max-width:44em}
.kontakty a{display:flex;align-items:center;gap:14px;background:var(--tmava);
  border:1px solid var(--linka);border-radius:16px;padding:18px 20px;color:var(--krem);
  min-height:44px}
.kontakty a:hover{border-color:var(--oranzova);text-decoration:none}
.kontakty .stitek{font-family:var(--sora);font-size:12px;letter-spacing:1.4px;
  text-transform:uppercase;opacity:.6;display:block}
.kontakty .hodnota{font-size:1.04rem}

/* patička */
.paticka{border-top:1px solid var(--linka);margin-top:64px;padding:40px 0 56px;font-size:1rem}
.paticka .obal{display:grid;gap:26px}
.paticka nav{display:flex;flex-wrap:wrap;gap:2px 20px;font-family:var(--sora);
  font-size:12px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}
/* odkazy v patičce musí jít trefit prstem, ne jen myší */
.paticka nav a{color:var(--krem);opacity:.8;display:inline-flex;align-items:center;
  min-height:44px;padding:2px 0}
.paticka .drobne{opacity:.62;font-size:.9rem;display:flex;flex-wrap:wrap;
  align-items:center;gap:0 20px}
.paticka .drobne a{display:inline-flex;align-items:center;min-height:44px}
.paticka .drobne>span{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:640px){body{font-size:18px}.uvodni{padding:48px 0 4px}}
/* Uzka hlavicka. .cta ma white-space:nowrap, takze ji flex-shrink nezmensi a radek
   pretekal (8 px pri 390, 41 px pri 320). min-width:0 ji zmensitelnou udela,
   ellipsis je pojistka pod 360 px; mensi gap a padding drzi text cely az k 360 px. */
.hlavicka .cta{min-width:0;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:16px}
@media(max-width:640px){.hlavicka .obal{gap:12px}
  .hlavicka .jazyky{gap:2px}
  .hlavicka .cta{padding:14px 12px;letter-spacing:.6px;font-size:11px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Kapewë Pukeni jde přes celou šířku, ne jen přes sloupec textu.
   Je to kresba, ne fotka, tak nemá stín ani zaoblení jako fotografie. */
main .obal>.kapewe{margin:34px 0 0;max-width:none;width:100%}
.kapewe img{width:100%;height:auto;border-radius:0;box-shadow:none;background:var(--zelena)}
@media(min-width:900px){
  main .obal>.kapewe{width:min(100vw - 40px, 1180px);
    margin-left:calc(50% - min(50vw - 20px, 590px))}
}

/* ---------- nadcházející cesty ----------
   Stejný blok jako na hlavní stránce. Na WordPressu stál hned pod úvodem,
   proto ho build.py vkládá před texty, ne za ně. */
.cesty-sekce{position:relative;padding:78px 20px 92px;margin-top:44px;
  background-image:url("/assets/img/cesty-sekce.jpg");background-position:bottom center;
  background-size:cover;background-attachment:fixed;text-align:center;isolation:isolate}
.cesty-sekce::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(31,60,54,.58) 0%,var(--zelena) 100%)}
.cesty-sekce .obal{display:flex;flex-direction:column;align-items:center}
.cesty-srdce{width:158px;margin:0 auto 22px}
.cesty-sekce h2{font-size:clamp(1.6rem,3.2vw,2.2rem);margin:0 0 6px}
.cesty-mrizka{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;width:100%;
  margin-top:36px;align-items:stretch}
.cesta{display:flex;flex-direction:column;gap:13px;padding:30px 28px;border-radius:25px;
  background:rgba(255,242,217,.05);text-align:left}
.cesta__termin{font-family:var(--sora);font-weight:700;font-size:12px;letter-spacing:1.8px;
  line-height:1;text-transform:uppercase;color:#F39E72}
.cesta__nazev{font-size:1.26rem;line-height:1.15;margin:0;min-height:2.3em}
.cesta__misto{margin:0;font-size:1rem;line-height:1.3;color:rgba(255,242,217,.75)}
.stav{align-self:flex-start;margin-top:2px;font-family:var(--sora);font-weight:700;
  font-size:11px;letter-spacing:1.6px;line-height:1;text-transform:uppercase;
  padding:9px 15px;border-radius:25px}
.stav--plno{background:rgba(255,242,217,.10);color:rgba(255,242,217,.85)}
.stav--volno{background:rgba(255,242,217,.14);color:var(--krem)}
.odkaz-sipka{display:inline-flex;align-items:center;min-height:44px;font-family:var(--sora);
  font-weight:700;font-size:13px;letter-spacing:1.95px;line-height:1;text-transform:uppercase;
  color:var(--oranzova-text)}
.odkaz-sipka:hover{opacity:.75;text-decoration:none}
.odkaz-sipka--krem{color:var(--krem)}
.cesta .odkaz-sipka{margin-top:auto;padding-top:16px}
.cesty-dolu{margin-top:30px}
/* zvýrazněný termín: jediný, na který se dá teď přihlásit */
.cesta--hlavni{position:relative;overflow:hidden;isolation:isolate;background:var(--zluta);
  box-shadow:1px 6px 18px 0 rgba(0,0,0,.42);color:var(--zelena)}
.cesta--hlavni::before{content:"";position:absolute;inset:0;z-index:-1;
  background-image:url("/assets/img/37.png");background-position:bottom center;
  background-size:cover;opacity:.17}
.cesta--hlavni .cesta__termin{color:var(--zelena)}
.cesta--hlavni .cesta__misto{color:rgba(31,60,54,.82)}
.cesta--hlavni .stav{background:var(--krem);color:var(--zelena)}
.cesta--hlavni .odkaz-sipka{color:var(--zelena)}
.cesta--hlavni .odkaz-sipka:hover{opacity:.7}

/* ---------- přihláška k newsletteru ---------- */
.newsletter{padding:56px 0 20px}
.newsletter .obal{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.newsletter h2{font-size:clamp(1.3rem,2.4vw,1.7rem);line-height:1.15;margin:0 0 20px;
  max-width:486px;text-wrap:balance}
.newsletter p{margin:0;max-width:486px}
.formular-obal{position:relative;padding:60px 0;isolation:isolate}
.formular-obal::before{content:"";position:absolute;left:0;right:0;top:0;height:100%;
  background-image:url("/assets/img/formular-obal.png");background-repeat:no-repeat;
  background-position:center top;background-size:contain;opacity:.9;z-index:-1}
.formular{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.formular input{grid-column:span 1;min-width:0;height:48px;border:0;border-radius:25px;
  background:var(--krem);color:#B4470E;font-family:var(--grotesk);font-size:18px;padding:0 20px}
.formular input::placeholder{color:#B4470E;opacity:1}
.formular button{grid-column:1 / -1;min-height:48px;border:0;border-radius:25px;
  background:var(--oranzova);color:var(--zelena);font-family:var(--sora);font-weight:700;
  font-size:14px;letter-spacing:2.6px;text-transform:uppercase;cursor:pointer;
  transition:background-color .25s ease}
.formular button:hover{background:#f2814a}
.souhlas{grid-column:1 / -1;margin:6px 0 0;text-align:center;font-size:14px;line-height:1.4}
.souhlas a{color:var(--krem);text-decoration:underline;display:inline-block;
  padding:9px 0;min-height:44px}

@media (max-width:900px){
  .cesty-mrizka{grid-template-columns:1fr;gap:18px}
  .cesty-sekce{background-attachment:scroll;padding:60px 20px 70px}
  .newsletter .obal{grid-template-columns:1fr;gap:28px}
  .formular{grid-template-columns:1fr}
  .formular-obal{padding:40px 0}
  /* stejné zvětšení drobného písma jako na hlavní stránce */
  .cesta__termin{font-size:14px}
  .stav{font-size:12px;padding:6px 13px}
}

/* Podstránky mají texty v úzkém sloupci (main .obal>* {max-width:44em}).
   Tyhle dva bloky jsou ale mřížky přes celou šířku, takže to musí přebít. */
main .cesty-sekce .obal>*,
main .newsletter .obal>*{max-width:none}
main .newsletter h2,main .newsletter p{max-width:486px}

/* ---------- mobilní menu ----------
   Nad 880 px jsou odkazy přímo v hlavičce, pod tím je nahradí zásuvka.
   Bez ní se z podstránky na telefonu nedalo přejít nikam než přes patičku. */
.menu-spinac{display:none;align-items:center;gap:10px;background:none;border:0;
  cursor:pointer;padding:6px;min-width:46px;min-height:46px;color:var(--oranzova-text);
  font-family:var(--sora);font-weight:700;font-size:14px;letter-spacing:.6px;line-height:1}
.menu-spinac svg{width:24px;height:24px;fill:currentColor}
@media(max-width:1024px){.menu-spinac{display:flex}}
@media(max-width:520px){.menu-spinac span{display:none}}
.zaclona{position:fixed;inset:0;background:rgba(31,60,54,.55);opacity:0;
  pointer-events:none;transition:opacity .35s ease;z-index:70}
.zaclona.otevreno{opacity:1;pointer-events:auto}
.zasuvka{position:fixed;top:0;right:0;bottom:0;width:min(600px,100%);background:var(--zelena);
  z-index:80;transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;overflow-y:auto;padding:20px 45px 40px;
  visibility:hidden}
.zasuvka.otevreno{transform:translateX(0);visibility:visible}
.zasuvka-vrch{display:flex;justify-content:flex-end}
.zavrit{background:none;border:1px solid var(--krem);color:var(--krem);
  min-width:44px;min-height:44px;font-size:18px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;border-radius:6px}
.zasuvka-pas{height:56px;margin:22px -45px 0;background-image:url("/assets/img/pas.png");
  background-repeat:repeat-x;background-position:center center;background-size:auto 100%;opacity:.25}
.zasuvka nav{display:flex;flex-direction:column;align-items:flex-end;gap:6px;
  margin-top:auto;padding-top:40px}
.zasuvka nav a{font-size:23px;color:var(--krem);padding:9px 0;min-height:44px;
  display:inline-flex;align-items:center}
.zasuvka nav a.aktivni,.zasuvka nav a:hover{color:var(--oranzova-text);text-decoration:none}
.zasuvka-spodek{display:flex;flex-direction:column;align-items:flex-end;gap:18px;
  margin:32px 0 auto;padding-bottom:20px}
.zasuvka .jazyky{gap:10px;font-size:14px;margin-left:0}
@media(max-width:520px){.zasuvka{padding:20px 24px 30px}.zasuvka-pas{margin:22px -24px 0}}

/* Pod 600 px se tlačítko do hlavičky vedle MENU nevejde a ořezávalo se na
   „PROSINCOVÁ …“. Stejně jako na hlavní stránce ho tam schováme, v zásuvce
   zůstává celé. */
@media(max-width:600px){.hlavicka .cta{display:none}}
