
:root{
  --zelena:#0f3d2e;
  --lime:#c6ff4d;
  --papir:#f6f3ea;
  --ink:#101410;
  --bila:#fffdf6;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:"Sora",Arial,sans-serif;
  background:var(--papir);color:var(--ink);
  font-size:16px;line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--ink)}
.disp{font-family:"Archivo Black","Archivo",Arial,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:1.02}
h2.disp{font-size:clamp(1.7rem,4.4vw,2.9rem)}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}

.vlnka{
  text-decoration:none;padding-bottom:7px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='6' viewBox='0 0 22 6'%3E%3Cpath d='M0 3q2.75-3 5.5 0t5.5 0 5.5 0 5.5 0' fill='none' stroke='%230f3d2e' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat:repeat-x;background-position:0 100%;background-size:22px 6px;
}
.vlnka-lime{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='6' viewBox='0 0 22 6'%3E%3Cpath d='M0 3q2.75-3 5.5 0t5.5 0 5.5 0 5.5 0' fill='none' stroke='%23c6ff4d' stroke-width='2'/%3E%3C/svg%3E");
}

.demo{
  background:var(--zelena);color:#fff;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;
  padding:8px 14px;font-size:14px;line-height:1.35;text-align:center;max-height:60px;overflow:hidden;
}
.demo a{
  background:var(--lime);color:var(--zelena);font-weight:700;text-decoration:none;
  padding:4px 14px;border-radius:999px;font-size:13.5px;white-space:nowrap;
}
.demo a:hover{background:#d7ff7a}

.site-head{position:sticky;top:0;z-index:500;background:var(--papir);border-bottom:3px solid var(--ink)}
.head-in{max-width:1140px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.brand{
  font-family:"Archivo Black",Arial,sans-serif;text-transform:uppercase;font-size:1.02rem;line-height:1;
  background:var(--lime);border:2.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink);
  padding:9px 14px;transform:rotate(-2deg);text-decoration:none;color:var(--ink);display:inline-block;
}
.brand:hover{transform:rotate(0)}
.nav{display:flex;gap:6px 20px;flex-wrap:wrap;align-items:center}
.nav a{font-size:.9rem;font-weight:700;text-decoration:none}
.nav a:not(.cta):hover,.nav a.akt{padding-bottom:7px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='6' viewBox='0 0 22 6'%3E%3Cpath d='M0 3q2.75-3 5.5 0t5.5 0 5.5 0 5.5 0' fill='none' stroke='%230f3d2e' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat:repeat-x;background-position:0 100%;background-size:22px 6px;
}
.nav a.cta{
  background:var(--zelena);color:var(--lime);border:2.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink);
  padding:8px 18px;font-size:.86rem;text-transform:uppercase;
}
.nav a.cta:hover{box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}

.btn{
  display:inline-block;font-family:"Archivo Black",Arial,sans-serif;text-transform:uppercase;font-size:.92rem;
  background:var(--lime);color:var(--ink);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);
  padding:14px 26px;text-decoration:none;cursor:pointer;transition:transform .1s,box-shadow .1s;
}
.btn:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--ink)}
.btn-zelene{background:var(--zelena);color:var(--lime)}
.btn-bile{background:var(--bila)}

.stik{
  display:inline-block;color:var(--ink);font-family:"Archivo Black",Arial,sans-serif;text-transform:uppercase;font-size:.82rem;
  background:var(--lime);border:2.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink);
  padding:7px 16px;transform:rotate(-3.5deg);
}
.stik-zluty{background:#ffd23e;transform:rotate(2.5deg)}
.stik-bily{background:var(--bila);transform:rotate(-1.5deg)}

.hero{padding:58px 0 66px;border-bottom:3px solid var(--ink);background:var(--papir);overflow:hidden}
.hero h1{
  font-family:"Archivo Black",Arial,sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(2.5rem,9.5vw,6.4rem);line-height:.98;letter-spacing:-.01em;margin:22px 0 8px;
}
.hero h1 .obrys{color:var(--papir);-webkit-text-stroke:2.5px var(--ink);text-stroke:2.5px var(--ink)}
.hero-spodek{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;margin-top:34px}
.hero-spodek p{font-size:1.06rem;max-width:52ch;margin-bottom:26px}
.hero-foto{position:relative;justify-self:end;width:min(100%,420px)}
.hero-foto .ram{
  border:3px solid var(--ink);box-shadow:10px 10px 0 var(--zelena);transform:rotate(2deg);
  overflow:hidden;aspect-ratio:3/2;position:relative;
  background:linear-gradient(150deg,#1a5c44 0%,#0f3d2e 60%,#082418 100%);
}
.hero-foto .ram img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.hero-foto .stik{position:absolute;top:-16px;right:-10px;z-index:2}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap}

.pruh{background:var(--zelena);color:var(--lime);border-bottom:3px solid var(--ink);overflow:hidden;white-space:nowrap;padding:10px 0}
.pruh span{display:inline-block;font-family:"Archivo Black",Arial,sans-serif;text-transform:uppercase;font-size:.86rem;letter-spacing:.08em;animation:bezi 26s linear infinite}
@keyframes bezi{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.sec{padding:74px 0}
.sec-hlava{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:36px}
.sec-zelena{background:var(--zelena);color:var(--papir);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.sec-zelena h2{color:var(--lime)}

.listky{display:flex;flex-direction:column;gap:22px;max-width:860px}
.listek{
  position:relative;background:var(--bila);border:3px solid var(--ink);box-shadow:7px 7px 0 var(--ink);
  padding:22px 26px;display:grid;grid-template-columns:96px 1fr auto;gap:8px 24px;align-items:center;
  text-decoration:none;color:var(--ink);transition:transform .1s,box-shadow .1s;
}
.listek:hover{transform:translate(3px,3px);box-shadow:4px 4px 0 var(--ink)}
.listek::before{content:'';position:absolute;top:-3px;right:-3px;border-top:30px solid var(--papir);border-left:30px solid transparent}
.listek::after{content:'';position:absolute;top:-3px;right:-3px;border-bottom:30px solid #d9d3bf;border-right:30px solid transparent;filter:drop-shadow(-2px 2px 0 rgba(16,20,16,.35))}
.sec-zelena .listek::before{border-top-color:var(--zelena)}
.listek .datum{border-right:3px solid var(--ink);padding-right:18px;text-align:center}
.listek .datum b{display:block;font-family:"Archivo Black",Arial,sans-serif;font-size:1.55rem;line-height:1.05}
.listek .datum span{font-size:.76rem;font-weight:700;text-transform:uppercase}
.listek h3{font-family:"Archivo Black",Arial,sans-serif;font-weight:400;text-transform:uppercase;font-size:1.12rem;margin-bottom:2px}
.listek .info{font-size:.84rem}
.listek .kraj{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding-right:16px}
.listek .cas{font-weight:800;font-size:.95rem}
.stav{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;border:2px solid var(--ink);padding:4px 10px;white-space:nowrap}
.stav-volno{background:var(--lime)}
.stav-posledni{background:#ffd23e}
.stav-vyprodano{background:#f0b7ad}

.pola-mrizka{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 28px}
.pola{background:var(--bila);color:var(--ink);border:3px solid var(--ink);box-shadow:7px 7px 0 rgba(16,20,16,.9);padding:12px 12px 16px}
.pola:nth-child(3n+1){transform:rotate(-2.2deg)}
.pola:nth-child(3n+2){transform:rotate(1.6deg)}
.pola:nth-child(3n){transform:rotate(-1.1deg)}
.pola:hover{transform:rotate(0)}
.pola .snimek{aspect-ratio:1/1;border:2.5px solid var(--ink);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.pola .snimek span{font-family:"Archivo Black",Arial,sans-serif;font-size:2.4rem;color:var(--zelena)}
.pola .snimek img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.pola h3{font-family:"Archivo Black",Arial,sans-serif;font-weight:400;font-size:1rem;margin:12px 0 2px;text-transform:uppercase}
.pola p{font-size:.82rem}

.bloky{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.blok{background:var(--bila);color:var(--ink);border:3px solid var(--ink);box-shadow:7px 7px 0 var(--ink);padding:26px}
.blok h3{font-family:"Archivo Black",Arial,sans-serif;font-weight:400;text-transform:uppercase;font-size:1.06rem;margin:14px 0 10px}
.blok p{font-size:.9rem}
.blok .fakt{margin-top:14px;font-size:.82rem;font-weight:800;text-transform:uppercase;border-top:2.5px solid var(--ink);padding-top:12px}
.blok-lime{background:var(--lime)}
.blok svg{display:block}

.aktuality{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.aktualita{background:var(--bila);color:var(--ink);border:3px solid var(--ink);padding:24px;box-shadow:7px 7px 0 var(--zelena)}
.sec-zelena .aktualita{box-shadow:7px 7px 0 var(--lime)}
.aktualita time{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;background:var(--papir);border:2px solid var(--ink);padding:3px 10px;display:inline-block}
.aktualita h3{font-family:"Archivo Black",Arial,sans-serif;font-weight:400;font-size:1.02rem;text-transform:uppercase;margin:14px 0 8px}
.aktualita p{font-size:.88rem}

.detail{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start;padding:64px 0}
.detail h1{font-family:"Archivo Black",Arial,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(2rem,5.5vw,3.4rem);line-height:1.02;margin:18px 0 16px}
.detail .meta{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 22px}
.detail .meta span{font-size:.76rem;font-weight:800;text-transform:uppercase;border:2.5px solid var(--ink);background:var(--bila);padding:5px 12px}
.detail-foto{border:3px solid var(--ink);box-shadow:10px 10px 0 var(--zelena);transform:rotate(-1.5deg);aspect-ratio:1/1;background:linear-gradient(150deg,#1a5c44,#082418);overflow:hidden;position:relative}
.detail-foto img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.terminy-box{background:var(--bila);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);padding:28px;margin-bottom:70px}
.terminy-box h2{font-family:"Archivo Black",Arial,sans-serif;font-weight:400;text-transform:uppercase;font-size:1.2rem;margin-bottom:16px}
.termin-radek{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:15px 0;border-top:2.5px dashed var(--ink)}
.termin-radek .kdy strong{font-size:1rem}
.termin-radek .kdy span{display:block;font-size:.8rem}
.termin-radek .btn{padding:10px 18px;font-size:.78rem;box-shadow:4px 4px 0 var(--ink)}

.prepinac{display:flex;gap:0;margin:0 0 24px;flex-wrap:wrap}
.prepinac button{
  font-family:"Archivo Black",Arial,sans-serif;text-transform:uppercase;font-size:.84rem;
  background:var(--bila);border:3px solid var(--ink);padding:12px 22px;cursor:pointer;
}
.prepinac button+button{border-left:0}
.prepinac button.akt{background:var(--zelena);color:var(--lime)}
.prepinac-pozn{font-size:.82rem;margin:-12px 0 22px}
.planek-obal{overflow-x:auto;padding:6px 0;-webkit-overflow-scrolling:touch}
.planek{min-width:520px;max-width:640px;margin:0 auto}
.jeviste{
  border:3px solid var(--ink);background:var(--zelena);color:var(--lime);
  font-family:"Archivo Black",Arial,sans-serif;text-transform:uppercase;font-size:.74rem;letter-spacing:.28em;
  text-align:center;padding:9px;margin-bottom:26px;box-shadow:5px 5px 0 var(--ink);
}
.rada{display:flex;justify-content:center;gap:6px;margin-bottom:7px}
.rada-c{width:26px;flex:none;font-size:.68rem;font-weight:800;text-align:right;padding-top:5px}
.sedadlo{
  width:24px;height:24px;flex:none;background:var(--bila);border:2.5px solid var(--ink);border-radius:5px;
  cursor:pointer;padding:0;transition:transform .08s;
}
.sedadlo:hover:not(:disabled){transform:scale(1.2)}
.sedadlo:disabled{background:#cfc9ba;border-color:#9a958a;cursor:default;transform:none !important}
.sedadlo.vyb-zakladni{background:var(--zelena)}
.sedadlo.vyb-student{background:var(--lime)}
.pristavky-popis{text-align:center;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin:16px 0 8px}
.legenda{display:flex;gap:10px 22px;flex-wrap:wrap;justify-content:center;margin:24px 0 8px;font-size:.84rem;font-weight:600}
.legenda span{display:inline-flex;align-items:center;gap:8px}
.legenda i{width:17px;height:17px;border:2.5px solid var(--ink);border-radius:5px;display:inline-block}
.souhrn{background:var(--bila);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);padding:26px;margin-top:34px}
.souhrn h3{font-family:"Archivo Black",Arial,sans-serif;font-weight:400;text-transform:uppercase;font-size:1.05rem;margin-bottom:14px}
.souhrn ul{list-style:none;margin-bottom:14px}
.souhrn li{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:2px dashed var(--ink);font-size:.9rem}
.souhrn .celkem{display:flex;justify-content:space-between;font-weight:800;font-size:1.14rem;padding-top:12px}
.souhrn .prazdny{font-size:.9rem}
.vyprodano-hlaska{background:#f0b7ad;border:3px solid var(--ink);font-weight:800;text-align:center;padding:18px;margin-top:22px}

.modal-pozadi{position:fixed;inset:0;background:rgba(15,61,46,.72);z-index:900;display:none;align-items:center;justify-content:center;padding:20px}
.modal-pozadi.otevreny{display:flex}
.modal{background:var(--bila);border:3px solid var(--ink);box-shadow:10px 10px 0 var(--ink);max-width:470px;width:100%;padding:36px 32px;text-align:center}
.modal h3{font-family:"Archivo Black",Arial,sans-serif;font-weight:400;text-transform:uppercase;font-size:1.05rem;margin-bottom:14px}
.modal p{font-size:.93rem;margin-bottom:24px}

.kontakt-mrizka{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.kontakt-blok{border:3px solid var(--ink);background:var(--bila);padding:20px 22px;margin-bottom:18px;box-shadow:6px 6px 0 var(--ink)}
.kontakt-blok h3{font-family:"Archivo Black",Arial,sans-serif;font-weight:400;text-transform:uppercase;font-size:.86rem;margin-bottom:6px}
.kontakt-blok p{font-size:.92rem}
.kontakt-blok a{font-weight:800}
.mapa{border:3px solid var(--ink);box-shadow:8px 8px 0 var(--zelena);height:430px}
.mapa iframe{width:100%;height:100%;border:0;display:block}

.str-hlava{padding:56px 0 46px;border-bottom:3px solid var(--ink)}
.str-hlava h1{font-family:"Archivo Black",Arial,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(2.1rem,6.5vw,4rem);line-height:1;margin:18px 0 14px}
.str-hlava p{max-width:62ch;font-size:1.02rem}

.pata{background:var(--zelena);color:var(--papir);padding:52px 0 92px;border-top:3px solid var(--ink)}
.pata-in{max-width:1140px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.pata .logo{font-family:"Archivo Black",Arial,sans-serif;text-transform:uppercase;font-size:1.1rem;color:var(--lime)}
.pata p{font-size:.86rem;margin-top:10px;max-width:38ch}
.pata-odkazy{display:flex;flex-direction:column;gap:8px}
.pata-odkazy a{color:var(--papir);text-decoration:none;font-size:.9rem;font-weight:600}
.pata-odkazy a:hover{color:var(--lime)}
.pata .uvadec{font-size:.78rem;opacity:.75}
.pata .uvadec a{color:var(--papir)}

@media(max-width:920px){
  .hero-spodek{grid-template-columns:1fr}
  .hero-foto{justify-self:start;margin-top:8px}
  .pola-mrizka{grid-template-columns:repeat(2,1fr)}
  .bloky,.aktuality{grid-template-columns:1fr}
  .detail,.kontakt-mrizka{grid-template-columns:1fr;gap:34px}
}
@media(max-width:600px){
  .listek{grid-template-columns:78px 1fr}
  .listek .kraj{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start;padding-right:0}
  .pola-mrizka{grid-template-columns:1fr;max-width:340px}
  .sec{padding:56px 0}
}
