/*
Theme Name: Immobilien-Neubau
Theme URI: https://immobilien-neubau.com
Author: Immobilien-Neubau
Description: Theme für "Das Magazin für Immobilien, Bauen, Wohnen und Investieren". Umsetzung des freigegebenen Designs (Stand 05.11.2026) als WordPress-Theme.
Version: 1.0.0
Requires at least: 5.8
Requires PHP: 7.4
Text Domain: immobilien-neubau
*/

:root{--ink:#111214;--weiss:#fafaf8;--grau:#ecebe7;--stein:#d9d8d3;--cyan:#16b8f3;--cyan-t:#0a7fae;--muted:#55585d;--line:#dcdbd6;
  --disp:"Clash Display","Switzer",system-ui,sans-serif;--text:"Switzer",system-ui,sans-serif;--r:14px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:90px}
body{background:var(--weiss);color:var(--ink);font:400 1.0625rem/1.6 var(--text);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1360px;margin:0 auto;padding:0 40px}
.rund{border-radius:var(--r);overflow:hidden}
.kat{font-size:.85rem;font-weight:600;color:var(--cyan-t)}
.katlink{cursor:pointer;position:relative;z-index:3}
.katlink:hover{text-decoration:underline;text-underline-offset:3px}
time,.meta{font-size:.85rem;color:var(--muted)}
.h2{font:600 clamp(2.4rem,5vw,4.6rem)/.92 var(--disp);letter-spacing:-.03em;text-transform:uppercase}
.sec{padding:120px 0 0}
.kopf{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:48px}
.mehr{font-weight:600;display:inline-flex;gap:8px;align-items:center;border-bottom:2px solid var(--cyan);padding-bottom:3px;white-space:nowrap}
.mehr:hover{color:var(--cyan-t)}
/* Kopfzeile */
.hdr{position:fixed;top:0;left:0;right:0;z-index:40;transition:background .35s,color .35s,box-shadow .35s;color:#fff}
.hdr .wrap{display:flex;align-items:center;gap:28px;height:84px}
.hdr.fest{background:rgba(250,250,248,.94);backdrop-filter:blur(10px);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.logo{font:700 1.3rem/1 var(--disp);text-transform:uppercase;letter-spacing:.01em;white-space:nowrap}
.logo small{display:block;font:500 .58rem/1 var(--text);letter-spacing:.2em;margin-top:5px;opacity:.8}
.nav{display:flex;gap:22px;margin-left:auto;font-weight:500;font-size:.95rem}
.nav a{position:relative;white-space:nowrap}
.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav a:hover:after{transform:scaleX(1)}
.suche{display:flex;align-items:center;gap:6px;border:1.5px solid currentColor;border-radius:999px;height:40px;padding:0 6px 0 16px}
.suche input{border:0;outline:0;background:none;color:inherit;font:inherit;font-size:.9rem;width:110px}
.suche input::placeholder{color:currentColor;opacity:.75}
.suche button{border:0;background:none;color:inherit;width:30px;height:30px;display:grid;place-items:center;cursor:pointer}
.menue-btn{display:none;margin-left:auto;border:1.5px solid currentColor;background:none;color:inherit;border-radius:999px;height:40px;padding:0 18px;font:600 .9rem var(--text);cursor:pointer}
.panel{display:none;position:fixed;inset:84px 0 auto 0;z-index:39;background:var(--weiss);color:var(--ink);padding:28px 20px 36px;box-shadow:0 20px 40px -20px rgba(0,0,0,.3)}
.panel.offen{display:block}
.panel a{display:block;font:600 1.8rem/1.25 var(--disp);text-transform:uppercase;padding:4px 0}
/* Newsletter */
.nl{margin-top:140px;background:var(--ink);color:#fff;padding:110px 0}
.nl .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:end}
.nl h2{font:600 clamp(2.8rem,6vw,5.6rem)/.9 var(--disp);letter-spacing:-.03em;text-transform:uppercase}
.nl h2 em{font-style:normal;color:var(--cyan)}
.nl p{color:rgba(255,255,255,.75);margin-top:18px;max-width:460px}
.nl form{display:flex;gap:10px;flex-wrap:wrap}
.nl input{flex:1;min-width:0;border:1.5px solid rgba(255,255,255,.4);background:transparent;color:#fff;border-radius:999px;padding:16px 22px;font:inherit}
.nl input::placeholder{color:rgba(255,255,255,.6)}
.nl button{border:0;border-radius:999px;padding:16px 30px;background:var(--cyan);color:var(--ink);font:600 1rem var(--text);cursor:pointer}
.nl button:hover{background:#fff}
.nl small{width:100%;color:rgba(255,255,255,.55);font-size:.8rem}
/* Footer */
.ftr{padding:72px 0 40px}
.ftr .gross{font:700 clamp(3rem,11vw,10rem)/.85 var(--disp);letter-spacing:-.04em;text-transform:uppercase;margin-bottom:56px}
.ftr .spalten{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:32px;border-top:1px solid var(--line);padding-top:32px}
.ftr p{color:var(--muted);max-width:340px;font-size:.95rem}
.ftr h4{font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:10px}
.ftr a{display:block;padding:3px 0}
.ftr a:hover{color:var(--cyan-t)}
.ftr .unten{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:40px;font-size:.85rem;color:var(--muted)}
@media (max-width:1180px){.nav,.hdr .suche{display:none}.menue-btn{display:block}}
@media (max-width:860px){
  .wrap{padding:0 20px}.sec{padding-top:88px}
  .nl{margin-top:100px;padding:80px 0}.nl .wrap{grid-template-columns:minmax(0,1fr);gap:28px}
  .ftr .spalten{grid-template-columns:1fr 1fr}.ftr .spalten>div:first-child{grid-column:1/-1}
  .kopf{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* Hero */
.hero{position:relative;height:max(720px,100vh);color:#fff;overflow:hidden}
.hero{clip-path:inset(0)}
.hero>img{position:fixed;inset:0;width:100%;height:100vh;object-fit:cover}
@keyframes ein{from{transform:scale(1.08)}to{transform:none}}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 26%,rgba(0,0,0,0) 42%,rgba(0,0,0,.72) 100%)}
.hero .inhalt{position:absolute;left:0;right:0;bottom:44px;z-index:2}
.hero h1{font:700 clamp(3rem,12.5vw,13rem)/.84 var(--disp);letter-spacing:-.04em;text-transform:uppercase}
.hero h1 em{font-style:normal;color:var(--cyan)}
.hero .zeile{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:36px}
.hero .auf{max-width:520px}
.hero .auf .kat{color:var(--cyan)}
.hero .auf b{display:block;font:600 1.6rem/1.1 var(--disp);margin-top:6px}
.hero .auf p{opacity:.85;margin-top:8px;font-size:1rem}
.hero .pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:620px}
.hero .pills a{border:1.5px solid rgba(255,255,255,.75);border-radius:999px;padding:8px 15px;font-size:.9rem;font-weight:600;transition:background .25s,color .25s}
.hero .pills a:hover{background:#fff;color:var(--ink)}
/* Neu: Poster-Raster */
.neu{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px}
.neu .gross .img{aspect-ratio:5/4}
.neu .gross img,.neu .klein img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.neu .ni-k:hover img{transform:scale(1.04)}
.neu .gross b{display:block;font:600 clamp(2rem,3.4vw,3.2rem)/1 var(--disp);letter-spacing:-.025em;margin-top:18px;text-wrap:balance}
.neu .gross p{color:var(--muted);margin-top:12px;max-width:560px}
.neu .liste{display:flex;flex-direction:column;gap:0;border-top:2px solid var(--ink)}
.neu .klein{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center}
.neu .klein .img{aspect-ratio:1/1}
.neu .klein b{display:block;font:600 1.35rem/1.08 var(--disp);margin-top:6px}
.neu .klein:hover b,.neu .gross:hover b{color:var(--cyan-t)}
/* Randlose Reihe */
.reihe{margin-top:120px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:0}
.reihe .ni-k{position:relative;height:640px;overflow:hidden;color:#fff}
.reihe img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1)}
.reihe .ni-k:hover img{transform:scale(1.06)}
.reihe .ni-k:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.75))}
.reihe .t{position:absolute;left:32px;right:32px;bottom:32px;z-index:2}
.reihe .t .kat{color:var(--cyan)}
.reihe .t b{display:block;font:600 clamp(1.6rem,2.4vw,2.3rem)/1.02 var(--disp);margin-top:8px;letter-spacing:-.02em}
/* Register */
.register{border-top:2px solid var(--ink)}
.register a{position:relative;display:grid;grid-template-columns:100px minmax(0,1.5fr) minmax(0,1fr) 50px;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);overflow:hidden}
.register i{font:600 2.6rem/1 var(--disp);font-style:normal;color:var(--stein);transition:color .3s}
.register b{font:600 clamp(1.8rem,3.5vw,3.3rem)/1 var(--disp);letter-spacing:-.03em;text-transform:uppercase;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.register span{color:var(--muted)}
.register em{font-style:normal;font-size:1.6rem;justify-self:end;transition:transform .3s}
.register .vor{position:absolute;right:120px;top:50%;width:260px;height:170px;border-radius:12px;overflow:hidden;transform:translateY(-50%) scale(.85) rotate(-3deg);opacity:0;transition:opacity .35s,transform .5s cubic-bezier(.16,1,.3,1);pointer-events:none}
.register .vor img{width:100%;height:100%;object-fit:cover}
.register a:hover i{color:var(--cyan)}
.register a:hover b{transform:translateX(14px)}
.register a:hover em{transform:translateX(6px)}
.register a:hover .vor{opacity:1;transform:translateY(-50%) scale(1) rotate(-3deg)}
/* Fokus: Cyan-Fläche */
.fokus{margin-top:140px;background:var(--cyan);color:var(--ink)}
.fokus .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding-top:96px;padding-bottom:96px}
.fokus .etikett{display:inline-block;background:var(--ink);color:#fff;border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:600}
.fokus h2{font:600 clamp(2.6rem,5vw,4.8rem)/.92 var(--disp);letter-spacing:-.03em;margin-top:22px;text-wrap:balance}
.fokus p{margin-top:20px;font-size:1.1rem;max-width:520px}
.fokus ul{list-style:none;margin-top:30px;border-top:2px solid var(--ink)}
.fokus li a{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid rgba(17,18,20,.3);font-weight:600}
.fokus li a:after{content:"→";transition:transform .3s}
.fokus li a:hover:after{transform:translateX(5px)}
.fokus .bild{aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;transform:rotate(2deg);box-shadow:0 30px 60px -30px rgba(0,0,0,.5)}
.fokus .bild img{width:100%;height:100%;object-fit:cover}
/* Ratgeber: Text direkt auf Bild */
.rat{position:relative;margin-top:0;min-height:max(680px,90vh);color:#fff;display:flex;align-items:center;overflow:hidden}
.rat>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 80%}
.rat:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(10,12,14,.86) 0%,rgba(10,12,14,.66) 40%,rgba(10,12,14,.1) 72%,rgba(10,12,14,0) 100%)}
.rat .wrap{position:relative;z-index:2;width:100%}
.rat .box{max-width:600px}
.rat .etikett{display:inline-block;background:var(--cyan);color:var(--ink);border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:600}
.rat h2{font:600 clamp(2.6rem,5.4vw,5rem)/.9 var(--disp);letter-spacing:-.03em;text-transform:uppercase;margin-top:22px}
.rat p{margin-top:18px;opacity:.88;font-size:1.08rem}
.rat ol{list-style:none;margin-top:28px;counter-reset:r}
.rat li a{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:baseline;gap:8px;padding:15px 0;border-top:1px solid rgba(255,255,255,.25);font-weight:600;counter-increment:r}
.rat li a:before{content:counter(r,decimal-leading-zero);font:600 1.1rem var(--disp);color:var(--cyan)}
.rat li a:after{content:"→"}
.rat .knopf{display:inline-block;margin-top:28px;background:#fff;color:var(--ink);border-radius:999px;padding:15px 28px;font-weight:600}
.rat .knopf:hover{background:var(--cyan)}
/* Bildband */
.strecke{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(40px,calc((100% - 1280px)/2)) 12px;scroll-padding-inline:max(40px,calc((100% - 1280px)/2));scrollbar-width:none}
.strecke::-webkit-scrollbar{display:none}
.strecke .ni-k{flex:none;scroll-snap-align:start}
.strecke .img{height:560px;border-radius:var(--r);overflow:hidden}
.strecke .q .img{width:760px}
.strecke .h .img{width:420px}
.strecke img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.strecke .ni-k:hover img{transform:scale(1.04)}
.strecke b{display:block;font:600 1.4rem/1.1 var(--disp);margin-top:14px;max-width:420px}
.pfeile{display:flex;gap:8px}
.pfeile button{width:52px;height:52px;border-radius:50%;border:2px solid var(--ink);background:none;font-size:1.2rem;cursor:pointer;color:var(--ink)}
.pfeile button:hover{background:var(--ink);color:#fff}
/* Meistgelesen */
.meist{counter-reset:m;border-top:2px solid var(--ink)}
.meist .ni-k{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);counter-increment:m}
.meist .ni-k:before{content:counter(m);font:700 4.4rem/1 var(--disp);color:transparent;-webkit-text-stroke:1.5px var(--ink);transition:color .3s}
.meist .ni-k:hover:before{color:var(--cyan);-webkit-text-stroke-color:var(--cyan)}
.meist b{display:block;font:600 clamp(1.4rem,2.4vw,2.1rem)/1.08 var(--disp);letter-spacing:-.02em}
.meist .vor{width:180px;height:120px;border-radius:12px;overflow:hidden}
.meist .vor img{width:100%;height:100%;object-fit:cover}
@media (max-width:1000px){
  .neu,.fokus .wrap{grid-template-columns:minmax(0,1fr)}
  .reihe{grid-template-columns:1fr}.reihe .ni-k{height:420px}
  .register a{grid-template-columns:64px minmax(0,1fr) 30px}.register span,.register .vor{display:none}
  .hero .zeile{flex-direction:column;align-items:flex-start}.hero .pills{justify-content:flex-start}
  .fokus .bild{aspect-ratio:4/3;transform:none}
}
@media (max-width:640px){
  .hero{height:760px}.hero h1{font-size:15vw}
  .register a{grid-template-columns:44px minmax(0,1fr) 22px;gap:12px}.register i{font-size:1.6rem}.register b{font-size:6.2vw}
  .neu .klein{grid-template-columns:100px minmax(0,1fr)}
  .strecke{padding:0 20px 12px;scroll-padding-inline:20px}.strecke .img{height:380px}.strecke .q .img{width:300px}.strecke .h .img{width:230px}
  .meist .ni-k{grid-template-columns:64px minmax(0,1fr)}.meist .ni-k:before{font-size:3rem}.meist .vor{display:none}
  .rat:before{background:linear-gradient(180deg,rgba(10,12,14,.35),rgba(10,12,14,.88) 55%)}
  .rat{align-items:flex-end;padding:120px 0 48px}
}
/* Reportage: Bild klebt, Text läuft */
.reportage{margin-top:140px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);background:var(--grau)}
.reportage .bild{position:sticky;top:0;height:100vh;overflow:hidden}
.reportage .bild img{width:100%;height:100%;object-fit:cover}
.reportage .text{padding:140px 64px 140px 64px}
.reportage .etikett{display:inline-block;background:var(--ink);color:#fff;border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:600}
.reportage h2{font:600 clamp(2.6rem,4.6vw,4.4rem)/.94 var(--disp);letter-spacing:-.03em;margin-top:24px;text-wrap:balance}
.reportage .lead{font-size:1.2rem;margin-top:24px}
.reportage .zitat{font:600 clamp(1.8rem,2.8vw,2.6rem)/1.08 var(--disp);letter-spacing:-.02em;margin:72px 0;padding-left:28px;border-left:6px solid var(--cyan)}
.reportage ul{list-style:none;border-top:2px solid var(--ink)}
.reportage li a{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #c9c8c3;font-weight:600}
.reportage li a:after{content:"→";transition:transform .3s}
.reportage li a:hover:after{transform:translateX(5px)}
/* Ratgeber in Kapiteln */
.kapitel{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.kapitel .intro{background:var(--cyan);border-radius:var(--r);padding:36px 32px;display:flex;flex-direction:column;justify-content:space-between}
.kapitel .intro h2{font:600 clamp(2.2rem,3.2vw,3.2rem)/.92 var(--disp);letter-spacing:-.03em;text-transform:uppercase}
.kapitel .intro p{margin-top:16px}
.kapitel .intro a{align-self:flex-start;margin-top:24px;background:var(--ink);color:#fff;border-radius:999px;padding:14px 24px;font-weight:600}
.kapitel .k{position:relative;border-radius:var(--r);overflow:hidden;min-height:520px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:28px}
.kapitel .k img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.kapitel .k:hover img{transform:scale(1.06)}
.kapitel .k:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.78))}
.kapitel .k i,.kapitel .k b{position:relative;z-index:2}
.kapitel .k i{font:700 4rem/1 var(--disp);font-style:normal;color:var(--cyan)}
.kapitel .k b{font:600 1.5rem/1.08 var(--disp);margin-top:10px}
.band-grau{margin-top:140px;background:#e4e3de;padding:110px 0 100px}
.band-grau .kopf{margin-top:0}
.hero>img{object-position:center 35%}
.hero:after{background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,0) 24%,rgba(0,0,0,.08) 40%,rgba(0,0,0,.78) 100%)}
.reportage{margin-top:140px}
.kapitel .intro h2{font-size:clamp(2rem,2.7vw,2.7rem)}
@media (max-width:1000px){
  .reportage{grid-template-columns:minmax(0,1fr)}.reportage .bild{position:relative;height:60vh}.reportage .text{padding:72px 20px}
  .kapitel{grid-template-columns:minmax(0,1fr)}.kapitel .k{min-height:360px}
}
h1,h2,h3,b{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.crumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:.9rem;font-weight:500;opacity:.9}
.crumbs a:hover{color:var(--cyan)}
.kopfbild{position:relative;min-height:max(560px,72vh);color:#fff;display:flex;align-items:flex-end;overflow:hidden;padding:140px 0 56px}
.kopfbild{clip-path:inset(0);background:#1b1c1f}
.kopfbild>img{position:fixed;inset:0;width:100%;height:100vh;object-fit:cover}
.kopfbild:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.1) 35%,rgba(0,0,0,.78) 100%)}
.kopfbild .wrap{position:relative;z-index:2;width:100%}
.kopfbild h1{font:700 clamp(2.6rem,7vw,7rem)/.88 var(--disp);letter-spacing:-.035em;text-transform:uppercase;margin-top:22px;max-width:1150px;text-wrap:balance;hyphens:auto}
.kopfbild .lead{max-width:640px;margin-top:20px;font-size:1.12rem;opacity:.9}
.karte{display:block}
[hidden]{display:none!important}
.karte .img{aspect-ratio:4/3}
.karte img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.karte:hover img{transform:scale(1.04)}
.karte .zeile{display:flex;gap:12px;align-items:center;margin-top:16px}
.karte .fmt{font-size:.78rem;font-weight:600;border:1.5px solid var(--line);border-radius:999px;padding:2px 10px;color:var(--muted)}
.karte b{display:block;font:600 1.45rem/1.08 var(--disp);letter-spacing:-.015em;margin-top:10px}
.karte:hover b{color:var(--cyan-t)}
.karte p{color:var(--muted);margin-top:8px;font-size:.98rem}
.karte .meta{display:block;margin-top:10px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px}
.x-knopf{display:inline-flex;gap:10px;align-items:center;background:var(--ink);color:#fff;border-radius:999px;padding:15px 26px;font-weight:600}
.knopf:hover{background:var(--cyan);color:var(--ink)}
.slot{border-radius:var(--r);overflow:hidden;background:#e4e3de}
.slot svg{display:block;width:100%;height:100%}
@media (max-width:1000px){.grid3{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.grid3{grid-template-columns:minmax(0,1fr)}.kopfbild{min-height:520px;padding:120px 0 40px}.kopfbild h1{font-size:10vw}}
.knopf{display:inline-flex;gap:10px;align-items:center;background:var(--ink);color:#fff;border-radius:999px;padding:15px 26px;font-weight:600}
.filter{padding:56px 0 0}
.grosssuche{display:flex;gap:12px;align-items:center;border-bottom:3px solid var(--ink);padding-bottom:14px}
.grosssuche svg{width:28px;height:28px;flex:none}
.grosssuche input{flex:1;min-width:0;border:0;outline:0;background:none;font:600 clamp(1.4rem,3vw,2.4rem) var(--disp);color:var(--ink)}
.grosssuche input::placeholder{color:#a3a5a8}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.chips a{border:1.5px solid var(--ink);border-radius:999px;padding:8px 16px;font-weight:600;font-size:.92rem;transition:background .2s,color .2s}
.chips a:hover{background:var(--ink);color:#fff}
.chips a[aria-current]{background:var(--ink);color:#fff}
.chips.fmt a{border-color:var(--line);color:var(--muted)}
.chips.fmt a[aria-current]{background:var(--cyan);border-color:var(--cyan);color:var(--ink)}
.chips .lbl{align-self:center;font-size:.85rem;font-weight:600;color:var(--muted);margin-right:6px}
.unterzeile{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin:48px 0 28px}
.unterzeile h2{font:600 clamp(1.6rem,2.6vw,2.2rem)/1.05 var(--disp);letter-spacing:-.02em}
.anzahl{font-weight:600;color:var(--muted)}
.leer{display:none;padding:56px 40px;background:var(--grau);border-radius:var(--r);text-align:center}
.leer h2{font:600 2.4rem/1 var(--disp);text-transform:uppercase}
.leer p{color:var(--muted);margin:14px auto 24px;max-width:520px}
#fortschritt{position:fixed;top:0;left:0;height:4px;width:0;background:var(--cyan);z-index:60}
.akopf{min-height:max(600px,86vh)}
.akopf h1{text-transform:none;font-size:clamp(2.4rem,5.6vw,5.6rem);line-height:.95;max-width:1050px}
.akopf .kicker{display:flex;gap:10px;margin-top:24px}
.akopf .kicker span{border:1.5px solid rgba(255,255,255,.7);border-radius:999px;padding:5px 14px;font-weight:600;font-size:.88rem}
.akopf .kicker span:first-child{background:var(--cyan);border-color:var(--cyan);color:var(--ink)}
.byline{display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between;padding:28px 0;border-bottom:1px solid var(--line)}
.byline .wer{display:flex;gap:14px;align-items:center}
.byline .slot{width:52px;height:52px;border-radius:50%}
.byline b{display:block;font-weight:600}
.byline .meta{display:block}
.teilen{display:flex;gap:8px;align-items:center}
.teilen a,.teilen button{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;background:none;cursor:pointer;color:var(--ink)}
.teilen a:hover,.teilen button:hover{background:var(--ink);color:#fff}
.teilen svg{width:16px;height:16px}
.arahmen{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:72px;padding-top:56px}
.beitragstext{max-width:720px;font-size:1.12rem;line-height:1.7}
.beitragstext>p{margin-top:20px}
.beitragstext .einstieg{font-size:1.35rem;line-height:1.5;font-weight:500;margin-top:0}
.beitragstext h2{position:relative;font:600 clamp(1.9rem,3vw,2.6rem)/1.02 var(--disp);letter-spacing:-.025em;margin-top:72px;scroll-margin-top:100px}
.beitragstext h2 .anker{position:absolute;left:-42px;top:4px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--muted);opacity:0;transition:opacity .2s}
.beitragstext h2:hover .anker{opacity:1}
.beitragstext a{text-decoration:underline;text-decoration-color:var(--cyan);text-decoration-thickness:2px;text-underline-offset:3px}
.beitragstext ul{list-style:disc;padding-left:1.3em;margin-top:18px}
.beitragstext ul li{margin-top:8px}
.beitragstext ul li::marker{color:var(--cyan-t)}
.antwort{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;background:var(--grau);border-radius:var(--r);padding:28px;margin-top:36px}
.antwort .ic{width:52px;height:52px;border-radius:50%;background:var(--cyan);display:grid;place-items:center}
.antwort .ic svg{width:22px;height:22px}
.antwort span{font-size:.85rem;font-weight:600;color:var(--muted)}
.antwort b{display:block;font:600 1.5rem/1.1 var(--disp);margin-top:4px}
.antwort p{margin-top:10px}
.tb{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:center;margin-top:20px}
.tb .rund{aspect-ratio:4/5}
.tb img{width:100%;height:100%;object-fit:cover}
.kacheln{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}
.kacheln div{background:var(--grau);border-radius:var(--r);padding:22px}
.kacheln i{font:700 2.2rem/1 var(--disp);font-style:normal;color:var(--cyan-t)}
.kacheln b{display:block;font:600 1.2rem/1.1 var(--disp);margin-top:12px}
.kacheln span{display:block;color:var(--muted);margin-top:6px;font-size:.98rem}
.tabelle{overflow-x:auto;margin-top:24px;border-radius:var(--r);border:1px solid var(--line)}
.tabelle table{width:100%;border-collapse:collapse;min-width:560px;font-size:1rem}
.tabelle th{text-align:left;background:var(--ink);color:#fff;padding:14px 16px;font-weight:600}
.tabelle td{padding:14px 16px;border-top:1px solid var(--line);vertical-align:top}
.tabelle td:last-child{font-weight:600}
.tabelle caption{caption-side:bottom;text-align:left;padding:10px 16px;font-size:.85rem;color:var(--muted)}
.schritte{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px;counter-reset:s}
.schritte li{border-top:3px solid var(--ink);padding-top:16px;counter-increment:s}
.schritte li:before{content:counter(s,decimal-leading-zero);font:700 2.4rem/1 var(--disp);color:var(--cyan-t)}
.schritte b{display:block;font:600 1.2rem/1.1 var(--disp);margin-top:10px}
.schritte span{display:block;color:var(--muted);margin-top:4px;font-size:.98rem}
.faq details{border-top:1px solid var(--line);padding:18px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font:600 1.2rem/1.2 var(--disp);list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary:after{content:"+";font-size:1.6rem;line-height:1;color:var(--cyan-t)}
.faq details[open] summary:after{content:"−"}
.faq p{margin-top:10px;color:var(--muted)}
.quellen{margin-top:16px;padding-left:1.2em;color:var(--muted);font-size:.98rem}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:48px}
.tags a{border:1.5px solid var(--ink);border-radius:999px;padding:7px 15px;font-weight:600;font-size:.9rem;text-decoration:none}
.tags a:hover{background:var(--ink);color:#fff}
.cta{margin-top:40px;background:var(--cyan);border-radius:var(--r);padding:32px}
.cta span{font-size:.85rem;font-weight:600}
.cta b{display:block;font:600 1.8rem/1.05 var(--disp);margin-top:6px}
.cta p{margin-top:8px}
.cta .knopf{margin-top:18px;text-decoration:none}
.abox{display:grid;grid-template-columns:96px minmax(0,1fr);gap:22px;margin-top:40px;padding:28px;border:1.5px solid var(--line);border-radius:var(--r)}
.abox .slot{width:96px;height:96px;border-radius:50%}
.abox span{font-size:.85rem;font-weight:600;color:var(--muted)}
.abox b{display:block;font:600 1.4rem/1.1 var(--disp);margin-top:4px}
.abox p{color:var(--muted);margin-top:6px}
.abox a{display:inline-block;margin-top:10px;font-weight:600;text-decoration:none;border-bottom:2px solid var(--cyan)}
aside .klebt{position:sticky;top:110px}
aside .lbl{font-size:.85rem;font-weight:600;color:var(--muted);margin-bottom:12px}
#toc a{display:block;padding:9px 0 9px 16px;border-left:2px solid var(--line);font-weight:500;color:var(--muted);transition:color .2s,border-color .2s}
#toc a:hover{color:var(--ink)}
#toc a.aktiv{border-color:var(--cyan);color:var(--ink);font-weight:600}
.nlmini{display:block;margin-top:32px;background:var(--ink);color:#fff;border-radius:var(--r);padding:24px}
.nlmini b{font:600 1.4rem/1.05 var(--disp);text-transform:uppercase}
.nlmini p{color:rgba(255,255,255,.75);margin-top:8px;font-size:.95rem}
.nlmini span{display:inline-block;margin-top:14px;background:var(--cyan);color:var(--ink);border-radius:999px;padding:10px 18px;font-weight:600;font-size:.9rem}
.tocm{display:none;border:1.5px solid var(--ink);border-radius:var(--r);padding:14px 18px;margin-bottom:28px}
.tocm summary{cursor:pointer;font-weight:600}
.tocm nav a{display:block;padding:7px 0;color:var(--muted)}
.weiter{margin-top:120px;background:var(--grau);padding:100px 0}
#nachOben{position:fixed;right:24px;bottom:24px;z-index:45;width:52px;height:52px;border-radius:50%;border:0;background:var(--ink);color:#fff;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s}
#nachOben.zeigen{opacity:1;pointer-events:auto}
#nachOben:hover{background:var(--cyan);color:var(--ink)}
@media (max-width:1000px){.arahmen{grid-template-columns:minmax(0,1fr)}aside{display:none}.tocm{display:block}.beitragstext h2 .anker{display:none}}
@media (max-width:640px){.tb,.kacheln,.schritte{grid-template-columns:minmax(0,1fr)}.akopf h1{font-size:9vw}.beitragstext{font-size:1.05rem}}
.position{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.position .gross{font:600 clamp(1.8rem,3vw,2.7rem)/1.1 var(--disp);letter-spacing:-.02em}
.position p+p{margin-top:16px}
.position .txt p{color:var(--muted);font-size:1.08rem}
.werte{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:72px}
.werte div{border-radius:var(--r);padding:30px;background:var(--grau)}
.werte div:first-child{background:var(--cyan)}
.werte i{font:700 2.4rem/1 var(--disp);font-style:normal}
.werte b{display:block;font:600 1.5rem/1.05 var(--disp);margin-top:16px}
.werte p{margin-top:8px}
.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.person .slot{aspect-ratio:4/5}
.person b{display:block;font:600 1.4rem/1.1 var(--disp);margin-top:16px}
.person .kat{display:block;margin-top:4px}
.person p{color:var(--muted);margin-top:8px;font-size:.95rem}
.person:hover b{color:var(--cyan-t)}
.hinweis{margin-top:20px;font-size:.88rem;color:var(--muted)}
.kontakt{margin-top:120px;background:var(--ink);color:#fff;border-radius:var(--r);padding:56px;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.kontakt h2{font:600 clamp(2rem,4vw,3.4rem)/.95 var(--disp);text-transform:uppercase;max-width:700px}
.kontakt p{color:rgba(255,255,255,.75);margin-top:14px;max-width:560px}
.kontakt .knopf{background:var(--cyan);color:var(--ink)}
.kontakt .knopf:hover{background:#fff}
@media (max-width:1000px){.position,.werte{grid-template-columns:minmax(0,1fr)}.team{grid-template-columns:1fr 1fr}
  .register a{grid-template-columns:64px minmax(0,1fr) 30px}.register span,.register .vor{display:none}}
@media (max-width:640px){.register a{grid-template-columns:44px minmax(0,1fr) 22px;gap:12px}.register i{font-size:1.6rem}.register b{font-size:6.2vw}.kontakt{padding:36px 24px}}
.ikopf{padding:170px 0 48px;border-bottom:1px solid var(--line)}
.ikopf h1{font:700 clamp(3rem,10vw,9rem)/.85 var(--disp);letter-spacing:-.04em;text-transform:uppercase;margin-top:18px}
.ikopf .crumbs{opacity:1;color:var(--muted)}
.ibild{margin-top:56px;max-width:680px}
.ibild img{width:100%;height:auto;border:1px solid var(--line)}
.ibild figcaption{margin-top:12px;font-size:.88rem;color:var(--muted)}

/* ==========================================================================
   WORDPRESS-ANPASSUNGEN (technisch notwendig, kein Eingriff ins Design)
   ========================================================================== */
/* Karten: Beitragslink (.ni-cover) und Kategorie-Link (.katlink) sind Geschwister-Links, nie verschachtelt */
.ni-k{position:relative}
.ni-k *{pointer-events:none}
.ni-k .ni-cover{position:absolute;inset:0;z-index:1;pointer-events:auto}
.ni-k .katlink{pointer-events:auto}
/* Autorenfotos aus dem Backend (echtes Bild statt grauem Platzhalter) */
.slot img{display:block;width:100%;height:100%;object-fit:cover}
/* Bilder im Beitragstext: Höhe folgt der Breite (niedrige Spezifität, überstimmt keine Modul-Regeln) */
:where(.beitragstext) img{height:auto}
/* Archiv-Paginierung (WordPress), im Stil der Filter-Chips */
.seiten{margin-top:64px}
.seiten .nav-links{display:flex;flex-wrap:wrap;gap:8px}
.seiten .page-numbers{border:1.5px solid var(--ink);border-radius:999px;padding:8px 16px;font-weight:600;font-size:.92rem;transition:background .2s,color .2s}
.seiten a.page-numbers:hover{background:var(--ink);color:#fff}
.seiten .page-numbers.current{background:var(--ink);color:#fff}
.seiten .page-numbers.dots{border-color:transparent}
/* Admin-Leiste für eingeloggte Redakteure */
.admin-bar .hdr{top:32px}
.admin-bar .panel{top:116px}
@media (max-width:782px){.admin-bar .hdr{top:46px}.admin-bar .panel{top:130px}}
