/* ══════════ MODULE SHARED CSS — BipolarSite ══════════ */
/* Extracted from duplicated inline styles across 8 module pages */

/* ── Module Hero ── */
.module-hero {
  padding: calc(var(--nav-height) + var(--space-2xl)) 2rem var(--section-standard);
  position: relative; overflow: hidden;
}
.module-hero::before {
  display: none;
}
.module-hero-inner {
  max-width: var(--content-width); margin: 0 auto;
  position: relative; z-index: 2;
}

/* ── Breadcrumb on dark notfall hero – overrides shared.css default ── */
.hero.notfall-hero .breadcrumb {
  font-size: var(--text-xs); color: var(--white-text);
  margin-bottom: var(--space-md); display: flex; align-items: center; gap: var(--space-sm);
}
.hero.notfall-hero .breadcrumb a { color: var(--white-text-secondary); text-decoration: none; }
.hero.notfall-hero .breadcrumb a:hover { text-decoration: underline; color: var(--cta-primary-text); }

/* ── Hero Icon & Badge ── */
.hero-icon {
  width: 40px; height: 40px; color: var(--teal-light);
  opacity: 1; margin-bottom: var(--space-base); display: block;
}
.module-badge {
  display: inline-flex; align-items: center; gap: var(--space-sm);
  background: var(--success-soft); color: var(--navy);
  padding: 6px 16px; border-radius: var(--radius-round);
  font-size: var(--text-xs); font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase;
  margin-bottom: var(--space-md);
}
.module-hero h1 {
  font-family: 'DM Serif Display', serif;
  font-size: var(--text-3xl); font-weight: 400;
  line-height: 1.15; letter-spacing: -0.03em;
  color: var(--navy); margin-bottom: var(--space-md);
}

/* ── Module Meta ── */
.module-meta {
  display: flex; align-items: center; gap: var(--space-md);
  font-size: var(--text-sm); color: var(--text-soft); margin-bottom: var(--space-lg);
}
.module-meta span { display: flex; align-items: center; gap: 6px; }

/* ── Table of Contents ── */
.toc {
  background: var(--card); border: 1px solid var(--border-warm);
  border-radius: var(--card-radius); padding: var(--card-padding);
  margin-bottom: var(--group-gap);
}
.toc-title {
  font-size: var(--text-xs); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--navy-mid); margin-bottom: var(--space-base);
}
.toc ol {
  list-style: none; counter-reset: toc-counter;
  display: grid; grid-template-columns: 1fr 1fr; gap: 4px var(--grid-gap-tight);
}
.toc li { counter-increment: toc-counter; }
.toc li a {
  text-decoration: none; color: var(--slate); font-size: var(--text-base);
  display: block; padding: var(--space-sm) 0 var(--space-sm) 28px; position: relative;
  transition: color 0.2s;
}
.toc li a::before {
  content: counter(toc-counter); font-size: var(--text-xs); font-weight: 700;
  color: var(--teal-text); position: absolute; left: 0; top: 10px;
}
.toc li a:hover { color: var(--teal-text); }
.toc-desc {
  display: block; font-size: var(--text-xs); color: var(--text-soft);
  line-height: 1.5; margin-top: 2px; font-weight: 400;
}
.toc li a.active { color: var(--navy); font-weight: 700; }
.toc li a.active::after {
  content: ""; display: inline-block; width: 6px; height: 6px;
  border-radius: var(--radius-round); background: var(--teal);
  margin-left: var(--space-sm); vertical-align: middle;
}

/* ── Desktop Sticky TOC Sidebar ── */
.toc-sidebar {
  display: none;
}
@media (min-width: 1100px) {
  .toc-sidebar {
    display: block;
    position: fixed;
    top: 100px;
    left: max(16px, calc((100vw - 1060px) / 2 - 200px));
    width: 180px;
    max-height: calc(100vh - 140px);
    overflow-y: auto;
    font-size: var(--text-xs);
    line-height: 1.5;
    z-index: 10;
  }
  .toc-sidebar ol {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: toc-s;
  }
  .toc-sidebar li {
    counter-increment: toc-s;
  }
  .toc-sidebar a {
    display: block;
    padding: 6px 0 6px 20px;
    position: relative;
    text-decoration: none;
    color: var(--text-soft);
    transition: color 0.15s ease;
    border-left: 2px solid var(--border-warm);
  }
  .toc-sidebar a::before {
    content: counter(toc-s);
    position: absolute;
    left: 4px;
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--text-soft);
    top: 7px;
  }
  .toc-sidebar a:hover {
    color: var(--teal-text);
  }
  .toc-sidebar a.active {
    color: var(--navy);
    font-weight: 700;
    border-left-color: var(--navy-mid);
  }
  .toc-sidebar a.active::before {
    color: var(--navy-mid);
  }
}

/* ── Prose ── */
.content { max-width: var(--content-width); margin: 0 auto; padding: 0 2rem; }
.content h2 {
  scroll-margin-top: var(--section-wide);
  font-size: var(--text-2xl);
  margin: var(--section-standard) 0 var(--heading-gap-h2); padding-top: var(--content-gap);
  border-top: 1px solid var(--border-warm);
}
.content h2:first-of-type { border-top: none; margin-top: 0; }
.content h3 {
  font-size: var(--text-lg); line-height: 1.15;
  margin: var(--group-gap) 0 var(--heading-gap-h3);
}
.content p {
  font-size: var(--text-base); color: var(--slate);
  margin-bottom: var(--space-md); line-height: 1.75;
}
.content strong { color: var(--text); font-weight: 600; }

/* WCAG 1.4.1: Links in text blocks must not rely on color alone — default to underline */
.content p a,
.module-summary p a,
.after-step-body a,
.overview-footer-note a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }

/* Editorial drop cap — first paragraph after first h2 */
.content:not(.hub-content) h2:first-of-type + p::first-letter {
  font-family: 'DM Serif Display', serif;
  font-size: 3.2em;
  float: left;
  line-height: 0.85;
  padding-right: var(--space-sm);
  padding-top: 4px;
  color: var(--teal-cta);
}
@media (max-width: 600px) {
  .content:not(.hub-content) h2:first-of-type + p::first-letter { font-size: 2em; float: none; padding: 0; }
}

/* ── Quote Block ── [temp: pause] — Rosé accent for emotional content */
.quote-block {
  background: var(--rose-bg); border-radius: var(--card-radius);
  border-left: 2px solid var(--rose-border);
  padding: var(--temp-pause-padding); margin: var(--temp-pause-margin) 0; position: relative;
}
.quote-block::before {
  content: '«'; font-family: 'DM Serif Display', serif;
  font-size: 5.5rem; color: var(--rose); position: absolute;
  top: -8px; left: 16px; line-height: 1; opacity: 0.25;
  pointer-events: none;
}
.quote-block blockquote {
  font-family: 'DM Serif Display', serif;
  font-size: var(--text-lg); color: var(--text); /* #776c63 auf --surface-alt #F4F1EC = 4.54:1, WCAG AA */
  line-height: 1.75; padding-left: var(--space-lg);
}
.quote-block cite {
  display: block; margin-top: var(--space-md); padding-top: var(--space-base); font-style: normal;
  font-family: 'DM Sans', sans-serif;
  font-size: var(--text-xs); color: var(--rose-text); padding-left: var(--space-lg);
  border-top: 1px solid var(--rose-border);
}

/* ── Alert Box ── [temp: standard] */
.alert-box {
  background: var(--alert-soft); border: 1px solid var(--alert-red-border);
  border-radius: var(--card-radius); padding: var(--temp-standard-padding); margin: var(--temp-standard-margin) 0;
  display: flex; gap: var(--space-md); align-items: flex-start;
}
.alert-box-icon {
  width: 38px; height: 38px; border-radius: var(--radius-md); flex-shrink: 0;
  background: var(--alert-coral); color: var(--alert);
  display: flex; align-items: center; justify-content: center;
  font-size: var(--text-lg);
}
.alert-box p { font-size: var(--text-base); color: var(--slate); line-height: 1.75; }
.alert-box a { color: var(--alert); font-weight: 600; }

/* ── Reflection ── [temp: pause] — Rosé accent for self-reflection */
.reflection {
  background: var(--rose-bg);
  border: 1px solid var(--rose-soft);
  border-radius: var(--card-radius); padding: var(--temp-pause-padding); margin: var(--temp-pause-margin) 0;
  position: relative; overflow: hidden;
}
.reflection::before {
  display: none;
}
.reflection-label {
  font-size: var(--text-xs); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--rose-text); margin-bottom: var(--space-base);
}
.reflection h3 {
  font-size: var(--text-lg); line-height: 1.15;
  margin-bottom: var(--heading-gap-h3);
}
.reflection p {
  font-size: var(--text-base); color: var(--slate);
  line-height: 1.75; position: relative; z-index: 1; margin: 0;
}

/* ── Key Takeaways ── [temp: pause] */
.takeaways {
  background: var(--teal-cta-dark); color: var(--cta-primary-text);
  border-radius: var(--card-radius); padding: var(--temp-pause-padding); margin: var(--temp-pause-margin) 0;
  position: relative; overflow: hidden;
}
.takeaways::before {
  content: ''; position: absolute; inset: 0;
  display: none;
}
.takeaways-inner { position: relative; z-index: 2; }
.takeaways h2, .takeaways h3 {
  color: var(--cta-primary-text); font-family: 'DM Sans', sans-serif;
  font-size: var(--text-xl); font-weight: 600; margin-bottom: var(--space-lg);
}
.takeaway-item {
  display: flex; gap: 14px; align-items: flex-start;
  padding: var(--space-base) 0; border-top: 1px solid rgba(255,255,255,0.1);
}
.takeaway-item:first-of-type { border-top: none; }
/* Decorative bullet indicator — WCAG 1.4.3 "pure decoration" exception.
   Contrast 4.49:1 on --teal-cta-dark (0.01 below 4.5:1 threshold for text),
   but ✓ functions as a list marker, not semantic text content. */
.takeaway-check {
  width: 24px; height: 24px; border-radius: var(--radius-sm); flex-shrink: 0;
  background: rgba(255,255,255,0.15);
  display: flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); margin-top: 2px;
}
.takeaway-item p { font-size: var(--text-base); line-height: 1.75; color: var(--white-text); margin: 0; }
.takeaway-item strong { color: var(--cta-primary-text); }

.sources {
  background: var(--success-soft); border-radius: var(--card-radius);
  padding: var(--space-lg) var(--space-xl); margin: var(--temp-standard-margin) 0;
}
.sources-title {
  font-size: var(--text-xs); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--navy-mid); margin-bottom: var(--space-base);
}
.sources ul {
  list-style: none; max-height: 0; overflow: hidden;
  transition: max-height 0.5s ease;
}
.sources.sources-open ul { max-height: 2000px; }
.sources-title::after { content: " ▾"; font-size: var(--text-xs); opacity: 0.5; }
.sources.sources-open .sources-title::after { content: " ▴"; }
.sources li {
  font-size: var(--text-xs); color: var(--text-soft); padding: 6px 0 6px 16px;
  position: relative; line-height: 1.5;
}
.sources li::before {
  content: '·'; position: absolute; left: 0;
  font-weight: 700; color: var(--teal-light);
}
.sources-toggle {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; background: none; border: none; cursor: pointer;
  padding: 0; font: inherit; color: inherit; text-align: left;
}

/* ── Handouts ── [temp: dense] */
.handouts { margin: var(--temp-dense-margin) 0; }
.handouts-title {
  font-family: 'DM Sans', sans-serif; font-size: var(--text-lg); font-weight: 700;
  color: var(--navy-mid); margin-bottom: var(--space-md);
}
.handouts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--grid-gap-tight); }
.handout-card {
  background: var(--card); border: 1px solid var(--border-warm);
  border-radius: var(--card-radius); padding: 20px; text-decoration: none;
  color: var(--text); display: flex; align-items: center; gap: var(--space-md);
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}
.handout-card {
  position: relative;
}
.handout-card::after {
  content: '→';
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: var(--text-base);
  color: var(--teal-cta);
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.handout-card:hover { box-shadow: var(--shadow-soft); border-color: var(--teal-light); }
.handout-card:hover::after { opacity: 1; transform: translateY(-50%) translateX(3px); }
.handout-icon {
  width: 44px; height: 44px; border-radius: var(--radius-md); flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 700;
}
.handout-icon.green { background: var(--success-soft); color: var(--teal-text); }
.handout-icon.red { background: var(--alert-soft); color: var(--alert); }
.handout-card-title { font-weight: 600; font-size: var(--text-base); margin-bottom: 2px; }
.handout-card-sub { font-size: var(--text-xs); color: var(--text-soft); }
.handout-card-meta { margin-top: 6px; font-size: var(--text-xs); color: var(--teal-cta); font-weight: 600; line-height: 1.45; }
.handout-card-meta-secondary { margin-top: 3px; color: var(--text-soft); font-weight: 400; }

/* ── Next Module ── */
.next-module {
  margin: var(--section-standard) 0 0; border-top: 1px solid var(--border-warm);
  padding-top: var(--section-standard);
}
.next-module-card {
  background: var(--card); border: 1px solid var(--border-warm);
  border-radius: var(--card-radius); padding: var(--card-padding); text-decoration: none;
  color: var(--text); display: flex; align-items: center;
  justify-content: space-between; gap: var(--space-xl);
  transition: box-shadow 0.4s ease, transform 0.4s ease, border-color 0.4s ease;
}
.next-module-card:hover {
  box-shadow: var(--shadow-soft);
}
.next-module-label {
  font-size: var(--text-xs); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--navy-mid); margin-bottom: var(--space-sm);
}
.next-module-title {
  font-family: 'DM Sans', sans-serif; font-size: var(--text-xl); font-weight: 700;
  color: var(--navy-mid); margin-bottom: var(--space-sm);
}
.next-module-desc { font-size: var(--text-base); color: var(--text-soft); line-height: 1.5; }
.next-module-arrow {
  width: 56px; height: 56px; border-radius: var(--radius-round); flex-shrink: 0;
  background: var(--success-soft); color: var(--teal-text);
  display: flex; align-items: center; justify-content: center;
  font-size: var(--text-xl); transition: background-color 0.3s ease, color 0.3s ease;
}
.next-module-card:hover .next-module-arrow { background: var(--teal-cta); color: var(--cta-primary-text); }

/* ── Next Module Grid (Modul 8 dual-card layout) ── */
.next-module-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--grid-gap-standard); }
@media (max-width: 600px) { .next-module-grid { grid-template-columns: 1fr; } }

/* ── Action Grid (used in most modules) ── [temp: dense] */
.action-grid { display: grid; grid-template-columns: 1fr; gap: var(--grid-gap-tight); margin: var(--temp-dense-margin) 0; }
.action-card {
  background: var(--card); border: 1px solid var(--border-warm);
  border-radius: var(--card-radius); padding: var(--temp-dense-padding);
  display: flex; gap: 20px; align-items: flex-start;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.action-card:hover { box-shadow: var(--shadow-soft); }
.action-icon {
  width: 42px; height: 42px; border-radius: var(--radius-md);
  background: var(--success-soft); color: var(--teal-text);
  display: flex; align-items: center; justify-content: center;
  font-size: var(--text-xs); font-weight: 800; flex-shrink: 0;
}
.action-card h3 { font-size: var(--text-base); margin-bottom: var(--heading-gap-h4); color: var(--text); }
.action-card p { font-size: var(--text-xs); color: var(--text-soft); line-height: 1.5; margin: 0; }

/* ── Tool CTA (used in most modules) ── [temp: standard] */
.tool-cta {
  background: var(--card); border: 1px solid var(--border-warm-md);
  border-radius: var(--card-radius); padding: var(--temp-standard-padding); margin: var(--temp-standard-margin) 0;
  display: flex; gap: 20px; align-items: center;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none; color: inherit;
}
.tool-cta:hover { border-color: var(--teal-light); box-shadow: var(--shadow-soft); }
.tool-cta-icon {
  width: 52px; height: 52px; border-radius: var(--radius-lg);
  display: flex; align-items: center; justify-content: center;
  font-size: var(--text-xl); flex-shrink: 0;
}
.tool-cta-body h3 { font-size: var(--text-base); font-weight: 700; color: var(--text); margin: 0 0 4px; }
.tool-cta-body p { font-size: var(--text-xs); color: var(--text-soft); margin: 0 0 8px; line-height: 1.5; }
.tool-cta-btn {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: var(--text-xs); font-weight: 700; color: var(--teal-text);
  transition: color 0.2s;
}
.tool-cta:hover .tool-cta-btn { color: var(--cta-tertiary-hover); }

/* ── Mobile TOC Accordion ── */
.toc-mobile-toggle {
  display: none; /* hidden on desktop */
  width: 100%; background: none; border: none; cursor: pointer;
  font: inherit; font-size: var(--text-xs); font-weight: 600;
  color: var(--teal-text); padding: var(--space-sm) 0; text-align: left;
}
@media (max-width: 900px) {
  .toc-mobile-toggle { display: block; }
  .toc ol[hidden] { display: none !important; }
}

/* ── Module Summary (unified: was .tldr-card + .quick-summary) ── */
.module-summary {
  background: var(--success-soft);
  border: 1px solid var(--teal-accent-border);
  border-radius: var(--card-radius); padding: var(--card-padding);
  margin-bottom: var(--space-lg); position: relative;
}
.module-summary strong {
  font-size: var(--text-base); color: var(--teal-text); display: block; margin-bottom: var(--space-sm);
}
.module-summary p {
  font-size: var(--text-base); color: var(--text-soft); line-height: 1.75; margin-bottom: var(--space-sm);
}
.module-summary a {
  color: var(--teal-text); font-weight: 600; text-decoration: none;
  font-size: var(--text-xs);
}
.module-summary a:hover { text-decoration: underline; }
.module-summary ul {
  list-style: none; margin: 0; padding: 0;
}
.module-summary li {
  font-size: var(--text-base); color: var(--text-soft); line-height: 1.5;
  padding: 6px 0 6px 20px; position: relative;
}
.module-summary li::before {
  content: '→'; position: absolute; left: 0;
  color: var(--teal-text); font-weight: 700;
}

/* ── Expandable Sections ── */
.expandable-more[hidden] { display: none; }
.expandable-toggle {
  display: inline-block; background: none; border: none; cursor: pointer;
  font: inherit; font-size: var(--text-xs); font-weight: 600;
  color: var(--teal-text); padding: var(--space-sm) 0; margin-top: 4px;
}
.expandable-toggle:hover { color: var(--navy); }

/* ── Content Wide (for grids/visuals that need more than 720px) ── */
.content-wide {
  max-width: var(--content-width-wide);
  /* Break out of .content's 2rem padding on each side,
     then extend to content-width-wide centered */
  width: min(
    var(--content-width-wide),
    calc(100vw - 4rem)
  );
  margin-left: max(
    -2rem,
    calc((var(--content-width) - var(--content-width-wide)) / 2)
  );
  margin-right: max(
    -2rem,
    calc((var(--content-width) - var(--content-width-wide)) / 2)
  );
}

/* ── PDF Preview (used in modules with handouts) ── */
body.pdf-preview-open { overflow: hidden; }
.pdf-preview-overlay {
  position: fixed; inset: 0; z-index: 1000;
  background: var(--overlay-warm); padding: var(--space-lg);
  display: flex; align-items: center; justify-content: center;
}
.pdf-preview-overlay[hidden] { display: none; }
.pdf-preview-dialog {
  width: min(960px, 100%); max-height: calc(100vh - 48px);
  background: var(--bg); border: 1px solid var(--border-warm-md);
  border-radius: var(--card-radius);
  display: flex; flex-direction: column; overflow: hidden;
}
.pdf-preview-header {
  padding: 20px 24px 16px; border-bottom: 1px solid var(--border-warm-md);
  display: flex; gap: var(--space-md); justify-content: space-between; align-items: flex-start;
}
.pdf-preview-title {
  font-family: 'DM Sans', sans-serif; font-size: var(--text-lg); font-weight: 700;
  color: var(--navy);
}
.pdf-preview-sub {
  margin-top: 6px; font-size: var(--text-xs); color: var(--text-soft);
  max-width: 44ch; line-height: 1.5;
}
.pdf-preview-actions {
  display: flex; gap: 10px; align-items: center;
  flex-wrap: wrap; justify-content: flex-end;
}
.pdf-preview-link, .pdf-preview-close {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 40px; padding: 9px 14px; border-radius: var(--radius-md);
  font-size: var(--text-xs); font-weight: 600; text-decoration: none;
}
.pdf-preview-link { background: var(--success-soft); color: var(--navy); }
.pdf-preview-close {
  background: none; border: 1px solid var(--border-warm-md);
  color: var(--text); cursor: pointer;
}
.pdf-preview-body { padding: 18px 24px 24px; }
.pdf-preview-note { font-size: var(--text-xs); color: var(--text-soft); margin-bottom: var(--space-base); }
.pdf-preview-frame-wrap {
  background: var(--card); border: 1px solid var(--border-warm-md);
  border-radius: var(--radius-lg); overflow: hidden;
}
.pdf-preview-frame {
  display: block; width: 100%; height: 60vh; min-height: 420px;
  border: 0; background: var(--surface-alt);
}

/* ── Accordion (used in modules 1, 2, 4) ── [temp: dense] */
.accordion-group { margin: var(--temp-dense-margin) 0; }
.accordion-item {
  background: var(--card); border: 1px solid var(--border-warm-md);
  border-radius: var(--card-radius); margin-bottom: var(--space-base);
  overflow: hidden; transition: box-shadow 0.3s ease;
}
.accordion-item:hover { box-shadow: var(--shadow-soft); }
.accordion-header {
  width: 100%; padding: 22px 28px; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between;
  background: none; border: none; text-align: left;
  font-family: 'DM Sans', sans-serif;
}
.accordion-header-left { display: flex; align-items: center; gap: 14px; }
.accordion-icon-badge {
  width: 40px; height: 40px; border-radius: var(--radius-md);
  background: var(--success-soft); display: flex; align-items: center;
  justify-content: center; font-size: var(--text-base); color: var(--teal-text);
  flex-shrink: 0;
}
.accordion-title { font-weight: 700; font-size: var(--text-base); color: var(--text); }
.accordion-subtitle { font-size: var(--text-xs); color: var(--text-soft); margin-top: 2px; }
.accordion-chevron {
  width: 28px; height: 28px; border-radius: var(--radius-round); background: var(--success-soft);
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.35s ease, background-color 0.35s ease, color 0.35s ease;
  color: var(--teal-text); font-size: var(--text-xs); flex-shrink: 0;
}
.accordion-item.open .accordion-chevron { transform: rotate(180deg); background: var(--teal-light); }
.accordion-body {
  max-height: 0; overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.25,0.46,0.45,0.94);
}
.accordion-item.open .accordion-body { max-height: 2000px; }
.accordion-body-inner {
  padding: 0 28px 24px; font-size: var(--text-base);
  color: var(--slate); line-height: 1.75;
}
.accordion-body-inner p { margin-bottom: var(--space-base); }

/* ── Shared Responsive ── */
@media (max-width: 900px) {
  .toc ol { grid-template-columns: 1fr; }
  .handouts-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .pdf-preview-overlay { padding: var(--space-base); }
  .pdf-preview-dialog { max-height: calc(100vh - 24px); }
  .pdf-preview-header, .pdf-preview-body { padding-left: var(--space-md); padding-right: var(--space-md); }
  .pdf-preview-header { padding-top: var(--space-md); }
  .pdf-preview-actions { justify-content: flex-start; }
  .pdf-preview-link, .pdf-preview-close { width: 100%; }
  .pdf-preview-frame { height: 50vh; min-height: 320px; }
}
@media (max-width: 600px) {
  .module-hero { padding: var(--section-wide) 1.2rem var(--section-tight); }
  .module-hero .breadcrumb {
    display: none;
  }
  .module-hero-inner {
    max-width: 100%;
  }
  .module-meta {
    gap: var(--space-sm);
  }
  .content { padding: 0 1.2rem; }
  .content-wide {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .toc,
  .module-summary,
  .quote-block,
  .alert-box,
  .takeaways,
  .content-note,
  .bright-moment,
  .mini-plan {
    margin-left: 0;
    margin-right: 0;
  }
  .toc {
    padding: 18px;
  }
  .phase-tab {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    text-align: left;
  }
  .phase-tab-icon {
    margin-bottom: 0;
  }
  .next-module-card { flex-direction: column; text-align: center; }
  .takeaways { padding: var(--space-lg) var(--temp-standard-padding); }
  .action-card,
  .treatment-card,
  .loss-card,
  .mech-card,
  .wish-card,
  .coping-card,
  .barrier-card,
  .pillar-card,
  .age-card,
  .decision-path,
  .tool-link-card {
    padding: 18px;
  }
  /* Reduce pause temperature on small screens */
  .quote-block, .reflection, .takeaways, .bright-moment {
    margin-top: var(--temp-standard-margin);
    margin-bottom: var(--temp-standard-margin);
    padding: var(--temp-standard-padding);
  }
}

/* ── Reusable Utility Classes (replacing inline styles) ── */

/* Links */
.link-teal       { color: var(--teal-text); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.link-teal-bold  { color: var(--teal-text); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.link-alert      { color: var(--alert); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.link-alert-mid  { color: var(--alert); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.link-sand       { color: var(--white-text); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }

/* Text helpers */
.text-soft-sm    { font-size: var(--text-base); color: var(--text-soft); }
.text-soft-xs    { font-size: var(--text-xs); color: var(--text-soft); }
.text-italic-soft { margin-top: var(--space-base); font-style: italic; color: var(--text-soft); }

/* Phase header colors */
.phase-header--mania      { color: var(--amber); }
.phase-header--stable     { color: var(--phase-green); }
.phase-header--depression { color: var(--blue-phase); }

/* Tool CTA icon backgrounds */
.tool-cta-icon--neutral { background: var(--bg); }
.tool-cta-icon--phase-green   { background: var(--success-soft); }
.tool-cta-icon--amber   { background: var(--amber-bg); }
.tool-cta-icon--teal    { background: var(--success-soft); }
.tool-cta-icon--blue    { background: var(--blue-phase-light); }
.tool-cta-icon--alert    { background: var(--alert-soft); }

/* Treatment/step cards — horizontal layout */
.treatment-card--horizontal { display: flex; gap: 20px; align-items: flex-start; }
.treatment-card-icon--num   { font-size: var(--text-xs); font-weight: 800; }

/* Info callout (warm background box) [temp: dense] */
.info-callout {
  font-size: var(--text-base); color: var(--slate);
  background: var(--surface-alt);
  border: 1px solid var(--sand-border-light);
  border-radius: var(--card-radius);
  padding: var(--temp-dense-padding) 18px;
  margin: var(--temp-dense-margin) 0;
}

/* Reflection/narrative body text */
.reflection-body { font-style: normal; font-family: 'DM Sans', sans-serif; font-size: var(--text-base); margin-bottom: var(--space-base); }
.reflection-body:last-of-type { margin-bottom: 0; }
.reflection-cite { display: block; margin-top: 14px; font-size: var(--text-xs); color: var(--text-soft); font-style: italic; }

/* Hint note spacing variants */
.hint-note--spaced { margin-bottom: var(--space-md); }
.hint-note--spaced-lg { margin-bottom: var(--section-tight); }
.hint-note--tight { margin-top: var(--space-sm); }

/* Bright moment (positive break) */
.bright-moment {
  font-size: var(--text-base); color: var(--teal-text);
  margin-top: var(--space-sm);
}

/* Saeulen legend dots (pillar colors) */
.saeulen-legend-dot--1 { background: var(--teal); }
.saeulen-legend-dot--2 { background: var(--amber); }
.saeulen-legend-dot--3 { background: var(--slate); }
.saeulen-legend-dot--4 { background: var(--navy); }
.saeulen-legend-dot--5 { background: var(--old-blue-accent); }

/* Helper text inside cards */
.card-helper { font-size: var(--text-xs); color: var(--text-soft); }
.card-helper a { color: var(--teal-text); }

/* Anlaufstellen box */
.anlaufstellen-box h3 { margin: 0 0 var(--space-sm, 8px); font-size: var(--text-base); color: var(--navy); }
.anlaufstellen-box p  { margin: 0; font-size: var(--text-base); color: var(--slate); }
.anlaufstellen-box a  { color: var(--teal-text); }

/* Subsection Heading (visually smaller h2 for semantic hierarchy) */
.content h2.subsection-heading {
  font-size: var(--text-lg);
  font-weight: 600;
  margin-top: var(--section-tight);
  margin-bottom: var(--heading-gap-h3);
  border-top: none;
  padding-top: 0;
}

/* ── Module Accent Colors (per-module visual identity) ── */
/* Per-module accent: badge bg + color, toc border, h2 dividers
   Driven by [data-module-accent] attribute on module wrapper.
   L2 palette: light hero background, so badges use normal phase colors. */

/* Blue: Module 1 */
[data-module-accent="1"] .module-badge { background: var(--blue-phase-light); color: var(--blue-phase); }
[data-module-accent="1"] .toc { border-left: 3px solid var(--blue-phase-border); }
[data-module-accent="1"] .content h2 { border-top: 1px solid var(--blue-phase-subtle); }

/* Amber: Modules 2, 4, 5 */
[data-module-accent="2"] .module-badge,
[data-module-accent="4"] .module-badge,
[data-module-accent="5"] .module-badge { background: var(--amber-faint); color: var(--amber); }
[data-module-accent="2"] .toc,
[data-module-accent="4"] .toc,
[data-module-accent="5"] .toc { border-left: 3px solid var(--amber-border-accent); }
[data-module-accent="2"] .content h2,
[data-module-accent="4"] .content h2,
[data-module-accent="5"] .content h2 { border-top: 1px solid var(--amber-border-faint); }

/* Sand/Warm: Module 3 */
[data-module-accent="3"] .module-badge { background: var(--sand-faint); color: var(--sand-deep); }
[data-module-accent="3"] .toc { border-left: 3px solid var(--sand-border-accent); }
[data-module-accent="3"] .content h2 { border-top: 1px solid var(--sand-border); }

/* Green: Modules 6, 7 */
[data-module-accent="6"] .module-badge,
[data-module-accent="7"] .module-badge { background: var(--green-faint); color: var(--phase-green); }
[data-module-accent="6"] .toc,
[data-module-accent="7"] .toc { border-left: 3px solid var(--green-border-accent); }
[data-module-accent="6"] .content h2,
[data-module-accent="7"] .content h2 { border-top: 1px solid var(--green-subtle); }

/* Teal: Module 8 */
[data-module-accent="8"] .module-badge { background: var(--teal-subtle); color:var(--teal-text); }
[data-module-accent="8"] .toc { border-left: 3px solid var(--teal-accent-border-accent); }
[data-module-accent="8"] .content h2 { border-top: 1px solid var(--teal-accent-border-faint); }

/* ── Hint Note (teal left-border callout) ── */
.hint-note {
  font-size: var(--text-base);
  color: var(--text-soft);
  border-left: 3px solid var(--teal-border, var(--teal-accent-border-accent));
  padding: var(--space-base) 0 var(--space-base) var(--space-md);
}
.hint-note a { color: var(--teal-text); }
.hint-note--alert {
  border-left-color: var(--alert-red-border, var(--alert-coral-border));
}
.hint-note--alert a { color: var(--alert); }

/* quick-summary and tldr-card: now unified as .module-summary (see above) */

/* ── Bright Moment (positive counterweight) ── [temp: pause] */
.bright-moment {
  background: var(--green-light-bg);
  border: 1px solid var(--green-subtle);
  border-left: 4px solid var(--phase-green);
  border-radius: 0 var(--card-radius) var(--card-radius) 0;
  padding: var(--temp-pause-padding); margin: var(--temp-pause-margin) 0;
}
.bright-moment p,
p.bright-moment {
  font-family: 'DM Sans', sans-serif;
  font-size: var(--text-base); font-style: italic; color: var(--slate);
  line-height: 1.75; margin: 0;
}

/* ── Module Nav Bar (prev / overview / next) ── */
.module-nav {
  max-width: var(--content-width);
  margin: var(--section-tight) auto 0;
  padding: 0 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-base);
  font-size: var(--text-xs);
}
.module-nav a {
  text-decoration: none;
  color: var(--text-soft);
  padding: 8px 14px;
  border-radius: var(--radius-sm);
  transition: background-color 0.2s ease, color 0.2s ease;
  white-space: nowrap;
}
.module-nav a:hover {
  background: var(--surface-alt);
  color: var(--text);
}
.module-nav-prev::before { content: '← '; }
.module-nav-next::after { content: ' →'; }
.module-nav-center {
  font-weight: 500;
  color: var(--text-soft);
}
@media (max-width: 600px) {
  .module-nav { font-size: var(--text-xs); gap: 4px; padding: 0 1rem; }
  .module-nav a { padding: var(--space-sm); }
}

/* ── Centered CTA links (shortcut + escape) ── */
.continue-shortcut,
.next-module-escape {
  max-width: var(--content-width);
  padding: 0 2rem;
  text-align: center;
}
.continue-shortcut a,
.next-module-escape a {
  text-decoration: none;
}
.continue-shortcut a:hover,
.next-module-escape a:hover {
  text-decoration: underline;
}

.continue-shortcut {
  margin: var(--space-base) auto var(--space-lg);
}
.continue-shortcut a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--navy-mid);
  font-size: var(--text-sm);
  font-weight: 600;
}

.next-module-escape {
  margin: 12px auto 0;
  font-size: var(--text-xs);
}
.next-module-escape a {
  color: var(--text-soft);
}
.next-module-escape a:hover {
  color: var(--text);
}

/* ── Tool Links Block ── */
.tool-links {
  max-width: var(--content-width);
  margin: var(--space-xl) auto;
  padding: var(--card-padding);
  background: var(--surface-warm, #f7f2ea);
  border-radius: var(--card-radius);
  border-left: 4px solid var(--sand-deep);
}
.tool-links h2 {
  font-family: 'DM Sans', sans-serif;
  font-size: var(--text-lg);
  margin-bottom: var(--heading-gap-h3);
  color: var(--text);
}
.tool-links-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--grid-gap-tight);
}
.tool-link-card {
  display: flex;
  align-items: flex-start;
  gap: var(--grid-gap-tight);
  padding: 14px 16px;
  background: var(--card);
  border-radius: var(--card-radius);
  text-decoration: none;
  color: var(--text);
  border: 1px solid var(--border);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
.tool-link-card:hover {
  box-shadow: var(--shadow-soft);
  border-color: var(--sand-deep);
}
.tool-link-icon {
  font-size: var(--text-xl);
  flex-shrink: 0;
  margin-top: 2px;
}
.tool-link-title {
  font-weight: 600;
  font-size: var(--text-base);
  margin-bottom: 2px;
}
.tool-link-desc {
  font-size: var(--text-xs);
  color: var(--text-soft);
  line-height: 1.5;
}

/* ── Completion Block (M8) ── */
.completion-block {
  max-width: var(--content-width);
  margin: var(--section-tight) auto 0;
  padding: var(--card-padding);
  background: var(--success-soft);
  border-radius: var(--card-radius);
  border: 1px solid var(--green-border);
  text-align: center;
}
.completion-block h2 {
  font-family: 'DM Sans', sans-serif;
  font-size: var(--text-lg);
  color: var(--text);
  margin-bottom: var(--heading-gap-h4);
}
.completion-block > p {
  font-size: var(--text-base);
  color: var(--text-soft);
  line-height: 1.75;
  max-width: 60ch;
  margin: 0 auto 20px;
}
.completion-steps {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: var(--content-width-narrow);
  margin: 0 auto;
  text-align: left;
}
.completion-steps li {
  font-size: var(--text-xs);
  line-height: 1.5;
}
.completion-steps a {
  color: var(--teal-text);
  text-decoration: none;
  font-weight: 500;
}
.completion-steps a:hover { text-decoration: underline; }

/* ── Print Styles (module-specific additions) ── */
@media print {
  .next-module, .tool-cta, .sources-toggle,
  .pdf-preview-overlay, .module-nav,
  .next-module-escape, .completion-block { display: none !important; }
  .module-hero { padding-top: 20px; }
  .section, .quote-block, .reflection { page-break-inside: avoid; }
}

/* ═══════════════════════════════════════════════════════════
   NOTFALL PAGE STYLES
   Migrated from notfall/index.njk inline <style> (P2.2)
   ═══════════════════════════════════════════════════════════ */

/* ── Notfall Hero ── */
.notfall-hero{padding:var(--section-standard) 2rem var(--space-xl);position:relative;overflow:hidden}
.notfall-hero::before{content:'';position:absolute;inset:0;background:rgba(255,245,242,0.1)}
.hero-inner{max-width:var(--wide-width);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--grid-gap-standard);align-items:center;position:relative;z-index:2}
.hero-copy{text-align:left}
.notfall-hero h1{font-family:'DM Serif Display',serif;font-size:clamp(1.8rem, 3.2vw, 2.5rem);line-height:1.2;font-weight:400;color:var(--cta-primary-text);margin-bottom:var(--space-base)}
.notfall-hero p{font-size:var(--text-base);color:var(--white-text);max-width:60ch;margin:0 0 var(--space-md)}

/* ── Emergency Strip (Hero) ── */
.emergency-strip-hero{display:flex;gap:var(--grid-gap-tight);margin-bottom:var(--space-lg);flex-wrap:wrap}
.emergency-call{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:64px;padding:var(--space-base) var(--space-md);border-radius:var(--card-radius);text-decoration:none;text-align:center;transition:box-shadow 0.2s ease;flex:1;min-width:120px}
.emergency-call:hover{box-shadow:var(--card-shadow-hover)}
.emergency-call--red{background:var(--alert);color:var(--cta-primary-text)}
.emergency-call--outline{background:rgba(255,255,255,0.9);border:2px solid rgba(255,255,255,0.5);color:var(--emergency-dark)}
.emergency-call-num{font-size:var(--text-xl);font-weight:900;letter-spacing:-0.02em;line-height:1.15}
.emergency-call-label{font-size:var(--text-xs);font-weight:600;opacity:0.85;margin-top:2px;text-transform:uppercase;letter-spacing:0.04em}
.emergency-call--red .emergency-call-label{opacity:0.9}
@media(max-width:768px){
  .emergency-strip-hero{flex-direction:column}
  .emergency-call{min-height:56px;flex-direction:row;gap:var(--grid-gap-tight);padding:var(--space-base) var(--space-md)}
  .emergency-call-num{font-size:var(--text-xl)}
  .emergency-call-label{font-size:var(--text-xs)}
  .hero-visual{display:none}
}
.hero-visual{background:rgba(255,255,255,0.95);border:1px solid var(--alert-muted);border-radius:var(--card-radius);padding:var(--space-md);box-shadow:var(--shadow-card);min-width:0;overflow:hidden}
.hero-visual img{display:block;width:100%;height:auto;border-radius:var(--card-radius)}

/* ── Notfall Content ── */
.notfall-hero ~ .content h2{font-size:var(--text-xl);margin:var(--section-tight) 0 var(--heading-gap-h2);padding-top:var(--space-md);border-top:1px solid var(--border-warm)}
.notfall-hero ~ .content h2:first-of-type{border-top:none;margin-top:0}
.notfall-hero ~ .content h3{font-size:var(--text-lg);margin:var(--space-lg) 0 var(--heading-gap-h3)}
.notfall-hero ~ .content p{font-size:var(--text-base);color:var(--slate);margin-bottom:var(--space-md);line-height:1.7}
.notfall-hero ~ .content strong{color:var(--text);font-weight:600}

/* ── Situation Selector ── */
.situations{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap-tight);margin:0 0 var(--section-tight)}
.sit-card{display:flex;align-items:center;gap:var(--grid-gap-tight);padding:var(--space-md) var(--space-md);min-height:44px;border-radius:var(--card-radius);text-decoration:none;color:var(--text);border:1px solid var(--border-warm);transition:box-shadow 0.2s ease;background:var(--card)}
.sit-card:hover{box-shadow:var(--card-shadow-hover)}
.sit-card.urgent{border-color:var(--alert-red-border);background:var(--alert-soft)}
.sit-card.urgent:hover{border-color:var(--alert);box-shadow:var(--card-shadow-hover)}
.sit-badge{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:800;flex-shrink:0}
.sit-card.urgent .sit-badge{background:var(--alert-subtle);color:var(--alert)}
.sit-card:not(.urgent) .sit-badge{background:var(--alert-soft);color:var(--alert)}
.sit-text{font-size:var(--text-xs);line-height:1.5}
.sit-text strong{display:block;font-size:var(--text-base);margin-bottom:2px}
.sit-card.urgent .sit-text strong{color:var(--alert)}

/* ── Numbers Grid ── */
.numbers-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap-tight);margin:var(--space-lg) 0}
.number-card{background:var(--card);border:1px solid var(--border-warm);border-radius:var(--radius-md);padding:var(--space-md) var(--space-md);display:flex;align-items:center;gap:var(--grid-gap-tight);transition:box-shadow 0.2s ease;border-top:3px solid transparent;text-decoration:none;color:inherit}
.number-card:hover{box-shadow:var(--card-shadow-hover)}
.numbers-grid .number-card:nth-child(-n+2){background:var(--warm-pink-bg);border-color:var(--alert-subtle);border-top-color:var(--alert)}
.number-card strong{display:block;font-family:'DM Sans',sans-serif;font-size:var(--text-lg);font-weight:700;color:var(--alert)}
.number-label{font-size:var(--text-xs);color:var(--slate);line-height:1.5}
.number-sub{font-size:var(--text-xs);color:var(--text-soft)}

/* ── FU Alert ── */
.fu-alert{background:var(--alert-soft);border:2px solid var(--alert-red-border);border-radius:var(--card-radius);padding:var(--card-padding);margin:var(--space-xl) 0;display:flex;gap:20px;align-items:flex-start}
.fu-alert-icon{width:44px;height:44px;border-radius:var(--radius-sm);flex-shrink:0;background:var(--alert-subtle);color:var(--alert);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);font-weight:800}
.fu-alert h3{font-size:var(--text-base);color:var(--alert);margin:0 0 var(--heading-gap-h4)}
.fu-alert p{font-size:var(--text-base);color:var(--slate);line-height:1.5;margin:0 0 8px}
.fu-alert a{color:var(--alert);font-weight:600}
.fu-steps{display:grid;grid-template-columns:repeat(4, 1fr);gap:0;margin:12px 0 4px;border:1px solid var(--alert-red-border);border-radius:var(--radius-sm);overflow:hidden}
.fu-step{padding:12px 14px;display:flex;flex-direction:column;gap:5px;position:relative;background:var(--alert-faint)}
.fu-step:not(:last-child){border-right:1px solid var(--alert-red-border)}
.fu-step-num{width:22px;height:22px;border-radius:var(--radius-round);background:var(--alert);color:var(--cta-primary-text);font-size:var(--text-xs);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.fu-step-title{font-size:var(--text-xs);font-weight:700;color:var(--navy)}
.fu-step-body{font-size:var(--text-xs);color:var(--slate);line-height:1.5}
.fu-step-time{font-size:var(--text-xs);font-weight:700;color:var(--alert);margin-top:4px}
.fu-note{font-size:var(--text-xs);color:var(--slate);background:var(--alert-faint);border-radius:var(--radius-sm);padding:10px 14px;margin-top: var(--space-sm);line-height:1.5}
@media(max-width:600px){.fu-steps{grid-template-columns:1fr 1fr}.fu-step:nth-child(2){border-right:none}.fu-step:nth-child(n+3){border-top:1px solid var(--alert-red-border)}}

/* ── Mini Guides ── */
.guide{background:var(--card);border:1px solid var(--border-warm);border-radius:var(--card-radius);margin:var(--space-md) 0;overflow:hidden;transition:box-shadow 0.2s ease;border-left:4px solid transparent}.guide:hover{box-shadow:var(--card-shadow-hover)}
#guide-suizid,#guide-manie,#guide-psychose,#guide-gewalt{border-left-color:var(--alert)}
#guide-depression{border-left-color:var(--blue-phase)}
#guide-finanzen{border-left-color:var(--amber)}
.guide-header{width:100%;padding:var(--space-md) var(--space-lg);cursor:pointer;display:flex;align-items:center;justify-content:space-between;background:none;border:none;text-align:left;font-family:'DM Sans',sans-serif}
.guide-header-left{display:flex;align-items:center;gap:var(--grid-gap-tight)}
.guide-badge{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:800;flex-shrink:0}
.guide-badge.red{background:var(--alert-subtle);color:var(--alert)}
.guide-badge.amber{background:var(--amber-bg);color:var(--amber)}
.guide-badge.blue{background:var(--blue-phase-light);color:var(--blue-phase)}
.guide-title{font-weight:700;font-size:var(--text-base);color:var(--text)}
.guide-subtitle{font-size:var(--text-xs);color:var(--text-soft);margin-top:2px}
.guide-chevron{width:28px;height:28px;border-radius:var(--radius-round);background:var(--alert-soft);display:flex;align-items:center;justify-content:center;transition:background-color 0.2s ease,color 0.2s ease,transform 0.2s ease;color:var(--alert);font-size:var(--text-xs);flex-shrink:0}
.guide.open .guide-chevron{transform:rotate(180deg);background:var(--alert-red-light)}
.guide-body[hidden]{display:none}
.guide-body-inner{padding:0 var(--space-lg) var(--space-lg)}
.guide-body-inner ul{list-style:none;margin:0 0 var(--space-md)}
.guide-body-inner li{font-size:var(--text-base);color:var(--slate);padding:6px 0 6px 20px;position:relative;line-height:1.5}
.guide-body-inner li::before{content:'→';position:absolute;left:0;color:var(--alert);font-weight:700;font-size:var(--text-xs)}
.guide-do{background:var(--alert-soft);border-radius:var(--radius-md);padding:var(--space-base) var(--space-md);margin:var(--space-base) 0;font-size:var(--text-xs);color:var(--navy)}
.guide-dont{background:var(--alert-soft);border-radius:var(--radius-md);padding:var(--space-base) var(--space-md);margin:var(--space-base) 0;font-size:var(--text-xs);color:var(--alert)}
.guide-sos{background:var(--alert-soft);border:1px solid var(--alert-red-border);border-radius:var(--radius-md);padding:var(--space-base) var(--space-md);margin:var(--space-base) 0;font-size:var(--text-base);color:var(--alert);font-weight:600}
.guide-sos a{color:var(--alert);font-weight:700}
.guide-sos a[href^="tel:"]{display:inline-block;padding:6px 10px;margin:-6px;border-radius:var(--radius-sm);background:var(--alert-faint);min-height:44px;line-height:32px;text-decoration:underline}
.guide-link-meta{display:block;margin-top:4px;font-size:var(--text-xs);color:var(--text-soft);font-weight:400}
.guide-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--alert);text-decoration:none;font-weight:600;margin-top:8px}
.guide-context-hint{font-size:var(--text-xs);color:var(--text-soft);margin-top: var(--space-md);padding-top: var(--space-base);border-top:1px solid var(--border-warm)}

/* ── Grauzone ── */
.grauzone{background:var(--warm-pink-deep);border-radius:var(--card-radius);padding:var(--card-padding);margin:var(--group-gap) 0;border:1px solid var(--alert-subtle)}
.grauzone-h2{margin:0 0 var(--heading-gap-h2);padding:0;border:none;font-size:var(--text-xl)}
.grauzone-rule{background:var(--card);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin:var(--space-md) 0;font-size:var(--text-base);color:var(--navy);font-weight:600;line-height:1.5}
.grauzone-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--grid-gap-tight);margin:0 0 var(--space-md)}
.grauzone-card{background:var(--card);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column}
.grauzone-card-top{padding:var(--space-md) var(--space-md) var(--space-base);flex:1}
.grauzone-scenario{font-family:'DM Sans',sans-serif;font-size:var(--text-base);font-weight:700;color:var(--navy-mid);margin:0 0 var(--space-sm);line-height:1.5}
.grauzone-card-top p{font-size:var(--text-base);color:var(--slate);line-height:1.5;margin:0}
.grauzone-action{padding:var(--space-base) var(--space-md);font-size:var(--text-base);font-weight:600;line-height:1.5}
.grauzone-action--amber{background:var(--amber-bg);color:var(--amber-dark);border-top:2px solid var(--amber-border)}
.grauzone-action--teal{background:var(--alert-soft);color:var(--alert);border-top:2px solid var(--alert-red-border)}
.grauzone-action--red{background:var(--alert-soft);color:var(--alert);border-top:2px solid var(--alert-red-border)}
@media(max-width:600px){.grauzone-grid{grid-template-columns:1fr}}

/* ── Notfall Inline-Style Replacements ── */
.grauzone--hero{margin:var(--space-lg) 0 var(--space-xl)}
.content-note{font-size:var(--text-xs);color:var(--text-soft);margin-top:-4px}
.krisenplan-hint{font-size:var(--text-base);color:var(--alert);font-weight:600}
.krisenplan-hint a,.notfall-hero ~ .content .link-teal{color:var(--alert)}
.guide-body-inner .link-alert{color:var(--alert);font-weight:700}
.guide-body-inner .link-alert-mid{color:var(--alert);font-weight:600}
.guide-note{font-size:var(--text-base);color:var(--slate);margin-top:var(--space-base)}
.guide-note-small{font-size:var(--text-xs);color:var(--text-soft);margin-top:var(--space-base)}
.fu-details{margin-top:var(--space-base)}
.fu-summary{cursor:pointer;font-size:var(--text-xs);font-weight:600;color:var(--slate);padding:4px 0}
.fu-details-inner{margin-top:10px}
.fu-contact{margin-top:var(--space-base)}
.fu-alert-wrapper{margin:var(--space-xl) 0;border:2px solid var(--alert-red-border);border-radius:var(--card-radius);overflow:hidden}
.fu-alert-wrapper .fu-alert{border:none;border-radius:0;margin:0}
.fu-alert-summary{padding:18px 24px;cursor:pointer;display:flex;align-items:center;gap:var(--grid-gap-tight);font-family:'DM Sans',sans-serif;font-size:var(--text-base);font-weight:700;color:var(--alert);background:var(--alert-soft);list-style:none}
.fu-alert-summary::-webkit-details-marker{display:none}
.fu-alert-summary::after{content:'▸';margin-left:auto;transition:transform 0.2s ease;font-size:var(--text-xs)}
.fu-alert-wrapper[open] .fu-alert-summary::after{transform:rotate(90deg)}
.fu-alert-summary .fu-alert-icon{margin:0}
.content-footer{font-size:var(--text-base);color:var(--text-soft);text-align:center;margin-top:var(--space-xl)}
.content-footer-link{font-size:var(--text-base);text-align:center;margin-top:var(--space-md)}
.content-footer-link a{color:var(--alert);font-weight:600;text-decoration:none}
.content-footer-nav{font-size:var(--text-xs);color:var(--alert);text-align:center;margin-top:var(--space-md)}
.content-footer-nav a{color:var(--alert)}

/* ── After Steps ── */
.after-steps{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap-tight);margin:0 0 var(--space-lg)}
.after-step{display:flex;gap:var(--grid-gap-tight);align-items:flex-start;background:var(--surface-alt);border-radius:var(--radius-md);padding:var(--space-md)}
.after-step-num{flex-shrink:0;width:28px;height:28px;border-radius:var(--radius-round);background:var(--alert);color:var(--cta-primary-text);font-size:var(--text-xs);font-weight:700;display:flex;align-items:center;justify-content:center}
.after-step-body{display:flex;flex-direction:column;gap:4px}
.after-step-body strong{font-size:var(--text-base);color:var(--navy-mid);display:block}
.after-step-body span{font-size:var(--text-xs);color:var(--slate);line-height:1.5}
@media(max-width:600px){.after-steps{grid-template-columns:1fr}}

/* ── Notfall Responsive ── */
@media(max-width:768px){.hero-inner{grid-template-columns:1fr}.situations{grid-template-columns:1fr}.numbers-grid{grid-template-columns:1fr}}
@media(max-width:600px){
  .notfall-hero{padding:90px 1.2rem var(--space-xl)}
  .notfall-hero ~ .content{padding:0 1.2rem}
  .sit-card{padding:var(--space-base) var(--space-md);min-height:44px}
  .sit-text{font-size:var(--text-xs)}
  .sit-text strong{font-size:var(--text-base)}
  .numbers-grid .number-card{padding:var(--space-base) var(--space-md);min-height:44px}
  .guide-header{padding:var(--space-md);align-items:flex-start}
  .guide-header-left{gap:var(--grid-gap-tight);align-items:flex-start}
  .guide-badge{width:34px;height:34px;border-radius:var(--radius-sm);font-size:var(--text-xs)}
  .guide-title{font-size:var(--text-base);line-height:1.35}
  .guide-subtitle{display:none}
  .guide.open .guide-subtitle{display:block;margin-top:6px}
  .guide-chevron{margin-top:2px}
  .guide-body-inner{padding:0 var(--space-md) var(--space-md)}
  .guide-do,.guide-dont,.guide-sos{padding:var(--space-base) var(--space-base);font-size:var(--text-xs)}
  .fu-alert{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.notfall-hero ~ *{animation-duration:0.01ms!important;transition-duration:0.01ms!important}}

/* ── Notfall PDF Preview ── */
body.pdf-preview-open{overflow:hidden}
.pdf-preview-overlay{position:fixed;inset:0;z-index:1000;background:var(--overlay-warm);padding:var(--space-lg);display:flex;align-items:center;justify-content:center}
.pdf-preview-overlay[hidden]{display:none}
.pdf-preview-dialog{width:min(920px,100%);max-height:calc(100vh - 48px);background:var(--bg);border:1px solid var(--border-warm-md);border-radius:var(--card-radius);box-shadow:var(--shadow-card);display:flex;flex-direction:column;overflow:hidden}
.pdf-preview-header{padding:20px 24px 16px;border-bottom:1px solid var(--border-warm-md);display:flex;gap: var(--space-md);justify-content:space-between;align-items:flex-start}
.pdf-preview-title{font-family:'DM Sans',sans-serif;font-size:var(--text-lg);font-weight:700;color:var(--navy)}
.pdf-preview-sub{margin-top:6px;font-size:var(--text-xs);color:var(--text-soft);max-width:44ch;line-height:1.5}
.pdf-preview-actions{display:flex;gap:var(--grid-gap-tight);align-items:center;flex-wrap:wrap;justify-content:flex-end}
.pdf-preview-link,.pdf-preview-close{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;text-decoration:none}
.pdf-preview-link{background:var(--alert-soft);color:var(--navy)}
.pdf-preview-close{background:none;border:1px solid var(--border-warm-md);color:var(--text);cursor:pointer}
.pdf-preview-body{padding:18px 24px 24px}
.pdf-preview-note{font-size:var(--text-xs);color:var(--text-soft);margin-bottom:var(--space-base)}
.pdf-preview-frame-wrap{background:var(--card);border:1px solid var(--border-warm-md);border-radius:var(--card-radius);overflow:hidden}
.pdf-preview-frame{display:block;width:100%;height:60vh;min-height:420px;border:0;background:var(--surface-alt)}
@media(max-width:720px){.pdf-preview-overlay{padding:12px}.pdf-preview-dialog{max-height:calc(100vh - 24px)}.pdf-preview-header,.pdf-preview-body{padding-left: var(--space-md);padding-right:16px}.pdf-preview-header{padding-top:16px}.pdf-preview-actions{justify-content:flex-start}.pdf-preview-link,.pdf-preview-close{width:100%}.pdf-preview-frame{height:50vh;min-height:320px}}

/* ── Notfall Print ── */
@media print{
  #navbar,footer,.pdf-preview-overlay,.collapse-btn,.sit-grid-header{display:none!important}
  body{background:#fff!important;color:#000!important}
  .notfall-hero{padding-top:20px;background:none!important}
  .notfall-hero::before{display:none}
  .number-card{break-inside:avoid;border:1px solid #ccc;box-shadow:none}
  .number-val{font-size:var(--text-lg);font-weight:900}
  .sit-card{break-inside:avoid;border:1px solid #ccc;box-shadow:none}
  a[href]::after{content:" (" attr(href) ")";font-size:var(--text-xs);color:#666}
  @page{margin:2cm}
}

/* ═══════════════════════════════════════════════════════════
   MODULE-SPECIFIC STYLES
   Migrated from module templates inline style blocks (P2.3)
   ═══════════════════════════════════════════════════════════ */

/* ── Module 1: Phase Explorer ── */
.phase-explorer {
  background: var(--card); border: 1px solid var(--border-warm);
  border-radius: var(--radius-md); padding: 0; margin: var(--temp-dense-margin) 0;
  box-shadow: var(--shadow-card); overflow: hidden;
}
.phase-tabs {
  display: grid; grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid var(--border-warm);
}
.phase-tab {
  padding: 18px 16px; text-align: center; cursor: pointer;
  font-size: var(--text-xs); font-weight: 600; color: var(--text-soft);
  transition: background-color 0.3s ease, color 0.3s ease, border-bottom-color 0.3s ease; border: none; background: none;
  border-bottom: 3px solid transparent; position: relative;
}
.phase-tab:hover { background: rgba(45,40,35,0.02); }
.phase-tab.active-mania { color: var(--amber); border-bottom-color: var(--amber); background: var(--amber-bg); }
.phase-tab.active-stable { color: var(--phase-green); border-bottom-color: var(--phase-green); background: var(--success-soft); }
.phase-tab.active-depression { color: var(--blue-phase); border-bottom-color: var(--blue-phase); background: var(--blue-phase-light); }
.phase-tab-icon { font-size: var(--text-lg); display: block; margin-bottom: 4px; }
.phase-content { padding: var(--space-xl); display: none; }
.phase-content.visible { display: block; animation: fadeIn 0.4s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.phase-header {
  font-family: 'DM Sans', sans-serif; font-size: var(--text-lg); font-weight: 700;
  margin-bottom: 6px;
}
.phase-subtitle { font-size: var(--text-base); color: var(--text-soft); margin-bottom: var(--space-lg); }
.symptom-card {
  background: var(--bg); border-radius: var(--radius-sm);
  padding: 20px 24px; margin-bottom: 14px;
  border-left: 4px solid transparent;
}
.symptom-card.mania { border-left-color: var(--amber); }
.symptom-card.stable { border-left-color: var(--phase-green); }
.symptom-card.depression { border-left-color: var(--blue-phase); }
.symptom-title { font-weight: 700; font-size: var(--text-base); margin-bottom: 4px; }
.symptom-desc { font-size: var(--text-base); color: var(--slate); margin-bottom: var(--space-sm); }
.symptom-partner {
  font-size: var(--text-xs); color: var(--text-soft); font-style: italic;
  padding-left: 14px; border-left: 2px solid var(--border-warm-md);
}
.phase-note {
  background: var(--success-soft); border-radius: var(--radius-sm);
  padding: 16px 20px; margin-top: 20px; font-size: var(--text-base); color: var(--navy);
}
.phase-note strong { color: var(--navy); }

/* ── Module 1: Wave Chart ── */
.wave-chart-section {
  background: var(--card); border: 1px solid var(--border-warm);
  border-radius: var(--radius-md); padding: var(--space-xl); margin: var(--temp-dense-margin) 0;
  box-shadow: var(--shadow-soft);
}
.wave-chart-section h3 {
  font-size: var(--text-lg); margin-bottom: var(--heading-gap-h4);
}
.wave-chart-section > p { font-size: var(--text-base); color: var(--text-soft); margin-bottom: var(--space-lg); }
.wave-chart { width: 100%; margin-bottom: 20px; }
.wave-chart svg { width: 100%; height: auto; display: block; }
.wave-caption { font-size: var(--text-xs); color: var(--text-soft); line-height: 1.5; }

/* ── Module 1: Treatment Grid ── */
.treatment-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--grid-gap-tight); margin: var(--temp-dense-margin) 0;
}
.treatment-card {
  background: var(--card); border: 1px solid var(--border-warm);
  border-radius: var(--radius-md); padding: var(--temp-dense-padding);
  transition: box-shadow 0.2s ease;
}
.treatment-card:hover { box-shadow: var(--shadow-soft); }
.treatment-card-icon {
  width: 42px; height: 42px; border-radius: var(--radius-md);
  background: var(--success-soft); color: var(--teal-text);
  display: flex; align-items: center; justify-content: center;
  font-size: var(--text-base); margin-bottom: 14px; font-weight: 700;
}
.treatment-card h3 { font-size: var(--text-base); margin-bottom: var(--heading-gap-h4); color: var(--text); }
.treatment-card p { font-size: var(--text-xs); color: var(--text-soft); line-height: 1.5; }

/* ── Module 1: Diagnoseschock ── */
.neu-block {
  background: var(--bg);
  border-radius: var(--card-radius);
  padding: var(--space-2xl) var(--space-xl) var(--space-lg);
  margin-bottom: var(--space-2xl);
  border: 1px solid var(--border-warm-md);
}
.neu-kicker {
  font-size: var(--text-xs); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.1em; color: var(--teal-text); margin-bottom: var(--space-md);
}
.neu-title {
  font-family: 'DM Sans', sans-serif; font-size: var(--text-xl); font-weight: 700;
  color: var(--navy); margin-bottom: var(--space-sm, 14px); line-height: 1.15;
}
.neu-intro { color: var(--text); line-height: 1.7; margin-bottom: var(--space-lg); }
.neu-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--grid-gap-tight); margin-bottom: var(--space-lg); }
.neu-col-bad {
  background: var(--card); border: 1px solid var(--border-warm-md);
  border-radius: var(--radius-md); padding: var(--space-md) 18px;
}
.neu-col-good {
  background: var(--card); border: 1px solid var(--border-warm-md);
  border-radius: var(--radius-md); padding: var(--space-md) 18px;
}
.neu-col-label {
  font-size: var(--text-xs); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; margin-bottom: var(--space-sm);
}
.neu-col-bad .neu-col-label { color: var(--rose-text); }
.neu-col-good .neu-col-label { color: var(--teal-text); }
.neu-col-list { font-size: var(--text-base); color: var(--text-soft); line-height: 1.7; padding-left: var(--space-md); margin: 0; }
.neu-col-list li { margin-bottom: 5px; }
.neu-col-list li:last-child { margin-bottom: 0; }
.neu-fragen {
  background: var(--card); border: 1px solid var(--border-warm-md);
  border-radius: var(--radius-md); padding: var(--space-md) 18px;
  margin-bottom: var(--space-md);
}
.neu-fragen-label {
  font-size: var(--text-xs); font-weight: 700; color: var(--navy);
  text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: var(--space-md);
}
.neu-fragen-list { font-size: var(--text-base); color: var(--text); line-height: 1.75; padding-left: 18px; margin: 0; }
.neu-fragen-list li { margin-bottom: 7px; }
.neu-fragen-list li:last-child { margin-bottom: 0; }
.neu-cta {
  display: flex; align-items: center; gap: var(--space-sm, 14px);
  background: var(--teal-cta-dark); border-radius: var(--radius-md);
  padding: var(--space-sm, 14px) 18px; margin-bottom: var(--space-lg);
}
.neu-cta-icon { font-size: var(--text-lg); flex-shrink: 0; color: var(--white-text); }
.neu-cta-label {
  font-size: var(--text-xs); font-weight: 700; color: var(--white-text);
  text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 2px;
}
.neu-cta-text { font-size: var(--text-base); color: var(--cta-primary-text); font-weight: 600; }
.neu-cta-sub { font-size: var(--text-xs); color: var(--white-text); margin-top: 2px; }
.neu-footer { text-align: center; font-size: var(--text-xs); color: var(--slate); }
@media (max-width: 768px) { .neu-grid { grid-template-columns: 1fr; } }

/* ── Module 2: Bar Chart ── */
.bar-chart { margin: var(--space-xl) 0 20px; }
.bar-item { margin-bottom: var(--space-md); }
.bar-top { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 6px; }
.bar-label { font-size: var(--text-base); color: var(--slate); line-height: 1.5; }
.bar-pct { font-size: var(--text-xs); font-weight: 700; color: var(--teal-text); font-variant-numeric: tabular-nums; }
.bar-pct.warm-text { color: var(--amber); }
.bar-track { width: 100%; height: 12px; background: var(--success-soft); border-radius:var(--radius-round); overflow: hidden; }
.bar-fill { height: 100%; border-radius:var(--radius-round); transition: width 1.2s cubic-bezier(0.25,0.46,0.45,0.94); width: 0%; }
.bar-fill.sage { background: var(--teal); }
.bar-fill.warm { background: var(--sand); }
.bar-caption { font-size: var(--text-xs); color: var(--text-soft); margin-top: var(--space-base); line-height: 1.5; }

/* ── Module 2: Eisberg Visual ── */
.eisberg-section { background: var(--card); border: 1px solid var(--border-warm); border-radius: var(--radius-md); padding: var(--space-xl); margin: var(--temp-dense-margin) 0; box-shadow: var(--shadow-soft); }
.eisberg-visual { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 24px 0; border-radius: var(--radius-md); overflow: hidden; }
.eisberg-top { background: var(--success-soft); padding: var(--space-lg); border-bottom: 2px dashed var(--teal-light); }
.eisberg-bottom { background: var(--blue-phase-light); padding: var(--space-lg); }
.eisberg-top, .eisberg-bottom { grid-column: 1 / -1; }
.eisberg-label { font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: var(--space-base); }
.eisberg-top .eisberg-label { color: var(--teal-text); }
.eisberg-bottom .eisberg-label { color: var(--blue-phase); }
.eisberg-items { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.eisberg-tag { font-size: var(--text-xs); padding: 6px 14px; border-radius:var(--radius-round); font-weight: 500; }
.eisberg-top .eisberg-tag { background: var(--teal-light); color: var(--navy); }
.eisberg-bottom .eisberg-tag { background: var(--blue-phase-subtle); color: var(--blue-phase); }

/* ── Module 2: Cycle Diagram ── */
.cycle-section { background: var(--card); border: 1px solid var(--border-warm); border-radius: var(--radius-md); padding: var(--space-xl); margin: var(--temp-dense-margin) 0; box-shadow: var(--shadow-soft); }
.cycle-svg-wrap { max-width: 380px; margin: 0 auto var(--space-lg); }
.cycle-svg-wrap svg { width: 100%; height: auto; display: block; }
.cycle-steps { display: grid; grid-template-columns: 1fr 1fr; gap: var(--grid-gap-tight); margin: 0 0 var(--space-md); }
.cycle-step { padding: 18px; border-radius: var(--radius-sm); }
.cycle-step-num { font-size: var(--text-xs); font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 6px; }
.cycle-step p { font-size: var(--text-base); line-height: 1.5; margin: 0; }
.cycle-step.step-1 { background: var(--amber-bg); }
.cycle-step.step-1 .cycle-step-num { color: var(--amber); }
.cycle-step.step-1 p { color: var(--amber); }
.cycle-step.step-2 { background: var(--warm-pink-rose); }
.cycle-step.step-2 .cycle-step-num { color: var(--alert); }
.cycle-step.step-2 p { color: var(--amber-dark-text); }
.cycle-step.step-3 { background: var(--blue-phase-light); }
.cycle-step.step-3 .cycle-step-num { color: var(--blue-phase); }
.cycle-step.step-3 p { color: var(--slate-cool); }
.cycle-step.step-4 { background: var(--success-soft); }
.cycle-step.step-4 .cycle-step-num { color: var(--teal-text); }
.cycle-step.step-4 p { color: var(--navy); }
.cycle-note { background: var(--success-soft); border-radius: var(--radius-sm); padding: 16px 20px; margin-top: var(--space-md); font-size: var(--text-base); color: var(--navy); }

/* ── Module 2: Do/Don't Grid ── */
.do-dont { display: grid; grid-template-columns: 1fr 1fr; gap: var(--grid-gap-tight); margin: var(--temp-dense-margin) 0; }
.do-col, .dont-col { border-radius: var(--radius-md); padding: var(--space-lg); }
.do-col { background: var(--success-soft); border: 1px solid var(--teal-light); }
.dont-col { background: var(--warm-pink-soft); border: 1px solid var(--alert-red-border); }
.do-col h4, .dont-col h4 { font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 14px; }
.do-col h4 { color: var(--teal-text); }
.dont-col h4 { color: var(--alert); }
.do-col ul, .dont-col ul { list-style: none; }
.do-col li, .dont-col li { font-size: var(--text-base); padding: 6px 0 6px 20px; position: relative; line-height: 1.5; }
.do-col li { color: var(--navy); }
.dont-col li { color: var(--amber-dark-text); }
.do-col li::before { content: '\2713'; position: absolute; left: 0; color: var(--teal-text); font-weight: 700; }
.dont-col li::before { content: '\2717'; position: absolute; left: 0; color: var(--alert); font-weight: 700; }

/* ── Module 2: Pause Box ── */
.pause-box { background: var(--surface-alt); border-radius: var(--radius-md); padding: var(--temp-pause-padding) var(--space-lg); margin: var(--temp-pause-margin) 0; text-align: center; }
.pause-box p { font-size: var(--text-base); color: var(--slate); margin: 0; }

/* ── Module 3: Timeline ── */
.timeline-section { background: var(--card); border: 1px solid var(--border-warm); border-radius: var(--radius-md); padding: var(--space-xl); margin: var(--temp-dense-margin) 0; box-shadow: var(--shadow-soft); }
.timeline { position: relative; padding-left: var(--space-xl); margin: var(--space-lg) 0; }
.timeline::before { content: ''; position: absolute; left: 12px; top: 0; bottom: 0; width: 2px; background: var(--teal-light); border-radius: 1px; }
.timeline-item { position: relative; padding-bottom: var(--space-lg); }
.timeline-item:last-child { padding-bottom: 0; }
.timeline-dot { position: absolute; left: -27px; top: 4px; width: 14px; height: 14px; border-radius: var(--radius-round); border: 2.5px solid var(--teal); background: var(--card); }
.timeline-item:last-child .timeline-dot { border-color: var(--amber); background: var(--amber-bg); }
.timeline-label { font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--teal-text); margin-bottom: 4px; }
.timeline-item:last-child .timeline-label { color: var(--amber); }
.timeline-text { font-size: var(--text-base); color: var(--slate); line-height: 1.5; }

/* ── Module 3: Erosion ── */
.erosion-section { background: var(--card); border: 1px solid var(--border-warm); border-radius: var(--radius-md); padding: var(--space-xl); margin: var(--temp-dense-margin) 0; box-shadow: var(--shadow-soft); }
.erosion-section h3 { font-size: var(--text-lg); margin-bottom: var(--heading-gap-h4); }
.erosion-section > p { font-size: var(--text-base); color: var(--text-soft); margin-bottom: var(--space-lg); }
.erosion-chart { width: 100%; margin-bottom: 20px; }
.erosion-chart svg { width: 100%; height: auto; display: block; }
.erosion-caption { font-size: var(--text-xs); color: var(--text-soft); line-height: 1.5; }
.erosion-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--grid-gap-tight); margin: var(--temp-dense-margin) 0; }
.erosion-card { padding: 22px; border-radius: var(--radius-md); }
.erosion-card h3 { font-size: var(--text-base); margin-bottom: var(--heading-gap-h4); }
.erosion-card p { font-size: var(--text-base); line-height: 1.5; margin: 0; }
.erosion-card.trust { background: var(--blue-phase-light); }
.erosion-card.trust h3 { color: var(--blue-phase); }
.erosion-card.trust p { color: var(--slate); }
.erosion-card.intimacy { background: var(--amber-bg); }
.erosion-card.intimacy h3 { color: var(--amber); }
.erosion-card.intimacy p { color: var(--amber); }
.erosion-card.lightness { background: var(--success-soft); }
.erosion-card.lightness h3 { color: var(--teal-text); }
.erosion-card.lightness p { color: var(--navy); }

/* ── Module 3: Emergency Strip ── */
.emergency-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--grid-gap-tight); margin: var(--temp-dense-margin) 0; }
.emergency-card {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: 18px 12px; border-radius: var(--radius-md); text-decoration: none;
  background: var(--success-soft); border: 1px solid var(--teal-light);
  transition: box-shadow 0.25s ease, border-color 0.25s ease; cursor: pointer;
}
.emergency-card:hover { box-shadow: var(--shadow-card); }
.emergency-card.emergency-urgent { background: var(--alert-soft); border-color: var(--alert-red-border); }
.emergency-card.emergency-urgent .emergency-num { color: var(--alert); }
.emergency-card.emergency-urgent .emergency-label { color: var(--alert); }
.emergency-num { font-size: var(--text-lg); font-weight: 800; color: var(--navy); letter-spacing: -0.02em; margin-bottom: 4px; }
.emergency-label { font-size: var(--text-xs); font-weight: 700; color: var(--teal-text); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 2px; }
.emergency-sub { font-size: var(--text-xs); color: var(--text-soft); }

/* ── Module 3: Taboo Items ── */
.taboo-item { background: var(--card); border: 1px solid var(--border-warm-md); border-radius: var(--radius-md); padding: 22px 26px; margin-bottom: 14px; border-left: 4px solid var(--alert-red-border); }
.taboo-item h3 { font-size: var(--text-base); color: var(--text); margin-bottom: var(--heading-gap-h4); }
.taboo-item p { font-size: var(--text-base); color: var(--slate); line-height: 1.5; margin: 0; }

/* ── Module 4: Selftest, Glaswand, Loss, Phase, Mechanism, Kids, Age ── */
.selftest{background:var(--card);border:1px solid var(--border-warm);border-radius:var(--radius-md);padding:var(--space-xl);margin:var(--temp-dense-margin) 0;box-shadow:var(--card-shadow)}
.selftest .selftest-heading{font-size:var(--text-lg);margin-bottom:var(--heading-gap-h4)}
.selftest>p{font-size:var(--text-xs);color:var(--text-soft);margin-bottom:var(--space-lg)}
.glaswand{background:var(--blue-phase-light);border-radius:var(--radius-md);padding:var(--space-xl);margin:var(--temp-dense-margin) 0;text-align:center}
.glaswand-visual{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin:24px 0;font-size:var(--text-base);color:var(--blue-phase)}
.glaswand-wall{width:3px;height:80px;background:var(--blue-phase);opacity:0.4;border-radius:1.5px;margin:0 20px}
.glaswand-side{text-align:center}
.glaswand-side strong{display:block;font-size:var(--text-xs);color:var(--blue-phase);margin-bottom:4px}
.glaswand-side span{font-size:var(--text-xs);color:var(--slate)}
.glaswand-quote{font-family:'DM Serif Display',serif;font-size:var(--text-base);color:var(--rose-text);margin-top:20px;line-height:1.5}
.loss-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap-tight);margin:var(--temp-dense-margin) 0}
.loss-card{background:var(--card);border:1px solid var(--border-warm);border-radius:var(--radius-md);padding:22px;border-left:4px solid var(--blue-phase)}
.loss-card h3{font-size:var(--text-base);color:var(--blue-phase);margin-bottom:var(--heading-gap-h4)}
.loss-card p{font-size:var(--text-base);color:var(--slate);line-height:1.5;margin:0}
.phase-cards{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--grid-gap-tight);margin:var(--temp-dense-margin) 0}
.phase-card{padding: var(--space-lg);border-radius:var(--radius-md);border-top:4px solid transparent}
.phase-card.p1{background:var(--amber-bg);border-top-color:var(--amber)}
.phase-card.p2{background:var(--alert-soft);border-top-color:var(--alert)}
.phase-card.p3{background:var(--blue-phase-light);border-top-color:var(--blue-phase)}
.phase-card-label{font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:var(--space-sm)}
.phase-card.p1 .phase-card-label{color:var(--amber)}
.phase-card.p2 .phase-card-label{color:var(--alert)}
.phase-card.p3 .phase-card-label{color:var(--blue-phase)}
.phase-card h3{font-size:var(--text-base);color:var(--text);margin-bottom:var(--heading-gap-h4)}
.phase-card p{font-size:var(--text-base);line-height:1.5;margin:0}
.phase-card.p1 p{color:var(--amber)}
.phase-card.p2 p{color:var(--alert)}
.phase-card.p3 p{color:var(--slate)}
.chart-section{background:var(--card);border:1px solid var(--border-warm);border-radius:var(--radius-md);padding:var(--space-xl);margin:var(--temp-dense-margin) 0;box-shadow:var(--card-shadow)}
.chart-section h3{font-size:var(--text-lg);margin-bottom:var(--heading-gap-h4)}
.chart-section>p{font-size:var(--text-base);color:var(--text-soft);margin-bottom:var(--space-lg)}
.chart-wrap svg{width:100%;height:auto;display:block}
.chart-caption{font-size:var(--text-xs);color:var(--text-soft);line-height:1.5;margin-top:16px}
.mech-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap-tight);margin:var(--temp-dense-margin) 0}
.mech-card{background:var(--card);border:1px solid var(--border-warm);border-radius:var(--radius-md);padding:24px}
.mech-card h3{font-size:var(--text-base);color:var(--text);margin-bottom:var(--heading-gap-h4)}
.mech-card p{font-size:var(--text-base);color:var(--slate);line-height:1.5;margin:0 0 10px}
.mech-card .mech-result{font-size:var(--text-xs);color:var(--alert);font-weight:600}
.identity-signs{list-style:none;margin:20px 0}
.identity-signs li{font-size:var(--text-base);color:var(--slate);padding:10px 0 10px 24px;position:relative;border-bottom:1px solid var(--border-warm)}
.identity-signs li::before{content:'\2014';position:absolute;left:0;color:var(--teal-light);font-weight:700}
.kids-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap-tight);margin:var(--temp-dense-margin) 0}
.kids-col{padding: var(--space-lg);border-radius:var(--radius-md)}
.kids-col.perceive{background:var(--alert-soft);border:1px solid var(--alert-red-border)}
.kids-col.need{background:var(--success-soft);border:1px solid var(--teal-light)}
.kids-col h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:var(--heading-gap-h3)}
.kids-col.perceive h3{color:var(--alert)}
.kids-col.need h3{color:var(--teal-text)}
.kids-col ul{list-style:none}
.kids-col li{font-size:var(--text-base);padding:5px 0 5px 18px;position:relative;line-height:1.5}
.kids-col.perceive li{color:var(--alert)}
.kids-col.need li{color:var(--navy)}
.kids-col.perceive li::before{content:'\2022';position:absolute;left:0;color:var(--alert)}
.kids-col.need li::before{content:'\2713';position:absolute;left:0;color:var(--teal-cta);font-weight:700}
.age-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--grid-gap-tight);margin:16px 0 24px}
.age-card{background:var(--card);border:1px solid var(--border-warm-md);border-radius:var(--radius-md);padding:20px 18px}
.age-card h4{font-size:var(--text-base);color:var(--navy);margin:var(--heading-gap-h4) 0 var(--heading-gap-h4)}
.age-card p{font-size:var(--text-base);line-height:1.5;color:var(--slate);margin:0 0 8px}.age-card p:last-child{margin:0}
.age-label{display:inline-flex;background:var(--success-soft);color:var(--teal-cta-dark);padding:3px 10px;border-radius:var(--radius-round);font-size:var(--text-xs);font-weight:700;letter-spacing:0.08em;text-transform:uppercase}

/* ── Module 5: Tension, Stigma, Barriers, Decision, Stat ── */
.tension{display:grid;grid-template-columns:1fr auto 1fr;gap:0;margin:var(--temp-dense-margin) 0;align-items:stretch}
.tension-col{padding: var(--space-lg);border-radius:var(--radius-md)}
.tension-left{background:var(--amber-bg);border-radius:var(--radius-md) 0 0 var(--radius-md)}
.tension-right{background:var(--blue-phase-light);border-radius:0 var(--radius-md) var(--radius-md) 0}
.tension-vs{display:flex;align-items:center;justify-content:center;padding:0 16px;font-weight:800;font-size:var(--text-xs);color:var(--text-soft);background:var(--bg)}
.tension-col h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:var(--heading-gap-h3)}
.tension-left h3{color:var(--amber)}
.tension-right h3{color:var(--blue-phase)}
.tension-col ul{list-style:none}
.tension-col li{font-size:var(--text-base);padding:5px 0;line-height:1.5}
.tension-left li{color:var(--amber)}
.tension-right li{color:var(--slate)}
.cycle-step.s1{background:var(--surface-alt)}.cycle-step.s1 .cycle-step-num{color:var(--amber-dark)}.cycle-step.s1 p{color:var(--amber-dark-text)}
.cycle-step.s2{background:var(--amber-bg)}.cycle-step.s2 .cycle-step-num{color:var(--amber)}.cycle-step.s2 p{color:var(--amber)}
.cycle-step.s3{background:var(--alert-soft)}.cycle-step.s3 .cycle-step-num{color:var(--alert)}.cycle-step.s3 p{color:var(--alert)}
.cycle-step.s4{background:var(--blue-phase-light)}.cycle-step.s4 .cycle-step-num{color:var(--blue-phase)}.cycle-step.s4 p{color:var(--slate)}
.stigma-cards{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--grid-gap-tight);margin:var(--temp-dense-margin) 0}
.stigma-card{padding:22px;border-radius:var(--radius-md);border-top:4px solid}
.stigma-card.cognitive{background:var(--purple-light);border-top-color:var(--purple-mid)}
.stigma-card.affective{background:#fff5f3;border-top-color:var(--alert)}
.stigma-card.behavioral{background:var(--blue-phase-light);border-top-color:var(--blue-phase)}
.stigma-card h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:var(--heading-gap-h4)}
.stigma-card.cognitive h3{color:var(--purple-dark)}
.stigma-card.affective h3{color:var(--alert)}
.stigma-card.behavioral h3{color:var(--blue-phase)}
.stigma-card p{font-size:var(--text-base);line-height:1.5;margin:0}
.stigma-card.cognitive p{color:var(--purple-dark)}
.stigma-card.affective p{color:var(--alert)}
.stigma-card.behavioral p{color:var(--slate)}
.barrier-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap-tight);margin:var(--temp-dense-margin) 0}
.barrier-card{background:var(--card);border:1px solid var(--border-warm-md);border-radius:var(--radius-md);padding:22px;transition:box-shadow 0.3s}
.barrier-card:hover{box-shadow:var(--shadow-soft)}
.barrier-label{font-size:var(--text-xs);font-weight:800;color:var(--amber);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:6px}
.barrier-card h3,.barrier-card h4{font-size:var(--text-base);color:var(--text);margin-bottom:var(--heading-gap-h4)}
.barrier-card p{font-size:var(--text-base);color:var(--slate);line-height:1.5;margin:0}
.decision-paths{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap-standard);margin:var(--space-xl) 0}
.decision-path{padding:var(--space-lg);border-radius:var(--radius-md);position:relative}
.decision-path.stay{background:var(--success-soft);border:1px solid var(--teal-light)}
.decision-path.leave{background:var(--surface-alt);border:1px solid var(--sand)}
.decision-path h3{font-size:var(--text-lg);margin-bottom:var(--heading-gap-h3)}
.decision-path.stay h3{color:var(--navy)}
.decision-path.leave h3{color:var(--slate)}
.decision-path ul{list-style:none}
.decision-path li{font-size:var(--text-base);padding:5px 0 5px 18px;position:relative;line-height:1.5}
.decision-path.stay li{color:var(--navy)}
.decision-path.leave li{color:var(--slate)}
.decision-path.stay li::before{content:'\2713';position:absolute;left:0;color:var(--teal-cta);font-weight:700}
.decision-path.leave li::before{content:'\2192';position:absolute;left:0;color:var(--sand);font-weight:700}
.stat-box{background:var(--card);border:1px solid var(--border-warm);border-radius:var(--radius-md);padding:var(--space-lg);margin:var(--temp-dense-margin) 0;display:flex;align-items:center;gap:var(--space-lg);box-shadow:var(--card-shadow)}
.stat-num{font-family:'DM Serif Display',serif;font-size:var(--text-2xl);font-weight:400;color:var(--amber);flex-shrink:0;line-height:1}
.stat-text{font-size:var(--text-base);color:var(--slate);line-height:1.5}

/* ── Module 6: Ampel, Section Card, Steps, Comm Rules, Situations, Grenzen, Einsicht, Stabil-Prio, Grenz-Formel ── */
.section-group-label{font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:0.14em;color:var(--navy-mid);margin:var(--section-standard) 0 -8px;padding-top:var(--space-md)}
.ampel{display:grid;grid-template-columns:repeat(4, 1fr);gap:var(--grid-gap-tight);margin:var(--temp-dense-margin) 0}
.ampel-card{padding:var(--space-lg);border-radius:var(--radius-md);border-top:5px solid}
.ampel-card.green{background:var(--success-soft);border-top-color:var(--phase-green)}
.ampel-card.amber{background:var(--amber-bg);border-top-color:var(--amber)}
.ampel-card.red{background:var(--alert-soft);border-top-color:var(--alert)}
.ampel-card.slate{background:var(--surface-alt);border-top-color:var(--slate)}
.ampel-card.slate .ampel-label{color:var(--slate)}
.ampel-label{font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:10px}
.ampel-card.green .ampel-label{color:var(--phase-green)}
.ampel-card.amber .ampel-label{color:var(--amber)}
.ampel-card.red .ampel-label{color:var(--alert)}
.ampel-card h3{font-size:var(--text-base);color:var(--text);margin-bottom:var(--heading-gap-h4)}
.ampel-card p{font-size:var(--text-base);line-height:1.5;margin:0}
.ampel-card.green p{color:var(--navy)}
.ampel-card.amber p{color:var(--amber)}
.ampel-card.red p{color:var(--alert)}
.section-card{background:var(--card);border:1px solid var(--border-warm);border-radius:var(--radius-md);padding:var(--space-xl);margin:var(--temp-dense-margin) 0;box-shadow:var(--card-shadow)}
.section-card h3{font-size:var(--text-lg);margin-bottom:var(--heading-gap-h3)}
.section-card p{font-size:var(--text-base);color:var(--slate);line-height:1.75}
.decision-visual{margin:var(--space-lg) 0 var(--space-xl);background:var(--card);border:1px solid var(--border-warm);border-radius:var(--card-radius);padding:20px;box-shadow:var(--card-shadow)}
.decision-visual img{display:block;width:100%;height:auto;border-radius:var(--radius-sm)}
.decision-visual p{font-size:var(--text-base);color:var(--slate);line-height:1.5;margin:12px 4px 0}
.step-list{list-style:none;counter-reset:step-counter;margin:20px 0}
.step-list li{counter-increment:step-counter;padding:14px 0 14px 48px;position:relative;font-size:var(--text-base);color:var(--slate);line-height:1.75;border-bottom:1px solid var(--border-warm)}
.step-list li::before{content:counter(step-counter);position:absolute;left:0;top:14px;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--success-soft);color:var(--teal-text);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:800}
.situation-card{background:var(--card);border:1px solid var(--border-warm);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-md)}
.situation-card h4{font-size:var(--text-base);font-weight:700;color:var(--text);margin-bottom:10px}
.situation-card .response{font-size:var(--text-base);color:var(--navy);background:var(--success-soft);padding:var(--space-base) var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-sm);line-height:1.5}
.situation-card .avoid{font-size:var(--text-xs);color:var(--alert);font-weight:500}
.grenz-example{background:var(--card);border:1px solid var(--border-warm);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:14px}
.grenz-bad{font-size:var(--text-base);color:var(--alert);margin-bottom: var(--space-sm);padding:10px 14px;background:var(--alert-soft);border-radius:var(--radius-sm)}
.grenz-good{font-size:var(--text-base);color:var(--navy);padding:10px 14px;background:var(--success-soft);border-radius:var(--radius-sm);margin-bottom:var(--space-sm)}
.grenz-why{font-size:var(--text-xs);color:var(--text-soft);line-height:1.5}
.einsicht-compare{display:grid;grid-template-columns:repeat(2, 1fr);gap:0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;margin:var(--space-lg) 0}
.einsicht-col{display:flex;flex-direction:column}
.einsicht-col:first-child{border-right:1px solid var(--border)}
.einsicht-col-header{padding:16px 20px;display:flex;flex-direction:column;gap:4px}
.einsicht-col-header--red{background:var(--alert-soft);border-bottom:1px solid var(--alert-red-border)}
.einsicht-col-header--amber{background:var(--amber-bg);border-bottom:1px solid var(--amber-border)}
.einsicht-tag{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--text)}
.einsicht-col-header strong{font-size:var(--text-base);color:var(--navy-mid)}
.einsicht-col-header span:last-child{font-size:var(--text-xs);color:var(--text-soft)}
.einsicht-row{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px}
.einsicht-row:last-child{border-bottom:none}
.einsicht-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-soft)}
.einsicht-value{font-size:var(--text-base);color:var(--slate);line-height:1.5}
.einsicht-value.do-list,.einsicht-value.dont-list{display:flex;flex-direction:column;gap:4px}
.einsicht-value.do-list span{color:var(--navy-mid)}
.einsicht-value.dont-list span{color:var(--text-soft)}
.einsicht-row--dont{background:var(--overlay-barely)}
.stabil-prio{display:grid;grid-template-columns:repeat(3, 1fr);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;margin:16px 0 24px}
.stabil-prio-col{display:flex;flex-direction:column}
.stabil-prio-col:not(:last-child){border-right:1px solid var(--border)}
.stabil-prio-header{padding:10px 16px;background:var(--surface-alt);border-bottom:1px solid var(--border);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-soft);display:flex;align-items:center;gap:var(--space-sm)}
.stabil-prio-num{width:18px;height:18px;border-radius:var(--radius-round);background:var(--teal-cta);color:var(--cta-primary-text);font-size:var(--text-xs);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.stabil-prio-num--2{background:var(--amber)}
.stabil-prio-num--3{background:var(--slate)}
.stabil-prio-items{padding:var(--space-base) var(--space-md);display:flex;flex-direction:column;gap:10px}
.stabil-prio-item strong{font-size:var(--text-base);color:var(--navy-mid);display:block;margin-bottom:2px}
.stabil-prio-item span{font-size:var(--text-xs);color:var(--text-soft);line-height:1.5}
.grenz-formel{background:var(--surface-alt);border-radius:var(--radius-md);padding:18px 22px;margin:0 0 20px}
.grenz-formel-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-soft);margin-bottom:10px}
.grenz-formel-parts{display:grid;grid-template-columns:repeat(3, 1fr);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}
.grenz-part{padding:12px 14px;display:flex;flex-direction:column;gap:5px}
.grenz-part:not(:last-child){border-right:1px solid var(--border)}
.grenz-part--ich{background:var(--success-soft)}
.grenz-part--konsequenz{background:var(--amber-bg)}
.grenz-part--rueckkehr{background:var(--card)}
.grenz-part-tag{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.05em}
.grenz-part--ich .grenz-part-tag{color:var(--teal-cta)}
.grenz-part--konsequenz .grenz-part-tag{color:var(--amber-dark)}
.grenz-part--rueckkehr .grenz-part-tag{color:var(--slate)}
.grenz-part-example{font-size:var(--text-base);line-height:1.5;color:var(--navy-mid);font-style:italic}
.grenz-part-note{font-size:var(--text-xs);color:var(--text-soft);line-height:1.5}

/* ── Module 7: Selfcare, Coping, Pillar, Wish, Trialog, Nachkrise, PTG, Emotion Timeline, Saeulen Pentagon ── */
.selfcare-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--grid-gap-tight);margin:var(--temp-dense-margin) 0}
.selfcare-card{padding:var(--space-lg);border-radius:var(--radius-md);border-top:4px solid}
.selfcare-card.body{background:var(--blue-phase-light);border-top-color:var(--blue-phase)}
.selfcare-card.soul{background:var(--amber-bg);border-top-color:var(--amber)}
.selfcare-card.relation{background:var(--success-soft);border-top-color:var(--phase-green)}
.selfcare-card h4{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:var(--heading-gap-h3)}
.selfcare-card.body h4{color:var(--blue-phase)}.selfcare-card.soul h4{color:var(--amber)}.selfcare-card.relation h4{color:var(--phase-green)}
.selfcare-card ul{list-style:none}.selfcare-card li{font-size:var(--text-base);padding:4px 0;line-height:1.5}
.selfcare-card.body li{color:var(--slate)}.selfcare-card.soul li{color:var(--amber)}.selfcare-card.relation li{color:var(--navy)}
.coping-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap-tight);margin:var(--temp-dense-margin) 0}
.coping-card{background:var(--card);border:1px solid var(--border-warm);border-radius:var(--radius-md);padding:22px}
.coping-card h4{font-size:var(--text-base);color:var(--text);margin-bottom:var(--heading-gap-h3)}
.coping-card ul{list-style:none}.coping-card li{font-size:var(--text-base);color:var(--slate);padding:3px 0 3px 16px;position:relative;line-height:1.5}
.coping-card li::before{content:'\00B7';position:absolute;left:0;color:var(--teal-light);font-weight:700}
.pillar-cards{display:grid;grid-template-columns:1fr;gap:var(--grid-gap-tight);margin:var(--temp-dense-margin) 0}
.pillar-card{background:var(--card);border:1px solid var(--border-warm);border-radius:var(--radius-md);padding:22px 26px;display:flex;gap:18px;align-items:flex-start;transition:border-color 0.2s ease,box-shadow 0.2s ease}
.pillar-card:hover{box-shadow:var(--shadow-soft)}
.pillar-num{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--success-soft);color:var(--teal-text);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:800;flex-shrink:0}
.pillar-card h3{font-size:var(--text-base);color:var(--text);margin-bottom:4px}
.pillar-card p{font-size:var(--text-base);color:var(--slate);line-height:1.5;margin:0}
.wish-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap-tight);margin:var(--temp-dense-margin) 0}
.wish-card{background:var(--card);border:1px solid var(--border-warm);border-radius:var(--radius-md);padding:22px;border-left:4px solid var(--sand)}
.wish-card h4{font-size:var(--text-base);margin-bottom:var(--heading-gap-h4)}
.wish-card p{font-size:var(--text-base);color:var(--slate);line-height:1.5;margin:0;font-style:italic}
.trialog-visual{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--grid-gap-tight);margin:var(--temp-dense-margin) 0}
.trialog-card{text-align:center;padding: var(--space-lg);border-radius:var(--radius-md);background:var(--card);border:1px solid var(--border-warm)}
.trialog-card .trialog-icon{font-size:var(--text-xl);margin-bottom:10px}
.trialog-card h3{font-size:var(--text-base);color:var(--text);margin-bottom:var(--heading-gap-h4)}
.trialog-card p{font-size:var(--text-xs);color:var(--text-soft);line-height:1.5;margin:0}
.nachkrise-items{list-style:none;margin:20px 0}
.nachkrise-items li{font-size:var(--text-base);color:var(--slate);padding:var(--space-sm) 0 var(--space-sm) var(--space-lg);position:relative;line-height:1.5;border-bottom:1px solid var(--border-warm)}
.nachkrise-items li::before{content:'\2014';position:absolute;left:0;color:var(--amber);font-weight:700}
.ptg-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap-tight);margin:var(--temp-dense-margin) 0}
.ptg-card{background:var(--success-soft);border-radius:var(--radius-sm);padding:18px;text-align:center}
.ptg-card .ptg-icon{font-size:var(--text-lg);margin-bottom:6px}
.ptg-card p{font-size:var(--text-base);color:var(--navy);line-height:1.5;margin:0}
.resource-box{background:var(--success-soft);border:1px solid var(--teal-border,var(--teal-accent-border-md));border-radius:var(--radius-md);padding:var(--space-lg);margin:var(--temp-dense-margin) 0}
.example-block{background:var(--bg);border-radius:var(--radius-md);padding:20px 24px;margin:20px 0}
.example-label{font-size:var(--text-xs);font-weight:700;color:var(--navy-mid);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:14px}
.example-items{display:flex;flex-direction:column;gap:var(--grid-gap-tight)}
.example-item{display:flex;align-items:flex-start;gap:var(--grid-gap-tight)}
.example-item p{margin:0;font-size:var(--text-base);line-height:1.5;color:var(--navy)}
.example-tag{width:24px;height:24px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;flex-shrink:0;margin-top:1px}
.example-tag.ok{background:var(--success-soft);color:var(--phase-green)}
.example-tag.no{background:var(--alert-soft);color:var(--alert)}
.emotion-timeline{background:var(--surface-alt);border-radius:var(--radius-md);padding:var(--space-lg);margin:var(--space-lg) 0}
.etl-header{font-size:var(--text-xs);font-weight:600;color:var(--text-soft);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:20px}
.etl-track{display:flex;align-items:flex-start;gap:0;position:relative}
.etl-phase{display:flex;flex-direction:column;align-items:center;flex:1;gap:var(--space-sm)}
.etl-connector{flex:1;height:2px;background:var(--border);margin-top:13px;min-width:12px}
.etl-time{font-size:var(--text-xs);font-weight:700;color:var(--text-soft);text-align:center;white-space:nowrap}
.etl-dot{width:14px;height:14px;border-radius:var(--radius-round);flex-shrink:0;border:2px solid white;box-shadow:0 0 0 1px var(--border)}
.etl-dot--high{background:var(--amber)}
.etl-dot--mid{background:var(--slate)}
.etl-dot--low{background:var(--teal-light)}
.etl-emotions{display:flex;flex-direction:column;align-items:center;gap:4px}
.etl-em{font-size:var(--text-xs);font-weight:500;padding:2px 8px;border-radius:var(--radius-sm);text-align:center;white-space:nowrap}
.etl-em--high{background:var(--amber-bg);color:var(--amber-dark)}
.etl-em--mid{background:rgba(71,85,105,0.08);color:var(--slate)}
.etl-em--low{background:var(--success-soft);color:var(--teal-cta)}
.etl-note{font-size:var(--text-xs);color:var(--text-soft);font-style:italic;margin-top: var(--space-md);padding-top:14px;border-top:1px solid var(--border)}
@media(max-width:600px){
  .etl-track{flex-direction:column;align-items:flex-start;gap:0}
  .etl-connector{width:2px;height:16px;min-width:unset;margin:0 0 0 19px}
  .etl-phase{flex-direction:row;align-items:center;gap:var(--space-base);width:100%}
  .etl-emotions{flex-direction:row;flex-wrap:wrap;justify-content:flex-start}
}
.saeulen-pentagon{background:var(--surface-alt);border-radius:var(--radius-md);padding:20px 24px 16px;margin:20px 0 8px;display:flex;flex-direction:column;align-items:center}
.saeulen-legend{display:grid;grid-template-columns:repeat(5, 1fr);gap:6px;width:100%;max-width:440px;margin-top:14px}
.saeulen-legend-item{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--slate);line-height:1.5}
.saeulen-legend-dot{width:16px;height:16px;border-radius:var(--radius-round);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--cta-primary-text);font-size:var(--text-xs);font-weight:700}
@media(max-width:480px){.saeulen-legend{grid-template-columns:1fr 1fr}}
.coping-nav{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--grid-gap-tight);margin:16px 0 8px}
.coping-nav-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;display:flex;flex-direction:column;gap:4px;background:var(--card)}
.coping-nav-item--problem{border-top:3px solid var(--teal)}
.coping-nav-item--emotion{border-top:3px solid var(--amber)}
.coping-nav-item--bedeutung{border-top:3px solid var(--slate)}
.coping-nav-need{font-size:var(--text-xs);font-style:italic;color:var(--text-soft);line-height:1.5}
.coping-nav-arrow{font-size:var(--text-xs);color:var(--text-soft);margin-top:2px}
.coping-nav-label{font-size:var(--text-base);font-weight:700;color:var(--navy-mid)}

/* ── Module 8: Insight, System, Action overrides, Anlaufstellen, Downloads, Material Finder, Mini Plan, Closing ── */
[data-module-accent="8"] .module-hero::before{content:'';position:absolute;top:-30%;right:-15%;width:700px;height:700px;border-radius:var(--radius-round);display:none}
[data-module-accent="8"] .module-hero-inner{max-width:1120px;margin:0 auto;position:relative;z-index:2}
[data-module-accent="8"] .module-hero-aside{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--border-warm);display:grid;grid-template-columns:minmax(0,0.96fr) minmax(320px,0.84fr);gap:var(--grid-gap-standard);align-items:start}
[data-module-accent="8"] .module-hero-aside .toc{margin-bottom:0}
.module-hero-copy{min-width:0}
.module-hero-visual{background:var(--card);border:1px solid var(--sand-border);border-radius:var(--card-radius);padding:18px;box-shadow:var(--card-shadow)}
.module-hero-visual img{display:block;width:100%;height:auto;border-radius:var(--radius-sm)}
.module-hero-note{background:var(--surface-alt);border:1px solid var(--border-warm);border-radius:var(--card-radius);padding:var(--space-lg)}
.module-hero-note p{font-size:var(--text-base);line-height:1.7;color:var(--slate);margin:0}
.module-hero-note p + p{margin-top:var(--space-sm)}
.module-hero-note strong{color:var(--navy)}
.toc-note{font-size:var(--text-xs);color:var(--text-soft);line-height:1.5;margin-top:14px}
.insight-grid{display:block;margin:24px 0 34px;border-top:1px solid var(--border-warm-md)}
.insight-card{background:transparent;border:none;border-bottom:1px solid var(--border-warm-md);border-radius:0;padding:18px 0;display:flex;gap:18px;align-items:flex-start;transition:none;box-shadow:none}
.insight-card:hover{box-shadow:none}
.insight-num{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--sand-faint);color:var(--sand-ink);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:800;flex-shrink:0}
.insight-card h3{font-size:var(--text-base);color:var(--text);margin-bottom:4px}
.insight-card p{font-size:var(--text-base);color:var(--slate);line-height:1.5;margin:0}
.system-items{list-style:none;margin:20px 0}
.system-items li{font-size:var(--text-base);color:var(--slate);padding:10px 0 10px 24px;position:relative;line-height:1.5;border-bottom:1px solid var(--border-warm)}
.system-items li::before{content:'\2014';position:absolute;left:0;color:var(--alert);font-weight:700}
[data-module-accent="8"] .action-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--grid-gap-tight);margin:var(--temp-dense-margin) 0}
[data-module-accent="8"] .action-card{background:var(--card);border:1px solid var(--border-warm);border-radius:var(--radius-md);padding: var(--space-lg);display:flex;gap:20px;align-items:flex-start;transition:border-color 0.2s ease,box-shadow 0.2s ease;box-shadow:none}[data-module-accent="8"] .action-card:hover{box-shadow:var(--shadow-soft)}
[data-module-accent="8"] .action-icon{width:42px;height:42px;border-radius:var(--radius-md);background:rgba(221,210,191,0.4);color:var(--sand-deep);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:800;flex-shrink:0}
.action-grid--steps{display:block;margin:var(--temp-dense-margin) 0;border-top:1px solid var(--border-warm-md)}
.action-grid--steps .action-card{background:transparent;border:none;border-bottom:1px solid var(--border-warm-md);border-radius:0;padding:18px 0;box-shadow:none}
.action-grid--steps .action-card:hover{box-shadow:none}
.action-grid--steps .action-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--sand-faint);font-size:var(--text-xs)}
.action-grid--steps .action-card p{max-width:58ch}
.action-grid--roles .action-card{background:var(--card);border-color:var(--sand-border)}
.action-grid--roles .action-card:hover{box-shadow:var(--shadow-soft)}
.stelle-card{background:var(--card);border:1px solid var(--border-warm);border-radius:var(--radius-md);padding: var(--space-lg);margin-bottom:14px;transition:border-color 0.2s ease,box-shadow 0.2s ease;box-shadow:none}
.stelle-card:hover{box-shadow:var(--shadow-soft)}
.stelle-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.stelle-card h3{font-size:var(--text-base);color:var(--text);margin:0}
.stelle-badge{font-size:var(--text-xs);font-weight:700;padding:3px 10px;border-radius:var(--radius-sm)}
.stelle-badge.beratung{background:var(--sand-subtle);color:var(--sand-ink)}
.stelle-badge.selbsthilfe{background:var(--amber-bg);color:var(--amber)}
.stelle-card p{font-size:var(--text-base);color:var(--slate);line-height:1.5;margin:0 0 10px}
.stelle-contact{font-size:var(--text-base);font-weight:600}
.stelle-contact a{color:var(--teal-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.dl-module{background:var(--card);border:1px solid var(--border-warm);border-radius:var(--radius-md);padding:24px 28px;margin-bottom:14px;display:flex;gap:20px;align-items:flex-start;transition:border-color 0.2s ease,box-shadow 0.2s ease}
.dl-module:hover{box-shadow:var(--shadow-soft)}
.dl-module-sos{border-left:4px solid var(--alert)}
.dl-icon{width:50px;height:34px;border-radius:var(--radius-sm);background:rgba(221,210,191,0.3);color:var(--sand-ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;font-size:var(--text-xs);font-weight:800;letter-spacing:0.08em;text-transform:uppercase}
.dl-module-sos .dl-icon{background:var(--alert-coral);color:var(--alert)}
.dl-body{flex:1;min-width:0}
.dl-body h3{font-size:var(--text-base);color:var(--text);margin:0 0 var(--heading-gap-h4);font-weight:700}
.dl-body p{font-size:var(--text-base);color:var(--slate);line-height:1.5;margin:0 0 14px}
.dl-btn{display:inline-flex;align-items:center;gap:var(--space-sm);background:var(--cta-primary-bg);color:var(--cta-primary-text);text-decoration:none;font-size:var(--text-xs);font-weight:600;padding:10px 18px;border-radius:var(--radius-sm);transition:background-color 0.2s ease,box-shadow 0.2s ease}
.dl-btn:hover{background:var(--cta-primary-hover)}
.dl-btn-sos{background:var(--alert)}.dl-btn-sos:hover{background:var(--alert-dark-hover)}
.dl-meta{display:block;font-size:var(--text-xs);font-weight:400}.dl-meta-secondary{margin-top:2px}
.handout-list{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--grid-gap-tight);margin:24px 0}
.handout-chip{background:var(--card);border:1px solid var(--border-warm);border-radius:var(--radius-sm);padding:12px 14px;text-decoration:none;color:var(--text);font-size:var(--text-xs);display:flex;align-items:center;gap:var(--grid-gap-tight);transition:box-shadow 0.2s ease,border-color 0.2s ease}
.handout-chip:hover{border-color:var(--teal-light);box-shadow:var(--shadow-soft)}
.handout-chip .hc-badge{font-size:var(--text-xs);font-weight:700;color:var(--teal-cta);min-width:24px;flex-shrink:0}
.handout-chip .hc-body{display:flex;flex-direction:column;gap:1px}
.handout-chip .hc-title{font-weight:600;line-height:1.3}
.handout-chip .hc-size{font-size:var(--text-xs);color:var(--text-soft);font-weight:400}.handout-chip .hc-meta{font-size:var(--text-xs);color:var(--teal-cta);font-weight:500;line-height:1.35}
.wide-visual{margin:var(--temp-dense-margin) 0;background:var(--card);border:1px solid var(--border-warm);border-radius:var(--card-radius);padding:20px;box-shadow:var(--card-shadow)}
.wide-visual img{display:block;width:100%;height:auto;border-radius:var(--radius-sm)}
.wide-visual p{font-size:var(--text-base);color:var(--slate);margin:12px 4px 0}
.material-finder{margin:24px 0 32px;padding:var(--card-padding);border-radius:var(--card-radius);background:var(--card);border:1px solid var(--border-warm);box-shadow:var(--card-shadow)}
.material-finder-kicker{font-size:var(--text-xs);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-cta);margin-bottom:10px}
.material-finder h3{font-size:var(--text-lg);margin:0 0 var(--heading-gap-h4)}
.material-finder p{font-size:var(--text-base);color:var(--slate);line-height:1.6;margin:0 0 18px}
.material-finder-options{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--grid-gap-tight)}
.material-finder-option{display:flex;align-items:flex-start;gap:var(--space-base);width:100%;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--border-warm-md);background:var(--card);color:var(--text);text-align:left;font-family:'DM Sans',sans-serif;cursor:pointer;transition:border-color 0.2s ease,box-shadow 0.2s ease,transform 0.2s ease}
.material-finder-option:hover{border-color:var(--teal-light);box-shadow:var(--shadow-soft);transform:translateY(-1px)}
.material-finder-option.is-active{border-color:var(--teal-solid);background:var(--success-soft)}
.material-finder-icon{min-width:78px;height:34px;padding:0 10px;border-radius:var(--radius-sm);background:rgba(221,210,191,0.3);color:var(--sand-ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--text-xs);font-weight:800;letter-spacing:0.04em;text-transform:none}
.material-finder-option.is-active .material-finder-icon{background:var(--teal-cta);color:var(--cta-primary-text)}
.material-finder-label{display:block;font-size:var(--text-base);font-weight:700;margin-bottom:3px}
.material-finder-sub{display:block;font-size:var(--text-xs);color:var(--text-soft);line-height:1.45}
.material-finder-results{margin-top:var(--space-md);display:grid;gap:var(--space-base)}
.material-finder-results[hidden]{display:none}
.finder-card{background:var(--surface-alt);border:1px solid var(--border-warm);border-radius:var(--card-radius);padding:16px 18px}
.finder-card-kicker{font-size:var(--text-xs);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--slate);margin-bottom:6px}
.finder-card h4{font-size:var(--text-base);color:var(--navy);margin:0 0 var(--heading-gap-h4)}
.finder-card p{font-size:var(--text-xs);color:var(--slate);margin:0 0 10px}
.finder-card a{display:inline-flex;align-items:center;gap:var(--space-sm);text-decoration:none;color:var(--cta-primary-text);background:var(--teal-cta);padding:9px 14px;border-radius:var(--radius-round);font-size:var(--text-xs);font-weight:700}
.hub-details{margin:22px 0 32px;border:1px solid var(--border-warm-md);border-radius:var(--card-radius);background:var(--card);box-shadow:var(--card-shadow);overflow:hidden}
.hub-details summary{list-style:none;cursor:pointer;padding:20px 22px;display:grid;gap:6px;position:relative;transition:background-color 0.2s ease}
.hub-details summary:hover{background:var(--teal-faint)}
.hub-details summary:focus-visible{outline:2px solid var(--teal);outline-offset:-2px;border-radius:var(--card-radius)}
.hub-details summary::-webkit-details-marker{display:none}
.hub-details summary::after{content:'+';position:absolute;top:18px;right:20px;width:28px;height:28px;border-radius:var(--radius-round);border:1px solid var(--border-warm-md);display:flex;align-items:center;justify-content:center;color:var(--teal-text);font-size:var(--text-base);font-weight:700;transition:transform 0.2s ease,background-color 0.2s ease,color 0.2s ease}
.hub-details[open] summary::after{transform:rotate(45deg);background:var(--teal-cta);color:var(--cta-primary-text)}
.hub-details-kicker{font-size:var(--text-xs);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--navy-mid)}
.hub-details-title{font-family:'DM Sans',sans-serif;font-size:var(--text-lg);font-weight:700;line-height:1.15;color:var(--navy);padding-right:44px}
.hub-details-intro{font-size:var(--text-base);color:var(--text-soft);line-height:1.55;padding-right:44px}
.hub-details-body{padding:0 22px 22px}
.hub-details-body>p:first-child{margin-top:0}
.hub-details--quiet{background:var(--surface-alt)}
.mini-plan{margin:26px 0 34px;padding:var(--card-padding);border-radius:var(--card-radius);background:var(--card);border:1px solid var(--border-warm);box-shadow:var(--card-shadow)}
.mini-plan-privacy-note{font-size:var(--text-sm);color:var(--slate);background:var(--amber-bg);border-left:3px solid var(--amber-light);border-radius:var(--radius-sm);padding:12px 16px;line-height:1.6;margin:var(--space-md) 0}
.mini-plan-privacy-note strong{color:var(--amber-dark-text)}
.mini-plan-kicker{font-size:var(--text-xs);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-cta);margin-bottom:10px}
.mini-plan h3{font-size:var(--text-lg);margin:0 0 var(--heading-gap-h4)}
.mini-plan p{font-size:var(--text-base);color:var(--slate);line-height:1.6;margin:0 0 18px}
.mini-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap-tight)}
.mini-plan-field{display:flex;flex-direction:column;gap:6px}
.mini-plan-field.full{grid-column:1 / -1}
.mini-plan label{font-size:var(--text-xs);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--slate)}
/* mini-plan input/textarea/select base now in shared.css FORM FIELDS */
.mini-plan textarea{min-height:92px}
.mini-plan-actions{display:flex;gap:var(--grid-gap-tight);flex-wrap:wrap;margin-top:14px}
.mini-plan-save,.mini-plan-clear{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:var(--radius-round);font-size:var(--text-xs);font-weight:700;font-family:'DM Sans',sans-serif;cursor:pointer}
.mini-plan-save{border:none;background:var(--teal-cta);color:var(--cta-primary-text)}
.mini-plan-clear{border:1px solid var(--border-warm-md);background:var(--card);color:var(--slate)}
.mini-plan-status{font-size:var(--text-xs);color:var(--text-soft);margin-top: var(--space-base);min-height:1.2em}
.mini-plan-summary{margin-top:18px;padding:16px 18px;border-radius:var(--card-radius);background:var(--surface-alt);border:1px solid var(--border-warm)}
.mini-plan-summary[hidden]{display:none}
.mini-plan-summary h4{font-size:var(--text-base);color:var(--navy);margin:0 0 var(--heading-gap-h3)}
.mini-plan-summary p{font-size:var(--text-xs);color:var(--slate);margin:0 0 8px}
.mini-plan-summary strong{color:var(--navy)}
.closing{text-align:center;padding:48px 40px}
.closing h2{font-size:var(--text-xl);margin-bottom:var(--heading-gap-h2)}
.closing p{font-size:var(--text-base);line-height:1.75;color:var(--white-text);margin-bottom:var(--space-base);max-width:60ch;margin-left:auto;margin-right:auto}
.closing .closing-emphasis{font-family:'DM Serif Display',serif;font-size:var(--text-lg);color:var(--white-text);margin-top:var(--space-lg)}

/* ── M-17 Hub (Modul 8 als Ressourcen-Hub, nicht als Lernmodul) ── */
.hub-hero{padding:calc(var(--nav-height) + var(--space-2xl)) 2rem var(--space-xl);background:var(--surface-alt);border-bottom:1px solid var(--border-warm)}
.hub-hero-inner{max-width:var(--content-width);margin:0 auto}
.hub-hero .breadcrumb{font-size:var(--text-xs);color:var(--text-soft);margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}
.hub-hero .breadcrumb a{color:var(--slate);text-decoration:none}
.hub-hero .breadcrumb a:hover{text-decoration:underline}
.hub-hero .breadcrumb .sep{color:var(--text-soft)}
.hub-hero h1{font-family:'DM Serif Display',serif;font-size:var(--text-3xl);font-weight:400;line-height:1.15;letter-spacing:-0.03em;color:var(--navy);margin:var(--space-md) 0 var(--space-md)}
.hub-hero-lead{font-size:var(--text-lg);line-height:1.6;color:var(--slate);max-width:65ch;margin:0}

.hub-content{padding-top:var(--space-xl)}
.hub-content .urgent-note-standalone{max-width:var(--content-width);margin:0 auto var(--space-xl)}
.hub-content>section:first-of-type h2{border-top:none;padding-top:0;margin-top:var(--space-lg)}

.hub-pathways h2{border-top:none;padding-top:0;margin-top:var(--space-lg)}
.hub-pathways-lead{font-size:var(--text-base);color:var(--slate);max-width:65ch;line-height:1.6;margin:0 0 var(--space-lg)}
.hub-pathway-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--grid-gap-standard);margin:var(--space-xl) 0}
.hub-pathway-card{background:var(--card);border:1px solid var(--border-warm-md);border-radius:var(--card-radius);padding:var(--space-lg);text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:var(--space-sm);box-shadow:var(--shadow-soft);transition:border-color 0.2s ease,box-shadow 0.2s ease,transform 0.15s ease;min-height:200px}
.hub-pathway-card:hover{border-color:var(--teal-muted);box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}
.hub-pathway-kicker{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--teal-cta)}
.hub-pathway-card h3{font-size:var(--text-lg);font-weight:700;color:var(--navy);margin:0;line-height:1.25;letter-spacing:-0.01em}
.hub-pathway-card p{font-size:var(--text-sm);color:var(--text-soft);line-height:1.55;margin:0;flex:1}
.hub-pathway-arrow{font-size:var(--text-lg);color:var(--teal-cta);align-self:flex-end;font-weight:700;margin-top:var(--space-sm);transition:transform 0.2s ease}
.hub-pathway-card:hover .hub-pathway-arrow{transform:translateX(3px)}
.hub-pathway-card--alert{border-color:var(--alert);background:var(--alert-soft)}
.hub-pathway-card--alert:hover{border-color:var(--alert);background:var(--alert-soft)}
.hub-pathway-card--alert .hub-pathway-kicker,
.hub-pathway-card--alert h3,
.hub-pathway-card--alert .hub-pathway-arrow{color:var(--alert)}

.hub-contact-cta{background:var(--teal-cta-dark);color:var(--white-text);padding:var(--section-standard) 2rem;margin-top:var(--section-standard);text-align:center}
.hub-contact-cta *:focus-visible { outline-color: #ffffff; }
.hub-contact-inner{max-width:var(--content-width);margin:0 auto}
.hub-contact-cta h2{color:#ffffff;border-top:none;padding-top:0;margin-top:0;font-family:'DM Serif Display',serif;font-size:var(--text-xl);line-height:1.3;margin-bottom:var(--space-md)}
.hub-contact-cta p{color:rgba(255,255,255,0.88);font-size:var(--text-base);line-height:1.65;max-width:60ch;margin:0 auto}
.hub-contact-actions{display:flex;justify-content:center;gap:var(--space-md);flex-wrap:wrap;margin-top:var(--space-lg)}
.hub-contact-phone{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 28px;border-radius:var(--radius-md);background:#ffffff;color:var(--teal-cta-dark);text-decoration:none;font-size:var(--text-base);font-weight:700;letter-spacing:0.02em;box-shadow:0 2px 8px rgba(0,0,0,0.15);transition:background 0.2s ease,transform 0.15s ease}
.hub-contact-phone:hover{background:var(--surface-alt);transform:translateY(-1px)}
.hub-contact-email{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,0.2);background:transparent;color:rgba(255,255,255,0.92);text-decoration:none;font-size:var(--text-sm);font-weight:500;transition:border-color 0.2s ease,background 0.2s ease,color 0.2s ease}
.hub-contact-email:hover{border-color:rgba(255,255,255,0.6);background:rgba(255,255,255,0.08);color:#ffffff}

.hub-footer-nav{display:flex;justify-content:center;gap:var(--space-lg);padding:var(--space-xl) 0;border-top:1px solid var(--border-warm);margin-top:var(--section-standard)}
.hub-footer-nav a{color:var(--navy);text-decoration:none;font-size:var(--text-sm);font-weight:600;padding:var(--space-sm) 14px;border-radius:var(--radius-sm);transition:background 0.2s ease,color 0.2s ease}
.hub-footer-nav a:hover{background:var(--surface-alt);color:var(--teal-cta)}

@media (max-width: 900px) {
  .hub-pathway-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .hub-hero { padding: calc(var(--nav-height) + var(--space-lg)) 1.4rem var(--space-lg); }
  .hub-content { padding: var(--space-lg) 1.4rem 0; }
  .hub-contact-cta { padding-left: 1.4rem; padding-right: 1.4rem; }
  .hub-footer-nav { gap: var(--space-sm); flex-wrap: wrap; }
}

/* ── Module-Specific Responsive ── */
@media (max-width: 768px) {
  .treatment-grid { grid-template-columns: 1fr; }
  .do-dont { grid-template-columns: 1fr; }
  .cycle-steps { grid-template-columns: 1fr; }
  .eisberg-visual { grid-template-columns: 1fr; }
  .erosion-cards { grid-template-columns: 1fr; }
  .emergency-strip { grid-template-columns: 1fr; }
  .phase-cards { grid-template-columns: 1fr; }
  .mech-cards { grid-template-columns: 1fr; }
  .loss-cards { grid-template-columns: 1fr; }
  .kids-grid { grid-template-columns: 1fr; }
  .tension { grid-template-columns: 1fr; }
  .tension-vs { padding: var(--space-base) 0; }
  .tension-left { border-radius: var(--radius-md) var(--radius-md) 0 0; }
  .tension-right { border-radius: 0 0 var(--radius-md) var(--radius-md); }
  .stigma-cards { grid-template-columns: 1fr; }
  .barrier-grid { grid-template-columns: 1fr; }
  .decision-paths { grid-template-columns: 1fr; }
  .ampel { grid-template-columns: 1fr; }
  .selfcare-grid { grid-template-columns: 1fr; }
  .wish-cards { grid-template-columns: 1fr; }
  .trialog-visual { grid-template-columns: 1fr; }
  .ptg-grid { grid-template-columns: 1fr; }
  .coping-grid { grid-template-columns: 1fr; }
  .handout-list { grid-template-columns: 1fr 1fr; }
  .insight-grid, [data-module-accent="8"] .action-grid { grid-template-columns: 1fr; }
  .material-finder-options { grid-template-columns: 1fr; }
  .mini-plan-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .phase-tabs { grid-template-columns: 1fr; }
  .phase-content { padding: 24px 20px; }
  .stat-box { flex-direction: column; text-align: center; }
  .einsicht-compare { grid-template-columns: 1fr; }
  .einsicht-col:first-child { border-right: none; border-bottom: 1px solid var(--border); }
  .stabil-prio { grid-template-columns: 1fr; }
  .stabil-prio-col:not(:last-child) { border-right: none; border-bottom: 1px solid var(--border); }
  .grenz-formel-parts { grid-template-columns: 1fr; }
  .grenz-part:not(:last-child) { border-right: none; border-bottom: 1px solid var(--border); }
  .coping-nav { grid-template-columns: 1fr; }
  .handout-list { grid-template-columns: 1fr; }
  [data-module-accent="8"] .module-hero-inner { grid-template-columns: 1fr; }
  [data-module-accent="8"] .module-hero { padding: calc(var(--nav-height) + var(--space-lg)) 1.2rem 32px; }
  [data-module-accent="8"] .module-hero .quote-block,
  [data-module-accent="8"] .module-hero-visual { display: none; }
  [data-module-accent="8"] .toc { padding: 18px 20px; margin-bottom: 26px; }
  [data-module-accent="8"] .toc-desc { display: none; }
  [data-module-accent="8"] .action-card,
  [data-module-accent="8"] .stelle-card,
  [data-module-accent="8"] .dl-module,
  [data-module-accent="8"] .material-finder,
  [data-module-accent="8"] .mini-plan,
  [data-module-accent="8"] .hub-details summary,
  [data-module-accent="8"] .hub-details-body { padding-left: 18px; padding-right: 18px; }
  [data-module-accent="8"] .dl-module { flex-direction: column; gap: var(--space-md); }
  [data-module-accent="8"] .dl-btn { width: 100%; flex-wrap: wrap; }
  .closing { padding: var(--space-xl) var(--space-lg); }
}
@media (max-width: 900px) {
  [data-module-accent="8"] .module-hero-inner { grid-template-columns: 1fr; }
  [data-module-accent="8"] .module-hero-aside { grid-template-columns: 1fr; }
}

/* ── [from overrides.css] BORDER OVERRIDES ── */
.module-card,
.guide,
.sit-card,
.number-card,
.next-module,
.toc,
.quote-block,
.alert-box,
.refl {
  border-color: var(--border);
}

/* Content dividers */
.content h2,
.module-card-footer {
  border-top-color: var(--border);
}

/* Input focus states now in shared.css FORM FIELDS */

/* ── [from overrides.css] CARDS ── */

/* ── Module cards (index.html grid) ── */
.module-card {
  border-radius: var(--card-radius);
  border: 1px solid var(--border);
  padding: var(--card-padding);
}

.module-card:hover {
  box-shadow: var(--shadow-soft);
}

.module-card::before {
  background: var(--sand-deep);
}

.module-number {
  color: var(--teal-text);
}

.module-card h3 {
  color: var(--navy);
}

/* ── Situation / number cards (notfall + modules) ── */
.sit-card {
  border-radius: var(--card-radius);
  border: 1px solid var(--border);
}

.sit-card:hover {
  border-color: var(--teal);
  box-shadow: var(--shadow-soft);
}

.sit-badge {
  background: var(--success-soft);
  color: var(--teal-text);
  border-radius: var(--radius-sm);
}

.sit-card.urgent .sit-badge {
  background: var(--alert-subtle);
  color: var(--alert);
}

.number-card {
  border-radius: var(--card-radius);
  border: 1px solid var(--border);
}

/* ── Guide / Accordion cards ── */
.guide {
  border-radius: var(--card-radius);
  border: 1px solid var(--border);
}

.guide-badge {
  background: var(--success-soft);
  color: var(--teal-text);
  border-radius: var(--radius-sm);
}

.guide-badge.red {
  background: var(--alert-soft);
  color: var(--alert);
}

.guide-badge.amber {
  background: var(--amber-bg);
  color: var(--amber);
}

.guide-badge.blue {
  background: var(--blue-phase-light);
  color: var(--blue-phase);
}

.guide-title {
  color: var(--navy);
}

.guide-chevron {
  background: var(--success-soft);
  color: var(--teal-text);
  border-radius: var(--radius-round);
}

.guide.open .guide-chevron {
  background: var(--teal-cta-dark);
  color: var(--cta-primary-text);
}

/* ── Next module card ── */
.next-module {
  border-radius: var(--card-radius);
  border: 1px solid var(--border);
}

.next-module:hover {
  border-color: var(--teal);
  box-shadow: var(--shadow-soft);
}

.next-module-title {
  color: var(--navy);
}

.next-module .next-arrow {
  background: var(--success-soft);
  color: var(--teal-text);
}

/* ── Treatment / handout cards ── */
.treatment-card,
.handout-card {
  border-radius: var(--card-radius);
  border: 1px solid var(--border);
}

.treatment-card:hover,
.handout-card:hover {
  border-color: var(--teal);
  box-shadow: var(--shadow-soft);
}

/* ── PDF preview dialog ── */
.pdf-preview-dialog {
  border-radius: var(--card-radius);
}

.pdf-preview-title {
  color: var(--navy);
}

.pdf-preview-close:hover {
  background: var(--success-soft);
  color: var(--teal-text);
}

/* ── Table of contents card ── */
.toc {
  border-radius: var(--card-radius);
  border: 1px solid var(--border);
}

.toc a:hover {
  color: var(--teal-text);
}

.toc a.active {
  color: var(--teal-text);
}

.toc a.active::after {
  background: var(--teal);
}

/* ── [from overrides.css] TABLES / DATA-GRIDS / BAR CHARTS ── */

/* ── Bar charts (modul/2) ── */
.bar-track {
  background: var(--success-soft);
}

.bar-fill,
.bar-fill.sage {
  background: var(--teal);
}

.bar-fill.warm {
  background: var(--amber);
}

.bar-pct {
  color: var(--teal-text);
}

.bar-pct.warm-text {
  color: var(--amber);
}

/* ── HTML Tables (striped rows, teal header) ── */
table,
.content table,
article table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--border);
  background: var(--card);
  border-radius: var(--radius-md);
  overflow: hidden;
}

table thead th,
table th,
.content table th {
  background: var(--teal-cta);
  color: var(--cta-primary-text);
  border: 1px solid var(--border);
  font-weight: 700;
  padding: 0.7rem 0.8rem;
  font-size: var(--text-xs);
  text-align: left;
}

table td,
.content table td {
  border: 1px solid var(--border);
  padding: 0.7rem 0.8rem;
  color: var(--text);
}

table tbody tr:nth-child(even),
.content table tbody tr:nth-child(even) {
  background: var(--bg);
}

/* ── Phase explorer / tabs (modul/1) ── */
.phase-explorer {
  border-radius: var(--card-radius);
  border: 1px solid var(--border);
}

.phase-tab {
  border-radius: var(--radius-md);
}

.phase-tab:hover {
  background: var(--teal-accent-bg-faint);
}

/* Phase-specific active colors (content-semantic, keep distinct) */
.phase-tab.active-mania {
  color: var(--amber);
  border-bottom-color: var(--amber);
  background: var(--amber-bg);
}

.phase-tab.active-stable {
  color: var(--phase-green);
  border-bottom-color: var(--phase-green);
  background: var(--success-soft);
}

.phase-tab.active-depression {
  color: var(--blue-phase);
  border-bottom-color: var(--blue-phase);
  background: var(--blue-phase-light);
}

/* Symptom cards within phases */
.symptom-card {
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
}

/* ── [from overrides.css] INFO-BOXEN / HIGHLIGHT-BEREICHE ── */

/* ── Quote blocks ── */
.quote-block {
  background: var(--surface-alt);
  border-radius: var(--card-radius);
  border-left: 4px solid var(--sand-deep);
}

.quote-block::before {
  color: var(--sand);
}

.quote-block blockquote {
  color: var(--text); /* #776c63 auf --surface-alt #F4F1EC = 4.54:1, WCAG AA */
  font-size: var(--text-lg);
}

.quote-block cite {
  color: var(--text-soft);
}

/* ── Alert / warning boxes ── */
.alert-box {
  background: var(--alert-soft);
  border: 2px solid var(--alert-red-border);
  border-radius: var(--card-radius);
}

.alert-icon {
  background: var(--alert-subtle);
  color: var(--alert);
  border-radius: var(--radius-sm);
}

.alert-box strong {
  color: var(--alert);
}

/* ── Notfall-specific: fu-alert ── */
.fu-alert {
  border-radius: var(--radius-md);
  border: 1px solid var(--alert-red-border);
}

.fu-alert h3 {
  color: var(--alert);
}

/* ── Grauzone (notfall page) ── */
.grauzone {
  border-radius: var(--card-radius);
}

.grauzone h3 {
  color: var(--navy-mid);
}

/* ── Guide Do/Don't/SOS boxes ── */
.guide-do {
  background: var(--success-soft);
  border: 1px solid var(--teal-light);
  border-radius: var(--radius-md);
}

.guide-dont {
  background: var(--alert-soft);
  border: 1px solid var(--alert-red-border);
  border-radius: var(--radius-md);
}

.guide-sos {
  background: var(--alert-soft);
  border: 1px solid var(--alert-red-border);
  border-radius: var(--radius-md);
  color: var(--alert);
}

.section-title {
  color: var(--navy);
}

/* ── [from overrides.css] COVERAGE AUDIT FIXES ── */

/* info-box (impressum) */
.info-box {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--card-radius);
}

/* pdf-preview-link (notfall, modules) */
.pdf-preview-link {
  background: var(--success-soft);
  color: var(--teal-text);
  border-radius: var(--card-radius);
}

.pdf-preview-link:hover {
  background: var(--teal-cta-dark);
  color: var(--cta-primary-text);
}

/* grauzone-rule (notfall) */
.grauzone-rule {
  color: var(--navy);
}

/* ── PALETTE INTEGRATION (L2 — no more !important overrides) ── */
.module-hero::before,
.module-hero::after {
  display: none;
}

.module-hero .hero-icon {
  color: var(--sand-ink);
  opacity: 0.75;
}

.hdr,
.tool-header {
  background: var(--bg);
  border-color: var(--sand-border);
}

.hdr::before,
.tool-header::before {
  display: none;
}

.tool-glyph {
  background: var(--teal);
}

.action-icon {
  color: var(--sand-ink);
}

.handout-chip {
  background: var(--card);
}

/* ── M1 Behandlungs-Akkordeon ── */
.treatment-details {
  border: 1px solid var(--line-color, rgba(28,43,58,0.12));
  border-radius: var(--radius-md, 12px);
  padding: 0;
  margin: 1.5rem 0;
}
.treatment-details summary {
  cursor: pointer;
  padding: 1rem 1.25rem;
  font-weight: 600;
  color: var(--navy);
  font-size: var(--text-base);
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.treatment-details summary::before {
  content: '\25B6';
  font-size: var(--text-xs);
  color: var(--teal-text);
  transition: transform 0.2s;
  flex-shrink: 0;
}
.treatment-details[open] summary::before {
  transform: rotate(90deg);
}
.treatment-details > :not(summary) {
  padding: 0 1.25rem 1.25rem;
}

/* ── Content Note (informationeller Hinweis, ohne Icon-Spalte) ── */
.content-note {
  border-left: 3px solid var(--amber);
  background: var(--amber-bg);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding: 14px 20px;
  margin: var(--space-lg) 0;
}
.content-note p {
  font-size: var(--text-base);
  color: var(--slate);
  line-height: 1.75;
  margin: 0;
}

/* ── Inline-Style Migration (P2.5) ── */

/* Alert-box variant: success/info (modul/7) */
.alert-box.alert-box--info{border-color:var(--teal-solid);background:var(--success-soft)}
.alert-box--info .alert-box-icon,.alert-box--info .alert-icon{color:var(--teal-cta)}

/* Hint-note spacing variants consolidated to line ~675 */

/* Content list in reveal blocks */
.content-list-styled{margin:var(--space-base) 0 var(--space-md) 20px;line-height:1.9;color:var(--slate);font-size:var(--text-base)}

/* Treatment grid single-column variant */
.treatment-grid--single{grid-template-columns:1fr}

/* Download/CTA label */
.download-label{margin-top:var(--space-md);font-size:var(--text-xs);color:var(--teal-cta);font-weight:600}

/* Scenario/quote attribution (modul/5) */
.scenario-note{font-size:var(--text-xs);margin-bottom:14px;font-style:italic}
.scenario-note--navy{color:var(--navy)}
.scenario-note--slate{color:var(--slate)}

/* Barrier grid spacing */
.barrier-grid{margin-top:20px}

/* Bright moment emphasis */
.bright-moment{font-weight:500}

/* Stelle text styling in dark sections (modul/8 takeaways) */
.takeaways h2, .takeaways h3{color:var(--cta-primary-text);margin-bottom:0.25rem}
.takeaways > .takeaways-inner > p{color:var(--white-text);font-size:var(--text-xs);margin-bottom:1rem}

/* Context note (modul/3 Hinweis zur Sprache) */
.context-note{font-size:var(--text-base);color:var(--teal-text);background:var(--success-soft);border-radius:var(--radius-sm);padding:var(--space-base) var(--space-md)}

/* Ampel card link (modul/6) */
a.ampel-card{text-decoration:none;display:block}


/* ── Module Illustration: nahtlos eingebettet, kein Border ── */
.module-illustration {
  margin: var(--section-standard) 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 340px);
  gap: var(--space-xl);
  align-items: center;
}
.module-illustration--reverse {
  grid-template-columns: minmax(220px, 340px) minmax(0, 1fr);
}
.module-illustration--reverse .module-illustration__figure {
  order: -1;
}
.module-illustration__figure {
  margin: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  /* Hintergrund exakt wie --bg der Seite: kein sichtbarer Rand */
  background: var(--bg);
  /* Schwebender Schatten statt Border */
  box-shadow: 0 6px 32px rgba(26, 35, 50, 0.07), 0 1px 4px rgba(26, 35, 50, 0.04);
}
.module-illustration__figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
.module-illustration__body {
  /* Kein extra Styling nötig — erbt den normalen Prose-Stil */
}
/* Auf Mobilgeräten: Illustration unter den Text, zentriert */
@media (max-width: 680px) {
  .module-illustration,
  .module-illustration--reverse {
    grid-template-columns: 1fr;
  }
  .module-illustration--reverse .module-illustration__figure {
    order: 0;
  }
  .module-illustration__figure {
    max-width: 340px;
    margin: 0 auto;
  }
}

/* ══════════════════════════════════════════════════════════
   VISUAL POLISH PASS — Modul 8 Hub
   Scoped polish for the resource hub without changing the module system.
   ══════════════════════════════════════════════════════════ */

.hub-page .hub-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, var(--surface-hero-warm) 0%, var(--surface-teal-mist) 46%, var(--surface-alt) 100%);
}

.hub-page .hub-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 74% 58% at 8% 100%, rgba(168,213,203,0.2) 0%, transparent 72%),
    radial-gradient(ellipse 34% 40% at 88% 18%, rgba(74,111,149,0.12) 0%, transparent 60%);
  pointer-events: none;
}

.hub-page .hub-hero::after {
  content: '';
  position: absolute;
  right: clamp(1.5rem, 5vw, 5rem);
  top: calc(var(--nav-height) + 1rem);
  width: 220px;
  height: 220px;
  border-radius: 32px;
  border: 1px solid rgba(45,40,35,0.09);
  background: linear-gradient(180deg, rgba(255,255,255,0.26), rgba(255,255,255,0));
  transform: rotate(12deg);
  opacity: 0.58;
  pointer-events: none;
}

.hub-page .hub-hero-inner {
  position: relative;
  z-index: 1;
}

.hub-page .hub-hero-lead {
  max-width: 58ch;
  line-height: 1.62;
}

.hub-page .hub-content .urgent-note-standalone {
  border: 1px solid rgba(185,28,28,0.16);
  border-radius: calc(var(--card-radius) + 8px);
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(251,242,240,0.9));
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.hub-page .hub-content .urgent-note-standalone .urgent-note {
  padding: 16px 18px;
  background: transparent;
  border-radius: 0;
}

.hub-page .hub-pathways {
  padding: clamp(1.2rem, 2vw, 1.6rem);
  border: 1px solid rgba(45,40,35,0.08);
  border-radius: calc(var(--card-radius) + 12px);
  background: linear-gradient(180deg, rgba(255,255,255,0.92), var(--surface-hero-warm) 100%);
  box-shadow: var(--shadow-soft);
}

.hub-page .hub-pathways h2 {
  margin-top: 0;
}

.hub-page .hub-pathways-lead {
  max-width: 62ch;
  line-height: 1.62;
}

.hub-page .hub-pathway-card {
  --pathway-line: var(--teal-cta);
  --pathway-surface: linear-gradient(180deg, rgba(255,255,255,0.99), rgba(238,245,242,0.9));
  --pathway-badge-bg: rgba(255,255,255,0.88);
  position: relative;
  overflow: hidden;
  padding-left: 24px;
  border-color: rgba(45,40,35,0.08);
  background: var(--pathway-surface);
  box-shadow: var(--shadow-soft);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.hub-page .hub-pathway-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: var(--pathway-line);
}

.hub-page .hub-pathway-card::after {
  content: '';
  position: absolute;
  top: 18px;
  right: 18px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,0.84);
  border: 1px solid rgba(45,40,35,0.08);
}

.hub-page .hub-pathway-card:hover {
  border-color: rgba(45,40,35,0.12);
  box-shadow: var(--shadow-atmosphere);
  transform: translateY(-2px);
}

.hub-page .hub-pathway-kicker {
  color: var(--pathway-line);
}

.hub-page .hub-pathway-arrow {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--pathway-badge-bg);
  border: 1px solid rgba(45,40,35,0.08);
  box-shadow: 0 1px 0 rgba(45,40,35,0.03);
}

.hub-page .hub-pathway-card:hover .hub-pathway-arrow {
  transform: scale(1.05);
}

.hub-page .hub-pathway-card--alert {
  --pathway-line: var(--alert);
  --pathway-surface: linear-gradient(180deg, rgba(254,242,242,0.98), rgba(255,255,255,0.98));
  --pathway-badge-bg: rgba(255,255,255,0.92);
  border-color: rgba(185,28,28,0.22);
}

.hub-page .hub-pathway-card--alert:hover {
  border-color: rgba(185,28,28,0.28);
  background: var(--pathway-surface);
}

.hub-page .hub-pathway-card--alert .hub-pathway-kicker,
.hub-page .hub-pathway-card--alert h3,
.hub-page .hub-pathway-card--alert .hub-pathway-arrow {
  color: var(--alert);
}

.hub-page .hub-pathway-card--talk {
  --pathway-line: var(--teal-cta);
  --pathway-surface: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(238,245,242,0.94));
}

.hub-page .hub-pathway-card--exchange {
  --pathway-line: var(--blue-phase);
  --pathway-surface: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(238,243,248,0.96));
}

.hub-page .hub-pathway-card--law {
  --pathway-line: var(--navy-mid);
  --pathway-surface: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(241,238,234,0.96));
}

.hub-page .hub-pathway-card--material {
  --pathway-line: var(--amber);
  --pathway-surface: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,240,231,0.94));
}

.hub-page .hub-pathway-card--capture {
  --pathway-line: var(--phase-green);
  --pathway-surface: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(168,213,203,0.18));
}

@media (max-width: 900px) {
  .hub-page .hub-hero::after {
    display: none;
  }

  .hub-page .hub-pathways,
  .hub-page .hub-content .urgent-note-standalone {
    border-radius: calc(var(--card-radius) + 8px);
  }

  .notfall-hero .hero-visual {
    display: none;
  }
}

@media (max-width: 600px) {
  .hub-page .hub-content .urgent-note-standalone .urgent-note {
    padding: 14px 16px;
  }

  .hub-page .hub-hero {
    padding-top: calc(var(--nav-height) + var(--space-base));
    padding-bottom: var(--space-base);
  }

  .hub-page .hub-hero-lead {
    font-size: var(--text-base);
  }

  .hub-page .hub-pathways {
    margin-top: var(--space-base);
    padding: 14px;
  }

  .hub-page .hub-content .urgent-note-standalone {
    margin-bottom: var(--space-lg);
  }

  .hub-page .hub-pathway-card {
    padding-left: 20px;
    min-height: 0;
  }
}

/* ══════════════════════════════════════════════════════════
   VISUAL POLISH PASS — Module Reading Flow + Notfall
   Extends the refined hierarchy to /module/ details and /notfall/.
   ══════════════════════════════════════════════════════════ */

[data-module-accent]:not([data-module-accent="8"]) {
  --module-hero-accent: var(--teal-cta);
  --module-hero-mist: var(--surface-teal-mist);
  --module-hero-glow: rgba(168,213,203,0.22);
  --module-summary-surface: rgba(238,245,242,0.72);
}

[data-module-accent="1"],
[data-module-accent="3"] {
  --module-hero-accent: var(--blue-phase);
  --module-hero-mist: var(--blue-phase-light);
  --module-hero-glow: rgba(74,111,149,0.18);
  --module-summary-surface: rgba(238,243,248,0.9);
}

[data-module-accent="2"],
[data-module-accent="4"],
[data-module-accent="5"] {
  --module-hero-accent: var(--amber);
  --module-hero-mist: var(--surface-sand-mist);
  --module-hero-glow: rgba(221,210,191,0.24);
  --module-summary-surface: rgba(246,240,231,0.94);
}

[data-module-accent="6"],
[data-module-accent="7"] {
  --module-hero-accent: var(--phase-green);
  --module-hero-mist: rgba(168,213,203,0.22);
  --module-hero-glow: rgba(88,154,126,0.18);
  --module-summary-surface: rgba(168,213,203,0.22);
}

[data-module-accent]:not([data-module-accent="8"]) .module-hero {
  padding-bottom: calc(var(--section-standard) - 8px);
  background:
    linear-gradient(180deg, var(--surface-hero-warm) 0%, var(--module-hero-mist) 46%, var(--surface-alt) 100%);
  border-bottom: 1px solid rgba(45,40,35,0.05);
}

[data-module-accent]:not([data-module-accent="8"]) .module-hero::before {
  display: block;
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 72% 56% at 10% 100%, var(--module-hero-glow) 0%, transparent 72%),
    linear-gradient(135deg, rgba(255,255,255,0.34) 0%, rgba(255,255,255,0) 54%);
  pointer-events: none;
}

[data-module-accent]:not([data-module-accent="8"]) .module-hero::after {
  content: '';
  position: absolute;
  right: clamp(1.5rem, 5vw, 5rem);
  top: calc(var(--nav-height) + 1rem);
  width: 220px;
  height: 220px;
  border-radius: 32px;
  border: 1px solid rgba(45,40,35,0.09);
  background: linear-gradient(180deg, rgba(255,255,255,0.28), rgba(255,255,255,0));
  transform: rotate(12deg);
  opacity: 0.56;
  pointer-events: none;
}

[data-module-accent]:not([data-module-accent="8"]) .module-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) minmax(300px, 0.82fr);
  gap: clamp(1.2rem, 2.4vw, 2.4rem);
  align-items: start;
  max-width: 1120px;
}

[data-module-accent]:not([data-module-accent="8"]) .module-hero-inner > .breadcrumb,
[data-module-accent]:not([data-module-accent="8"]) .module-hero-inner > .hero-icon,
[data-module-accent]:not([data-module-accent="8"]) .module-hero-inner > .module-badge,
[data-module-accent]:not([data-module-accent="8"]) .module-hero-inner > h1,
[data-module-accent]:not([data-module-accent="8"]) .module-hero-inner > .module-meta {
  grid-column: 1;
}

[data-module-accent]:not([data-module-accent="8"]) .module-hero-inner > .quote-block {
  grid-column: 2;
  grid-row: 2 / span 5;
  margin: 0;
}

[data-module-accent]:not([data-module-accent="8"]) .module-hero-inner > .module-summary {
  grid-column: 1;
  margin: 0;
}

[data-module-accent]:not([data-module-accent="8"]) .module-hero-inner > .toc {
  grid-column: 1 / -1;
  margin: 0;
}

[data-module-accent]:not([data-module-accent="8"]) .module-hero h1 {
  max-width: 18ch;
}

[data-module-accent]:not([data-module-accent="8"]) .hero-icon {
  width: 44px;
  height: 44px;
  color: var(--module-hero-accent);
  justify-self: start;
}

[data-module-accent]:not([data-module-accent="8"]) .module-badge {
  background: rgba(255,255,255,0.64);
  color: var(--module-hero-accent);
  border: 1px solid rgba(45,40,35,0.08);
  justify-self: start;
  width: fit-content;
}

[data-module-accent]:not([data-module-accent="8"]) .module-meta {
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-bottom: var(--space-xl);
}

[data-module-accent]:not([data-module-accent="8"]) .quote-block {
  background: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.98));
  border: 1px solid rgba(45,40,35,0.08);
  border-left: 4px solid var(--module-hero-accent);
  box-shadow: var(--shadow-soft);
  padding: 22px 22px 18px;
}

[data-module-accent]:not([data-module-accent="8"]) .quote-block::before {
  top: -4px;
  left: 12px;
  color: rgba(45,40,35,0.1);
}

[data-module-accent]:not([data-module-accent="8"]) .quote-block blockquote {
  padding-left: 0;
  line-height: 1.58;
}

[data-module-accent]:not([data-module-accent="8"]) .quote-block cite {
  padding-left: 0;
  margin-top: 14px;
}

[data-module-accent]:not([data-module-accent="8"]) .module-summary {
  background: linear-gradient(180deg, rgba(255,255,255,0.97), var(--module-summary-surface) 100%);
  border-color: rgba(45,40,35,0.08);
  box-shadow: var(--shadow-soft);
}

[data-module-accent]:not([data-module-accent="8"]) .module-summary strong {
  color: var(--module-hero-accent);
}

[data-module-accent]:not([data-module-accent="8"]) .module-summary p {
  line-height: 1.62;
}

[data-module-accent]:not([data-module-accent="8"]) .module-summary li {
  line-height: 1.56;
}

[data-module-accent]:not([data-module-accent="8"]) .toc {
  background: linear-gradient(180deg, rgba(255,255,255,0.97), rgba(244,241,236,0.84));
  border-color: rgba(45,40,35,0.08);
  box-shadow: var(--shadow-soft);
}

[data-module-accent]:not([data-module-accent="8"]) .toc li a {
  padding: 10px 0 10px 30px;
}

[data-module-accent]:not([data-module-accent="8"]) .toc li a::before {
  color: var(--module-hero-accent);
}

[data-module-accent]:not([data-module-accent="8"]) .toc-desc {
  line-height: 1.45;
}

.hero.notfall-hero {
  background: linear-gradient(180deg, #74211d 0%, var(--emergency-dark) 52%, #8b2a23 100%) !important;
}

.notfall-hero {
  padding-bottom: calc(var(--space-xl) + 8px);
}

.notfall-hero::before {
  background:
    radial-gradient(ellipse 68% 54% at 12% 0%, rgba(255,255,255,0.08) 0%, transparent 68%),
    radial-gradient(ellipse 42% 44% at 90% 20%, rgba(255,255,255,0.08) 0%, transparent 60%),
    linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 58%);
}

.notfall-hero::after {
  content: '';
  position: absolute;
  right: clamp(1.2rem, 4vw, 4.5rem);
  top: 1.6rem;
  width: 190px;
  height: 190px;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,0.14);
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0));
  transform: rotate(12deg);
  opacity: 0.64;
  pointer-events: none;
}

.notfall-hero .hero-inner {
  gap: clamp(1.2rem, 2.2vw, 2.2rem);
  align-items: start;
}

.notfall-hero .hero-copy {
  max-width: 62ch;
}

.notfall-hero p,
.notfall-hero ~ .content p {
  line-height: 1.62;
}

.emergency-strip-hero {
  padding: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: calc(var(--card-radius) + 8px);
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.04));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.emergency-call {
  box-shadow: 0 1px 0 rgba(0,0,0,0.05);
}

.emergency-call--primary {
  background: linear-gradient(180deg, #c63b2f 0%, #ac251f 100%);
  color: var(--cta-primary-text);
}

.emergency-call--secondary {
  background: rgba(255,255,255,0.94);
  color: var(--emergency-dark);
  border: 1px solid rgba(255,255,255,0.28);
}

.emergency-call--secondary .emergency-call-num,
.emergency-call--secondary .emergency-call-label {
  color: var(--emergency-dark);
}

.emergency-call--outline {
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.18);
  color: var(--white-text);
}

.emergency-call--outline .emergency-call-label {
  color: var(--white-text-secondary);
}

.situations {
  padding: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: calc(var(--card-radius) + 8px);
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.04));
}

.sit-card {
  position: relative;
  overflow: hidden;
  min-height: 84px;
  padding: 14px 14px 14px 18px;
  border-color: rgba(185,28,28,0.08);
  background: linear-gradient(180deg, rgba(255,255,255,0.99), rgba(244,241,236,0.94));
  box-shadow: 0 1px 0 rgba(0,0,0,0.04);
}

.sit-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--sand);
}

.sit-card.urgent {
  border-color: rgba(185,28,28,0.16);
  background: linear-gradient(180deg, rgba(255,255,255,0.99), rgba(254,242,242,0.94));
}

.sit-card.urgent::before {
  background: var(--alert);
}

.sit-card:not(.urgent) .sit-badge {
  background: rgba(221,210,191,0.42);
  color: var(--sand-deep);
}

.sit-card.urgent .sit-badge {
  background: rgba(185,28,28,0.12);
}

.sit-text {
  line-height: 1.4;
}

.hero-visual {
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.88));
  border: 1px solid rgba(255,255,255,0.16);
  box-shadow: var(--shadow-atmosphere);
}

.number-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.99), rgba(244,241,236,0.92));
  border-color: rgba(45,40,35,0.08);
  box-shadow: var(--shadow-soft);
}

.numbers-grid .number-card:nth-child(-n+2) {
  background: linear-gradient(180deg, rgba(255,255,255,0.99), rgba(254,242,242,0.92));
  border-color: rgba(185,28,28,0.16);
}

@media (max-width: 900px) {
  [data-module-accent]:not([data-module-accent="8"]) .module-hero::after,
  .notfall-hero::after {
    display: none;
  }

  [data-module-accent]:not([data-module-accent="8"]) .module-hero-inner {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  [data-module-accent]:not([data-module-accent="8"]) .module-hero-inner > .quote-block,
  [data-module-accent]:not([data-module-accent="8"]) .module-hero-inner > .module-summary,
  [data-module-accent]:not([data-module-accent="8"]) .module-hero-inner > .toc {
    grid-column: 1;
    grid-row: auto;
  }
}

@media (max-width: 600px) {
  [data-module-accent]:not([data-module-accent="8"]) .module-hero {
    padding-top: calc(var(--nav-height) + var(--space-lg));
    padding-bottom: 28px;
  }

  [data-module-accent]:not([data-module-accent="8"]) .module-hero-inner {
    gap: var(--space-base);
  }

  [data-module-accent]:not([data-module-accent="8"]) .module-hero h1 {
    max-width: none;
  }

  [data-module-accent]:not([data-module-accent="8"]) .module-meta {
    gap: var(--space-sm);
  }

  [data-module-accent]:not([data-module-accent="8"]) .quote-block,
  [data-module-accent]:not([data-module-accent="8"]) .module-summary,
  [data-module-accent]:not([data-module-accent="8"]) .toc {
    padding-left: 18px;
    padding-right: 18px;
  }

  [data-module-accent]:not([data-module-accent="8"]) .quote-block blockquote,
  [data-module-accent]:not([data-module-accent="8"]) .module-summary p,
  [data-module-accent]:not([data-module-accent="8"]) .module-summary li {
    line-height: 1.56;
  }

  .notfall-hero {
    padding-top: calc(var(--nav-height) + var(--space-base));
    padding-bottom: var(--space-lg);
  }

  .notfall-hero h1 {
    margin-bottom: var(--space-sm);
  }

  .notfall-hero p {
    margin-bottom: var(--space-sm);
  }

  .emergency-strip-hero,
  .situations {
    padding: 10px;
  }

  .emergency-strip-hero {
    gap: var(--space-sm);
  }

  .emergency-call {
    min-height: 52px;
  }

  .sit-card {
    min-height: 74px;
    padding: 13px 12px 13px 16px;
  }
}

/* ══════════════════════════════════════════════════════════
   VISUAL POLISH PASS — Module Body Hierarchy
   Sharper section starts, clearer callout types, calmer long-form rhythm.
   ══════════════════════════════════════════════════════════ */

[data-module-accent]:not([data-module-accent="8"]) .content {
  --module-body-accent: var(--module-hero-accent);
  --module-body-line: rgba(45,40,35,0.08);
  --module-body-shadow: 0 14px 32px rgba(45,40,35,0.05);
  --module-body-surface: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,241,236,0.88));
  --module-body-note-surface: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(238,245,242,0.76));
  --module-body-accent-glow: var(--module-hero-glow);
}

[data-module-accent="1"] .content,
[data-module-accent="3"] .content {
  --module-body-note-surface: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(238,243,248,0.92));
}

[data-module-accent="2"] .content,
[data-module-accent="4"] .content,
[data-module-accent="5"] .content {
  --module-body-note-surface: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(246,240,231,0.94));
}

[data-module-accent="6"] .content,
[data-module-accent="7"] .content {
  --module-body-note-surface: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(232,246,239,0.92));
}

[data-module-accent]:not([data-module-accent="8"]) .content > h2 {
  position: relative;
  margin-top: clamp(3.35rem, 7vw, 4.85rem);
  padding-top: calc(var(--content-gap) + 18px);
  line-height: 1.05;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

[data-module-accent]:not([data-module-accent="8"]) .content > h2::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 78px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--module-body-accent) 0%, rgba(255,255,255,0) 100%);
  box-shadow: 0 10px 26px var(--module-body-accent-glow);
}

[data-module-accent]:not([data-module-accent="8"]) .content > h2 + p {
  max-width: 64ch;
  font-size: clamp(1.03rem, 0.99rem + 0.18vw, 1.12rem);
  line-height: 1.82;
  color: var(--text);
}

[data-module-accent]:not([data-module-accent="8"]) .content > h2 + p + p {
  max-width: 66ch;
}

[data-module-accent]:not([data-module-accent="8"]) .content > h2 + :is(.phase-explorer, .accordion-group, .tool-cta, .alert-box, .content-note, .hint-note, .reflection, .takeaways, .bright-moment, .pause-box, .selftest, .do-dont, .ampel, .module-illustration, .wave-chart-section, .treatment-grid, .treatment-details) {
  margin-top: calc(var(--space-lg) + 4px);
}

[data-module-accent]:not([data-module-accent="8"]) .content :is(.quote-block, .alert-box, .reflection, .takeaways, .content-note, .hint-note, .bright-moment, .tool-cta, .pause-box, .selftest, .do-dont, .ampel, .module-illustration, .wave-chart-section, .treatment-grid, .treatment-details, .phase-explorer, .accordion-group) {
  scroll-margin-top: calc(var(--nav-height) + 24px);
}

[data-module-accent]:not([data-module-accent="8"]) .content h2.subsection-heading {
  background: var(--module-body-surface);
  border: 1px solid var(--module-body-line);
  border-left: 4px solid var(--module-body-accent);
  border-radius: 0 22px 22px 0;
  padding: 14px 20px 14px 16px;
  box-shadow: var(--shadow-soft);
  max-width: 42ch;
}

[data-module-accent]:not([data-module-accent="8"]) .content .hint-note {
  display: block;
  background: var(--module-body-surface);
  border: 1px solid var(--module-body-line);
  border-left-width: 4px;
  border-radius: 0 18px 18px 0;
  padding: 14px 18px 14px 16px;
  box-shadow: 0 10px 22px rgba(45,40,35,0.035);
}

[data-module-accent]:not([data-module-accent="8"]) .content .hint-note strong {
  color: var(--text);
}

[data-module-accent]:not([data-module-accent="8"]) .content .hint-note--alert {
  background: linear-gradient(180deg, rgba(255,255,255,0.99), rgba(254,242,242,0.94));
  border-color: rgba(185,28,28,0.16);
  border-left-color: var(--alert-red-border);
}

[data-module-accent]:not([data-module-accent="8"]) .content .content-note {
  border: 1px solid rgba(180,83,9,0.14);
  border-left: 4px solid var(--amber);
  border-radius: 0 20px 20px 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(253,248,240,0.96));
  box-shadow: var(--module-body-shadow);
  padding: 16px 20px;
}

[data-module-accent]:not([data-module-accent="8"]) .content .alert-box {
  position: relative;
  overflow: hidden;
  padding: 18px 20px;
  border-radius: 20px;
  box-shadow: 0 16px 34px rgba(165,42,42,0.07);
}

[data-module-accent]:not([data-module-accent="8"]) .content .alert-box::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--alert);
}

[data-module-accent]:not([data-module-accent="8"]) .content .alert-box-icon {
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.25);
}

[data-module-accent]:not([data-module-accent="8"]) .content .reflection {
  border-left: 4px solid var(--rose-border);
  box-shadow: var(--module-body-shadow);
  padding: 22px 24px;
}

[data-module-accent]:not([data-module-accent="8"]) .content .reflection-label {
  letter-spacing: 0.12em;
}

[data-module-accent]:not([data-module-accent="8"]) .content .bright-moment {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(232,246,239,0.94));
  box-shadow: var(--module-body-shadow);
  padding: 20px 22px;
}

[data-module-accent]:not([data-module-accent="8"]) .content .bright-moment::before {
  content: '';
  position: absolute;
  inset: auto -36px -44px auto;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(88,154,126,0.12) 0%, rgba(88,154,126,0) 72%);
  pointer-events: none;
}

[data-module-accent]:not([data-module-accent="8"]) .content .bright-moment p,
[data-module-accent]:not([data-module-accent="8"]) .content p.bright-moment {
  position: relative;
  z-index: 1;
  line-height: 1.72;
}

[data-module-accent]:not([data-module-accent="8"]) .content .tool-cta {
  position: relative;
  overflow: hidden;
  background: var(--module-body-note-surface);
  border: 1px solid var(--module-body-line);
  border-left: 4px solid var(--module-body-accent);
  border-radius: 22px;
  box-shadow: var(--module-body-shadow);
  padding: 18px 22px;
}

[data-module-accent]:not([data-module-accent="8"]) .content .tool-cta::after {
  content: '';
  position: absolute;
  right: -34px;
  bottom: -44px;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--module-body-accent-glow) 0%, rgba(255,255,255,0) 72%);
  pointer-events: none;
}

[data-module-accent]:not([data-module-accent="8"]) .content .tool-cta-icon,
[data-module-accent]:not([data-module-accent="8"]) .content .tool-cta-body {
  position: relative;
  z-index: 1;
}

[data-module-accent]:not([data-module-accent="8"]) .content .tool-cta-body h3 {
  line-height: 1.2;
}

[data-module-accent]:not([data-module-accent="8"]) .content .takeaways {
  box-shadow: var(--shadow-atmosphere);
}

[data-module-accent]:not([data-module-accent="8"]) .content .takeaways h2,
[data-module-accent]:not([data-module-accent="8"]) .content .takeaways h3 {
  text-wrap: balance;
}

[data-module-accent]:not([data-module-accent="8"]) .content .pause-box,
[data-module-accent]:not([data-module-accent="8"]) .content .selftest {
  background: var(--module-body-surface);
  border: 1px solid var(--module-body-line);
  box-shadow: var(--module-body-shadow);
}

[data-module-accent]:not([data-module-accent="8"]) .content .do-dont {
  align-items: stretch;
}

[data-module-accent]:not([data-module-accent="8"]) .content .do-col,
[data-module-accent]:not([data-module-accent="8"]) .content .dont-col,
[data-module-accent]:not([data-module-accent="8"]) .content .ampel-card {
  box-shadow: var(--shadow-soft);
}

[data-module-accent]:not([data-module-accent="8"]) .content .section-group-label {
  display: flex;
  align-items: center;
  gap: 14px;
}

[data-module-accent]:not([data-module-accent="8"]) .content .section-group-label::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(45,40,35,0.14), rgba(45,40,35,0));
}

@media (max-width: 600px) {
  [data-module-accent]:not([data-module-accent="8"]) .content > h2 {
    margin-top: clamp(2.7rem, 10vw, 3.4rem);
    padding-top: calc(var(--content-gap) + 12px);
  }

  [data-module-accent]:not([data-module-accent="8"]) .content > h2 + p {
    font-size: var(--text-base);
    line-height: 1.74;
  }

  [data-module-accent]:not([data-module-accent="8"]) .content h2.subsection-heading,
  [data-module-accent]:not([data-module-accent="8"]) .content .hint-note,
  [data-module-accent]:not([data-module-accent="8"]) .content .content-note,
  [data-module-accent]:not([data-module-accent="8"]) .content .alert-box,
  [data-module-accent]:not([data-module-accent="8"]) .content .reflection,
  [data-module-accent]:not([data-module-accent="8"]) .content .bright-moment,
  [data-module-accent]:not([data-module-accent="8"]) .content .tool-cta,
  [data-module-accent]:not([data-module-accent="8"]) .content .pause-box,
  [data-module-accent]:not([data-module-accent="8"]) .content .selftest {
    padding-left: 16px;
    padding-right: 16px;
  }

  [data-module-accent]:not([data-module-accent="8"]) .content .tool-cta {
    padding-top: 16px;
    padding-bottom: 16px;
  }

  [data-module-accent]:not([data-module-accent="8"]) .content .section-group-label {
    gap: 10px;
  }
}

/* ══════════════════════════════════════════════════════════
   VISUAL POLISH PASS — Module Specialized Components
   Last-mile polish for module-specific explorers, cards and decision blocks.
   ══════════════════════════════════════════════════════════ */

[data-module-accent]:not([data-module-accent="8"]) .phase-explorer {
  background: linear-gradient(180deg, rgba(255,255,255,0.99), rgba(244,241,236,0.92));
  border: 1px solid var(--module-body-line);
  border-radius: calc(var(--card-radius) + 2px);
  box-shadow: var(--shadow-atmosphere);
  overflow: hidden;
}

[data-module-accent]:not([data-module-accent="8"]) .phase-tabs {
  gap: 10px;
  padding: 10px;
  background: linear-gradient(180deg, rgba(255,255,255,0.86), rgba(255,255,255,0.62));
  border-bottom: 1px solid var(--module-body-line);
}

[data-module-accent]:not([data-module-accent="8"]) .phase-tab {
  min-height: 76px;
  border: 1px solid transparent;
  border-radius: 18px;
  padding: 16px 14px 14px;
}

[data-module-accent]:not([data-module-accent="8"]) .phase-tab:hover {
  background: rgba(255,255,255,0.88);
  box-shadow: 0 10px 24px rgba(45,40,35,0.06);
}

[data-module-accent]:not([data-module-accent="8"]) .phase-tab.active-mania,
[data-module-accent]:not([data-module-accent="8"]) .phase-tab.active-stable,
[data-module-accent]:not([data-module-accent="8"]) .phase-tab.active-depression {
  border-color: rgba(45,40,35,0.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.52);
}

[data-module-accent]:not([data-module-accent="8"]) .phase-content {
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,246,242,0.94));
}

[data-module-accent]:not([data-module-accent="8"]) .phase-header {
  line-height: 1.18;
}

[data-module-accent]:not([data-module-accent="8"]) .phase-subtitle {
  max-width: 62ch;
  line-height: 1.65;
}

[data-module-accent]:not([data-module-accent="8"]) .symptom-card {
  background: rgba(255,255,255,0.82);
  border: 1px solid var(--module-body-line);
  border-left-width: 4px;
  border-radius: 18px;
  box-shadow: 0 12px 24px rgba(45,40,35,0.035);
}

[data-module-accent]:not([data-module-accent="8"]) .symptom-title {
  line-height: 1.25;
}

[data-module-accent]:not([data-module-accent="8"]) .symptom-desc {
  line-height: 1.62;
}

[data-module-accent]:not([data-module-accent="8"]) .symptom-partner {
  margin-top: 10px;
  line-height: 1.6;
}

[data-module-accent]:not([data-module-accent="8"]) .phase-note {
  background: var(--module-body-note-surface);
  border: 1px solid var(--module-body-line);
  border-left: 4px solid var(--module-body-accent);
  border-radius: 0 18px 18px 0;
  box-shadow: 0 12px 24px rgba(45,40,35,0.04);
}

[data-module-accent]:not([data-module-accent="8"]) .accordion-group {
  display: grid;
  gap: 14px;
}

[data-module-accent]:not([data-module-accent="8"]) .accordion-item {
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,241,236,0.9));
  border: 1px solid var(--module-body-line);
  border-radius: calc(var(--card-radius) + 2px);
  box-shadow: var(--module-body-shadow);
}

[data-module-accent]:not([data-module-accent="8"]) .accordion-item.open {
  border-color: rgba(45,40,35,0.12);
}

[data-module-accent]:not([data-module-accent="8"]) .accordion-header {
  padding: 22px 24px;
}

[data-module-accent]:not([data-module-accent="8"]) .accordion-icon-badge {
  background: rgba(255,255,255,0.84);
  border: 1px solid var(--module-body-line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.5);
}

[data-module-accent]:not([data-module-accent="8"]) .accordion-title {
  line-height: 1.22;
}

[data-module-accent]:not([data-module-accent="8"]) .accordion-subtitle {
  line-height: 1.5;
}

[data-module-accent]:not([data-module-accent="8"]) .accordion-chevron {
  background: rgba(255,255,255,0.86);
  border: 1px solid var(--module-body-line);
}

[data-module-accent]:not([data-module-accent="8"]) .accordion-item.open .accordion-chevron {
  background: rgba(168,213,203,0.28);
}

[data-module-accent]:not([data-module-accent="8"]) .accordion-body-inner {
  padding: 4px 24px 24px;
  border-top: 1px solid rgba(45,40,35,0.06);
}

[data-module-accent]:not([data-module-accent="8"]) .accordion-body-inner p:last-child {
  margin-bottom: 0;
}

[data-module-accent]:not([data-module-accent="8"]) .treatment-card,
[data-module-accent]:not([data-module-accent="8"]) .timeline-section,
[data-module-accent]:not([data-module-accent="8"]) .erosion-section,
[data-module-accent]:not([data-module-accent="8"]) .wave-chart-section,
[data-module-accent]:not([data-module-accent="8"]) .section-card,
[data-module-accent]:not([data-module-accent="8"]) .decision-visual,
[data-module-accent]:not([data-module-accent="8"]) .selftest,
[data-module-accent]:not([data-module-accent="8"]) .stat-box {
  background: var(--module-body-surface);
  border: 1px solid var(--module-body-line);
  box-shadow: var(--module-body-shadow);
}

[data-module-accent]:not([data-module-accent="8"]) .treatment-card {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  border-left: 4px solid var(--module-body-accent);
  padding: 20px 22px;
}

[data-module-accent]:not([data-module-accent="8"]) .treatment-card::after {
  content: '';
  position: absolute;
  right: -34px;
  bottom: -44px;
  width: 132px;
  height: 132px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--module-body-accent-glow) 0%, rgba(255,255,255,0) 72%);
  pointer-events: none;
}

[data-module-accent]:not([data-module-accent="8"]) .treatment-card > * {
  position: relative;
  z-index: 1;
}

[data-module-accent]:not([data-module-accent="8"]) .treatment-card-icon {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(45,40,35,0.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.42);
}

[data-module-accent]:not([data-module-accent="8"]) .treatment-card h3 {
  line-height: 1.24;
}

[data-module-accent]:not([data-module-accent="8"]) .treatment-card p {
  font-size: var(--text-sm);
  line-height: 1.62;
}

[data-module-accent]:not([data-module-accent="8"]) .treatment-card--horizontal {
  gap: 18px;
}

[data-module-accent]:not([data-module-accent="8"]) .treatment-card-icon--num {
  background: rgba(255,255,255,0.92);
  color: var(--module-body-accent);
  border: 1px solid rgba(45,40,35,0.08);
}

[data-module-accent]:not([data-module-accent="8"]) .do-col,
[data-module-accent]:not([data-module-accent="8"]) .dont-col,
[data-module-accent]:not([data-module-accent="8"]) .loss-card,
[data-module-accent]:not([data-module-accent="8"]) .phase-card,
[data-module-accent]:not([data-module-accent="8"]) .stigma-card,
[data-module-accent]:not([data-module-accent="8"]) .barrier-card,
[data-module-accent]:not([data-module-accent="8"]) .decision-path,
[data-module-accent]:not([data-module-accent="8"]) .situation-card,
[data-module-accent]:not([data-module-accent="8"]) .grenz-example {
  box-shadow: 0 12px 24px rgba(45,40,35,0.04);
}

[data-module-accent]:not([data-module-accent="8"]) .do-col,
[data-module-accent]:not([data-module-accent="8"]) .dont-col,
[data-module-accent]:not([data-module-accent="8"]) .loss-card,
[data-module-accent]:not([data-module-accent="8"]) .barrier-card,
[data-module-accent]:not([data-module-accent="8"]) .decision-path,
[data-module-accent]:not([data-module-accent="8"]) .situation-card,
[data-module-accent]:not([data-module-accent="8"]) .grenz-example {
  border-color: var(--module-body-line);
}

[data-module-accent]:not([data-module-accent="8"]) .do-col h4,
[data-module-accent]:not([data-module-accent="8"]) .dont-col h4,
[data-module-accent]:not([data-module-accent="8"]) .phase-card h3,
[data-module-accent]:not([data-module-accent="8"]) .stigma-card h3,
[data-module-accent]:not([data-module-accent="8"]) .barrier-card h3,
[data-module-accent]:not([data-module-accent="8"]) .barrier-card h4,
[data-module-accent]:not([data-module-accent="8"]) .decision-path h3,
[data-module-accent]:not([data-module-accent="8"]) .section-card h3,
[data-module-accent]:not([data-module-accent="8"]) .situation-card h4 {
  line-height: 1.24;
}

[data-module-accent]:not([data-module-accent="8"]) .loss-card p,
[data-module-accent]:not([data-module-accent="8"]) .phase-card p,
[data-module-accent]:not([data-module-accent="8"]) .stigma-card p,
[data-module-accent]:not([data-module-accent="8"]) .barrier-card p,
[data-module-accent]:not([data-module-accent="8"]) .decision-path li,
[data-module-accent]:not([data-module-accent="8"]) .section-card p,
[data-module-accent]:not([data-module-accent="8"]) .situation-card .response,
[data-module-accent]:not([data-module-accent="8"]) .grenz-bad,
[data-module-accent]:not([data-module-accent="8"]) .grenz-good {
  line-height: 1.58;
}

[data-module-accent]:not([data-module-accent="8"]) .timeline-section,
[data-module-accent]:not([data-module-accent="8"]) .erosion-section,
[data-module-accent]:not([data-module-accent="8"]) .wave-chart-section,
[data-module-accent]:not([data-module-accent="8"]) .section-card {
  border-radius: 20px;
}

[data-module-accent]:not([data-module-accent="8"]) .stat-box {
  align-items: flex-start;
  gap: 18px;
}

[data-module-accent]:not([data-module-accent="8"]) .stat-num {
  min-width: 88px;
}

[data-module-accent]:not([data-module-accent="8"]) .decision-path {
  border: 1px solid var(--module-body-line);
  border-radius: 20px;
}

[data-module-accent]:not([data-module-accent="8"]) .decision-path.stay {
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(232,246,239,0.94));
}

[data-module-accent]:not([data-module-accent="8"]) .decision-path.leave {
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,241,236,0.92));
}

[data-module-accent]:not([data-module-accent="8"]) .grenz-example {
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,241,236,0.92));
  border-radius: 20px;
}

@media (max-width: 720px) {
  [data-module-accent]:not([data-module-accent="8"]) .phase-tabs {
    grid-template-columns: 1fr;
    gap: var(--space-sm);
    padding: var(--space-sm);
  }

  [data-module-accent]:not([data-module-accent="8"]) .phase-tab {
    min-height: 0;
    text-align: left;
    padding: 14px 16px;
  }

  [data-module-accent]:not([data-module-accent="8"]) .phase-tab-icon {
    display: inline-block;
    margin: 0 10px 0 0;
    vertical-align: middle;
  }

  [data-module-accent]:not([data-module-accent="8"]) .accordion-header,
  [data-module-accent]:not([data-module-accent="8"]) .accordion-body-inner {
    padding-left: 18px;
    padding-right: 18px;
  }

  [data-module-accent]:not([data-module-accent="8"]) .treatment-card,
  [data-module-accent]:not([data-module-accent="8"]) .timeline-section,
  [data-module-accent]:not([data-module-accent="8"]) .erosion-section,
  [data-module-accent]:not([data-module-accent="8"]) .wave-chart-section,
  [data-module-accent]:not([data-module-accent="8"]) .section-card,
  [data-module-accent]:not([data-module-accent="8"]) .selftest,
  [data-module-accent]:not([data-module-accent="8"]) .stat-box,
  [data-module-accent]:not([data-module-accent="8"]) .decision-path,
  [data-module-accent]:not([data-module-accent="8"]) .grenz-example {
    border-radius: 18px;
  }
}
