:root{
  --noc:#0f1419; --noc2:#171e26; --jizera:#2fa4c7; --reflektor:#ffb327; --pisek:#f3efe6; --pismo:#e9edf1; --text:#1c2229;
  --nav-vyska:68px;
}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-vyska)}
body{font-family:"Source Sans 3",system-ui,sans-serif;color:var(--text);background:var(--pisek);font-size:1.075rem;line-height:1.6}
h1,h2,h3,.karta-nazev,.hero-claim{font-family:"Oswald",sans-serif;letter-spacing:.01em}
a{color:#0b6e8f}
/* navigace */
.navbar-lod{height:var(--nav-vyska);padding:0;background:transparent;transition:background .3s,box-shadow .3s}
.navbar-lod.scroll,.navbar-lod:has(.show){background:rgba(15,20,25,.94);backdrop-filter:blur(8px);box-shadow:0 2px 18px rgba(0,0,0,.35)}
.navbar-lod .navbar-brand img{height:42px;width:auto;filter:drop-shadow(0 1px 4px rgba(0,0,0,.6))}
.navbar-lod .nav-link{color:#fff;font-family:"Oswald",sans-serif;text-transform:uppercase;font-size:.95rem;letter-spacing:.06em;padding:.5rem .8rem}
.navbar-lod .nav-link:hover,.navbar-lod .nav-link.active{color:var(--reflektor)}
.navbar-toggler{color:#fff;font-size:1.9rem;border:0;padding:.1rem .4rem}
.navbar-toggler:focus{box-shadow:none}
@media(max-width:991.98px){.navbar-lod .navbar-collapse{background:rgba(15,20,25,.97);margin:0 -.75rem;padding:.5rem 1.5rem 1rem;max-height:calc(100svh - var(--nav-vyska));overflow:auto}}
.btn-lod{background:var(--reflektor);color:#1a1200;border:0;font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-weight:600;border-radius:999px;padding:.5rem 1.3rem}
.btn-lod:hover{background:#ffc552;color:#1a1200}
.btn-lod-ghost{border:2px solid #fff;color:#fff;font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-weight:600;border-radius:999px;padding:.5rem 1.3rem}
.btn-lod-ghost:hover{background:#fff;color:var(--noc)}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;color:#fff;overflow:hidden;background:var(--noc)}
.hero-foto{position:absolute;inset:0;background:url(../img/hero.webp) center 40%/cover no-repeat}
.hero-clona{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,20,25,.55) 0%,rgba(15,20,25,.35) 35%,rgba(15,20,25,.85) 100%)}
.hero-obsah{position:relative;z-index:2;padding-top:calc(var(--nav-vyska) + 1rem);padding-bottom:4.5rem;text-align:center}
.hero-logo{width:min(347px,62vw);height:auto;filter:drop-shadow(0 4px 18px rgba(0,0,0,.6))}
.hero-claim{font-size:clamp(1.3rem,3.2vw,2.1rem);text-transform:uppercase;margin:.8rem 0 1.4rem;line-height:1.25;text-shadow:0 2px 12px rgba(0,0,0,.7)}
.hero-claim span{display:block;font-size:.62em;color:var(--reflektor);letter-spacing:.14em;margin-top:.4rem}
.hero-akce{display:inline-flex;flex-direction:column;gap:.15rem;align-items:center;background:rgba(15,20,25,.72);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:.9rem 1.8rem;color:#fff;text-decoration:none;margin-bottom:1.5rem;backdrop-filter:blur(6px);max-width:min(92vw,560px)}
.hero-akce:hover{border-color:var(--reflektor);color:#fff}
.hero-akce strong{font-family:"Oswald",sans-serif;font-size:1.6rem;line-height:1.15;font-weight:600}
.hero-akce-stitek{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;color:var(--reflektor);font-weight:700}
.hero-akce-tl{color:var(--reflektor);font-weight:700;margin-top:.2rem}
.hero-tlacitka{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.hero-sipka{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);color:#fff;font-size:1.8rem;z-index:2;opacity:.8}
/* sekce */
.sekce{padding:clamp(3.5rem,8vw,6.5rem) 0}
.sekce-svetla{background:var(--pisek)}
.sekce-tmava{background:var(--noc);color:var(--pismo)}
.sekce-tmava a{color:var(--reflektor)}
.sekce h2{font-size:clamp(1.9rem,4.4vw,3rem);text-transform:uppercase;font-weight:700;line-height:1.1}
.sekce h2::after{content:"";display:block;width:64px;height:4px;background:var(--reflektor);margin-top:.7rem;border-radius:2px}
.sekce-hlava{margin-bottom:2rem}
.sekce-hlava p{margin:.9rem 0 0;font-size:1.15rem;opacity:.8}
.lead{font-size:1.25rem}
.seznam{padding:0;list-style:none}
.seznam li{position:relative;padding:.35rem 0 .35rem 1.7rem;border-bottom:1px solid rgba(255,255,255,.08)}
.seznam li::before{content:"";position:absolute;left:.1rem;top:.95rem;width:.6rem;height:.6rem;border-radius:50%;background:var(--jizera)}
.panel{background:var(--noc2);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.6rem 1.7rem}
.panel h3{font-size:1.25rem;text-transform:uppercase;color:#fff;margin:0 0 .8rem}
.panel h3 i{color:var(--reflektor);margin-right:.4rem}
.panel h3:not(:first-child){margin-top:1.6rem}
.oteviraci{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1.2rem;margin:0}
.oteviraci dt{font-weight:600}.oteviraci dd{margin:0}
.text-muted-lod{color:#9aa6b2;font-size:.95rem}
/* koncerty */
.filtr{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.8rem}
.filtr button{border:2px solid var(--noc);background:transparent;color:var(--noc);font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:.3rem 1.1rem}
.filtr button.aktivni,.filtr button:hover{background:var(--noc);color:#fff}
.koncerty{align-items:flex-start}
.karta{display:block;background:#fff;border-radius:16px;overflow:hidden;text-decoration:none;color:var(--text);box-shadow:0 6px 22px rgba(15,20,25,.12);transition:transform .25s,box-shadow .25s;height:100%}
.karta:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,20,25,.22);color:var(--text)}
.karta-plakat{display:block;background:var(--noc2)}
.karta-plakat img{display:block;width:100%;height:auto}
.karta-plakat.bez-plakatu{aspect-ratio:3/4;background:linear-gradient(135deg,var(--noc),#24516a)}
.karta-telo{display:block;padding:1rem 1.1rem 1.2rem}
.karta-datum{display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#0b6e8f;font-weight:700}
.karta-nazev{display:block;font-size:1.35rem;font-weight:600;line-height:1.2;margin-top:.2rem}
.karta-pod{display:block;opacity:.75;margin-top:.15rem}
.karta-tl{display:inline-block;margin-top:.7rem;font-weight:700;color:#8a5a00;text-transform:uppercase;font-size:.9rem;letter-spacing:.06em}
.karta-tl.vyprodano{color:#b02a37}
.prazdno{text-align:center;padding:3rem 1rem;background:#fff;border-radius:16px;box-shadow:0 6px 22px rgba(15,20,25,.08)}
.prazdno i{font-size:2.6rem;color:var(--jizera)}
.prazdno p{margin:.6rem auto 0;max-width:36rem}
/* galerie – masonry přes sloupce */
.galerie{column-count:3;column-gap:14px}
.galerie-foto{display:block;margin-bottom:14px;break-inside:avoid;border-radius:12px;overflow:hidden;background:var(--noc2)}
.galerie-foto img{display:block;width:100%;height:auto;transition:transform .5s}
.galerie-foto:hover img{transform:scale(1.04)}
@media(max-width:991.98px){.galerie{column-count:2}}
@media(max-width:480px){.galerie{column-gap:8px}.galerie-foto{margin-bottom:8px;border-radius:8px}}
/* mapa */
.mapa{border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.1);aspect-ratio:21/9;min-height:300px;background:var(--noc2)}
.mapa iframe{width:100%;height:100%;border:0;display:block}
.mapa-obytky img{width:100%;height:auto;border-radius:16px;display:block;border:1px solid rgba(255,255,255,.1)}
/* partneři */
.partneri{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}
.partner{background:#fff;border-radius:12px;height:96px;display:flex;align-items:center;justify-content:center;padding:.8rem 1rem;box-shadow:0 2px 10px rgba(15,20,25,.07)}
.partner img{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(.25);transition:filter .2s}
.partner:hover img{filter:none}
/* patička */
.paticka{background:#090c10;color:#9aa6b2;text-align:center;padding:2.2rem 0}
.paticka img{height:48px;width:auto;margin-bottom:.6rem}
.paticka p{margin:0;font-size:.95rem}.paticka a{color:var(--reflektor)}
@media(max-width:575.98px){.hero-akce{padding:.8rem 1.1rem}.hero-akce strong{font-size:1.3rem}.hero-tlacitka .btn{width:100%;max-width:320px}.mapa{aspect-ratio:4/5}}
/* animace – jediná: jemné odhalení sekcí */
.odhal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}
.odhal.videt{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.odhal{opacity:1;transform:none;transition:none}.karta,.galerie-foto img{transition:none}}
