/* Own Yourself: Abschnitte & Raster (generiert) */
.ch-sec{--bg-page:var(--ch-canvas);--bg-page-dark:var(--ch-ink-900);--surface-card:var(--ch-paper);--surface-raised:var(--ch-greige-100);--surface-tint:var(--ch-terracotta-100);--surface-inverse:var(--ch-ink-900);--text-strong:var(--ch-ink-900);--text-body:var(--ch-ink-800);--text-muted:var(--ch-greige-600);--text-caption:var(--ch-greige-500);--text-on-dark:var(--ch-canvas);--text-on-dark-muted:var(--ch-greige-400);--text-accent:var(--ch-terracotta-600);--accent:var(--ch-terracotta-500);--accent-hover:var(--ch-terracotta-600);--accent-press:var(--ch-terracotta-700);--accent-contrast:var(--ch-canvas);--counter:var(--ch-petrol-500);--line-hairline:var(--ch-greige-300);--line-strong:var(--ch-ink-900);--line-accent:var(--ch-terracotta-500);--frame:var(--ch-ink-900);--focus-ring:var(--ch-terracotta-500);--link:var(--ch-terracotta-600);--link-hover:var(--ch-terracotta-700);--accent: #B626B4;--ch-terracotta-500: #B626B4;--ch-terracotta-600: #9A1F98;--ch-terracotta-700: #7E197C;--ch-terracotta-100: #F2E5F0;--ch-terracotta-300: #BC7CB5;--ch-ink-900: #17181A;--ch-ink-800: #26282B;--ch-ink-700: #3C3F43;--ch-greige-600: #63666B;--ch-greige-500: #7F8388;--ch-greige-400: #9DA1A6;--ch-greige-300: #C6C8CC;--ch-greige-200: #E0E2E5;--ch-greige-100: #ECEDEF;--ch-canvas: #F5F6F7;--ch-paper: #FBFCFC;--text-on-dark: #FFFFFF;--text-on-dark-muted: rgba(255,255,255,0.9);--accent-contrast: #FFFFFF;--line-on-dark: rgba(255,255,255,0.35)}
.ch-sec .ch-b > [style*="justify-self:end"]{margin-left:auto}
.ch-sec .ch-b li{margin-bottom:0}
.ch-sec.ch-s--investition{background:#B626B4;color:#FFFFFF;--max:1280px;padding-top:clamp(4rem,8vw,7.5rem) !important;padding-bottom:clamp(4rem,8vw,7.5rem) !important}
.ch-sec.ch-s--ergebnis{background:#FFFFFF;border-top:1px solid var(--line-hairline);color:var(--text-strong);--max:1280px;padding-top:clamp(4rem,8vw,7.5rem) !important;padding-bottom:clamp(4rem,8vw,7.5rem) !important}
.ch-sec.ch-s--begleitung{background:var(--bg-page);--max:1280px;padding-top:clamp(4rem,8vw,7.5rem) !important;padding-bottom:clamp(4rem,8vw,7.5rem) !important}
.ch-sec.ch-s--live-termine{background:#BC7CB5;color:#FFFFFF;--max:1280px;padding-top:clamp(4rem,8vw,7rem) !important;padding-bottom:clamp(4rem,8vw,7rem) !important}
.ch-sec.ch-s--module{background:var(--bg-page);--max:1280px;padding-top:clamp(4rem,8vw,7.5rem) !important;padding-bottom:clamp(4rem,8vw,7.5rem) !important}
.ch-sec.ch-s--fuer-wen{background:#B626B4;color:#FFFFFF;--max:1280px;padding-top:clamp(4rem,8vw,7.5rem) !important;padding-bottom:clamp(4rem,8vw,7.5rem) !important}
.ch-sec.ch-s--hero{background:var(--bg-page);--max:1280px;padding-top:clamp(3.5rem,7vw,6.5rem) !important;padding-bottom:clamp(3.5rem,7vw,6.5rem) !important}
.ch-sec .ch-g--hero-1{--cg:clamp(2.5rem,6vw,6rem);--rg:clamp(2.5rem,6vw,6rem);align-items:center}
.ch-sec .ch-g--module-1{--cg:0px;--rg:0px;background-image:linear-gradient(var(--line-hairline),var(--line-hairline));background-size:calc(100% - var(--cg)) 1px;background-position:center top;background-repeat:no-repeat;border-left:1px solid var(--line-hairline)}
.ch-sec .ch-g--live-termine-1{--cg:clamp(2.5rem,5vw,5rem);--rg:clamp(2.5rem,5vw,5rem);align-items:center}
.ch-sec .ch-g--begleitung-1{--cg:1.5rem;--rg:1.5rem}
.ch-sec .ch-g--ergebnis-1{--cg:0px;--rg:0px;background-image:linear-gradient(var(--text-strong),var(--text-strong));background-size:calc(100% - var(--cg)) 2px;background-position:center top;background-repeat:no-repeat}
.ch-sec .ch-g--ergebnis-2{--cg:clamp(2rem,4vw,3.5rem);--rg:2rem;align-items:flex-start;margin-top:clamp(3rem,6vw,4.5rem) !important}
.ch-sec .ch-g--investition-1{--cg:clamp(2.5rem,5vw,5rem);--rg:clamp(2.5rem,5vw,5rem);align-items:flex-start}
/* Feinanpassungen aus own-yourself-anpassungen.css */
/* Own Yourself – Feinanpassungen gegenüber dem Design-Export (15.10.2026, Wunsch Marc) */

/* Für wen: zweiter Absatz („Wir schauen nicht nur …“) so groß wie der erste („OWN YOURSELF ist für Frauen …“) */
.ch-sec.ch-s--fuer-wen p[style*="max-width:38ch"] { font-size: 1.15rem !important; line-height: 1.5 !important; max-width: 46ch !important; }

/* Für wen: Fragen 01–04 etwas kleiner (vorher clamp(2.1rem,5vw,4.5rem)) */
.ch-sec.ch-s--fuer-wen p[style*="font-size:clamp(2.1rem,5vw,4.5rem)"] { font-size: clamp(1.75rem, 4vw, 3.5rem) !important; }

/* Module 01–12 mobil: keine Mindesthöhe, damit unten kein Leerraum bleibt */
@media (max-width: 767px) {
  .ch-sec.ch-s--module .ch-b > div[style*="min-height:170px"] { min-height: 0 !important; }
}


/* Live-Termine mobil: Buttons unter die Kennzahlen-Tabelle. Die WPBakery-Spalten werden aufgelöst (display:contents),
   damit Label, Überschrift, Buttons, Bild und Tabelle direkt in der Zeile stehen und sich umsortieren lassen. */
@media (max-width: 767px) {
  .ch-sec .vc_row.ch-g.ch-g--live-termine-1 { flex-direction: column; flex-wrap: nowrap; row-gap: 0 !important; align-items: stretch !important;
    margin-left: 0 !important; margin-right: 0 !important; }   /* negative Ränder gehörten zum Spaltenabstand der aufgelösten Spalten */
  .ch-sec .ch-g--live-termine-1 .ch-b > div > p:empty { display: none; }   /* wpautop-Rest zwischen Bild und Tabelle */
  .ch-sec .ch-g--live-termine-1 > .wpb_column,
  .ch-sec .ch-g--live-termine-1 > .wpb_column > .vc_column-inner,
  .ch-sec .ch-g--live-termine-1 > .wpb_column > .vc_column-inner > .wpb_wrapper,
  .ch-sec .ch-g--live-termine-1 .ch-b,
  .ch-sec .ch-g--live-termine-1 .ch-b > div { display: contents; }
  .ch-sec .ch-g--live-termine-1 .ch-b > div > img { margin-top: 1rem; }   /* + 1.5rem Abstand der Überschrift = Spaltenabstand wie vorher */
  .ch-sec .ch-g--live-termine-1 .ch-b > div > div[style*="max-width:360px"] { order: 1; }
}

/* ===== Mobil (< 768 px), Stand 15.10.2026: kompaktere Listen + Mindest-Schriftgrößen ===== */
@media (max-width: 767px) {
  /* Module 01–12: Nummer und Titel in einer Zeile (Schrift siehe „Nummerierte Aufzählungen“ unten) */
  .ch-sec.ch-s--module .ch-g--module-1 .ch-b > div { flex-direction: row !important; align-items: baseline; gap: 0.9rem !important;
    padding: 0.85rem 1.1rem !important; }

  /* Ergebnis 01–05: Nummer und Text in einer Zeile (Schrift siehe unten) */
  .ch-sec.ch-s--ergebnis .ch-g--ergebnis-1 .ch-b > div { flex-direction: row !important; align-items: baseline; gap: 0.9rem !important;
    padding: 0.85rem 0 !important; }

  /* Schriftgrößen: Fließtext mind. 16 px, Zusatzinfos 14–15 px, Labels 12 px (Woodmart-Grundschrift ist 14 px) */
  .ch-sec { --fs-body: 16px; }
  .ch-sec .ch-label, .ch-sec.ch-s--live-termine span[style*="font-size:0.75rem"] { font-size: 12px !important; }
  .ch-sec .ch-b [style*="font-size:0.95rem"] { font-size: 16px !important; }
  .ch-sec.ch-s--live-termine .ch-b [style*="font-size:0.95rem"] { font-size: 15px !important; }       /* Kennzahlen-Unterzeilen */
  .ch-sec.ch-s--investition .ch-b span[style*="font-size:0.95rem"] { font-size: 14px !important; }    /* „zzgl. MwSt. pro Person“ */
  .ch-sec .ch-b [style*="font-size:0.9rem"] { font-size: 14px !important; }
  .ch-sec .ch-b [style*="font-size:0.8rem"] { font-size: 13px !important; }

  /* Hero-Kennzahlen: Start · Termin · Gruppe als drei gleich breite Spalten (statt umbrechend/zentriert) */
  .ch-sec.ch-s--hero div[style*="padding-top:1.5rem"][style*="flex-wrap:wrap"] { display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 0.75rem !important; }
  .ch-sec.ch-s--hero div[style*="padding-top:1.5rem"][style*="flex-wrap:wrap"] > div > div:last-child { font-size: 14px; line-height: 1.35; }

  /* Begleitung: Karten wie im Design, aber als Wisch-Slider (Scroll-Snap, ohne JavaScript).
     Nächste Karte ragt ca. 15 % ins Bild, damit erkennbar ist, dass man wischen kann. */
  .ch-sec .vc_row.ch-g.ch-g--begleitung-1 { flex-wrap: nowrap !important; overflow-x: auto; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none;
    margin-left: calc(-1 * var(--gutter)) !important; margin-right: calc(-1 * var(--gutter)) !important;
    padding: 0 var(--gutter) 0.25rem; scroll-padding-left: var(--gutter); gap: 0.75rem; }
  .ch-sec .vc_row.ch-g.ch-g--begleitung-1::-webkit-scrollbar { display: none; }
  .ch-sec .vc_row.ch-g.ch-g--begleitung-1 > .wpb_column { flex: 0 0 84% !important; width: 84% !important; max-width: 84%; scroll-snap-align: start; }
  .ch-sec .vc_row.ch-g.ch-g--begleitung-1 > .wpb_column > .vc_column-inner { padding: 0 !important; }

  /* Nummerierte Aufzählungen einheitlich (Für wen 01–04, Module 01–12, Ergebnis 01–05):
     Ziffer 20 px kursiv in fester Spalte 2.6rem, Text 19 px Newsreader normal, Zeilenhöhe 1.3 */
  .ch-sec.ch-s--fuer-wen div[style*="grid-template-columns:clamp(3rem,6vw,6rem)"] { grid-template-columns: 2.6rem minmax(0,1fr) !important; gap: 0.9rem !important; }
  .ch-sec.ch-s--fuer-wen div[style*="font-size:clamp(1.1rem,1.6vw,1.5rem)"],
  .ch-sec.ch-s--module .ch-g--module-1 .ch-b > div > div:first-child,
  .ch-sec.ch-s--ergebnis .ch-g--ergebnis-1 .ch-b > div > div:first-child {
    font-family: var(--font-display) !important; font-style: italic !important; font-size: 20px !important; line-height: 1.3 !important;
    flex: none; width: 2.6rem; }
  .ch-sec.ch-s--fuer-wen p[style*="font-size:clamp(2.1rem,5vw,4.5rem)"],
  .ch-sec.ch-s--module .ch-g--module-1 .ch-b > div > h3,
  .ch-sec.ch-s--ergebnis .ch-g--ergebnis-1 .ch-b > div > p {
    font-family: var(--font-display) !important; font-size: 19px !important; font-weight: 400 !important;
    line-height: 1.3 !important; letter-spacing: 0 !important; text-wrap: pretty !important; max-width: none !important; }

  /* Tabellenform der Aufzählungen einheitlich (Für wen, Module, Ergebnis): offene Liste ohne Kästen und Seitenränder,
     oben eine dünne Linie, zwischen den Einträgen dünne Linien, gleicher Innenabstand 0.85rem oben/unten. */
  .ch-sec.ch-s--fuer-wen div[style*="grid-template-columns:clamp(3rem,6vw,6rem)"] { padding: 0.85rem 0 !important; }
  .ch-sec.ch-s--module .vc_row.ch-g.ch-g--module-1 { border-left: 0 !important;
    background-image: linear-gradient(var(--line-hairline), var(--line-hairline)) !important; background-size: 100% 1px !important; }
  .ch-sec.ch-s--module .ch-g--module-1 .ch-b > div { background: transparent !important; border-right: 0 !important;
    border-bottom: 1px solid var(--line-hairline) !important; padding: 0.85rem 0 !important; }
  .ch-sec.ch-s--module .ch-g--module-1 .ch-b > div[style*="background:var(--accent)"] > * { color: var(--accent) !important; }  /* Modul 12 */
  .ch-sec.ch-s--ergebnis .vc_row.ch-g.ch-g--ergebnis-1 {
    background-image: linear-gradient(var(--line-hairline), var(--line-hairline)) !important; background-size: 100% 1px !important; }
  .ch-sec.ch-s--ergebnis .ch-g--ergebnis-1 .ch-b > div { border-bottom: 1px solid var(--line-hairline) !important; }

  /* Gezielte Zeilenumbrüche nur mobil (19.10.2026): <span class="ch-br-m"> im Block beginnt mobil eine neue Zeile
     (Hero: „Mittwochs,“ / „19–20:30 Uhr“ und „12 Wochen. 12 Frauen.“ / „Eine klare Entscheidung.“) */
  .ch-sec .ch-br-m { display: block; }

  /* Buttons mobil (19.10.2026): „Kennenlerngespräch vereinbaren“ ist länger als „Infogespräch …“ – etwas kleiner und
     enger gesetzt, damit der Text auch in der Preis-Karte (306 px) in eine Zeile passt */
  .ch-sec a.ch-btn--lg, .ch-sec a.oy-btn { font-size: 14px !important; letter-spacing: 0.06em !important;
    padding-left: 0.75rem !important; padding-right: 0.75rem !important; }
}

/* Tablet (768–1023 px, 19.10.2026): in der schmalen Preis-Karte passt „Kennenlerngespräch vereinbaren“ sonst nicht in eine Zeile */
@media (min-width: 768px) and (max-width: 1023px) {
  .ch-sec.ch-s--investition a.ch-btn--lg { letter-spacing: 0.06em !important; padding-left: 0.75rem !important; padding-right: 0.75rem !important; }
}

/* Live-Termine Kennzahlen (19.10.2026, alle Breiten): „Mi, 19:00 Uhr“ ist länger als „Mi, 19 Uhr“ und brach in zwei Zeilen um.
   Die vier großen Zahlen bleiben einzeilig und passen sich der Zellenbreite an (Container-Einheit cqi);
   höchstens so groß wie im Design (clamp(2rem,3.5vw,3rem)). Browser ohne Container-Einheiten zeigen die Design-Größe. */
.ch-sec.ch-s--live-termine div[style*="repeat(2,minmax(0,1fr))"] > div { container-type: inline-size; }
.ch-sec.ch-s--live-termine div[style*="font-size:clamp(2rem,3.5vw,3rem)"] { white-space: nowrap;
  font-size: min(clamp(2rem, 3.5vw, 3rem), 15.5cqi) !important; }
