/*
 * ClubKlar – Vereinssoftware
 * Eigenentwicklung von ClubKlar
 * © 2026 ClubKlar – Alle Rechte vorbehalten.
 */

:root { --ck-header-fixed-height: 92px; }
html { scroll-padding-top: calc(var(--ck-header-fixed-height) + 14px) !important; }
body { padding-top: 0 !important; }
.topbar.ck-header-original-fixed {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 999999 !important;
  margin: 0 !important;
  background: rgba(6,7,10,.96) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.08);
  backdrop-filter: blur(14px) saturate(1.08);
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 .45rem 1.25rem rgba(0,0,0,.48) !important;
  transform: none !important;
}
.topbar.ck-header-original-fixed .topbar-inner {
  min-height: var(--ck-header-fixed-height) !important;
}
.site-shell.ck-header-fixed-offset {
  padding-top: var(--ck-header-fixed-height) !important;
  margin-top: 0 !important;
}
.site-shell.ck-header-fixed-offset .site-main {
  margin-top: 0 !important;
}
@media (max-width: 900px) {
  :root { --ck-header-fixed-height: 92px; }
  .topbar.ck-header-original-fixed .brand-title {
    line-height: 1.06 !important;
  }
  .topbar.ck-header-original-fixed .brand-sub {
    line-height: 1.1 !important;
  }
  .topbar.ck-header-original-fixed .main-nav a {
    font-size: 1.08em !important;
    line-height: 1.35 !important;
  }
}
@media (max-width: 430px) {
  :root { --ck-header-fixed-height: 88px; }
  .topbar.ck-header-original-fixed .main-nav a {
    font-size: 1.1em !important;
  }
}

.ck-kids-youth-page .ck-kids-benefit-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(14px, 2vw, 22px) !important;
  align-items: stretch !important;
}
.ck-kids-youth-page .ck-kids-benefit-grid > .section-card {
  margin: 0 !important;
  align-self: stretch !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  box-sizing: border-box !important;
}
.ck-kids-youth-page .ck-kids-benefit-grid > .section-card h3 {
  margin-top: 0 !important;
}
@media (max-width: 760px) {
  .ck-kids-youth-page .ck-kids-benefit-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 900px) {
  .topbar.ck-header-original-fixed .main-nav a {
    font-size: 1.03em !important;
    line-height: 1.32 !important;
  }
  .topbar.ck-header-original-fixed .main-nav.ck-menu-open,
  .topbar.ck-header-original-fixed.ck-menu-open .main-nav,
  .topbar.ck-header-original-fixed .mobile-nav-toggle[aria-expanded="true"] + .main-nav,
  .topbar.ck-header-original-fixed .main-nav.is-open,
  .topbar.ck-header-original-fixed .main-nav.open,
  .topbar.ck-header-original-fixed .main-nav.active {
    border: 3px solid rgba(207,32,41,.96) !important;
    border-top: 3px solid rgba(207,32,41,.96) !important;
    border-right: 3px solid rgba(207,32,41,.96) !important;
    border-bottom: 3px solid rgba(207,32,41,.96) !important;
    border-left: 3px solid rgba(207,32,41,.96) !important;
    border-radius: 22px !important;
    box-sizing: border-box !important;
    box-shadow: 0 16px 38px rgba(0,0,0,.48), 0 0 0 1px rgba(255,255,255,.05) inset !important;
  }
}
@media (max-width: 430px) {
  .topbar.ck-header-original-fixed .main-nav a {
    font-size: 1.04em !important;
  }
}

.ck-recaptcha-consent{display:grid;gap:10px;padding:13px 14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.025);max-width:100%;box-sizing:border-box}.ck-recaptcha-consent p{margin:0;font-size:.86rem;line-height:1.5;color:rgba(255,255,255,.74)}.ck-recaptcha-consent .btn{justify-self:start}.ck-recaptcha-consent a{color:inherit;text-decoration:underline}.ck-recaptcha-consent.is-active{padding:0;border:0;background:transparent}.ck-recaptcha-consent.is-active>p,.ck-recaptcha-consent.is-active>.btn{display:none!important}.g-recaptcha[hidden]{display:none!important;max-width:100%}.g-recaptcha iframe{max-width:100%}
@media(max-width:360px){.g-recaptcha{transform:scale(.88);transform-origin:left top;margin-bottom:-8px}}

/* CLS stabilization only: reserve the final arrow geometry before first paint. */
html body main.page-slug-home details.ck-home-fold.ck-home-fold-unified.ck-home-main-fold>summary{
  position:relative!important;list-style:none!important;list-style-type:none!important;padding-right:68px!important;
}
html body main.page-slug-home details.ck-home-fold.ck-home-fold-unified.ck-home-main-fold>summary::-webkit-details-marker{display:none!important;width:0!important;height:0!important}
html body main.page-slug-home details.ck-home-fold.ck-home-fold-unified.ck-home-main-fold>summary::marker{content:""!important;font-size:0!important;color:transparent!important}
html body main.page-slug-home details.ck-home-fold.ck-home-fold-unified.ck-home-main-fold>summary>.ck-home-main-arrow{
  position:absolute!important;left:auto!important;right:20px!important;top:50%!important;display:block!important;width:26px!important;height:26px!important;
  margin:0!important;padding:0!important;pointer-events:none!important;transform:translateY(-50%) rotate(0deg)!important;transform-origin:50% 50%!important;
}
html body main.page-slug-home details.ck-home-fold.ck-home-fold-unified.ck-home-main-fold[open]>summary>.ck-home-main-arrow{transform:translateY(-50%) rotate(180deg)!important}
html body main.page-slug-home details.ck-home-fold.ck-home-fold-unified.ck-home-main-fold>summary>.ck-home-main-arrow>svg{
  display:block!important;width:26px!important;height:26px!important;overflow:visible!important;fill:none!important;stroke:#fff!important;stroke-width:4.2!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}
@media(max-width:760px){
  html body main.page-slug-home details.ck-home-fold.ck-home-fold-unified.ck-home-main-fold>summary{padding-right:56px!important}
  html body main.page-slug-home details.ck-home-fold.ck-home-fold-unified.ck-home-main-fold>summary>.ck-home-main-arrow{right:14px!important}
}

/* Vor dem ersten Paint verbergen: verhindert den bisherigen kurzen Intro-Flash vollständig. */
html.ck-sequence-js body main.page-slug-home .ck-hero-brand-schedule .hero-title-home,
html.ck-sequence-js body main.page-slug-home .hero-card.ck-home-hero-gallery .home-hero-intro,
html.ck-sequence-js body main.page-slug-home .ck-hero-brand-schedule>.ck-hero-day{
  opacity:0!important;
  visibility:hidden!important;
}

html body main.page-slug-home .ck-trial-cta-wrap{display:flex;flex-direction:column;align-items:center;width:100%;gap:8px}
html body main.page-slug-home .ck-review-slider-section a.ck-review-trial-cta{border-radius:28px!important;margin-bottom:0!important}
html body main.page-slug-home .ck-trial-audience--variant-a{display:block;text-align:center;color:#fff;font-size:.83rem;font-weight:700;line-height:1.45}
html body main.page-slug-home .ck-trial-audience--variant-a b{color:#d94b4b;margin:0 4px;font-weight:800}
html body main.page-slug-home .ck-audience-item{display:inline-block;color:#fff;transition:color .18s ease}
@keyframes ckAudienceGreen{0%,100%{color:#fff}42%,60%{color:#aed5b6}}
html body main.page-slug-home .ck-audience-item.ck-audience-pulse{animation:ckAudienceGreen .72s ease-in-out 1 both}
@media(prefers-reduced-motion:reduce){html body main.page-slug-home .ck-audience-item{animation:none!important;transition:none!important}}
html body main.page-slug-home .ck-home-hours__actions--variant-b{display:flex;justify-content:center;margin-top:18px;padding:0 10px 2px}
html body main.page-slug-home .ck-home-hours__actions--variant-c{width:100%;box-sizing:border-box;margin-top:18px!important;margin-bottom:0!important}
html body main.page-slug-home .ck-home-hours__button--variant-a{min-width:210px;border-radius:16px!important}
.ck-map-gate{min-height:240px;display:grid;place-items:center;background:rgba(255,255,255,.02);overflow:hidden}
.ck-map-gate__placeholder{display:flex;min-height:240px;width:100%;box-sizing:border-box;padding:28px 18px;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:rgba(255,255,255,.8)}
.ck-map-gate__placeholder strong{color:#fff;font-size:1.08rem}.ck-map-gate__placeholder span{max-width:520px;line-height:1.55}.ck-map-gate iframe{display:block;width:100%;border:0}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(255,255,255,.92)!important;outline-offset:3px!important}

/* Die drei zuletzt genannten Summary-Elemente zeigen bereits beim ersten Paint keinen nativen Browser-Marker. */
#ckHomeServicesTitle,#ckHomeContactTitle,#ckHomeNewsletterTitle{display:flex!important;list-style:none!important;list-style-type:none!important;-webkit-appearance:none!important;appearance:none!important}
#ckHomeServicesTitle::-webkit-details-marker,#ckHomeContactTitle::-webkit-details-marker,#ckHomeNewsletterTitle::-webkit-details-marker{display:none!important;width:0!important;height:0!important}
#ckHomeServicesTitle::marker,#ckHomeContactTitle::marker,#ckHomeNewsletterTitle::marker{content:""!important;font-size:0!important;color:transparent!important}
#ckHomeServicesTitle::before,#ckHomeServicesTitle::after,#ckHomeContactTitle::before,#ckHomeContactTitle::after,#ckHomeNewsletterTitle::before,#ckHomeNewsletterTitle::after{content:none!important;display:none!important}
@keyframes ckFoldRedPulse{0%,100%{opacity:0;transform:scale(.995)}34%{opacity:.82;transform:scale(1)}68%{opacity:.36;transform:scale(1)}}
@keyframes ckFoldTitlePop{0%,100%{transform:scale(1)}38%{transform:scale(1.035)}68%{transform:scale(1.014)}}
@media(prefers-reduced-motion:reduce){.ck-fold-overlay,.ck-fold-title{animation:none!important;transform:none!important}}

/* Trainingszeiten-Button: sicher außerhalb der Karte, mit mehr Luft und exakt mittig. */
html body main.page-slug-home .ck-home-hours__actions--variant-b.ck-home-hours__actions--variant-c{
  display:grid!important;grid-template-columns:1fr!important;place-items:center!important;
  width:100%!important;max-width:none!important;margin:40px auto 0!important;padding:0!important;
  text-align:center!important;box-sizing:border-box!important;clear:both!important;
}
html body main.page-slug-home .ck-home-hours__actions--variant-b.ck-home-hours__actions--variant-c>.ck-home-hours__button--variant-a{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;justify-self:center!important;
  width:max-content!important;max-width:100%!important;margin:0 auto!important;float:none!important;
  position:static!important;inset:auto!important;left:auto!important;right:auto!important;transform:none!important;
}
/* Kartenansicht steht als eigene Ueberschrift oberhalb der Kartenflaeche, nicht im Lade-Platzhalter. */
.ck-map-heading{
  margin:20px 0 10px!important;padding:0!important;color:#fff!important;text-align:center!important;
  font-size:clamp(1.08rem,2vw,1.28rem)!important;line-height:1.25!important;font-weight:850!important;letter-spacing:.01em!important;
}
html body main.page-slug-home .ck-map-heading{margin-top:22px!important}
.ck-contact-location__map-wrap{min-width:0!important;width:100%!important}
.ck-contact-location__map-wrap>.ck-map-heading{margin-top:0!important}
/* Startseiten-Galerie: stärkerer, aber langsamer und ruhiger Hover-Zoom. */
html body main.page-slug-home .ck-home-gallery-thumb{overflow:hidden!important}
html body main.page-slug-home .ck-home-gallery-thumb img{
  transform:scale(1)!important;transform-origin:center center!important;
  transition:transform .38s ease!important;
  will-change:transform;
}
@media(hover:hover) and (pointer:fine){
  html body main.page-slug-home .ck-home-gallery-thumb:hover img,
  html body main.page-slug-home .ck-home-gallery-thumb:focus-visible img{transform:scale(1.070)!important}
}
/* Verbands-Abschluss: größer, grün, seriös und nur sehr dezent bewegt. */
html body .page-slug-mitgliedschaften-verbaende .ck-membership-finish{
  margin-top:26px!important;padding:22px 24px!important;
  border-color:rgba(111,201,132,.28)!important;background:rgba(55,125,72,.16)!important;
  color:#bfe7c8!important;font-size:clamp(1.18rem,2.3vw,1.58rem)!important;line-height:1.3!important;
  font-weight:900!important;letter-spacing:.012em!important;
}
@keyframes ckMembershipFinish{0%,100%{transform:translateY(0);box-shadow:0 0 0 rgba(71,150,91,0)}50%{transform:translateY(-1px);box-shadow:0 8px 24px rgba(71,150,91,.10)}}
html body .page-slug-mitgliedschaften-verbaende .ck-membership-finish{animation:ckMembershipFinish 4.8s ease-in-out infinite}
@media(max-width:760px){
  html body main.page-slug-home .ck-home-hours__actions--variant-b.ck-home-hours__actions--variant-c{margin-top:32px!important}
}
@media(prefers-reduced-motion:reduce){
  html body main.page-slug-home .ck-home-gallery-thumb img,
  html body .page-slug-mitgliedschaften-verbaende .ck-membership-finish{animation:none!important;transition:none!important;transform:none!important;will-change:auto!important}
}

html body main.page-slug-home .ck-home-posthero-gap{display:block!important;width:100%!important;height:14px!important;margin:0!important;padding:0!important}
/* Trainingszeiten-Aktion: direkt per Flexbox zentriert; Wunschabstand 34 px Desktop / 32 px mobil. */
html body main.page-slug-home .ck-home-hours__actions--variant-a{display:flex!important;width:100%!important;max-width:100%!important;margin:34px 0 0!important;padding:0!important;align-items:center!important;justify-content:center!important;text-align:center!important;clear:both!important;box-sizing:border-box!important}
html body main.page-slug-home .ck-home-hours__actions--variant-a>.ck-home-hours__button--variant-b{display:inline-flex!important;width:auto!important;max-width:calc(100% - 24px)!important;min-width:230px!important;margin:0!important;float:none!important;position:static!important;left:auto!important;right:auto!important;transform:none!important;align-items:center!important;justify-content:center!important;text-align:center!important;border-radius:16px!important}
@media(max-width:760px){html body main.page-slug-home .ck-home-posthero-gap{height:10px!important}html body main.page-slug-home .ck-home-hours__actions--variant-a{margin-top:32px!important}}


/* 1.0.0: dezenter ClubKlar Vorlader statt leerer Bild-/Captcha-Flächen. */
.site-main img:not(.brand-logo),.footer img,.ck-recaptcha-consent.is-active,.g-recaptcha:not([hidden]){
  background-color:rgba(255,255,255,.025);
  background-image:url('/assets/branding/logo-header-96.webp');
  background-repeat:no-repeat;background-position:center;background-size:42px 42px;
}
.site-main img{transition:opacity .18s ease}
.ck-recaptcha-consent.is-active{min-height:82px;border-radius:13px}
.g-recaptcha:not([hidden]){min-height:78px;border-radius:12px}
.g-recaptcha iframe{background:#fff;border-radius:4px}
