/* =====================================================================
   Theorieplan (/theorie). Nutzt die Farben/Variablen aus style.css und die
   Bausteine aus standorte.css. Logische Abstände (inline/block) für RTL.
   ===================================================================== */
.th-page{max-inline-size:980px}
.th-branches{display:flex;flex-wrap:wrap;gap:8px;margin-block-end:22px}
.th-branches a{padding-block:8px;padding-inline:14px;border-radius:999px;border:1px solid var(--home-line);background:var(--home-panel);color:var(--home-text);font-weight:800;font-size:calc(13.5px * var(--font-scale,1));text-decoration:none;transition:border-color .15s,background .15s}
.th-branches a:hover{border-color:var(--brand-accent)}
.th-branches a:focus-visible{outline:3px solid var(--brand-accent);outline-offset:2px}
.th-branches a[aria-current]{background:linear-gradient(135deg,var(--brand-accent),#ffb35c);border-color:transparent;color:#1a1200}
.th-section{margin-block-end:34px}
.th-h2{font-size:calc(20px * var(--font-scale,1));margin-block:0 12px}
.th-intro{margin-block:0 14px;color:var(--home-muted);font-size:calc(14px * var(--font-scale,1));max-inline-size:680px}
.th-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.th-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;padding-block:9px;padding-inline:9px 14px;border-radius:calc(var(--rk,1px) * 16);border:1px solid var(--home-line);background:linear-gradient(150deg,var(--home-card),var(--home-panel));color:var(--home-text)}
.th-card.is-today{border-color:var(--brand-accent);box-shadow:0 0 0 1px var(--brand-accent)}
.th-date{display:grid;justify-items:center;gap:0;padding-block:6px;border-radius:calc(var(--rk,1px) * 11);background:linear-gradient(135deg,var(--home-deep-2,#0a3152),var(--home-deep,#031a2e));line-height:1.1;text-align:center}
.th-date small{font-size:calc(9.5px * var(--font-scale,1));font-weight:800;letter-spacing:.04em;color:var(--home-muted);text-transform:uppercase;max-inline-size:54px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.th-date b{font-size:calc(21px * var(--font-scale,1));font-weight:900}
.th-body{display:grid;gap:1px;min-inline-size:0;line-height:1.3}
.th-label{font-size:calc(10.5px * var(--font-scale,1));font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink,var(--brand-accent))}
.th-body strong{font-size:calc(15px * var(--font-scale,1));font-weight:900;overflow-wrap:anywhere}
.th-note{font-size:calc(12.5px * var(--font-scale,1));color:var(--home-muted)}
.th-side{display:grid;justify-items:end;gap:4px;text-align:end}
.th-time{font-size:calc(13px * var(--font-scale,1));font-weight:800;white-space:nowrap}
.th-badge{padding-block:2px;padding-inline:8px;border-radius:999px;background:var(--brand-accent);color:#1a1200;font-size:calc(10.5px * var(--font-scale,1));font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.th-card.is-free{background:transparent;border-style:dashed}
.th-card.is-free .th-label{color:var(--home-muted)}
.th-card.is-free strong{color:var(--home-muted);font-weight:800}
.th-card.is-free .th-date{background:transparent;border:1px dashed var(--home-line)}
.th-card.is-extra .th-date{background:linear-gradient(135deg,var(--brand-accent),#ffb35c);color:#1a1200}
.th-card.is-extra .th-date small{color:#3a2600}
.th-actions{display:flex;flex-wrap:wrap;gap:8px 18px;margin-block:14px 0}
.th-topics{list-style:none;margin:0;padding:0;border-radius:calc(var(--rk,1px) * 16);border:1px solid var(--home-line);background:var(--home-panel);overflow:hidden}
.th-topics li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding-block:9px;padding-inline:12px}
.th-topics li+li{border-block-start:1px solid var(--home-line)}
.th-nr{display:grid;place-items:center;inline-size:28px;block-size:28px;border-radius:50%;background:rgba(255,140,0,.14);border:1px solid rgba(255,140,0,.4);color:var(--accent-ink,var(--brand-accent));font-size:calc(12.5px * var(--font-scale,1));font-weight:900}
.th-topic{display:grid;gap:1px;min-inline-size:0}
.th-topic strong{font-size:calc(14px * var(--font-scale,1));font-weight:800;overflow-wrap:anywhere}
.th-topic small{font-size:calc(12px * var(--font-scale,1));color:var(--accent-ink,var(--brand-accent));font-weight:700}
.th-when{display:grid;justify-items:end;text-align:end;font-size:calc(12.5px * var(--font-scale,1));font-weight:800;white-space:nowrap}
.th-when small{font-weight:600;color:var(--home-muted)}
.th-empty{margin-block-end:34px}
@media(max-width:560px){
  .th-card{grid-template-columns:52px minmax(0,1fr);row-gap:6px}
  .th-side{grid-column:2;grid-auto-flow:column;justify-content:start;justify-items:start;align-items:center;gap:8px;text-align:start}
  .th-topics li{grid-template-columns:30px minmax(0,1fr)}
  .th-when{grid-column:2;justify-items:start;text-align:start;grid-auto-flow:column;justify-content:start;gap:8px;white-space:normal}
}
@media(min-width:800px){
  .th-h2{font-size:calc(24px * var(--font-scale,1))}
  .th-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}
/* Unterricht heute: grün (Karte, Marke „Heute“, Filial-Knopf mit Punkt) */
.th-card.is-today{border-color:#2fbf71;box-shadow:0 0 0 1px #2fbf71;background:linear-gradient(150deg,rgba(47,191,113,.22),rgba(47,191,113,.08))}
.th-card.is-today .th-date{background:linear-gradient(135deg,#2fbf71,#1e9a58);color:#04210f}
.th-card.is-today .th-date small{color:#063219}
.th-card.is-today .th-label{color:var(--ok-ink,#6fe3a3)}
.th-card.is-today .th-badge{background:#2fbf71;color:#04210f}
.th-card.is-today.is-free{background:transparent;border-color:var(--home-line);box-shadow:none}
.th-card.is-today.is-free .th-date{background:transparent;color:inherit}
.th-card.is-today.is-free .th-date small,.th-card.is-today.is-free .th-label{color:var(--home-muted)}
.th-branches a.is-live{border-color:#2fbf71;color:var(--ok-ink,#6fe3a3)}
.th-branches a.is-live::before{content:"";display:inline-block;inline-size:8px;block-size:8px;margin-inline-end:7px;border-radius:50%;background:#2fbf71;box-shadow:0 0 0 3px rgba(47,191,113,.25)}
.th-branches a.is-live[aria-current]{background:linear-gradient(135deg,#2fbf71,#1e9a58);border-color:transparent;color:#04210f}
.th-branches a.is-live[aria-current]::before{background:#04210f;box-shadow:none}
