/* ── Master-Layout der Fälle · 17.09.2026 ─────────────────────────────────────────────
   Quelle: scripts/cases/_master.css → assets/case-master.css (build_master.py).
   Telefon bleibt wie gehabt (Karten). Ab 1180 px: redaktionelles Layout —
   links eine mitlaufende Spalte (Fall, Zahlen, Kapitel, Kontakt), rechts Kapitel ohne Kästen,
   große Nummern, Text schmal, Medien breit, Kernsätze und Prinzip als große Typografie.
   Unten auf allen Größen: vorheriger / nächster Fall. */

.cm-no{display:none}
.cm-links{display:contents}

/* vorheriger / nächster Fall — alle Größen */
.cm-next{max-width:1260px;margin:0 auto;padding:10px clamp(20px,4vw,46px) 90px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cm-next .cm-all{grid-column:1/-1;justify-self:center;margin-top:10px;font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink,#f4f1ea);text-decoration:none;border-bottom:1px solid rgba(255,158,209,.45);padding:10px 2px 3px}
.cm-next .cm-all:hover{color:var(--acc,#ff9ed1);border-color:var(--acc,#ff9ed1)}
.cm-nc{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:18px;padding:16px 20px 16px 16px;border:1px solid var(--line,rgba(244,241,234,.12));border-radius:20px;background:rgba(255,255,255,.02);color:var(--ink,#f4f1ea);text-decoration:none;text-transform:none;transition:border-color .2s,background-color .2s}
.cm-nc:hover{border-color:rgba(255,158,209,.5);background:rgba(255,158,209,.05)}
.cm-nc.nx{grid-template-columns:minmax(0,1fr) 88px;text-align:right;padding:16px 16px 16px 20px}
.cm-nc.nx .cm-ni{order:2}
.cm-ni{width:88px;height:88px;border-radius:14px;background:#0c0c0c;display:grid;place-items:center;overflow:hidden}
.cm-ni img{max-width:78%;max-height:78%;object-fit:contain;display:block}
.cm-nk{display:block;font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted,#8a8780)}
.cm-nt{display:block;margin-top:6px;font-weight:900;font-size:clamp(17px,1.6vw,24px);line-height:1.08;letter-spacing:-.02em}
@media (max-width:700px){
  .cm-next{grid-template-columns:1fr;gap:10px;padding-bottom:110px}
  .cm-nc,.cm-nc.nx{grid-template-columns:64px minmax(0,1fr);text-align:left;padding:12px 16px 12px 12px}
  .cm-nc.nx .cm-ni{order:0}
  .cm-ni{width:64px;height:64px;border-radius:12px}
}

@media (min-width:1180px){
  /* Geschichte auf der Mittelachse (Heidar 17.09), ohne Seitenspalte */
  html.cm .story{max-width:none!important;display:block;padding:20px clamp(24px,3vw,48px) 120px}
  html.cm .cm-main{max-width:1000px;margin:0 auto}
  html.cm .cm-main > *{margin-left:auto;margin-right:auto}

  /* Kopf der Geschichte: in der mittleren Textspalte */
  html.cm .cm-main > .story-kick,
  html.cm .cm-main > h2.sh,
  html.cm .cm-main > .by,
  html.cm .cm-main > .legend{max-width:720px;text-align:left}
  html.cm .cm-main > .story-kick{padding-top:150px}
  html.cm .cm-main > h2.sh{margin-top:14px;margin-bottom:10px;font-size:clamp(46px,4.2vw,70px);line-height:1.02}
  html.cm .cm-main > .by{margin-bottom:10px}
  html.cm .cm-main > .legend{justify-content:flex-start}

  /* Kapitel ohne Kästen: Text 720 px mittig, Medien bis 1000 px mittig */
  html.cm .cm-main > .step{position:relative;border:0;border-radius:0;background:none;padding:60px 0 4px;margin:60px auto 0;scroll-margin-top:120px}
  html.cm .cm-main > .step::before{content:"";position:absolute;top:0;left:50%;width:min(720px,100%);transform:translateX(-50%);border-top:1px solid var(--line,rgba(244,241,234,.12))}
  html.cm .cm-main > .step > *{max-width:720px;margin-left:auto;margin-right:auto}
  html.cm .cm-main > .step > .st-media,
  html.cm .cm-main > .step > .st-cap,
  html.cm .cm-main > .step > .figrow,
  html.cm .cm-main > .step > .board,
  html.cm .cm-main > .step > [class*="reel"],
  html.cm .cm-main > .step > [class*="gal"],
  html.cm .cm-main > .step > [class*="grid"],
  html.cm .cm-main > .step > [class*="wide"],
  html.cm .cm-main > .step > [class*="duo"],
  html.cm .cm-main > .step > [class*="cards"],
  html.cm .cm-main > .step > [class*="wall"],
  html.cm .cm-main > .step > [class*="deck"],
  html.cm .cm-main > .step > [class*="facade"],
  html.cm .cm-main > .step > video,
  html.cm .cm-main > .step > figure{max-width:1000px}
  html.cm .cm-main > .step > .n{position:static;display:block;background:none;color:var(--acc,#ff9ed1);padding:0;border-radius:0;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px}
  html.cm .cm-main > .step.ai > .n{color:var(--ai,#c2a8f0)}
  html.cm .cm-main > .step.hard > .n{color:var(--red,#ff7a7a)}
  html.cm .cm-main > .step.win > .n{color:var(--grn,#cdf564)}
  html.cm .cm-main > .step > .cm-no{display:block;position:absolute;top:44px;right:calc(50% - 360px);max-width:none;margin:0;font-weight:900;font-size:clamp(96px,8vw,140px);line-height:.8;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(244,241,234,.26);pointer-events:none;user-select:none}
  html.cm .cm-main > .step > h3{font-size:clamp(34px,3vw,50px);line-height:1.04;letter-spacing:-.03em;margin-top:0;margin-bottom:24px}
  html.cm .cm-main > .step > h3{padding-right:120px}
  html.cm .cm-main > .step > p{font-size:20px;line-height:1.62}
  html.cm .cm-main > .step > .cm-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:18px}
  html.cm .cm-main > .step > .cm-links > a{margin:0}
  html.cm .cm-main > .step > .st-media,
  html.cm .cm-main > .step > .figrow{margin-top:34px}

  /* Kernsatz: große Typografie statt Kasten */
  html.cm .cm-main .board{background:none;border:0;border-left:3px solid var(--grn,#cdf564);border-radius:0;padding:6px 0 6px 30px;margin-top:44px;margin-bottom:30px;max-width:860px}
  html.cm .cm-main .board-big{font-size:clamp(40px,3.8vw,62px);line-height:1.02;letter-spacing:-.035em}

  /* Prinzip und Aufruf: mittig */
  html.cm .cm-main > .principle{max-width:860px;background:none;border:0;border-top:1px solid var(--line,rgba(244,241,234,.12));border-radius:0;padding:80px 0 0;margin-top:80px;text-align:center}
  html.cm .cm-main > .principle p{font-size:clamp(32px,2.9vw,46px);line-height:1.1;letter-spacing:-.03em;max-width:26ch;margin-left:auto;margin-right:auto}
  html.cm .cm-main > .cta{text-align:center;margin-top:52px}
  /* Blöcke, die sich selbst auf Bildschirmbreite ziehen (z. B. Kopfkino-Galerie), bleiben in der Spalte */
  html.cm .cm-main .kkgal{width:auto;max-width:1000px;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}
  html.cm .cm-main .kkgal-head,html.cm .cm-main .kkgrid{margin-left:auto;margin-right:auto;max-width:1000px}
}

