@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)}

/* ── 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: 5rem 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 {
  display: block;
  margin: 2rem 0;
  overflow: hidden;
  border-radius: 4px;
}
.kis-banner img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform .4s ease;
}
.kis-banner:hover img { transform: scale(1.02); }

#clenstvi { padding-bottom: 6rem; }
#clenstvi .section-label { margin-bottom: .6rem; }
  


/* ── 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}

/* ══ KONTAKTY CSS ══ */
.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;color:#111;text-decoration:none;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;position:relative}
.subnav__link::before{content:attr(data-text);font-weight:600;height:0;overflow:hidden;visibility:hidden;display:block;letter-spacing:.04em}
.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{max-width:var(--w);margin:0 auto;padding:4.5rem var(--pad)}
.section-divider{border:none;border-top:1px solid var(--border);max-width:var(--w);margin:0 auto}
.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}

/* ── ORG TABLE ── */
.org-table{width:100%;border-collapse:collapse;border-radius:4px;overflow:hidden;display:table}
.org-table tr{border-bottom:1px solid var(--border)}
.org-table tr:last-child{border-bottom:none}

.org-table__key{width:190px;padding:.9rem 1.4rem;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;color:#111;border-right:1px solid var(--border);background:#fff;white-space:nowrap;vertical-align:middle}
.org-table__val{padding:.9rem 1.4rem;font-size:14px;font-weight:400;color:#111;background:#fff;vertical-align:middle}
.org-table__val a{color:#111;text-decoration:none;border-bottom:1px solid var(--border);transition:color .2s,border-color .2s}
.org-table__val a:hover{color:var(--gold);border-color:var(--gold)}

/* ── CONTACT CARDS ── */
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border-radius:4px;overflow:hidden}
#sportovni-usek .cards-grid::after{content:"";display:block;background:#fff;grid-column:span 2}
.contact-card{background:#fff;padding:1.6rem 1.4rem;display:flex;flex-direction:column;height:100%;min-height:200px}
.contact-card__photo{width:72px;height:72px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:1rem;flex-shrink:0;background:var(--off)}
.contact-card__photo img{width:72px;height:72px;border-radius:50%;object-fit:cover;display:block}
.contact-card__name{font-size:14px;font-weight:600;color:#111;margin-bottom:.2rem}
.contact-card__role{font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
.contact-card__licence{font-size:12px;font-weight:400;color:#777;margin-bottom:.5rem}
.contact-card__detail{font-size:13px;font-weight:400;color:#111;display:flex;align-items:center;gap:.5rem;margin-top:.25rem;text-decoration:none;transition:color .2s}
.contact-card__detail:hover{color:var(--gold)}
.contact-card__detail svg{width:13px;height:13px;flex-shrink:0;opacity:1;stroke:#111}

#technicky-usek{padding-bottom:6rem}
@media(max-width:860px){.cards-grid{grid-template-columns:repeat(2,1fr)}#sportovni-usek .cards-grid::after{display:none}}
@media(max-width:520px){.cards-grid{grid-template-columns:1fr}}
  
/* ══ PLOCHY ══ */
#plochy-top{padding-top:.6rem}
#app{font-family:'Urbanist',sans-serif;color:#111;font-weight:400}
#app button,#app input,#app select{font-family:inherit}
#app h2,#app h3{text-transform:uppercase;letter-spacing:.01em}
#app h3{font-size:19px!important}
#app h2{font-size:24px!important}
#app h2:first-child{font-size:28px!important}
#app button:disabled{cursor:not-allowed}
#app button:focus-visible,#app input:focus-visible,#app select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#app h2.pl-gate__h{font-size:clamp(1.6rem,2.6vw,2.1rem)!important}
/* obrysová tlačítka a pole: šedý okraj, při najetí černý (jako .btn-out) */
#app button:not(:disabled)[style*="border:1px solid #ddd"]:hover{border-color:#111!important}
#app input:focus,#app select:focus{border-color:#111!important;outline:none}
#app input[type=date],#app select{cursor:pointer}

/* Přepínač ploch – stejný vzhled jako hlavní menu */
.pl-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 24px;border-bottom:1px solid var(--border)}
.pl-tabs{display:flex;gap:2rem;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}
.pl-tabs::-webkit-scrollbar{display:none}
.pl-tab{flex:none;font-size:16px;letter-spacing:.04em;color:#111;font-weight:400;padding:.4rem 0 .9rem;position:relative;white-space:nowrap;transition:text-shadow .2s}
.pl-tab:hover{text-shadow:0 0 .45px #111,0 0 .45px #111}
.pl-tab.act{text-shadow:0 0 .5px #111,0 0 .5px #111}
.pl-tab.act::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.5px;background:var(--gold)}
#app .pl-tab:focus-visible{outline-offset:-2px}

/* Přihlášení správce – roleta překrývá obsah, nic neposouvá */
.pl-admin{position:relative;flex:none;padding-bottom:10px}
#adminlogin{position:absolute;top:100%;right:0;z-index:60;width:min(400px,calc(100vw - 2*var(--pad)))}
#adminlogin:empty{display:none}
.pl-admin--gate{display:flex;padding:0;margin-top:10px}
.pl-admin--gate .pl-admbtn{width:100%;min-height:50px}
.pl-admin--gate #adminlogin{top:calc(100% + 8px);left:0;right:0;width:auto}
@media(max-width:700px){
  .pl-top{flex-direction:column-reverse;align-items:stretch;gap:8px}
  .pl-admin{align-self:flex-end;padding-bottom:0}
  .pl-tabs{gap:1.4rem}
  .pl-tab{font-size:15px}
}

/* Formulář */
.pl-lbl{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}
.pl-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--gold);color:#fff;font-size:11px;font-weight:600;line-height:1}
.pl-segs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #ddd;border-radius:4px;overflow:hidden}
.pl-seg{min-height:44px;font-size:14px;font-weight:500;color:#111;background:#fff;border-left:1px solid #ddd!important;transition:background .15s}
.pl-seg:first-child{border-left:0!important}
.pl-seg:not(.on):hover{background:var(--off)}
.pl-seg.on{background:#111;color:#fff;font-weight:600}
.pl-time{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border);border-radius:4px;background:var(--off);padding:6px}
.pl-time__val{flex:1;text-align:center;font-family:'WindleshamPro',sans-serif;font-weight:700;font-size:24px;letter-spacing:.02em}
.pl-chipbtn{font-size:13px;font-weight:500;min-height:40px;padding:0 14px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#111;transition:border-color .15s}
.pl-chipbtn:hover{border-color:#111}
.pl-chipbtn.on{border-color:#111;box-shadow:inset 0 0 0 1px #111}

/* Vstup pro trenéry */
.pl-gate{max-width:480px;margin:2.5rem auto 0;display:flex;flex-direction:column;gap:14px}
.pl-gate__card{background:#fff;border:1px solid var(--border);border-top:3px solid var(--gold);border-radius:4px;padding:2.4rem 2.2rem 2.2rem;display:flex;flex-direction:column}
.pl-gate .sekce-sub{margin-bottom:.4rem}
.pl-gate__h{font-family:'WindleshamPro',sans-serif;font-weight:700;line-height:1.05;margin:0 0 14px}
.pl-gate__p{margin:0 0 1.6rem;font-size:15px;color:#777;font-weight:400;line-height:1.65}
.pl-gate__lbl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#111;font-weight:500;margin-bottom:8px}
.pl-pw{display:flex;align-items:center;gap:10px;height:58px;padding:0 6px 0 16px;border:1px solid #ddd;border-radius:4px;background:#fff;position:relative;transition:border-color .2s,box-shadow .2s}
.pl-pw>svg{width:22px;height:22px;flex:none;color:#bbb;transition:color .2s}
.pl-pw:focus-within{border-color:#111;box-shadow:0 0 0 3px rgba(175,133,74,.22)}
.pl-pw:focus-within>svg{color:var(--gold)}
.pl-pw.err{border-color:#B3261E}
#app .pl-pw input{flex:1;min-width:0;height:100%;border:0!important;outline:none;background:transparent;font-size:17px;color:#111;letter-spacing:.04em}
#app .pl-pw input[type=password]:not(:placeholder-shown){letter-spacing:.22em;font-size:24px}
.pl-pw input::placeholder{color:#bbb;letter-spacing:.02em;font-weight:300}
.pl-pw__eye{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;color:#999;border-radius:4px;transition:color .2s,background .2s}
.pl-pw__eye:hover{color:#111;background:var(--off)}
.pl-pw__eye svg{width:20px;height:20px}
.pl-eye-x{display:none}
.pl-pw__eye[aria-pressed="true"] .pl-eye-x{display:inline}
.pl-gate .pl-pw + [role=alert]{margin-top:10px}
.pl-gate__go{margin-top:1.2rem;min-height:54px;border-radius:4px;background:#111;color:#fff;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.6em;transition:background .2s}
.pl-gate__go:hover:not(:disabled){background:#333}
@media(max-width:480px){.pl-gate__card{padding:1.8rem 1.3rem 1.5rem}}

.adm-printonly{display:none}
.adm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Tisk / PDF ze Správy rezervací: vytiskne se jen přehled */
@media print{
  @page{size:A4;margin:12mm}
  body *{visibility:hidden}
  #adm-print,#adm-print *{visibility:visible}
  #adm-print{position:absolute;left:0;top:0;width:100%}
  #adm-print *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .adm-noprint{display:none!important}
  .adm-printonly{display:flex!important}
  .adm-card{border:0!important;box-shadow:none!important}
  .adm-tablewrap{overflow:visible!important}
  .adm-t{min-width:0!important;font-size:11px}
  .adm-t td,.adm-t th{padding:5px 8px!important}
  .adm-dg{break-inside:avoid}
  .adm-t thead{display:table-header-group}
  .adm-sum{break-inside:avoid;margin-bottom:10px}
  .adm-t col:nth-child(7){width:0!important}
  .adm-t col:nth-child(4){width:25%!important}
  .adm-t col:nth-child(1){width:82px!important}
  .adm-t col:nth-child(2){width:16%!important}
  .adm-t col:nth-child(3){width:12%!important}
  .adm-t col:nth-child(6){width:82px!important}
  .adm-t{table-layout:auto!important}
  .adm-t colgroup{display:none}
  .adm-t td{white-space:normal!important}
  .adm-t .adm-time,.adm-t .adm-team,.adm-t td:nth-child(3){white-space:nowrap!important}
}
}

/* Nová rezervace – tým, jméno trenéra, opakování */
.pl-field{display:flex;flex-direction:column;gap:8px}
#app .pl-input{width:100%;height:50px;padding:0 14px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#111;font-size:15px;font-weight:500;font-family:inherit;transition:border-color .2s,box-shadow .2s}
#app .pl-input:hover{border-color:#bbb}
#app .pl-input:focus{border-color:#111!important;box-shadow:0 0 0 3px rgba(175,133,74,.22);outline:none}
#app .pl-input::placeholder{color:#bbb;font-weight:300}
.pl-selwrap{position:relative}
.pl-selwrap::after{content:"";position:absolute;right:16px;top:50%;width:7px;height:7px;border-right:1.5px solid #111;border-bottom:1.5px solid #111;transform:translateY(-70%) rotate(45deg);pointer-events:none}
#app select.pl-input{-webkit-appearance:none;appearance:none;padding-right:40px}
.pl-rep{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.pl-rep legend{padding:0;margin-bottom:8px}
.pl-segs--2{grid-template-columns:repeat(2,1fr)}
label.pl-seg{display:flex;align-items:center;justify-content:center;text-align:center;padding:0 10px;cursor:pointer;position:relative}
label.pl-seg input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
label.pl-seg:has(input:checked){background:#111;color:#fff;font-weight:600}
label.pl-seg:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:-3px}
.pl-until{display:none;flex-direction:column;align-items:flex-start;gap:6px;margin-top:4px}
.pl-rep:has(#opak-tyden:checked) .pl-until{display:flex}
.pl-sublbl{font-size:13px;color:#777}
#app .pl-until .pl-input{width:220px;max-width:100%}

/* Sekce hřiště + rozklikávací plánek (legenda částí) */
.pl-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 20px;flex-wrap:wrap}
.pl-legbtn{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 14px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#111;font-size:13px;font-weight:500;white-space:nowrap;transition:border-color .2s}
.pl-legbtn:hover{border-color:#111}
.pl-legbtn[aria-expanded="true"]{border-color:#111}
.pl-legbtn__ar{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.pl-legbtn[aria-expanded="true"] .pl-legbtn__ar{transform:translateY(2px) rotate(225deg)}

/* Opakování bez data */
.pl-need{font-size:13px;color:#7A1810;background:#fbf3f1;border:1px solid #f0d6d1;border-radius:4px;padding:8px 12px}
#app .pl-until .pl-input[aria-invalid="true"]{border-color:#B3261E}

/* Rolety (plánek hřiště, výběr týdne) – překrývají obsah, nic neposouvají */
.pl-pop{position:absolute;z-index:60;background:#fff;border:1px solid var(--border);border-radius:4px;box-shadow:0 14px 36px rgba(0,0,0,.12)}
.pl-pop__cap{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.pl-legwrap{position:relative;flex:none}
.pl-legend{top:calc(100% + 8px);right:0;width:min(420px,calc(100vw - 2*var(--pad)));padding:16px 18px 18px}
.pl-dd{position:relative}
.pl-dd__btn{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0 14px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#111;font-size:14px;font-weight:600;white-space:nowrap;transition:border-color .2s}
.pl-dd__btn:hover,.pl-dd__btn[aria-expanded="true"]{border-color:#111}
.pl-dd__btn[aria-expanded="true"] .pl-legbtn__ar{transform:translateY(2px) rotate(225deg)}
.pl-dd__list{top:calc(100% + 6px);left:0;min-width:100%;width:max-content;max-height:320px;overflow-y:auto;overscroll-behavior:contain;padding:6px;list-style:none}
.pl-opt{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:3px;font-size:14px;font-weight:400;color:#111;white-space:nowrap;transition:background .15s}
.pl-opt:hover{background:var(--off)}
.pl-opt.on{background:#111;color:#fff;font-weight:600}
.pl-dd__btn{width:205px;max-width:100%;justify-content:space-between}
@media(max-width:700px){.pl-legend{left:-25px;right:auto;width:calc(100vw - 2*var(--pad))}}
@media(max-width:480px){.pl-dd__btn{width:auto}}

/* Rozvrh dne – celý den 8:00–21:00 bez posouvání; na mobilu nižší s posuvníkem */
.pl-tl{max-height:938px}
@media(max-width:700px){.pl-tl{max-height:65vh}}

/* Přepínač Týden / Měsíc */
.pl-mode{width:180px}
.pl-mode .pl-seg{min-height:42px}

/* Měsíční náhled */
.pl-mgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%}
.pl-month{width:100%}
.pl-mh{font-size:12px;font-weight:600;color:#777;text-align:center;padding:2px 0}
.pl-mc{min-height:92px;display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:6px 5px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#111;text-align:left;min-width:0;transition:border-color .15s}
.pl-mc:not(:disabled):hover{border-color:#111}
.pl-mc.out{background:#fbfaf8}
.pl-mc.out .pl-mn{color:#aaa}
.pl-mc:disabled{background:#f6f5f2;border-color:#eceae5;cursor:not-allowed}
.pl-mc:disabled .pl-mn{color:#ccc}
.pl-mc.on{border:2px solid #111;padding:5px 4px;box-shadow:inset 0 0 0 1px #111}
.pl-mn{font-family:'WindleshamPro',sans-serif;font-weight:700;font-size:16px;line-height:1;padding:1px 2px 2px}
.pl-mc.today .pl-mn{display:inline-flex;align-self:flex-start;background:var(--gold);color:#fff;border-radius:3px;padding:3px 5px}
.pl-mis{display:flex;flex-direction:column;gap:2px;min-width:0}
.pl-mi{display:block;font-size:11px;line-height:1.25;padding:1px 4px;border-left:3px solid var(--c);background:color-mix(in srgb,var(--c) 13%,#fff);border-radius:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-mi b{font-weight:600}
.pl-mmore{font-size:11px;color:#777;padding-left:4px}
@media(max-width:700px){
  .pl-mgrid{gap:3px}
  .pl-mc{min-height:56px;padding:4px 3px}
  .pl-mc.on{padding:3px 2px}
  .pl-mn{font-size:14px}
  .pl-mis{flex-direction:row;flex-wrap:wrap;gap:2px}
  .pl-mi{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--c);font-size:0}
  .pl-mmore{font-size:10px;padding:0}
}

/* Barvy týmů */
.pl-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px;vertical-align:baseline;flex:none}
.pl-teams{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:13px;color:#555}
.pl-team{display:inline-flex;align-items:center}
@media(max-width:700px){.pl-mode{width:100%}}

/* ══ Správa rezervací ══ */
.adm{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.adm-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--border)}
.adm-head .sekce-sub{margin-bottom:.3rem}
#app h2.adm-h{font-family:'WindleshamPro',sans-serif;font-weight:700;font-size:clamp(1.6rem,2.6vw,2.1rem)!important;line-height:1.05;margin:0}
.adm-card{background:#fff;border:1px solid var(--border);border-radius:4px}
.adm-filter{padding:20px 24px;display:flex;flex-direction:column;gap:16px}
.adm-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 20px}
.adm-row--f{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;padding-top:16px;border-top:1px solid var(--border)}
.adm-per{grid-template-columns:repeat(3,1fr);width:300px;max-width:100%}
.adm-per .pl-seg{min-height:44px}
.adm-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.adm-range{min-width:250px;text-align:center;font-family:'WindleshamPro',sans-serif;font-weight:700;font-size:18px;letter-spacing:.01em;padding:0 6px}
.adm-custom{display:flex;gap:12px;flex-wrap:wrap}
.adm-custom .pl-field{width:200px}
.adm-lbl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#111;font-weight:500}
.adm-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}
.adm-count{font-size:15px;color:#555}
.adm-count strong{color:#111;font-weight:600}
.adm-exp{display:flex;flex-wrap:wrap;gap:8px}
.adm-btn{min-height:46px;padding:0 20px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#111;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;transition:border-color .2s,background .2s}
.adm-btn:hover{border-color:#111}
.adm-btn--dark{background:#111;border-color:#111;color:#fff}
.adm-btn--dark:hover{background:#333;border-color:#333}
.adm-empty{padding:28px 24px;font-size:15px;color:#777;text-align:center}

.adm-sum{margin-bottom:14px}
.adm-sum__h{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.adm-sum__g{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px}
.adm-sum__i{display:flex;flex-direction:column;gap:1px;padding:8px 12px;border:1px solid var(--border);border-left:4px solid var(--c);border-radius:4px;background:#fff}
.adm-sum__t{font-size:13px;font-weight:600}
.adm-sum__v{font-size:13px;color:#555}

.adm-tablewrap{overflow-x:auto}
.adm-t{width:100%;min-width:820px;border-collapse:collapse;table-layout:fixed}
.adm-t thead th{text-align:left;font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#999;padding:12px 14px;border-bottom:1px solid var(--border)}
.adm-dh th{text-align:left;background:var(--off);padding:9px 14px;font-size:14px;font-weight:600;color:#111;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.adm-dg:first-of-type .adm-dh th{border-top:0}
.adm-dh th{display:table-cell}
.adm-dh__n{float:right;font-size:12.5px;font-weight:400;color:#777}
.adm-t td{padding:9px 14px;font-size:14px;color:#111;border-bottom:1px solid #f2f0ec;vertical-align:middle;overflow-wrap:anywhere}
.adm-t tbody tr:not(.adm-dh) td:first-child{box-shadow:inset 4px 0 0 var(--c)}
.adm-time{font-weight:600;white-space:nowrap}
.adm-t td:nth-child(6){white-space:nowrap}
.adm-team{font-weight:500}
.adm-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.adm-del{min-height:34px;padding:0 12px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#111;font-size:12.5px;font-weight:500;white-space:nowrap;transition:border-color .2s,color .2s}
.adm-del:hover{border-color:#B3261E;color:#B3261E}

.adm-ph{display:none;align-items:center;gap:14px;padding-bottom:12px;margin-bottom:12px;border-bottom:2px solid var(--gold)}
.adm-ph__logo{height:54px;width:auto}
.adm-ph__club{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.adm-ph__title{font-family:'WindleshamPro',sans-serif;font-weight:700;font-size:20px;text-transform:uppercase;line-height:1.15}
.adm-ph__meta{font-size:11px;color:#555;margin-top:2px}
@media(max-width:700px){
  .adm-row--f{grid-template-columns:1fr}
  .adm-per{width:100%}
  .adm-nav{width:100%}
  .adm-range{min-width:0;flex:1;font-size:16px}
  .adm-exp{width:100%}
  .adm-exp .adm-btn{flex:1}
}

@media(max-width:700px){
  .adm-nav{display:grid;grid-template-columns:48px 1fr 48px;gap:8px}
  .adm-nav>:last-child{grid-column:1/-1}
  .adm-range{font-size:15px;line-height:1.25}
  .adm-custom .pl-field{width:100%}
  .adm-t{min-width:0;table-layout:auto}
  .adm-t colgroup,.adm-t thead{display:none}
  .adm-t,.adm-t tbody,.adm-t tr,.adm-t th{display:block}
  .adm-dh th{display:flex;justify-content:space-between;gap:8px}
  .adm-dh__n{float:none}
  .adm-t tbody tr:not(.adm-dh){display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:10px 14px 12px 18px;border-bottom:1px solid #f2f0ec;box-shadow:inset 4px 0 0 var(--c)}
  .adm-t td{display:block;padding:0;border:0;box-shadow:none!important;font-size:14px}
  .adm-t tbody tr:not(.adm-dh) td:first-child{box-shadow:none}
  .adm-time{order:1}
  .adm-team{order:2;flex:1 0 calc(100% - 120px)}
  .adm-t td:nth-child(2),.adm-t td:nth-child(3){order:3;font-size:13px;color:#555}
  .adm-t td:nth-child(3)::before{content:"· "}
  .adm-t td:nth-child(5){order:4;font-size:13px;color:#555;flex-basis:100%}
  .adm-t td:nth-child(5)::before{content:"Trenér: "}
  .adm-t td:nth-child(6){order:5;font-size:13px;color:#555}
  .adm-t td.adm-rep.none{display:none}
  .adm-acts{order:6;width:100%;justify-content:flex-start;margin-top:6px}
}

/* ══ Tisk týdne (dny ve sloupcích) a měsíce (kalendář) ══ */
.adm-pgrid{display:none}
@page land{size:A4 landscape;margin:9mm}
@media print{
  html.adm-land body{page:land}
  .adm-pgrid{display:block!important}
  .adm-screenonly{display:none!important}
  .adm-land .adm-sum{margin-bottom:6px}
  .adm-land .adm-sum__h{margin-bottom:4px}
  .adm-land .adm-sum__g{grid-template-columns:repeat(10,1fr);gap:4px}
  .adm-land .adm-sum__i{padding:3px 6px;border-left-width:3px}
  .adm-land .adm-sum__t,.adm-land .adm-sum__v{font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .adm-land .adm-ph{padding-bottom:8px;margin-bottom:8px}
}
.pw,.pm{width:100%;border-collapse:collapse;table-layout:fixed}
.pw th,.pm th{text-align:left;font-size:10px;font-weight:400;color:#555;padding:5px 6px;background:#f6f5f2;border:1px solid #e4e1da}
.pw th b{font-weight:600;color:#111}
.pw td{vertical-align:top;padding:5px;border:1px solid #e4e1da}
.pw-i{border-left:3px solid var(--c);border-radius:2px;padding:4px 6px;margin-bottom:5px;break-inside:avoid}
.pw-t{font-size:10.5px;font-weight:700}
.pw-team{font-size:10.5px;font-weight:600}
.pw-a,.pw-w{font-size:9px;color:#555;line-height:1.3}
.pw-none{font-size:9px;color:#bbb;padding:4px 2px}
.pm th{text-align:center}
.pm td{vertical-align:top;height:21mm;padding:3px 4px;border:1px solid #e4e1da}
.pm td.out{background:#fbfaf8}
.pm td.out .pm-n{color:#bbb}
.pm-n{font-size:10px;font-weight:700;margin-bottom:2px}
.pm-i{font-size:8px;line-height:1.3;border-left:2.5px solid var(--c);padding:1px 3px;margin-bottom:1.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pm-i b{font-weight:600}
.pm-i span{color:#777}
.pm tr{break-inside:avoid}
.pm-leg{display:flex;flex-wrap:wrap;gap:3px 12px;margin-top:6px;font-size:8.5px;color:#555}
.pm-leg .pl-dot{width:7px;height:7px;margin-right:4px}

/* Tlačítka správce – hranatá, zlatá (login trenérů, lišta nad plochami, Správa rezervací) */
.pl-gate__form{display:flex;flex-direction:column}
.pl-admbtn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:44px;padding:0 18px;border:1.5px solid var(--gold);border-radius:4px;background:#fff;color:#8a6636;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.pl-admbtn:hover,.pl-admbtn[aria-expanded="true"]{background:var(--gold);color:#fff}
.pl-admbtn--fill{background:var(--gold);color:#fff}
.pl-admbtn--fill:hover{background:#9a7440;border-color:#9a7440}

/* Login: trenéři a správce vedle sebe */
.pl-gate{max-width:1000px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.pl-gate__card{height:100%}
.pl-gate__form{height:100%}
.pl-gate__form .pl-gate__go{margin-top:auto}
.pl-gate__form [role=alert]{margin-top:10px}
.pl-gate__sp{flex:1 0 1.2rem}
.pl-gate__form .pl-gate__go{margin-top:0}
.pl-gate__card--adm{border-top-color:#111}
.pl-gate__go--adm{background:var(--gold)}
.pl-gate__go--adm:hover:not(:disabled){background:#9a7440}
@media(max-width:820px){.pl-gate{grid-template-columns:1fr;max-width:480px}}

/* ══ Export PDF – stejná podoba jako tisk, A4 na šířku (≈ 1060 px) ══ */
.adm-pdf{width:1060px;background:#fff;color:#111;font-family:'Urbanist',sans-serif}
.adm-pdf .adm-printonly{display:flex!important}
.adm-pdf .adm-pgrid{display:block!important}
.adm-pdf .adm-screenonly,.adm-pdf .adm-noprint{display:none!important}
.adm-pdf .adm-card{border:0}
.adm-pdf .adm-sum{margin-bottom:8px}
.adm-pdf .adm-sum__h{margin-bottom:4px}
.adm-pdf .adm-sum__g{grid-template-columns:repeat(10,1fr);gap:4px}
.adm-pdf .adm-sum__i{padding:3px 6px;border-left-width:3px}
.adm-pdf .adm-sum__t,.adm-pdf .adm-sum__v{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adm-pdf .adm-ph{padding-bottom:8px;margin-bottom:8px}
.adm-pdf .adm-tablewrap{overflow:visible}
.adm-pdf .adm-t{min-width:0;table-layout:auto;font-size:12px}
.adm-pdf .adm-t colgroup{display:none}
.adm-pdf .adm-t td,.adm-pdf .adm-t th{padding:5px 8px}
.adm-pdf .adm-t tbody tr:not(.adm-dh) td:first-child{box-shadow:none;border-left:4px solid var(--c)}
.adm-pdf .adm-time,.adm-pdf .adm-team{white-space:nowrap}
.adm-pdf .pm td{height:80px}

/* ══ Uzavírky a provozní okna ══ */
.pl-winline{font-size:13px;font-weight:600;color:#8a6636;margin-top:2px}
.pl-mi--x{--c:#444;background:repeating-linear-gradient(135deg,#e6e4de,#e6e4de 4px,#f3f2ee 4px,#f3f2ee 8px)!important}
.pl-mi--na{--c:#bbb;background:#f3f2ee!important;color:#888}
.adm-tabs{margin-bottom:-4px}
.adm-note{margin:.2rem 0 0;font-size:14px;color:#777;line-height:1.55;max-width:80ch}
.adm-note strong{color:#111;font-weight:600}
.adm-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 18px;align-items:start}
.adm-span2{grid-column:span 2}
.adm-hint{font-size:12px;color:#999}
.adm-chks{display:flex;flex-wrap:wrap;gap:6px}
.adm-chk{position:relative;cursor:pointer}
.adm-chk input{position:absolute;opacity:0;width:1px;height:1px}
.adm-chk span{display:inline-flex;align-items:center;min-height:50px;padding:0 14px;border:1px solid #ddd;border-radius:4px;background:#fff;font-size:14px;font-weight:500;transition:border-color .15s,background .15s}
.adm-chk:hover span{border-color:#111}
.adm-chk input:checked + span{background:#111;border-color:#111;color:#fff;font-weight:600}
.adm-chk input:focus-visible + span{outline:2px solid var(--gold);outline-offset:2px}
.adm-subh{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:6px 0 -6px}
.adm-btn--red{border-color:#B3261E;color:#B3261E}
.adm-btn--red:hover{background:#B3261E;color:#fff;border-color:#B3261E}
.adm-conf{margin-top:10px;border:1px solid #f0d6d1;border-left:3px solid #B3261E;background:#fbf3f1;border-radius:4px;padding:12px 14px}
.adm-conf__h{font-size:14px;font-weight:600;color:#7A1810;margin-bottom:6px}
.adm-conf ul{list-style:none;margin:0 0 10px;display:flex;flex-direction:column;gap:3px;font-size:13.5px}
.adm-t--clo,.adm-t--win{min-width:720px;table-layout:auto}
.adm-win{margin-bottom:10px}
.adm-win__h{padding:10px 14px;font-size:14px;font-weight:600;background:var(--off);border-bottom:1px solid var(--border)}
@media(max-width:860px){.adm-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.adm-form{grid-template-columns:1fr}.adm-span2{grid-column:auto}}
@media(max-width:700px){.adm-t--clo,.adm-t--win{min-width:0}}

/* Přehled podle týmů: jen v PDF / tisku, na stránce ne */
.adm-pdfonly{display:none}
.adm-pdf .adm-pdfonly{display:block!important}
@media print{.adm-pdfonly{display:block!important}}

/* Uzavírka – opakování (jednou / týdně / denně) */
.adm-rep3{grid-template-columns:repeat(3,1fr)}
.adm-rep3 .pl-seg{min-height:50px;font-size:13.5px}

/* Formuláře uzavírek a provozních oken – po krocích */
.adm-step{display:flex;flex-direction:column;gap:12px;padding-top:18px;border-top:1px solid var(--border)}
.adm-step>.pl-lbl{font-size:15px}
.adm-form--1{grid-template-columns:minmax(0,1fr) minmax(0,3fr)}
.adm-form--1>.pl-field:only-child{grid-column:1/-1;max-width:640px}
.adm-rep3{max-width:600px}
#app .pl-input:disabled{background:#f6f5f2;color:#bbb;border-color:#eceae5;cursor:not-allowed}
.adm-filter>div:last-child .adm-btn--dark{min-width:220px}
@media(max-width:700px){.adm-form--1{grid-template-columns:1fr}.adm-rep3 .pl-seg{font-size:12.5px;padding:0 4px}}
@media(max-width:700px){
  .adm-t--clo td::before,.adm-t--win td::before{content:none!important}
  .adm-t--clo td,.adm-t--win td{order:0!important;flex:0 0 auto!important;font-size:13.5px!important;color:#111!important}
  .adm-t--clo td:first-child,.adm-t--win td:first-child{flex-basis:100%!important;font-weight:600}
  .adm-t--clo td:nth-child(5){flex-basis:100%!important;color:#555!important}
  .adm-t--clo .adm-acts,.adm-t--win .adm-acts{flex-basis:100%!important}
}

/* Správa rezervací: bez tenkých linek pod nadpisem a pod záložkami */
.adm-head{border-bottom:0;padding-bottom:0}
.adm-tabs.pl-top{border-bottom:0}

/* Rolety (select) ve vzhledu webu – tlačítko + vlastní seznam */
.pl-cs{position:relative}
.pl-cs>select{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none}
#app .pl-cs__btn{display:flex;align-items:center;text-align:left;cursor:pointer;padding-right:40px}
.pl-cs__txt{display:flex;align-items:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#app .pl-cs.open .pl-cs__btn{border-color:#111}
.pl-selwrap.pl-cs::after{transition:transform .2s}
.pl-cs.open::after{transform:translateY(-20%) rotate(225deg)}
.pl-cs__list{top:calc(100% + 6px);left:0;right:0;min-width:100%;max-height:300px;overflow-y:auto;overscroll-behavior:contain;padding:6px;margin:0;list-style:none}
.pl-cs__list .pl-opt{display:flex;align-items:center;font-size:15px;padding:10px 12px}
.pl-cs__list .pl-opt.on .pl-dot{box-shadow:0 0 0 2px #fff}
.pl-opt:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.adm-opt{font-weight:400;color:#999;font-size:13px}
