/* =====================================================================
   HEFT7 — standard diagramów redakcyjnych (od 06.10.2026)
   - tło = tło sekcji (bez plansz, cieni, gradientów, elips, kół)
   - tekst HTML (ostry, dostępny); linie i groty: cienkie, ciągłe, miedź
   - granatowy tekst na jasnym tle, jasny na granatowym (.cs-dark)
   - hierarchia: przyczyna → mechanizm → skutek; rezultat nazwany wprost
   - telefon: układ przeorganizowany pionowo, linie poza tekstem
   - ŁĄCZNIKI: wyłącznie linie poziome i pionowe pod kątem 90° (bez łuków,
     krzywych, skosów, zaokrągleń); jeden mały grot na końcu linii wspólnej,
     bez grotów przy rozgałęzieniach; dotyczy schematów, nie wykresów i map
   Komponenty: .hd (bazowy), .hd-conv (ścieżki zbiegające się w rezultat),
   .hd-loop (przepływ ze sprzężeniem zwrotnym), .hd-seq (sekwencja)
   ===================================================================== */
.hd{--hd-ink:var(--ink);--hd-muted:var(--muted);--hd-line:var(--bronze);--hd-accent:var(--accent-ink);
  margin:40px 0 44px;padding:0;background:transparent;border:0;color:var(--hd-ink)}
.cs-dark .hd{--hd-ink:#F1EDE7;--hd-muted:#C3CBD2;--hd-accent:#D2A286}
.hd *{box-sizing:border-box}
.hd-t{margin:0 0 30px;font-family:var(--serif);font-weight:500;font-size:clamp(22px,2vw,27px);line-height:1.25;color:var(--hd-ink)}
.hd-lab{display:block;margin:0 0 8px;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--hd-accent)}
.hd-h{display:block;margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(19px,1.7vw,22px);line-height:1.25;color:var(--hd-ink)}
.hd-d{display:block;margin:6px 0 0;font-family:var(--sans);font-size:14.5px;line-height:1.5;color:var(--hd-muted)}
.hd-note{margin:28px 0 0!important;padding-top:16px;border-top:1px solid var(--line);font-size:15px!important;line-height:1.6!important;color:var(--hd-ink)!important}
.hd-sub{margin:16px 0 0!important;font-size:13.5px!important;line-height:1.55!important;color:var(--hd-muted)!important}
/* strzałka pionowa: linia + mały grot */
.hd-down{display:block;width:12px;height:38px;margin:12px auto;color:var(--hd-line)}
.hd-down svg,.hd-right svg{display:block;width:100%;height:100%;overflow:visible}

/* ---------- .hd-conv: dwie ścieżki → jeden rezultat ---------- */
.hd-conv .hd-cols{display:grid;grid-template-columns:1fr 1fr;gap:0;text-align:center}
.hd-conv .hd-col{display:flex;flex-direction:column;align-items:center;padding:0 clamp(10px,2vw,28px)}
.hd-conv .hd-node{max-width:30ch}
.hd-conv .hd-join{display:block;width:100%;height:16px;margin:16px 0 0;color:var(--hd-line)}
.hd-conv .hd-join+.hd-down{height:26px;margin:-1px auto 12px}
.hd-conv .hd-join svg{display:block;width:100%;height:100%}
.hd-conv .hd-res{text-align:center;margin-top:4px}
.hd-conv .hd-res .hd-h{font-size:clamp(30px,3vw,40px);line-height:1.1}
@media (max-width:700px){
  .hd-conv .hd-cols{grid-template-columns:1fr;gap:0;text-align:left;position:relative}
  .hd-conv .hd-cols::before{content:"";position:absolute;left:0;top:4px;bottom:0;width:1px;background:var(--hd-line)}
  .hd-conv .hd-cols::after{content:"";position:absolute;left:0;bottom:0;width:15px;height:1px;background:var(--hd-line)}
  .hd-conv .hd-col{align-items:stretch;padding:0 0 0 32px;margin:0 0 26px}
  .hd-conv .hd-col+.hd-col{margin:0 0 0 14px;padding:4px 0 22px 18px;border-left:1px solid var(--hd-line)}
  .hd-conv .hd-col .hd-down{margin:10px 0}
  .hd-conv .hd-join{display:none}
  .hd-conv .hd-join+.hd-down{display:block;margin:0 0 12px 1.5px;height:30px}
  .hd-conv .hd-res{text-align:left}
}

/* ---------- .hd-loop: przepływ + relacja zwrotna ---------- */
.hd-loop .hd-flow{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr);align-items:start;padding-bottom:64px}
.hd-loop .hd-step{text-align:center;padding:0 2px}
.hd-loop .hd-step .hd-h{font-size:17px}
.hd-loop .hd-n{display:block;margin-bottom:6px;font-size:11px;font-weight:500;letter-spacing:.16em;color:var(--hd-accent)}
.hd-loop .hd-right{display:block;height:12px;margin-top:30px;color:var(--hd-line)}
.hd-loop .hd-ret{position:absolute;bottom:22px;height:30px;left:calc((100% - 102px)/8);right:calc((100% - 102px)/8);border:1px solid var(--hd-line);border-top:0}
.hd-loop .hd-ret::before{content:"";position:absolute;left:-5px;top:-9px;width:9px;height:9px;border-left:1px solid var(--hd-line);border-top:1px solid var(--hd-line);transform:rotate(45deg);transform-origin:center}
.hd-loop .hd-ret-l{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:12.5px;font-weight:500;letter-spacing:.04em;color:var(--hd-accent)}
@media (max-width:700px){
  .hd-loop .hd-flow{grid-template-columns:1fr;padding:0 44px 0 0}
  .hd-loop .hd-step{text-align:left}
  .hd-loop .hd-step .hd-h{font-size:18px}
  .hd-loop .hd-right{width:12px;height:34px;margin:10px 0}
  .hd-loop .hd-right svg{transform:none}
  .hd-loop .hd-right .h{display:none}.hd-loop .hd-right .v{display:block!important}
  .hd-loop .hd-ret{left:auto;right:0;top:8px;bottom:8px;height:auto;width:26px;border:1px solid var(--hd-line);border-left:0}
  .hd-loop .hd-ret::before{left:-4px;top:-5px;transform:rotate(-45deg)}
  .hd-loop .hd-ret-l{position:static;display:block;margin-top:16px;text-align:left;font-size:13.5px}
  .hd-loop .hd-ret-l::before{content:"04 → 01 · "}
}

/* ---------- .hd-seq: sekwencja kroków ---------- */
.hd-seq{list-style:none;margin:10px 0 36px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(18px,2.4vw,32px);background:transparent;border:0}
.hd-seq>li{background:transparent!important;padding:0!important;position:relative}
.hd-seq .hd-sn{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.hd-seq .hd-sn b{font-family:var(--serif);font-weight:400;font-size:36px;line-height:1;color:var(--hd-accent);font-variant-numeric:lining-nums;margin:0}
.hd-seq .hd-sn i{flex:1;height:1px;background:var(--hd-line);display:block;position:relative;margin-right:4px}
.hd-seq .hd-sn i::after{content:"";position:absolute;right:-1px;top:-4px;width:8px;height:8px;border-top:1px solid var(--hd-line);border-right:1px solid var(--hd-line);transform:rotate(45deg)}
.hd-seq>li:last-child .hd-sn i{visibility:hidden}
.hd-seq strong{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(20px,1.7vw,23px);line-height:1.2;color:var(--hd-ink)}
.hd-seq em{display:block;font-style:normal;font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--hd-accent);margin-top:6px}
.hd-seq p{margin:10px 0 0;font-size:15px;line-height:1.6;color:var(--hd-muted)}
@media (max-width:700px){
  .hd-seq{grid-template-columns:1fr}
  .hd-seq>li{padding:0 0 26px 30px!important;border-left:1px solid var(--hd-line);margin-left:6px}
  .hd-seq>li:last-child{border-left-color:transparent;padding-bottom:0!important}
  .hd-seq>li::before{content:"";position:absolute;left:0;top:18px;width:18px;height:1px;background:var(--hd-line)}
  .hd-seq .hd-sn i{display:none}
}
