/* ============================================================
   skyfit CLUB · Herbst-Challenge 2026 (Editorial v2) — .cc-lp
   ============================================================ */
.cc-lp,.cc-lp *,.cc-lp *::before,.cc-lp *::after{box-sizing:border-box}
.cc-lp{font-family:'Poppins',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6;max-width:100vw}
.cc-lp img{max-width:100%}

@keyframes hc-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.cc-lp .hc-rise1{animation:hc-rise .7s .1s cubic-bezier(.22,.8,.3,1) both}
.cc-lp .hc-rise2{animation:hc-rise .7s .25s cubic-bezier(.22,.8,.3,1) both}
.cc-lp .hc-rise3{animation:hc-rise .7s .4s cubic-bezier(.22,.8,.3,1) both}

.cc-lp .cc-btn{transition:background .2s ease}
.cc-lp .cc-btn:hover{background:#2295B2!important;color:#fff!important}
.cc-lp .cc-btn-ghost{transition:background .2s ease,border-color .2s ease}
.cc-lp .cc-btn-ghost:hover{background:rgba(255,255,255,.1)!important;border-color:#fff!important;color:#fff!important}
.cc-lp .cc-btn,.cc-lp .cc-btn:hover,.cc-lp .cc-btn:focus,.cc-lp .cc-btn:active,
.cc-lp .cc-btn-ghost,.cc-lp .cc-btn-ghost:hover,.cc-lp .cc-btn-ghost:focus,.cc-lp .cc-btn-ghost:active{border-radius:2px}
.cc-lp .cc-tel:hover{color:#2AA5C4!important}
.cc-lp a:focus-visible,.cc-lp button:focus-visible,.cc-lp [tabindex]:focus-visible{outline:2px solid #FDC62E;outline-offset:3px}

.cc-lp summary::-webkit-details-marker{display:none}
.cc-lp summary{list-style:none;cursor:pointer}
.cc-lp .hc-chev{transition:transform .3s ease;display:inline-block}
.cc-lp details[open] .hc-chev{transform:rotate(180deg)}
.cc-lp .cc-sum:hover{color:#1B7E99!important}
.cc-lp .cc-sum:focus-visible{outline:2px solid #1B7E99;outline-offset:3px}

.cc-lp .cc-booking-mount{background:rgba(255,255,255,.98);border-radius:6px;padding:clamp(16px,3vw,32px);box-shadow:0 18px 50px rgba(0,0,0,.4);text-align:left}
.cc-lp .cc-booking-mount:empty{display:none}
.cc-lp .cc-booking-mount .sf-trial .sf-booking__title{color:#12202E!important}

@media(min-width:1024px){.cc-lp [data-hc-sticky]{display:none!important}}

.cc-lp section[data-screen-label="Hero"] h1,
.cc-lp section[data-screen-label="Preis"] h2,
.cc-lp section[data-screen-label="Galerie"] h2,
.cc-lp section[data-screen-label="Bewerbung"] h2{color:#fff!important}

@media(prefers-reduced-motion:reduce){
  .cc-lp *,.cc-lp *::before,.cc-lp *::after{animation:none!important;transition:none!important}
}

/* Hellersdorf ist (noch) nicht über Magicline buchbar — Auffangnetz statt Sackgasse. */
.cc-lp .cc-hd-note{max-width:52ch;margin:clamp(24px,4vw,34px) auto 0;text-align:center;font-size:15px;line-height:1.7;color:rgba(191,231,242,.78)}
.cc-lp .cc-hd-note strong{color:#fff;font-weight:700}
.cc-lp .cc-hd-note a{color:#7FD0E6;font-weight:700;text-decoration:none;white-space:nowrap}
.cc-lp .cc-hd-note a:hover{text-decoration:underline}
.cc-lp .cc-loc-hint{margin:4px 0 0;font-size:13.5px;color:#5C6B7A}

/* ==== Review-Fixes (Bugfix/Usability-Runde) ==== */

/* Screenreader-only */
.cc-lp .cc-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Preistafel wurde unter 480px vom overflow-x:clip abgeschnitten (Preis war weg, nicht scrollbar) */
@media(max-width:479.98px){
  .cc-lp .cc-price-row{display:block!important;padding:16px 0!important}
  .cc-lp .cc-price-row>span[aria-hidden="true"]{display:none!important}
  .cc-lp .cc-price-row>span:first-child{display:block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:rgba(191,231,242,.7)}
  .cc-lp .cc-price-row>span:last-child{display:block;margin-top:4px;white-space:normal!important}
}

/* Elementor-Theme-Kit setzt h2/h3/h4 auf 3.7/3.1/2.1rem und sprengt die Buchungsbox */
.cc-lp .cc-booking-mount .sf-booking__title{font-size:clamp(24px,6.4vw,34px)!important;line-height:1.15!important}
.cc-lp .cc-booking-mount .sf-step__title,
.cc-lp .cc-booking-mount .sf-success__title,
.cc-lp .cc-booking-mount .sf-error-view__title{font-size:clamp(20px,5vw,24px)!important;line-height:1.25!important}
.cc-lp .cc-booking-mount .sf-timeslots__title{font-size:16px!important}
.cc-lp .cc-booking-mount .sf-booking__title span{overflow-wrap:anywhere}

/* Widget-Fusszeile: Primary-Button wurde bei <400px beschnitten */
.cc-lp .cc-booking-mount .sf-step__footer{flex-wrap:wrap}
@media(max-width:399.98px){
  .cc-lp .cc-booking-mount .sf-step__footer{flex-direction:column-reverse;align-items:stretch}
  .cc-lp .cc-booking-mount .sf-step__footer .sf-btn{width:100%!important}
}

/* Fokusring war auf den hellen Sektionen unsichtbar (#FDC62E auf #F0F3F5 = 1.42:1) */
.cc-lp a:focus-visible,.cc-lp button:focus-visible,.cc-lp summary:focus-visible,.cc-lp [tabindex]:focus-visible{
  outline:3px solid #FDC62E;outline-offset:3px;box-shadow:0 0 0 6px #12202E}

/* Kontrast: #1B7E99 auf #F0F3F5 lag bei 4.20:1, Hover sogar bei 2.59:1 */
.cc-lp .cc-tel{color:#157893!important}
.cc-lp .cc-tel:hover{color:#12202E!important;text-decoration:underline}
.cc-lp .cc-btn:hover{background:#0E819E!important}

/* Sticky-CTA verdeckte dauerhaft das Seitenende */
@media(max-width:1023.98px){
  html{scroll-padding-bottom:88px}
  html body{padding-bottom:calc(78px + env(safe-area-inset-bottom))!important}
}

/* Hellersdorf-Telefonlink war nur 22px hoch — einziger Conversion-Pfad fuer Berlin */
.cc-lp .cc-hd-note a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:8px;padding:0 14px;border:1px solid rgba(127,208,230,.45);border-radius:2px;text-decoration:underline}

/* Faktenleiste: bei 768px blieb "Start" als Waise allein in Reihe 2 */
.cc-lp .cc-facts{grid-template-columns:1fr!important}
@media(min-width:400px){.cc-lp .cc-facts{grid-template-columns:repeat(2,1fr)!important}}
@media(min-width:1024px){.cc-lp .cc-facts{grid-template-columns:repeat(4,1fr)!important}}
.cc-lp .cc-facts>div{border-right:0!important}

/* Ohne geladenes Anton sprengte die Hero-Headline den Hero (Fallback nur sans-serif) */
.cc-lp h1,.cc-lp h2{overflow-wrap:anywhere}

/* 100vw ist bei sichtbarer Scrollbar breiter als der Viewport */
.cc-lp{max-width:100%}

/* Widget benutzt auf der Club-Seite generisches Blau statt der Markenfarbe */
.cc-lp .cc-booking-mount .sf-trial--club{--sf-primary:#1B7E99;--sf-primary-light:#2AA5C4;--sf-primary-bg:#EAF4F8;--sf-bg-page:#fff}
/* Sticky-Label muss auf 320-375px einzeilig bleiben */
@media(max-width:420px){.cc-lp [data-hc-sticky] a{font-size:12.5px;letter-spacing:.05em}}
