/* ============ FONTS (self-hosted, Oswald, SIL OFL) ============ */
@font-face{
  font-family:"Oswald";font-style:normal;font-weight:500;font-display:swap;
  src:url("../fonts/oswald-500-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Oswald";font-style:normal;font-weight:500;font-display:swap;
  src:url("../fonts/oswald-500-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:"Oswald";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/oswald-600-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Oswald";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/oswald-600-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ============ TOKENS ============ */
:root{
  --bg:#ffffff;
  --surface:#ffffff;
  --surface-2:#eef2f8;
  --ink:#0e1b2e;
  --muted:#54657e;
  --brand:#2b5092;
  --brand-deep:#152a52;
  --hero-a:#101f3d;
  --hero-b:#1c3567;
  --accent:#bb2b1a;
  --accent-hover:#d13520;
  --accent-ink:#ffffff;
  --label:#bb2b1a;
  --danger:#bb2b1a;
  --todo:#bb2b1a;
  --line:#dbe3ee;
  --card-shadow:0 2px 10px rgba(21,42,82,.08);
  --radius:8px;
  --tab-bg:#ddd;
  --tab-bg-hover:#eee;
  --success:#1c7d4d;
  --success-bg:#e3f6ec;
  --warning:#8a5300;
  --warning-bg:#fef1da;
  --danger-bg:#fbe7e4;
  --space-1:6px;
  --space-2:12px;
  --space-3:18px;
  --space-4:24px;
  --space-5:34px;
  --space-6:52px;
  color-scheme:light;
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0b1322;
  --surface:#131f36;
  --surface-2:#0f1930;
  --ink:#e7edf7;
  --muted:#93a3bc;
  --brand:#7fa4e6;
  --brand-deep:#0d1b38;
  --hero-a:#0a1526;
  --hero-b:#14284f;
  --accent:#c24c3b;
  --accent-hover:#a84d3e;
  --accent-ink:#ffffff;
  --label:#c24c3b;
  --danger:#e85b47;
  --todo:#e85b47;
  --line:#243553;
  --card-shadow:0 2px 12px rgba(0,0,0,.35);
  --tab-bg:#1a2540;
  --tab-bg-hover:#22315a;
  --success:#7fd9a8;
  --success-bg:#123524;
  --warning:#f0b93d;
  --warning-bg:#3a2a0a;
  --danger-bg:#3a1712;
}

/* ============ BODY ============ */
body{background:var(--bg);color:var(--ink)}

/* ============ BASE ============ */
.rd *{box-sizing:border-box}
.rd{
  background:var(--bg);color:var(--ink);
  font-family:"Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  font-size:16px;line-height:1.6;
}
.rd .row.body{background:transparent}
.rd h1,.rd h2,.rd h3,.rd h4{
  font-family:"Oswald","Arial Narrow","Helvetica Neue",system-ui,sans-serif;
  text-transform:uppercase;letter-spacing:.02em;line-height:1.12;
  margin:0 0 .5em;color:inherit;
}
.rd h2{font-size:clamp(1.6rem,3.2vw,2.1rem);color:var(--brand)}
.rd h3{font-size:1.22rem}
.rd p{margin:.4em 0 1em}
.rd a{color:var(--brand)}
.rd img{max-width:100%}
.rd .wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.rd .eyebrow{
  font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;
  color:var(--accent);margin-bottom:.6em;
}
.rd .section{padding:var(--space-6) 0}
.rd .section.tight{padding:var(--space-5) 0}

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

.skip-link{
  position:absolute;top:-100px;left:12px;z-index:100;
  background:var(--brand-deep);color:#fff;text-decoration:none;
  padding:10px 18px;border-radius:0 0 8px 8px;font-weight:700;font-size:.9rem;
  transition-property:top;transition-duration:120ms;transition-timing-function:cubic-bezier(.2,0,0,1);
}
.skip-link:focus{top:0}

.todo{
  display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;
  color:var(--todo);border:1.5px dashed var(--todo);border-radius:999px;
  padding:1px 9px;vertical-align:middle;white-space:nowrap;
}

/* ============ HEADER / MENU ============ */
header.site{
  background:var(--brand-deep);color:#fff;position:sticky;top:0;z-index:50;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}
.site-bar{display:flex;align-items:center;gap:12px;padding:9px 20px;max-width:1320px;margin:0 auto;flex-wrap:nowrap}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;flex:none;min-width:0}
.logo-img{width:42px;height:42px;flex:none;display:block}
.logo b{font-family:"Oswald","Arial Narrow",system-ui,sans-serif;font-size:1rem;letter-spacing:.05em;text-transform:uppercase;line-height:1.1;display:block;white-space:nowrap}
nav.main{display:flex;gap:1px;flex-wrap:nowrap;margin-left:auto;align-items:center;white-space:nowrap}
nav.main a{
  color:#e8eefc;text-decoration:none;font-size:.84rem;font-weight:600;
  padding:8px 10px;border-radius:6px;letter-spacing:.01em;
  transition-property:background-color;transition-duration:120ms;transition-timing-function:cubic-bezier(.2,0,0,1);
}
nav.main a:hover{background:rgba(255,255,255,.1)}
nav.main a.active{background:rgba(255,255,255,.16)}
nav.main a.cta-play{
  background:var(--accent);color:var(--accent-ink);font-weight:800;
  padding:9px 18px;border-radius:999px;margin-left:8px;
  transition-property:background-color,scale;transition-duration:120ms;transition-timing-function:cubic-bezier(.2,0,0,1);
}
nav.main a.cta-play:hover{background:var(--accent-hover)}
nav.main a.cta-play:active{scale:.96}

.nav-toggle{
  display:none;background:transparent;border:none;padding:10px;margin-left:auto;flex:none;
  min-width:44px;min-height:44px;
  cursor:pointer;border-radius:6px;
  transition-property:background-color;transition-duration:120ms;transition-timing-function:cubic-bezier(.2,0,0,1);
}
.nav-toggle:hover{background:rgba(255,255,255,.1)}
.nav-toggle-bars,.nav-toggle-bars:before,.nav-toggle-bars:after{
  display:block;width:22px;height:2px;background:#fff;border-radius:2px;
  transition-property:transform,opacity;transition-duration:150ms;transition-timing-function:cubic-bezier(.2,0,0,1);
}
.nav-toggle-bars{position:relative}
.nav-toggle-bars:before,.nav-toggle-bars:after{content:"";position:absolute;left:0}
.nav-toggle-bars:before{top:-7px}
.nav-toggle-bars:after{top:7px}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars:before{transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars:after{transform:translateY(-7px) rotate(-45deg)}

@media (max-width: 1180px){
  .logo b{display:none}
}
@media (max-width: 940px){
  .site-bar{flex-wrap:wrap}
  .logo b{display:block}
  .nav-toggle{display:flex;align-items:center;justify-content:center}
  nav.main{
    display:none;flex-direction:column;align-items:stretch;width:100%;
    margin-left:0;gap:2px;white-space:normal;order:3;padding-top:6px;
  }
  nav.main.is-open{display:flex;background:var(--brand-deep)}
  nav.main a{padding:12px 10px}
  nav.main a.cta-play{margin-left:0;text-align:center}
}

/* ============ HERO ============ */
.hero{
  background:
    repeating-linear-gradient(115deg,rgba(255,255,255,.028) 0 2px,transparent 2px 90px),
    repeating-linear-gradient(-65deg,rgba(255,255,255,.02) 0 1px,transparent 1px 55px),
    linear-gradient(115deg,var(--hero-a) 30%,var(--hero-b) 100%);
  color:#fff;position:relative;overflow:hidden;
}
.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;align-items:stretch;max-width:1400px;margin:0 auto}
.hero-left{
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:64px 44px 40px;position:relative;z-index:2;
}
.hero-logo{width:clamp(70px,7vw,96px);height:auto;display:block;margin:0 auto 20px;filter:drop-shadow(0 4px 14px rgba(0,0,0,.4))}
.hero h1{
  font-size:clamp(2rem,4.4vw,3.3rem);font-weight:800;margin:0 0 .7em;max-width:12em;color:#fff;
}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.btn{
  display:inline-block;text-decoration:none;font-weight:800;border-radius:999px;
  padding:12px 26px;font-size:.98rem;letter-spacing:.02em;border:2px solid transparent;
  cursor:pointer;font-family:inherit;line-height:1.2;appearance:none;-webkit-appearance:none;
  transition-property:background-color,border-color,scale;transition-duration:120ms;transition-timing-function:cubic-bezier(.2,0,0,1);
}
.btn:active{scale:.96}
.rd .btn-primary{background:var(--accent);color:var(--accent-ink)}
.rd .btn-primary:hover{background:var(--accent-hover)}
.rd .btn-ghost{border-color:rgba(255,255,255,.6);color:#fff;background:transparent}
.rd .btn-ghost:hover{background:rgba(255,255,255,.1)}
.rd .btn-brand{background:var(--brand);color:#fff}
.rd .btn-brand:hover{background:var(--brand-deep)}

.hero-photo{
  position:relative;min-height:420px;
  clip-path:polygon(14% 0,100% 0,100% 100%,0 100%);
  background:
    radial-gradient(60% 45% at 62% 42%,rgba(187,43,26,.55),transparent 60%),
    radial-gradient(40% 35% at 40% 55%,rgba(255,255,255,.25),transparent 65%),
    repeating-linear-gradient(100deg,rgba(255,255,255,.06) 0 3px,transparent 3px 46px),
    linear-gradient(200deg,#8fb2dd 0%,#4a76b5 45%,#1c3567 100%);
  display:flex;align-items:flex-end;justify-content:flex-end;
  overflow:hidden;
}
.hero-photo .hero-anim{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 40%;
}
.hero-photo .cap{
  position:relative;z-index:1;
  color:#fff;background:rgba(16,31,61,.75);font-size:.8rem;
  padding:6px 14px;border-top-left-radius:8px;
}

.hero-stats{
  display:flex;justify-content:center;align-items:stretch;
  padding:6px 20px 46px;position:relative;z-index:2;flex-wrap:wrap;
}
.hero-stats .fact{
  text-align:center;padding:6px 44px;border-right:1px solid rgba(255,255,255,.25);
}
.hero-stats .fact:last-child{border-right:none}
.fact b{display:block;font-family:"Oswald","Arial Narrow",system-ui,sans-serif;font-size:2rem;color:#fff;line-height:1.1;font-variant-numeric:tabular-nums;text-transform:uppercase}
.fact span{font-size:.85rem;color:#a9b8d4;text-transform:uppercase;letter-spacing:.08em}

/* ============ EVENTS STRIP ============ */
.events{background:var(--surface);border-bottom:1px solid var(--line)}
.events .wrap{padding-top:var(--space-3);padding-bottom:var(--space-3)}
.events-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.events-head h2{margin:0;font-size:1.4rem}
.events-head svg{width:30px;height:30px;flex:none}
.events-head .events-more{margin-left:auto}
.event-list{display:flex;flex-wrap:wrap;gap:10px}
.event{
  display:flex;gap:10px;align-items:center;padding:8px 12px 8px 8px;
  flex:1 1 240px;max-width:calc(33.333% - 7px);
  border:1px solid var(--line);border-radius:14px;box-shadow:var(--card-shadow);
  transition-property:border-color;transition-duration:120ms;transition-timing-function:cubic-bezier(.2,0,0,1);
}
.event:hover{border-color:var(--brand)}
.events-more{font-size:.85rem;font-weight:700;text-decoration:none;color:var(--accent);white-space:nowrap}
@media (max-width:860px){.event{max-width:none}}
.date-badge{
  flex:none;text-align:center;border-radius:7px;overflow:hidden;line-height:1;min-width:44px;
  font-family:"Oswald","Arial Narrow",system-ui,sans-serif;
}
.date-badge b{display:block;background:var(--brand-deep);color:#fff;font-size:1.15rem;padding:6px 6px 5px;font-variant-numeric:tabular-nums}
.date-badge span{display:block;background:var(--label);color:#fff;font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;padding:3px 5px;font-weight:700}
.event h3,.event h4{margin:0;font-size:.88rem;letter-spacing:.01em;color:var(--ink)}
.event p{margin:0;font-size:.75rem;color:var(--muted)}

/* ============ NEWS CARDS ============ */
.section-head-c{text-align:center;margin-bottom:30px}
.section-head-c h2{margin-bottom:.2em}
.section-head-c .all{font-size:.9rem;font-weight:700;text-decoration:none;color:var(--accent)}
.section-head-c .all:hover{text-decoration:underline}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{
  background:var(--surface);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--card-shadow);border:1px solid var(--line);
  display:flex;flex-direction:column;
  transition-property:border-color;transition-duration:120ms;transition-timing-function:cubic-bezier(.2,0,0,1);
}
.card:hover{border-color:var(--brand)}
.card .thumb{
  aspect-ratio:16/10;display:flex;align-items:flex-end;padding:10px 14px;position:relative;
  color:#dfe8f6;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;
  background-size:cover;background-position:center;background-color:var(--surface-2);
  box-shadow:inset 0 0 0 1px oklch(0 0 0 / 0.1);
}
:root[data-theme="dark"] .card .thumb,:root[data-theme="dark"] .archive-item .thumb{box-shadow:inset 0 0 0 1px oklch(1 0 0 / 0.1)}
.card .thumb.no-image{background:radial-gradient(50% 40% at 60% 45%,rgba(187,43,26,.5),transparent 60%),linear-gradient(20deg,#132a52,#2b5092 70%,#6f94cd)}
.card .thumb .badge-date{
  position:absolute;top:0;left:0;background:var(--label);color:#fff;
  font-size:.72rem;font-weight:800;padding:5px 10px;letter-spacing:.05em;
  border-bottom-right-radius:8px;font-variant-numeric:tabular-nums;
}
.card .pad{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.card h3{margin:0;font-size:1.1rem}
.card h3 a{color:var(--ink);text-decoration:none}
.card h3 a:hover{color:var(--brand)}
.card p{margin:0;font-size:.9rem;color:var(--muted);flex:1}
.card .more{font-size:.85rem;font-weight:800;text-decoration:none;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}
.card .more:hover{text-decoration:underline}

/* ============ SOCIAL ============ */
.social{background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.soc-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.soc-head h2{margin:0;font-size:1.4rem}
.soc-head svg{width:30px;height:30px;flex:none}
.soc-head .follow{margin-left:auto}
.rd .btn-follow{
  display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:800;font-size:.85rem;
  padding:8px 22px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase;
}
.rd .btn-follow:hover{background:var(--accent-hover)}
.soc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
/* skeleton fallback: renderuje se jen když Instagram Graph API nevrátí data (viz Homepage/default.latte) */
.soc-grid div{aspect-ratio:1;border-radius:6px}
.soc-grid div:nth-child(6n+1){background:linear-gradient(30deg,#20406f,#4d79c4)}
.soc-grid div:nth-child(6n+2){background:radial-gradient(60% 60% at 40% 40%,rgba(255,255,255,.3),transparent),linear-gradient(120deg,#bb2b1a,#6f150a)}
.soc-grid div:nth-child(6n+3){background:linear-gradient(200deg,#2b5092,#101f3d)}
.soc-grid div:nth-child(6n+4){background:linear-gradient(70deg,#0e1b2e,#3a6bb4)}
.soc-grid div:nth-child(6n+5){background:radial-gradient(50% 50% at 60% 55%,rgba(187,43,26,.5),transparent),linear-gradient(160deg,#6f94cd,#152a52)}
.soc-grid div:nth-child(6n){background:linear-gradient(250deg,#e85b47,#bb2b1a)}
/* živý feed z Instagram Graph API */
.soc-grid .soc-post{
  display:block;aspect-ratio:1;border-radius:6px;overflow:hidden;background:var(--surface-2);
  transition-property:transform,box-shadow;transition-duration:120ms;transition-timing-function:cubic-bezier(.2,0,0,1);
}
.soc-grid .soc-post img{width:100%;height:100%;object-fit:cover;display:block}
.soc-grid .soc-post:hover{transform:scale(1.03);box-shadow:0 4px 14px rgba(21,42,82,.22)}
@media (prefers-reduced-motion: reduce){.soc-grid .soc-post{transition:none}.soc-grid .soc-post:hover{transform:none}}
.soc-foot{text-align:center;margin-top:22px}
.soc-links{display:flex;gap:10px;justify-content:center;margin-top:14px;flex-wrap:wrap}
.soc-links a{
  text-decoration:none;font-size:.82rem;font-weight:700;color:var(--brand);
  border:1.5px solid var(--brand);border-radius:999px;padding:5px 15px;
}
.soc-links a:hover{background:var(--brand);color:#fff}

/* ============ PARTNERS ============ */
.partners{background:var(--surface)}
.partner-row{display:flex;gap:20px;align-items:stretch;flex-wrap:wrap;justify-content:center}
.rd .partner{
  flex:1;min-width:190px;max-width:280px;background:var(--surface-2);border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;padding:24px 20px;
  font-family:"Oswald","Arial Narrow",system-ui,sans-serif;font-size:1.25rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);border:1px solid var(--line);text-decoration:none;
  transition-property:border-color,box-shadow;transition-duration:120ms;transition-timing-function:cubic-bezier(.2,0,0,1);
}
.rd .partner:hover{border-color:var(--brand);box-shadow:0 4px 14px rgba(21,42,82,.12)}
.partner img{max-height:56px;width:auto;outline:1px solid oklch(0 0 0 / 0.1);outline-offset:-1px}
:root[data-theme="dark"] .partner img{outline-color:oklch(1 0 0 / 0.1)}
.partner.add{border-style:dashed;color:var(--accent);border-color:var(--accent);font-size:.95rem}
.partner.add:hover{border-color:var(--accent-hover);box-shadow:0 4px 14px rgba(187,43,26,.12)}
.partners-foot{text-align:center;margin-top:22px}
.partners-foot a{color:var(--accent);font-weight:800;text-decoration:none;text-transform:uppercase;font-size:.9rem;letter-spacing:.04em}
.partners-foot a:hover{text-decoration:underline}

/* ============ FOOTER ============ */
footer.site{background:var(--brand-deep);color:#b9c6de;font-size:.88rem}
footer.site .foot-grid{
  max-width:1120px;margin:0 auto;padding:var(--space-6) 20px var(--space-4);
  display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:36px;
}
footer.site h4{color:#fff;font-size:.92rem;margin-bottom:.8em}
footer.site a{color:#dfe8f6;text-decoration:none}
footer.site a:hover{text-decoration:underline}
footer.site ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.foot-social{display:flex;gap:12px}
.foot-social a{
  width:34px;height:34px;border:1.5px solid rgba(255,255,255,.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:800;
}
.foot-social a:hover{background:rgba(255,255,255,.12);text-decoration:none}
.theme-toggle{
  display:inline-flex;align-items:center;gap:10px;background:transparent;border:none;
  color:#dfe8f6;font-size:.85rem;font-weight:700;cursor:pointer;margin-top:16px;padding:4px 0;font-family:inherit;
}
.theme-toggle-track{
  width:38px;height:22px;border-radius:999px;background:rgba(255,255,255,.25);
  border:1.5px solid rgba(255,255,255,.35);position:relative;flex:none;
  transition-property:background-color;transition-duration:150ms;transition-timing-function:cubic-bezier(.2,0,0,1);
}
.theme-toggle-knob{
  position:absolute;top:1px;left:1px;width:16px;height:16px;border-radius:50%;background:#fff;
  transition-property:transform;transition-duration:150ms;transition-timing-function:cubic-bezier(.2,0,0,1);
}
.theme-toggle[aria-checked="true"] .theme-toggle-track{background:var(--accent)}
.theme-toggle[aria-checked="true"] .theme-toggle-knob{transform:translateX(16px)}
.copy{border-top:1px solid rgba(255,255,255,.14);text-align:center;padding:14px 20px;font-size:.78rem;color:#8fa0bd}

/* ============ PAGE HERO (Chci hrát / Pro partnery) ============ */
.page-hero{
  background:
    repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0 2px,transparent 2px 80px),
    linear-gradient(115deg,var(--hero-a),var(--hero-b));
  color:#fff;padding:52px 0 46px;text-align:center;
}
.page-hero h1{font-size:clamp(2rem,4.5vw,3.1rem);margin:0 0 .3em;color:#fff}
.page-hero p{color:#c6d3ea;max-width:38em;font-size:1.06rem;margin:0 auto}

/* ============ ALERTS (Foundation flash zprávy) ============ */
.alert-box{background:var(--surface-2);border:1px solid var(--line);color:var(--ink);border-radius:8px}
.alert-box.alert{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}
.alert-box.success{background:var(--success-bg);border-color:var(--success);color:var(--success)}
.alert-box.warning{background:var(--warning-bg);border-color:var(--warning);color:var(--warning)}
.alert-box.info{background:var(--surface-2);border-color:var(--brand);color:var(--brand)}
.alert-box.secondary{background:var(--surface-2);border-color:var(--line);color:var(--muted)}
.alert-box .close{color:inherit;background:transparent;opacity:.5}
.alert-box .close:hover,.alert-box .close:focus{opacity:.9}
.alert.alert-warning{
  background:var(--warning-bg);border:1px solid var(--warning);color:var(--warning);
  border-radius:8px;padding:.875rem 1.5rem;margin-bottom:1.25rem;font-size:.8125rem;
}

/* ============ LEGACY CONTENT PAGES (nepřepsané šablony) ============ */
.legacy-content{padding:var(--space-5) 20px;max-width:1120px;margin:0 auto;color:var(--ink);font-family:"Segoe UI",system-ui,-apple-system,Roboto,sans-serif}
.legacy-content h1,.legacy-content h2,.legacy-content h3,.legacy-content h4,.legacy-content h5{
  font-family:"Oswald","Arial Narrow","Helvetica Neue",system-ui,sans-serif;
  text-transform:uppercase;letter-spacing:.02em;color:var(--brand);margin:1.1em 0 .5em;
}
.legacy-content h1{font-size:clamp(1.6rem,3vw,2.1rem)}
.legacy-content h2{font-size:clamp(1.4rem,2.6vw,1.8rem)}
.legacy-content h3{font-size:1.1rem}
.legacy-content h5{font-size:.95rem}
/* nadpisy redesignových komponent přebíjejí .legacy-content, aby komponenta vypadala
   identicky uvnitř i mimo .legacy-content (viz design-review.md #10) */
.legacy-content .card h3,.legacy-content .club h3,.legacy-content .offer h3,
.legacy-content .archive-item h3,.legacy-content .event h3,.legacy-content .event h4{
  margin:0;font-size:1.1rem;color:inherit;
}
.legacy-content .archive-item h3{margin:0 0 .2em;font-size:1.05rem}
.legacy-content a{color:var(--brand);transition-property:color;transition-duration:120ms;transition-timing-function:cubic-bezier(.2,0,0,1)}
.legacy-content a:hover{color:var(--accent)}
.legacy-content a.blue-link,.legacy-content a.blue-text{color:var(--brand)}
.legacy-content hr{border:none;border-top:1px solid var(--line);margin:1.6em 0}
.legacy-content table{border-collapse:collapse;width:100%;margin:0 0 1em;background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.legacy-content table td,.legacy-content table th{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.legacy-content table thead{background:var(--surface-2)}
.legacy-content table thead tr th,.legacy-content table thead tr td,.legacy-content table tfoot tr th,.legacy-content table tfoot tr td{color:var(--ink);font-weight:700;background:var(--surface-2)}
.legacy-content table tbody tr th,.legacy-content table tbody tr td,.legacy-content table tr td{color:var(--ink)}
.legacy-content table tr.alt,.legacy-content table tr:nth-of-type(even){background:var(--surface-2)}
/* LEGACY: jen pro obsah z redakce (WYSIWYG/CKEditor), který si sám nese class="button" —
   produkční formuláře a odkazy používají .btn (viz design-review.md #12) */
.legacy-content .button,.legacy-content button[type="submit"]{
  background:var(--accent);color:#fff;border:none;border-radius:999px;
  padding:10px 22px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;font-size:.9rem;cursor:pointer;
  transition-property:background-color,scale;transition-duration:120ms;transition-timing-function:cubic-bezier(.2,0,0,1);
}
.legacy-content .button:hover,.legacy-content button[type="submit"]:hover{background:var(--accent-hover)}
.legacy-content .button:active,.legacy-content button[type="submit"]:active{scale:.96}
.legacy-content .breadcrumbs{
  list-style:none;margin:0 0 1.4em;padding:0;background:none;border:none;border-radius:0;
  display:flex;flex-wrap:wrap;font-size:.82rem;color:var(--muted);overflow:visible;
}
.legacy-content .breadcrumbs>*{float:none;text-transform:none;font-size:inherit;line-height:inherit;color:var(--muted)}
.legacy-content .breadcrumbs>*:before{content:"/";margin:0 .6em;color:var(--line);position:static;top:auto}
.legacy-content .breadcrumbs>*:first-child:before{content:none;margin:0}
.legacy-content .breadcrumbs>* a{color:var(--brand);text-decoration:none}
.legacy-content .breadcrumbs>* a:hover{color:var(--accent);text-decoration:underline}
.legacy-content .breadcrumbs>*.current,.legacy-content .breadcrumbs>*.current a{color:var(--ink);font-weight:700;cursor:default}
.check-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:-26px;position:relative;z-index:2}
.check{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--card-shadow);padding:16px 18px;font-size:.9rem;
}
.check b{display:block;font-family:"Oswald","Arial Narrow",system-ui,sans-serif;text-transform:uppercase;font-size:1rem;margin-bottom:4px}
.check-mark{color:var(--accent);font-weight:900;font-size:1.1rem;display:block;margin-bottom:2px}

.club-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.club .club-town{margin:-6px 0 0;font-size:.8rem;color:var(--muted)}
.club{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--card-shadow);overflow:hidden;display:flex;flex-direction:column;
}
.club .band{height:7px;background:linear-gradient(90deg,var(--brand) 50%,var(--accent) 50%)}
.club .pad{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.club .city{font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
.club h3{margin:0}
.club dl{margin:4px 0 8px;font-size:.88rem;display:grid;grid-template-columns:auto 1fr;gap:4px 12px}
.club dt{color:var(--muted);font-weight:600}
.club dd{margin:0}
.club .btn{margin-top:auto;text-align:center;padding:10px 18px;font-size:.9rem}

.table-scroll{overflow-x:auto}
.icon-lg{font-size:1.3em}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.grid-2{display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr)}
.grid-3{display:grid;gap:var(--space-3);grid-template-columns:repeat(3,1fr)}
.form{
  background:var(--surface);border:1px solid var(--line);border-radius:12px;
  box-shadow:var(--card-shadow);padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px;
}
.form.narrow{max-width:560px;margin:0 auto}
.form label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);display:block;margin-bottom:5px}
.form input:not([type="submit"]):not([type="button"]),.form select,.form textarea{
  width:100%;padding:11px 13px;border:1.5px solid var(--line);border-radius:6px;
  background:var(--bg);color:var(--ink);font:inherit;font-size:.95rem;line-height:1.4;margin:0;
  transition-property:border-color;transition-duration:120ms;transition-timing-function:cubic-bezier(.2,0,0,1);
}
.form input:not([type="submit"]):not([type="button"]):focus-visible,.form select:focus-visible,.form textarea:focus-visible{
  outline:2px solid var(--brand);outline-offset:2px;border-color:var(--brand);
}
.form select{padding-right:30px;height:auto}
.form .full{grid-column:1/-1}
.form ul.errors{grid-column:1/-1;color:var(--danger);margin:0;padding-left:1.2em}
.form .field-error{display:block;color:var(--danger);font-size:.8rem;margin-top:4px}
.form button,.form input[type="submit"]{
  grid-column:1/-1;justify-self:start;border:none;cursor:pointer;font:inherit;
  transition-property:background-color,scale;transition-duration:120ms;transition-timing-function:cubic-bezier(.2,0,0,1);
}
.form button:active,.form input[type="submit"]:active{scale:.96}
.faq details{border-bottom:1px solid var(--line);padding:12px 4px}
.faq summary{font-weight:700;cursor:pointer;font-size:.98rem;transition-property:color;transition-duration:120ms;transition-timing-function:cubic-bezier(.2,0,0,1)}
.faq summary:hover{color:var(--brand)}
.faq p{color:var(--muted);font-size:.92rem;margin:.6em 0 .2em}

.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--card-shadow);padding:20px;text-align:center;
}
.stat b{display:block;font-family:"Oswald","Arial Narrow",system-ui,sans-serif;font-size:2rem;color:var(--brand);font-variant-numeric:tabular-nums;line-height:1.1;text-transform:uppercase}
.stat span{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.offer{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--card-shadow);padding:22px}
.offer h3{color:var(--brand)}
.offer ul{margin:0;padding-left:1.2em;font-size:.92rem;color:var(--muted);display:flex;flex-direction:column;gap:6px}

/* ---- partnerské balíčky ---- */
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.pkg{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--card-shadow);padding:24px;display:flex;flex-direction:column;gap:14px;
  position:relative;
}
.pkg.featured{border-color:var(--brand);box-shadow:0 6px 22px oklch(0 0 0 / 0.12)}
.pkg .tier{font-family:"Oswald","Arial Narrow",system-ui,sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:1.15rem;margin:0;color:var(--ink)}
.pkg .price{font-family:"Oswald","Arial Narrow",system-ui,sans-serif;font-size:1.9rem;line-height:1.1;color:var(--brand);font-variant-numeric:tabular-nums}
.pkg .price small{display:block;font-family:inherit;font-size:.72rem;font-weight:400;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.pkg ul{margin:0;padding-left:1.2em;font-size:.92rem;color:var(--muted);display:flex;flex-direction:column;gap:6px;flex:1}
.pkg .badge-top{
  position:absolute;top:-11px;right:16px;background:var(--brand);color:#fff;
  font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:4px 10px;border-radius:999px;
}
.pkg .btn{align-self:flex-start}
.pkg-note{text-align:center;color:var(--muted);font-size:.88rem;margin-top:18px}
.deck{
  background:linear-gradient(115deg,var(--hero-a),var(--hero-b));color:#fff;border-radius:14px;
  padding:34px 38px;display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;
}
.deck h3{font-size:1.5rem;margin:0 0 .2em;color:#fff}
.deck p{margin:0;color:#c6d3ea}
.deck .todo{color:#fff;border-color:#fff}

/* ============ ARCHIVE (full article list, below Novinky teaser) ============ */
.archive{background:var(--surface-2)}
.archive-list{display:flex;flex-direction:column;gap:18px}
.archive-item{
  display:flex;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--card-shadow);padding:16px 18px;align-items:flex-start;
  transition-property:border-color;transition-duration:120ms;transition-timing-function:cubic-bezier(.2,0,0,1);
}
.archive-item:hover{border-color:var(--brand)}
.archive-item .thumb{flex:none;width:120px;aspect-ratio:16/10;border-radius:6px;background-size:cover;background-position:center;background-color:var(--surface-2);box-shadow:inset 0 0 0 1px oklch(0 0 0 / 0.1)}
.archive-item .thumb.no-image{background:radial-gradient(50% 40% at 60% 45%,rgba(187,43,26,.5),transparent 60%),linear-gradient(20deg,#132a52,#2b5092 70%,#6f94cd)}
.archive-item h3{margin:0 0 .2em;font-size:1.05rem}
.archive-item h3 a{color:var(--ink);text-decoration:none}
.archive-item h3 a:hover{color:var(--brand)}
.archive-item .meta{font-size:.8rem;color:var(--muted);margin-bottom:.3em}
.pagination-rd{display:flex;justify-content:center;gap:6px;margin-top:24px;flex-wrap:wrap}
.pagination-rd a,.pagination-rd span{
  min-width:34px;text-align:center;padding:7px 10px;border-radius:6px;font-size:.9rem;
  text-decoration:none;color:var(--brand);border:1px solid var(--line);
  transition-property:background-color,border-color,color;transition-duration:120ms;transition-timing-function:cubic-bezier(.2,0,0,1);
}
.pagination-rd a:hover{background:var(--surface-2);border-color:var(--brand)}
.pagination-rd .current{background:var(--brand);color:#fff;border-color:var(--brand)}
.pagination-rd .dots{border:none;padding:7px 4px;color:var(--muted)}

/* ============ RESPONSIVE ============ */
@media (max-width: 940px){
  .hero-grid{grid-template-columns:1fr}
  .hero-photo{min-height:260px;clip-path:polygon(0 14%,100% 0,100% 100%,0 100%);order:2}
  .hero-left{padding:48px 24px 28px}
  .cards,.club-grid,.offer-grid,.pkg-grid,.grid-3{grid-template-columns:1fr 1fr}
  .check-row,.stat-row{grid-template-columns:1fr 1fr}
  .split,.grid-2{grid-template-columns:1fr}
  .soc-grid{grid-template-columns:repeat(4,1fr)}
  footer.site .foot-grid{grid-template-columns:1fr 1fr}
  .hero-stats .fact{padding:6px 26px}
}
@media (max-width: 600px){
  .cards,.club-grid,.offer-grid,.pkg-grid,.check-row,.stat-row,.form,footer.site .foot-grid,.grid-3{grid-template-columns:1fr}
  nav.main{margin-left:0}
  .soc-grid{grid-template-columns:repeat(3,1fr)}
  .archive-item{flex-direction:column}
  .archive-item .thumb{width:100%}
}

/* ============ LEGACY (přeneseno ze style.css) ============ */
.blue-link,.blue-text{color:var(--brand)}
.blue-link:hover,.blue-link:active{color:var(--brand-deep)}
.red-text{color:var(--accent)}

.article-title{padding-bottom:1em}
.article-title img{float:left;width:100px;margin-right:20px}

.stats{width:80%;margin-top:1em}
@media only screen and (max-width: 40em){
  .stats{width:100%}
}
@media only screen and (min-width: 40.063em) and (max-width: 64em){
  .stats{width:90%}
}

.tabs{border-bottom:1px solid var(--line)}
.tabs .tab-title.active > a,.tabs .tab-title > a:hover{background-color:var(--tab-bg-hover);color:var(--ink)}
.tabs .tab-title > a{background-color:var(--tab-bg);color:var(--ink);padding:0.5rem 1.5rem}
.tabs-content{background:transparent;color:var(--ink)}
.tabs-content > .content{background:transparent;color:inherit}

.breadcrumbs{margin-top:-20px}
.breadcrumbs > * a{color:var(--brand)}
.breadcrumbs > * a:hover,.breadcrumbs > * a:focus{color:var(--brand-deep)}
.breadcrumbs>*.current a:hover,.breadcrumbs>*.current a:focus{color:var(--ink)}

/* LEGACY: Foundation .button, jen pro obsah z redakce (WYSIWYG/CKEditor) — produkční UI používá .btn */
.button{background-color:var(--brand)}
.button:hover{background-color:var(--brand-deep)}

.body{background-color:var(--surface)}

.note{font-size:.8em;color:var(--muted)}

.testing-banner{background:var(--brand-deep);color:#fff;padding:.6em 1em}
.testing-banner a{color:#fff;text-decoration:underline}

/* obrana proti natvrdo zapsaným barvám z WYSIWYG (CKEditor) v tmavém režimu */
:root[data-theme="dark"] .legacy-content article [style*="color"]{color:var(--ink) !important}
:root[data-theme="dark"] .legacy-content article [style*="background"]{background:var(--surface) !important}
