/*
Theme Name: Berlin IT-Service 2026
Description: Schlankes Theme für berlin-it-service.de. Ohne Page-Builder, ohne externe Ressourcen.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: berlin-it-2026
*/

/* ---------- Schriften (lokal) ---------- */
@font-face{font-family:"BITS Serif";src:url("assets/fonts/serif.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"BITS Sans";src:url("assets/fonts/sans.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --sand:#F6F2EA; --sand-2:#EEE7DA; --paper:#FFFDF8; --line:#DCD2C1;
  --ink:#1F2A2E; --ink-2:#4B5659; --ink-3:#6B7477;
  --petrol:#0F4C4A; --petrol-2:#0A3533; --petrol-soft:#DDE9E5;
  --brick:#AF4F27; --brick-2:#8F3F1E; --brick-soft:#F3E2D6;
  --serif:"BITS Serif",Georgia,"Times New Roman",serif;
  --sans:"BITS Sans",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1160px; --gut:24px; --r:6px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
html,body{overflow-x:clip}
body{margin:0;background:var(--sand);color:var(--ink);font:400 17px/1.65 var(--sans);text-rendering:optimizeLegibility}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--petrol);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--brick-2)}
:focus-visible{outline:3px solid var(--brick);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.18;color:var(--ink);margin:0 0 .5em;text-wrap:balance;letter-spacing:-.005em}
h1{font-size:clamp(2rem,1.3rem + 2.6vw,3.15rem)}
h2{font-size:clamp(1.55rem,1.2rem + 1.3vw,2.15rem)}
h3{font-size:1.22rem;font-weight:600}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.2em}
li{margin:.25em 0}
strong{font-weight:650}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;left:12px;top:12px;z-index:1000;width:auto;height:auto;clip:auto;background:var(--paper);padding:10px 14px;border-radius:var(--r)}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}

/* ---------- Kopfbereich ---------- */
.topbar{background:var(--petrol-2);color:#E6EFEC;font-size:.85rem}
.topbar .wrap{display:flex;gap:24px;justify-content:flex-end;align-items:center;min-height:36px;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none;font-weight:600}
.topbar a:hover{text-decoration:underline;color:#fff}
.site-header{position:sticky;top:0;z-index:50;background:var(--sand);border-bottom:1px solid var(--line)}
.admin-bar .site-header{top:32px}
.site-header .wrap{display:flex;align-items:center;gap:28px;min-height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);flex-shrink:0}
.brand svg{width:40px;height:40px}
.brand__name{font-family:var(--serif);font-size:1.32rem;font-weight:650;line-height:1.1;display:block;color:var(--ink)}
.brand__sub{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:2px}
.nav{margin-left:auto}
.nav ul{list-style:none;margin:0;padding:0}
.nav>ul{display:flex;gap:4px;align-items:center}
.nav>ul>li{position:relative;margin:0}
.nav>ul>li>a{display:block;padding:10px 12px;font-weight:550;font-size:.97rem;color:var(--ink);text-decoration:none;border-radius:var(--r)}
.nav>ul>li>a:hover,.nav>ul>li.current-menu-item>a,.nav>ul>li.current-menu-ancestor>a,.nav>ul>li.current-page-ancestor>a{color:var(--petrol);background:var(--sand-2)}
.nav .menu-item-has-children>a::after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.nav .sub-menu{display:none}
.header-cta{display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:var(--r);padding:9px 11px;cursor:pointer;color:var(--ink)}
.nav-toggle span{display:block;width:20px;height:2px;background:currentColor;margin:4px 0}

@media (min-width:1101px){
  .nav>ul>li:hover>.sub-menu,.nav>ul>li:focus-within>.sub-menu{display:block}
  .nav>ul>li>.sub-menu{position:absolute;top:100%;left:0;min-width:260px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 18px 40px -18px rgba(15,40,40,.35);padding:10px}
  .nav>ul>li>.sub-menu a{display:block;padding:7px 10px;border-radius:4px;color:var(--ink);text-decoration:none;font-size:.95rem}
  .nav>ul>li>.sub-menu a:hover{background:var(--sand);color:var(--petrol)}
  /* Mega-Menü: Leistungen */
  .nav>ul>li.mega{position:static}
  .nav>ul>li.mega>.sub-menu{left:50%;transform:translateX(-50%);width:min(1100px,calc(100vw - 48px));display:none;grid-template-columns:repeat(4,1fr);gap:8px 20px;padding:22px 24px}
  .nav>ul>li.mega:hover>.sub-menu,.nav>ul>li.mega:focus-within>.sub-menu{display:grid}
  .nav li.mega>.sub-menu>li>a{font-family:var(--serif);font-weight:650;font-size:1.06rem;color:var(--petrol);border-bottom:1px solid var(--line);border-radius:0;padding:4px 0 8px;margin-bottom:6px}
  .nav li.mega>.sub-menu>li>a::after{display:none}
  .nav li.mega .sub-menu .sub-menu{display:block;position:static;border:0;box-shadow:none;padding:0;min-width:0;background:none}
  .nav li.mega .sub-menu .sub-menu a{padding:5px 0;font-size:.94rem}
  .nav li.mega .sub-menu .sub-menu a:hover{background:none;color:var(--brick-2);text-decoration:underline}
}

/* ---------- Buttons ---------- */
.bits-btn,.wp-block-button__link{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--r);background:var(--brick);color:#fff;font-weight:650;font-size:1rem;line-height:1.2;text-decoration:none;border:2px solid var(--brick);cursor:pointer;font-family:var(--sans)}
.bits-btn:hover{background:var(--brick-2);border-color:var(--brick-2);color:#fff}
.bits-btn--ghost{background:transparent;color:var(--petrol);border-color:var(--petrol)}
.bits-btn--ghost:hover{background:var(--petrol);color:#fff;border-color:var(--petrol)}
.bits-btn--small{padding:9px 14px;font-size:.93rem}
.bits-btn::after{content:"";width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);margin-left:2px}
.bits-btn--plain::after,.bits-btn--ghost.bits-btn--tel::after{display:none}
.bits-tel{font-weight:650;color:var(--ink);text-decoration:none;white-space:nowrap}
.bits-tel:hover{color:var(--petrol)}

/* ---------- Inhalt ---------- */
.site-main{display:block}
.entry>*{margin-left:auto;margin-right:auto}
.bits-section{padding:72px 0}
.bits-section>.bits-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.bits-section--alt{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bits-section--petrol{background:var(--petrol);color:#E9F1EE}
.bits-section--petrol h2,.bits-section--petrol h3{color:#fff}
.bits-section h2{max-width:760px}
.bits-intro{max-width:720px;font-size:1.08rem;color:var(--ink-2);margin-bottom:32px}
.bits-prose{max-width:760px}
.bits-prose ul{padding-left:0;list-style:none}
.bits-prose ul li{position:relative;padding-left:26px}
.bits-prose ul li::before{content:"";position:absolute;left:2px;top:.62em;width:12px;height:2px;background:var(--brick)}

/* Breadcrumb */
.bits-crumbs{font-size:.86rem;color:var(--ink-3);padding-top:22px}
.bits-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.bits-crumbs li{margin:0}
.bits-crumbs li+li::before{content:"/";margin-right:6px;color:var(--line)}
.bits-crumbs a{color:var(--ink-2);text-decoration:none}
.bits-crumbs a:hover{text-decoration:underline}

/* Hero */
.bits-hero{padding:44px 0 64px}
.bits-hero>.bits-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:56px;align-items:start}
.bits-eyebrow{display:inline-block;font-size:.8rem;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:var(--brick-2);margin-bottom:14px}
.bits-hero h1{margin-bottom:18px}
.bits-lead{font-size:1.16rem;line-height:1.6;color:var(--ink-2);max-width:640px}
.bits-hero__actions{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:26px}
.bits-glance{background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--petrol);border-radius:var(--r);padding:24px 26px;margin-top:8px}
.bits-glance__title{font-family:var(--serif);font-size:1.1rem;font-weight:650;margin-bottom:12px;color:var(--petrol)}
.bits-glance ul{list-style:none;padding:0;margin:0}
.bits-glance li{position:relative;padding:9px 0 9px 30px;border-top:1px solid var(--sand-2);margin:0;line-height:1.45}
.bits-glance li:first-child{border-top:0}
.bits-glance li::before{content:"";position:absolute;left:2px;top:15px;width:12px;height:7px;border-left:2px solid var(--petrol);border-bottom:2px solid var(--petrol);transform:rotate(-45deg)}
.bits-hero+.bits-section:not(.bits-section--alt):not(.bits-section--petrol){padding-top:8px}
/* Startseite: Tagesablauf */
.bits-day{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:24px 26px 14px;box-shadow:0 24px 48px -32px rgba(15,60,60,.45)}
.bits-day__title{font-family:var(--serif);font-weight:650;font-size:1.12rem;color:var(--petrol);margin-bottom:14px}
.bits-day ol{list-style:none;margin:0;padding:0;position:relative}
.bits-day ol::before{content:"";position:absolute;left:5px;top:8px;bottom:18px;width:2px;background:var(--petrol-soft)}
.bits-day li{position:relative;padding:0 0 14px 28px;margin:0;font-size:.96rem;line-height:1.5}
.bits-day li::before{content:"";position:absolute;left:0;top:6px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--petrol)}
.bits-day li:last-child::before{background:var(--brick);border-color:var(--brick)}
.bits-day time{display:block;font-weight:700;font-size:.82rem;letter-spacing:.05em;color:var(--brick-2);text-transform:uppercase}

/* Kennzahlen */
.bits-stats{padding:0 0 8px}
.bits-stats>.bits-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bits-stat{padding:22px 18px;border-left:1px solid var(--line)}
.bits-stat:first-child{border-left:0;padding-left:0}
.bits-stat__n{font-family:var(--serif);font-size:2.1rem;font-weight:600;color:var(--petrol);line-height:1.1;margin:0}
.bits-stat__l{margin:4px 0 0;color:var(--ink-2);font-size:.95rem}

/* Karten */
.bits-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.bits-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:24px 24px 18px;min-width:0}
.bits-section--alt .bits-card{background:var(--sand)}
.bits-card h3{margin-bottom:.45em;overflow-wrap:anywhere;hyphens:auto}
.bits-card h3 a{color:var(--ink);text-decoration:none}
.bits-card h3 a:hover{color:var(--petrol);text-decoration:underline}
.bits-card p{color:var(--ink-2);margin-bottom:.6em;hyphens:auto}
.bits-card--link{position:relative;border-left:4px solid var(--petrol)}
.bits-card__more{font-weight:650;font-size:.95rem}
.bits-card__more a{text-decoration:none}
.bits-card__more a::after{content:" \2192"}

/* Leistungsgruppen Startseite */
.bits-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.bits-group{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;min-width:0}
.bits-group h3{color:var(--petrol);padding-bottom:10px;border-bottom:2px solid var(--brick);margin-bottom:12px}
.bits-group h3 a{color:inherit;text-decoration:none}
.bits-group h3 a:hover{text-decoration:underline}
.bits-group p{color:var(--ink-2);font-size:.97rem}
.bits-group ul{list-style:none;padding:0;margin:auto 0 0}
.bits-group li{border-top:1px solid var(--sand-2);margin:0}
.bits-group li a{display:block;padding:8px 0;text-decoration:none;color:var(--ink);font-weight:550;font-size:.97rem}
.bits-group li a::after{content:"\2192";float:right;color:var(--brick)}
.bits-group li a:hover{color:var(--petrol)}

/* Schritte */
.bits-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:24px;counter-reset:st;list-style:none;padding:0;margin:0}
.bits-step{counter-increment:st;position:relative;padding-top:58px;margin:0;min-width:0}
.bits-step::before{content:counter(st,decimal-leading-zero);position:absolute;top:0;left:0;font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--brick);width:46px;height:46px;border:2px solid var(--brick);border-radius:50%;display:flex;align-items:center;justify-content:center}
.bits-step::after{content:"";position:absolute;top:23px;left:58px;right:10px;height:2px;background:var(--line)}
.bits-step:last-child::after{display:none}
.bits-step h3{font-size:1.15rem}
.bits-step p{color:var(--ink-2)}
.bits-section--petrol .bits-step p{color:#D3E3DF}
.bits-section--petrol .bits-step::before{color:#fff;border-color:#F0B48F}

/* Text + Kasten */
.bits-split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:56px;align-items:start}
.bits-aside{background:var(--petrol);color:#E9F1EE;border-radius:var(--r);padding:26px 28px}
.bits-aside__title{font-family:var(--serif);font-size:1.15rem;font-weight:650;color:#fff;margin-bottom:12px}
.bits-aside ul{list-style:none;padding:0;margin:0}
.bits-aside li{padding:9px 0 9px 26px;border-top:1px solid rgba(255,255,255,.14);position:relative;margin:0;line-height:1.45}
.bits-aside li:first-child{border-top:0}
.bits-aside li::before{content:"";position:absolute;left:0;top:18px;width:12px;height:2px;background:#F0B48F}
.bits-section--alt .bits-aside{background:var(--petrol)}

/* Selbsttest */
.bits-check{list-style:none;padding:0;margin:0;display:grid;gap:12px;max-width:820px;counter-reset:q}
.bits-check li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px 16px 60px;position:relative;margin:0;font-weight:550}
.bits-check li::before{content:"?";position:absolute;left:16px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--brick-soft);color:var(--brick-2);font-family:var(--serif);font-weight:700;display:flex;align-items:center;justify-content:center}
.bits-check-note{max-width:820px;margin-top:18px;color:var(--ink-2)}

/* FAQ */
.bits-faq{max-width:860px}
.bits-faq details{border-bottom:1px solid var(--line);margin:0}
.bits-faq details:first-of-type{border-top:1px solid var(--line)}
.bits-faq summary{cursor:pointer;list-style:none;padding:18px 44px 18px 0;font-family:var(--serif);font-weight:600;font-size:1.12rem;position:relative;line-height:1.35}
.bits-faq summary::-webkit-details-marker{display:none}
.bits-faq summary::after{content:"";position:absolute;right:8px;top:50%;width:11px;height:11px;border-right:2px solid var(--brick);border-bottom:2px solid var(--brick);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.bits-faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.bits-faq details>p{color:var(--ink-2);padding:0 40px 10px 0;margin-bottom:10px}

/* CTA */
.bits-cta{background:var(--petrol);color:#E9F1EE;border-radius:8px;padding:44px 48px;display:grid;grid-template-columns:minmax(0,1.6fr) auto;gap:32px;align-items:center;position:relative;overflow:hidden}
.bits-cta::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border:28px solid rgba(255,255,255,.05);border-radius:50%}
.bits-cta h2{color:#fff;margin-bottom:.35em}
.bits-cta p{margin:0;color:#D3E3DF;max-width:620px}
.bits-cta__actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start;position:relative}
.bits-cta .bits-tel{color:#fff}
.bits-cta .bits-tel small{display:block;font-weight:400;font-size:.8rem;color:#BFD3CE}

/* Verwandte Seiten */
.bits-related .bits-cards{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}

/* Lexikon */
.bits-az{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 30px;padding:0;list-style:none}
.bits-az li{margin:0}
.bits-az a{display:flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;font-weight:650;background:var(--paper)}
.bits-az a:hover{background:var(--petrol);color:#fff;border-color:var(--petrol)}
.bits-lex{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.bits-term{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;min-width:0}
.bits-term h3{margin-bottom:.3em}
.bits-term__short{font-weight:600;color:var(--petrol);margin-bottom:.5em}
.bits-term p{hyphens:auto}

/* Formulare */
.bits-form{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:32px;max-width:860px}
.bits-form fieldset{border:0;padding:0;margin:0 0 6px;min-width:0}
.bits-form legend{font-family:var(--serif);font-size:1.32rem;font-weight:600;margin-bottom:6px;padding:0}
.bits-form .bits-hint{color:var(--ink-3);font-size:.93rem;margin-bottom:16px}
.bits-progress{display:flex;gap:6px;margin-bottom:22px}
.bits-progress span{flex:1;height:5px;border-radius:3px;background:var(--sand-2)}
.bits-progress span.on{background:var(--petrol)}
.bits-steplabel{display:block;font-family:var(--sans);font-size:.82rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--brick-2);margin-bottom:6px}
.bits-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:8px}
.bits-opt{position:relative}
.bits-opt input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.bits-opt span{display:flex;align-items:center;min-height:52px;padding:12px 14px 12px 44px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--sand);font-weight:550;line-height:1.3;position:relative;transition:border-color .15s,background .15s}
.bits-opt span::before{content:"";position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;border:2px solid var(--ink-3);border-radius:50%;background:var(--paper)}
.bits-opt input[type=checkbox]+span::before{border-radius:4px}
.bits-opt input:checked+span{border-color:var(--petrol);background:var(--petrol-soft)}
.bits-opt input:checked+span::before{border-color:var(--petrol);background:var(--petrol);box-shadow:inset 0 0 0 3px var(--paper)}
.bits-opt input:focus-visible+span{outline:3px solid var(--brick);outline-offset:2px}
.bits-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.bits-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.bits-field--full{grid-column:1/-1}
.bits-field label{font-weight:600;font-size:.94rem}
.bits-field input,.bits-field textarea,.bits-field select{font:inherit;font-size:1rem;padding:11px 12px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);width:100%}
.bits-field textarea{min-height:120px;resize:vertical}
.bits-field input:focus,.bits-field textarea:focus,.bits-field select:focus{border-color:var(--petrol);outline:2px solid var(--petrol-soft)}
.bits-consent{display:flex;gap:10px;align-items:flex-start;font-size:.93rem;color:var(--ink-2);margin:16px 0 0}
.bits-consent input{margin-top:5px;width:18px;height:18px;flex-shrink:0;accent-color:var(--petrol)}
.bits-box{background:var(--brick-soft);border-radius:var(--r);padding:16px 18px;margin-top:18px}
.bits-box .bits-consent{margin:0}
.bits-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;flex-wrap:wrap}
.bits-back{background:none;border:0;color:var(--ink-2);font:inherit;font-weight:600;cursor:pointer;padding:8px 0;text-decoration:underline;text-underline-offset:3px}
.bits-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.bits-msg{padding:16px 18px;border-radius:var(--r);margin-top:18px;font-weight:550}
.bits-msg--ok{background:var(--petrol-soft);color:var(--petrol-2)}
.bits-msg--err{background:#F8DEDA;color:#7A2410}
.js .bits-form--steps fieldset[data-step]:not(.is-active){display:none}
.bits-done{text-align:left}
.bits-done h2{color:var(--petrol)}

/* Kontaktseite */
.bits-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:40px;align-items:start}
.bits-addr{background:var(--petrol);color:#E9F1EE;border-radius:8px;padding:30px}
.bits-addr h2{color:#fff;font-size:1.4rem}
.bits-addr dl{margin:0}
.bits-addr dt{font-size:.8rem;letter-spacing:.07em;text-transform:uppercase;color:#BFD3CE;margin-top:16px}
.bits-addr dd{margin:2px 0 0;font-size:1.05rem}
.bits-addr a{color:#fff;font-weight:650}

/* Fuß */
.site-footer{background:var(--petrol-2);color:#C9DAD5;margin-top:0;font-size:.95rem}
.site-footer a{color:#fff;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:60px 0 40px}
.footer-grid h2,.footer-grid .footer-title{font-family:var(--sans);font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;color:#9FBDB6;margin-bottom:14px;font-weight:700}
.footer-grid ul{list-style:none;padding:0;margin:0}
.footer-grid li{margin:0 0 7px}
.footer-brand .brand__name{color:#fff}
.footer-brand .brand__sub{color:#9FBDB6}
.footer-brand address{font-style:normal;margin-top:18px;line-height:1.6}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0 26px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.86rem;color:#9FBDB6}

/* Schwebender Button */
.bits-fab{position:fixed;right:22px;bottom:22px;z-index:40;background:var(--brick);color:#fff;text-decoration:none;font-weight:700;padding:13px 20px;border-radius:40px;box-shadow:0 12px 28px -10px rgba(90,30,10,.55);display:flex;align-items:center;gap:8px;transition:transform .2s,opacity .2s}
.bits-fab:hover{background:var(--brick-2);color:#fff;transform:translateY(-2px)}
.bits-fab.is-hidden{opacity:0;pointer-events:none;transform:translateY(12px)}

/* Standard-Seiten (Impressum, Datenschutz) */
.bits-plain{max-width:820px;margin:0 auto;padding:40px var(--gut) 80px}
.bits-plain h1{margin-bottom:24px}
.bits-plain table{border-collapse:collapse;max-width:100%}
.bits-plain td{padding:4px 12px 4px 0;vertical-align:top}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .nav-toggle{display:block;margin-left:auto}
  .nav{position:fixed;inset:0 0 0 auto;width:min(380px,100%);background:var(--paper);transform:translateX(100%);visibility:hidden;transition:transform .25s,visibility .25s;overflow:auto;padding:84px 22px 30px;box-shadow:-20px 0 40px -20px rgba(0,0,0,.3);z-index:60}
  .nav.is-open{transform:none;visibility:visible}
  .nav>ul{flex-direction:column;align-items:stretch;gap:0}
  .nav>ul>li{border-bottom:1px solid var(--sand-2)}
  .nav>ul>li>a{padding:13px 4px;font-size:1.05rem}
  .nav .sub-menu{display:none;padding:0 0 10px 12px}
  .nav li.is-open>.sub-menu{display:block}
  .nav .sub-menu a{display:block;padding:8px 4px;color:var(--ink);text-decoration:none}
  .nav .sub-menu .sub-menu{display:block;padding-left:12px;border-left:2px solid var(--sand-2);margin:0 0 6px 4px}
  .nav li.mega>.sub-menu>li>a{font-weight:650;color:var(--petrol)}
  .nav-close{position:absolute;top:22px;right:22px}
  .header-cta .bits-tel{display:none}
  .bits-groups{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (min-width:1101px){.nav-close{display:none}}
@media (max-width:900px){
  .bits-hero>.bits-in,.bits-split,.bits-contact,.bits-cta{grid-template-columns:1fr;gap:32px}
  .bits-stats>.bits-in{grid-template-columns:repeat(2,1fr)}
  .bits-stat:nth-child(3){border-left:0;padding-left:0}
  .bits-stat:nth-child(n+3){border-top:1px solid var(--line)}
  .bits-step::after{display:none}
  .bits-cta{padding:34px 28px}
}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
@media (max-width:640px){
  :root{--gut:16px}
  body{font-size:16.5px}
  .topbar .wrap{justify-content:space-between;gap:8px}
  .topbar .bits-hours{display:none}
  .site-header .wrap{min-height:64px;gap:12px}
  .brand svg{width:34px;height:34px}
  .brand__name{font-size:1.12rem}
  .brand__sub{display:none}
  .header-cta .bits-btn{display:none}
  .bits-section{padding:52px 0}
  .bits-hero{padding:28px 0 44px}
  .bits-groups,.footer-grid{grid-template-columns:1fr}
  .bits-fields{grid-template-columns:1fr}
  .bits-form{padding:22px 18px}
  .bits-fab{right:14px;bottom:14px;padding:12px 16px}
  .bits-faq summary{font-size:1.04rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.topbar,.site-header,.bits-fab,.site-footer{display:none}}
.nav .sub-menu .menu-item-has-children>a::after{display:none}

.bits-card__title{font-family:var(--serif);font-size:1.22rem;font-weight:600;line-height:1.18;margin:0 0 .45em}
.bits-card__title a{color:var(--ink);text-decoration:none}
.bits-card__title a:hover{color:var(--petrol);text-decoration:underline}
.bits-letter{font-family:var(--serif);font-size:clamp(1.55rem,1.2rem + 1.3vw,2.15rem);font-weight:600;line-height:1.18;margin:1.4em 0 .5em;color:var(--petrol)}

/* Widerspruch Besucherstatistik */
.bits-optout{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--petrol);border-radius:var(--r);padding:16px 18px;margin:18px 0;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.bits-optout__status{margin:0;flex:1 1 260px}
.bits-optout.is-off{border-left-color:var(--brick)}

/* Bilder im Fließtext ohne Browser-Einzug */
figure.wp-block-image{margin:18px 0 24px}
figure.wp-block-image img{border-radius:var(--r);height:auto;max-width:100%}

/* Lexikon-Begriffe wie Zwischenüberschriften gestaltet */
.bits-term__title{scroll-margin-top:40px;font-family:var(--serif);font-size:1.22rem;font-weight:600;line-height:1.18;color:var(--ink);margin:0 0 .3em}
