/* 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-topline-right{display:flex;align-items:flex-start;justify-content:flex-end;gap:5px;min-width:0;margin-left:auto}.weekly-course-coach{min-width:0;max-width:112px;color:#aeb9c4;font-size:9px;font-weight:800;line-height:1.25;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.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-age{display:block;margin:5px 0 0;color:#eef5f8;font-size:10px;font-weight:850;line-height:1.2;white-space:nowrap}.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-book-button.is-sold-out,.schedule-special-link.is-sold-out{background:#26323a;color:#aeb8bf;cursor:not-allowed;pointer-events:none;filter:none;transform:none}
.weekly-book-button.is-prestart{border:1px solid rgba(70,203,232,.42);background:#182832;color:#8edff0;cursor:default;pointer-events:none;filter:none;transform:none;text-align:center}
.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(3,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:820px){
  .weekly-schedule-core{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@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}}

/* V4.24 · Live-Öffnungsstatus als eigenes Kästchen neben den Wochenzeiten */
.contact-card .homepage-opening-layout{display:grid;grid-template-columns:minmax(180px,.62fr) minmax(0,1.38fr);gap:16px;align-items:start;margin-top:8px}
.contact-card .homepage-opening-status{display:flex;flex-direction:column;gap:6px;margin:0;padding:18px 16px;min-height:132px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:#101720;justify-content:center}
.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:20px;line-height:1.08;color:#f4f7fa}
.contact-card .homepage-opening-status p{margin:0;color:#aebac5;font-size:12.5px;line-height:1.42}
.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}
.contact-card .homepage-opening-week{min-width:0}
.contact-card .homepage-opening-week>div:first-child{border-top:1px solid var(--line)}
@media(max-width:820px){.contact-card .homepage-opening-layout{grid-template-columns:1fr}.contact-card .homepage-opening-status{min-height:0;margin:0 0 2px;padding:14px 15px}.contact-card .homepage-opening-week>div:first-child{border-top:1px solid var(--line)}}

/* V5.03 · Events & Workshops im bestehenden Frontend – ohne zusätzlichen Navigationspunkt */
.news-teaser-card.is-event{border-color:rgba(111,220,249,.32);background:radial-gradient(circle at 100% 0,rgba(111,220,249,.10),transparent 34%),#0f161e}
.news-teaser-card.is-event .news-teaser-copy>span{color:#ffe08a}
.news-event-places{display:inline-flex;width:max-content;max-width:100%;margin:4px 0 16px;padding:6px 9px;border-radius:999px;background:rgba(111,220,249,.10);border:1px solid rgba(111,220,249,.18);color:#a9eafb;font-size:10px;letter-spacing:.055em;text-transform:uppercase}
.today-course-event-places{margin:7px 0 0;color:#ffe08a;font-size:9px;font-weight:850;letter-spacing:.045em;text-transform:uppercase}
.weekly-event-title{color:#fff;text-decoration:none}.weekly-event-title:hover{color:#8be6ff}
.weekly-event-places{margin:8px 0 0;color:#ffe08a;font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.weekly-event-button{background:linear-gradient(135deg,#ffe188,#ffb23f);color:#1b1203}

.event-detail-hero{position:relative;min-height:660px;overflow:hidden;background:radial-gradient(circle at 78% 18%,rgba(74,209,247,.19),transparent 36%),#080b10}
.event-detail-hero.has-event-image:before{content:"";position:absolute;inset:0;background-image:var(--event-bg);background-size:cover;background-position:center;opacity:.42;filter:saturate(.82)}
.event-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,.30)),linear-gradient(0deg,#080b10,transparent 45%)}
.event-hero-inner{position:relative;z-index:2;max-width:820px}.event-hero-inner h1{max-width:900px}.event-hero-inner>p:not(.eyebrow){max-width:720px}
.event-hero-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.event-hero-meta span{padding:8px 11px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(7,12,18,.58);backdrop-filter:blur(8px);color:#d9e5ee;font-size:11px;font-weight:800;letter-spacing:.025em}
.event-detail-section{padding:95px 0 125px;background:#080b10}.event-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:70px;align-items:start}
.event-detail-main{min-width:0}.event-detail-copy{color:#c7d1da;font-size:18px;line-height:1.8;white-space:normal}.event-back-link{display:inline-flex;margin-top:40px}
.event-booking-card{position:sticky;top:105px;padding:28px;border:1px solid rgba(255,255,255,.10);border-radius:24px;background:linear-gradient(180deg,rgba(20,31,42,.98),rgba(12,19,27,.98));box-shadow:0 22px 70px rgba(0,0,0,.20)}
.event-card-kicker{display:block;margin-bottom:8px;color:#70dcfa;font-size:9px;font-weight:950;letter-spacing:.15em}.event-booking-card h2{margin:0 0 21px;font-size:31px;letter-spacing:-.035em}
.event-facts{display:flex;flex-direction:column;margin:0 0 24px}.event-facts div{display:grid;grid-template-columns:112px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}.event-facts dt{color:#748392;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.event-facts dd{margin:0;color:#e4edf4;font-size:13px;font-weight:700}
.event-booking-form{display:flex;flex-direction:column;gap:13px}.event-booking-form>label:not(.event-consent){display:flex;flex-direction:column;gap:7px;color:#cdd7df;font-size:11px;font-weight:800}.event-booking-form input[type="text"],.event-booking-form input[type="email"],.event-booking-form input:not([type]){width:100%;min-height:48px;padding:0 13px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:#091019;color:#fff;font:inherit}.event-booking-form input:focus{outline:2px solid rgba(111,220,249,.55);outline-offset:1px}
.event-consent{display:flex;align-items:flex-start;gap:9px;color:#9eabb6;font-size:10px;line-height:1.5}.event-consent input{margin-top:2px}.event-consent a{color:#75def9}.event-booking-submit{width:100%;margin-top:2px;text-align:center;justify-content:center}
.event-booking-note{margin:12px 0 0;color:#758391;font-size:10px;line-height:1.5}.event-booking-error,.event-booking-closed,.event-booking-open,.event-waitlist-note,.event-booking-success{margin:0 0 17px;padding:13px 14px;border-radius:13px;font-size:12px;line-height:1.5}.event-booking-error{background:rgba(255,86,86,.09);border:1px solid rgba(255,86,86,.25);color:#ffd0d0}.event-booking-closed{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);color:#b8c3cd}.event-booking-open{background:rgba(111,220,249,.08);border:1px solid rgba(111,220,249,.20);color:#c9f4ff}.event-waitlist-note{background:rgba(255,208,83,.08);border:1px solid rgba(255,208,83,.20);color:#ffe7a2}.event-booking-success{background:rgba(78,219,159,.09);border:1px solid rgba(78,219,159,.24);color:#d1ffeb}.event-booking-success strong{display:block;margin-bottom:4px;color:#fff;font-size:15px}.event-booking-success p{margin:0 0 7px}.event-booking-success small{color:#90ac9f}.event-cancel-link{width:100%;margin-top:4px;text-align:center;justify-content:center}.event-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.event-cancel-page{min-height:75vh;padding:150px 0 100px;background:#080b10}.event-cancel-shell{max-width:760px}.event-cancel-card{padding:36px;border:1px solid rgba(255,255,255,.10);border-radius:24px;background:#101821}.event-cancel-card h1{margin:8px 0 15px;font-size:clamp(38px,6vw,64px);line-height:.96;letter-spacing:-.05em}.event-cancel-card p{color:#b7c3cd;line-height:1.65}.event-cancel-card form{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
@media(max-width:900px){.event-detail-grid{grid-template-columns:1fr;gap:42px}.event-booking-card{position:static}.event-detail-hero{min-height:580px}}
@media(max-width:620px){.event-detail-section{padding:70px 0 90px}.event-detail-hero{min-height:520px}.event-hero-meta{gap:7px}.event-hero-meta span{font-size:10px}.event-detail-copy{font-size:16px}.event-booking-card{padding:22px}.event-facts div{grid-template-columns:1fr;gap:3px}.event-cancel-page{padding:120px 0 80px}.event-cancel-card{padding:24px}.event-cancel-card form{flex-direction:column}.event-cancel-card .button{width:100%;justify-content:center}}

/* ===== V5.04 · Aktuelles & Specials kompakt + Specials oberhalb des Kursplans ===== */
.promo-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.promo-card,
.promo-card.has-image,
.promo-card.is-price-promo{
  height:auto!important;
  min-height:350px!important;
  max-height:none!important;
}
.promo-card.has-image{min-height:405px!important}
.promo-image{
  flex:0 0 138px;
  height:138px;
}
.promo-copy{
  padding:17px 18px 18px;
}
.promo-card.is-price-promo:not(.has-image) .promo-copy{
  padding-top:17px!important;
}
.promo-highlight-row{margin:-2px 0 7px}
.promo-highlight-badge{font-size:7px;padding:5px 7px}
.promo-meta{margin-bottom:10px;gap:7px}
.promo-meta span{font-size:8px}
.promo-meta em{font-size:8.5px}
.promo-card .promo-copy > h3{
  font-size:23px;
  line-height:1.02;
  margin-bottom:10px;
  letter-spacing:-.04em;
}
.promo-price-block{margin:0 0 11px}
.promo-sale-price{font-size:26px}
.promo-saving-badge{font-size:10px;padding:6px 9px}
.promo-teaser{display:none!important}
.promo-card-actions{margin-top:auto;gap:7px}
.promo-more-link{font-size:11.5px;white-space:normal}
.promo-external-button{padding:8px 11px!important;font-size:10.5px!important;min-height:36px!important}
.promo-event-places{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  width:max-content;
  max-width:100%;
  margin:0 0 12px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(102,225,184,.12);
  border:1px solid rgba(102,225,184,.28);
  color:#9af0cf;
  font-size:9px;
  line-height:1;
  font-weight:950;
  letter-spacing:.04em;
}
.promo-card.is-event-promo{
  border-color:rgba(111,220,249,.36);
  background:radial-gradient(circle at 100% 0,rgba(111,220,249,.10),transparent 35%),#101821;
}
.promo-card.is-event-promo.is-highlight{
  border-color:rgba(255,208,83,.62);
  background:radial-gradient(circle at 100% 0,rgba(255,208,83,.12),transparent 36%),radial-gradient(circle at 0 100%,rgba(111,220,249,.08),transparent 38%),#101821;
}

@media(max-width:1200px){
  .promo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:850px){
  .promo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .promo-grid{grid-template-columns:1fr}
  .promo-card,.promo-card.has-image,.promo-card.is-price-promo{min-height:0!important}
  .promo-card{max-width:none}
  .promo-image{height:155px;flex-basis:155px}
  .promo-card .promo-copy > h3{font-size:25px}
}

.schedule-specials{
  margin:0 0 30px;
  padding:22px;
  border:1px solid rgba(111,220,249,.24);
  border-radius:22px;
  background:radial-gradient(circle at 100% 0,rgba(111,220,249,.09),transparent 36%),#0d151e;
}
.schedule-specials-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:16px;
}
.schedule-specials-head .eyebrow{margin:0 0 6px}
.schedule-specials-head h2{
  margin:0;
  font-size:clamp(25px,3vw,38px);
  line-height:1;
  letter-spacing:-.04em;
}
.schedule-specials-head>span{
  color:#8293a3;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.schedule-specials-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.schedule-special-card{
  min-width:0;
  padding:17px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  background:#101821;
  display:flex;
  flex-direction:column;
}
.schedule-special-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin-bottom:9px;
}
.schedule-special-card-top>span{
  color:#ffe083;
  font-size:8px;
  font-weight:950;
  letter-spacing:.11em;
}
.schedule-special-card-top>strong{
  color:#9aefd0;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}
.schedule-special-date{
  margin:0 0 7px;
  color:#77ddf8;
  font-size:10px;
  font-weight:850;
}
.schedule-special-card h3{
  margin:0 0 7px;
  font-size:21px;
  line-height:1.05;
  letter-spacing:-.03em;
}
.schedule-special-card h3 a:hover{color:#7bdff8}
.schedule-special-location{
  margin:0 0 14px;
  color:#8e9dac;
  font-size:10px;
}
.schedule-special-link{
  margin-top:auto;
  color:#74defa;
  font-size:10.5px;
  font-weight:900;
}
.schedule-special-link:hover{text-decoration:underline}
@media(max-width:900px){
  .schedule-specials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .schedule-specials{padding:17px;margin-bottom:22px}
  .schedule-specials-head{align-items:flex-start;flex-direction:column;gap:7px}
  .schedule-specials-grid{grid-template-columns:1fr}
}


/* ===== V5.05 · Event-Anzeigezeitraum + breite Special-Kachel + Bild im Kursplan ===== */
.promo-event-date{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin:0 0 11px;
  padding:9px 10px;
  border:1px solid rgba(111,220,249,.24);
  border-radius:11px;
  background:rgba(111,220,249,.075);
}
.promo-event-date>span{
  color:#7bdff8;
  font-size:7px;
  font-weight:950;
  letter-spacing:.16em;
}
.promo-event-date>strong{
  color:#fff;
  font-size:12px;
  line-height:1.25;
  font-weight:900;
}
@media(min-width:1201px){
  .promo-grid.has-featured-event{
    grid-template-columns:2fr repeat(4,minmax(0,1fr));
  }
  .promo-card.is-featured-event{
    min-width:0;
  }
  .promo-card.is-featured-event.has-image{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
    min-height:350px!important;
  }
  .promo-card.is-featured-event.has-image .promo-image{
    height:100%;
    min-height:350px;
    flex:none;
  }
  .promo-card.is-featured-event.has-image .promo-copy{
    min-width:0;
    padding:22px 22px 20px;
  }
  .promo-card.is-featured-event .promo-copy>h3{
    font-size:clamp(25px,2.2vw,34px);
  }
  .promo-card.is-featured-event .promo-event-date>strong{
    font-size:14px;
  }
}
@media(min-width:851px) and (max-width:1200px){
  .promo-card.is-featured-event{
    grid-column:span 2;
  }
  .promo-card.is-featured-event.has-image{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  .promo-card.is-featured-event.has-image .promo-image{
    height:100%;
    min-height:330px;
  }
}
@media(max-width:850px){
  .promo-card.is-featured-event{
    grid-column:1 / -1;
  }
  .promo-card.is-featured-event.has-image{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  .promo-card.is-featured-event.has-image .promo-image{
    height:100%;
    min-height:320px;
  }
}
@media(max-width:600px){
  .promo-card.is-featured-event.has-image{
    display:flex;
    flex-direction:column;
  }
  .promo-card.is-featured-event.has-image .promo-image{
    height:190px;
    min-height:190px;
  }
}

/* Specials im Gesamtkursplan bewusst groß und unabhängig von der gewählten Woche. */
.schedule-specials{
  padding:26px;
  border-color:rgba(111,220,249,.40);
  background:
    radial-gradient(circle at 100% 0,rgba(111,220,249,.13),transparent 40%),
    radial-gradient(circle at 0 100%,rgba(255,208,83,.07),transparent 34%),
    #0d151e;
  box-shadow:0 20px 60px rgba(0,0,0,.18);
}
.schedule-specials-grid{
  grid-template-columns:1fr;
  gap:14px;
}
.schedule-special-card{
  padding:0;
  min-height:220px;
  overflow:hidden;
  border-color:rgba(111,220,249,.22);
  background:#101821;
  display:grid;
  grid-template-columns:1fr;
}
.schedule-special-card.has-image{
  grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);
}
.schedule-special-media{
  display:block;
  min-height:220px;
  overflow:hidden;
  background:#0a1119;
}
.schedule-special-media img{
  width:100%;
  height:100%;
  min-height:220px;
  display:block;
  object-fit:cover;
}
.schedule-special-copy{
  min-width:0;
  padding:25px 28px 24px;
  display:flex;
  flex-direction:column;
}
.schedule-special-card-top{
  margin-bottom:12px;
}
.schedule-special-card-top>span{
  font-size:9px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,208,83,.10);
  border:1px solid rgba(255,208,83,.24);
}
.schedule-special-card-top>strong{
  font-size:9px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(102,225,184,.09);
  border:1px solid rgba(102,225,184,.20);
}
.schedule-special-date{
  margin:0 0 10px;
  color:#8be4fb;
  font-size:13px;
  line-height:1.35;
}
.schedule-special-date strong{
  color:#fff;
  font-size:9px;
  letter-spacing:.12em;
}
.schedule-special-card h3{
  margin:0 0 10px;
  font-size:clamp(28px,3.4vw,46px);
  line-height:.98;
}
.schedule-special-teaser{
  max-width:760px;
  margin:0 0 9px;
  color:#aab8c4;
  font-size:13px;
  line-height:1.5;
}
.schedule-special-location{
  margin:0 0 18px;
  color:#94a6b5;
  font-size:12px;
}
.schedule-special-link{
  align-self:flex-start;
  margin-top:auto;
  padding:10px 13px;
  border:1px solid rgba(111,220,249,.28);
  border-radius:10px;
  background:rgba(111,220,249,.07);
  font-size:12px;
}
@media(max-width:800px){
  .schedule-special-card.has-image{grid-template-columns:1fr}
  .schedule-special-media,.schedule-special-media img{min-height:210px;height:210px}
}
@media(max-width:600px){
  .schedule-specials{padding:17px}
  .schedule-special-copy{padding:20px}
  .schedule-special-card h3{font-size:30px}
  .schedule-special-date{font-size:11px}
}

/* ===== V5.06 · Workshop/Event doppelt breit im Tageskurs-Feed ===== */
.today-course-item.is-event-promo-card{
  flex:0 0 calc((100% - 10px)/2)!important;
  width:calc((100% - 10px)/2)!important;
  min-height:154px;
  padding:0;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr;
  border-color:rgba(111,220,249,.42);
  background:
    radial-gradient(circle at 100% 0,rgba(111,220,249,.13),transparent 42%),
    radial-gradient(circle at 0 100%,rgba(255,208,83,.07),transparent 38%),
    #101821;
}
.today-course-item.is-event-promo-card.has-image{
  grid-template-columns:minmax(135px,.9fr) minmax(0,1.1fr);
}
.today-event-promo-media{
  min-width:0;
  min-height:154px;
  overflow:hidden;
  background:#091018;
}
.today-event-promo-media img{
  width:100%;
  height:100%;
  min-height:154px;
  display:block;
  object-fit:cover;
}
.today-event-promo-copy{
  min-width:0;
  padding:15px 16px 14px;
  display:flex;
  flex-direction:column;
  position:relative;
  z-index:1;
}
.today-event-promo-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  margin-bottom:8px;
}
.today-event-promo-type,
.today-event-promo-places{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  padding:4px 7px;
  border-radius:999px;
  font-size:7px;
  line-height:1;
  font-weight:950;
  letter-spacing:.07em;
  text-transform:uppercase;
  white-space:nowrap;
}
.today-event-promo-type{
  color:#241a03;
  background:#ffd95c;
}
.today-event-promo-places{
  color:#a5f3d5;
  border:1px solid rgba(102,225,184,.28);
  background:rgba(102,225,184,.10);
}
.today-event-promo-date{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 7px;
}
.today-event-promo-date span{
  color:#78dff9;
  font-size:7px;
  font-weight:950;
  letter-spacing:.14em;
}
.today-event-promo-date strong{
  color:#e9fbff;
  font-size:11px;
  line-height:1.22;
  font-weight:900;
}
.today-course-item.is-event-promo-card h3{
  margin:0 0 7px;
  color:#fff;
  font-size:20px;
  line-height:1.02;
  letter-spacing:-.03em;
  white-space:normal;
  overflow:visible;
  display:block;
}
.today-event-promo-location{
  margin:0 0 8px;
  color:#8c9dab;
  font-size:9px;
  line-height:1.3;
}
.today-event-promo-cta{
  margin-top:auto;
  color:#70ddf9;
  font-size:9.5px;
  line-height:1.2;
  font-weight:900;
}
.today-course-item.is-event-promo-card .today-event-promo-link{
  position:absolute;
  inset:0;
  z-index:2;
  border-radius:16px;
}

/* Aktuelles & Specials bleibt bewusst bei gleich grossen Kacheln. */
.promo-grid.has-featured-event{grid-template-columns:repeat(5,minmax(0,1fr))}
.promo-card.is-featured-event{grid-column:auto!important;display:flex!important;grid-template-columns:none!important}
.promo-card.is-featured-event.has-image .promo-image{height:138px!important;min-height:0!important}

@media(max-width:1050px){
  .today-course-item.is-event-promo-card{
    flex-basis:calc((200% - 10px)/3)!important;
    width:calc((200% - 10px)/3)!important;
  }
  .promo-grid.has-featured-event{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:750px){
  .today-course-item.is-event-promo-card{
    flex-basis:100%!important;
    width:100%!important;
  }
  .promo-grid.has-featured-event{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .today-course-item.is-event-promo-card.has-image{grid-template-columns:1fr}
  .today-event-promo-media,.today-event-promo-media img{height:165px;min-height:165px}
  .today-event-promo-copy{padding:16px 17px 17px}
  .today-course-item.is-event-promo-card h3{font-size:22px}
  .promo-grid.has-featured-event{grid-template-columns:1fr}
}


/* ===== V5.07 · ruhiger Tagesfeed, kompakte Specials, Eventbild-Lightbox ===== */
/* Das Special steht fest rechts neben dem normalen Heute/Morgen-Feed. */
.today-courses-mainrow{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch;min-width:0}
.today-courses-mainrow.has-featured-event{grid-template-columns:minmax(0,2.4fr) minmax(235px,1fr)}
.today-featured-event-slot[hidden]{display:none!important}
.today-featured-event-slot{min-width:0;display:flex;align-items:stretch}
.today-featured-event-slot .is-event-promo-card{
  position:relative;
  width:100%;
  min-width:0;
  min-height:154px;
  padding:0;
  overflow:hidden;
  display:grid;
  grid-template-columns:42% minmax(0,58%);
  border:1px solid rgba(111,220,249,.42);
  border-radius:16px;
  background:radial-gradient(circle at 100% 0,rgba(111,220,249,.13),transparent 42%),#101821;
}
.today-featured-event-slot .is-event-promo-card:not(.has-image){grid-template-columns:1fr}
.today-featured-event-slot .today-event-promo-media{min-height:154px;height:100%}
.today-featured-event-slot .today-event-promo-media img{min-height:154px;height:100%;object-fit:cover}
.today-featured-event-slot .today-event-promo-copy{padding:13px 13px 12px}
.today-featured-event-slot .today-event-promo-top{margin-bottom:6px;gap:5px;align-items:flex-start}
.today-featured-event-slot .today-event-promo-type,
.today-featured-event-slot .today-event-promo-places{padding:4px 6px;font-size:6.5px;white-space:normal;line-height:1.12}
.today-featured-event-slot .today-event-promo-date{margin-bottom:6px}
.today-featured-event-slot .today-event-promo-date span{font-size:6.5px}
.today-featured-event-slot .today-event-promo-date strong{font-size:9.5px;line-height:1.18}
.today-featured-event-slot .is-event-promo-card h3{margin:0 0 5px;font-size:18px;line-height:1.02}
.today-featured-event-slot .today-event-promo-location{margin-bottom:5px;font-size:8px}
.today-featured-event-slot .today-event-promo-cta{font-size:8.5px}
.today-featured-event-slot .today-event-promo-link{position:absolute;inset:0;z-index:3;border-radius:16px}
/* Mit Special werden drei regulaere Kurskarten im verkleinerten Feed sichtbar. */
.today-courses-mainrow.has-featured-event .today-course-item{flex-basis:calc((100% - 20px)/3)!important;width:calc((100% - 20px)/3)!important}
@media(max-width:1050px){
  .today-courses-mainrow.has-featured-event{grid-template-columns:minmax(0,2fr) minmax(225px,1fr)}
  .today-courses-mainrow.has-featured-event .today-course-item{flex-basis:calc((100% - 10px)/2)!important;width:calc((100% - 10px)/2)!important}
}
@media(max-width:760px){
  .today-courses-mainrow.has-featured-event{grid-template-columns:1fr}
  .today-featured-event-slot{grid-row:2}
  .today-featured-event-slot .is-event-promo-card{max-width:520px;grid-template-columns:150px minmax(0,1fr)}
  .today-courses-mainrow.has-featured-event .today-course-item{flex-basis:calc((100% - 10px)/2)!important;width:calc((100% - 10px)/2)!important}
}
@media(max-width:480px){
  .today-featured-event-slot .is-event-promo-card{grid-template-columns:115px minmax(0,1fr)}
  .today-courses-mainrow.has-featured-event .today-course-item{flex-basis:100%!important;width:100%!important}
}

/* Kursplan-Special deutlich, aber kompakt. */
.schedule-specials{padding:20px 22px;margin-bottom:24px}
.schedule-specials-head{align-items:center;margin-bottom:12px}
.schedule-specials-head .eyebrow{margin:0}
.schedule-special-card{min-height:158px}
.schedule-special-card.has-image{grid-template-columns:180px minmax(0,1fr)}
.schedule-special-media{min-height:158px;height:158px;padding:10px;background:#091018}
.schedule-special-media img{width:100%;height:100%;min-height:0;object-fit:contain;border-radius:8px}
.schedule-special-copy{padding:18px 20px 17px}
.schedule-special-card-top{margin-bottom:8px}
.schedule-special-date{margin-bottom:7px;font-size:11px}
.schedule-special-card h3{margin-bottom:7px;font-size:clamp(24px,2.6vw,34px)}
.schedule-special-teaser{margin-bottom:6px;font-size:11px;line-height:1.4}
.schedule-special-location{margin-bottom:11px;font-size:10px}
.schedule-special-link{padding:8px 10px;font-size:10.5px}
@media(max-width:800px){
  .schedule-special-card.has-image{grid-template-columns:140px minmax(0,1fr)}
  .schedule-special-media{height:150px;min-height:150px}
  .schedule-special-media img{height:100%;min-height:0}
}
@media(max-width:600px){
  .schedule-special-card.has-image{grid-template-columns:1fr}
  .schedule-special-media{height:150px;min-height:150px}
  .schedule-special-copy{padding:17px}
}

/* Event-Detail: Bild als eigener vergrößerbarer Kasten statt als riesiges Hero-Hintergrundbild. */
.event-detail-hero{min-height:500px;background:radial-gradient(circle at 78% 18%,rgba(74,209,247,.16),transparent 36%),#080b10}
.event-detail-hero:before{display:none!important}
.event-detail-image-card{width:min(100%,560px);margin:0 0 30px;padding:12px;border:1px solid rgba(111,220,249,.24);border-radius:20px;background:#101821;display:flex;flex-direction:column;gap:10px;cursor:zoom-in;text-align:left}
.event-detail-image-card img{width:100%;max-height:430px;display:block;object-fit:contain;border-radius:12px;background:#090f16}
.event-detail-image-card span{padding:0 4px 2px;color:#74defa;font-size:11px;font-weight:900}
.event-detail-image-card:hover{border-color:rgba(111,220,249,.5);background:#121d28}
.event-image-lightbox[hidden]{display:none!important}
.event-image-lightbox{position:fixed;inset:0;z-index:9999;padding:34px;background:rgba(2,7,12,.94);display:flex;align-items:center;justify-content:center}
.event-image-lightbox-inner{max-width:min(1100px,92vw);max-height:88vh;display:flex;align-items:center;justify-content:center}
.event-image-lightbox-inner img{max-width:100%;max-height:88vh;object-fit:contain;border-radius:14px;box-shadow:0 24px 90px rgba(0,0,0,.55)}
.event-image-lightbox-close{position:absolute;top:18px;right:22px;width:46px;height:46px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:#101821;color:#fff;font-size:30px;line-height:1;cursor:pointer}
body.event-lightbox-open{overflow:hidden}
@media(max-width:620px){.event-detail-hero{min-height:430px}.event-detail-image-card{margin-bottom:24px}.event-image-lightbox{padding:18px}}

/* ===== V5.08 · Event-Hero: Termin und Verfügbarkeit plakativ ===== */
.event-hero-meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.event-hero-meta .event-hero-meta-item{
  min-width:150px;
  padding:12px 15px 13px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:15px;
  background:rgba(7,12,18,.72);
  backdrop-filter:blur(10px);
  display:flex;
  flex-direction:column;
  gap:3px;
  text-transform:none;
}
.event-hero-meta .event-hero-meta-item small{
  color:#758695;
  font-size:9px;
  line-height:1;
  font-weight:950;
  letter-spacing:.12em;
}
.event-hero-meta .event-hero-meta-item strong{
  font-size:18px;
  line-height:1.15;
  font-weight:950;
  letter-spacing:-.025em;
}
.event-hero-meta .event-hero-meta-date{
  border-color:rgba(255,215,91,.34);
  background:rgba(255,196,45,.08);
}
.event-hero-meta .event-hero-meta-date strong{color:#ffe071}
.event-hero-meta .event-hero-meta-time{
  border-color:rgba(111,220,249,.34);
  background:rgba(111,220,249,.08);
}
.event-hero-meta .event-hero-meta-time strong{color:#79e2ff}
.event-hero-meta .event-hero-meta-location{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.055);
}
.event-hero-meta .event-hero-meta-location strong{color:#fff}
.event-hero-availability{
  display:inline-flex;
  align-items:center;
  gap:14px;
  width:max-content;
  max-width:100%;
  margin-top:18px;
  padding:14px 18px;
  border-radius:16px;
  border:1px solid rgba(255,209,74,.56);
  background:linear-gradient(135deg,#ffd75a,#ffb43b);
  color:#141006;
  box-shadow:0 14px 36px rgba(255,183,54,.15);
}
.event-hero-availability>span{
  font-size:20px;
  line-height:1;
  font-weight:1000;
  letter-spacing:-.035em;
}
.event-hero-availability>small{
  padding-left:14px;
  border-left:1px solid rgba(20,16,6,.22);
  font-size:10px;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.event-hero-availability.is-waitlist{
  border-color:rgba(255,224,138,.4);
  background:linear-gradient(135deg,#ffe28a,#eebc4c);
}
.event-hero-availability.is-soldout{
  border-color:rgba(255,116,116,.4);
  background:linear-gradient(135deg,#ff8e8e,#e75f5f);
  color:#190909;
}
@media(max-width:620px){
  .event-hero-meta{gap:8px;margin-top:22px}
  .event-hero-meta .event-hero-meta-item{min-width:calc(50% - 4px);padding:10px 12px}
  .event-hero-meta .event-hero-meta-item strong{font-size:15px}
  .event-hero-meta .event-hero-meta-location{width:100%}
  .event-hero-availability{align-items:flex-start;flex-direction:column;gap:5px;padding:13px 15px}
  .event-hero-availability>span{font-size:18px}
  .event-hero-availability>small{padding-left:0;border-left:0}
}

/* ===== V5.10 · separate Buchungsseite + E-Mail-Bestätigung ===== */
.booking-page,.booking-confirm-page{padding:145px 0 110px;background:#080b10;min-height:72vh}
.booking-shell{max-width:1180px}.booking-head{max-width:820px;margin-bottom:34px}.booking-head>.text-arrow{display:inline-flex;margin-bottom:30px}.booking-head .eyebrow{margin:0 0 10px}.booking-head h1{margin:0 0 18px;font-size:clamp(48px,6vw,82px);line-height:.92;letter-spacing:-.055em}.booking-head>p:last-child{max-width:720px;margin:0;color:#aebbc7;font-size:17px;line-height:1.6}
.booking-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:28px;align-items:start}.booking-event-card,.booking-form-card,.booking-sent-card,.booking-confirm-card{border:1px solid rgba(255,255,255,.11);border-radius:26px;background:linear-gradient(180deg,#111b25,#0d151e);box-shadow:0 26px 75px rgba(0,0,0,.22)}
.booking-event-card{overflow:hidden;position:sticky;top:105px}.booking-event-card>img{width:100%;height:260px;display:block;object-fit:cover;background:#0b1118}.booking-event-copy{padding:26px}.booking-type{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(255,213,67,.12);border:1px solid rgba(255,213,67,.30);color:#ffd952;font-size:9px;font-weight:950;letter-spacing:.09em}.booking-event-copy h2{margin:14px 0 22px;font-size:30px;line-height:1.02;letter-spacing:-.04em}.booking-event-facts{margin:0}.booking-event-facts div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;padding:11px 0;border-top:1px solid rgba(255,255,255,.08)}.booking-event-facts dt{color:#758595;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.booking-event-facts dd{margin:0;color:#eef6fb;font-size:13px;font-weight:800;line-height:1.45}
.booking-form-card{padding:30px}.booking-form-heading{margin-bottom:22px}.booking-form-heading h2{margin:7px 0 7px;font-size:32px;letter-spacing:-.04em}.booking-form-heading p{margin:0;color:#8393a2;font-size:12px}.booking-form{display:flex;flex-direction:column;gap:16px}.booking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking-form-grid label{display:flex;flex-direction:column;gap:8px;color:#cfd9e1;font-size:11px;font-weight:850}.booking-field-full{grid-column:1/-1}.booking-form input:not([type="checkbox"]),.booking-form textarea{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#091019;color:#fff;font:inherit}.booking-form input:not([type="checkbox"]){min-height:50px;padding:0 14px}.booking-form textarea{padding:13px 14px;resize:vertical;line-height:1.5}.booking-form input:focus,.booking-form textarea:focus{outline:2px solid rgba(111,220,249,.55);outline-offset:1px}.booking-form .event-consent{font-size:11px}.booking-submit{width:100%;justify-content:center;min-height:52px;margin-top:2px}.booking-small-note{margin:0;color:#7f8e9b;font-size:11px;line-height:1.55}
.booking-sent-card{padding:34px;display:grid;grid-template-columns:58px minmax(0,1fr);gap:22px;align-items:start}.booking-sent-icon,.booking-confirm-symbol{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:rgba(70,224,157,.12);border:1px solid rgba(70,224,157,.35);color:#61e9ad;font-size:28px;font-weight:950}.booking-sent-card h2{margin:6px 0 13px;font-size:34px;letter-spacing:-.04em}.booking-sent-card p{max-width:760px;color:#b4c0ca;line-height:1.65}.booking-sent-card .button{margin-top:14px}
.booking-confirm-shell{max-width:820px}.booking-confirm-card{padding:38px}.booking-confirm-card .booking-confirm-symbol{margin-bottom:20px}.booking-confirm-card h1{margin:8px 0 15px;font-size:clamp(42px,6vw,68px);line-height:.95;letter-spacing:-.055em}.booking-confirm-card>p:not(.eyebrow):not(.booking-small-note):not(.booking-confirm-mail-note){color:#b4c0ca;font-size:16px;line-height:1.65}.booking-confirm-event{margin:26px 0;padding:20px;border:1px solid rgba(111,220,249,.20);border-radius:16px;background:rgba(111,220,249,.055);display:flex;flex-direction:column;gap:7px}.booking-confirm-event strong{font-size:22px}.booking-confirm-event span{color:#d7e4ed;font-size:14px}.booking-confirm-event small{color:#7f91a1;font-size:11px;word-break:break-word}.booking-confirm-form .button{width:100%;justify-content:center;min-height:54px}.booking-confirm-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.booking-confirm-mail-note{padding:13px 15px;border-radius:13px;background:rgba(70,224,157,.08);border:1px solid rgba(70,224,157,.22);color:#caffea!important;font-size:12px!important;line-height:1.55!important}.booking-confirm-card.is-expired{border-color:rgba(255,208,83,.20)}
@media(max-width:850px){.booking-page,.booking-confirm-page{padding-top:120px}.booking-layout{grid-template-columns:1fr}.booking-event-card{position:static;display:grid;grid-template-columns:220px minmax(0,1fr)}.booking-event-card>img{height:100%;min-height:280px}.booking-sent-card{grid-template-columns:1fr}.booking-head h1{font-size:52px}}
@media(max-width:620px){.booking-page,.booking-confirm-page{padding:105px 0 80px}.booking-head{margin-bottom:25px}.booking-head>.text-arrow{margin-bottom:22px}.booking-head h1{font-size:44px}.booking-layout{gap:18px}.booking-event-card{display:block}.booking-event-card>img{height:220px;min-height:0}.booking-event-copy,.booking-form-card,.booking-confirm-card{padding:22px}.booking-form-grid{grid-template-columns:1fr}.booking-field-full{grid-column:auto}.booking-event-facts div{grid-template-columns:95px minmax(0,1fr)}.booking-sent-card{padding:24px}.booking-confirm-actions{flex-direction:column}.booking-confirm-actions .button{width:100%;justify-content:center}}

/* V5.12 – Buchung/Warteliste + iPad */
.booking-form .event-consent{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;width:100%;font-size:11px;line-height:1.55}
.booking-form .event-consent input[type="checkbox"]{appearance:auto;-webkit-appearance:checkbox;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;margin:1px 0 0!important;padding:0!important;flex:none}
.booking-form .event-consent span{display:block;min-width:0;overflow-wrap:anywhere}
.booking-waitlist-position{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 18px;align-items:center;margin:18px 0;padding:16px 18px;border:1px solid rgba(255,211,66,.34);border-radius:16px;background:linear-gradient(135deg,rgba(255,211,66,.11),rgba(111,220,249,.06))}
.booking-waitlist-position span{color:#ffd953;font-size:9px;font-weight:950;letter-spacing:.12em}.booking-waitlist-position strong{grid-row:1/3;grid-column:2;font-size:46px;line-height:1;color:#fff}.booking-waitlist-position small{color:#9cabb8;font-size:11px;line-height:1.4}
.booking-waitlist-position.is-large{padding:22px 24px;margin:24px 0}.booking-waitlist-position.is-large strong{font-size:68px;color:#70dcfa}.booking-status-card>p{color:#b4c0ca;line-height:1.65}
@media (min-width:621px) and (max-width:1180px){.booking-form-card{padding:24px}.booking-form .event-consent{grid-template-columns:22px minmax(0,1fr);font-size:12px}.booking-form-grid{gap:13px}.booking-layout{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr)}}

/* V5.34.4.119 · lesbare Schnupperformulare für Fitness und Dance */
.contact-experience .booking-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.contact-experience .booking-form-grid .field{min-width:0}.contact-experience .booking-form-grid .field.full{grid-column:1/-1}.contact-experience .booking-form-grid .field>label:not(.checkbox){display:block;margin-bottom:8px;color:#dce6ed;font-size:12px;font-weight:850}.contact-experience .booking-form-grid input:not([type="checkbox"]),.contact-experience .booking-form-grid select,.contact-experience .booking-form-grid textarea{width:100%;min-height:50px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:#071019;color:#fff;padding:0 14px;font:inherit;font-size:15px}.contact-experience .booking-form-grid select{padding-right:38px}.contact-experience .booking-form-grid input:focus,.contact-experience .booking-form-grid select:focus{outline:2px solid var(--contact-accent);outline-offset:1px}.contact-experience .booking-form-grid .checkbox{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;color:#d6dfe6;font-size:13px;line-height:1.55}.contact-experience .booking-form-grid .checkbox input{width:18px;height:18px;margin-top:2px}.contact-experience .booking-form-grid .button{width:max-content;min-width:230px}.trial-course-picker{padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1)}
@media(max-width:700px){.contact-experience .booking-form-grid{grid-template-columns:1fr}.contact-experience .booking-form-grid .field.full{grid-column:auto}.contact-experience .booking-form-grid .button{width:100%;min-width:0}.booking-form-card{padding:22px!important}}
@media(max-width:620px){.booking-waitlist-position strong{font-size:40px}.booking-waitlist-position.is-large strong{font-size:56px}}

/* V5.15 sichtbare Kurs-Hervorhebung */
.course-page-card{position:relative}.course-page-card-highlighted{outline:3px solid #ffdf00;outline-offset:0;box-shadow:0 18px 42px rgba(7,29,50,.14)}
.course-highlight-badge{position:absolute;z-index:3;top:12px;right:12px;background:#ffdf00;color:#071d32;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;letter-spacing:.04em;box-shadow:0 5px 14px rgba(0,0,0,.16)}

/* V5.17 Ferienprogramm & Buchung */
.booking-age-note,.booking-alternatives,.event-info-box{border:1px solid rgba(7,29,50,.12);border-radius:16px;background:#f7fafc;padding:16px 18px;margin:14px 0}
.booking-age-note strong,.event-info-box>strong{font-size:1.05rem;color:#071d32}.booking-age-note p,.event-info-box p{margin:.45rem 0 0;line-height:1.55}
.booking-form-section{padding:12px 0 2px;border-bottom:1px solid rgba(7,29,50,.1);margin-top:8px}.booking-form-section strong{display:block;font-size:1.05rem}.booking-form-section span{display:block;color:#667789;margin-top:3px;font-size:.9rem}
.booking-alternative-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:12px}.booking-alternative-grid a{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:12px;background:#fff;border:1px solid rgba(7,29,50,.1);text-decoration:none;color:#071d32}.booking-alternative-grid a span{font-size:.72rem;font-weight:900;letter-spacing:.06em}.booking-alternative-grid a small{color:#667789}
.event-session-list{margin:.6rem 0 0;padding-left:1.2rem}.event-session-list li{margin:.35rem 0}

/* V5.19: robuste Kurs-Hervorhebung */
.course-page-card.course-page-card-highlighted{border:3px solid #ffdf00!important;box-shadow:0 18px 44px rgba(7,29,50,.18)!important}
.course-page-card .course-highlight-badge{display:inline-flex!important;position:absolute!important;top:12px!important;right:12px!important;z-index:10!important;background:#ffdf00!important;color:#071d32!important}


/* V5.34.4.18 · Fitness-/Tanzkursplan-Umschalter auf der Fitnessseite */
.schedule-plan-switch{
  display:inline-flex;
  gap:7px;
  margin:24px 0 4px;
  padding:5px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:15px;
  background:rgba(10,17,24,.78);
  backdrop-filter:blur(10px);
}
.schedule-plan-switch a{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:11px;
  color:#cbd6df;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  transition:.18s ease;
}
.schedule-plan-switch a:hover{background:#172532;color:#fff}
.schedule-plan-switch a.is-active{
  background:#6adcf8;
  color:#07141c;
}
@media(max-width:520px){
  .schedule-plan-switch{display:flex;width:100%;box-sizing:border-box}
  .schedule-plan-switch a{flex:1;padding:0 10px;text-align:center}
}


/* V5.34.4.19 · Kursplan-Umschalter in der Werkzeugleiste */
.schedule-plan-switch.schedule-plan-switch-toolbar{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin:0;
  padding:3px;
  min-height:48px;
  box-sizing:border-box;
  border:2px solid #67dcf8;
  border-radius:14px;
  background:#0c141d;
  box-shadow:0 0 0 1px rgba(103,220,248,.08),0 8px 24px rgba(43,192,231,.10);
  backdrop-filter:none;
}
.schedule-plan-switch.schedule-plan-switch-toolbar a{
  min-height:38px;
  padding:0 14px;
  border-radius:9px;
  color:#d9e4eb;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.schedule-plan-switch.schedule-plan-switch-toolbar a:hover{
  background:#162532;
  color:#fff;
}
.schedule-plan-switch.schedule-plan-switch-toolbar a.is-active{
  background:#67dcf8;
  color:#07141c;
}
@media(max-width:850px){
  .schedule-plan-switch.schedule-plan-switch-toolbar{order:2}
  .schedule-pdf-button{order:3}
}
@media(max-width:520px){
  .schedule-plan-switch.schedule-plan-switch-toolbar{
    display:flex;
    width:100%;
    min-height:50px;
  }
  .schedule-plan-switch.schedule-plan-switch-toolbar a{
    flex:1;
    min-height:40px;
  }
}


/* V5.34.4.20 · getrennte Hero-Bilder für Fitness- und Tanzkursplan */
.schedule-page-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.schedule-page-hero-media{
  position:absolute;
  z-index:-3;
  inset:0;
  background-position:center 38%;
  background-size:cover;
  background-repeat:no-repeat;
  filter:saturate(.72) contrast(.97) brightness(.84);
  transform:scale(1.025);
}
.schedule-page-hero-shade{
  position:absolute;
  z-index:-2;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(6,9,13,.82) 0%,rgba(6,9,13,.64) 48%,rgba(6,9,13,.48) 100%),
    linear-gradient(180deg,rgba(8,11,16,.32) 0%,rgba(8,11,16,.50) 56%,#080b10 100%);
}
.schedule-page-hero.has-hero-image{
  background:
    radial-gradient(circle at 80% 18%,rgba(64,209,255,.10),transparent 34%),
    #080b10;
}
.schedule-page-hero.has-hero-image .subhero-inner{
  position:relative;
  z-index:1;
}
@media(max-width:650px){
  .schedule-page-hero-media{background-position:center center}
  .schedule-page-hero-shade{
    background:
      linear-gradient(90deg,rgba(6,9,13,.84),rgba(6,9,13,.64)),
      linear-gradient(180deg,rgba(8,11,16,.36),#080b10 100%);
  }
}


/* V5.34.4.21 · bereits beendete Kurse im öffentlichen Wochenplan */
.weekly-course-card.is-past{
  opacity:.58;
  background:#0d141b;
  border-color:rgba(255,255,255,.055);
  box-shadow:none;
}
.weekly-course-card.is-past .weekly-course-topline time,
.weekly-course-card.is-past h3,
.weekly-course-card.is-past .weekly-course-subtitle,
.weekly-course-card.is-past .weekly-course-meta{
  filter:saturate(.65);
}
/* Der ursprüngliche Status bleibt sichtbar – nur die Karte selbst wird als vergangen gedämpft. */
.weekly-course-card.is-past .weekly-course-badges{
  filter:none;
}
.weekly-ended{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
  padding:4px 7px;
  border-radius:99px;
  background:rgba(158,171,183,.13);
  border:1px solid rgba(158,171,183,.20);
  color:#aab6c0;
  font-size:6.5px;
  font-weight:950;
  line-height:1.05;
  letter-spacing:.08em;
  white-space:nowrap;
}


/* V5.34.4.22 · Kursplan-Hero etwas präsenter */
.schedule-page-hero.has-hero-image .eyebrow,
.schedule-page-hero.has-hero-image h1,
.schedule-page-hero.has-hero-image .subhero-inner>p{
  text-shadow:0 2px 18px rgba(0,0,0,.42);
}


/* V5.34.4.56 · temporärer News-Hinweis bei kurzfristigem Kursausfall */
.news-teaser-card.is-course-cancel,
.news-page-card.is-course-cancel{
  border:2px solid #ef4a4a;
  background:
    radial-gradient(circle at 100% 0,rgba(239,74,74,.22),transparent 34%),
    linear-gradient(145deg,#281215,#11161d);
  box-shadow:0 0 0 1px rgba(239,74,74,.08),0 16px 36px rgba(0,0,0,.22);
}
.news-teaser-card.is-course-cancel .news-teaser-image,
.news-page-card.is-course-cancel .news-page-image{
  background:
    radial-gradient(circle at 65% 28%,rgba(255,93,93,.38),transparent 30%),
    linear-gradient(145deg,#4a171b,#171116);
  position:relative;
}
.news-teaser-card.is-course-cancel .news-teaser-image::after,
.news-page-card.is-course-cancel .news-page-image::after{
  content:"KURS FÄLLT AUS";
  position:absolute;
  left:18px;
  bottom:18px;
  padding:7px 10px;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.08em;
}
.news-teaser-card.is-course-cancel .news-teaser-copy>span,
.news-page-card.is-course-cancel .news-date{
  color:#ff8f8f;
}
.news-teaser-card.is-course-cancel h3 a,
.news-page-card.is-course-cancel h2 a{
  color:#fff;
}
.news-teaser-card.is-course-cancel .text-arrow,
.news-page-card.is-course-cancel .text-arrow{
  color:#ff9e9e;
}

/* V5.34.4.126 · Einheitlicher Bild-Hero für Events und Specials */
.event-detail-hero{position:relative;isolation:isolate;min-height:clamp(520px,64vh,720px);display:flex;align-items:flex-end;background:radial-gradient(circle at 78% 18%,rgba(74,209,247,.16),transparent 36%),#080b10}
.event-detail-hero:before{display:none!important}
.event-detail-hero-media{position:absolute;z-index:0;inset:0;overflow:hidden;background:#080b10}
.event-detail-hero-media img{display:block;width:100%;height:100%;object-fit:cover}
.event-detail-hero.has-event-image .event-detail-overlay{z-index:1;background:linear-gradient(90deg,rgba(5,9,14,.96) 0%,rgba(5,9,14,.73) 48%,rgba(5,9,14,.27) 78%),linear-gradient(0deg,#080b10 0%,rgba(8,11,16,.18) 48%,rgba(8,11,16,.12) 100%)}
.dance-booking-theme .event-detail-hero{background:radial-gradient(circle at 78% 18%,rgba(217,170,75,.16),transparent 36%),#050505}
.dance-booking-theme .event-detail-hero.has-event-image .event-detail-overlay{background:linear-gradient(90deg,rgba(5,5,5,.97) 0%,rgba(5,5,5,.70) 48%,rgba(5,5,5,.24) 78%),linear-gradient(0deg,#050505 0%,rgba(5,5,5,.15) 52%,rgba(5,5,5,.10) 100%)}
.event-detail-hero:not(.has-event-image) .event-detail-overlay{z-index:1}
@media(max-width:900px){.event-detail-hero{min-height:560px}.event-detail-hero.has-event-image .event-detail-overlay,.dance-booking-theme .event-detail-hero.has-event-image .event-detail-overlay{background:linear-gradient(90deg,rgba(5,5,5,.93),rgba(5,5,5,.48)),linear-gradient(0deg,#050505 0%,rgba(5,5,5,.12) 58%)}}
@media(max-width:620px){.event-detail-hero{min-height:540px}.event-detail-hero-media img{min-height:100%}}


/* V5.34.4.174.4 · Fitness-Ausfallbadge unter der Uhrzeit */
.today-course-notices-under-time{width:100%;margin:2px 0 8px;display:flex;align-items:stretch;position:relative;z-index:2}
.today-course-notices-under-time .today-course-notice{display:flex;width:100%;max-width:100%;min-height:28px;align-items:center;justify-content:flex-start;padding:6px 8px;border-radius:9px;font-size:8px;line-height:1.18;font-weight:950;letter-spacing:.045em;text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.today-course-notices-under-time .today-course-cancelled{background:linear-gradient(135deg,#ff9ba4 0%,#ff7581 100%);color:#2b070b;border:1px solid rgba(255,110,123,.38)}
.today-course-notices-under-time .today-course-paused{background:linear-gradient(135deg,#ffeaa0 0%,#ffd76f 100%);color:#211703}
.today-course-notices-under-time .today-course-closed{background:linear-gradient(135deg,#e5e9ed 0%,#cfd6dc 100%);color:#111820}
.weekly-course-status-under-time{width:100%;margin:5px 0 8px;display:flex;align-items:stretch}
.weekly-course-status-under-time .weekly-cancelled,.weekly-course-status-under-time .weekly-paused,.weekly-course-status-under-time .weekly-closed{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;max-width:100%;padding:7px 9px;border-radius:10px;white-space:normal;overflow-wrap:anywhere;line-height:1.2;text-align:left}
.weekly-course-status-under-time .weekly-cancelled{background:linear-gradient(135deg,#ff9ba4 0%,#ff7581 100%);color:#2b070b;border:1px solid rgba(255,110,123,.38)}
.weekly-course-status-under-time .weekly-paused{background:linear-gradient(135deg,#efff6a 0%,#ffd65f 100%);color:#141804}
.weekly-course-status-under-time .weekly-closed{background:linear-gradient(135deg,#e5e9ed 0%,#cfd6dc 100%);color:#111820}
.weekly-course-status-under-time small{display:block;margin-top:3px;font-size:7.5px;line-height:1.15;font-weight:800;letter-spacing:.02em;opacity:.72;text-transform:none}
@media(max-width:650px){.today-course-notices-under-time .today-course-notice{font-size:7.5px;padding:6px 7px}.weekly-course-status-under-time .weekly-cancelled,.weekly-course-status-under-time .weekly-paused,.weekly-course-status-under-time .weekly-closed{font-size:8px;padding:7px 8px}}
