/* MOVIN V3 – Aktionen + News */
.promo-section{padding:105px 0;background:radial-gradient(circle at 12% 20%,rgba(58,207,247,.09),transparent 32%),#0a1017;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.promo-card{min-height:390px;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#101821;display:flex;flex-direction:column}.promo-card.promo-featured{background:radial-gradient(circle at 80% 10%,rgba(66,220,255,.15),transparent 38%),#111b25;border-color:rgba(91,218,249,.3)}.promo-image{height:190px;background-size:cover;background-position:center}.promo-copy{padding:28px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.promo-meta{width:100%;display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:24px}.promo-meta span{font-size:10px;letter-spacing:.15em;color:#79defa;font-weight:900}.promo-meta em{font-style:normal;font-size:11px;color:#7f8d9a}.promo-copy h3{font-size:34px;line-height:1;letter-spacing:-.04em;margin:0 0 16px}.promo-copy p{color:var(--muted);margin:0 0 26px}.promo-copy .button{margin-top:auto}
.news-teaser-section{padding:105px 0;background:#080c11;border-top:1px solid var(--line)}.news-teaser-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:45px}.news-teaser-head h2{font-size:clamp(52px,6vw,82px);line-height:.92;letter-spacing:-.055em;margin:12px 0 0}.news-teaser-head h2 span{color:#6fdcf9}.news-teaser-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.news-teaser-more{display:flex;justify-content:center;margin-top:34px}.news-teaser-card,.news-page-card{border:1px solid var(--line);background:#0f161e;border-radius:22px;overflow:hidden;display:flex;flex-direction:column}.news-teaser-image,.news-page-image{height:220px;background-size:cover;background-position:center;display:block}.news-placeholder{background:radial-gradient(circle at 70% 25%,rgba(81,218,250,.2),transparent 33%),linear-gradient(145deg,#182535,#0b1118)}.news-teaser-copy,.news-page-copy{padding:25px;display:flex;flex-direction:column;flex:1}.news-teaser-copy>span,.news-date{font-size:10px;letter-spacing:.13em;color:#78dcfa;font-weight:800}.news-teaser-copy h3{font-size:29px;line-height:1.05;margin:9px 0 12px}.news-teaser-copy h3 a,.news-page-copy h2 a{color:#fff;text-decoration:none}.news-teaser-copy p,.news-page-copy p{color:var(--muted);font-size:14px}.news-overview-hero{min-height:620px;background:radial-gradient(circle at 80% 20%,rgba(65,202,255,.18),transparent 32%),#080b10}.news-list-section{padding:95px 0 125px}.news-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.news-page-card{min-height:450px}.news-page-copy h2{font-size:30px;line-height:1.04;margin:10px 0 13px}.news-page-copy .text-arrow{margin-top:auto}.empty-public{border:1px solid var(--line);border-radius:24px;background:#0e151d;padding:45px}.empty-public h2{font-size:36px;margin:0 0 8px}.news-detail-hero{min-height:680px;background:radial-gradient(circle at 75% 20%,rgba(86,211,247,.17),transparent 35%),#080b10}.news-detail-hero.has-news-image:before{background-image:var(--news-bg);background-size:cover;background-position:center;opacity:.36;filter:saturate(.7)}.news-detail-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,9,14,.98),rgba(5,9,14,.72) 58%,rgba(5,9,14,.32)),linear-gradient(0deg,#080b10,transparent 42%)}.news-detail-section{padding:95px 0 125px}.news-detail-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:70px;align-items:start}.news-lead{font-size:19px;line-height:1.8;color:#c6d0da;white-space:normal}.news-detail-main .button{margin-top:30px}.news-side{position:sticky;top:105px;border:1px solid var(--line);border-radius:20px;background:#101821;padding:25px;display:flex;flex-direction:column;gap:8px}.news-side>span{font-size:9px;letter-spacing:.14em;color:#70dcfa;font-weight:900}.news-side .text-arrow{margin-top:20px}.editor-large{min-height:280px!important}
@media(max-width:1000px){.promo-grid,.news-teaser-grid,.news-page-grid{grid-template-columns:1fr 1fr}.news-detail-grid{grid-template-columns:1fr}.news-side{position:static}.news-teaser-head{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.promo-section,.news-teaser-section{padding:75px 0}.promo-grid,.news-teaser-grid,.news-page-grid{grid-template-columns:1fr}.news-teaser-head h2{font-size:48px}.news-teaser-image,.news-page-image{height:240px}.news-list-section,.news-detail-section{padding:70px 0 90px}.promo-meta{align-items:flex-start;flex-direction:column;gap:6px}}

/* MOVIN V3.3 – Preis-Unterseite */
.price-overview-hero{min-height:620px;background:radial-gradient(circle at 80% 20%,rgba(65,202,255,.18),transparent 32%),#080b10}.price-list-section{padding:95px 0 125px}.price-page-grid{align-items:stretch}.price-page-grid .price-card{min-width:0}.pricing-intro-only .section-head{margin-bottom:0}.price-page-grid .price-card>a.button{width:100%;text-align:center}.price-page-grid .price-card>a:not(.button){display:inline-flex;align-items:center}.price-page-grid .price-card ul:empty{display:none}
@media(max-width:650px){.price-list-section{padding:70px 0 90px}}

/* V3.4 · kompakter Tageskursplan auf der Startseite */
.today-courses-section{padding:28px 0 16px;background:#080b10}.today-courses-box{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,2.2fr);gap:34px;align-items:center;padding:26px 30px;border:1px solid rgba(103,220,250,.24);border-radius:22px;background:radial-gradient(circle at 88% 10%,rgba(65,202,255,.11),transparent 34%),#0d151e;box-shadow:0 18px 60px rgba(0,0,0,.18)}.today-courses-intro h2{font-size:30px;line-height:.98;letter-spacing:-.04em;margin:5px 0 9px}.today-courses-intro h2 span{color:#6bdcf8}.today-courses-kicker{margin:0;color:#70ddf9;font-size:10px;letter-spacing:.16em;font-weight:900}.today-courses-date{margin:0;color:#8594a3;font-size:12px}.today-courses-content{min-width:0}.today-courses-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.today-course-item{position:relative;min-width:0;padding:15px 16px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.025)}.today-course-item.is-running{border-color:rgba(103,220,250,.38);background:rgba(60,190,225,.08)}.today-course-time{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;color:#71ddf8;font-size:11px;font-weight:900;letter-spacing:.04em}.today-course-status{padding:3px 6px;border-radius:99px;background:rgba(103,220,250,.13);color:#9bebff;font-size:8px;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.today-course-item h3{margin:0 0 5px;font-size:18px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-course-meta{margin:0;color:#8594a3;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-course-item a{position:absolute;inset:0;border-radius:14px}.today-courses-empty{grid-column:1/-1;margin:0;padding:18px;border:1px dashed rgba(255,255,255,.1);border-radius:14px;color:#91a0ae;text-align:center}.today-courses-footer{display:flex;justify-content:flex-end;margin-top:10px}.today-courses-link{font-size:11px}.today-courses-more{color:#778796;font-size:10px;margin-right:auto;align-self:center}.today-courses-footer{gap:15px;align-items:center}
@media(max-width:1050px){.today-courses-box{grid-template-columns:1fr}.today-courses-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.today-courses-intro h2 br{display:none}}
@media(max-width:650px){.today-courses-section{padding:18px 0 10px}.today-courses-box{padding:22px 18px;gap:20px;border-radius:18px}.today-courses-intro h2{font-size:28px}.today-courses-grid{grid-template-columns:1fr 1fr}.today-course-item{padding:13px}.today-course-item h3{font-size:16px}.today-courses-footer{align-items:flex-start;flex-direction:column}.today-courses-link{font-size:12px}}
@media(max-width:430px){.today-courses-grid{grid-template-columns:1fr}}

/* V3.5 · optionale Kurs-Highlights */
.today-course-item.is-highlight{border-color:rgba(255,208,83,.68);background:radial-gradient(circle at 92% 10%,rgba(255,202,62,.15),transparent 38%),rgba(255,196,51,.055);box-shadow:0 0 0 1px rgba(255,208,83,.08),0 12px 32px rgba(255,187,38,.08)}
.today-course-item.is-highlight:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(#ffe188,#ffad32);box-shadow:0 0 16px rgba(255,188,46,.5)}
.today-course-item.is-highlight.is-running{border-color:rgba(255,214,92,.76);background:radial-gradient(circle at 90% 8%,rgba(255,202,62,.16),transparent 35%),radial-gradient(circle at 15% 100%,rgba(60,190,225,.12),transparent 38%),rgba(255,196,51,.055)}
.today-course-badges{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0}
.today-course-highlight{padding:3px 7px;border-radius:99px;background:linear-gradient(135deg,#ffe17d,#ffb12e);color:#171106;font-size:8px;font-weight:950;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;box-shadow:0 4px 16px rgba(255,179,37,.14)}
@media(max-width:650px){.today-course-badges{gap:4px}.today-course-highlight,.today-course-status{font-size:7px;padding:3px 5px}}


/* V3.6 · Live-Refresh + kompaktere, höhere Tageskurskarten */
.today-courses-grid{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}
.today-course-item{box-sizing:border-box;flex:0 0 var(--today-course-card-width,190px);width:var(--today-course-card-width,190px);min-height:118px;padding:17px 15px 18px;display:flex;flex-direction:column;justify-content:flex-start}
.today-course-item h3{font-size:16px;line-height:1.05;white-space:nowrap;overflow:visible;text-overflow:clip;margin:4px 0 10px}
.today-course-meta{margin-top:auto;font-size:10px}
.today-course-time{margin-bottom:5px;min-height:25px}
@media(max-width:1050px){.today-courses-grid{grid-template-columns:none}}
@media(max-width:650px){.today-courses-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.today-course-item{width:auto;min-width:0;min-height:116px;flex:none}.today-course-item h3{font-size:15px;overflow-x:auto;scrollbar-width:none}.today-course-item h3::-webkit-scrollbar{display:none}}
@media(max-width:430px){.today-courses-grid{grid-template-columns:1fr}.today-course-item h3{font-size:16px;overflow:visible}}


/* V3.7 · Nach dem letzten Tageskurs kompakte Vorschau auf morgen */
.today-courses-grid.is-tomorrow-summary{display:block}
.today-courses-tomorrow-line,
.today-courses-tomorrow-empty{margin:0;padding:3px 0;color:#cbd6df;font-size:14px;line-height:1.5;letter-spacing:.005em}
.today-courses-tomorrow-line{white-space:nowrap;overflow-x:auto;scrollbar-width:thin}
.today-courses-tomorrow-line::-webkit-scrollbar{height:4px}
.today-courses-tomorrow-empty{color:#8c9aa7}
@media(max-width:650px){
  .today-courses-tomorrow-line,.today-courses-tomorrow-empty{font-size:13px}
}

/* V3.8 · Highlight-Badge oberhalb von „Läuft gerade“ */
.today-course-time{align-items:flex-start;min-height:42px}
.today-course-time>span:first-child{flex:0 0 auto;padding-top:2px;white-space:nowrap}
.today-course-badges{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:4px;margin-left:auto}
.today-course-highlight,.today-course-status{display:inline-flex;align-items:center;justify-content:center;max-width:100%}
@media(max-width:650px){
  .today-course-time{min-height:38px;gap:6px}
  .today-course-badges{gap:3px}
}


/* V3.11 · kompakte Kurskarten + optionaler Kursuntertitel */
.today-courses-grid{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:10px;
}
.today-course-item{
  box-sizing:border-box;
  flex:0 0 var(--today-course-card-width,182px);
  width:var(--today-course-card-width,182px);
  min-width:0;
  min-height:142px;
  height:auto;
  padding:15px 14px 16px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  overflow:hidden;
}
.today-course-time{
  margin-bottom:4px;
}
.today-course-item h3{
  max-width:100%;
  margin:5px 0 4px;
  font-size:16px;
  line-height:1.16;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.today-course-word{
  white-space:nowrap;
}
.today-course-subtitle{
  max-width:100%;
  margin:0 0 9px;
  color:#6fc6df;
  font-size:11px;
  line-height:1.28;
  font-weight:700;
  letter-spacing:.01em;
  white-space:normal;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.today-course-meta{
  margin-top:auto;
  color:#8594a3;
  font-size:10px;
  line-height:1.25;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
@media(max-width:1050px){
  .today-courses-grid{grid-template-columns:none}
}
@media(max-width:650px){
  .today-courses-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .today-course-item{
    width:auto;
    min-width:0;
    min-height:136px;
    flex:none;
    padding:14px 13px 15px;
  }
  .today-course-item h3{font-size:15px;line-height:1.17}
  .today-course-subtitle{font-size:10.5px}
}
@media(max-width:430px){
  .today-courses-grid{grid-template-columns:1fr}
  .today-course-item{min-height:126px}
  .today-course-item h3{font-size:16px}
}


/* V3.13 · automatisch generierte Wochenansicht aus dem Kursplan-CMS */
.schedule-page-hero{min-height:560px;background:radial-gradient(circle at 80% 18%,rgba(64,209,255,.18),transparent 34%),radial-gradient(circle at 12% 88%,rgba(60,110,255,.10),transparent 28%),#080b10}
.weekly-schedule-section{padding:78px 0 120px;background:#080b10}
.weekly-schedule-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:32px}
.weekly-schedule-toolbar .eyebrow{margin-bottom:8px}
.weekly-schedule-toolbar h2{margin:0;font-size:clamp(32px,4vw,54px);line-height:.96;letter-spacing:-.045em}
.week-switcher{display:flex;align-items:center;gap:7px;padding:5px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:#0d141c}
.week-switcher a,.week-switcher span{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 13px;border-radius:10px;font-size:12px;font-weight:850;color:#cbd5df}
.week-switcher a:hover{background:#182532;color:#fff}.week-switcher .week-current{min-width:92px}.week-switcher .is-active{background:rgba(106,220,248,.11);color:#77ddf8}
.weekly-schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;align-items:start}
.schedule-day{min-width:0;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:#0c1219;overflow:hidden}
.schedule-day.is-today{border-color:rgba(105,220,249,.44);box-shadow:0 0 0 1px rgba(105,220,249,.06),0 18px 45px rgba(20,165,210,.05)}
.schedule-day-head{position:relative;min-height:84px;padding:16px 14px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:3px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)}
.schedule-day-head span{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#74dcf8}.schedule-day-head strong{font-size:19px}.schedule-day-head em{position:absolute;right:10px;top:12px;font-style:normal;font-size:7px;font-weight:950;letter-spacing:.12em;padding:4px 6px;border-radius:99px;background:#69d9f8;color:#071016}
.schedule-day-list{display:flex;flex-direction:column;gap:8px;padding:8px;min-height:170px}
.schedule-day-empty{margin:0;padding:20px 6px;color:#657280;font-size:11px;text-align:center}
.weekly-course-card{position:relative;min-width:0;padding:12px 11px 11px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#111922;overflow:hidden}
.weekly-course-card.is-highlight{border-color:rgba(255,208,83,.60);background:radial-gradient(circle at 100% 0,rgba(255,194,42,.14),transparent 36%),#121922}
.weekly-course-card.is-highlight:before{content:"";position:absolute;left:0;top:11px;bottom:11px;width:2px;background:linear-gradient(#ffe188,#ffad32);border-radius:0 2px 2px 0}
.weekly-course-card.is-running{box-shadow:inset 0 0 0 1px rgba(103,220,250,.18)}
.weekly-course-topline{display:flex;align-items:flex-start;gap:5px;margin-bottom:9px}.weekly-course-topline time{white-space:nowrap;color:#72ddf9;font-size:10px;font-weight:900;letter-spacing:.02em}
.weekly-course-badges{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:4px;margin-top:8px;max-width:100%}.weekly-highlight,.weekly-running{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:4px 6px;border-radius:99px;font-size:6.5px;font-weight:950;line-height:1.05;letter-spacing:.08em;white-space:nowrap}.weekly-highlight{background:linear-gradient(135deg,#ffe17d,#ffb12e);color:#171106}.weekly-running{background:rgba(103,220,250,.14);color:#9bebff}
.weekly-course-card h3{margin:0;font-size:15px;line-height:1.08;letter-spacing:-.025em;overflow-wrap:normal;word-break:normal;hyphens:none}.weekly-course-subtitle{margin:5px 0 0;color:#67d9f7;font-size:9.5px;line-height:1.3}.weekly-course-meta{margin:9px 0 0;color:#82909d;font-size:9px;line-height:1.35}
.weekly-book-button{display:flex;align-items:center;justify-content:center;margin-top:12px;min-height:33px;border-radius:9px;background:linear-gradient(135deg,#338dff,#32d2ee);color:#071018;font-size:9px;font-weight:950;letter-spacing:.08em}.weekly-book-button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.weekly-schedule-note{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}.weekly-schedule-note p{margin:0;color:#7e8c99;font-size:11px}.weekly-schedule-note strong{color:#b9c6d2}
@media(max-width:1180px){.weekly-schedule-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){.weekly-schedule-toolbar{align-items:flex-start;flex-direction:column}.weekly-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-day-list{min-height:120px}}
@media(max-width:520px){.weekly-schedule-section{padding:58px 0 90px}.weekly-schedule-grid{grid-template-columns:1fr}.schedule-day{display:grid;grid-template-columns:112px 1fr}.schedule-day-head{border-bottom:0;border-right:1px solid rgba(255,255,255,.08);min-height:100%}.schedule-day-list{min-height:0}.week-switcher{width:100%;justify-content:space-between}.week-switcher .week-current{flex:1}.weekly-course-card h3{font-size:16px}}

/* V3.16 – Kursübersicht nach CMS-Kategorie gruppieren */
.course-category-jumps{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:-22px 0 52px;
  position:sticky;
  top:94px;
  z-index:12;
  width:max-content;
  max-width:100%;
  padding:8px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(8,11,16,.82);
  backdrop-filter:blur(14px);
  box-shadow:0 12px 34px rgba(0,0,0,.22);
}
.course-category-jump{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid transparent;
  font-size:13px;
  font-weight:850;
  letter-spacing:.01em;
  transition:transform .18s ease,filter .18s ease,border-color .18s ease;
  white-space:nowrap;
}
.course-category-jump:hover{transform:translateY(-2px);filter:brightness(1.08)}
.course-category-jump-fitness{background:linear-gradient(135deg,#258cff,#32d8ff);color:#06101a}
.course-category-jump-yoga{background:linear-gradient(135deg,#8b7cff,#d06cff);color:#fff}
.course-category-jump-dance{background:linear-gradient(135deg,#ff3da7,#ff7c6c);color:#fff}
.course-category-jump-other{background:#151d27;border-color:rgba(255,255,255,.14);color:#eef4f9}

.course-category-groups{display:flex;flex-direction:column;gap:78px}
.course-category-group{scroll-margin-top:165px}
.course-group-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 20px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.course-group-head h3{font-size:24px;line-height:1;margin:0;letter-spacing:-.03em}
.course-group-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;background:#6fdcf9;box-shadow:0 0 18px rgba(111,220,249,.5)}
.course-group-count{margin-left:auto;color:#788796;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.course-category-group-fitness .course-group-dot{background:#31d5ff;box-shadow:0 0 18px rgba(49,213,255,.55)}
.course-category-group-yoga .course-group-dot{background:#ad78ff;box-shadow:0 0 18px rgba(173,120,255,.5)}
.course-category-group-dance .course-group-dot{background:#ff51a8;box-shadow:0 0 18px rgba(255,81,168,.5)}
.course-category-group-fitness .course-page-card:hover{border-color:rgba(49,213,255,.4)}
.course-category-group-yoga .course-page-card:hover{border-color:rgba(173,120,255,.42)}
.course-category-group-dance .course-page-card:hover{border-color:rgba(255,81,168,.42)}
.course-category-group-yoga .course-category,.course-category-group-yoga .text-arrow{color:#bd8cff}
.course-category-group-dance .course-category,.course-category-group-dance .text-arrow{color:#ff70b5}

@media(max-width:1000px){
  .course-category-jumps{position:static;width:100%;margin:-10px 0 42px;border-radius:20px}
  .course-category-jump{flex:1 1 auto}
  .course-category-groups{gap:62px}
}
@media(max-width:650px){
  .course-category-jumps{display:grid;grid-template-columns:1fr;margin:-8px 0 36px;padding:7px}
  .course-category-jump{width:100%}
  .course-category-groups{gap:52px}
  .course-group-head h3{font-size:21px}
}

/* V3.17 – CMS-gesteuerte Startseitenbereiche kompakter */
.promo-section,
.news-teaser-section{
  padding:78px 0;
}
.news-teaser-head{
  margin-bottom:34px;
}
@media(max-width:650px){
  .promo-section,
  .news-teaser-section{
    padding:58px 0;
  }
  .news-teaser-head{
    margin-bottom:28px;
  }
}


/* V3.18 – kompakte Aktionskarten, Highlights und Aktionspreise */
.promo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,320px));
  justify-content:start;
  align-items:stretch;
  gap:14px;
}
.promo-card{
  position:relative;
  width:100%;
  min-height:310px;
  border-radius:20px;
  overflow:hidden;
  background:#101821;
  display:flex;
  flex-direction:column;
}
.promo-card.is-highlight{
  border-color:rgba(255,208,83,.68);
  background:radial-gradient(circle at 92% 8%,rgba(255,202,62,.14),transparent 36%),#111922;
  box-shadow:0 0 0 1px rgba(255,208,83,.07),0 18px 42px rgba(255,187,38,.07);
}
.promo-card.is-highlight:before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  bottom:16px;
  width:3px;
  z-index:2;
  border-radius:0 3px 3px 0;
  background:linear-gradient(#ffe188,#ffad32);
  box-shadow:0 0 15px rgba(255,188,46,.38);
}
.promo-image{height:145px}
.promo-copy{padding:22px 22px 24px;min-width:0}
.promo-highlight-row{width:100%;display:flex;justify-content:flex-end;margin:0 0 10px}
.promo-highlight-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
  padding:5px 8px;
  border-radius:999px;
  background:linear-gradient(135deg,#ffe17d,#ffb12e);
  color:#171106;
  font-size:8px;
  line-height:1;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
  white-space:nowrap;
}
.promo-meta{margin-bottom:14px;gap:10px;align-items:flex-start}
.promo-meta span{font-size:9px}
.promo-meta em{font-size:10px;text-align:right}
.promo-copy h3{font-size:27px;line-height:1.02;margin:0 0 12px}
.promo-copy p{font-size:13px;line-height:1.55;margin:0 0 20px}
.promo-copy .button{min-height:42px;padding:0 17px;font-size:12px}
.promo-price-block{width:100%;margin:-1px 0 16px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}
.promo-price-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}
.promo-sale-price{font-size:25px;line-height:1;font-weight:900;letter-spacing:-.035em;color:#fff}
.promo-old-price{position:relative;color:#7f8c98;font-size:13px;white-space:nowrap;text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:#ff6c6c}
.promo-saving-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:999px;background:#65dcad;color:#06140e;font-size:9px;line-height:1;font-weight:950;letter-spacing:.04em;white-space:nowrap}
@media(max-width:1050px){
  .promo-grid{grid-template-columns:repeat(2,minmax(0,320px))}
}
@media(max-width:700px){
  .promo-grid{grid-template-columns:minmax(0,1fr)}
  .promo-card{max-width:360px;min-height:0}
  .promo-image{height:165px}
}

/* V3.19 · Aktions-Detailseite, feste Kartenhoehe, vollstaendige Bilder */
.promo-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.promo-card{height:470px;min-height:0;max-height:470px;cursor:pointer}
.promo-card.has-image{height:540px;max-height:540px}
.promo-image{display:block;flex:0 0 180px;height:180px;background-size:contain;background-repeat:no-repeat;background-position:center;background-color:#f5f6f7;border-bottom:1px solid var(--line)}
.promo-copy{padding:22px 24px;min-height:0;overflow:hidden}
.promo-highlight-row{width:100%;display:flex;justify-content:flex-end;margin:-4px 0 7px}
.promo-title-link{color:inherit;text-decoration:none}
.promo-title-link:hover{color:#7bdff8}
.promo-copy h3{font-size:31px;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.promo-meta{margin-bottom:12px}
.promo-price-block{margin:0 0 14px;width:100%}
.promo-price-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.promo-sale-price{font-size:31px;line-height:1;color:#fff}
.promo-old-price{text-decoration:line-through;color:#7f8d9a;font-size:12px}
.promo-saving-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 12px;background:#65e6b0;color:#082119;font-size:13px;line-height:1;font-weight:950;letter-spacing:.015em;white-space:nowrap}
.promo-teaser{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;line-height:1.55;min-height:0;margin-bottom:12px!important}
.promo-card-actions{margin-top:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%}
.promo-more-link{font-size:13px;font-weight:900;color:#6fdcf9;text-decoration:none;white-space:nowrap}
.promo-more-link:hover{text-decoration:underline}
.promo-external-button{padding:10px 14px!important;font-size:12px!important;margin-top:0!important}

.action-detail-section{padding:130px 0 110px;background:radial-gradient(circle at 12% 12%,rgba(75,213,247,.09),transparent 30%),#080d13;min-height:75vh}
.action-detail-shell{width:min(1120px,calc(100% - 40px))}
.action-back{display:inline-flex;margin-bottom:28px}
.action-detail-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:46px;align-items:start}
.action-detail-media{height:480px;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:#f5f6f7;display:flex;align-items:center;justify-content:center}
.action-detail-media img{width:100%;height:100%;object-fit:contain;display:block}
.action-detail-copy{padding:18px 0}
.action-detail-copy-full{grid-column:1/-1;max-width:800px}
.action-detail-highlight{display:inline-flex;padding:8px 12px;border-radius:999px;background:#ffd05b;color:#241800;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.action-detail-period{color:#8997a5;font-size:13px;margin:0 0 12px}
.action-detail-copy h1{font-size:clamp(48px,6vw,78px);line-height:.92;letter-spacing:-.055em;margin:8px 0 24px;max-width:760px}
.action-detail-pricing{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 24px}
.action-detail-pricing strong{font-size:42px;line-height:1}
.action-detail-old-price{font-size:16px;color:#85929f;text-decoration:line-through}
.action-detail-saving{display:inline-flex;padding:10px 15px;border-radius:999px;background:#65e6b0;color:#082119;font-weight:950;font-size:15px}
.action-detail-teaser{font-size:18px;line-height:1.7;color:#c4cfda;max-width:720px;margin-bottom:26px}
.action-detail-content{margin-top:65px;border-top:1px solid var(--line);padding-top:48px;max-width:900px}
.action-detail-richtext{font-size:18px;line-height:1.85;color:#cbd5df}

@media(max-width:1000px){
  .promo-card,.promo-card.has-image{height:520px;max-height:520px}
  .action-detail-grid{grid-template-columns:1fr}
  .action-detail-media{height:420px}
  .action-detail-copy{padding-top:0}
}
@media(max-width:650px){
  .promo-grid{grid-template-columns:1fr}
  .promo-card,.promo-card.has-image{height:500px;max-height:500px}
  .promo-image{flex-basis:170px;height:170px}
  .action-detail-section{padding-top:105px}
  .action-detail-media{height:330px}
  .action-detail-copy h1{font-size:46px}
}


/* ===== V3.20 – CMS-gesteuerte Trainingsbereiche ===== */
.nav-dropdown-menu>[data-training-links]>a{display:block;padding:9px 10px;border-radius:9px;font-size:12px;color:#cbd5df}
.nav-dropdown-menu>[data-training-links]>a:hover{background:#15202c;color:#fff}
.nav-training-dropdown .nav-dropdown-menu{width:270px}
.mobile-training-links{margin-top:-6px;margin-bottom:2px}
.mobile-training-links a{font-size:12px!important;color:#93a5b5!important}

.training-cms-section{background:linear-gradient(180deg,#080b10,#090d13)}
.training-home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.training-home-card{min-width:0;border:1px solid var(--line);background:#0f151d;border-radius:24px;overflow:hidden;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.training-home-card:hover{transform:translateY(-4px);border-color:rgba(92,218,250,.34);box-shadow:0 22px 55px rgba(0,0,0,.24)}
.training-home-card-link{display:flex;flex-direction:column;height:100%;min-height:445px}
.training-home-card-media{height:210px;flex:0 0 210px;background-size:cover;background-position:center;position:relative;isolation:isolate}
.training-home-card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,9,14,.02),rgba(5,9,14,.28))}
.training-home-card-media-placeholder{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 70% 20%,rgba(48,217,255,.18),transparent 34%),linear-gradient(145deg,#172331,#0b1118)}
.training-home-card-media-placeholder span{font-size:74px;font-weight:900;color:rgba(255,255,255,.08)}
.training-home-card-copy{display:flex;flex-direction:column;flex:1;padding:24px 25px 25px;min-width:0}
.training-home-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.training-home-kicker{font-size:10px;letter-spacing:.16em;font-weight:800;color:#7edcf8;line-height:1.35}
.training-home-number{font-size:11px;color:#718091}
.training-home-card h3{font-size:27px;line-height:1.08;letter-spacing:-.04em;margin:0 0 12px;overflow-wrap:normal;word-break:normal}
.training-home-card p{font-size:14px;color:var(--muted);margin:0;line-height:1.55}
.training-home-more{font-size:13px;font-weight:800;color:#82dcf7;margin-top:auto;padding-top:22px}
.training-home-card-entry{border-color:rgba(48,217,255,.35);background:radial-gradient(circle at 90% 0%,rgba(48,217,255,.12),transparent 42%),#101821}

.training-detail-hero{min-height:590px;isolation:isolate}
.training-detail-hero.has-training-image:before{background-image:var(--training-bg);background-size:cover;background-position:center;opacity:.36;filter:saturate(.62);z-index:-2}
.training-detail-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,9,14,.98),rgba(5,9,14,.78) 54%,rgba(5,9,14,.34)),linear-gradient(0deg,#080b10 0%,transparent 40%);z-index:-1}
.training-detail-section{padding:76px 0 100px}
.training-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:start}
.training-detail-main h2{font-size:clamp(48px,6vw,76px);letter-spacing:-.055em;line-height:.94;margin:12px 0 28px}
.training-detail-main h2 span{color:#70dcfa}
.training-detail-text{font-size:18px;color:#c4ced8;max-width:730px;line-height:1.7}
.training-check-list{max-width:730px;margin-top:32px}
.training-detail-aside{display:flex;flex-direction:column;gap:16px;position:sticky;top:105px}
.training-detail-image{height:330px;border:1px solid var(--line);border-radius:24px;background-size:cover;background-position:center;overflow:hidden}
.training-detail-cta{border:1px solid var(--line);background:#101822;border-radius:24px;padding:28px}
.training-detail-cta>span{display:block;font-size:10px;letter-spacing:.16em;font-weight:800;color:#78dcfa;margin-bottom:9px}
.training-detail-cta>strong{display:block;font-size:28px;letter-spacing:-.035em;line-height:1.1}
.training-detail-cta>p{color:var(--muted);font-size:14px;margin:14px 0 22px}
.training-detail-cta .button{width:100%}

@media(max-width:1100px){
  .training-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .training-detail-grid{grid-template-columns:1fr;gap:38px}
  .training-detail-aside{position:static;display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .training-home-grid{grid-template-columns:1fr}
  .training-home-card-link{min-height:0}
  .training-home-card-media{height:220px;flex-basis:220px}
  .training-home-card-copy{min-height:225px}
  .training-detail-section{padding:54px 0 74px}
  .training-detail-aside{grid-template-columns:1fr}
  .training-detail-image{height:280px}
}

/* V3.24 · Aktionstitel immer vollständig anzeigen */
.promo-copy h3{
  display:block;
  -webkit-line-clamp:unset;
  -webkit-box-orient:initial;
  overflow:visible;
  font-size:clamp(25px,2.25vw,31px);
  line-height:1.02;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
/* Bei längeren Titeln bleibt die Kartenhöhe stabil: der Teaser gibt Platz frei. */
.promo-teaser{
  -webkit-line-clamp:3;
}
@media(max-width:700px){
  .promo-copy h3{font-size:27px}
}

/* ===== V3.25 · Aktionstitel garantiert vollständig + Cache-Fix ===== */
.promo-card .promo-copy > h3,
.promo-card .promo-copy > h3 .promo-title-link{
  display:block !important;
  -webkit-box-orient:initial !important;
  -webkit-line-clamp:initial !important;
  line-clamp:initial !important;
  max-height:none !important;
  height:auto !important;
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}
.promo-card .promo-copy > h3{
  flex:0 0 auto;
  font-size:28px;
  line-height:1.02;
  letter-spacing:-.035em;
  margin:0 0 10px;
}
/* Der Titel hat Vorrang. Lange Teaser geben Platz frei, die Kartenhöhe bleibt gleich. */
.promo-card .promo-teaser{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
  margin-bottom:10px !important;
}
@media(max-width:700px){
  .promo-card .promo-copy > h3{font-size:26px}
}

/* V3.26 · Countdown bis Kursstart (max. 90 Minuten) */
.today-course-time-info{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;flex:0 0 auto;padding-top:2px}
.today-course-clock{white-space:nowrap}
.today-course-countdown{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:3px 6px;border-radius:99px;background:rgba(103,220,250,.11);border:1px solid rgba(103,220,250,.16);color:#8ee8ff;font-size:8px;font-weight:900;line-height:1;letter-spacing:.035em;white-space:nowrap;text-transform:none}
.today-course-time>span:first-child{padding-top:0}
@media(max-width:650px){.today-course-time-info{gap:2px}.today-course-countdown{font-size:7.5px;padding:3px 5px}}


/* ===== V3.28 · Firmenfitness CMS ===== */
.nav-corporate-dropdown .nav-dropdown-menu{width:265px}
.nav-dropdown-menu>[data-corporate-links]>a{display:block;padding:9px 10px;border-radius:9px;font-size:12px;color:#cbd5df}
.nav-dropdown-menu>[data-corporate-links]>a:hover{background:#15202c;color:#fff}

.corporate-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.corporate-logo-card{min-width:0;height:150px;border:1px solid rgba(255,255,255,.13);border-radius:22px;background:#f7f8fa;display:flex;align-items:center;justify-content:center;padding:26px;text-decoration:none;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.corporate-logo-card:hover,.corporate-logo-card:focus-visible{transform:translateY(-3px);border-color:rgba(111,220,249,.65);box-shadow:0 15px 38px rgba(0,0,0,.22)}
.corporate-logo-card img{display:block;width:100%;height:100%;max-width:190px;max-height:78px;object-fit:contain;object-position:center}
.corporate-wordmark{display:block;color:#10151c;font-size:24px;font-weight:900;letter-spacing:-.035em;text-align:center}
.corporate-overview-link{display:inline-flex;margin-top:20px}

/* Öffentliche Firmenfitness-Übersicht */
.subpage-hero{position:relative;min-height:530px;display:flex;align-items:flex-end;padding:150px 0 82px;overflow:hidden;background:radial-gradient(circle at 78% 18%,rgba(69,211,250,.18),transparent 32%),linear-gradient(145deg,#09111a,#070a0e 68%)}
.subpage-hero-inner{position:relative;z-index:2;max-width:820px}
.subpage-hero h1{font-size:clamp(64px,9vw,112px);line-height:.87;letter-spacing:-.065em;margin:16px 0 26px}
.subpage-hero h1 span{color:#70dcfa}
.subpage-hero-inner>p:not(.eyebrow){font-size:19px;line-height:1.65;color:#c4ced8;max-width:720px}
.corporate-overview-section{padding:76px 0 110px;background:#080b10}
.corporate-logo-grid-page{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1000px;margin:0 auto}
.corporate-logo-grid-page .corporate-logo-card{height:190px;padding:34px}
.corporate-logo-grid-page .corporate-logo-card img{max-width:250px;max-height:100px}

/* Firmenfitness-Detailseite */
.corporate-detail-hero{padding:135px 0 66px;background:radial-gradient(circle at 80% 20%,rgba(88,216,250,.14),transparent 34%),#080b10;border-bottom:1px solid var(--line)}
.corporate-detail-hero-inner{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.corporate-backlink{font-size:12px;font-weight:800;color:#83dff8;text-decoration:none}
.corporate-detail-logo-plate{width:min(100%,660px);height:220px;border-radius:28px;background:#fff;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;padding:42px;box-shadow:0 22px 60px rgba(0,0,0,.2)}
.corporate-detail-logo-plate img{width:100%;height:100%;max-width:440px;max-height:126px;object-fit:contain}
.corporate-detail-logo-plate .corporate-wordmark{font-size:48px}
.corporate-detail-intro{font-size:20px;line-height:1.65;color:#c5d0da;max-width:760px;margin:0}
.corporate-detail-content{padding:86px 0 100px;background:#080b10}
.corporate-detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:start}
.corporate-detail-copy h1{font-size:clamp(52px,6vw,78px);line-height:.92;letter-spacing:-.055em;margin:12px 0 30px}
.rich-copy{font-size:17px;line-height:1.75;color:#c5ced8;white-space:normal}
.corporate-detail-actions{margin-top:30px}
.corporate-benefits-card{position:sticky;top:105px;border:1px solid var(--line);background:#101720;border-radius:24px;padding:30px}
.corporate-benefits-card h2{font-size:32px;line-height:1.04;margin:10px 0 22px}
.corporate-benefits-card ul{list-style:none;padding:0;margin:0}
.corporate-benefits-card li{position:relative;padding:13px 0 13px 28px;border-top:1px solid var(--line);color:#d7e0e8;font-size:14px;line-height:1.5}
.corporate-benefits-card li:before{content:'✓';position:absolute;left:0;color:#67dcfa;font-weight:900}
.corporate-gallery-section{padding:0 0 105px;background:#080b10}
.corporate-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.corporate-gallery-grid figure{margin:0;height:320px;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#0f151d}
.corporate-gallery-grid img{width:100%;height:100%;object-fit:cover;display:block}
.corporate-gallery-count-1{grid-template-columns:1fr}.corporate-gallery-count-1 figure{height:520px}
.corporate-gallery-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.corporate-gallery-count-2 figure{height:400px}
.corporate-detail-next{padding:72px 0 92px;border-top:1px solid var(--line);background:#0b1017}
.corporate-detail-next-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.corporate-detail-next h2{font-size:clamp(38px,5vw,64px);letter-spacing:-.05em;line-height:.96;margin:8px 0 0}

@media(max-width:1050px){
  .corporate-logo-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}
  .corporate-detail-grid{grid-template-columns:1fr;gap:40px}
  .corporate-benefits-card{position:static}
}
@media(max-width:780px){
  .corporate-logo-grid,.corporate-logo-grid-page{grid-template-columns:1fr}
  .corporate-logo-card,.corporate-logo-grid-page .corporate-logo-card{height:138px}
  .corporate-gallery-grid,.corporate-gallery-count-2{grid-template-columns:1fr}
  .corporate-gallery-grid figure,.corporate-gallery-count-1 figure,.corporate-gallery-count-2 figure{height:280px}
  .corporate-detail-logo-plate{height:180px;padding:30px}
  .corporate-detail-next-inner{align-items:flex-start;flex-direction:column}
  .subpage-hero{min-height:470px;padding:125px 0 65px}
  .subpage-hero h1{font-size:58px}
}


/* ===== V3.29 · Firmenfitness Zusatzleistungen + Bilder-Lightbox ===== */
.corporate-benefits-stack{display:flex;flex-direction:column;gap:18px;min-width:0}
.corporate-benefits-stack .corporate-benefits-card{position:static;top:auto;width:100%}
.corporate-extras-card{border-color:rgba(132,190,255,.22);background:linear-gradient(145deg,rgba(21,31,43,.96),rgba(14,22,31,.98))}
.corporate-surcharge-pill{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;margin:0;padding:7px 12px;border-radius:999px;background:#dceeff;color:#142235;font-size:12px;font-weight:800;line-height:1;box-shadow:inset 0 0 0 1px rgba(36,101,161,.08)}
.corporate-surcharge-pill>span{display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:900}
.corporate-extras-card li:before{content:'+';font-size:18px;line-height:1;color:#7edcff;top:14px}

/* Galerie: jeder Rahmen identisch groß, Bilder immer vollständig sichtbar */
.corporate-gallery-grid,.corporate-gallery-count-1,.corporate-gallery-count-2{grid-template-columns:repeat(3,minmax(0,1fr))}
.corporate-gallery-grid figure,.corporate-gallery-count-1 figure,.corporate-gallery-count-2 figure{position:relative;height:320px;margin:0;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#f5f6f8}
.corporate-gallery-button{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;border:0;padding:14px;margin:0;background:#f5f6f8;cursor:zoom-in;overflow:hidden}
.corporate-gallery-button img,.corporate-gallery-grid img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.corporate-gallery-zoom{position:absolute;right:14px;bottom:14px;width:36px;height:36px;border-radius:999px;background:rgba(8,14,21,.84);border:1px solid rgba(255,255,255,.16);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;opacity:.82;transition:transform .18s ease,opacity .18s ease}
.corporate-gallery-button:hover .corporate-gallery-zoom,.corporate-gallery-button:focus-visible .corporate-gallery-zoom{transform:scale(1.08);opacity:1}
.corporate-gallery-button:focus-visible{outline:2px solid #70dcfa;outline-offset:-3px}

/* Lightbox */
html.lightbox-open{overflow:hidden}
.corporate-lightbox{position:fixed;z-index:9999;inset:0;background:rgba(2,6,10,.94);backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;padding:5vw}
.corporate-lightbox[hidden]{display:none!important}
.corporate-lightbox img{display:block;max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:16px;box-shadow:0 30px 90px rgba(0,0,0,.55);background:#fff}
.corporate-lightbox-close{position:fixed;top:22px;right:24px;width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(15,22,31,.88);color:#fff;font-size:31px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}
.corporate-lightbox-close:hover,.corporate-lightbox-close:focus-visible{background:#182737;border-color:#70dcfa;outline:none}

@media(max-width:1050px){
  .corporate-gallery-grid,.corporate-gallery-count-1,.corporate-gallery-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:780px){
  .corporate-gallery-grid,.corporate-gallery-count-1,.corporate-gallery-count-2{grid-template-columns:1fr}
  .corporate-gallery-grid figure,.corporate-gallery-count-1 figure,.corporate-gallery-count-2 figure{height:280px}
  .corporate-lightbox{padding:70px 16px 24px}
  .corporate-lightbox img{max-width:100%;max-height:82vh}
}


/* V3.30 Firmenfitness: Leistungsboxen nebeneinander unter Kontaktbutton */
.corporate-detail-layout{display:flex;flex-direction:column;gap:46px}
.corporate-detail-copy{max-width:780px}
.corporate-benefits-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch;width:100%}
.corporate-benefits-row-single{grid-template-columns:minmax(0,620px)}
.corporate-benefits-row .corporate-benefits-card{position:static;top:auto;width:100%;height:100%}
@media (max-width:760px){
  .corporate-detail-layout{gap:32px}
  .corporate-benefits-row,.corporate-benefits-row-single{grid-template-columns:1fr;gap:16px}
}

/* V3.31 Zusatzleistungen: Aufpreis-Badge direkt neben der Überschrift */
.corporate-extras-heading-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.corporate-extras-heading-row h2{margin:0}
.corporate-extras-heading-row + ul{margin-top:0}
@media(max-width:520px){
  .corporate-extras-heading-row{gap:10px}
}

/* V3.32 – stabile Desktop-Dropdowns ohne Hover-Lücke */
@media (min-width:1001px){
  .nav-dropdown{
    position:relative;
  }
  /* Unsichtbare Hover-Brücke zwischen Navigationspunkt und Dropdown. */
  .nav-dropdown::after{
    content:"";
    position:absolute;
    z-index:1;
    top:100%;
    left:-14px;
    right:-14px;
    height:20px;
  }
  .nav-dropdown-menu{
    top:calc(100% + 10px);
    z-index:20;
    transition:
      opacity .16s ease,
      transform .16s ease,
      visibility 0s linear .16s;
  }
  .nav-dropdown:hover .nav-dropdown-menu,
  .nav-dropdown:focus-within .nav-dropdown-menu{
    transition-delay:0s;
  }
}


/* V3.33 – Kurspause und einmaliger Kursausfall */
.today-course-notices{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:9px;position:relative;z-index:2}
.today-course-notice{display:inline-flex;align-items:center;max-width:100%;padding:5px 8px;border-radius:999px;font-size:8px;line-height:1;font-weight:950;letter-spacing:.065em;text-transform:uppercase;white-space:nowrap}
.today-course-paused{background:#ffe08a;color:#211703;border:1px solid rgba(255,196,51,.25)}
.today-course-cancelled{background:#ff8791;color:#2b070b;border:1px solid rgba(255,92,105,.28)}
.weekly-paused,.weekly-cancelled{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:8px;line-height:1;font-weight:950;letter-spacing:.065em;text-transform:uppercase;white-space:normal}
.weekly-paused{background:#ffe08a;color:#211703}
.weekly-cancelled{background:#ff8791;color:#2b070b}
.schedule-status-heading{margin-top:8px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
.schedule-status-heading strong{display:block;margin-bottom:4px;color:#fff;font-size:15px}
@media(max-width:650px){.today-course-notice,.weekly-paused,.weekly-cancelled{font-size:7px;padding:5px 7px}}


/* V3.36 Firmenfitness: kompakter Einstieg ohne separaten Logo-Hero */
.corporate-detail-content-first{padding-top:138px}
.corporate-detail-heading-row{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:28px;align-items:center;margin:10px 0 28px;max-width:960px}
.corporate-detail-heading-row h1{margin:0;min-width:0}
.corporate-detail-logo-square{width:132px;height:132px;border-radius:24px;background:#fff;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden;box-shadow:0 18px 48px rgba(0,0,0,.18)}
.corporate-detail-logo-square img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.corporate-detail-logo-square .corporate-wordmark{font-size:17px;line-height:1.05;overflow-wrap:anywhere}
@media (max-width:760px){
  .corporate-detail-content-first{padding-top:112px}
  .corporate-detail-heading-row{grid-template-columns:minmax(0,1fr) 92px;gap:16px;margin-bottom:22px}
  .corporate-detail-logo-square{width:92px;height:92px;border-radius:18px;padding:12px}
  .corporate-detail-logo-square .corporate-wordmark{font-size:13px}
}
@media (max-width:480px){
  .corporate-detail-heading-row{grid-template-columns:1fr;align-items:start}
  .corporate-detail-logo-square{width:96px;height:96px}
}

/* V3.41 · Öffnungszeiten-Unterseite */
.opening-hours-hero{padding-bottom:54px}.opening-hours-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:end}.opening-hours-hero-grid>div:first-child>p:last-child{max-width:720px;color:var(--muted);font-size:18px}.opening-status-card{border:1px solid var(--line);border-radius:22px;background:#101720;padding:26px;display:flex;flex-direction:column;gap:8px}.opening-status-card>span{font-size:10px;letter-spacing:.18em;color:#83dcf7;font-weight:900}.opening-status-card strong{font-size:28px;line-height:1.05}.opening-status-card p{margin:0;color:var(--muted)}.opening-status-card.is-open{border-color:rgba(114,226,189,.42);background:linear-gradient(145deg,rgba(114,226,189,.09),#101720)}.opening-hours-main-section{padding:56px 0 110px}.opening-hours-main-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;align-items:start}.opening-hours-main-grid:not(.has-media){grid-template-columns:1fr}.opening-hours-week-card,.opening-hours-info-card{border:1px solid var(--line);border-radius:24px;background:#101720;padding:28px}.opening-hours-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.opening-hours-card-head h2,.opening-hours-info-card h2{font-size:34px;margin:0;letter-spacing:-.035em}.opening-period-badge{font-size:11px;font-weight:900;padding:7px 10px;border-radius:999px;background:#173343;color:#8de4fb;border:1px solid rgba(48,217,255,.25);white-space:nowrap}.opening-hours-week-list{border-top:1px solid var(--line)}.opening-hours-public-row{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.opening-hours-public-row>div:first-child{display:flex;align-items:baseline;gap:10px}.opening-hours-public-row>div:first-child strong{font-size:16px}.opening-hours-public-row>div:first-child small{color:var(--muted)}.opening-public-hours{display:flex;flex-direction:column;align-items:flex-end}.opening-public-hours strong{font-size:16px}.opening-public-hours small{color:var(--muted);font-size:12px;margin-top:2px}.opening-hours-public-row.is-today{background:linear-gradient(90deg,rgba(48,217,255,.08),transparent);margin:0 -12px;padding-left:12px;padding-right:12px;border-radius:10px}.opening-hours-public-row.is-today>div:first-child strong{color:#80ddfa}.opening-hours-public-row.is-closed .opening-public-hours strong{color:#ff9ba7}.opening-hours-info-card>p:not(.eyebrow){color:var(--muted)}.opening-special-public-list{margin:22px 0 24px;border-top:1px solid var(--line)}.opening-special-public-list>div{display:grid;grid-template-columns:100px 1fr;gap:4px 12px;padding:12px 0;border-bottom:1px solid var(--line)}.opening-special-public-list span{color:#d6dee6}.opening-special-public-list small{grid-column:2;color:var(--muted)}@media(max-width:900px){.opening-hours-hero-grid,.opening-hours-main-grid{grid-template-columns:1fr}.opening-status-card{max-width:460px}.opening-hours-hero{padding-bottom:30px}}@media(max-width:600px){.opening-hours-main-section{padding-top:35px}.opening-hours-week-card,.opening-hours-info-card{padding:20px}.opening-hours-card-head{flex-direction:column}.opening-hours-public-row{grid-template-columns:1fr;gap:4px}.opening-public-hours{align-items:flex-start}.opening-hours-public-row>div:first-child{justify-content:space-between}.opening-period-badge{white-space:normal}}


/* V3.42 · Öffnungszeiten Wochenblättern + zeitgesteuertes Hinweisbild */
.opening-week-range{display:block;margin-top:6px;color:var(--muted);font-size:13px;font-weight:700}
.opening-week-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 18px;padding:10px 0 16px;border-bottom:1px solid var(--line)}
.opening-week-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:#dce6ee;font-size:12px;font-weight:800;text-decoration:none;background:#0c131b;transition:border-color .2s ease,background .2s ease,color .2s ease}
.opening-week-nav a:hover,.opening-week-nav a:focus-visible{border-color:rgba(48,217,255,.46);background:#132431;color:#8de4fb}
.opening-week-nav .is-current-week{background:linear-gradient(135deg,#268cff,#31d0f4);color:#06121a;border-color:transparent}
.opening-day-label{display:flex;align-items:baseline;gap:12px}
.opening-hours-public-row .opening-day-label strong,.opening-hours-public-row .opening-day-label span{font-size:16px;line-height:1.2;font-weight:800;color:#f2f6f9}
.opening-hours-public-row.is-today .opening-day-label strong,.opening-hours-public-row.is-today .opening-day-label span{color:#80ddfa}
.opening-hours-media-card{border:1px solid var(--line);border-radius:24px;background:#101720;overflow:hidden;height:440px;position:relative}
.opening-hours-media-button{appearance:none;border:0;padding:0;margin:0;width:100%;height:100%;display:block;position:relative;cursor:zoom-in;background:#f4f6f7;color:inherit}
.opening-hours-media-button img{width:100%;height:100%;display:block;object-fit:contain;object-position:center}
.opening-hours-media-button span{position:absolute;left:16px;bottom:16px;padding:8px 11px;border-radius:999px;background:rgba(8,13,18,.84);color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em;backdrop-filter:blur(8px)}
.opening-image-lightbox[hidden]{display:none!important}
.opening-image-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(2,6,10,.9);display:flex;align-items:center;justify-content:center;padding:34px;backdrop-filter:blur(8px)}
.opening-image-lightbox-inner{width:min(1180px,92vw);height:min(820px,86vh);display:flex;align-items:center;justify-content:center}
.opening-image-lightbox-inner img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 28px 80px rgba(0,0,0,.5);border-radius:12px;background:#fff}
.opening-image-lightbox-close{position:fixed;top:20px;right:24px;width:46px;height:46px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(8,13,18,.8);color:#fff;font-size:30px;line-height:1;cursor:pointer}
@media(max-width:900px){.opening-hours-media-card{height:400px}}
@media(max-width:600px){.opening-week-nav{display:grid;grid-template-columns:1fr 1fr}.opening-week-nav .is-current-week{grid-column:1/-1;grid-row:2}.opening-hours-public-row .opening-day-label strong,.opening-hours-public-row .opening-day-label span{font-size:15px}.opening-hours-media-card{height:340px}.opening-image-lightbox{padding:18px}.opening-image-lightbox-close{top:12px;right:12px}}


/* V3.47 · Preisaktionen, Badges und zeitlich begrenzte Preisangebote */
.price-page-grid .price-card{position:relative;overflow:hidden}
.price-promo-badge{align-self:flex-start;display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#ffd362;color:#17120a;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;box-shadow:0 8px 20px rgba(255,198,71,.16)}
.price-card-promo{background:radial-gradient(circle at 82% 0%,rgba(255,199,79,.18),transparent 42%),radial-gradient(circle at 12% 100%,rgba(48,217,255,.10),transparent 40%),#121923!important;border-color:rgba(255,208,91,.72)!important;box-shadow:0 18px 52px rgba(0,0,0,.28),0 0 0 1px rgba(255,208,91,.12),inset 4px 0 0 #ffd15a}
.price-card-promo:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,#ffd15a,#71e5c1,#6edcff);opacity:.95}
.price-card-promo>strong{color:#fff}
.price-card-promo .button-primary{box-shadow:0 12px 34px rgba(48,217,255,.20)}


/* V3.48 – Kurse-Dropdown nach Rubriken + alphabetisch */
@media (min-width:1001px){
  .desktop-nav .nav-dropdown:nth-of-type(2) .nav-dropdown-menu{width:285px;max-height:min(76vh,680px);overflow-y:auto;overscroll-behavior:contain}
}
.course-menu-group-label{display:block;margin:8px 10px 3px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08);color:#67dcfa;font-size:10px;line-height:1.2;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.nav-dropdown-menu [data-course-links] .course-menu-group-label:first-child{margin-top:4px}
.nav-dropdown-menu [data-course-links] .course-menu-group-label + a{margin-top:0}
.mobile-course-links .course-menu-group-label{margin:8px 0 0;padding:7px 0 0;border-top:1px solid rgba(255,255,255,.08)}
.mobile-course-group-label{margin-left:15px;margin-right:10px}


/* V3.49 · Alter Preis, neuer Preis, Ersparnis und Aktionszeitraum */
.price-comparison{display:flex;flex-direction:column;gap:8px;margin:2px 0 2px}
.price-old{display:flex;align-items:baseline;gap:8px;color:#8795a4;font-size:14px;font-weight:700}
.price-old>span{font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#8193a4}
.price-old s{text-decoration-thickness:1.5px;text-decoration-color:#aab4bd}
.price-new-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.price-card .price-new{font-size:clamp(36px,4vw,54px);line-height:.95;letter-spacing:-.045em;color:#fff}
.price-saving-large{display:inline-flex;align-items:baseline;gap:4px;padding:9px 13px;border-radius:999px;background:#65e6b0;color:#082119;font-size:21px;line-height:1;font-weight:950;letter-spacing:-.02em;white-space:nowrap;box-shadow:0 10px 28px rgba(101,230,176,.16)}
.price-saving-large small{font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:inherit}
.price-promo-period{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;width:max-content;max-width:100%;margin-top:3px;padding:6px 9px;border-radius:9px;background:rgba(255,211,98,.08);border:1px solid rgba(255,211,98,.18);color:#dce5ec;font-size:11px;font-weight:700}
.price-promo-period b{color:#ffd362;font-size:9px;letter-spacing:.09em;text-transform:uppercase}
.price-action-period-note{display:flex;align-items:flex-end;padding-bottom:5px}
@media(max-width:600px){.price-card .price-new{font-size:40px}.price-saving-large{font-size:18px;padding:8px 11px}}


/* V3.50 – Kurse-Dropdown kompakter + Yoga & Pilates */
.nav-dropdown-menu>[data-course-links]>a{
  padding:6px 10px;
  line-height:1.25;
}
.course-menu-group-label{
  margin:5px 10px 1px;
  padding-top:6px;
  line-height:1.15;
}
.nav-dropdown-menu [data-course-links] .course-menu-group-label:first-child{
  margin-top:2px;
  padding-top:4px;
}
.mobile-course-links{
  gap:5px;
}
.mobile-course-links .course-menu-group-label{
  margin:5px 0 0;
  padding-top:5px;
}

/* V3.51 – Kurse-Dropdown noch kompakter */
@media (min-width:1001px){
  .desktop-nav .nav-dropdown:nth-of-type(2) .nav-dropdown-menu{
    max-height:min(calc(100vh - 92px),820px);
    padding:6px;
  }
}
.nav-dropdown-menu>[data-course-links]>a{
  padding:3px 8px;
  min-height:0;
  border-radius:7px;
  font-size:11.5px;
  line-height:1.12;
  margin:0;
}
.course-menu-group-label{
  margin:3px 8px 0;
  padding-top:4px;
  font-size:9.5px;
  line-height:1.05;
  letter-spacing:.12em;
}
.nav-dropdown-menu [data-course-links] .course-menu-group-label:first-child{
  margin-top:1px;
  padding-top:3px;
}
.nav-dropdown-menu [data-course-links] .course-menu-group-label + a{
  margin-top:1px;
}
.mobile-course-links{gap:2px}
.mobile-course-links .course-menu-group-label{
  margin:3px 0 0;
  padding-top:4px;
}


/* ===== V3.52 · Bis zu vier Angebote inkl. Preisaktionen auf der Startseite ===== */
.promo-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  width:100%;
}
.promo-card.is-price-promo{
  border-color:rgba(95,214,248,.30);
  background:radial-gradient(circle at 90% 8%,rgba(74,210,247,.09),transparent 34%),#101821;
}
.promo-card.is-price-promo.is-highlight{
  border-color:rgba(255,208,83,.68);
  background:radial-gradient(circle at 92% 8%,rgba(255,202,62,.14),transparent 36%),#111922;
}
@media(max-width:1100px){
  .promo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .promo-grid{grid-template-columns:minmax(0,1fr)}
}

/* ===== V3.53 · Preisaktionen und normale Aktionen auf der Startseite gleich groß ===== */
@media (min-width:1001px){
  .promo-grid{align-items:stretch}
  .promo-card,
  .promo-card.has-image,
  .promo-card.is-price-promo{
    height:540px;
    min-height:540px;
    max-height:540px;
  }
}


/* ===== V3.56 · Kursmenü ausgewogener + Rubrikenfarben inkl. Reha-Sport ===== */
@media (min-width:1001px){
  .desktop-nav .nav-dropdown:nth-of-type(2) .nav-dropdown-menu{
    width:300px;
    max-height:calc(100vh - 76px);
    padding:7px;
  }
}
.desktop-nav .nav-dropdown:nth-of-type(2) .nav-dropdown-menu > a,
.nav-dropdown-menu>[data-course-links]>a{
  padding:4.5px 9px;
  font-size:11.75px;
  line-height:1.16;
  border-radius:7px;
}
.course-menu-group-label{
  margin:5px 9px 1px;
  padding-top:5px;
  font-size:9.75px;
  line-height:1.08;
  letter-spacing:.125em;
}
.nav-dropdown-menu [data-course-links] .course-menu-group-label:first-child{
  margin-top:2px;
  padding-top:4px;
}
.nav-dropdown-menu [data-course-links] .course-menu-group-label + a{margin-top:1px}

/* Rubrikenfarben – Desktop + Mobil */
.course-menu-group-label-fitness{color:#45d8ff}
.course-menu-group-label-yoga{color:#b881ff}
.course-menu-group-label-tanz{color:#ff66b2}
.course-menu-group-label-rehasport{color:#60ffc0}
.mobile-course-links .course-menu-group-label-fitness{color:#45d8ff}
.mobile-course-links .course-menu-group-label-yoga{color:#b881ff}
.mobile-course-links .course-menu-group-label-tanz{color:#ff66b2}
.mobile-course-links .course-menu-group-label-rehasport{color:#60ffc0}

/* Reha-Sport in der Kursübersicht bewusst grün */
.course-category-jump-rehasport{
  background:linear-gradient(135deg,#12e6a3 0%,#55f2ad 48%,#9affc9 100%);
  color:#04130d;
  box-shadow:0 10px 28px rgba(18,230,163,.20), inset 0 1px 0 rgba(255,255,255,.28);
}
.course-category-group-rehasport .course-group-dot{
  background:#43f5ad;
  box-shadow:0 0 20px rgba(67,245,173,.62);
}
.course-category-group-rehasport .course-page-card:hover{border-color:rgba(67,245,173,.52)}
.course-category-group-rehasport .course-category,
.course-category-group-rehasport .text-arrow{color:#60ffc0}

@media(max-width:1000px){
  .mobile-course-links{gap:3px}
  .mobile-course-links .course-menu-group-label{margin:4px 0 0;padding-top:5px}
}

/* Kategorienfarbe auch auf den Kurs-Detailseiten */
.course-detail-hero.course-tone-fitness .eyebrow{color:#45d8ff}
.course-detail-hero.course-tone-yoga .eyebrow{color:#b881ff}
.course-detail-hero.course-tone-tanz .eyebrow{color:#ff66b2}
.course-detail-hero.course-tone-rehasport .eyebrow{color:#60ffc0}

/* ===== V3.57 · Reha-Sport frischer Verlauf ===== */
.course-category-jump-rehasport:hover{
  filter:brightness(1.07) saturate(1.06);
  box-shadow:0 12px 32px rgba(18,230,163,.28), inset 0 1px 0 rgba(255,255,255,.32);
}


/* ===== V3.58 · Dein Training + einheitliche Dropdown-Abstände ===== */
@media (min-width:1001px){
  .nav-training-dropdown .nav-dropdown-menu,
  .nav-corporate-dropdown .nav-dropdown-menu{
    padding:7px;
    max-height:calc(100vh - 76px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .nav-training-dropdown .nav-dropdown-menu{width:285px}
  .nav-corporate-dropdown .nav-dropdown-menu{width:265px}
}
.nav-training-dropdown .nav-dropdown-menu > a,
.nav-training-dropdown .nav-dropdown-menu > [data-training-links] > a,
.nav-corporate-dropdown .nav-dropdown-menu > a,
.nav-corporate-dropdown .nav-dropdown-menu > [data-corporate-links] > a{
  display:block;
  padding:4.5px 9px;
  min-height:0;
  margin:0;
  border-radius:7px;
  font-size:11.75px;
  line-height:1.16;
  color:#cbd5df;
}
.nav-training-dropdown .nav-dropdown-menu > a:hover,
.nav-training-dropdown .nav-dropdown-menu > [data-training-links] > a:hover,
.nav-corporate-dropdown .nav-dropdown-menu > a:hover,
.nav-corporate-dropdown .nav-dropdown-menu > [data-corporate-links] > a:hover{
  background:#15202c;
  color:#fff;
}
.nav-training-dropdown .nav-dropdown-menu > .nav-dropdown-all,
.nav-corporate-dropdown .nav-dropdown-menu > .nav-dropdown-all{
  color:#7ddcf8!important;
  font-weight:800;
  border-bottom:1px solid var(--line);
  margin-bottom:4px;
  padding-top:5px;
  padding-bottom:7px;
}
@media(max-width:1000px){
  .mobile-training-links,
  [data-corporate-mobile-links]{gap:3px}
  .mobile-training-links a,
  [data-corporate-mobile-links] a{
    line-height:1.2;
    padding-top:2px;
    padding-bottom:2px;
  }
}

/* V3.60 – Kursplan-Buttons in Preis-Karten immer am unteren Kartenrand */
.price-page-grid .price-card .price-course-schedule-button{margin-top:auto;width:100%;text-align:center}

/* ===== V3.69 · Preisangebote ohne Bild starten auf gleicher Höhe wie Bildkarten ===== */
@media (min-width:651px){
  .promo-card.is-price-promo:not(.has-image) .promo-copy{
    padding-top:202px;
  }
}

/* V3.70 · Angebote kompakter oben + CMS-Mitgliederstimmen */
.promo-section{padding:54px 0 92px}
.promo-section .promo-section-head{margin-bottom:34px}
.promo-section .promo-section-head h2{margin-top:0}

.member-voices-section{padding:58px 0 64px;background:#0a0f15;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.member-voices-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:22px}
.member-voices-head .eyebrow{margin:0 0 7px}
.member-voices-head h2{margin:0;font-size:clamp(28px,3.2vw,42px);line-height:1;letter-spacing:-.045em}
.member-voices-head>.text-link{flex:none;font-size:13px;color:#7edcf8;font-weight:800;padding-bottom:3px}
.member-voices-stage{max-width:930px}
.member-voice-card{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:228px;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:linear-gradient(135deg,#111923,#0e141c);transition:transform .2s,border-color .2s,background .2s}
.member-voice-card:hover{transform:translateY(-2px);border-color:rgba(90,218,249,.35);background:linear-gradient(135deg,#121d28,#0f161f)}
.member-voice-card.no-image{grid-template-columns:minmax(0,1fr);max-width:760px}
.member-voice-media{min-height:228px;background:#101821;overflow:hidden}
.member-voice-media img{width:100%;height:100%;min-height:228px;object-fit:cover;object-position:center}
.member-voice-copy{padding:24px 28px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.member-voice-quote{font-size:52px;line-height:.65;color:#72ddfa;font-weight:900;margin-bottom:8px}
.member-voice-text{font-size:clamp(18px,2vw,24px);line-height:1.32;letter-spacing:-.025em;margin:0 0 18px;color:#f2f5f8;max-width:650px}
.member-voice-person{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.member-voice-person strong{font-size:13px}.member-voice-person span{font-size:12px;color:#91a0af}
.member-voice-more{font-size:12px;color:#7edcf8;font-weight:800;margin-top:12px}
.member-voices-dots{display:flex;gap:7px;align-items:center;margin-top:14px;min-height:12px}
.member-voice-dot{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:#44515f;cursor:pointer;transition:width .2s,background .2s}
.member-voice-dot.is-active{width:24px;background:#61d9fb}

/* Öffentliche Übersicht und Detailseite der Mitgliederstimmen */
.testimonial-overview-hero{min-height:485px}
.testimonial-list-section{padding:58px 0 96px}
.testimonial-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.testimonial-page-card{border:1px solid var(--line);border-radius:23px;overflow:hidden;background:#10161e;min-width:0}
.testimonial-page-card-link{height:100%;display:flex;flex-direction:column}
.testimonial-page-image{height:210px;background-size:cover;background-position:center}
.testimonial-page-copy{padding:24px;display:flex;flex-direction:column;min-height:275px}
.testimonial-page-card.no-image .testimonial-page-copy{min-height:310px}
.testimonial-page-quote{font-size:52px;line-height:.65;color:#72ddfa;font-weight:900}
.testimonial-page-copy p{font-size:18px;line-height:1.42;margin:16px 0 22px;color:#e7edf3}
.testimonial-page-copy strong{font-size:14px}.testimonial-page-copy small{color:#91a0af;margin-top:3px}
.testimonial-page-copy .text-arrow{margin-top:auto}
.testimonial-detail-section{padding:145px 0 100px;min-height:75vh;background:radial-gradient(circle at 75% 15%,rgba(48,217,255,.1),transparent 35%),#080b10}
.testimonial-detail-grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:58px;align-items:center}
.testimonial-detail-grid.no-image{grid-template-columns:minmax(0,850px)}
.testimonial-detail-image{border:1px solid var(--line);border-radius:26px;overflow:hidden;background:#10161e}
.testimonial-detail-image img{width:100%;max-height:620px;object-fit:contain;background:#10161e}
.testimonial-detail-copy{max-width:780px}
.testimonial-detail-copy .eyebrow{margin-bottom:16px}
.testimonial-detail-quote{font-size:88px;line-height:.6;color:#72ddfa;font-weight:900}
.testimonial-detail-text{font-size:clamp(24px,3.2vw,40px);line-height:1.28;letter-spacing:-.035em;margin:18px 0 32px}
.testimonial-detail-copy footer{display:flex;gap:9px;flex-wrap:wrap;align-items:baseline}.testimonial-detail-copy footer strong{font-size:15px}.testimonial-detail-copy footer span{font-size:13px;color:#91a0af}
.testimonial-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}

@media(max-width:1000px){.testimonial-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.testimonial-detail-grid{grid-template-columns:1fr;align-items:start}.testimonial-detail-image{max-width:560px}}
@media(max-width:760px){.promo-section{padding-top:42px}.member-voices-head{align-items:flex-start;flex-direction:column;gap:12px}.member-voice-card{grid-template-columns:120px minmax(0,1fr);min-height:190px}.member-voice-media,.member-voice-media img{min-height:190px}.member-voice-copy{padding:20px}.member-voice-text{font-size:18px}.testimonial-page-grid{grid-template-columns:1fr}.testimonial-detail-section{padding:112px 0 74px}}
@media(max-width:520px){.member-voice-card.has-image{grid-template-columns:1fr}.member-voice-media{height:190px;min-height:0}.member-voice-media img{height:190px;min-height:0}.member-voice-card.no-image{max-width:none}.member-voice-copy{padding:20px 19px}.member-voices-section{padding:48px 0 52px}}

/* V3.73 · CMS-gesteuerte Nutzen-Kacheln auf Trainings-Unterseiten */
.training-benefits-section{padding:0 0 104px;background:#080b10}
.training-benefits-head{margin-bottom:24px}
.training-benefits-head h2{margin:0;font-size:clamp(34px,4.2vw,56px);line-height:.95;letter-spacing:-.045em}
.training-benefits-grid{display:grid;gap:15px;align-items:start}
.training-benefits-count-1{grid-template-columns:minmax(0,580px)}
.training-benefits-count-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px}
.training-benefits-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.training-benefits-count-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.training-benefit-card{min-width:0;border:1px solid var(--line);background:linear-gradient(145deg,#101822,#0d141d);border-radius:20px;padding:22px 22px 24px}
.training-benefit-kicker{display:block;margin-bottom:8px;font-size:9px;line-height:1.35;letter-spacing:.16em;font-weight:900;color:#70dcfa;text-transform:uppercase}
.training-benefit-card h3{margin:0;font-size:21px;line-height:1.16;letter-spacing:-.025em}
.training-benefit-text{margin-top:14px;color:#c6d0da;font-size:13px;line-height:1.58}
.training-benefit-list{list-style:none;margin:17px 0 0;padding:0}
.training-benefit-list li{position:relative;padding:9px 0 9px 18px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.45;color:#e3e8ed}
.training-benefit-list li:before{content:"+";position:absolute;left:0;color:#70dcfa;font-weight:900}
@media(max-width:1000px){.training-benefits-count-3,.training-benefits-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.training-benefits-section{padding:0 0 74px}.training-benefits-count-1,.training-benefits-count-2,.training-benefits-count-3,.training-benefits-count-4{grid-template-columns:1fr;max-width:none}.training-benefit-card{padding:20px}.training-benefits-head h2{font-size:36px}}

/* V3.74 · Kursplan-PDF */
.schedule-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.schedule-pdf-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:14px;background:linear-gradient(135deg,#2e82ff,#30d9ff);color:#06101b;font-size:12px;font-weight:900;white-space:nowrap;box-shadow:0 10px 30px rgba(46,130,255,.18)}.schedule-pdf-button:hover{transform:translateY(-1px)}
@media(max-width:850px){.schedule-toolbar-actions{width:100%;justify-content:flex-start}.schedule-pdf-button{min-height:48px}}
@media(max-width:520px){.schedule-toolbar-actions{flex-direction:column;align-items:stretch}.schedule-pdf-button{width:100%}}

/* V3.81 – Startseiten-Kursbereich Slider / Leerer-Zustand / Feinschliff */
.today-courses-kicker:empty{display:none}
.today-courses-intro h2{margin:0 0 10px;font-size:38px;line-height:.96}
.today-courses-date{font-size:15px;color:#a9b6c3}
.today-courses-content{display:flex;flex-direction:column;gap:14px;min-width:0}
.today-courses-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:2px}
.today-courses-grid::-webkit-scrollbar{display:none}
.today-courses-footer{display:flex;justify-content:space-between;align-items:center;gap:14px}
.today-courses-nav{display:flex;align-items:center;gap:8px}
.today-courses-nav[hidden]{display:none!important}
.today-courses-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;border:1px solid rgba(103,220,250,.28);background:rgba(255,255,255,.04);color:#dff7ff;font-size:22px;font-weight:900;cursor:pointer;transition:.2s ease}
.today-courses-nav-btn:hover:not(:disabled){background:rgba(103,220,250,.12);transform:translateY(-1px)}
.today-courses-nav-btn:disabled{opacity:.35;cursor:default;transform:none}
.today-course-item{flex:0 0 var(--today-course-card-width,182px);width:var(--today-course-card-width,182px);min-height:142px}
.today-course-item.has-notice{min-height:156px}
.today-course-subtitle{color:#72ddf8}
.today-course-notices{margin-top:10px}
.today-courses-empty-state{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:22px 24px;border:1px dashed rgba(103,220,250,.25);border-radius:16px;background:rgba(255,255,255,.02)}
.today-courses-empty-text{margin:0;color:#d8e5f0;font-size:15px;line-height:1.45}
.today-courses-empty-link{white-space:nowrap}
@media (max-width:1050px){
  .today-courses-intro h2{font-size:34px}
}
@media (max-width:650px){
  .today-courses-date{font-size:14px}
  .today-courses-empty-state{flex-direction:column;align-items:flex-start}
  .today-courses-nav-btn{width:36px;height:36px;font-size:20px}
  .today-course-item{min-height:138px}
  .today-course-item.has-notice{min-height:150px}
  .today-courses-footer{align-items:flex-start;flex-wrap:wrap}
}

/* V3.82 – Feinschliff Startseiten-Kurs-Slider */
.today-courses-box{grid-template-columns:minmax(300px,.95fr) minmax(0,2.05fr);align-items:stretch}
.today-courses-intro{display:flex;flex-direction:column;justify-content:center}
.today-courses-intro h2{font-size:40px;line-height:.95;margin:0 0 12px}
.today-courses-date{font-size:16px}
.today-courses-content{overflow:hidden}
.today-courses-grid{padding-right:14px;gap:12px;align-items:stretch}
.today-course-item{flex:0 0 var(--today-course-card-width,176px);width:var(--today-course-card-width,176px);min-height:160px;padding:16px 15px 16px;border-radius:16px}
.today-course-item.has-notice{min-height:172px}
.today-course-item h3{margin:6px 0 8px;font-size:17px;line-height:1.08;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.today-course-subtitle{margin:0 0 10px;font-size:14px;line-height:1.25}
.today-course-meta{margin-top:auto;font-size:11px;line-height:1.28;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.today-course-time{margin-bottom:6px;min-height:auto}
.today-course-time-info{display:flex;flex-direction:column;gap:3px}
.today-course-countdown{font-size:10px;line-height:1.15;color:#92eaff}
.today-course-notices{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.today-courses-footer{margin-top:2px}
.today-courses-nav{display:flex;align-items:center;gap:10px;flex-shrink:0}
.today-courses-nav-btn{box-shadow:0 10px 24px rgba(0,0,0,.18)}
.today-courses-link{margin-left:auto}
@media (max-width:1050px){
  .today-courses-box{grid-template-columns:1fr;gap:24px}
  .today-courses-intro h2{font-size:36px}
}
@media (max-width:650px){
  .today-courses-intro h2{font-size:32px}
  .today-courses-date{font-size:15px}
  .today-courses-grid{gap:10px;padding-right:10px}
  .today-course-item{min-height:152px}
  .today-course-item.has-notice{min-height:164px}
  .today-courses-link{margin-left:0}
}

/* V3.83 – Kurs-Slider zuverlässig sichtbar + mehr Platz für Karten */
.today-courses-box{grid-template-columns:minmax(235px,.62fr) minmax(0,2.38fr);gap:26px;align-items:center}
.today-courses-intro h2{font-size:39px;line-height:.92;margin:0 0 12px}
.today-courses-date{font-size:16px;line-height:1.25}
.today-courses-slider{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:10px;align-items:center;min-width:0}
.today-courses-slider.is-empty{display:block}
.today-courses-slider.is-empty .today-courses-nav-btn{display:none!important}
.today-courses-grid{min-width:0;width:100%;overflow-x:auto;overflow-y:hidden;display:flex;flex-wrap:nowrap;gap:10px;padding:0;scroll-snap-type:x mandatory;scroll-padding:0}
.today-course-item{scroll-snap-align:start;flex:0 0 calc((100% - 30px)/4)!important;width:calc((100% - 30px)/4)!important;min-width:0;min-height:154px;padding:15px 13px 15px}
.today-course-item.has-notice{min-height:168px}
.today-course-item h3{font-size:16px;line-height:1.08;margin:5px 0 7px;white-space:normal;overflow:visible;display:block;-webkit-line-clamp:unset}
.today-course-subtitle{font-size:10px!important;line-height:1.25!important;margin:0 0 7px!important;color:#70dcfa}
.today-course-meta{font-size:9px!important;line-height:1.3!important;margin-top:auto;color:#8796a5;white-space:normal;overflow:visible;display:block;-webkit-line-clamp:unset}
.today-course-notice{font-size:7.5px}
.today-courses-nav-btn{position:relative;z-index:3;display:inline-flex!important;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(103,220,250,.35);background:#101a24;color:#e9fbff;font-size:26px;font-weight:900;line-height:1;box-shadow:0 10px 26px rgba(0,0,0,.24);cursor:pointer}
.today-courses-nav-btn[hidden]{display:none!important}
.today-courses-nav-btn:hover:not(:disabled){background:#172737;border-color:rgba(103,220,250,.6);transform:translateY(-1px)}
.today-courses-nav-btn:disabled{opacity:.28;cursor:default}
.today-courses-footer{padding-left:52px;justify-content:flex-end;margin-top:8px}
.today-courses-link{margin-left:auto}
@media(max-width:1050px){
  .today-courses-box{grid-template-columns:1fr;gap:22px}
  .today-courses-slider{grid-template-columns:40px minmax(0,1fr) 40px}
  .today-course-item{flex-basis:calc((100% - 20px)/3)!important;width:calc((100% - 20px)/3)!important}
  .today-courses-footer{padding-left:50px}
}
@media(max-width:750px){
  .today-course-item{flex-basis:calc((100% - 10px)/2)!important;width:calc((100% - 10px)/2)!important}
  .today-courses-slider{grid-template-columns:36px minmax(0,1fr) 36px;gap:7px}
  .today-courses-nav-btn{width:36px;height:36px;font-size:22px}
  .today-courses-footer{padding-left:43px}
}
@media(max-width:480px){
  .today-course-item{flex-basis:100%!important;width:100%!important}
  .today-courses-intro h2{font-size:32px}
}

/* V3.87 · automatische Kurskennzeichnung an Schließtagen */
.today-course-closed{background:#d9dde2;color:#111820;border:1px solid rgba(255,255,255,.18)}
.weekly-closed{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#d9dde2;color:#111820;font-size:8px;line-height:1;font-weight:950;letter-spacing:.065em;text-transform:uppercase;white-space:normal}
@media(max-width:650px){.today-course-closed,.weekly-closed{font-size:7px;padding:5px 7px}}

/* V3.88 · saubere Sprungziele bei fixer Navigation */
#training,#aktionen,#kurse,#firmenfitness,#news,#kontakt{scroll-margin-top:96px}

/* V3.89 · Wochenüberschrift kompakt numerisch */
@media(min-width:851px){.weekly-schedule-toolbar h2{white-space:nowrap}}

/* V3.90 · Trainingsbereich für bis zu 8 Kacheln / 4×2 Desktop */
@media(min-width:1101px){
  .training-home-card-link{min-height:430px}
  .training-home-card-media{height:190px;flex-basis:190px}
  .training-home-card-copy{padding:21px 21px 23px}
  .training-home-card h3{font-size:24px}
  .training-home-card p{font-size:13px;line-height:1.5}
}

/* V3.91 · Reha-Sport: aktuelle Kurszeiten direkt im CTA-Kasten */
.training-reha-times{margin:2px 0 22px;padding:16px 0 2px;border-top:1px solid rgba(255,255,255,.10)}
.training-reha-times-title{display:block;margin-bottom:10px;color:#72ddf8;font-size:9px;font-weight:900;letter-spacing:.14em}
.training-reha-times-list{display:grid;gap:7px}
.training-reha-time-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.025)}
.training-reha-time-row strong{font-size:12px;color:#f4f8fb}
.training-reha-time-row span{font-size:12px;color:#9eb0bf;white-space:nowrap}
.training-reha-times-empty{margin:0!important;color:#8fa0ae!important;font-size:12px!important;line-height:1.45}
@media(max-width:650px){.training-reha-time-row{padding:9px 10px}.training-reha-time-row strong,.training-reha-time-row span{font-size:11px}}

/* V3.92 · einheitlicher Leerzustand im Wochenkursplan */
.schedule-day-empty{margin:0;padding:22px 8px;color:#8c9aa7;font-size:11px;line-height:1.45;text-align:center;display:flex;flex-direction:column;align-items:center;gap:7px}
.schedule-day-empty strong{color:#dbe6ef;font-size:11px;font-weight:800}
.schedule-day-empty a{color:#70dcfa;text-decoration:none;font-weight:800;font-size:10px;line-height:1.35}
.schedule-day-empty a:hover{text-decoration:underline}


/* V3.95 · Rechtliche Seiten */
.legal-hero{min-height:360px;padding:150px 0 70px;background:#080b10;border-bottom:1px solid var(--line)}
.legal-hero h1{margin:10px 0 0;font-size:clamp(52px,7vw,92px);line-height:.92;letter-spacing:-.055em}
.legal-hero p{max-width:780px;margin:24px 0 0;color:#a9b6c3;font-size:18px;line-height:1.65}
.legal-section{padding:72px 0 110px;background:#080b10}
.legal-content{max-width:980px;border:1px solid var(--line);border-radius:22px;background:#0f161e;padding:34px 36px;color:#dce6ee;font-size:16px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}
.legal-content a{color:#6fdcf9}
.legal-fallback{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
@media(max-width:650px){.legal-hero{padding:120px 0 55px}.legal-section{padding:52px 0 80px}.legal-content{padding:24px 20px;font-size:15px}}

/* V3.96 · Kontaktperson, Icons + Social Media */
.contact-owner strong{font-size:18px;line-height:1.35}
.contact-owner small{display:block;margin-top:7px;color:#8f9caa;font-size:11px;line-height:1.5}
.contact-details{gap:8px}
.contact-details>span{margin-bottom:8px}
.contact-icon-link{display:flex!important;align-items:center;gap:10px;width:max-content;max-width:100%;font-size:15px!important;color:#eef5fb!important;margin:0!important}
.contact-icon-link svg{width:18px;height:18px;flex:0 0 18px;fill:#74ddf8}
.contact-icon-link span{font-size:inherit!important;letter-spacing:0!important;color:inherit!important;font-weight:400!important;margin:0!important}
.contact-social{padding:0 0 26px;margin-bottom:26px;border-bottom:1px solid var(--line)}
.contact-social>span{display:block;font-size:10px;letter-spacing:.16em;color:#78dcfa;font-weight:800;margin-bottom:12px}
.contact-social-links{display:flex;flex-wrap:wrap;gap:9px}
.contact-social-links a{display:inline-flex;align-items:center;gap:8px;min-height:39px;padding:0 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.025);font-size:11px;font-weight:800;transition:border-color .2s,background .2s,transform .2s}
.contact-social-links a:hover{border-color:rgba(103,220,250,.38);background:rgba(103,220,250,.08);transform:translateY(-1px)}
.contact-social-links svg{width:17px;height:17px;fill:#78dcfa}
@media(max-width:650px){.contact-icon-link{font-size:14px!important}.contact-social-links{display:grid;grid-template-columns:1fr}.contact-social-links a{justify-content:flex-start}}

/* V3.98 · Kontaktbereich: kleinere weiße Icons + größere Informationen */
.contact-card .contact-block>span,
.contact-card .contact-social>span,
.contact-card .hours>span{font-size:11px;letter-spacing:.15em}
.contact-card .contact-block strong{font-size:20px;line-height:1.4}
.contact-owner strong{font-size:20px!important;line-height:1.35}
.contact-owner small{font-size:12.5px!important;line-height:1.55;margin-top:8px!important}
.contact-details{gap:10px}
.contact-icon-link{display:inline-flex!important;align-items:center;gap:7px;width:max-content;max-width:100%;font-size:18px!important;line-height:1.25;color:#f5f7fa!important;margin:0!important}
.contact-icon-link svg{width:14px!important;height:14px!important;flex:0 0 14px!important;fill:#fff!important}
.contact-icon-link span{font-size:18px!important;line-height:1.25!important;color:#f5f7fa!important;font-weight:500!important}
.contact-social>span{margin-bottom:10px!important}
.contact-social-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.contact-social-links a{display:inline-flex;align-items:center;gap:7px;min-height:0;padding:0;border:0;border-radius:0;background:transparent;font-size:16px;font-weight:600;color:#f5f7fa;transition:opacity .2s,color .2s}
.contact-social-links a:hover{border:0;background:transparent;transform:none;opacity:.78}
.contact-social-links svg{width:14px;height:14px;flex:0 0 14px;fill:#fff}
.contact-social-links a span{font-size:16px;line-height:1.3;color:#f5f7fa}
.hours>div{font-size:14px;padding:9px 0}
.hours em{font-size:14px}
@media(max-width:650px){
  .contact-card .contact-block strong{font-size:18px}
  .contact-owner strong{font-size:18px!important}
  .contact-owner small{font-size:12px!important}
  .contact-icon-link,.contact-icon-link span{font-size:16px!important}
  .contact-social-links a,.contact-social-links a span{font-size:15px}
  .contact-social-links{display:flex;grid-template-columns:none}
}


/* V3.99 · Kontaktinfos auf Wochentag-Größe + ausgeschriebene Wochentage */
.contact-icon-link,.contact-icon-link span{font-size:14px!important;line-height:1.35!important}
.contact-social-links a,.contact-social-links a span{font-size:14px!important;line-height:1.35!important}
.hours>div{grid-template-columns:105px 1fr;font-size:14px!important}
.hours b,.hours em{font-size:14px!important;line-height:1.35}
@media(max-width:650px){
  .contact-icon-link,.contact-icon-link span,.contact-social-links a,.contact-social-links a span{font-size:14px!important}
  .hours>div{grid-template-columns:96px 1fr}
}


/* V4.00 · Kontaktbereich kompakter + Öffnungszeiten sauber getrennt */
.contact-card{padding:24px 30px}
.contact-card .contact-block{padding-bottom:18px;margin-bottom:18px}
.contact-card .contact-block>span,
.contact-card .contact-social>span,
.contact-card .hours>span{margin-bottom:8px}
.contact-card .contact-block strong,
.contact-owner strong{font-size:14px!important;line-height:1.4!important}
.contact-owner small{margin-top:5px!important;font-size:11.5px!important;line-height:1.4!important}
.contact-details{gap:7px}
.contact-icon-link,.contact-icon-link span{font-size:14px!important;line-height:1.3!important}
.contact-social{padding-bottom:18px;margin-bottom:18px}
.contact-social-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;align-items:start}
.contact-social-links a{min-width:0}
.contact-social-links a,.contact-social-links a span{font-size:14px!important;line-height:1.3!important}
.contact-card .hours [data-opening-hours-list]>.opening-hours-row,
.contact-card .hours [data-opening-hours-list]>div{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;column-gap:22px!important;align-items:start;padding:7px 0!important;font-size:14px!important}
.contact-card .hours [data-opening-hours-list] b,
.contact-card .hours [data-opening-hours-list] em{font-size:14px!important;line-height:1.35!important}
.contact-card .hours [data-opening-hours-list] b{white-space:nowrap}
.contact-card .hours [data-opening-hours-list] em{min-width:0}
@media(max-width:650px){
  .contact-card{padding:22px 18px}
  .contact-card .contact-block{padding-bottom:16px;margin-bottom:16px}
  .contact-social{padding-bottom:16px;margin-bottom:16px}
  .contact-social-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 14px}
  .contact-card .hours [data-opening-hours-list]>.opening-hours-row,
  .contact-card .hours [data-opening-hours-list]>div{grid-template-columns:92px minmax(0,1fr)!important;column-gap:18px!important}
}
@media(max-width:390px){
  .contact-social-links{grid-template-columns:1fr!important}
  .contact-card .hours [data-opening-hours-list]>.opening-hours-row,
  .contact-card .hours [data-opening-hours-list]>div{grid-template-columns:86px minmax(0,1fr)!important;column-gap:14px!important;font-size:13px!important}
  .contact-card .hours [data-opening-hours-list] b,
  .contact-card .hours [data-opening-hours-list] em{font-size:13px!important}
}


/* V4.01 · Leitung direkt im Adressblock + aktuelle Öffnungszeiten */
.contact-address-owner{font-size:14px!important;line-height:1.4!important}
.contact-address-quals{display:block;margin-top:4px;color:#8f9caa;font-size:11.5px;line-height:1.4}
.contact-address-location{margin-top:11px;font-size:14px!important;line-height:1.4!important}
.contact-card .hours>span a{font-size:11px;font-weight:800;letter-spacing:.15em}

/* V4.06 · News-Übersicht 5 Kacheln + Pagination */
.news-page-shell{width:min(1320px,calc(100% - 40px))}
.news-page-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.news-page-card{min-height:390px;border-radius:20px}
.news-page-image{height:165px}
.news-page-copy{padding:18px}
.news-page-copy h2{font-size:21px;line-height:1.06;letter-spacing:-.025em;margin:8px 0 10px}
.news-page-copy p{font-size:12.5px;line-height:1.5;margin:0 0 16px}
.news-page-copy .text-arrow{font-size:12px}
.news-date{font-size:9px}
.news-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:42px}
.news-pagination-pages{display:flex;align-items:center;gap:7px}
.news-pagination-arrow,.news-pagination-page{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);border-radius:999px;background:#101821;color:#dce5ed;font-size:13px;font-weight:800;transition:.2s ease}
.news-pagination-page.is-active{background:linear-gradient(135deg,var(--blue),var(--cyan));border-color:transparent;color:#06101b}
.news-pagination-arrow:hover,.news-pagination-page:hover{border-color:rgba(103,220,250,.4);transform:translateY(-1px)}
.news-pagination-arrow.is-disabled{opacity:.28;pointer-events:none}
.news-pagination-info{text-align:center;color:#7f8d9a;font-size:11px;margin:12px 0 0}
@media(max-width:1180px){.news-page-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:950px){.news-page-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.news-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-page-image{height:190px}}
@media(max-width:480px){.news-page-grid{grid-template-columns:1fr}.news-page-image{height:230px}.news-page-card{min-height:0}.news-pagination{gap:8px}.news-pagination-arrow,.news-pagination-page{width:38px;height:38px}}

/* V4.09 · Wochenplan: Montag–Donnerstag breit, Freitag–Sonntag kompakt rechts */
.weekly-schedule-grid{
  display:grid;
  grid-template-columns:minmax(0,4fr) minmax(210px,.92fr);
  gap:12px;
  align-items:start;
}
.weekly-schedule-core{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  align-items:start;
}
.weekly-schedule-weekend{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.schedule-day-primary .schedule-day-head{min-height:88px;padding:17px 15px}
.schedule-day-primary .schedule-day-list{gap:9px;padding:9px;min-height:190px}
.schedule-day-primary .weekly-course-card{padding:14px 13px 13px;border-radius:14px}
.schedule-day-primary .weekly-course-topline time{font-size:11px}
.schedule-day-primary .weekly-course-card h3{font-size:17px;line-height:1.1}
.schedule-day-primary .weekly-course-subtitle{font-size:10.5px;line-height:1.34}
.schedule-day-primary .weekly-course-meta{font-size:9.5px;line-height:1.4}
.schedule-day-primary .weekly-book-button{min-height:36px;font-size:9.5px}

.schedule-day-compact .schedule-day-head{
  min-height:61px;
  padding:12px 13px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:3px 10px;
}
.schedule-day-compact .schedule-day-head span{grid-column:1;grid-row:1;font-size:10px}
.schedule-day-compact .schedule-day-head strong{grid-column:2;grid-row:1;font-size:18px;text-align:right}
.schedule-day-compact .schedule-day-head em{top:8px;right:8px}
.schedule-day-compact .schedule-day-list{min-height:0;padding:7px;gap:7px}
.schedule-day-compact .schedule-day-empty{padding:14px 8px;min-height:68px;justify-content:center}
.schedule-day-compact .weekly-course-card{padding:11px 10px;border-radius:12px}
.schedule-day-compact .weekly-course-card h3{font-size:15.5px;line-height:1.1}
.schedule-day-compact .weekly-course-subtitle{font-size:9.5px}
.schedule-day-compact .weekly-course-meta{font-size:8.8px;margin-top:7px}
.schedule-day-compact .weekly-book-button{min-height:31px;font-size:8.5px;margin-top:9px}

/* Badges im Kursplan größer und besser lesbar */
.weekly-highlight,.weekly-running,.weekly-paused,.weekly-cancelled,.weekly-closed{
  padding:5px 8px;
  font-size:8.5px;
  line-height:1.08;
  letter-spacing:.055em;
}
.weekly-highlight,.weekly-paused{
  background:linear-gradient(135deg,#efff6a 0%,#ffd65f 100%);
  color:#141804;
  border:1px solid rgba(239,255,106,.38);
}
.weekly-course-card.is-highlight{
  border-color:rgba(239,255,106,.56);
  background:radial-gradient(circle at 100% 0,rgba(239,255,106,.13),transparent 38%),#121922;
}
.weekly-course-card.is-highlight:before{
  background:linear-gradient(180deg,#efff6a 0%,#ffd65f 100%);
  box-shadow:0 0 14px rgba(239,255,106,.22);
}

@media(max-width:1180px){
  .weekly-schedule-grid{grid-template-columns:1fr;gap:12px}
  .weekly-schedule-core{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .weekly-schedule-weekend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .schedule-day-compact .schedule-day-head{display:flex;flex-direction:column;align-items:flex-start;min-height:76px}
  .schedule-day-compact .schedule-day-head strong{text-align:left}
}
@media(max-width:650px){
  .weekly-schedule-core,.weekly-schedule-weekend{grid-template-columns:1fr}
  .schedule-day-primary .weekly-course-card h3{font-size:16px}
  .weekly-highlight,.weekly-running,.weekly-paused,.weekly-cancelled,.weekly-closed{font-size:8px}
}

/* V4.11 · Kurs-Unterseiten: sichtbares 16:9-Kursbild rechts */
.course-detail-aside{display:flex;flex-direction:column;gap:16px;position:sticky;top:105px;min-width:0}
.course-detail-aside .course-facts{position:static;top:auto;width:100%}
.course-detail-image{width:100%;aspect-ratio:16/9;border:1px solid var(--line);border-radius:22px;background-size:cover;background-position:center;overflow:hidden;box-shadow:0 20px 55px rgba(0,0,0,.22)}
@media(max-width:1000px){.course-detail-aside{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.course-detail-aside .course-detail-image{grid-column:1}.course-detail-aside .course-facts{grid-column:2}}
@media(max-width:700px){.course-detail-aside{grid-template-columns:1fr}.course-detail-aside .course-detail-image,.course-detail-aside .course-facts{grid-column:1}.course-detail-image{border-radius:18px}}
@media(max-width:1000px){.course-detail-aside:not(.has-course-detail-image){display:block}.course-detail-aside:not(.has-course-detail-image) .course-facts{grid-column:1/-1}}


/* V4.13 · Wochenplan: Datum rechts + Kursinfo per i-Icon */
.schedule-day-primary .schedule-day-head,
.schedule-day-compact .schedule-day-head{
  min-height:64px;
  padding:12px 13px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  align-items:center;
  gap:3px 10px;
}
.schedule-day-primary .schedule-day-head span,
.schedule-day-compact .schedule-day-head span{
  grid-column:1;
  grid-row:1;
  align-self:center;
}
.schedule-day-primary .schedule-day-head strong,
.schedule-day-compact .schedule-day-head strong{
  grid-column:2;
  grid-row:1;
  align-self:center;
  text-align:right;
  font-size:18px;
}
.schedule-day-primary .schedule-day-head em,
.schedule-day-compact .schedule-day-head em{
  position:static;
  grid-column:1 / -1;
  grid-row:2;
  justify-self:start;
  width:max-content;
  margin-top:1px;
}

/* Die Info darf über die Karten-/Tagesgrenze hinaus aufklappen. */
.schedule-day,
.weekly-course-card{overflow:visible}
.schedule-day{position:relative}
.weekly-course-card{z-index:1}
.weekly-course-card:hover,
.weekly-course-card:focus-within{z-index:30}
.weekly-course-topline{position:relative;justify-content:space-between;align-items:flex-start}
.weekly-course-info{position:relative;margin-left:auto;z-index:40;flex:0 0 auto}
.weekly-course-info summary{
  list-style:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  margin:-3px -2px 0 5px;
  border:1px solid rgba(112,220,250,.34);
  border-radius:999px;
  background:rgba(103,220,250,.08);
  color:#a8efff;
  font-size:11px;
  line-height:1;
  font-weight:950;
  font-style:normal;
  cursor:pointer;
  user-select:none;
  transition:.18s ease;
}
.weekly-course-info summary::-webkit-details-marker{display:none}
.weekly-course-info summary:hover,
.weekly-course-info summary:focus-visible{
  outline:none;
  border-color:rgba(112,220,250,.7);
  background:rgba(103,220,250,.16);
  color:#fff;
  transform:translateY(-1px);
}
.weekly-course-info-panel{
  display:none;
  position:absolute;
  right:-2px;
  top:28px;
  width:min(290px,calc(100vw - 44px));
  padding:15px 16px;
  border:1px solid rgba(103,220,250,.28);
  border-radius:14px;
  background:#101a24;
  box-shadow:0 22px 55px rgba(0,0,0,.46);
  color:#dce7ef;
  text-align:left;
  z-index:100;
}
.weekly-course-info:hover .weekly-course-info-panel,
.weekly-course-info:focus-within .weekly-course-info-panel,
.weekly-course-info[open] .weekly-course-info-panel{display:block}
.weekly-course-info-panel>strong{display:block;margin:0 0 8px;color:#fff;font-size:14px;line-height:1.15}
.weekly-course-info-panel p{margin:0;color:#b8c6d1;font-size:11px;line-height:1.5}
.weekly-course-info-panel dl{display:grid;gap:6px;margin:11px 0 0;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
.weekly-course-info-panel dl div{display:grid;grid-template-columns:58px 1fr;gap:8px;align-items:start}
.weekly-course-info-panel dt{color:#7f8f9c;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.weekly-course-info-panel dd{margin:0;color:#d7e2ea;font-size:10px;line-height:1.35}
.weekly-course-info-panel a{display:inline-flex;margin-top:12px;color:#83e6ff;font-size:10px;font-weight:900;text-decoration:none}
.weekly-course-info-panel a:hover{text-decoration:underline}

@media(max-width:1180px){
  .schedule-day-primary .schedule-day-head,
  .schedule-day-compact .schedule-day-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:64px}
  .schedule-day-compact .schedule-day-head strong{text-align:right}
}
@media(max-width:650px){
  .schedule-day-primary .schedule-day-head,
  .schedule-day-compact .schedule-day-head{min-height:62px;padding:11px 12px}
  .weekly-course-info-panel{position:absolute;right:-5px;width:min(300px,calc(100vw - 54px))}
}

/* V4.19 · Sonderöffnungszeiten-Badge auf der Startseite größer und einzeilig */
.contact-card .homepage-opening-badge-wrap{margin:6px 0 14px}
.contact-card .homepage-opening-period-badge{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:40px;padding:10px 16px;border-radius:999px;border:1px solid rgba(93,227,255,.52);background:linear-gradient(135deg,#16384c 0%,#1c4e68 52%,#143648 100%);box-shadow:0 10px 28px rgba(24,114,156,.22),inset 0 1px 0 rgba(255,255,255,.08);color:#d7f8ff;font-size:clamp(12px,1.15vw,14px);font-weight:900;line-height:1;letter-spacing:.01em;white-space:nowrap}
@media(max-width:650px){.contact-card .homepage-opening-badge-wrap{margin:6px 0 12px}.contact-card .homepage-opening-period-badge{min-height:36px;padding:9px 13px;font-size:12px}}


/* V4.20 · Startseiten-Badges: kompakte Sonderzeiten + Status oberhalb der Uhrzeit */
.contact-card .homepage-opening-badge-wrap{margin:4px 0 11px;max-width:100%;overflow:visible}
.contact-card .homepage-opening-period-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:auto;max-width:none;min-height:0;padding:6px 10px;
  border-radius:999px;border:1px solid rgba(93,227,255,.44);
  background:linear-gradient(135deg,#16384c 0%,#1c4e68 52%,#143648 100%);
  box-shadow:0 6px 18px rgba(24,114,156,.16),inset 0 1px 0 rgba(255,255,255,.07);
  color:#d7f8ff;font-size:10.5px;font-weight:900;line-height:1.1;letter-spacing:0;
  white-space:nowrap;box-sizing:border-box
}
.today-course-badges.today-course-badges-top{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;
  gap:4px;width:100%;min-width:0;margin:0 0 7px;padding:0
}
.today-course-badges-top .today-course-highlight,
.today-course-badges-top .today-course-status,
.today-course-badges-top .today-course-countdown,
.today-course-badges-top .today-course-notice{
  max-width:100%;flex:0 1 auto;white-space:nowrap;overflow:visible;text-overflow:clip
}
.today-course-badges-top .today-course-status{font-size:7.5px;padding:4px 7px}
.today-course-badges-top .today-course-countdown{font-size:7.5px;padding:4px 7px}
.today-course-badges-top .today-course-notice{font-size:7.5px;padding:5px 7px}
.today-course-time{min-height:0!important;display:block!important;margin:0 0 5px!important}
.today-course-time-info{padding-top:0;gap:0}
.today-course-item.has-notice{min-height:168px}
@media(max-width:650px){
  .contact-card .homepage-opening-period-badge{font-size:9.5px;padding:6px 9px}
  .today-course-badges.today-course-badges-top{gap:3px;margin-bottom:6px}
  .today-course-badges-top .today-course-status,
  .today-course-badges-top .today-course-countdown,
  .today-course-badges-top .today-course-notice,
  .today-course-badges-top .today-course-highlight{font-size:7px;padding:4px 6px}
}


/* V4.22 · Sonderöffnungszeiten-Hinweis nur als Text innerhalb des Kastens */
.contact-card .homepage-opening-badge-wrap{
  display:block!important;
  width:100%;max-width:100%;
  margin:7px 0 12px;
  padding:0;overflow:hidden;
}
.contact-card .homepage-opening-period-badge{
  display:block!important;
  width:auto!important;max-width:100%!important;min-height:0!important;
  margin:0;padding:0!important;
  border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  color:#d8edf5!important;
  font-size:12px!important;font-weight:750!important;line-height:1.35!important;
  letter-spacing:0!important;text-align:left!important;
  white-space:normal!important;overflow-wrap:break-word!important;
}
@media(max-width:650px){
  .contact-card .homepage-opening-period-badge{font-size:11.5px!important}
}


/* V4.23 · Live-Öffnungsstatus direkt auf der Startseite */
.contact-card .homepage-opening-status{display:flex;flex-direction:column;gap:4px;margin:10px 0 12px;padding:14px 16px;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:#101720}
.contact-card .homepage-opening-status>span{font-size:9px;font-weight:900;letter-spacing:.17em;color:#79dcf8}
.contact-card .homepage-opening-status strong{font-size:19px;line-height:1.08;color:#f4f7fa}
.contact-card .homepage-opening-status p{margin:0;color:#aebac5;font-size:13px;line-height:1.4}
.contact-card .homepage-opening-status.is-open{border-color:rgba(114,226,189,.40);background:linear-gradient(145deg,rgba(114,226,189,.08),#101720)}
.contact-card .homepage-opening-status.is-open>span{color:#83e4c2}
@media(max-width:650px){.contact-card .homepage-opening-status{padding:12px 14px;border-radius:14px}.contact-card .homepage-opening-status strong{font-size:18px}.contact-card .homepage-opening-status p{font-size:12.5px}}
