/* =========================================================
   RSC Uttigen – Redesign (nur CSS)
   Einfügen: ClubDesk > Website > Design > Eigenes CSS
   (ersetzt rsc-uttigen-modern.css, diese bitte entfernen)
   Keine externen Fonts (kein Google-Fonts-Transfer)
   ========================================================= */

:root {
  --rsc-blue: #007ac0;
  --rsc-navy: #0a2540;
  --rsc-navy-2: #12355c;
  --rsc-ink: #13202f;
  --rsc-muted: #5b6b7d;
  --rsc-yellow: #f9ed3a;
  --rsc-bg: #f3f5f8;
  --rsc-card: #ffffff;
  --rsc-radius: 16px;
  --rsc-shadow: 0 1px 2px rgba(10,37,64,.06), 0 8px 24px rgba(10,37,64,.08);
  --rsc-shadow-lg: 0 2px 4px rgba(10,37,64,.08), 0 18px 40px rgba(10,37,64,.16);
  --rsc-max: 1240px;
  --rsc-gutter: clamp(16px, 4vw, 40px);
  --rsc-hero-h: clamp(220px, 32vh, 340px);
  --rsc-title-h: 120px;
  /* Header aller Unterseiten ohne eigenes Beitragsbild: Farbverlauf.
     Startseite (Hero-Bild) und News mit Bild zeigen weiterhin ihr Bild.
     Statt Verlauf geht auch ein Bild: url("https://www.rscuttigen.ch/clubdesk/fileservlet?type=image&id=...&imageFormat=_2048x2048")
     (Rechtsklick aufs Bild auf der Website > «Bildadresse kopieren»). none = ClubDesk-Standardbild. */
  --rsc-header:
    radial-gradient(ellipse at 85% 0%, rgba(0,122,192,.65) 0%, rgba(0,122,192,0) 60%),
    radial-gradient(ellipse at 10% 120%, rgba(249,237,58,.18) 0%, rgba(249,237,58,0) 45%),
    linear-gradient(135deg, #0a2540 0%, #0f3157 60%, #0b4a7a 100%);
  --rsc-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --rsc-font-display: "Arial Black", "Helvetica Neue", system-ui, sans-serif;
}

/* ---------- Grundlayout: Seitenleiste raus, volle Breite ---------- */
html, body { background: var(--rsc-bg) !important; overflow-x: clip; }
body {
  display: block !important;
  font-family: var(--rsc-font) !important;
  color: var(--rsc-ink);
  -webkit-font-smoothing: antialiased;
}
nav.cd-header-on-side,
.main .cd-stripeHorizontal,
.main > .cd-hide-large.cd-stripeHorizontal { display: none !important; }

.main {
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
  background: transparent !important;
  position: relative;
}
.main .content-wrapper,
.main .cd-content { width: 100% !important; max-width: none !important; background: transparent !important; }

.cd-content > .cd-section > .cd-section-content {
  width: auto !important;
  max-width: var(--rsc-max) !important;
  margin: 0 auto !important;
  padding-left: var(--rsc-gutter) !important;
  padding-right: var(--rsc-gutter) !important;
}
.cd-content > .cd-section { padding-top: 24px; padding-bottom: 48px; }

/* Wortmarke oben links neben dem Menü-Button */
.main::before {
  content: "RSC UTTIGEN";
  position: absolute;
  top: 26px;
  left: 84px;
  z-index: 20;
  font: 900 15px/1 var(--rsc-font-display);
  letter-spacing: .14em;
  color: #fff;
  text-shadow: 0 1px 8px rgba(0,0,0,.35);
  pointer-events: none;
}

/* Menü-Button */
.cd-fullpagemenu-button {
  background: var(--rsc-yellow) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
  z-index: 30002 !important; /* über dem geöffneten Menü (30001), damit das X sichtbar bleibt */
}

/* ---------- Unterseiten: Header über volle Breite mit Farbverlauf ---------- */
.main > .cd-hide-large { display: block !important; position: relative; }
.main > .cd-hide-large .cd-header,
.main > .cd-hide-large .cd-section { height: var(--rsc-hero-h) !important; min-height: 0 !important; padding: 0 !important; }
.main > .cd-hide-large .cd-section { position: relative; }
/* Verlauf liegt als eigene Ebene über dem ClubDesk-Standardbild */
.main > .cd-hide-large .cd-section::before {
  content: "";
  position: absolute; inset: 0; z-index: 1;
  background: var(--rsc-header);
  background-size: cover;
  background-position: center 40%;
  background-repeat: no-repeat;
}
.main > .cd-hide-large .cd-section-content { display: none !important; }
.main > .cd-hide-large .cd-backgroundPane { background-position: center 28% !important; }
.main > .cd-hide-large::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,37,64,.35) 0%, rgba(10,37,64,.05) 35%, rgba(10,37,64,.88) 100%);
  pointer-events: none;
  z-index: 2;
}

/* Seitentitel wandert in den Bild-Header */
.main:has(> .content-wrapper .cd-content > .cd-section:first-child > .cd-section-content > .cd-row:first-child h1) .content-wrapper {
  margin-top: calc(var(--rsc-title-h) * -1);
  position: relative;
  z-index: 2;
}
.cd-content > .cd-section:first-child > .cd-section-content > .cd-row:first-child h1 {
  min-height: var(--rsc-title-h);
  margin: 0 0 32px !important;
  padding-bottom: 22px;
  display: flex;
  align-items: flex-end;
  color: #fff !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.35);
}
.cd-content > .cd-section:first-child { padding-top: 0; }

/* ---------- Typografie ---------- */
.cd-content h1 {
  font: 900 clamp(34px, 5vw, 60px)/1 var(--rsc-font-display) !important;
  letter-spacing: -.01em;
  text-transform: uppercase;
  color: var(--rsc-navy);
  margin: 8px 0 24px;
}
.cd-content h2 { font: 800 clamp(24px, 3vw, 34px)/1.15 var(--rsc-font-display); color: var(--rsc-navy); text-transform: uppercase; }
.cd-content p, .cd-content li { font-size: 17px; line-height: 1.65; color: var(--rsc-ink); }
.cd-content p span, .cd-content li span { font-size: inherit !important; }
.cd-content a:not(.cd-button) { color: var(--rsc-blue); text-underline-offset: 3px; }

/* Abschnittstitel mit gelbem Balken (ausser im Header) */
.cd-content .cd-section:not(:first-child) h1,
.cd-content .cd-section > .cd-section-content > .cd-row:not(:first-child) h1 {
  display: flex; align-items: center; gap: 16px;
}
.cd-content .cd-section:not(:first-child) h1::before,
.cd-content .cd-section > .cd-section-content > .cd-row:not(:first-child) h1::before {
  content: ""; width: 10px; height: .9em; background: var(--rsc-yellow); border-radius: 3px; flex: none;
}

/* ---------- Buttons ---------- */
.cd-button {
  font: 800 14px/1 var(--rsc-font) !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  border-radius: 999px !important;
  padding: 15px 28px !important;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease !important;
  text-decoration: none !important;
}
.cd-button-primary {
  background: var(--rsc-yellow) !important;
  color: var(--rsc-navy) !important;
  border: 0 !important;
  box-shadow: 0 6px 16px rgba(249,237,58,.35);
}
.cd-button-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(249,237,58,.5); }
.cd-button-secondary, .cd-button-tertiary {
  background: transparent !important;
  color: var(--rsc-navy) !important;
  border: 2px solid var(--rsc-navy) !important;
  box-shadow: none !important;
}
.cd-button-tertiary:hover, .cd-button-secondary:hover { background: var(--rsc-navy) !important; color: #fff !important; }

/* =========================================================
   STARTSEITE
   ========================================================= */
body:has(#section_1000095) .main > .cd-hide-large { display: none !important; }

body:has(#section_1000095) .cd-content {
  display: grid !important;
  grid-template-columns: 100%;
}
#section_1000094, #section_1000095 { grid-area: 1 / 1; }

/* Vollbild-Hero */
#section_1000095 {
  min-height: 100vh;
  min-height: 100svh;
  padding: 0 !important;
  position: relative;
  display: flex;
  align-items: flex-end;
}
#section_1000095 > .cd-backgroundPane { background-position: center 35% !important; }
#section_1000095::after {
  content: "";
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(10,37,64,.92) 0%, rgba(10,37,64,.55) 45%, rgba(10,37,64,.05) 80%),
    linear-gradient(0deg, rgba(10,37,64,.85) 0%, rgba(10,37,64,0) 45%);
  z-index: 1;
}
#section_1000095 > .cd-section-content {
  position: relative; z-index: 3;
  width: 100% !important;
  padding-bottom: clamp(32px, 7vh, 72px) !important;
}
#section_1000095 .cd-row { display: block !important; }
#section_1000095 .cd-col:first-child { display: none !important; }
#section_1000095 .cd-col { width: 100% !important; float: none !important; padding: 0 !important; }

/* Probetraining-Box -> CTA unter dem Titel */
#block_1000373, #block_1000374 { background: none !important; padding: 0 !important; margin: 0 !important; }
#block_1000373 > .cd-backgroundPane, #block_1000374 > .cd-backgroundPane { display: none !important; }
#block_1000373 p { color: rgba(255,255,255,.9) !important; font-size: 17px !important; line-height: 1.5 !important; margin: 0 0 18px; }
#block_1000373 p strong { color: #fff; }
#block_1000374 .cd-button {
  font-size: 15px !important; padding: 18px 34px !important;
  background: var(--rsc-yellow) !important; color: var(--rsc-navy) !important; border: 0 !important;
  box-shadow: 0 8px 24px rgba(249,237,58,.35) !important;
}
#block_1000374 .cd-button:hover { transform: translateY(-2px); }

/* Titel + Intro auf dem Bild */
#section_1000094 {
  position: relative; z-index: 4;
  align-self: end;
  padding: 0 !important;
  padding-bottom: calc(clamp(32px, 7vh, 72px) + 230px) !important;
  pointer-events: none;
}
#section_1000094 > .cd-backgroundPane { display: none !important; }
#section_1000094 h1 {
  font-size: clamp(44px, 8.5vw, 124px) !important;
  line-height: .9 !important;
  color: #fff !important;
  margin: 0 0 24px !important;
  display: block !important;
  min-height: 0 !important;
  padding: 0 !important;
  text-shadow: 0 4px 30px rgba(0,0,0,.35);
}
#section_1000094 h1::before { display: none !important; }
#section_1000094 h1 strong:last-of-type { color: var(--rsc-yellow); }
#section_1000094 p {
  max-width: 560px;
  color: rgba(255,255,255,.88) !important;
  font-size: clamp(16px, 1.4vw, 19px);
  pointer-events: auto;
}
body:has(#section_1000095) .content-wrapper { margin-top: 0 !important; }

/* Matchday-Band: Nächste Spiele + News auf Navy */
body:has(#section_1000095) #section_1000096 {
  background: var(--rsc-navy);
  padding: 72px 0 88px;
}
body:has(#section_1000095) #section_1000096 > .cd-backgroundPane { display: none !important; }
body:has(#section_1000095) #section_1000096 h1 { color: #fff !important; margin-top: 0 !important; }
body:has(#section_1000095) #section_1000096 .cd-row + .cd-row h1 { margin-top: 64px !important; }
body:has(#section_1000095) #section_1000096 .event-list h3 { color: var(--rsc-yellow) !important; }
body:has(#section_1000095) #section_1000096 .event-list h3::after { background: rgba(255,255,255,.18); }
body:has(#section_1000095) #section_1000096 .icsFooter,
body:has(#section_1000095) #section_1000096 .icsFooter * { color: rgba(255,255,255,.75) !important; }
body:has(#section_1000095) #section_1000096 .cd-button-tertiary { color: #fff !important; border-color: rgba(255,255,255,.6) !important; }
body:has(#section_1000095) #section_1000096 .cd-button-tertiary:hover { background: var(--rsc-yellow) !important; border-color: var(--rsc-yellow) !important; color: var(--rsc-navy) !important; }

/* =========================================================
   NÄCHSTE SPIELE (Startseite + Unterseite)
   ========================================================= */
.event-list h3 {
  display: flex !important; align-items: center; gap: 14px;
  font: 800 13px/1 var(--rsc-font) !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  font-style: normal !important;
  text-decoration: none !important;
  color: var(--rsc-blue) !important;
  background: none !important; border: 0 !important; box-shadow: none !important;
  padding: 0 !important;
  margin: 36px 0 14px !important;
}
.event-list h3::before { display: none !important; }
.event-list h3::after { content: ""; flex: 1; height: 1px; background: rgba(10,37,64,.15); }
.event-list h3 a { color: inherit !important; text-decoration: none !important; font-style: normal !important; }

.event-list .cd-tile-container {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
  gap: 16px;
  margin: 0 !important;
}
.event-list .cd-tile-h-box {
  width: auto !important; margin: 0 !important; float: none !important;
  background: var(--rsc-card) !important;
  border: 0 !important;
  border-radius: var(--rsc-radius) !important;
  box-shadow: var(--rsc-shadow) !important;
  padding: 22px 24px 20px 28px !important;
  position: relative;
  overflow: hidden;
  transition: transform .15s ease, box-shadow .15s ease;
}
.event-list .cd-tile-h-box::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--rsc-yellow);
}
.event-list .cd-tile-h-box:hover { transform: translateY(-3px); box-shadow: var(--rsc-shadow-lg) !important; }
.event-list .cd-tile-h-main-area,
.event-list .cd-tile-h-detail-area { background: none !important; padding: 0 !important; color: var(--rsc-ink) !important; width: auto !important; float: none !important; }
.event-list .cd-tile-h-main-content { display: flex; flex-direction: column-reverse; gap: 6px; }
.event-list .cd-tile-h-main-subheading {
  font: 900 26px/1 var(--rsc-font-display) !important;
  color: var(--rsc-navy) !important;
  font-variant-numeric: tabular-nums;
  opacity: 1 !important;
}
.event-list .cd-tile-h-main-heading {
  font: 700 17px/1.35 var(--rsc-font) !important;
  color: var(--rsc-ink) !important;
  white-space: normal !important;
}
.event-list .cd-tile-h-detail-area { margin-top: 12px !important; padding-top: 12px !important; border-top: 1px solid rgba(10,37,64,.08); }
.event-list .cd-tile-h-detail-col ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.event-list .cd-tile-h-detail-col li { padding: 0 !important; margin: 0 !important; }
.event-list .cd-tile-h-detail-label { display: none !important; }
.event-list .cd-tile-h-detail-value { font-size: 14px !important; color: var(--rsc-muted) !important; display: flex; gap: 8px; align-items: baseline; }
.event-list .cd-tile-h-detail-value::before {
  content: "\f3c5"; font-family: "Font Awesome 6 Free"; font-weight: 900; color: var(--rsc-blue); font-size: 13px;
}

/* ---------- «Weitere Einträge» der Spiele (Liste ohne eigenen Titel) ---------- */
.main:has(.cd-block-content > .cd-detailPageNavigation ~ .event-list) .content-wrapper {
  margin-top: calc(var(--rsc-title-h) * -1);
  position: relative;
  z-index: 2;
}
.cd-block-content:has(> .cd-detailPageNavigation ~ .event-list) {
  display: flex !important; flex-direction: column; padding-top: 0 !important;
}
.cd-block-content:has(> .cd-detailPageNavigation ~ .event-list)::before {
  content: "Nächste Spiele";
  order: -1;
  min-height: var(--rsc-title-h);
  display: flex; align-items: flex-end;
  padding-bottom: 22px; margin-bottom: 8px;
  font: 900 clamp(34px, 5vw, 60px)/1 var(--rsc-font-display);
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 2px 16px rgba(0,0,0,.35);
}
.cd-block-content:has(> .cd-detailPageNavigation ~ .event-list) > .event-list { order: 1; }
.cd-block-content:has(> .cd-detailPageNavigation ~ .event-list) > .event-list > h3:first-child { margin-top: 28px !important; }
.cd-block-content:has(> .cd-detailPageNavigation ~ .event-list) > .cd-detailPageNavigation { order: 5; margin-top: 32px !important; }

/* ---------- Spiel-Detailseite (Klick auf ein Spiel) ---------- */
.main:has(.cd-block-content > .cd-additional-backButton ~ .cd-detail-area) .content-wrapper {
  margin-top: calc(var(--rsc-title-h) * -1); position: relative; z-index: 2;
}
.cd-block-content:has(> .cd-additional-backButton ~ .cd-detail-area) { display: flex !important; flex-direction: column; padding-top: 0 !important; }
.cd-block-content:has(> .cd-additional-backButton ~ .cd-detail-area) > h1 {
  order: 0;
  min-height: var(--rsc-title-h);
  margin: 0 0 28px !important; padding: 0 0 22px !important;
  display: flex; align-items: flex-end;
  font-size: clamp(28px, 4vw, 52px) !important; line-height: 1.05 !important;
  color: #fff !important; text-shadow: 0 2px 16px rgba(0,0,0,.35);
}
.cd-block-content:has(> .cd-additional-backButton ~ .cd-detail-area) > h1::before { display: none !important; }
.cd-block-content:has(> .cd-additional-backButton ~ .cd-detail-area) > .cd-detail-area {
  order: 1;
  background: #fff; border-radius: var(--rsc-radius); box-shadow: var(--rsc-shadow);
  padding: 24px 28px !important; max-width: 560px; position: relative; overflow: hidden;
}
.cd-block-content:has(> .cd-additional-backButton ~ .cd-detail-area) > .cd-detail-area::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--rsc-yellow);
}
.cd-block-content:has(> .cd-additional-backButton ~ .cd-detail-area) .cd-detail-col ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.cd-block-content:has(> .cd-additional-backButton ~ .cd-detail-area) .cd-detail-col li { margin: 0 0 14px !important; padding: 0 !important; }
.cd-block-content:has(> .cd-additional-backButton ~ .cd-detail-area) .cd-detail-col li:last-child { margin: 0 !important; padding-top: 14px !important; border-top: 1px solid rgba(10,37,64,.08); }
.cd-block-content:has(> .cd-additional-backButton ~ .cd-detail-area) .cd-data-label {
  font-size: 12px !important; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--rsc-blue) !important; margin-bottom: 6px;
}
.cd-block-content:has(> .cd-additional-backButton ~ .cd-detail-area) .cd-data-value { font: 800 22px/1.3 var(--rsc-font) !important; color: var(--rsc-navy) !important; }
.cd-block-content:has(> .cd-additional-backButton ~ .cd-detail-area) .cd-data-value.icsFooter { font: 600 14px/1.4 var(--rsc-font) !important; margin: 0 !important; }
.cd-block-content:has(> .cd-additional-backButton ~ .cd-detail-area) .cd-data-value.icsFooter i { color: var(--rsc-blue); margin-right: 6px; }
.cd-block-content:has(> .cd-additional-backButton ~ .cd-detail-area) > .cd-additional-backButton { order: 2; margin-top: 32px !important; }

.icsFooter { margin: 28px 0 16px !important; font-size: 14px; color: var(--rsc-muted); }
.icsFooter a.importantLink {
  display: inline-flex; align-items: center; gap: 6px;
  font-weight: 700; text-decoration: none !important;
  background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important;
}
.icsFooter .icsText > i { display: none; }

/* =========================================================
   NEWS: Bildkarten
   ========================================================= */
.cd-newslist-tile-h .cd-tile-container,
.cd-tile-h:not(.event-list) .cd-tile-container {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
  gap: 24px;
  margin: 0 !important;
}
.cd-tile-h:not(.event-list) .cd-tile-h-box {
  width: auto !important; margin: 0 !important; float: none !important;
  display: flex !important; flex-direction: column;
  background: var(--rsc-card) !important;
  border: 0 !important;
  border-radius: var(--rsc-radius) !important;
  box-shadow: var(--rsc-shadow) !important;
  overflow: hidden;
  padding: 0 !important;
  transition: transform .2s ease, box-shadow .2s ease;
}
.cd-tile-h:not(.event-list) .cd-tile-h-box:hover { transform: translateY(-4px); box-shadow: var(--rsc-shadow-lg) !important; }
.cd-tile-h:not(.event-list) .cd-tile-h-detail-area { display: contents !important; }
.cd-tile-h:not(.event-list) .cd-tile-h-image-col {
  order: -1; width: 100% !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 0 !important;
  overflow: hidden;
}
.cd-tile-h:not(.event-list) .cd-tile-h-image-col > div { border-radius: 0 !important; }
.cd-tile-h:not(.event-list) .cd-image-content { transition: transform .5s ease; border-radius: 0 !important; }
.cd-tile-h:not(.event-list) .cd-tile-h-box:hover .cd-image-content { transform: scale(1.05); }
.cd-tile-h:not(.event-list) .cd-tile-h-main-area {
  background: none !important; padding: 20px 22px 4px !important; display: flex; flex-direction: column-reverse; gap: 8px;
}
.cd-tile-h:not(.event-list) .cd-tile-h-main-heading { font: 800 20px/1.25 var(--rsc-font) !important; color: var(--rsc-navy) !important; }
.cd-tile-h:not(.event-list) .cd-tile-h-main-subheading { font-size: 12px !important; letter-spacing: .1em; text-transform: uppercase; color: var(--rsc-blue) !important; font-weight: 700; }
.cd-tile-h:not(.event-list) .cd-tile-h-detail-value { padding: 4px 22px 24px !important; color: var(--rsc-muted) !important; font-size: 15px; line-height: 1.55; }

/* =========================================================
   NEWS-DETAILSEITE
   ========================================================= */
.cd-news-detail { display: flex !important; flex-direction: column; }
.cd-news-detail > .m12 { display: flex !important; flex-direction: column; }
.cd-news-detail > .m12 > * { order: 3; }
.cd-news-detail > .m12 > h1 {
  order: 0;
  min-height: var(--rsc-title-h);
  margin: 0 0 20px !important;
  padding-bottom: 22px;
  display: flex; align-items: flex-end;
  color: #fff !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.35);
}
.cd-news-detail > .m12 > h1::before { display: none !important; }
.cd-news-detail > .m12 > :first-child:not(h1) { order: 1; }
.cd-news-detail .cd-additional-subheading {
  font-size: 12px !important; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--rsc-blue) !important;
}
.cd-news-detail .cd-additional-teaser { font-size: 20px !important; font-weight: 700; color: var(--rsc-navy) !important; margin: 8px 0 20px !important; }
.cd-news-detail .cd-news-text { max-width: 720px; justify-self: start !important; margin-left: 0 !important; margin-right: auto !important; }
.cd-news-detail .cd-news-text p { font-size: 18px; line-height: 1.7; }
.cd-news-detail img { border-radius: var(--rsc-radius); box-shadow: var(--rsc-shadow-lg); }
/* «Zurück» ans Ende des Artikels */
.cd-news-detail > .cd-detailPageNavigation { order: 2; margin: 32px 0 0 !important; }

/* ---------- News-Detail mit Bild: Newsbild als Vollbild-Hero ----------
   Greift nur, wenn der Artikel eine Bildergalerie (Karussell) hat.
   Ohne Bild bleibt der normale Header. */
body:has(.cd-news-detail .cd-carousel-container) .main > .cd-hide-large { display: none !important; }
body:has(.cd-news-detail .cd-carousel-container) .content-wrapper { margin-top: 0 !important; }
body:has(.cd-news-detail .cd-carousel-container) .cd-content > .cd-section:first-child,
body:has(.cd-news-detail .cd-carousel-container) .cd-content > .cd-section:first-child .cd-block-content { padding-top: 0 !important; }
body:has(.cd-news-detail .cd-carousel-container) .cd-content,
body:has(.cd-news-detail .cd-carousel-container) .cd-content .cd-section,
body:has(.cd-news-detail .cd-carousel-container) .cd-content .cd-section-content,
body:has(.cd-news-detail .cd-carousel-container) .cd-content .cd-row,
body:has(.cd-news-detail .cd-carousel-container) .cd-content .cd-col,
body:has(.cd-news-detail .cd-carousel-container) .cd-content .cd-block,
body:has(.cd-news-detail .cd-carousel-container) .cd-content .cd-block-content,
body:has(.cd-news-detail .cd-carousel-container) .cd-news-detail,
body:has(.cd-news-detail .cd-carousel-container) .cd-news-detail > .m12 { overflow: visible !important; }

body:has(.cd-news-detail .cd-carousel-container) .cd-news-detail > .m12 { display: grid !important; grid-template-columns: 100%; }

/* Karussell über die volle Breite */
body:has(.cd-news-detail .cd-carousel-container) .cd-news-detail > .m12 > .cd-carousel-container {
  grid-area: 1 / 1;
  width: 100vw;
  max-width: none !important;
  margin: 0 0 32px calc(50% - 50vw) !important;
  position: relative;
  background: var(--rsc-navy);
}
body:has(.cd-news-detail .cd-carousel-container) .cd-news-detail > .m12 > .cd-carousel-container::after {
  content: "";
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(0deg, rgba(10,37,64,.92) 0%, rgba(10,37,64,.4) 35%, rgba(10,37,64,0) 60%),
    linear-gradient(180deg, rgba(10,37,64,.45) 0%, rgba(10,37,64,0) 18%);
}
body:has(.cd-news-detail .cd-carousel-container) .cd-carousel-container .cd-image-wrapper-4_3 {
  padding: 0 !important;
  height: min(82vh, 900px);
  height: min(82svh, 900px);
  position: relative;
}
body:has(.cd-news-detail .cd-carousel-container) .cd-carousel-container .cd-image-content { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; }
body:has(.cd-news-detail .cd-carousel-container) .cd-carousel-container .cd-image-content a { display: block; height: 100%; }
body:has(.cd-news-detail .cd-carousel-container) .cd-carousel-container img {
  width: 100% !important; height: 100% !important; max-width: none !important;
  object-fit: cover !important; border-radius: 0 !important; box-shadow: none !important;
  /* horizontal zentriert, vertikal im oberen Drittel: Köpfe/Gesichter bleiben bei jeder Bildschirmgrösse sichtbar */
  object-position: 50% 22% !important;
}

/* Titel und Datum unten auf dem Bild */
body:has(.cd-news-detail .cd-carousel-container) .cd-content .cd-section-content .cd-row .cd-news-detail > .m12 > h1 {
  grid-area: 1 / 1; align-self: end; justify-self: start; z-index: 2; position: relative;
  margin: 0 0 104px !important; padding: 0 !important; min-height: 0 !important;
  max-width: 16ch;
  font-size: clamp(36px, 6.5vw, 96px) !important;
  line-height: .95 !important;
  color: #fff !important;
  text-shadow: 0 4px 30px rgba(0,0,0,.4);
}
body:has(.cd-news-detail .cd-carousel-container) .cd-content .cd-section-content .cd-row .cd-news-detail > .m12 > .cd-additional-subheading {
  grid-area: 1 / 1; align-self: end; z-index: 2; position: relative;
  margin: 0 0 60px !important;
  font-size: 13px !important;
  color: var(--rsc-yellow) !important;
}
body:has(.cd-news-detail .cd-carousel-container) .cd-news-detail > .m12 > .cd-additional-teaser { font-size: clamp(20px, 2vw, 26px) !important; max-width: 720px; }

/* Karussell-Navigation */
body:has(.cd-news-detail .cd-carousel-container) .cd-carousel-container .owl-nav button {
  z-index: 3; width: 52px; height: 52px; border-radius: 50% !important;
  background: rgba(255,255,255,.18) !important; backdrop-filter: blur(6px);
  color: #fff !important; font-size: 28px !important;
}
body:has(.cd-news-detail .cd-carousel-container) .cd-carousel-container .owl-dots { position: absolute; right: var(--rsc-gutter); bottom: 24px; z-index: 3; margin: 0 !important; }
body:has(.cd-news-detail .cd-carousel-container) .cd-carousel-container .owl-dots .owl-dot span { background: rgba(255,255,255,.45) !important; }
body:has(.cd-news-detail .cd-carousel-container) .cd-carousel-container .owl-dots .owl-dot.active span { background: var(--rsc-yellow) !important; }

/* =========================================================
   VORSTAND / KONTAKTE (tile-v)
   ========================================================= */
.cd-tile-v .cd-tile-container,
.cd-tile-v.cd-tile-container {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  gap: 22px;
}
.cd-tile-v-box {
  width: auto !important; margin: 0 !important; float: none !important;
  background: var(--rsc-card) !important;
  border: 0 !important;
  border-radius: var(--rsc-radius) !important;
  box-shadow: var(--rsc-shadow) !important;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
.cd-tile-v-box:hover { transform: translateY(-4px); box-shadow: var(--rsc-shadow-lg) !important; }
.cd-tile-v-box .cd-image-content, .cd-tile-v-box img { border-radius: 0 !important; }
.cd-tile-v-box img { object-fit: cover !important; width: 100%; height: 100%; }
.cd-tile-v-main-area { background: none !important; padding: 18px 18px 6px !important; text-align: left !important; }
.cd-tile-v-main-heading { font: 800 18px/1.25 var(--rsc-font) !important; color: var(--rsc-navy) !important; }
.cd-tile-v-main-subheading {
  display: inline-block; margin-top: 8px;
  font-size: 11px !important; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  color: var(--rsc-navy) !important; background: var(--rsc-yellow); padding: 5px 9px; border-radius: 6px;
}
.cd-tile-v-main-subheading:empty { display: none !important; }
.cd-tile-v-detail-area { padding: 6px 18px 18px !important; background: none !important; }
.cd-tile-v-detail-area ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.cd-tile-v-detail-label { display: none !important; }
.cd-tile-v-detail-value, .cd-tile-v-detail-value a { font-size: 14px !important; color: var(--rsc-blue) !important; word-break: break-all; }

/* =========================================================
   SPONSOREN
   ========================================================= */
.cd-tile-container:has(.cd-sponsors-item) {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(46%, 160px), 1fr));
  gap: 14px;
}
.cd-sponsors-item {
  width: auto !important; margin: 0 !important; float: none !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: var(--rsc-shadow) !important;
  padding: 14px !important;
  transition: transform .2s ease, box-shadow .2s ease;
}
.cd-sponsors-item img { filter: grayscale(1); opacity: .75; transition: filter .25s ease, opacity .25s ease; }
.cd-sponsors-item:hover { transform: translateY(-3px); box-shadow: var(--rsc-shadow-lg) !important; }
.cd-sponsors-item:hover img { filter: none; opacity: 1; }

/* =========================================================
   TEAMS-Übersicht: Buttons als Reihe statt Turm
   ========================================================= */
.cd-section-content:has(> .cd-row .cd-block-center > .cd-block-content > .cd-button) {
  display: flex !important; flex-wrap: wrap; gap: 12px; align-items: flex-start;
}
.cd-section-content:has(> .cd-row .cd-block-center > .cd-block-content > .cd-button) > .cd-row { flex: 1 1 100%; }
.cd-section-content:has(> .cd-row .cd-block-center > .cd-block-content > .cd-button) > .cd-row:has(.cd-block-center > .cd-block-content > .cd-button) {
  flex: 0 0 auto; margin: 0 !important;
}
.cd-section-content > .cd-row:has(.cd-block-center > .cd-block-content > .cd-button) .cd-col { width: auto !important; padding: 0 !important; display: flex !important; gap: 12px; }
.cd-section-content > .cd-row:has(.cd-block-center > .cd-block-content > .cd-button) .cd-block { margin: 0 !important; padding: 0 !important; }
.cd-section-content > .cd-row:has(.cd-block-center > .cd-block-content > .cd-button) .cd-button {
  background: var(--rsc-navy) !important; color: #fff !important; box-shadow: none !important;
}
.cd-section-content > .cd-row:has(.cd-block-center > .cd-block-content > .cd-button) .cd-button:hover { background: var(--rsc-yellow) !important; color: var(--rsc-navy) !important; }

/* ---------- Bilder in Textseiten (Teams, Club, Geschichte) ---------- */
.cd-content .cd-image-block img {
  border-radius: var(--rsc-radius);
  box-shadow: var(--rsc-shadow-lg);
}

/* ---------- Formulare (Probetraining, Kontakt) ---------- */
.cd-content input[type="text"], .cd-content input[type="email"], .cd-content input[type="tel"],
.cd-content input[type="date"], .cd-content input[type="number"], .cd-content select, .cd-content textarea {
  border: 1.5px solid rgba(10,37,64,.18) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  font-size: 16px !important;
  background: #fff !important;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.cd-content input:focus, .cd-content select:focus, .cd-content textarea:focus {
  outline: none !important;
  border-color: var(--rsc-blue) !important;
  box-shadow: 0 0 0 4px rgba(0,122,192,.15) !important;
}
.cd-form-item label, .cd-form-row label { font-weight: 700; color: var(--rsc-navy); font-size: 14px; }

/* ---------- Footer ---------- */
.main > footer {
  width: 100% !important;
  background: #061729 !important;
  color: rgba(255,255,255,.75) !important;
  border-top: 4px solid var(--rsc-yellow);
}
.main > footer .cd-section-content { max-width: var(--rsc-max); margin: 0 auto; padding: 48px var(--rsc-gutter) !important; }
.main > footer, .main > footer p, .main > footer a { color: rgba(255,255,255,.8) !important; font-size: 14px !important; }
.main > footer a:hover { color: var(--rsc-yellow) !important; }

/* ---------- Mobile ---------- */
@media (max-width: 700px) {
  :root { --rsc-title-h: 96px; }
  .main::before { top: 24px; left: 74px; font-size: 13px; }
  #section_1000094 { padding-bottom: calc(clamp(32px, 7vh, 72px) + 250px) !important; }
  #section_1000094 p { font-size: 16px; }
  #section_1000095::after {
    background: linear-gradient(0deg, rgba(10,37,64,.95) 0%, rgba(10,37,64,.55) 55%, rgba(10,37,64,.15) 100%);
  }
  body:has(#section_1000095) #section_1000096 { padding: 48px 0 64px; }
  .event-list .cd-tile-h-main-subheading { font-size: 22px !important; }
}

/* =========================================================
   HEADER MIT TITEL: Verlauf wächst mit dem Titel mit
   Der Seitentitel bildet selbst den Header. Das Verlaufsband
   liegt hinter dem Titel über die volle Breite, so passen auch
   lange Titel (z. B. Matchberichte) immer in den Header.
   Startseite und News mit Bild sind ausgenommen.
   ========================================================= */
.main:has(.cd-content > .cd-section:first-child:not(#section_1000094) > .cd-section-content > .cd-row:first-child h1:not(.cd-news-detail h1):not(.cd-additional-backButton ~ h1), .cd-news-detail > .m12 > h1, .cd-block-content > .cd-additional-backButton ~ h1, .cd-block-content > .cd-detailPageNavigation ~ .event-list) > .cd-hide-large { display: none !important; }
.main .content-wrapper { margin-top: 0 !important; }

.cd-content > .cd-section:first-child,
.cd-content > .cd-section:first-child > .cd-section-content,
.cd-content > .cd-section:first-child .cd-row:first-child,
.cd-content > .cd-section:first-child .cd-row:first-child .cd-col,
.cd-content > .cd-section:first-child .cd-row:first-child .cd-block,
.cd-content > .cd-section:first-child .cd-row:first-child .cd-block-content { overflow: visible !important; }

.cd-content > .cd-section:first-child:not(#section_1000094) > .cd-section-content > .cd-row:first-child h1:not(.cd-news-detail h1):not(.cd-additional-backButton ~ h1),
.cd-news-detail:not(:has(.cd-carousel-container)) > .m12 > h1,
.cd-block-content > .cd-additional-backButton ~ h1 {
  position: relative; z-index: 0;
  min-height: var(--rsc-hero-h) !important;
  padding: 96px 0 28px !important;
  margin: 0 0 32px !important;
  display: flex !important; align-items: flex-end;
  color: #fff !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.3);
}
.cd-news-detail:not(:has(.cd-carousel-container)) > .m12 > h1,
.cd-block-content > .cd-additional-backButton ~ h1 { font-size: clamp(30px, 3.6vw, 52px) !important; line-height: 1.05 !important; }
.cd-content > .cd-section:first-child:not(#section_1000094) > .cd-section-content > .cd-row:first-child h1:not(.cd-news-detail h1):not(.cd-additional-backButton ~ h1)::before,
.cd-news-detail:not(:has(.cd-carousel-container)) > .m12 > h1::before,
.cd-block-content > .cd-additional-backButton ~ h1::before { display: none !important; }

.cd-content > .cd-section:first-child:not(#section_1000094) > .cd-section-content > .cd-row:first-child h1:not(.cd-news-detail h1):not(.cd-additional-backButton ~ h1)::after,
.cd-news-detail:not(:has(.cd-carousel-container)) > .m12 > h1::after,
.cd-block-content > .cd-additional-backButton ~ h1::after,
.cd-block-content:has(> .cd-detailPageNavigation ~ .event-list)::after {
  content: "";
  position: absolute; z-index: -1;
  top: -600px; bottom: 0;
  left: 50%; width: 100vw; margin-left: -50vw;
  background: var(--rsc-header);
  background-size: cover;
  background-position: center 40%;
  pointer-events: none;
}

/* Spiele-Liste «Weitere Einträge» (Titel kommt aus dem CSS) */
.cd-block-content:has(> .cd-detailPageNavigation ~ .event-list) { position: relative; z-index: 0; }
.cd-block-content:has(> .cd-detailPageNavigation ~ .event-list)::before { min-height: var(--rsc-hero-h) !important; padding: 96px 0 28px !important; margin-bottom: 8px !important; box-sizing: border-box; }
.cd-block-content:has(> .cd-detailPageNavigation ~ .event-list)::after { bottom: auto; height: calc(600px + var(--rsc-hero-h) + 8px); }
