@font-face{font-family:'WindleshamPro';src:url('../fonts/WindleshamPro-Bold.ttf') format('truetype');font-weight:700}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Urbanist',sans-serif;background:#fff;color:#111;-webkit-font-smoothing:antialiased;line-height:1.6}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;font:inherit;border:none;background:none}
:focus-visible{outline:2px solid #af854a;outline-offset:3px}
:root{
  --gold:#af854a;
  --off:#f6f5f2;
  --border:#eceae5;
  --muted:#aaa;
  --w:1160px;
  --pad:clamp(1.2rem,4vw,2.5rem)
}
.wrap{max-width:var(--w);margin:0 auto;padding:0 var(--pad)}

/* ── NAV ── */
.nav{background:#fff;position:relative;top:auto;z-index:auto}
.nav__inner{
  max-width:var(--w);margin:0 auto;padding:20px var(--pad) 28px;
  display:flex;align-items:center;justify-content:space-between
}
.nav__left{display:flex;align-items:center;gap:5rem}
.nav__right{display:flex;align-items:center;gap:1.2rem}
.nav__logo{display:block;height:88px;width:auto;flex-shrink:0}
.nav__logo img{height:88px;width:auto;display:block}
.nav__links{display:flex;gap:2rem}
.nav__a{font-size:16px;letter-spacing:.04em;color:#111;font-weight:400;transition:color .2s,font-weight .1s;padding:.2rem 0;position:relative}
.nav__a:hover{color:#111;text-shadow:0 0 .45px #111,0 0 .45px #111}
.nav__a.act{color:#111;text-shadow:0 0 .5px #111,0 0 .5px #111}
.nav__a.act::after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2.5px;background:var(--gold)}
.nav__a .ext{font-size:.72em;opacity:.5;margin-left:.1em}
.nav__social{display:flex;gap:.9rem;align-items:center}
.nav__social a{color:#ccc;transition:color .2s;display:flex}
.nav__social a:hover{color:#111}
.nav__social svg{width:40px;height:40px}
.nav__burger{display:none;width:40px;height:40px;align-items:center;justify-content:center}
.bbar{display:block;width:18px;height:1.5px;background:#111;position:relative;transition:.2s}
.bbar::before,.bbar::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:#111;transition:.2s}
.bbar::before{top:-6px}.bbar::after{top:6px}
.nav__burger.open .bbar{background:transparent}
.nav__burger.open .bbar::before{transform:rotate(45deg) translate(4px,4px)}
.nav__burger.open .bbar::after{transform:rotate(-45deg) translate(4px,-4px)}
@media(max-width:860px){
  .nav__links{position:fixed;top:0;left:0;right:0;height:calc(100vh);background:#fff;flex-direction:column;align-items:flex-start;padding:2.5rem var(--pad);gap:1.5rem;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s;}
  .nav__links.open{opacity:1;visibility:visible;transform:none}
  .nav__a{font-size:1.1rem;color:#111}
  .nav__burger{display:flex}
  .nav__social{display:none}
}

/* ── HERO ── */
.hero{padding:72px 0 64px;}
.hero__eyebrow{
  font-size:13px;letter-spacing:.18em;text-transform:uppercase;
  color:#bbb;font-weight:400;margin-bottom:10px
}
.hero__h1{
  font-family:'WindleshamPro',sans-serif;font-weight:700;
  font-size:clamp(2.2rem,4vw,4.2rem);
  text-transform:uppercase;letter-spacing:.01em;
  color:#111;line-height:1.05;
  margin-bottom:28px;font-weight:700
}
.hero__rule{width:28px;height:1.5px;background:var(--gold);margin-bottom:20px}
.hero__desc{
  font-size:18px;color:#777;
  max-width:52ch;line-height:1.7;font-weight:300;
  margin-bottom:0
}
.hero__btns{display:flex;gap:10px;flex-wrap:wrap}

.btn{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;padding:.9em 2em;display:inline-flex;align-items:center;gap:.4em;transition:.2s;cursor:pointer;border-radius:1px}
.btn-dark{background:#111;color:#fff;border:1.5px solid #111}
.btn-dark:hover{background:#333;border-color:#333}
.btn-out{background:transparent;color:#111;border:1.5px solid #ddd}
.btn-out:hover{border-color:#111}

@media(max-width:700px){
  .hero__h1{font-size:13vw;white-space:normal}
}

/* ── STATS ── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);}
.stat{padding:22px var(--pad);text-align:center;border-right:1px solid var(--border)}
.stat:last-child{border-right:none}
.stat__val{font-family:'WindleshamPro',sans-serif;font-size:clamp(1.6rem,2vw,2.2rem);color:#111;line-height:1;font-weight:700}
.stat__val em{font-style:normal;color:var(--gold)}
.stat__key{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#555;margin-top:5px;font-weight:400}
@media(max-width:640px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(2){border-right:none}
  .stat:nth-child(3){}
  .stat:nth-child(4){border-right:none}
}

/* ── O KLUBU ── */
.about{padding:80px 0}
.about__inner{display:grid;grid-template-columns:260px 1fr;gap:80px;align-items:start}
.about__aside-label{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:400;margin-bottom:14px}
.about__year{font-family:'WindleshamPro',sans-serif;font-size:clamp(5rem,8vw,7.5rem);font-weight:700;color:var(--off);line-height:1;letter-spacing:-.02em}
.about__since{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#ccc;margin-top:6px;font-weight:400}
.about__logo{height:60px;width:auto;margin-top:28px}
.about__h2{font-family:'WindleshamPro',sans-serif;font-size:clamp(1.8rem,2.5vw,2.8rem);font-weight:700;text-transform:uppercase;line-height:.95;margin-bottom:22px}
.about__text{font-size:14.5px;color:#777;line-height:1.72;font-weight:300;margin-bottom:14px}
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);margin-top:28px}
.about__cell{background:#fff;padding:12px 14px}
.about__cell dt{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#ccc;font-weight:400}
.about__cell dd{font-size:14px;font-weight:500;color:#111;margin-top:3px}
@media(max-width:760px){.about__inner{grid-template-columns:1fr;gap:2rem}.about__year{font-size:5rem}}

/* ── PRUH ── */
.pruh{height:5px;background:repeating-linear-gradient(90deg,#111 0 7px,transparent 7px 7px,#fff 7px 14px);border-top:1px solid #ddd;border-bottom:1px solid #ddd;position:relative}
.pruh::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1.5px;background:var(--gold)}

/* ── CTA ── */
.cta{padding:80px 0;text-align:center;position:relative;overflow:hidden}
.cta__bg{position:absolute;inset:0;font-family:'WindleshamPro',sans-serif;font-size:30vw;font-weight:700;color:var(--off);display:flex;align-items:center;justify-content:center;pointer-events:none;user-select:none;line-height:1}
.cta__micro{position:relative;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;font-weight:400}
.cta__h2{position:relative;font-family:'WindleshamPro',sans-serif;font-size:clamp(2rem,4vw,3.8rem);font-weight:700;text-transform:uppercase;line-height:.92;color:#111;margin-bottom:16px}
.cta__sub{position:relative;font-size:14px;color:var(--muted);margin-bottom:32px;font-weight:300}
.cta__btns{position:relative;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn-bare{background:transparent;color:var(--muted);border:none;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:400;padding:.9em 1em;display:inline-flex;align-items:center;gap:.4em;transition:color .2s;cursor:pointer}
.btn-bare:hover{color:#111}

/* ── SECTION LABEL ── */
.section-label{
  font-size:13px;letter-spacing:.18em;text-transform:uppercase;
  color:#111;font-weight:400;margin-bottom:28px
}
.section-heading{
  font-family:'WindleshamPro',sans-serif;font-size:clamp(1.4rem,2vw,1.9rem);
  font-weight:700;text-transform:uppercase;color:#111;
  margin-bottom:20px;letter-spacing:.02em
}

/* ── MEMBER BANNERS ── */
.member{padding:40px 0 56px}
.member__banners{display:flex;flex-direction:column;gap:0;margin-top:20px}
.member__banner{
  display:block;width:100%;overflow:hidden;
}
.member__banner:first-child{}
.member__banner img{
  width:100%;height:auto;display:block;
  transition:transform .4s ease
}
.member__banner:hover img{transform:scale(1.02)}

/* ── BANNERS ── */
.banners-wrap{max-width:var(--w);margin:0 auto;padding:0 var(--pad)}
.banners{display:grid;grid-template-columns:1fr 1fr;gap:0}
.banner{
  display:flex;align-items:center;justify-content:center;
  min-height:240px;position:relative;overflow:hidden;
  text-decoration:none;
  background:#fff;
}
.banner--light{background:#fff}
.banner--light:nth-child(1){border-right:1px solid #eceae5;}
.banner--light:nth-child(2){}
.banner--light:nth-child(3){border-right:1px solid #eceae5}
.banner--dark{background:transparent;padding:0;overflow:hidden}

.banner img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;max-width:none;transition:transform .4s ease
}
.banner::after{
  content:"";position:absolute;inset:0;
  background:rgba(0,0,0,0);transition:background .3s ease
}
.banner:hover::after{background:rgba(0,0,0,.06)}
.banner:hover img{transform:scale(1.04)}

/* ── PHOTO STRIP ── */
.photos-section{padding:40px 0}
.photos-section .wrap{margin-bottom:20px}
.photos{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:300px;gap:1px;background:#eceae5}
.photos__tile{overflow:hidden;position:relative;background:#eee}
.photos__tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.photos__tile:hover img{transform:scale(1.04)}

/* ── SPONSORS ── */
.sponsors{padding:56px 0;background:#fff}
.sponsors__label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;font-weight:400}
.sponsors__grid{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;background:transparent}
.spon{background:#fff;aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;padding:.5rem;overflow:hidden}
.spon img{transition:transform .25s ease}
.spon:hover img{transform:scale(1.08)}
@media(max-width:860px){.sponsors__grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:480px){.sponsors__grid{grid-template-columns:repeat(3,1fr)}}
.footer__copy-wrap{margin-top:1.2rem;padding-top:.6rem}
.footer__copy{font-size:11px;color:#aaa;letter-spacing:.03em;text-align:right;margin:0}

/* ── FOOTER ── */
.footer{padding:28px 0}
.footer__inner{display:flex;align-items:center;justify-content:space-between}
.footer__left{display:flex;align-items:center;gap:3.5rem}
.footer__logo-link{display:block;flex-shrink:0}
.footer__logo{height:48px;width:auto}
.footer__nav{display:flex;gap:2rem}
.footer__nav a{font-size:13.5px;color:#bbb;letter-spacing:.04em;transition:color .2s;font-weight:400}
.footer__nav a:hover{color:#111}
.footer__social{display:flex;gap:.8rem;align-items:center}
.footer__social a{color:#ccc;transition:color .2s;display:flex}
.footer__social a:hover{color:#111}
.footer__social svg{width:24px;height:24px}
@media(max-width:700px){
  .footer__inner{flex-direction:column;align-items:flex-start;gap:1.2rem}
  .footer__left{flex-direction:column;gap:1rem}
}



.sticky-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #fff;
}


/* ── SEKCE NADPISY ── */
.sekce-sub {
  font-size: 13px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 400;
  margin-bottom: .6rem;
}
.sekce-nadpis {
  font-family: 'WindleshamPro', sans-serif;
  font-size: clamp(1rem, 1.8vw, 1.3rem);
  font-weight: 700;
  color: #111;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .01em;
  margin-bottom: 2rem;
}

/* ── SUBNAV ── */
.subnav {
  position: relative;
  background: #fff;
  border-bottom: 1px solid var(--border);
}
.subnav__inner {
  max-width: var(--w);
  margin: 0 auto;
  padding: 0 var(--pad);
  display: flex;
}
.subnav__link {
  display: block;
  padding: .5rem 1.2rem .65rem;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .04em;
  text-transform: none;
  color: #111;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color .2s, border-color .2s;
  position: relative;
}
.subnav__link:hover {
  color: #111;
  text-shadow: 0 0 .45px #111, 0 0 .45px #111;
  border-bottom-color: transparent;
}
.subnav__link.active {
  color: #111;
  text-shadow: 0 0 .5px #111, 0 0 .5px #111;
  border-bottom: 2.5px solid var(--gold);
}

/* ── SECTION CONTENT ── */
.section {
  max-width: var(--w);
  margin: 0 auto;
  padding: 3.2rem var(--pad);
}
.section-divider {
  border: none;
  border-top: 1px solid var(--border);
  max-width: var(--w);
  margin: 0 auto;
}

/* ── O KLUBU: stat grid ── */
.stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1px;
  background: var(--border);
  border-radius: 4px;
  overflow: hidden;
  margin-top: 3rem;
}
.stat-cell {
  background: #fff;
  padding: 2rem 1.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.stat-cell__num {
  font-family: 'WindleshamPro', sans-serif;
  font-size: 2.8rem;
  color: #111;
  line-height: 1;
  font-weight: 700;
}
.stat-cell__label {
  font-size: 9.5px;
  font-weight: 400;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #ccc;
  margin-top: 5px;
}

/* ── BARVY: circles ── */
.barvy {
  display: flex;
  align-items: center;
  gap: 8px;
}
.barva {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--border);
  flex-shrink: 0;
}

/* ── SOUTEZE TABLE ── */
.souteze-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 2.5rem;
  font-size: .92rem;
}
.souteze-table thead th {
  text-align: left;
  font-size: 9.5px;
  font-weight: 400;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #ccc;
  padding: .6rem 1rem;
  border-bottom: 1px solid var(--border);
}
.souteze-table tbody td {
  padding: .8rem 1rem;
  border-bottom: 1px solid var(--border);
  font-weight: 400;
  color: #111;
  background: #fff;
}
.souteze-table tbody tr:last-child td { border-bottom: none; }

/* ── HISTORIE TIMELINE ── */
.timeline {
  position: relative;
  margin-top: 3rem;
  padding-left: 1.5rem;
}
.timeline::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 1px;
  background: var(--border);
}
.tl-item {
  position: relative;
  padding: 0 0 2.5rem 2rem;
}
.tl-item::before {
  content: '';
  position: absolute;
  left: -4px; top: .35rem;
  width: 9px; height: 9px;
  border-radius: 50%;
  background: var(--gold);
}
.tl-year {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: .3rem;
}
.tl-text {
  font-size: .94rem;
  font-weight: 400;
  color: #111;
  line-height: 1.65;
}
.tl-text strong { font-weight: 500; color: #111; }

/* ── SCROLL OFFSET FOR ANCHORS ── */
#o-klubu, #historie, #zazemi, #clenstvi {
  scroll-margin-top: 0;
}


/* ── FACILITY CARDS ── */
.facility-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border);
  border-radius: 4px;
  overflow: hidden;
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.facility-card {
  background: #fff;
  padding: 1.8rem 1.6rem;
}
.facility-card__name {
  font-size: 15px;
  font-weight: 600;
  color: #111;
  margin-bottom: .6rem;
  letter-spacing: .01em;
}
.facility-card__desc {
  font-size: 14px;
  font-weight: 400;
  color: #111;
  line-height: 1.65;
}
@media (max-width: 640px) {
  .facility-cards { grid-template-columns: 1fr; }
}

/* ── PHOTO GRID 3x4 ── */
.photo-grid--4rows {
  grid-template-columns: repeat(3, 1fr);
  margin-top: 3rem;
}

/* ── ZÁZEMÍ: mapa + foto ── */
.map-wrapper {
  margin-top: 3rem;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid var(--border);
}
.map-wrapper iframe {
  display: block;
  width: 100%;
  height: 360px;
  border: none;
}
.map-address {
  margin-top: .8rem;
  font-size: .82rem;
  color: #555;
}
.photo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-top: 3rem;
}
.photo-grid__item {
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 4px;
  background: var(--off);
}
.photo-grid__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.photo-grid__item:hover img { transform: scale(1.04); }


/* ── ČLENSTVÍ ── */
.clenstvi-uvod {
  font-family: 'WindleshamPro', sans-serif;
  font-size: clamp(1rem, 1.8vw, 1.3rem);
  font-weight: 700;
  color: #111;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .01em;
  margin-top: 0;
  margin-bottom: 1.2rem;
  white-space: nowrap;
}

.clenstvi-blok {
  padding: 1.2rem 0;
  border-bottom: none;
}
.clenstvi-blok:last-child { border-bottom: none; }

.clenstvi-blok__title {
  font-size: 15px;
  font-weight: 600;
  color: #111;
  letter-spacing: .01em;
  margin-bottom: 1rem;
}
.clenstvi-blok__subtitle {
  font-size: 9.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #ccc;
  font-weight: 400;
  margin-bottom: .8rem;
}
.clenstvi-blok__text {
  font-size: 15px;
  font-weight: 400;
  color: #111;
  line-height: 1.7;
}
.clenstvi-blok__text a,
.clenstvi-list a {
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.clenstvi-list {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: clenstvi-counter;
}
.clenstvi-list li {
  counter-increment: clenstvi-counter;
  display: flex;
  gap: 1rem;
  align-items: baseline;
  font-size: 15px;
  font-weight: 400;
  color: #111;
  line-height: 1.68;
  padding: .2rem 0;
  border-bottom: none;
}
.clenstvi-list li:last-child { border-bottom: none; }
.clenstvi-list li::before {
  content: counter(clenstvi-counter) ".";
  flex-shrink: 0;
  min-width: 1.4rem;
  font-size: 11px;
  font-weight: 500;
  color: var(--gold);
  letter-spacing: .04em;
}

.clenstvi-prispevky {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-radius: 4px;
  overflow: hidden;
}
.clenstvi-prispevek {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .9rem 1.2rem;
  border-bottom: 1px solid var(--border);
  background: #fff;
  font-size: 15px;
  gap: 1rem;
}
.clenstvi-prispevek:last-child { border-bottom: none; }
.clenstvi-prispevek__kdo {
  font-weight: 400;
  color: #111;
}
.clenstvi-prispevek__castka {
  font-weight: 500;
  color: #111;
  white-space: nowrap;
}

.kis-banner { margin: 2rem 0; }
.plochy-banner.kis-banner::before { background: linear-gradient(90deg,rgba(35,12,0,.9) 0%,rgba(110,40,0,.75) 50%,rgba(255,100,0,.45) 100%); }
.plochy-banner .kis-banner__logo { position: static; width: min(320px, 80%); height: auto; display: block; transform: none; }
.kis-banner:hover .kis-banner__logo { transform: none; }

#clenstvi { padding-bottom: 1rem; }
#clenstvi .section-label { margin-bottom: .6rem; }
  
/* ── TRÉNINKOVÉ PLOCHY (odkaz) ── */
.plochy-text { font-size: 15px; font-weight: 400; color: #111; line-height: 1.7; margin-bottom: 1.6rem; }
@media (min-width: 1160px) { .plochy-text { white-space: nowrap; } }
.plochy-banner { position: relative; display: block; overflow: hidden; border-radius: 4px; min-height: 240px; background: #111; }
.plochy-banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; max-width: none; transition: transform .4s ease; }
.plochy-banner::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.45) 45%, rgba(0,0,0,0) 80%); }
.plochy-banner:hover img { transform: scale(1.03); }
.plochy-banner__inner { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; gap: .9rem; min-height: 240px; padding: 2rem clamp(1.4rem, 4vw, 3rem); }
.plochy-banner__title { font-family: 'WindleshamPro', sans-serif; font-weight: 700; font-size: clamp(1.6rem, 3.2vw, 2.6rem); line-height: 1.05; text-transform: uppercase; color: #fff; max-width: 14ch; }
.plochy-banner__cta { font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; font-weight: 500; color: #fff; }
