/* ---------- 4 · teorie → otázky a hypotézy ---------- */
.s-theory .th-links { position: absolute; left: 0; top: 0; width: 1920px; height: 1080px; overflow: visible; pointer-events: none; }
.s-theory .th-card { position: absolute; left: 120px; width: 640px; height: 140px; box-sizing: border-box; padding: 22px 30px 0 34px;
  background: rgba(217, 198, 165, .62); border-radius: 4px; border-left: 6px solid rgba(47, 74, 58, .35);
  opacity: 0; transform: translateX(-24px); transition: opacity .7s var(--ease) var(--cd, 0s), transform .9s var(--ease) var(--cd, 0s), border-color .5s, background .5s, box-shadow .5s; }
.s-theory.is-current .th-card, .ov-mini .th-card { opacity: 1; transform: none; }
.s-theory .th-card h3 { font: 700 32px/1.15 var(--f-text); color: var(--les); }
.s-theory .th-card .th-to { display: block; margin-top: 12px; font: 600 26px/1.2 var(--f-text); color: var(--grafit); letter-spacing: .02em; }
.s-theory .th-card .th-to b { color: var(--les); }
.s-theory .th-card .th-to b.acc { color: var(--tmava-terakota); }
.s-theory .th-card .th-au { position: absolute; right: 26px; top: 26px; font: italic 400 22px/1.2 var(--f-text); color: var(--sedohneda); text-align: right; }
.s-theory[data-at="1"] .c1, .s-theory[data-at="2"] .c2, .s-theory[data-at="3"] .c3, .s-theory[data-at="4"] .c4 {
  background: var(--piskovec); border-left-color: var(--terakota); box-shadow: 0 10px 28px -18px rgba(34, 38, 42, .55); }

.s-theory .tg-cap { position: absolute; left: 1150px; font: 600 22px/1 var(--f-text); letter-spacing: .16em; text-transform: uppercase; color: var(--sedohneda); }
.s-theory .tg { position: absolute; left: 1150px; width: 650px; height: 64px; box-sizing: border-box; display: flex; align-items: center; gap: 16px; padding: 0 24px;
  border-radius: 4px; font: 400 26px/1.15 var(--f-text); white-space: nowrap; }
.s-theory .tg b { font: 700 26px/1 var(--f-text); min-width: 46px; letter-spacing: .02em; }
.s-theory .tg.vo { background: var(--les); color: var(--mlecna); }
.s-theory .tg.vo b { color: var(--piskovec); }
.s-theory .tg.h { background: rgba(247, 243, 236, .92); border: 2px solid var(--les); color: var(--grafit); }
.s-theory .tg.h b { color: var(--les); }
.s-theory .tg.h5 { border: 3px solid var(--terakota); box-shadow: 0 0 0 5px rgba(181, 84, 58, .14); }
.s-theory .tg.h5 b { color: var(--tmava-terakota); }
.s-theory .tg .sg { font-weight: 700; color: var(--les); }
.s-theory .tg .sg.neg { color: var(--tmava-terakota); }
.s-theory .tg[data-step] { opacity: .36; transform: none; transition: opacity .6s var(--ease) .55s, box-shadow .6s; }
.s-theory .tg[data-step].is-on { opacity: 1; }

/* vazby: jemné čáry, které se dokreslí v kroku své teorie */
.s-theory .th-links g[data-step] { opacity: 1; transform: none; transition: none; }
.th-ln { fill: none; stroke: var(--les); stroke-width: 2.6px; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1;
  transition: stroke-dashoffset 1.1s cubic-bezier(.45, .05, .2, 1) var(--ld, 0s), stroke-width .5s, opacity .5s; }
.th-ln.acc { stroke: var(--terakota); }
.th-end, .th-start { fill: var(--les); opacity: 0; transition: opacity .4s var(--ease) var(--ed, 0s); }
.th-end.acc { fill: var(--terakota); }
.th-links g.is-on .th-ln { stroke-dashoffset: 0; }
.th-links g.is-on .th-end, .th-links g.is-on .th-start { opacity: 1; }
/* vazby předchozích teorií ustoupí do tenké linky, aktuální teorie zůstane výrazná */
.s-theory .th-links g.is-on .th-ln { stroke-width: 1.4px; opacity: .45; }
.s-theory .th-links g.is-on .th-end, .s-theory .th-links g.is-on .th-start { opacity: .5; }
.s-theory[data-at="1"] .th-links g.k1 .th-ln, .s-theory[data-at="2"] .th-links g.k2 .th-ln,
.s-theory[data-at="3"] .th-links g.k3 .th-ln, .s-theory[data-at="4"] .th-links g.k4 .th-ln { stroke-width: 2.8px; opacity: 1; }
.s-theory[data-at="1"] .th-links g.k1 circle, .s-theory[data-at="2"] .th-links g.k2 circle,
.s-theory[data-at="3"] .th-links g.k3 circle, .s-theory[data-at="4"] .th-links g.k4 circle { opacity: 1; }
.ov-mini .s-theory .th-links g .th-ln { stroke-width: 1.8px; opacity: .8; }
