/* ====================================================
   DESIGN SYSTEM (barvy + typografie)
   ==================================================== */
:root {
  /* Core palette (source: design/tokens.css) */
  --tj-c1:#3fbab8; --tj-c2:#d24646; --tj-c3:#8dd2d8;
  --tj-c4:#df5b77; --tj-c5:#f09c27; --tj-c6:#7b9723;
  --tj-c7:#e89c8f; --tj-c8:#f7f7f3;
  --tj-black:#000; --tj-white:#fff;

  /* Typography tokens */
  --tj-font-sans:Roboto,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --tj-h1-size:3.75rem; --tj-h1-weight:900; --tj-h1-letter:.08em;
  --tj-h2-size:3.75rem; --tj-h2-weight:900; --tj-h2-letter:.08em;
  --tj-h3-size:1.75rem; --tj-h3-weight:900; --tj-h3-letter:.08em;
  --tj-h4-size:1.6875rem; --tj-h4-weight:900; --tj-h4-letter:.02em;
  --tj-h5-size:1.4375rem; --tj-h5-weight:700; --tj-h5-letter:.02em;
  --tj-h6-size:1.125rem; --tj-h6-weight:700; --tj-h6-letter:.02em;
  --tj-menu-size:.9375rem; --tj-menu-weight:500;
  --tj-p14-size:.875rem; --tj-p12-size:.75rem;
  --tj-content-width:1120px;
  --tj-section-gap-desktop:7.5rem;
  --tj-section-gap-tablet:6rem;
  --tj-section-gap-mobile:4.5rem;
  --tj-section-gap-xs:3.5rem;

  /* Backward-compatible aliases */
  --c1:var(--tj-c1); --c2:var(--tj-c2); --c3:var(--tj-c3);
  --c4:var(--tj-c4); --c5:var(--tj-c5); --c6:var(--tj-c6);
  --c7:var(--tj-c7); --c8:var(--tj-c8);
  --black:var(--tj-black); --white:var(--tj-white);
  --R:var(--tj-font-sans);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--R);
  background:var(--white);
  color:var(--black);
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
body > footer{margin-top:auto}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}

/* ====================================================
   HEADER
   ==================================================== */
.site-header{position:relative;z-index:100}
#target_header{position:relative;background:var(--black);color:var(--white);box-shadow:0 0 1rem #000}
#target_header>.wrapper{width:82vw;margin:0 auto;padding:2.4rem 0;text-align:right;position:relative}
#target_header>.wrapper>a.logo{
  display:block;position:absolute;left:0;top:2.4rem;text-decoration:none;
  color:var(--white);font-weight:900;font-size:2rem;letter-spacing:.08em;line-height:1;
}
#target_header>.wrapper>a.logo.icon-logo{
  letter-spacing:0;
}
#target_header>.wrapper>a.logo.icon-logo:before{
  font-size:1.35em;
}
.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;
}
#target_header>.wrapper>a.rezervace{
  display:block;position:absolute;left:50%;top:0;transform:translateX(-50%);
  padding:1.2rem .8rem .8rem;width:min-content;font-size:1.25rem;font-weight:900;
  background-color:var(--c2);color:var(--white);border-radius:0 0 .8rem .8rem;text-align:center;text-decoration:none;
}
#target_header>.wrapper>a.soc{display:inline-block;text-decoration:none;margin-left:1rem;line-height:1.5rem;color:var(--white)}
#target_header>.wrapper>a.soc:before{
  display:inline-block;vertical-align:middle;font-size:1.4rem;width:1em;height:1em;color:var(--c1);line-height:inherit;
}
#target_header>.wrapper>a.soc:not(:empty):before{margin-right:.55rem}
#target_header>.wrapper>a.soc.phone{margin-right:5.5vw}
#target_header>.wrapper>a.soc.phone:before{content:"\2706"}
#target_header>.wrapper>a.soc.icon-facebook:before{content:"\24d5"}
#target_header>.wrapper>a.soc.icon-instagram:before{content:"\29c7"}
#target_header>.wrapper>a.soc.icon-login:before{content:"\e90b"}
#target_header>.wrapper>#menu{
  display:none;
  appearance:none;
  border:0;
  background:transparent;
  color:var(--white);
  cursor:pointer;
  padding:0;
}
#target_header>.wrapper>#menu span,
#target_header>.wrapper>#menu span::before,
#target_header>.wrapper>#menu span::after{
  display:block;
  width:42px;
  height:4px;
  background:var(--white);
  border-radius:999px;
  content:"";
}
#target_header>.wrapper>#menu span{position:relative}
#target_header>.wrapper>#menu span::before{position:absolute;left:0;top:-12px}
#target_header>.wrapper>#menu span::after{position:absolute;left:0;top:12px}

#target_header>nav.menu{
  display:flex;
  width:100%;
  padding:0 calc(9vw - 1rem);
  background:var(--white);
  justify-content:space-between;
  box-sizing:border-box;
}
#target_header>nav.menu>a{
  display:block;background:var(--white);font-size:var(--tj-menu-size);font-weight:var(--tj-menu-weight);padding:1rem 2rem;
  margin:0 -1rem;clip-path:polygon(1rem 0%,100% 0%,calc(100% - 1rem) 100%,0% 100%);
  text-decoration:none;color:var(--black);transition:color .3s,background-color .3s;
}
#target_header>nav.menu>a:hover{background:var(--c1);color:var(--white)}

@media (min-width:1025px){
  #target_header>nav.menu{
    position:sticky;
    top:0;
    z-index:101;
    box-shadow:0 4px 14px rgba(0,0,0,.12);
  }
  html{scroll-padding-top:var(--header-nav-sticky-height,4.25rem)}
  .home-sections [id],
  #sportcentrum,
  #sportovni-hala,
  #oddily,
  #sportoviste,
  #aktuality,
  #poukazky,
  #kontakt,
  #partneri{
    scroll-margin-top:calc(var(--header-nav-sticky-height,4.25rem) + 12px);
  }
}

/* ====================================================
   HERO + TICKER
   ==================================================== */
.hero-block{position:relative}
.hero{position:relative;overflow:hidden}
.hero img{
  width:100%;
  height:480px;
  object-fit:cover;
  object-position:center 28%;
  display:block;
  transform:scale(1.03);
  transition:opacity .25s ease;
  animation:heroDrift 14s ease-in-out infinite;
  will-change:transform;
}
.hero img.is-swapping{opacity:0}
.hero-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.07)0%,rgba(0,0,0,.34)52%,rgba(0,0,0,.43)100%);
  background-size:100% 130%;
  background-position:50% 0%;
  pointer-events:none;
  animation:heroShadeFloat 16s ease-in-out infinite alternate;
}

@keyframes heroDrift{
  0%{transform:scale(1.03)}
  50%{transform:scale(1.1)}
  100%{transform:scale(1.03)}
}

@keyframes heroShadeFloat{
  0%{background-position:50% 0%}
  100%{background-position:50% 100%}
}

.hero-news-band{
  margin-top:-72px;
  position:relative;
  z-index:3;
}
.hero-news-band .wrap{
  max-width:var(--tj-content-width);
  padding:0;
}
.hero-news-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:80px;
}
.hero-news-card{
  background:var(--c8);
  border:0;
  box-shadow:none;
  display:flex;
  flex-direction:column;
  min-height:330px;
  border-radius:14px 14px 0 0;
  overflow:hidden;
}
.hero-news-card__head{
  background:var(--c1);
  min-height:62px;
  display:flex;
  align-items:center;
  padding:14px 18px;
}
.hero-news-card__kicker{
  font-weight:900;
  font-size:20px;
  color:var(--white);
  letter-spacing:.01em;
}
.hero-news-card__body{
  padding:16px 18px 22px;
  display:flex;
  flex-direction:column;
  gap:9px;
  flex:1;
}
.hero-news-card__date{
  font-size:12px;
  color:#9a9a9a;
}
.hero-news-card__title{
  margin:0;
  color:var(--black);
  font-size:25px;
  line-height:1.05;
  letter-spacing:0;
  text-transform:none;
}
.hero-news-card__text{
  margin:0;
  color:var(--black);
  font-size:13px;
  line-height:1.5;
}
.hero-news-card__more{
  display:none;
}
.hero-news-card__more:hover{text-decoration:underline}

@media (prefers-reduced-motion:reduce){
  .hero img{animation:none;transform:none}
  .hero-shade{animation:none}
}

/* ====================================================
   SEKCE
   ==================================================== */
.sec{padding:56px 0 48px}
.sec-gray{background:var(--c8)}
.sec-cream{background:#fbf7ee}
.wrap{max-width:var(--tj-content-width);margin:0 auto;padding:0 24px}
.home-sections{
  display:flex;
  flex-direction:column;
  gap:var(--tj-section-gap-desktop);
  padding-top:var(--tj-section-gap-desktop);
}
.home-sections > .sec{
  padding:0;
}
.H2{font-weight:var(--tj-h2-weight);font-size:var(--tj-h2-size);letter-spacing:var(--tj-h2-letter);text-align:center;line-height:1.05;margin-bottom:36px}
.H3{font-weight:var(--tj-h3-weight);font-size:var(--tj-h3-size);letter-spacing:var(--tj-h3-letter);text-align:center;margin-bottom:24px}
.H4{font-weight:var(--tj-h4-weight);font-size:var(--tj-h4-size);letter-spacing:var(--tj-h4-letter);line-height:1.2}
.H5{font-weight:var(--tj-h5-weight);font-size:var(--tj-h5-size);letter-spacing:var(--tj-h5-letter)}
.H6{font-weight:var(--tj-h6-weight);font-size:var(--tj-h6-size);letter-spacing:var(--tj-h6-letter);text-transform:uppercase}
.H7{font-weight:700;font-size:18px;letter-spacing:var(--tj-h6-letter)}
.MENU{font-size:var(--tj-menu-size);font-weight:var(--tj-menu-weight)}
.PARA{font-size:var(--tj-p14-size);line-height:1.65;color:var(--black)}
.PARA12{font-size:var(--tj-p12-size);line-height:1.45;color:var(--black)}
.LIST15{font-size:15px;line-height:1.35;font-weight:700}
.LIST20{font-size:20px;line-height:1.25;font-weight:700}
hr.ln{border:none;border-top:1px solid #e6e6e6}

/* ====================================================
   SPORTCENTRUM — onepage 6 ikon
   ==================================================== */
.sportcentrum-head{margin-bottom:42px}
.sc-actions{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:92px;
  margin-top:6px;
}
.sc-action{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  min-width:112px;
  color:var(--black);
  text-align:center;
  font-weight:700;
  font-size:13px;
}
.sc-action__icon{
  display:block;
  color:var(--c1);
  font-size:62px;
  line-height:1;
  transition:transform .18s ease;
}
.sc-action:hover .sc-action__icon{transform:translateY(-2px)}

/* DLAŽDICE */
.tiles{
  --tiles-gap:8px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-flow:row;
  gap:var(--tiles-gap);
  width:100%;
  padding-inline:var(--tiles-gap);
}
.tile{position:relative;overflow:hidden;cursor:pointer;aspect-ratio:1/1;border-radius:14px}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;display:block}
.tile:hover img{transform:scale(1.055)}
.tile-cap{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:54px;
  background:rgba(0,0,0,.2);
  color:var(--white);
  font-family:var(--R);
  font-weight:900;
  font-size:28px;
  line-height:1.12;
  letter-spacing:.01em;
  text-shadow:0 2px 8px rgba(0,0,0,.42);
}

/* ====================================================
   SPORTOVNÍ HALA
   ==================================================== */
.sportovni-hala-section{
  background:var(--white);
}
.sportovni-hala-wrap{
  text-align:center;
}
.sportovni-hala-title{
  margin-bottom:34px;
}
.sportovni-hala-actions{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:116px;
  margin:0 auto 38px;
}
.sportovni-hala-action{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:13px;
  min-width:108px;
  color:var(--black);
  text-align:center;
  font-size:13px;
  font-weight:700;
}
.sportovni-hala-action__icon{
  display:block;
  color:var(--c1);
  font-size:62px;
  line-height:1;
}
.sportovni-hala-image-link{
  display:block;
  max-width:var(--tj-content-width);
  margin:0 auto;
  border-radius:14px;
  overflow:hidden;
  transition:opacity .18s ease;
}
.sportovni-hala-image-link:hover{opacity:.92}
.sportovni-hala-image-link:focus-visible{
  outline:2px solid var(--c1);
  outline-offset:3px;
}
.sportovni-hala-image{
  width:100%;
  aspect-ratio:1024/683;
  object-fit:cover;
  display:block;
}
.sportovni-hala-page .sportovni-hala-actions{
  margin:0 auto 36px;
}
.sportovni-hala-intro{
  margin:0 0 32px;
  max-width:760px;
}
.sportovni-hala-kontakt{
  margin-top:20px;
}

.split{display:grid;grid-template-columns:3fr 2fr;max-width:var(--tj-content-width);margin:0 auto 40px}
.split-img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block}
.card-stack{display:flex;flex-direction:column;min-height:360px}
.card-open{flex:1;display:flex;flex-direction:column}
.card-head{display:flex;align-items:center;justify-content:space-between;padding:11px 20px}
.card-head-svc{font-weight:900;font-size:16px;color:#fff;letter-spacing:.3px}
.card-head-arr{color:#fff;font-weight:700;font-size:13px;cursor:pointer}
.card-body{flex:1;padding:20px 22px;background:var(--c8)}
.card-date{font-size:12px;color:#999;margin-bottom:5px}
.card-title{font-weight:900;font-size:20px;letter-spacing:.3px;margin-bottom:12px;line-height:1.3}
.card-text{font-size:14px;line-height:1.65;color:#444}
.card-text p+p{margin-top:8px}
.card-strip{padding:9px 20px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);transition:filter .18s;flex-shrink:0}
.card-strip:hover{filter:brightness(1.1)}
.card-strip-svc{font-weight:900;font-size:13px;color:#fff;letter-spacing:.3px}
.card-strip-title{font-size:12px;color:rgba(255,255,255,.82);margin-left:5px;font-weight:500}

/* TABULKY */
.ot{width:100%;border-collapse:collapse;font-size:14px}
.ot td{padding:6px 0;border-bottom:1px solid #eee}
.ot td:first-child{font-weight:700;width:90px}
.ot td:nth-child(2){color:var(--c1);font-weight:500;width:115px}
.ot td:last-child{color:#666}
.pt{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:6px}
.pt th{background:var(--c1);color:#fff;padding:7px 10px;text-align:left;font-weight:700;font-size:12px}
.pt td{padding:7px 10px;border-bottom:1px solid #eee}
.pt tr:nth-child(even) td{background:rgba(63,186,184,.06)}
.pt-note{font-size:11px;color:#999;font-style:italic;margin-top:4px}

/* ODDÍLY */
#oddily{scroll-margin-top:32px}
#oddily .wrap{
  max-width:var(--tj-content-width);
}
#oddily .H2{margin-bottom:32px}
#oddily .oddily{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px clamp(70px, 7vw, 112px);
  margin-bottom:104px;
}
#oddily .oddil{
  font-weight:700;
  font-size:15px;
  line-height:1.35;
  padding:7px 0;
  border-bottom:1px solid var(--c1);
  cursor:pointer;
  transition:color .18s;
}
#oddily .oddil:hover{color:var(--c1)}
#oddily .oddily + .H3{
  margin-top:0;
  margin-bottom:30px;
  font-size:28px;
  letter-spacing:.02em;
}
.akce-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.akce-card{
  border:2px solid transparent;
  background:var(--c8);
  border-radius:8px;
  overflow:hidden;
  min-height:236px;
  transition:border-color .18s ease, background-color .18s ease;
}
.akce-card:hover{
  border-color:var(--c1);
  background:var(--white);
}
.akce-bd{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:18px 16px 14px;
}
.akce-title{
  font-size:22px;
  font-weight:var(--tj-h5-weight);
  letter-spacing:0;
  line-height:1.08;
  color:var(--black);
  margin:0 0 8px;
}
.akce-name{
  font-size:12px;
  font-weight:400;
  line-height:1.35;
  color:var(--black);
  margin:0 0 26px;
}
.akce-meta{
  display:grid;
  gap:0;
  margin-top:auto;
}
.akce-row{
  display:grid;
  grid-template-columns:52px 1fr;
  align-items:center;
  column-gap:10px;
  padding:9px 0 8px;
  border-top:1px solid var(--c1);
}
.akce-row span{
  font-size:12px;
  font-weight:400;
  color:var(--black);
}
.akce-row strong{
  justify-self:start;
  font-size:12px;
  font-weight:700;
  color:var(--black);
}

/* SPORTOVIŠTĚ */
.sec-title{
  font-weight:900;
  font-size:60px;
  letter-spacing:4px;
  text-align:center;
  line-height:1.05;
  margin-bottom:48px;
  color:var(--black);
}
.place_list{
  display:grid;
  grid-template-columns:repeat(3,260px);
  gap:86px 70px;
  justify-content:space-between;
  align-items:stretch;
  max-width:980px;
  margin:0 auto;
}
.misto{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:#f2f2ef;
  text-decoration:none;
  border:none;
  padding:36px 28px 30px;
  min-height:260px;
  color:var(--c2);
  transition:background-color .18s ease;
}
.misto:hover{
  background:#efefeb;
}
.misto svg,
.misto-ico{
  width:100%;
  max-width:170px;
  height:98px;
  margin-bottom:26px;
  color:inherit;
  object-fit:contain;
}
.misto strong{
  display:block;
  font-weight:700;
  font-size:18px;
  text-transform:uppercase;
  text-align:center;
  letter-spacing:.01em;
  line-height:1.35;
  margin-bottom:6px;
  color:var(--black);
}
.misto span{
  display:block;
  font-size:14px;
  font-weight:400;
  color:var(--black);
  text-align:center;
}

/* ODDÍL DETAIL */
.oddil-page{
  background:var(--white);
  padding:54px 0 70px;
}
.oddil-page-wrap{
  max-width:var(--tj-content-width);
  margin:0 auto;
  display:grid;
  grid-template-columns:220px 1fr;
  column-gap:72px;
  align-items:start;
}
.oddil-nav{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.oddil-nav-link{
  display:block;
  font-size:15px;
  font-weight:700;
  color:var(--black);
  text-decoration:none;
  line-height:1.3;
  padding:0 0 2px;
  border-bottom:1px solid transparent;
}
.oddil-nav-link:hover{
  color:var(--c1);
}
.oddil-nav-link.is-active{
  border-bottom-color:var(--c1);
}
.oddil-content{
  max-width:828px;
}
.oddil-detail-title{
  text-align:left;
  margin:0 0 28px;
}
.oddil-intro{
  margin:0 0 30px;
  max-width:760px;
}
.oddil-section{
  margin-bottom:36px;
}
.oddil-section-title{
  text-align:left;
  margin:0 0 14px;
  letter-spacing:.01em;
}
.oddil-subsection-title{
  margin-top:20px;
}
.oddil-kontakt{
  margin-bottom:18px;
}
.oddil-kontakt-role{
  margin:0 0 2px;
  text-transform:none;
}
.oddil-kontakt-name{
  margin:0 0 2px;
  font-size:14px;
  line-height:1.45;
}
.oddil-kontakt-line{
  margin:0;
  font-size:14px;
  line-height:1.4;
  display:flex;
  align-items:center;
  gap:5px;
}
.oddil-kontakt-line a{
  color:var(--black);
  text-decoration:none;
}
.oddil-kontakt-line a:hover{
  color:var(--c1);
}
.oddil-kontakt-icon{
  color:var(--c1);
  font-size:14px;
}
.oddil-kontakt-icon-mail{
  font-weight:700;
  font-size:17px;
  line-height:1;
}
.oddil-text-block{
  margin:0;
  font-size:15px;
  line-height:1.62;
}
.oddil-link-line{
  margin:0 0 4px;
  font-size:15px;
  line-height:1.42;
}
.oddil-link-line a{
  color:var(--black);
  text-decoration:none;
}
.oddil-link-line a:hover{
  color:var(--c1);
}
.oddil-sportoviste-section{
  margin-top:26px;
}
.oddil-sportoviste-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.oddil-misto{
  background:var(--white);
  border:1px solid #f0f0ec;
  min-height:286px;
}
.oddil-souteze-section{
  margin-top:10px;
}
.oddil-souteze-list p{
  margin:0;
  font-size:15px;
  font-weight:400;
  line-height:1.42;
}
.oddil-aktuality-section{
  margin-top:34px;
}

/* AKTUALITY */
#aktuality .wrap{
  max-width:var(--tj-content-width);
  padding:0;
}
#oddil-aktuality .wrap{
  max-width:var(--tj-content-width);
  padding:0;
}
.news-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:80px;
}
.news-card{
  border:0;
  display:flex;
  flex-direction:column;
  background:var(--c8);
  border-radius:14px 14px 0 0;
  overflow:hidden;
  min-height:330px;
  box-shadow:none;
}
.news-hd{
  background:var(--c1);
  display:flex;
  align-items:center;
  min-height:62px;
  padding:14px 18px;
  border-radius:14px 14px 0 0;
}
.news-svc{
  font-weight:900;
  font-size:20px;
  color:var(--white);
  letter-spacing:.01em;
  line-height:1.15;
}
.news-bd{
  padding:16px 18px 22px;
  background:transparent;
}
.news-date{
  font-size:12px;
  color:#9a9a9a;
  margin-bottom:9px;
}
.news-title{
  font-weight:700;
  font-size:25px;
  margin-bottom:10px;
  line-height:1.05;
  letter-spacing:0;
  color:var(--black);
}
.news-text{
  font-size:13px;
  line-height:1.5;
  color:var(--black);
}
.news-text p+p{margin-top:10px}

/* POUKÁZKY */
.poukazky-title-band{
  background:var(--white);
  padding:56px 0 30px;
}
.poukazky-title-band .H2{margin-bottom:0}
.poukazky-content-band{
  background:var(--c8);
  padding:40px 0 64px;
}
.pou-row{
  display:flex;
  align-items:center;
  gap:72px;
  justify-content:center;
  flex-wrap:nowrap;
  max-width:1060px;
  margin:0 auto;
}
.pou-icon-wrap{width:340px;flex-shrink:0;display:flex;justify-content:center}
.pou-icon-svg{width:100%;max-width:320px;height:auto;display:block}
.pou-text{max-width:600px;flex:1}
.giftcards-heading{
  font-size:23px;
  font-weight:700;
  letter-spacing:.5px;
  line-height:1.35;
  margin:0 0 18px;
  color:var(--black);
}
.pou-services{
  font-weight:700;
  font-size:18px;
  letter-spacing:1px;
  text-transform:uppercase;
  margin:0 0 18px;
  color:var(--black);
}

/* PARTNEŘI — skutečná loga SVG */
.partners-section{padding:0;background:var(--c8)}
.partners-title-band{
  background:var(--white);
  padding:40px 0 34px;
}
.partners-title-band .H3{margin:0;color:var(--black)}
.partners-subtitle{
  margin:14px auto 0;
  max-width:740px;
  text-align:center;
  color:#4a4a4a;
}
.partners-logos-band{
  background:var(--c8);
  padding:42px 0 38px;
}
.part-row{
  --partners-logo-gap:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:var(--partners-logo-gap);
  max-width:var(--tj-content-width);
  margin:0 auto;
}
.part-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  height:56px;
  transition:opacity .18s;
  cursor:pointer;
}
.part-logo:hover{opacity:.82}
.part-logo svg,.part-logo img{max-height:56px;max-width:100%;width:auto}
.part-logo-fallback{
  font-size:12px;
  color:#666;
}
.partner-glyph{
  display:inline-block;
  font-size:64px;
  line-height:1;
  color:var(--black);
}
.part-logo--turnov .partner-glyph{font-size:66px}
.part-logo--rohozec .partner-glyph{font-size:73px}
.part-logo--liberecky-kraj .partner-glyph{font-size:62px}
.part-logo--zikuda .partner-glyph{font-size:66px}
.part-logo--crytur .partner-glyph{font-size:58px}
.partner-links{
  margin:35px auto 0;
  max-width:824px;
  column-count:4;
  column-gap:58px;
}
.partner-link{
  display:block;
  break-inside:avoid;
  margin:0 0 2px;
  padding:0;
  text-decoration:none;
  color:var(--black);
  border:0;
  background:transparent;
  font-size:12px;
  font-weight:400;
  line-height:1.36;
  transition:color .18s;
}
a.partner-link:hover{
  color:var(--c1);
}
.partner-main-inline{
  color:#2d2d2d;
  font-weight:400;
  margin-left:4px;
}

/* O NÁS */
.about-page{
  padding-top:0;
}
.about-hero{
  width:100%;
  height:320px;
  overflow:hidden;
  background:var(--black);
}
.about-hero img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 28%;
  display:block;
}
.about-section{
  background:var(--white);
  padding:62px 0 76px;
}
.about-wrap{
  max-width:820px;
  margin:0 auto;
  padding:0 24px;
}
.about-title{
  font-weight:900;
  font-size:44px;
  line-height:1.05;
  letter-spacing:.02em;
  text-align:center;
  margin:0 0 32px;
  color:var(--black);
}
.about-lead{
  max-width:720px;
  margin:0 auto 54px;
  text-align:center;
  font-size:18px;
  line-height:1.45;
  font-weight:700;
  color:var(--black);
}
.about-copy{
  color:var(--black);
}
.about-copy h2{
  font-weight:900;
  font-size:28px;
  line-height:1.15;
  letter-spacing:.02em;
  text-align:center;
  margin:0 0 18px;
}
.about-copy h2:not(:first-child){
  margin-top:38px;
}
.about-copy p{
  margin:0 0 15px;
  font-size:13px;
  line-height:1.62;
  font-weight:400;
  color:#2f2f2f;
}

/* KONTAKT */
.kontakt-section{
  width:100%;
  background:var(--white);
  padding:0;
}
.kontakt-wrap{
  max-width:var(--tj-content-width);
  margin:0 auto;
}
.kontakt-title{
  margin-bottom:44px;
}
.kontakt-layout{
  display:grid;
  grid-template-columns:minmax(0, 420px) minmax(0, 1fr);
  column-gap:102px;
  align-items:start;
}
.kontakt-map{
  width:100%;
  overflow:hidden;
  background:var(--c8);
}
.kontakt-map img{
  width:100%;
  height:auto;
  display:block;
}
.kontakt-info{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:50px;
  align-items:start;
}
.kontakt-col{
  font-size:12px;
  line-height:1.45;
  color:var(--black);
}
.kontakt-col p{
  margin:0 0 22px;
}
.kontakt-col strong{
  font-weight:700;
}
.kontakt-col a{
  color:inherit;
  text-decoration:none;
}

/* KONTAKTY (legacy contacts page) */
.contacts-page{
  padding-top:0;
}
.contacts-section{
  background:var(--c8);
}
.contacts-lead{
  max-width:920px;
  margin:0 auto 34px;
  text-align:center;
}
.contacts-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.contact-card{
  background:var(--white);
  border:1px solid #e6e6e6;
  border-top:4px solid var(--c1);
  border-radius:14px;
  padding:22px 20px 20px;
}
.contact-card .H4{
  margin:0 0 10px;
}
.contact-card .PARA{
  margin:0 0 14px;
  color:#2f2f2f;
}
.contact-card .PARA:last-child{
  margin-bottom:0;
}
.contact-card a{
  color:var(--black);
  text-decoration:underline;
  text-decoration-color:var(--c3);
  text-underline-offset:2px;
  transition:color .18s ease, text-decoration-color .18s ease;
}
.contact-card a:hover{
  color:var(--c1);
  text-decoration-color:var(--c1);
}
.contact-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
  font-size:14px;
  line-height:1.65;
  color:#2f2f2f;
}
.contact-list li{
  padding-bottom:12px;
  border-bottom:1px solid #ececec;
}
.contact-list li:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.contacts-note{
  margin-top:22px;
  background:var(--white);
  border:1px solid #e6e6e6;
  border-radius:14px;
  padding:20px 22px;
}
.contacts-note .H5{
  margin:0 0 8px;
}
.contacts-note .PARA{
  margin:0;
  color:#2f2f2f;
}

/* ERROR PAGES */
.error-page{padding-top:0}
.error-card{
  max-width:760px;
  margin:0 auto;
  background:var(--white);
  border-left:6px solid var(--c1);
  border-radius:14px;
  padding:30px 28px;
  box-shadow:0 8px 22px rgba(0,0,0,.08);
  text-align:left;
}
.error-code{
  font-size:3.25rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.02em;
  color:var(--c1);
  margin:0 0 10px;
}
.error-title{
  text-align:left;
  margin-bottom:10px;
}
.error-text{
  margin-bottom:22px;
  color:#2f2f2f;
}
.error-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* VIDEO */
.video-wrap{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden;cursor:pointer;margin-bottom:32px}
.video-wrap img{width:100%;height:100%;object-fit:cover;opacity:.65;display:block}
.play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;transition:transform .2s}
.play:hover{transform:translate(-50%,-50%) scale(1.08)}
.play::after{content:'';border-left:22px solid #111;border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:6px}

/* UTILS */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.info-box{background:var(--c8);padding:22px}
.map-wrap{height:220px;background:#ccc;overflow:hidden}
.mb8{margin-bottom:8px}.mb16{margin-bottom:16px}.mb24{margin-bottom:24px}.mb32{margin-bottom:32px}

/* FOOTER — Lovable style */
footer{background:var(--black);color:#b8b8b8;padding:64px 0 22px}
.foot-grid{
  display:grid;
  grid-template-columns:auto 1.1fr 1.1fr 1fr;
  gap:44px;
  margin-bottom:44px;
  align-items:start;
}
.foot-brand{padding-top:4px}
.foot-logo{
  display:inline-block;
  color:var(--white);
  font-size:27px;
  line-height:1;
  text-decoration:none;
}
.foot-logo.icon-logo{
  letter-spacing:0;
}
.foot-logo.icon-logo:before{
  font-size:1em;
  line-height:1;
}
.foot-heading{
  color:var(--c1);
  font-weight:900;
  font-size:20px;
  margin:0 0 14px;
  letter-spacing:.02em;
}
.foot-p{
  font-size:14px;
  color:#b8b8b8;
  line-height:1.85;
  margin:0 0 18px;
}
.foot-p:last-child{margin-bottom:0}
.foot-p a{color:#b8b8b8;transition:color .18s}
.foot-p a:hover{color:var(--c1)}
.foot-p strong{color:inherit;font-weight:700}
.foot-open{color:var(--white);font-weight:700}
.foot-nav-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 24px;
  margin-bottom:26px;
}
.foot-nav{list-style:none;margin:0;padding:0}
.foot-nav li{margin-bottom:10px}
.foot-nav a{
  font-size:14px;
  color:#cfcfcf;
  transition:color .18s;
}
.foot-nav a:hover{color:var(--c1)}
.foot-soc{display:flex;gap:12px;margin-top:8px}
.foot-soc a{
  width:38px;height:38px;
  border-radius:50%;
  border:2px solid var(--c1);
  display:flex;align-items:center;justify-content:center;
  color:var(--c1);
  transition:background .18s ease,color .18s ease;
}
.foot-soc a:hover{background:var(--c1);color:var(--white)}
.foot-soc svg{width:18px;height:18px;fill:currentColor;stroke:currentColor}
.foot-soc svg[fill="none"]{fill:none}
.foot-bottom{
  border-top:1px solid #1e1e1e;
  padding-top:22px;
  text-align:center;
}
.foot-bottom p{font-size:13px;color:#888;margin:0}

/* RESPONSIVE */
@media (max-width:1024px){
  #target_header>.wrapper{
    width:100%;
    margin:0;
    padding:12px 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    text-align:left;
    gap:14px;
  }
  #target_header>.wrapper>a.logo{
    position:static;
    display:flex;
    align-items:center;
    font-size:1.1rem;
    margin:0;
    flex:0 0 auto;
  }
  #target_header>.wrapper>a.logo.icon-logo:before{font-size:1.7em}
  #target_header>.wrapper>a.rezervace{
    position:static;
    transform:none;
    margin:0 auto 0 0;
    border-radius:12px;
    padding:10px 16px;
    width:auto;
    font-size:1rem;
    line-height:1.05;
    text-align:center;
    flex:0 0 auto;
  }
  #target_header>.wrapper>a.soc{
    margin:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border:2px solid var(--c1);
    border-radius:50%;
    line-height:1;
    font-size:0;
    flex:0 0 auto;
  }
  #target_header>.wrapper>a.soc:before{
    margin:0;
    width:auto;
    height:auto;
    font-size:1.35rem;
  }
  #target_header>.wrapper>a.soc.phone{display:none}
  #target_header>.wrapper>a.soc.icon-instagram,
  #target_header>.wrapper>a.soc.icon-login,
  #target_header>.wrapper>#menu{display:none}
  #target_header>.wrapper>a.soc.icon-facebook{margin-left:auto}
  #target_header>nav.menu{
    position:static;
    top:auto;
    z-index:auto;
    box-shadow:none;
    width:100%;
    padding:0;
    margin:0;
    background:var(--white);
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    overflow:hidden;
    border-top:1px solid #e9e9e9;
  }
  #target_header>nav.menu>a{
    display:none;
    margin:0;
    clip-path:none;
    text-align:center;
    padding:16px 8px;
    font-size:clamp(.95rem,2.35vw,1.3rem);
    font-weight:700;
    line-height:1.15;
    white-space:normal;
    word-break:keep-all;
    overflow-wrap:anywhere;
    border-right:1px solid #efefef;
  }
  #target_header>nav.menu>a:nth-child(-n+4){display:block}
  #target_header>nav.menu>a:nth-child(4){border-right:0}
  .hero-news-band{margin-top:-72px}
  .hero-news-band .wrap{padding:0 34px}
  .hero-news-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:70px}
  #aktuality .wrap{padding:0 34px}
  #oddil-aktuality .wrap{padding:0 34px}
  .news-grid{gap:70px}
  .split{grid-template-columns:1fr}
  .split-img{height:260px;min-height:auto}
  .sportovni-hala-actions{gap:72px}
  .tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
  .H2{font-size:44px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  .foot-brand{grid-column:1/-1}
  .contacts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-sections{
    gap:var(--tj-section-gap-tablet);
    padding-top:var(--tj-section-gap-tablet);
  }
}

@media (max-width:768px){
  #target_header>.wrapper{
    padding:10px 14px;
    gap:8px;
  }
  #target_header>.wrapper>a.logo.icon-logo:before{font-size:1.55em}
  #target_header>.wrapper>a.rezervace{
    padding:9px 10px;
    font-size:.88rem;
  }
  #target_header>.wrapper>a.soc{width:34px;height:34px;border-width:2px}
  #target_header>.wrapper>a.soc:before{font-size:1.08rem}
  #target_header>nav.menu>a{
    padding:14px 6px;
    font-size:.9rem;
    letter-spacing:.01em;
  }

  .H2{font-size:32px;letter-spacing:2px}
  .H3{font-size:20px;letter-spacing:2px}
  .sec-title{font-size:32px;letter-spacing:2px;margin-bottom:32px}
  .two-col{grid-template-columns:1fr}

  #oddily .wrap{width:auto;max-width:1024px;padding:0 40px}
  #oddily .oddily{grid-template-columns:1fr 1fr}
  #oddily .oddil{font-size:18px;padding:8px 0}
  .akce-grid{grid-template-columns:repeat(2,1fr)}
  .akce-grid--swipe{
    display:flex;
    flex-wrap:nowrap;
    gap:10px;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x;
    scrollbar-width:none;
    -ms-overflow-style:none;
    padding:0 10px 6px 0;
  }
  .akce-grid--swipe .akce-card{
    flex:0 0 calc((100% - 10px)/1.5);
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .akce-grid--swipe::-webkit-scrollbar{display:none}

  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile-cap{font-size:23px;line-height:1.1;padding:14px}

  .place_list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .misto{padding:30px 18px 24px;min-height:170px}
  .misto svg,.misto-ico{max-width:100px;height:56px;margin-bottom:16px}
  .misto strong{font-size:18px}
  .misto span{font-size:14px}

  .news-grid{grid-template-columns:1fr}
  .news-title{font-size:19px}
  .news-hd{padding:12px 18px;min-height:0}
  .news-bd{padding:18px 20px 20px}

  .hero img{height:340px}
  .hero-news-band{
    margin-top:0;
    padding:14px 0 0;
  }
  .hero-news-grid{grid-template-columns:1fr;gap:14px}

  .part-row{--partners-logo-gap:28px}
  .part-logo{height:42px}
  .part-logo img{max-height:42px}
  .partner-glyph{font-size:48px}
  .part-logo--turnov .partner-glyph{font-size:50px}
  .part-logo--rohozec .partner-glyph{font-size:56px}
  .part-logo--liberecky-kraj .partner-glyph{font-size:46px}
  .part-logo--zikuda .partner-glyph{font-size:50px}
  .part-logo--crytur .partner-glyph{font-size:43px}
  .partner-links{
    column-count:2;
    column-gap:24px;
  }
  .partner-link{
    font-size:13px;
    line-height:1.4;
  }
  .oddil-page{padding:44px 0 58px}
  .oddil-page-wrap{
    grid-template-columns:1fr;
    row-gap:26px;
    padding:0 34px;
  }
  .oddil-nav{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px 20px;
  }
  .oddil-nav-link{
    font-size:14px;
    line-height:1.25;
  }
  .oddil-content{max-width:none}
  .oddil-souteze-list p{font-size:14px}
  .kontakt-layout{
    grid-template-columns:1fr;
    row-gap:28px;
  }
  .kontakt-map{height:auto}
  .kontakt-info{column-gap:34px}
  .kontakt-col{font-size:14px}
  .about-hero{height:280px}
  .about-section{padding:48px 0 60px}
  .about-title{font-size:36px;margin-bottom:24px}
  .about-lead{font-size:16px;margin-bottom:42px}
  .contacts-grid{grid-template-columns:1fr}
  .error-card{padding:22px 20px}

  .pou-row{flex-wrap:wrap;gap:20px}
  .pou-icon-wrap{width:100%}
  .giftcards-heading{font-size:20px}
  .pou-services{font-size:15px}

  .foot-grid{grid-template-columns:1fr 1fr;gap:28px}
  .sportcentrum-head{margin-bottom:28px}
  .sc-actions{gap:28px}
  .sc-action{min-width:84px;font-size:12px}
  .sc-action__icon{font-size:44px}
  .sportovni-hala-title{margin-bottom:26px}
  .sportovni-hala-actions{
    gap:28px;
    margin-bottom:30px;
  }
  .sportovni-hala-action{min-width:84px;font-size:12px}
  .sportovni-hala-action__icon{font-size:48px}
  .home-sections{
    gap:var(--tj-section-gap-mobile);
    padding-top:var(--tj-section-gap-mobile);
  }
}

@media (max-width:520px){
  #oddily .wrap{width:auto;padding:0 24px}
  #oddily .oddily{grid-template-columns:1fr}
  .tiles{grid-template-columns:1fr 1fr}
  .tile-cap{font-size:19px;padding:12px}
  .partner-links{column-count:1}
  .akce-grid{grid-template-columns:1fr}
  .akce-grid--swipe{
    gap:10px;
    padding-right:10px;
  }
  .place_list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-grid{grid-template-columns:1fr;gap:24px}
  .H2{font-size:26px}
  .sec-title{font-size:26px;letter-spacing:2px}
  .kontakt-section{padding:46px 0 52px}
  .kontakt-wrap{padding:0 20px}
  .kontakt-title{margin-bottom:30px}
  .kontakt-map{height:auto}
  .kontakt-info{grid-template-columns:1fr;row-gap:8px}
  .kontakt-col{font-size:14px}
  .kontakt-col p{margin-bottom:18px}
  .oddil-page{
    padding:32px 0 42px;
  }
  .oddil-page-wrap{
    padding:0 20px;
    row-gap:20px;
  }
  .oddil-nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 14px;
  }
  .oddil-nav-link{
    font-size:13px;
    line-height:1.25;
  }
  .oddil-detail-title{margin-bottom:20px}
  .oddil-section-title{margin-bottom:10px}
  .oddil-sportoviste-grid{grid-template-columns:1fr;gap:14px}
  .oddil-misto{min-height:250px}
  .oddil-souteze-list p{
    font-size:14px;
    line-height:1.45;
  }
  .about-hero{height:220px}
  .about-section{padding:38px 0 48px}
  .about-wrap{padding:0 18px}
  .about-title{font-size:32px}
  .about-lead{font-size:15px}
  .about-lead br{display:none}
  .about-copy h2{font-size:24px}
  .about-copy p{font-size:12px;line-height:1.65}
  .news-title{font-size:18px}
  .foot-nav-grid{grid-template-columns:1fr 1fr}
  .home-sections{
    gap:var(--tj-section-gap-xs);
    padding-top:var(--tj-section-gap-xs);
  }
}

/* ====================================================
   DETAIL SLUŽBY SPORTCENTRA (/sportcentrum/{slug})
   ==================================================== */
.sluzba-page{
  background:var(--white);
  padding:54px 0 70px;
}
.sluzba-page-wrap{
  max-width:var(--tj-content-width);
  margin:0 auto;
  display:grid;
  grid-template-columns:220px 1fr;
  column-gap:72px;
  align-items:start;
}
.sluzba-nav{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.sluzba-nav-link{
  display:block;
  font-size:15px;
  font-weight:700;
  color:var(--black);
  text-decoration:none;
  line-height:1.3;
  padding:0 0 2px;
  border-bottom:1px solid transparent;
}
.sluzba-nav-link:hover{color:var(--c1)}
.sluzba-nav-link.is-active{border-bottom-color:var(--c1)}
.sluzba-nav-meta{
  margin-top:22px;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.sluzba-nav-meta a{
  font-size:14px;
  color:var(--black);
  text-decoration:none;
}
.sluzba-nav-meta a:hover{color:var(--c1)}
.sluzba-content{
  max-width:828px;
}
.sluzba-page-title{
  text-align:left;
  margin:0 0 22px;
}
.sluzba-page-text{
  margin:0 0 30px;
  max-width:760px;
}
.sportoviste-detail-address{
  margin:0 0 18px;
  font-size:14px;
  font-weight:700;
  color:var(--black);
}
.sportoviste-detail-image,
.sportcentrum-page-image{
  width:100%;
  max-width:760px;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
  border-radius:14px;
  margin:0 0 26px;
}
.sportoviste-detail-text{
  white-space:normal;
}
.sportoviste-cenik-table{
  width:100%;
  max-width:760px;
}
.sportoviste-cenik-table th,
.sportoviste-cenik-table td{
  vertical-align:top;
}
.sluzba-block{
  margin-bottom:34px;
}
.sluzba-block-title{
  margin:0 0 12px;
  text-align:left;
  letter-spacing:.01em;
}
.sluzba-video-frame{
  width:100%;
  max-width:760px;
  aspect-ratio:16/9;
  background:var(--black);
  position:relative;
  overflow:hidden;
}
.sluzba-video-frame iframe,
.sluzba-video-lazy{
  width:100%;
  height:100%;
  border:0;
}
.sluzba-video-lazy{
  display:block;
  position:relative;
  padding:0;
  cursor:pointer;
  background:var(--black);
}
.sluzba-video-lazy img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  opacity:.86;
  transition:opacity .18s ease, transform .18s ease;
}
.sluzba-video-lazy:hover img,
.sluzba-video-lazy:focus-visible img{
  opacity:1;
  transform:scale(1.015);
}
.sluzba-video-play{
  position:absolute;
  left:50%;
  top:50%;
  width:86px;
  height:60px;
  transform:translate(-50%,-50%);
  border-radius:18px;
  background:rgba(0,0,0,.62);
}
.sluzba-video-play::before{
  content:"";
  position:absolute;
  left:34px;
  top:18px;
  width:0;
  height:0;
  border-top:12px solid transparent;
  border-bottom:12px solid transparent;
  border-left:20px solid var(--white);
}
.sluzba-video-lazy:hover .sluzba-video-play,
.sluzba-video-lazy:focus-visible .sluzba-video-play{
  background:var(--c2);
}
.sluzba-cenik-sub{
  font-weight:700;
  font-size:33px;
  color:var(--black);
  margin-bottom:10px;
}
.sluzba-cenik-group{
  margin-bottom:28px;
}
.sluzba-cenik-group:last-of-type{
  margin-bottom:0;
}
.cenik-matrix-wrap{overflow-x:auto}
.cenik-matrix{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
  min-width:640px;
}
.cenik-matrix th,
.cenik-matrix td{
  padding:9px 10px;
  text-align:left;
  border-bottom:1px solid rgba(63,186,184,.55);
}
.cenik-matrix__groups th{
  font-weight:700;
  color:var(--black);
  border-top:1px solid rgba(63,186,184,.55);
  background:transparent;
}
.cenik-matrix__groups th+th{border-left:1px solid rgba(63,186,184,.55)}
.cenik-matrix__sub th{
  font-weight:400;
  font-size:14px;
  color:var(--black);
  background:rgba(63,186,184,.09);
}
.cenik-matrix tbody td{
  font-weight:700;
  color:var(--black);
  background:var(--white);
}
.cenik-matrix tbody td+td{border-left:1px solid rgba(63,186,184,.55)}
.cenik-poznamka{
  margin-top:8px;
  font-size:14px;
  color:var(--black);
}
.sluzba-map-wrap{
  width:100%;
  max-width:760px;
  height:360px;
  overflow:hidden;
  margin-bottom:16px;
}
.sluzba-map-wrap iframe{
  width:100%;
  height:100%;
  border:0;
}
.kontakt-box{
  background:transparent;
  padding:0;
  font-size:14px;
  line-height:1.6;
  color:var(--black);
}
.kontakt-name{
  font-weight:700;
  font-size:18px;
  color:var(--black);
  margin-bottom:8px;
}
.kontakt-line{margin-bottom:0}
.kontakt-line--pre{white-space:pre-line}
.sluzba-open{
  margin-top:14px;
}
.sluzba-open-title{
  font-size:18px;
  font-weight:700;
  margin-bottom:4px;
}
.sluzba-open-line{
  font-size:14px;
  line-height:1.5;
}
#sluzba-aktuality .wrap{
  max-width:var(--tj-content-width);
  padding:0;
}

/* Rezervace */
.rezervace-page{
  background:var(--white);
  padding:54px 0 72px;
}
.rezervace-title{
  margin-bottom:16px;
}
.rezervace-lead{
  max-width:760px;
  margin:0 auto 32px;
  text-align:center;
}
.rezervace-choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-bottom:44px;
}
.rezervace-choice,
.rezervace-rule{
  background:var(--c8);
  border-radius:14px;
  padding:24px 24px 26px;
}
.rezervace-choice .H5,
.rezervace-rule .H5{
  margin:0 0 10px;
}
.rezervace-choice .PARA,
.rezervace-rule .PARA{
  margin:0 0 12px;
  color:var(--black);
}
.rezervace-choice .PARA:last-child,
.rezervace-rule .PARA:last-child{
  margin-bottom:0;
}
.rezervace-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:8px;
  min-height:42px;
  padding:10px 18px;
  background:var(--c1);
  color:var(--white);
  border-radius:999px;
  font-weight:700;
  font-size:14px;
  text-decoration:none;
}
.rezervace-button:hover{
  background:var(--black);
}
.rezervace-rules > .H3{
  margin:0 0 22px;
}
.rezervace-rules > .rezervace-rule{
  margin-bottom:18px;
}
.rezervace-rules-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.rezervace-rule a{
  color:var(--black);
  text-decoration:underline;
  text-decoration-color:var(--c1);
  text-underline-offset:2px;
}
.sportcentrum-prehled-page .sc-actions{
  margin:0 auto 42px;
}
.sportcentrum-prehled-section{
  scroll-margin-top:120px;
  padding-top:12px;
  margin-bottom:48px;
}
.sportcentrum-prehled-section:last-child{
  margin-bottom:0;
}
.sportcentrum-prehled-section__title{
  margin:0 0 18px;
  text-align:left;
}
.sportcentrum-hours-group{
  margin-bottom:28px;
}
.sportcentrum-hours-group:last-child{
  margin-bottom:0;
}
.sportcentrum-hours-group__title{
  margin:0 0 10px;
}
.sportcentrum-hours-group__title a{
  color:inherit;
  text-decoration:none;
}
.sportcentrum-hours-group__title a:hover{
  color:var(--c1);
}
.sportcentrum-info-page .rezervace-rules{
  max-width:820px;
  margin:0 auto;
}
.sportcentrum-info-page .rezervace-rule{
  margin-bottom:18px;
}
.sportcentrum-info-list{
  margin:0;
  padding-left:22px;
  font-size:14px;
  line-height:1.65;
  color:var(--black);
}
.sportcentrum-info-list li{
  margin-bottom:8px;
}
.sportcentrum-info-list li:last-child{
  margin-bottom:0;
}

@media (max-width:1024px){
  .sluzba-page{
    padding:44px 0 58px;
  }
  .sluzba-page-wrap{
    grid-template-columns:1fr;
    row-gap:26px;
    padding:0 34px;
  }
  .sluzba-nav{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px 20px;
  }
  .sluzba-nav-link{font-size:14px;line-height:1.25}
  .sluzba-nav-meta{
    margin-top:10px;
    grid-column:1/-1;
  }
  #sluzba-aktuality .wrap{padding:0 34px}
  .rezervace-wrap{padding:0 34px}
}

@media (max-width:768px){
  .sluzba-page{
    padding:32px 0 42px;
  }
  .sluzba-page-wrap{
    padding:0 20px;
    row-gap:20px;
  }
  .sluzba-nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 14px;
  }
  .sluzba-nav-link{
    font-size:13px;
    line-height:1.25;
  }
  .sluzba-page-title{margin-bottom:16px}
  .sluzba-page-text{margin-bottom:22px}
  .sluzba-cenik-sub{font-size:24px}
  .cenik-matrix{min-width:560px}
  .sluzba-map-wrap{height:260px}
  .kontakt-name{font-size:16px}
  #sluzba-aktuality .wrap{padding:0 20px}
  .rezervace-page{padding:36px 0 48px}
  .rezervace-wrap{padding:0 20px}
  .rezervace-choice-grid,
  .rezervace-rules-grid{grid-template-columns:1fr}
}
