/*
Theme Name: Trauer & Beileid
Theme URI: https://trauer-beileid.de/
Author: Maik Möhring Media
Description: Nachschlagewerk-Theme im Register-Konzept: Sofortsuche, geteiltes Register, asymmetrisches Beitragsraster. Drei self-hosted Schriften, kein Framework, kein Build-Schritt.
Version: 3.7.0
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: trauerbeileid
*/

:root{
  --bg:#0B0F0D; --bg2:#111815; --fg:#EDF1EE; --dim:#7C8A83; --linie:rgba(237,241,238,.12);
  --ivy:#5BE0A5; --amber:#E8B84B; --rot:#FF7A5C;
  --serif:"Fraunces",Georgia,serif;
  --sans:"IBM Plex Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --rand:clamp(16px,3vw,34px);
  --lese:70ch;
  --seite:1400px;   /* Zentrierrahmen für Artikelseiten */
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:34px;--s7:52px;--s8:80px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--ivy);color:#04140D}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ivy);outline-offset:3px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--s4);top:var(--s4);z-index:200;background:var(--bg2);padding:var(--s3) var(--s4)}
.mono{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}

/* ---------- Kopf ---------- */
.kopf{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:var(--s5);
  padding:14px var(--rand);background:rgba(11,15,13,.8);backdrop-filter:blur(16px) saturate(1.3);
  border-bottom:1px solid var(--linie)}
.marke{font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:-.03em;white-space:nowrap;
  font-variation-settings:"opsz" 20}
.marke i{font-style:normal;color:var(--ivy)}
.kopf nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:clamp(12px,2vw,26px);font-family:var(--mono);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.kopf nav a:hover,.kopf nav .current-menu-item a{color:var(--fg)}

/* ---------- Hero ---------- */
.hero{padding:clamp(48px,10vh,120px) var(--rand) clamp(34px,6vh,72px);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-30% -10% auto;height:80%;pointer-events:none;
  background:radial-gradient(50% 60% at 20% 0,rgba(91,224,165,.16),transparent 65%)}
.hero > *{position:relative}
.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ivy);
  display:flex;align-items:center;gap:10px;margin-bottom:26px}
.kicker::before{content:"";width:26px;height:1px;background:var(--ivy)}
.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(2.5rem,6.4vw,5.6rem);line-height:.95;
  letter-spacing:-.045em;max-width:18ch;font-variation-settings:"opsz" 144}
.hero h1 em{font-style:normal;color:var(--ivy)}
.hero .lead{color:var(--dim);max-width:54ch;margin-top:24px;font-size:clamp(15px,1.1vw,18px)}

.suchfeld{margin-top:40px;max-width:760px;border:1px solid var(--linie);background:rgba(255,255,255,.03);
  display:flex;align-items:center;gap:14px;padding:18px 20px;transition:border-color .2s,background .2s}
.suchfeld:focus-within{border-color:var(--ivy);background:rgba(91,224,165,.05)}
.suchfeld .zeichen{font-family:var(--mono);color:var(--ivy)}
.suchfeld input{flex:1;background:transparent;border:0;outline:0;color:var(--fg);font-family:var(--sans);
  font-size:clamp(16px,1.5vw,20px)}
.suchfeld input::placeholder{color:var(--dim)}
.suchfeld kbd{font-family:var(--mono);font-size:11px;color:var(--dim);border:1px solid var(--linie);padding:4px 8px}
.vorschlaege{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;max-width:760px}
.vorschlaege button{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--dim);background:transparent;border:1px solid var(--linie);padding:8px 12px;cursor:pointer;transition:.18s}
.vorschlaege button:hover{color:var(--fg);border-color:var(--fg)}

/* ---------- Register ---------- */
.register{display:grid;border-top:1px solid var(--linie)}
.reg-liste{border-right:1px solid var(--linie);max-height:82vh;overflow:auto}
.reg-kopf{position:sticky;top:0;background:var(--bg);padding:16px var(--rand);border-bottom:1px solid var(--linie);
  display:flex;justify-content:space-between;align-items:baseline;z-index:2}
.reg-kopf i{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--ivy)}
.eintrag{display:grid;grid-template-columns:34px 1fr auto;gap:14px;align-items:baseline;width:100%;text-align:left;
  padding:15px var(--rand);border:0;border-bottom:1px solid var(--linie);background:transparent;cursor:pointer;
  color:inherit;font-family:inherit;font-size:inherit;transition:.18s}
.eintrag:hover,.eintrag[aria-selected="true"]{background:rgba(255,255,255,.045)}
.eintrag[aria-selected="true"]{box-shadow:inset 2px 0 0 var(--ivy)}
.eintrag .nr{font-family:var(--mono);font-size:11px;color:var(--dim)}
.eintrag .titel{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:-.02em;
  font-variation-settings:"opsz" 24}
.eintrag .art{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.eintrag.aus{display:none}
.reg-tafel{padding:clamp(22px,3.2vw,44px);position:sticky;top:60px;align-self:start}
.tafel-art{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ivy)}
.tafel h2{font-family:var(--serif);font-size:clamp(1.9rem,3.4vw,3.2rem);line-height:1;letter-spacing:-.04em;
  margin:14px 0 18px;font-variation-settings:"opsz" 144}
.tafel p{color:var(--dim);max-width:56ch}
.tafel .zahl{font-family:var(--serif);font-size:clamp(2.6rem,6vw,5rem);line-height:.85;letter-spacing:-.05em;
  margin:28px 0 8px;font-variation-settings:"opsz" 144}
.tafel .zahl small{font-size:.24em;color:var(--dim);letter-spacing:0}
.tafel .weiter{margin-top:26px;display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--ivy);padding-bottom:6px}
.tafel .weiter span{transition:transform .25s}
.tafel .weiter:hover span{transform:translateX(6px)}

/* ---------- Beitragsraster ---------- */
.neu{border-top:1px solid var(--linie);padding:clamp(34px,5vh,70px) var(--rand)}
.neu__kopf{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:baseline;margin-bottom:28px}
.neu__kopf h2{font-family:var(--serif);font-size:clamp(1.8rem,3.4vw,3rem);letter-spacing:-.035em;font-weight:600;
  font-variation-settings:"opsz" 144}
.filter{display:flex;flex-wrap:wrap;gap:6px}
.filter button{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  background:transparent;border:1px solid var(--linie);color:var(--dim);padding:7px 12px;cursor:pointer;transition:.18s}
.filter button:hover{color:var(--fg);border-color:var(--fg)}
.filter button[aria-pressed="true"]{background:var(--ivy);border-color:var(--ivy);color:#04140D}
.gitter{display:grid;gap:1px;background:var(--linie);border:1px solid var(--linie)}
.beitrag{background:var(--bg);padding:clamp(18px,2.2vw,30px);display:flex;flex-direction:column;gap:11px;
  transition:background .2s;min-height:180px}
.beitrag:hover{background:var(--bg2)}
.beitrag.aus{display:none}
.beitrag .oben{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.beitrag .cluster{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ivy)}
.beitrag .frisch{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:#04140D;background:var(--amber);padding:3px 7px}
.beitrag h3{font-family:var(--serif);font-weight:600;font-size:1.3rem;line-height:1.12;letter-spacing:-.025em;
  font-variation-settings:"opsz" 48}
.beitrag p{font-size:14px;color:var(--dim);max-width:44ch}
.beitrag .unten{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;font-family:var(--mono);
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);border-top:1px solid var(--linie);
  padding-top:12px}
.beitrag .pfeil{transition:transform .25s}
.beitrag:hover .pfeil{transform:translateX(6px)}
.beitrag--gross h3{font-size:clamp(1.8rem,3.2vw,2.7rem);letter-spacing:-.04em;font-variation-settings:"opsz" 144}
.beitrag--gross p{font-size:15.5px;max-width:52ch}
.mehr{display:inline-flex;align-items:center;gap:10px;margin-top:24px;font-family:var(--mono);font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--ivy);padding-bottom:6px}
.mehr span{transition:transform .25s}
.mehr:hover span{transform:translateX(6px)}

/* ---------- Kennzahlen ---------- */
.zahlen{display:grid;border-top:1px solid var(--linie)}
.kachel{padding:clamp(26px,3.2vw,48px) var(--rand);border-bottom:1px solid var(--linie)}
.kachel b{display:block;font-family:var(--serif);font-size:clamp(2.3rem,4.8vw,3.8rem);line-height:.85;
  letter-spacing:-.05em;font-variation-settings:"opsz" 144;font-weight:600}
.kachel b small{font-size:.26em;color:var(--dim)}
.kachel span.was{display:block;color:var(--dim);font-size:14px;margin-top:14px;max-width:32ch}

/* ---------- Artikel ---------- */
.brot{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);
  padding:var(--s5) var(--rand) 0}
.brot a:hover{color:var(--fg)}
.titelzone{padding:clamp(34px,6vh,80px) var(--rand) clamp(26px,4vh,52px);border-bottom:1px solid var(--linie);
  position:relative;overflow:hidden}
.titelzone::before{content:"";position:absolute;inset:-40% -10% auto;height:90%;pointer-events:none;
  background:radial-gradient(45% 60% at 12% 0,rgba(91,224,165,.12),transparent 65%)}
.titelzone > *{position:relative}
.titelzone h1{font-family:var(--serif);font-weight:600;font-size:clamp(2.1rem,4.8vw,4.2rem);line-height:.98;
  letter-spacing:-.04em;max-width:22ch;font-variation-settings:"opsz" 144}
.titelzone .lead{color:var(--dim);max-width:52ch;margin-top:20px;font-size:clamp(15px,1.15vw,18px)}
.titelzone .meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--dim);margin-top:24px}

main{padding:clamp(34px,5vh,64px) var(--rand) var(--s8)}
.inhalt{max-width:var(--lese)}
.inhalt h2{font-family:var(--serif);font-size:clamp(1.5rem,2.8vw,2.2rem);letter-spacing:-.03em;
  margin:var(--s8) 0 var(--s4);font-variation-settings:"opsz" 96;font-weight:600}
.inhalt h3{font-family:var(--serif);font-size:1.25rem;letter-spacing:-.02em;margin:var(--s6) 0 var(--s3);font-weight:600}
.inhalt p,.inhalt ul,.inhalt ol{margin:0 0 var(--s4)}
.inhalt ul,.inhalt ol{padding-left:var(--s5)}
.inhalt a{text-decoration:underline;text-decoration-color:var(--ivy);text-underline-offset:4px}
.inhalt table{width:100%;border-collapse:collapse;margin:0 0 var(--s6);font-size:14.5px}
.inhalt th,.inhalt td{text-align:left;padding:var(--s3) var(--s3) var(--s3) 0;border-bottom:1px solid var(--linie);
  vertical-align:top}
.inhalt th{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.tb-kapsel{border-left:2px solid var(--ivy);padding:var(--s2) 0 var(--s2) var(--s5);margin:0 0 var(--s7)}
.tb-kapsel p{font-size:clamp(1.02rem,1.5vw,1.25rem);line-height:1.5}
.tb-kapsel p:last-child{margin:0}
.tb-hinweis{border-left:2px solid var(--rot);padding-left:var(--s5);color:var(--dim);font-size:14.5px;margin:var(--s6) 0}

/* Belegzeile: eigenes Bauteil, erbt nie eine Grösse */
.mmts-beleg,.inhalt .mmts-beleg,.tafel .mmts-beleg,.kachel .mmts-beleg{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;line-height:1.6;font-weight:400;
  font-variation-settings:normal;display:inline-flex;flex-wrap:wrap;gap:6px;align-items:baseline;
  border:0;border-top:1px solid var(--linie);border-radius:0;padding:10px 0 0;margin-top:16px;color:var(--dim)}
.mmts-beleg b,.inhalt .mmts-beleg b,.tafel .mmts-beleg b,.kachel .mmts-beleg b{
  font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ivy);display:inline;font-variation-settings:normal}
.mmts-beleg--fehlt b{color:var(--rot)}
.mmts-beleg--alt b{color:var(--amber)}

/* ---------- Listen ---------- */
.liste{list-style:none;border-top:1px solid var(--linie)}
.liste li{border-bottom:1px solid var(--linie);padding:var(--s6) 0;transition:padding-left .25s}
.liste li:hover{padding-left:var(--s3)}
.liste h2{font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.9rem);letter-spacing:-.03em;font-weight:600;
  margin-bottom:var(--s2)}
.liste p{font-size:14.5px;color:var(--dim);max-width:58ch}
.liste .datum{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);
  margin-top:var(--s3)}
.chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 var(--s6)}
.chips a{display:inline-block;border:1px solid var(--linie);padding:8px 13px;font-size:14px;transition:.18s}
.chips a:hover{border-color:var(--ivy);color:var(--ivy)}
.blaettern{display:flex;justify-content:space-between;gap:var(--s3);margin-top:var(--s8);font-family:var(--mono);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.blaettern a{border-bottom:1px solid var(--ivy);padding-bottom:5px}
.suche-form{display:flex;gap:var(--s3);margin:var(--s5) 0;max-width:560px;border:1px solid var(--linie);padding:14px 18px}
.suche-form input{flex:1;background:transparent;border:0;outline:0;color:var(--fg);font:inherit}
.suche-form button{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  background:transparent;border:0;color:var(--ivy);cursor:pointer}

/* ---------- Fuss ---------- */
.fuss{border-top:1px solid var(--linie);padding:clamp(38px,6vh,76px) var(--rand);color:var(--dim);font-size:13.5px}
.fuss__spalten{display:grid;gap:var(--s6)}
.fuss ul{list-style:none}
.fuss li{margin-bottom:var(--s3)}
.fuss a:hover{color:var(--fg)}
.fuss .mono{display:block;margin-bottom:var(--s4)}
.fuss .unab{border-top:1px solid var(--linie);margin-top:var(--s7);padding-top:var(--s5);max-width:74ch;
  font-size:12px;color:#5C6B64}

/* ---------- Plugin-Werkzeuge ---------- */
.mmts-uhr,.mmts-baukasten{background:transparent;border:1px solid var(--linie);border-radius:0;
  padding:clamp(18px,2.4vw,28px);margin:var(--s6) 0}
.mmts-uhr__frage,.mmts-baukasten__frage{font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.5rem);
  letter-spacing:-.025em;font-variation-settings:"opsz" 48;font-weight:600;margin-bottom:var(--s5)}
.mmts-uhr__wahl button,.mmts-uhr__wahl input,.mmts-uhr__wahl select{font-family:var(--mono);font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;border-radius:0;border:1px solid var(--linie);background:transparent;
  padding:11px 16px;color:var(--fg)}
.mmts-uhr__wahl button[aria-pressed="true"]{background:var(--ivy);border-color:var(--ivy);color:#04140D}
.mmts-uhr__rail{border-top:1px solid var(--linie);margin-top:var(--s5)}
.mmts-uhr__rail li{grid-template-columns:clamp(52px,6vw,84px) 1fr;border-color:var(--linie);padding:var(--s5) 0}
.mmts-uhr__tag{font-family:var(--serif);font-size:clamp(1.9rem,3.6vw,3rem);letter-spacing:-.05em;
  font-variation-settings:"opsz" 144;line-height:.9;font-weight:600}
.mmts-uhr__tag small{font-family:var(--mono);letter-spacing:.16em}
.mmts-uhr__rail b{font-family:var(--serif);font-size:1.15rem;letter-spacing:-.02em;font-weight:600}
.mmts-uhr__wann,.mmts-uhr__norm{border-radius:0;font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase}
.mmts-uhr__merk{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.mmts-baukasten__zahl{font-family:var(--serif);font-size:clamp(2.4rem,5.4vw,4rem);letter-spacing:-.05em;
  font-variation-settings:"opsz" 144;font-weight:600}
.mmts-autor__name{font-family:var(--serif);font-size:1.25rem;letter-spacing:-.025em;font-weight:600}
.mmts-autorbox{border-top:1px solid var(--linie);margin-top:var(--s8);padding-top:var(--s5)}
.mmts-ad{margin:var(--s7) 0;display:flex;justify-content:center}
.mmts-ad--leer{border:1px dashed var(--linie);width:100%;align-items:center;font-family:var(--mono);font-size:10px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}

@media (min-width:760px){
  .gitter{grid-template-columns:repeat(6,1fr)}
  .beitrag{grid-column:span 2}
  .beitrag--gross{grid-column:span 4;grid-row:span 2}
  .beitrag--breit{grid-column:span 3}
}
@media (min-width:900px){
  .register{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
  .zahlen{grid-template-columns:repeat(3,1fr)}
  .kachel{border-right:1px solid var(--linie)}
  .kachel:last-child{border-right:0}
  .fuss__spalten{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:899px){ .reg-tafel{position:static} .reg-liste{max-height:none;border-right:0} }
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto}}
@media print{.kopf,.fuss,.mmts-ad,body::after{display:none}body{background:#fff;color:#000}}

/* ---------- Rückfallebene für Seiteninhalte aus älteren Theme-Fassungen ----------
   Layoutklassen aus dem Seiteninhalt sind ein Fehler, den ich behoben habe. Bestehende
   Seiten sollen deswegen aber nicht kaputt aussehen — diese Regeln fangen sie ab. */
.inhalt .tb-sektion{padding:0;border:0;margin:var(--s7) 0}
.inhalt .tb-kopfzeile{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:baseline}
.inhalt .tb-zeilen{list-style:none;padding:0;border-top:1px solid var(--linie)}
.inhalt .tb-zeilen li{border-bottom:1px solid var(--linie);padding:0}
.inhalt .tb-zeile{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s4);align-items:baseline;
  padding:var(--s5) 0;transition:padding-left .25s}
.inhalt .tb-zeile:hover{padding-left:var(--s3)}
.inhalt .tb-zeile .nr{font-family:var(--mono);font-size:11px;color:var(--ivy)}
.inhalt .tb-zeile b{font-family:var(--serif);font-size:clamp(1.25rem,2.4vw,1.8rem);letter-spacing:-.03em;display:block}
.inhalt .tb-zeile em{font-style:normal;display:block;font-size:14.5px;color:var(--dim);margin-top:6px}
.inhalt .tb-zeile .pfeil{color:var(--ivy)}
.inhalt .tb-zahlen{display:grid;gap:var(--s6);border-top:1px solid var(--linie);padding-top:var(--s6)}
.inhalt .tb-zahl > b{display:block;font-family:var(--serif);font-size:clamp(2rem,4.4vw,3.2rem);line-height:.9;
  letter-spacing:-.045em;font-variation-settings:"opsz" 144}
.inhalt .tb-zahl > b small{font-size:.28em;color:var(--dim)}
.inhalt .tb-zahl span.was{display:block;font-size:14px;color:var(--dim);margin:var(--s3) 0}
.inhalt .tb-karten{list-style:none;padding:0;display:grid;gap:var(--s3)}
.inhalt .lese{max-width:var(--lese)}
@media (min-width:760px){ .inhalt .tb-zahlen{grid-template-columns:repeat(3,1fr)} }

/* ---------- Artikelkopf: Titel und Bild nebeneinander ---------- */
/* Artikelseiten laufen nicht über die volle Breite: Auf einem 1900-Pixel-Schirm
   entsteht sonst ein Loch zwischen Textspalte links und Seitenleiste rechts. */
.titelzone--artikel,.artikel{max-width:var(--seite);margin-inline:auto;width:100%}
.titelzone--artikel{display:grid;gap:clamp(24px,3vw,48px);align-items:center}
.titelzone--artikel .titelzone__text h1{margin-bottom:0}
.titelzone__bild{margin:0}
.titelzone__bild img{width:100%;aspect-ratio:16/9;object-fit:cover}
.titelzone__bild figcaption{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(237,241,238,.45);margin-top:10px}

/* ---------- Artikel mit Seitenleiste ---------- */
.artikel{display:grid;gap:clamp(28px,4vw,80px);align-items:start}
.artikel .inhalt{max-width:var(--lese);min-width:0}
.beiwerk{display:grid;gap:var(--s5);min-width:0}
.beiwerk__oben{min-width:0}
.kasten{border:1px solid var(--linie);padding:var(--s5)}
.kasten > .mono{display:block;margin-bottom:var(--s4);color:var(--ivy)}

.kasten--toc ol{list-style:none;margin:0;padding:0}
.kasten--toc li{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:baseline;
  padding:9px 0;border-top:1px solid var(--linie)}
.kasten--toc li:first-child{border-top:0;padding-top:0}
.kasten--toc .nr{font-family:var(--mono);font-size:10.5px;color:var(--dim)}
.kasten--toc a{font-size:14.5px;line-height:1.4;border-bottom:1px solid transparent;
  transition:border-color .2s,color .2s}
.kasten--toc a:hover{color:var(--ivy);border-color:var(--ivy)}

.kasten--anzeige .mmts-ad{margin:0}
.kasten--anzeige .mmts-ad--leer{width:100%;min-height:250px}

.kasten--verwandt ul{list-style:none;margin:0;padding:0}
.kasten--verwandt li{border-top:1px solid var(--linie)}
.kasten--verwandt li:first-child{border-top:0}
.kasten--verwandt a{display:block;padding:var(--s4) 0;transition:padding-left .25s}
.kasten--verwandt li:first-child a{padding-top:0}
.kasten--verwandt a:hover{padding-left:8px}
.kasten--verwandt b{font-family:var(--serif);font-size:1.05rem;font-weight:600;letter-spacing:-.02em;
  display:block;line-height:1.25;font-variation-settings:"opsz" 36}
.kasten--verwandt a:hover b{color:var(--ivy)}
.kasten--verwandt span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--dim);margin-top:6px}

@media (min-width:1000px){
  .titelzone--artikel{grid-template-columns:minmax(0,1.05fr) minmax(320px,.9fr)}
  .artikel{grid-template-columns:minmax(0,1fr) minmax(280px,340px)}

  /* Das Verzeichnis klebt, verwandte Themen und Anzeige wandern mit.
     Der Trick gegen die Überlappung: Das Verzeichnis sitzt in einem eigenen Bereich,
     der genau dort endet, wo der nächste Kasten beginnt — weiter kann es nicht mitlaufen
     und deshalb nichts überdecken. */
  .beiwerk{align-self:stretch;height:100%;grid-template-rows:1fr auto auto}
  .beiwerk__oben{min-height:0}
  .kasten--toc{position:sticky;top:84px;max-height:calc(100vh - 120px);overflow:auto;scrollbar-width:thin}
}
@media (max-width:999px){
  .kasten--toc{order:-1}
  .beiwerk{margin-top:var(--s7)}
}

/* Die klebende Kopfzeile darf nicht unter die WordPress-Adminleiste rutschen. */
.admin-bar .kopf{top:32px}
@media (max-width:782px){ .admin-bar .kopf{top:46px} }

/* Ältere Importe tragen die Metazeile im Text. Das Template rendert sie jetzt selbst,
   deshalb wird die Fassung im Inhalt ausgeblendet statt in jedem Artikel gelöscht. */
.inhalt > .tb-meta:first-child{display:none}

/* Die Brotkrume gehört in denselben Zentrierrahmen wie der Artikel. */
.single .brot,.page .brot{max-width:var(--seite);margin-inline:auto;width:100%}

/* Auf flachen Bildschirmen verdeckt ein klebendes Verzeichnis mehr, als es nützt. */
@media (min-width:1000px) and (max-height:620px){
  .kasten--toc{position:static;max-height:none;overflow:visible}
}

/* ---------- Glossar-Archiv: zentriert, Kacheln statt Chipreihe ---------- */
.titelzone--mitte{max-width:var(--seite);margin-inline:auto;text-align:center;width:100%}
.titelzone--mitte h1{max-width:none;margin-inline:auto}
.titelzone--mitte .lead{margin-inline:auto;max-width:56ch}

/* Sprungleiste A–Z */
.az{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:var(--s6)}
.az a{font-family:var(--mono);font-size:12px;letter-spacing:.08em;width:34px;height:34px;
  display:grid;place-items:center;border:1px solid var(--linie-hell,rgba(233,237,233,.14));
  color:rgba(237,241,238,.75);transition:.18s}
.az a:hover{border-color:var(--ivy);color:var(--ivy)}

.glossar{max-width:var(--seite);margin-inline:auto;width:100%}
.glossar__gruppe{padding:var(--s7) 0;border-top:1px solid var(--linie)}
.glossar__gruppe:first-child{border-top:0;padding-top:var(--s5)}
.glossar__buchstabe{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.03em;
  margin:0 0 var(--s5);color:var(--ivy);font-variation-settings:"opsz" 144}

.kacheln{display:grid;gap:1px;background:var(--linie);border:1px solid var(--linie);list-style:none;
  margin:0;padding:0}
.kachel-begriff{display:flex;flex-direction:column;gap:10px;background:var(--bg);padding:var(--s5);
  height:100%;transition:background .2s,transform .2s}
.kachel-begriff:hover{background:var(--bg2)}
.kachel-begriff b{font-family:var(--serif);font-size:1.2rem;font-weight:600;letter-spacing:-.025em;
  line-height:1.15;font-variation-settings:"opsz" 48}
.kachel-begriff span{font-size:14px;color:var(--dim);line-height:1.5}
.kachel-begriff .pfeil{margin-top:auto;color:var(--ivy);font-size:15px;transition:transform .25s}
.kachel-begriff:hover .pfeil{transform:translateX(6px)}

@media (min-width:640px){ .kacheln{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1000px){ .kacheln{grid-template-columns:repeat(3,1fr)} }

/* ---------- Glossar-Suche mit Sprachbedienung ---------- */
.glossar-suche{display:flex;align-items:center;gap:14px;max-width:620px;margin:var(--s6) auto 0;
  border:1px solid var(--linie);background:rgba(255,255,255,.03);padding:14px 18px;text-align:left;
  transition:border-color .2s,background .2s}
.glossar-suche:focus-within{border-color:var(--ivy);background:rgba(91,224,165,.05)}
.glossar-suche .zeichen{font-family:var(--mono);color:var(--ivy)}
.glossar-suche input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--fg);
  font-family:var(--sans);font-size:16px}
.glossar-suche input::placeholder{color:var(--dim)}
.glossar-suche .mono{white-space:nowrap;color:var(--dim)}

#tb-mikro{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;cursor:pointer;
  background:transparent;border:1px solid var(--linie);color:var(--dim);transition:.18s}
#tb-mikro:hover{color:var(--fg);border-color:var(--fg)}
#tb-mikro[aria-pressed="true"]{background:var(--ivy);border-color:var(--ivy);color:#04140D;
  animation:tb-puls 1.4s ease-in-out infinite}
@keyframes tb-puls{0%,100%{box-shadow:0 0 0 0 rgba(91,224,165,.45)}50%{box-shadow:0 0 0 8px rgba(91,224,165,0)}}
@media (prefers-reduced-motion:reduce){#tb-mikro[aria-pressed="true"]{animation:none}}

.glossar__leer{text-align:center;color:var(--dim);padding:var(--s8) 0;max-width:48ch;margin-inline:auto}

/* ---------- Magazin-Übersicht je Cluster ---------- */
.magazin{max-width:var(--seite);margin-inline:auto;width:100%}
.magazin__liste{display:grid;gap:1px;background:var(--linie);border:1px solid var(--linie);
  list-style:none;margin:0;padding:0}
.magazin__liste > li > a{display:grid;gap:var(--s4);background:var(--bg);height:100%;
  padding:clamp(18px,2.2vw,28px);transition:background .2s}
.magazin__liste > li > a:hover{background:var(--bg2)}
.magazin__liste figure{margin:0;overflow:hidden}
.magazin__liste figure img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .4s ease}
.magazin__liste > li > a:hover figure img{transform:scale(1.03)}
.magazin__text{display:flex;flex-direction:column;gap:10px;height:100%}
.magazin__text .oben{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.magazin__text .cluster{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ivy)}
.magazin__text .frisch{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:#04140D;background:var(--amber);padding:3px 7px}
.magazin__text h2{font-family:var(--serif);font-size:1.25rem;font-weight:600;letter-spacing:-.025em;
  line-height:1.15;font-variation-settings:"opsz" 48}
.magazin__text p{font-size:14.5px;color:var(--dim);margin:0}
.magazin__text .unten{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;
  font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);
  border-top:1px solid var(--linie);padding-top:12px}
.magazin__text .pfeil{color:var(--ivy);transition:transform .25s}
.magazin__liste > li > a:hover .pfeil{transform:translateX(6px)}

.magazin--gross .magazin__text h2{font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.04em;
  font-variation-settings:"opsz" 144}
.magazin--gross .magazin__text p{font-size:16px;max-width:56ch}

.magazin__begriffe{margin-top:var(--s8);border-top:1px solid var(--linie);padding-top:var(--s6)}
.magazin__begriffe .neu__kopf{margin-bottom:var(--s5)}
.magazin__begriffe .neu__kopf a{border-bottom:1px solid var(--ivy);padding-bottom:4px}

@media (min-width:760px){
  .magazin__liste{grid-template-columns:repeat(2,1fr)}
  .magazin--gross{grid-column:1 / -1}
  .magazin--gross > a{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;
    gap:clamp(20px,3vw,44px)}
}
@media (min-width:1100px){
  .magazin__liste{grid-template-columns:repeat(3,1fr)}
}
