/* =========================================================
   BREATHWORK-AUSBILDUNG · Lesefassung (18.10.2026)
   Nur für /breathwork-ausbildung, geladen nach css/artikel.css.
   Umsetzung des Design-Entwurfs „Breathwork-Ausbildung Lesefassung“:
   ruhigere Kennzahlen, Studie mit Balken, nummerierte Fragen,
   Module zum Aufklappen, Häkchen in Tabellen, große Zahlen beim
   Rückfluss. Copy unverändert, nur Darstellung.
   ========================================================= */

/* Hervorhebungen im Fließtext: Sand-Unterstrich wie ein Marker */
.sp-article p strong { color: #fff; font-weight: 600; background: linear-gradient(transparent 70%, rgba(233,199,154,0.35) 70%); }

/* Zweiter Teil des Einstiegs: normaler Fließtext nach dem großen Lead */
.sp-article .sp-bw-lead2 { margin-top: 1.25rem; }

/* Kennzahlen: eine ruhige Fläche mit Haarlinien statt einzelner Karten */
.sp-article .sp-bw-kpis { gap: 1px; background: var(--sp-line); border: 1px solid var(--sp-card-b); border-radius: 18px; overflow: hidden; }
.sp-article .sp-bw-kpis .sp-kpi { border: 0; border-radius: 0; background: var(--sp-bg); padding: 1.5rem 1.35rem; }
.sp-bw-kpis .sp-kpi__num { color: #fff; }
.sp-bw-kpis .sp-kpi__lbl { margin-top: 0.55rem; font-family: var(--font-body); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sp-sand); }

/* Studie: Balken vorher/nachher */
.sp-bw-study .sp-kpi__lbl { font-family: var(--font-headline); font-size: 1rem; letter-spacing: 0; text-transform: none; color: #fff; }
.sp-bw-track { display: flex; flex-direction: column; gap: 5px; margin: 0.9rem 0 0.2rem; }
.sp-bw-track i, .sp-bw-track b { display: block; height: 7px; border-radius: 4px; }
.sp-bw-track i { background: rgba(255,255,255,0.14); }
.sp-bw-track b { background: var(--sp-sand); }
@media (min-width: 640px) { .sp-article .sp-bw-study { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sp-article .sp-bw-cite { margin: 1.75rem 0 1rem; padding-left: 1.25rem; border-left: 2px solid var(--sp-sand); font-style: italic; color: #fff; }

/* Zitate: zentriert, groß, Sand-Strich oben */
.sp-article .sp-bw-pull { margin: 3.25rem 0; padding: 0; border: 0; text-align: center; font-family: var(--font-headline); font-weight: 800; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.2; letter-spacing: -0.02em; color: #fff; text-wrap: balance; }
.sp-article .sp-bw-pull::before { content: ''; display: block; width: 48px; height: 2px; margin: 0 auto 1.3rem; background: var(--sp-sand); }
.sp-article .sp-bw-myskja { margin: 3rem 0 2rem; text-align: center; font-family: var(--font-headline); font-weight: 700; font-size: clamp(1.2rem, 2.2vw, 1.45rem); line-height: 1.45; color: #fff; text-wrap: balance; }

/* Andrea: Foto und Zitat nebeneinander, Zitat groß */
.sp-article .sp-featured--photo { background: transparent; border: 0; padding: 0; align-items: center; }
@media (min-width: 768px) { .sp-article .sp-featured--photo { grid-template-columns: 260px minmax(0, 1fr); gap: 2.25rem; } }
.sp-article .sp-featured--photo img { max-width: 100%; border-color: var(--sp-card-b); }
.sp-article .sp-featured--photo blockquote { font-weight: 700; font-size: clamp(1.4rem, 2.6vw, 1.75rem); line-height: 1.3; letter-spacing: -0.015em; }

/* Stimmen im Text (Michèle, Anika): warme Fläche mit Porträt */
.sp-article .ar-voices { border-top: 0; }
.sp-article .ar-voice { padding: 1.5rem 1.6rem; border: 0; border-radius: 20px; background: rgba(233,199,154,0.08); }
@media (min-width: 768px) { .sp-article .ar-voice { grid-template-columns: 120px minmax(0, 1fr); } }

/* Drei Bausteine mit Plus dazwischen */
@media (min-width: 640px) {
  .sp-article .sp-bw-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.25rem; }
  .sp-article .sp-bw-steps .sp-step { position: relative; }
  .sp-article .sp-bw-steps .sp-step:not(:last-child)::after { content: '+'; position: absolute; right: -1.6rem; top: 50%; transform: translateY(-50%); font-family: var(--font-headline); font-weight: 800; font-size: 1.5rem; color: var(--sp-sand); }
}

/* Vier Kategorien: nummeriert, Hypnobreath hervorgehoben */
.sp-bw-kats { counter-reset: bwkat; }
.sp-bw-kats .sp-card { counter-increment: bwkat; }
.sp-bw-kats .sp-card .sp-h3::before { content: counter(bwkat); display: block; margin-bottom: 0.5rem; font-family: var(--sp-mono); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.14em; color: var(--sp-sand); }
.sp-article .sp-bw-kats .sp-card p { font-size: 1.02rem; line-height: 1.66; }
.sp-article .sp-bw-kat-hb { border: 2px solid var(--sp-sand); background: rgba(233,199,154,0.08); }

/* Tabellen: Häkchen für Ja/enthalten, Strich für Nein */
.sp-bw-table .yes { display: inline-flex; align-items: center; gap: 0.45rem; }
.sp-bw-table .yes::before { content: ''; flex: 0 0 auto; width: 6px; height: 11px; margin: -3px 2px 0 3px; border: solid var(--sp-teal); border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); }
.sp-bw-table .no { display: inline-flex; align-items: center; gap: 0.5rem; }
.sp-bw-table .no::before { content: ''; width: 12px; height: 2px; border-radius: 1px; background: var(--sp-mute); opacity: 0.6; }
.sp-bw-cmp th.is-feature { font-size: 1rem; }

/* Umsatz: rechte Spalte als Zahl, mobil gestapelt */
.sp-bw-rev td.is-feature { font-family: var(--font-headline); font-weight: 800; color: #fff; }
@media (max-width: 640px) {
  .sp-bw-rev thead { display: none; }
  .sp-bw-rev, .sp-bw-rev tbody, .sp-bw-rev tr, .sp-bw-rev th, .sp-bw-rev td { display: block; width: auto; }
  .sp-bw-rev tr { padding: 0.9rem 1.1rem; border-bottom: 1px solid var(--sp-line); }
  .sp-bw-rev tr:last-child { border-bottom: 0; }
  .sp-table.sp-bw-rev tbody th { position: static; background: none; padding: 0 0 0.2rem; border: 0; }
  .sp-bw-rev td { padding: 0; border: 0; }
  .sp-bw-rev td.is-feature { background: none; margin-top: 0.25rem; font-size: 1.1rem; }
}

/* Fünf Fragen: große Sand-Ziffern */
#worauf-achten { counter-reset: bwask; }
.sp-bw-ask { counter-increment: bwask; position: relative; padding-left: 3.6rem; }
.sp-bw-ask::before { content: counter(bwask); position: absolute; left: 0; top: 1.35rem; font-family: var(--font-headline); font-weight: 800; font-size: 2.6rem; line-height: 1; color: var(--sp-sand); }

/* Passt das zu dir: Liste statt Karten, Absage in warmer Fläche */
.sp-article .sp-bw-fit { display: grid; gap: 1rem; margin: 1.75rem 0 2.5rem; }
.sp-article .sp-bw-fit .sp-card { padding: 0; background: none; border: 0; }
.sp-article .sp-bw-fit .sp-card.sp-bw-no { padding: 1.5rem 1.6rem; border-radius: 20px; background: rgba(233,199,154,0.08); }
.sp-article .sp-bw-fit .sp-list { gap: 0; }
.sp-article .sp-bw-fit .sp-card:not(.sp-bw-no) .sp-list li { padding: 1.4rem 0 1.4rem 3.1rem; border-top: 1px solid var(--sp-line); }
.sp-article .sp-bw-fit .sp-list li { position: relative; }
.sp-article .sp-bw-fit .sp-list li::before { content: ''; position: absolute; left: 0; top: 1.45rem; width: 30px; height: 30px; border-radius: 50%; background: var(--sp-teal); }
.sp-article .sp-bw-fit .sp-list li::after { content: ''; position: absolute; left: 11px; top: calc(1.45rem + 7px); width: 6px; height: 12px; border: solid var(--sp-bg); border-width: 0 3px 3px 0; transform: rotate(45deg); }
.sp-article .sp-bw-fit .sp-bw-no .sp-list li { padding-left: 3.1rem; }
.sp-article .sp-bw-fit .sp-bw-no .sp-list li::before { top: 0.05rem; background: none; border: 2px solid var(--sp-red); box-sizing: border-box; }
.sp-article .sp-bw-fit .sp-bw-no .sp-list li::after { content: '×'; left: 0; top: 0.05rem; width: 30px; height: 30px; border: 0; transform: none; display: flex; align-items: center; justify-content: center; font-family: var(--font-headline); font-weight: 700; font-size: 1.15rem; line-height: 1; color: var(--sp-red); }
.sp-bw-fit .sp-list li strong { font-size: 1.2rem; color: #fff; background: none; }

/* Module: Übersicht zum Aufklappen, Langtext darin */
.sp-bw-mods { margin: 1.75rem 0 2.5rem; border-top: 1px solid var(--sp-line); }
.sp-bw-mod { border-bottom: 1px solid var(--sp-line); }
.sp-bw-mod summary { list-style: none; cursor: pointer; display: flex; gap: 1.1rem; align-items: flex-start; padding: 1.5rem 0; }
.sp-bw-mod summary::-webkit-details-marker { display: none; }
.sp-bw-mod__n { flex: 0 0 2.4rem; padding-top: 0.3rem; font-family: var(--sp-mono); font-size: 0.82rem; font-weight: 700; color: var(--sp-sand); }
.sp-bw-mod__b { flex: 1; min-width: 0; display: block; }
.sp-bw-mod__t { display: block; font-family: var(--font-headline); font-weight: 800; font-size: 1.35rem; line-height: 1.25; letter-spacing: -0.015em; color: #fff; }
.sp-bw-mod__d { display: block; margin-top: 0.35rem; font-size: 1.05rem; line-height: 1.6; color: var(--sp-soft); }
.sp-bw-mod__e { display: flex; gap: 0.55rem; align-items: flex-start; margin-top: 0.6rem; font-size: 0.95rem; font-weight: 600; line-height: 1.5; color: var(--sp-teal); }
.sp-bw-mod__e svg { flex: 0 0 15px; width: 15px; height: 15px; margin-top: 0.2rem; }
.sp-bw-mod__pl { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--sp-card-b); display: flex; align-items: center; justify-content: center; color: #fff; transition: transform 0.2s ease, background 0.2s ease; }
.sp-bw-mod__pl svg { width: 16px; height: 16px; }
.sp-bw-mod[open] .sp-bw-mod__pl { transform: rotate(45deg); background: #fff; color: var(--sp-bg); border-color: #fff; }
.sp-bw-mod summary:hover .sp-bw-mod__t { color: var(--sp-sand); }
.sp-bw-mod__body { padding: 0 0 1.75rem 3.5rem; }
.sp-article .sp-bw-mod__body > .sp-h3:first-child { margin-top: 0.25rem; }
.sp-article .sp-bw-mod__body .sp-bw-pull { margin: 2rem 0; text-align: left; }
.sp-article .sp-bw-mod__body .sp-bw-pull::before { margin-left: 0; }
.sp-article .sp-bw-mod__body .ar-photo, .sp-article .sp-bw-mod__body .sp-bw-fig { margin: 1.5rem 0; }

/* Werkzeuge: drei warme Flächen */
.sp-bw-tools { display: grid; gap: 1rem; margin: 1.25rem 0 2rem; }
.sp-bw-tool { padding: 1.5rem 1.6rem; border-radius: 20px; background: rgba(233,199,154,0.08); }
.sp-article .sp-bw-tool .sp-h3 { margin: 0 0 0.5rem; font-size: 1.2rem; }
.sp-article .sp-bw-tool p { margin: 0; font-size: 1.05rem; }

/* Rückfluss: große Zahl je Weg */
.sp-article .sp-bw-pay { list-style: none; margin: 1.5rem 0 2.5rem; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.85rem; }
@media (min-width: 560px) { .sp-article .sp-bw-pay { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sp-article .sp-bw-pay li { padding: 1.4rem 1.4rem 1.3rem; border-radius: 20px; background: rgba(233,199,154,0.08); font-size: 1.04rem; line-height: 1.5; color: #fff; }
.sp-bw-pay li b { display: block; margin-bottom: 0.55rem; font-family: var(--font-headline); font-weight: 800; font-size: 2.6rem; line-height: 1; letter-spacing: -0.03em; color: var(--sp-sand); }

/* Im Preis enthalten: zwei Spalten */
@media (min-width: 640px) { .sp-article .sp-bw-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem 2rem; } }

@media (max-width: 767px) {
  .sp-bw-mod__body { padding-left: 0; }
  .sp-bw-mod summary { gap: 0.75rem; }
  .sp-bw-mod__n { flex-basis: 1.8rem; }
  .sp-bw-mod__t { font-size: 1.2rem; }
  .sp-bw-ask { padding-left: 2.8rem; }
  .sp-bw-ask::before { font-size: 2.1rem; }
  .sp-article .ar-voice { padding: 1.25rem; }
}
@media (max-width: 359px) { .sp-article .sp-bw-study { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .sp-bw-mod__pl { transition: none; } }

/* Andrea: Screenshot ihrer Angebotsseite ganz zeigen, Zitat darunter */
.sp-article .sp-featured--photo { grid-template-columns: minmax(0, 1fr) !important; gap: 1.5rem; }
.sp-article .sp-featured--photo img { max-width: 100%; width: 100%; aspect-ratio: auto; height: auto; }
.sp-article .sp-featured--photo blockquote { text-align: center; text-wrap: balance; }
/* Studie: fünfte Kachel über die ganze Breite */
.sp-article .sp-bw-study .sp-kpi:last-child { grid-column: 1 / -1; }
/* Passt-Liste: Text etwas größer */
.sp-article .sp-bw-fit .sp-list li span { font-size: 1.06rem; line-height: 1.68; }

/* Dr. Audun Myskja: großes Porträt neben dem Zitat (18.10.2026) */
.sp-bw-expert { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; align-items: center; margin: 3.25rem 0 2.5rem; padding: 0; }
@media (min-width: 640px) { .sp-bw-expert { grid-template-columns: 240px minmax(0, 1fr); gap: 2.25rem; } }
.sp-article .sp-bw-expert img { display: block; width: 100%; max-width: 320px; height: auto; aspect-ratio: 1; object-fit: cover; object-position: 50% 20%; border-radius: 22px; border: 1px solid var(--sp-card-b); }
.sp-article .sp-bw-expert blockquote { margin: 0; padding: 0; border: 0; font-family: var(--font-headline); font-weight: 700; font-size: clamp(1.4rem, 2.6vw, 1.75rem); line-height: 1.3; letter-spacing: -0.015em; color: #fff; text-wrap: balance; }
.sp-bw-expert figcaption { margin-top: 1.1rem; font-size: 0.98rem; line-height: 1.5; color: var(--sp-mute2); }
.sp-bw-expert figcaption b { display: block; font-family: var(--font-headline); font-weight: 700; font-size: 1.05rem; color: var(--sp-sand); }
/* Porträts in den Trainer-Zitaten etwas größer */
.sp-article .sp-note__who img { width: 46px; height: 46px; flex-basis: 46px; }
/* Button zum Trainer-Verzeichnis */
.sp-article .sp-bw-cta { margin: 0 0 2rem; }
@media (max-width: 480px) { .sp-article .sp-bw-cta .sp-btn { width: 100%; } }

/* Hinweis auf die offizielle Ausbildungsseite */
.sp-article .sp-bw-official { margin: 0 0 2rem; padding: 1rem 1.25rem; border-radius: 16px; border: 1px solid rgba(233,199,154,0.45); background: rgba(233,199,154,0.08); font-size: 1rem; line-height: 1.6; }
.sp-article .sp-bw-official a { color: var(--sp-sand); font-weight: 600; white-space: nowrap; }

/* Forum-Post */
.sp-bw-post { margin: 1.5rem 0 2.5rem; padding: 1.5rem 1.6rem; border-radius: 20px; background: rgba(233,199,154,0.08); }
.sp-bw-post__who { display: flex; align-items: center; gap: 0.85rem; margin-bottom: 1rem; font-size: 0.92rem; line-height: 1.4; color: var(--sp-mute); }
.sp-bw-post__who img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.sp-bw-post__who b { display: block; color: #fff; font-size: 1.02rem; }
.sp-bw-post blockquote { margin: 0; padding: 0; border: 0; }
.sp-article .sp-bw-post blockquote p { margin: 0 0 0.85rem; font-size: 1.05rem; line-height: 1.65; }
.sp-article .sp-bw-post blockquote p:last-child { margin-bottom: 0; color: #fff; }
