/* =====================================================================
   KiS – Kontor im Schwarzwald · PREMIUM DARK THEME
   Lädt NACH style.css und überschreibt nur die Optik.
   Texte und Seitenstruktur bleiben unverändert.
   ===================================================================== */

:root{
  color-scheme: dark;

  /* Grundflächen – Schwarzwald bei Nacht */
  --p-bg:        #0A100C;
  --p-bg-2:      #0E1611;
  --p-surface:   #121B15;
  --p-surface-2: #17231B;
  --p-surface-3: #1D2B22;
  --p-line:      rgba(210,255,222,.09);
  --p-line-2:    rgba(210,255,222,.16);

  /* Text */
  --p-text:      #E8F1EA;
  --p-text-2:    #C3D3C8;
  --p-muted:     #93A89A;

  /* Marke */
  --p-green:     #5BC63A;
  --p-green-hi:  #7EE05A;
  --p-green-lo:  #2E7A1C;
  --p-orange:    #FF8A3D;
  --p-orange-lo: #D9621A;
  --p-glow:      0 0 0 1px rgba(91,198,58,.35), 0 10px 40px -10px rgba(91,198,58,.45);

  --p-radius:    16px;
  --p-radius-lg: 22px;
  --p-ease:      cubic-bezier(.2,.7,.2,1);

  /* Alte Variablen aus style.css auf Dunkel umbiegen */
  --ink-900: var(--p-text);
  --ink-700: var(--p-text-2);
  --ink-500: var(--p-muted);
  --ink-300: #5E7065;
  --line: var(--p-line);
  --bg: var(--p-bg);
  --bg-soft: var(--p-bg-2);
  --bg-dark: #07100A;
  --green-50: rgba(91,198,58,.10);
  --green-100: rgba(91,198,58,.22);
  --green-300: rgba(91,198,58,.55);
  --green-600: var(--p-green);
  --green-700: var(--p-green-hi);
  --green-900: #0B2A10;
  --orange-50: rgba(255,138,61,.10);
  --orange-400: #FFB27A;
  --orange-500: var(--p-orange);
  --orange-600: var(--p-orange-lo);
  --muted: var(--p-muted);
  --shadow-sm: 0 1px 0 rgba(255,255,255,.03) inset, 0 4px 14px rgba(0,0,0,.35);
  --shadow-md: 0 1px 0 rgba(255,255,255,.04) inset, 0 14px 40px rgba(0,0,0,.45);
  --shadow-lg: 0 30px 80px rgba(0,0,0,.55);
}

/* ---------- Grundlage ---------- */
html{background:var(--p-bg)}
body{
  background:
    radial-gradient(900px 600px at 85% -200px, rgba(91,198,58,.10), transparent 70%),
    radial-gradient(700px 500px at -10% 30%, rgba(255,138,61,.05), transparent 70%),
    var(--p-bg);
  background-attachment: fixed;
  color:var(--p-text-2);
  font-feature-settings:"ss01","cv11";
}
::selection{background:rgba(91,198,58,.35);color:#fff}
a{color:var(--p-green-hi)}
a:hover{color:var(--p-orange)}
h1,h2,h3,h4,h5,h6{color:var(--p-text);letter-spacing:-.02em;text-wrap:balance}
h1{font-weight:700;letter-spacing:-.035em}
p,li{text-wrap:pretty}
hr{border:0;border-top:1px solid var(--p-line)}
strong,b{color:var(--p-text)}
mark{background:rgba(91,198,58,.28);color:#fff;border-radius:3px;padding:0 2px}
:focus-visible{outline:2px solid var(--p-green-hi)!important;outline-offset:3px;border-radius:6px}

/* Scrollbar */
html{scrollbar-color:#2A3A30 var(--p-bg)}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:var(--p-bg)}
::-webkit-scrollbar-thumb{background:#243229;border-radius:99px;border:3px solid var(--p-bg)}
::-webkit-scrollbar-thumb:hover{background:#34473A}

/* ---------- Header: Glas ---------- */
.site-header{
  background:rgba(10,16,12,.72)!important;
  backdrop-filter:saturate(160%) blur(18px);
  -webkit-backdrop-filter:saturate(160%) blur(18px);
  border-bottom:1px solid var(--p-line);
  transition:background .3s var(--p-ease), box-shadow .3s var(--p-ease);
}
.site-header.is-scrolled{background:rgba(8,13,10,.9)!important;box-shadow:0 10px 30px -12px rgba(0,0,0,.6)}
.site-header .nav{padding-block:12px}
.brand-logo{filter:drop-shadow(0 0 14px rgba(91,198,58,.25))}
.main-nav a{color:var(--p-text-2);font-weight:500;border-radius:10px}
.main-nav a:hover,.main-nav a.active{color:#fff;background:rgba(255,255,255,.06)}
.main-nav a.active{box-shadow:inset 0 -2px 0 var(--p-green)}
.has-sub > a::after{opacity:.45}
.submenu{
  background:rgba(16,24,19,.96)!important;
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--p-line-2)!important;
  border-radius:18px!important;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.8), 0 0 0 1px rgba(0,0,0,.4)!important;
  padding:10px!important;
}
.submenu a{color:var(--p-text-2)!important}
.submenu a:hover{background:rgba(91,198,58,.10)!important;color:#fff!important}
.menu-toggle{color:var(--p-text)}
.menu-toggle:hover{background:rgba(255,255,255,.06)}
.search-icon-link{color:var(--p-text-2)!important;border:1px solid var(--p-line-2)!important;border-radius:999px!important}
.search-icon-link:hover{color:#fff!important;border-color:var(--p-green)!important;background:rgba(91,198,58,.08)!important}
.search-icon-link .p-kbd{display:none}

/* CTA im Header */
.btn-cta{
  background:linear-gradient(180deg,var(--p-green-hi),var(--p-green))!important;
  color:#07130A!important;font-weight:700;
  box-shadow:0 0 0 1px rgba(126,224,90,.5), 0 8px 26px -8px rgba(91,198,58,.7)!important;
  transition:transform .2s var(--p-ease), box-shadow .2s var(--p-ease);
}
.btn-cta:hover{color:#07130A!important;background:linear-gradient(180deg,#9BF076,var(--p-green-hi))!important;transform:translateY(-1px);box-shadow:0 0 0 1px rgba(126,224,90,.7), 0 14px 34px -8px rgba(91,198,58,.85)!important}

/* Mobile-Navigation */
@media (max-width:1024px){
  .main-nav{background:var(--p-bg-2)!important;border-left:1px solid var(--p-line)}
  .main-nav .submenu{background:rgba(255,255,255,.03)!important;box-shadow:none!important}
  .nav-close{color:var(--p-text)!important;background:rgba(255,255,255,.05)!important}
  .menu-overlay{background:rgba(0,0,0,.6)!important;backdrop-filter:blur(4px)}
}

/* ---------- Buttons ---------- */
.btn{border-radius:999px;font-weight:600;letter-spacing:.005em}
.btn-primary{background:linear-gradient(180deg,var(--p-green-hi),var(--p-green));color:#07130A;box-shadow:var(--p-glow)}
.btn-primary:hover{color:#07130A;background:linear-gradient(180deg,#9BF076,var(--p-green-hi));box-shadow:0 0 0 1px rgba(126,224,90,.6), 0 16px 44px -10px rgba(91,198,58,.7)}
.btn-secondary{background:linear-gradient(180deg,#FFA366,var(--p-orange));color:#1B0C02}
.btn-secondary:hover{color:#1B0C02;background:linear-gradient(180deg,#FFBA8A,#FF9A55)}
.btn-outline{background:rgba(255,255,255,.03);color:var(--p-text);border:1px solid var(--p-line-2)}
.btn-outline:hover{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.35)}

/* ---------- Hero (Startseite) ---------- */
.hero{
  background:
    radial-gradient(700px 420px at 78% 10%, rgba(91,198,58,.20), transparent 65%),
    radial-gradient(600px 400px at 10% 90%, rgba(255,138,61,.10), transparent 65%),
    linear-gradient(180deg,#0C140F 0%, var(--p-bg) 100%)!important;
  border-bottom:1px solid var(--p-line);
  isolation:isolate;
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:
    linear-gradient(rgba(210,255,222,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(210,255,222,.045) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 70% 70% at 60% 30%, #000 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 70% 70% at 60% 30%, #000 30%, transparent 75%);
}
.hero .eyebrow{
  background:rgba(91,198,58,.08)!important;color:var(--p-green-hi)!important;
  border:1px solid rgba(91,198,58,.28)!important;
  font-weight:600;letter-spacing:.01em;
}
.hero h1{font-size:clamp(2.3rem,5.2vw,4.2rem);line-height:1.04;color:#F4FAF5;animation:p-rise .9s var(--p-ease) both}
.hero h1 .accent{
  color:transparent;
  background:linear-gradient(95deg,var(--p-green-hi) 0%, #C8F7A8 45%, var(--p-orange) 100%);
  -webkit-background-clip:text;background-clip:text;
}
.hero h1 .accent::after{display:none}
.hero p.lead{color:var(--p-text-2);animation:p-rise .9s .08s var(--p-ease) both}
.hero-cta{animation:p-rise .9s .16s var(--p-ease) both}
.hero-trust{border-top:1px solid var(--p-line);padding-top:26px}
.hero-trust .stat strong{color:#fff;font-size:2rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.hero-trust .stat span{color:var(--p-muted)}
.hero-visual{
  background:
    radial-gradient(circle at 30% 15%, rgba(126,224,90,.35), transparent 55%),
    radial-gradient(circle at 85% 95%, rgba(255,138,61,.30), transparent 55%),
    linear-gradient(160deg,#16301B,#0A1A0E)!important;
  border:1px solid rgba(126,224,90,.25);
  box-shadow:0 40px 100px -30px rgba(91,198,58,.35), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.hero-visual .floating{
  background:rgba(14,22,17,.82)!important;color:var(--p-text)!important;
  border:1px solid var(--p-line-2);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 20px 40px -12px rgba(0,0,0,.7)!important;
}
@keyframes p-rise{from{transform:translateY(14px);opacity:.001}to{transform:none;opacity:1}}

/* ---------- Seitenkopf (Unterseiten) ---------- */
.page-header{
  position:relative;isolation:isolate;overflow:hidden;
  background:
    radial-gradient(800px 360px at 85% -40%, rgba(91,198,58,.28), transparent 70%),
    radial-gradient(500px 300px at 0% 120%, rgba(255,138,61,.12), transparent 70%),
    linear-gradient(180deg,#0F1A13 0%, var(--p-bg) 100%)!important;
  border-bottom:1px solid var(--p-line);
  color:var(--p-text)!important;
}
.page-header::before{
  content:""!important;position:absolute;inset:0;z-index:-1;opacity:1!important;
  background-image:
    linear-gradient(rgba(210,255,222,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(210,255,222,.05) 1px, transparent 1px)!important;
  background-size:48px 48px!important;
  mask-image:linear-gradient(180deg,#000 0%,transparent 90%);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 90%);
}
.page-header h1{color:#F4FAF5!important;font-size:clamp(2rem,4.4vw,3.3rem);line-height:1.08;animation:p-rise .8s var(--p-ease) both}
.page-header p{color:var(--p-text-2)!important;max-width:720px;animation:p-rise .8s .08s var(--p-ease) both}
.page-header .eyebrow{color:var(--p-green-hi)!important}
.breadcrumbs{color:var(--p-muted)!important;font-size:.84rem;letter-spacing:.01em}
.breadcrumbs a{color:var(--p-text-2)!important}
.breadcrumbs a:hover{color:var(--p-green-hi)!important}

/* ---------- Abschnitte ---------- */
section{position:relative}
.bg-soft{background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(255,255,255,.03))!important;border-block:1px solid var(--p-line)}
.bg-dark{background:#060C08!important}
.section-head .eyebrow,.eyebrow{color:var(--p-orange)!important;letter-spacing:.14em}
.section-head h2{color:var(--p-text)}
.section-head p{color:var(--p-muted)}
.muted{color:var(--p-muted)!important}

/* ---------- Karten & Kacheln ---------- */
.card,.tile,.post-card,.partner-card,.kis-rating-card,.cert-card,.vp-card{
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;
  border:1px solid var(--p-line)!important;
  border-radius:var(--p-radius-lg)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
  color:var(--p-text-2);
  transition:transform .35s var(--p-ease), border-color .35s var(--p-ease), box-shadow .35s var(--p-ease), background .35s var(--p-ease)!important;
}
.card:hover,.tile:hover,.post-card:hover,.partner-card:hover,.card-clickable:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(126,224,90,.38)!important;
  background:linear-gradient(180deg,rgba(91,198,58,.07),rgba(255,255,255,.015))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 24px 50px -24px rgba(91,198,58,.45)!important;
}
.card h3,.tile h3,.post-card h3{color:var(--p-text)}
.card p,.tile p{color:var(--p-muted)}
.card .icon,.calc-tile .ico{
  background:rgba(91,198,58,.10)!important;color:var(--p-green-hi)!important;
  border:1px solid rgba(91,198,58,.22);
}
.card.alt .icon,.calc-tile.orange .ico{background:rgba(255,138,61,.10)!important;color:var(--p-orange)!important;border-color:rgba(255,138,61,.25)}
.card-link{color:var(--p-green-hi)!important}

.calc-tile{
  background:rgba(255,255,255,.025)!important;border:1px solid var(--p-line)!important;
  border-radius:var(--p-radius)!important;color:var(--p-text)!important;
}
.calc-tile:hover{background:rgba(91,198,58,.06)!important;border-color:rgba(126,224,90,.35)!important;color:#fff!important}
.calc-tile span{color:var(--p-muted)!important}

.pill{background:rgba(91,198,58,.12)!important;color:var(--p-green-hi)!important;border:1px solid rgba(91,198,58,.25)!important}
.pill-orange{background:rgba(255,138,61,.12)!important;color:#FFB27A!important;border:1px solid rgba(255,138,61,.28)!important}

/* Partner-Logos brauchen eine helle Plakette */
.partner-logo{
  background:#F4F7F5!important;border-radius:12px!important;padding:10px!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.08), 0 8px 20px -10px rgba(0,0,0,.6);
}
.partner-name{color:var(--p-text)!important}

/* Vergleichsportal */
.vp-quicknav{background:rgba(255,255,255,.03)!important;border:1px solid var(--p-line)!important}
.vp-card-head{border-bottom-color:var(--p-line)!important}
.vp-card-head h2{color:var(--p-text)!important}
.vp-card-head p{color:var(--p-muted)!important}
.vp-item{background:rgba(255,255,255,.025)!important;border:1px solid var(--p-line)!important;color:var(--p-text)!important}
.vp-item:hover{background:rgba(91,198,58,.07)!important;border-color:rgba(126,224,90,.45)!important;box-shadow:0 16px 30px -18px rgba(91,198,58,.5)!important}
.vp-sub{color:#FFB27A!important}
.vp-arrow{color:var(--p-green-hi)!important}

/* ---------- Rechner / iFrames ---------- */
.rechner-wrap,.detail-iframe-wrap{
  background:var(--p-surface)!important;border:1px solid var(--p-line-2)!important;
  border-radius:var(--p-radius-lg)!important;box-shadow:0 30px 60px -30px rgba(0,0,0,.8)!important;
}
.rechner-wrap h3{border-bottom-color:var(--p-line)!important}
.rechner-wrap iframe,.detail-iframe-wrap iframe{background:#fff!important;border-radius:14px!important}
.detail-meta{color:var(--p-muted)}
.back-link{color:var(--p-text-2)!important}
.back-link:hover{color:var(--p-green-hi)!important}

/* Tabs */
.tabs{border-bottom-color:var(--p-line)!important}
.tab{background:rgba(255,255,255,.03)!important;border:1px solid var(--p-line)!important;color:var(--p-text-2)!important}
.tab:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}
.tab.active{background:var(--p-green)!important;color:#07130A!important;border-color:var(--p-green)!important}

/* ---------- Kennzahlen-Band ---------- */
.stats-bar{
  background:
    radial-gradient(600px 200px at 50% 0%, rgba(91,198,58,.18), transparent 70%),
    var(--p-bg-2)!important;
  border-block:1px solid var(--p-line);
}
.stats-bar .num{background:linear-gradient(180deg,#fff,var(--p-green-hi))!important;-webkit-background-clip:text!important;background-clip:text!important;font-variant-numeric:tabular-nums}
.stats-bar .lbl{color:var(--p-muted)}

/* ---------- CTA-Band ---------- */
.cta-band{
  position:relative;isolation:isolate;overflow:hidden;
  background:
    radial-gradient(600px 300px at 20% 0%, rgba(255,138,61,.35), transparent 70%),
    radial-gradient(600px 300px at 90% 100%, rgba(91,198,58,.30), transparent 70%),
    #111A14!important;
  border-block:1px solid var(--p-line-2);
}
.cta-band h2{color:#fff!important}
.cta-band p{color:var(--p-text-2)!important}
.cta-band .btn-outline{background:rgba(255,255,255,.06)!important;color:#fff!important;border:1px solid rgba(255,255,255,.3)!important}
.cta-band .btn-outline:hover{background:#fff!important;color:#07130A!important}

/* ---------- Kontakt & Formulare ---------- */
.contact-info{
  background:
    radial-gradient(400px 260px at 100% 0%, rgba(91,198,58,.25), transparent 70%),
    linear-gradient(160deg,#14301A,#0B1A0F)!important;
  border:1px solid rgba(126,224,90,.22);
}
form.contact-form,.contact-form{background:var(--p-surface)!important;border:1px solid var(--p-line)!important}
.form-field label{color:var(--p-text-2)!important}
.form-field input,.form-field textarea,.form-field select,
input[type=text],input[type=email],input[type=tel],input[type=search],input[type=number],textarea,select{
  background:rgba(255,255,255,.035)!important;color:var(--p-text)!important;
  border:1px solid var(--p-line-2)!important;border-radius:12px!important;
}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus,
input:focus,textarea:focus,select:focus{border-color:var(--p-green)!important;box-shadow:0 0 0 4px rgba(91,198,58,.15)!important;outline:none}
::placeholder{color:#6F8577!important}
.checkbox-row{color:var(--p-muted)!important}

/* ---------- FAQ ---------- */
details.faq-item,.faq-item{
  background:rgba(255,255,255,.025)!important;border:1px solid var(--p-line)!important;
  border-radius:16px!important;transition:border-color .25s var(--p-ease), background .25s var(--p-ease);
}
details.faq-item[open]{border-color:rgba(126,224,90,.3)!important;background:rgba(91,198,58,.04)!important}
details.faq-item summary{color:var(--p-text);cursor:pointer}

/* ---------- Tabellen ---------- */
table{color:var(--p-text-2)}
table th{color:var(--p-text)!important;background:rgba(255,255,255,.05)!important}
table td,table th{border-color:var(--p-line)!important}
table tr:nth-child(even) td{background:rgba(255,255,255,.015)}

/* ---------- Beiträge / Rechtstexte ---------- */
.legal-content,.post-body{color:var(--p-text-2)}
.legal-content h2,.legal-content h3,.post-body h2,.post-body h3{color:var(--p-text)!important}
.legal-content a,.post-body a{color:var(--p-green-hi)!important}
.post-toc{background:rgba(255,255,255,.03)!important;border:1px solid var(--p-line)!important}
.post-toc a{color:var(--p-text-2)!important}
.post-item{border-color:var(--p-line)!important}
.post-thumb img,.post-card-thumb img,.post-body img{border-radius:16px}
.post-back a{color:var(--p-green-hi)!important}
blockquote{border-left:3px solid var(--p-green);background:rgba(255,255,255,.03);margin:1.2em 0;padding:14px 18px;border-radius:0 12px 12px 0;color:var(--p-text)}

/* Partnerlisten */
.partner-group h3{color:var(--p-text)!important}
.partner-list li{border-color:var(--p-line)!important;color:var(--p-text-2)}
.partner-list li a{color:var(--p-text-2)!important}
.partner-list li a:hover{color:var(--p-green-hi)!important}

/* WhatsApp / vCard */
.whatsapp-block{background:rgba(37,211,102,.06)!important;border:1px solid rgba(37,211,102,.25)!important}
.whatsapp-block h4{color:var(--p-text)!important}
.whatsapp-qr img{background:#0A100C!important;border-radius:14px;padding:12px;box-sizing:content-box;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.vcard-download{background:rgba(255,255,255,.04)!important;border:1px solid var(--p-line-2)!important;color:var(--p-text)!important}
.vcard-download:hover{border-color:var(--p-green)!important;color:#fff!important}

/* Zertifikate / Lightbox */
.cert-thumb{background:#fff!important}
.cert-card h4{color:var(--p-text)!important}
.cert-card p{color:var(--p-muted)!important}

/* KiS-Banner & Bewertungen */
.kis-banner{background:linear-gradient(135deg,#14301A,#0B1A0F)!important;border:1px solid rgba(126,224,90,.22)!important;color:var(--p-text)!important}
.kis-rating-source{color:var(--p-muted)!important}

/* Suchseite */
.search-page h1{color:var(--p-text)!important}
#search-form{background:rgba(255,255,255,.04)!important;border:1px solid var(--p-line-2)!important}
#search-form:focus-within{border-color:var(--p-green)!important;box-shadow:0 0 0 4px rgba(91,198,58,.15)!important}
#search-input{background:transparent!important;color:var(--p-text)!important;border:0!important;box-shadow:none!important}
#search-form button{background:var(--p-green)!important;color:#07130A!important}
#search-results .search-result{background:rgba(255,255,255,.025)!important;border:1px solid var(--p-line)!important}
#search-results .search-result:hover{border-color:rgba(126,224,90,.35)!important}
#search-results .search-result h3 a{color:var(--p-text)!important}
#search-results .search-desc,#search-results .search-snippet{color:var(--p-muted)!important}
#search-results .search-url{color:var(--p-green)!important}
#search-status{color:var(--p-muted)!important}

/* ---------- Footer ---------- */
.site-footer{
  background:
    radial-gradient(700px 260px at 15% 0%, rgba(91,198,58,.10), transparent 70%),
    #070C09!important;
  border-top:1px solid var(--p-line);
  color:var(--p-muted)!important;
}
.site-footer h4{color:var(--p-text)!important;font-size:.8rem;letter-spacing:.14em}
.site-footer a{color:var(--p-text-2)!important}
.site-footer a:hover{color:var(--p-green-hi)!important}
.footer-bottom{border-top-color:var(--p-line)!important;color:#6F8577!important}
.socials a{background:rgba(255,255,255,.05)!important;border:1px solid var(--p-line)}
.socials a:hover{background:var(--p-green)!important;color:#07130A!important}

/* ---------- Cookie-Banner ---------- */
.kis-cookie-banner{
  background:rgba(16,24,19,.96)!important;color:var(--p-text)!important;
  border:1px solid var(--p-line-2)!important;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 30px 70px -20px rgba(0,0,0,.85)!important;
}
.kis-cookie-banner *{border-color:var(--p-line-2)}
.kis-cookie-banner p,.kis-cookie-banner label,.kis-cookie-banner span{color:var(--p-text-2)!important}
.kis-cookie-banner a{color:var(--p-green-hi)!important}
.kis-cookie-banner h2,.kis-cookie-banner h3,.kis-cookie-banner strong{color:var(--p-text)!important}
.kis-cc-opt{background:rgba(255,255,255,.035)!important;border:1px solid var(--p-line-2)!important;color:var(--p-text-2)!important;border-radius:14px!important}
.kis-cc-opt span{color:var(--p-text)!important}
.kis-cc-opt small{color:var(--p-muted)!important}
.kis-cc-opt input[type="checkbox"]{accent-color:var(--p-green)}
.kis-cc-details > summary{color:var(--p-green-hi)!important}
.kis-cc-table{color:var(--p-text-2)!important}
.kis-cc-table th{background:rgba(255,255,255,.05)!important;color:var(--p-text)!important}
.kis-cc-table td,.kis-cc-table th{border-color:var(--p-line)!important}
.kis-cc-table code{background:rgba(255,255,255,.06)!important;color:var(--p-text)!important}
.kis-cookie-banner .btn{background:rgba(255,255,255,.05)!important;color:var(--p-text)!important;border:1px solid var(--p-line-2)!important;box-shadow:none!important}
.kis-cookie-banner .btn:hover{border-color:rgba(255,255,255,.35)!important}
.kis-cookie-banner .btn:last-child{background:linear-gradient(180deg,var(--p-green-hi),var(--p-green))!important;color:#07130A!important;border-color:transparent!important}

/* ---------- Bilder ---------- */
img{border-radius:inherit}
.demv-siegel{border-radius:12px!important}
.hero-grid > *{min-width:0}
@media (max-width:600px){.hero h1{font-size:clamp(1.75rem,8.4vw,2.4rem);hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}.page-header h1{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}}

/* =====================================================================
   Befehlspalette (Suche) – wird von premium.js erzeugt
   ===================================================================== */
.p-kbd{
  display:inline-flex;align-items:center;gap:2px;
  font:600 .7rem/1 'Inter',sans-serif;color:var(--p-muted);
  border:1px solid var(--p-line-2);border-bottom-width:2px;border-radius:6px;padding:3px 6px;
  background:rgba(255,255,255,.03);
}
.p-search{
  position:fixed;inset:0;z-index:10000;display:grid;align-items:start;justify-items:center;
  padding:max(8vh,24px) 16px 16px;
  background:rgba(4,8,6,.66);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.p-search[hidden]{display:none!important}
.p-search-panel{
  width:min(720px,100%);max-height:min(76vh,720px);display:flex;flex-direction:column;
  background:rgba(16,24,19,.98);border:1px solid var(--p-line-2);border-radius:22px;overflow:hidden;
  box-shadow:0 40px 120px -20px rgba(0,0,0,.9), 0 0 0 1px rgba(91,198,58,.12), 0 0 80px -30px rgba(91,198,58,.35);
  animation:p-pop .22s var(--p-ease) both;
}
@keyframes p-pop{from{transform:translateY(8px) scale(.985);opacity:.001}to{transform:none;opacity:1}}
.p-search-bar{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--p-line)}
.p-search-bar svg{flex:none;color:var(--p-green-hi)}
.p-search-bar input{
  flex:1;min-width:0;background:transparent!important;border:0!important;box-shadow:none!important;
  color:#fff!important;font:500 1.12rem/1.3 'Inter',sans-serif;padding:4px 0!important;outline:none;
}
.p-search-close{background:none;border:1px solid var(--p-line-2);color:var(--p-muted);border-radius:8px;padding:4px 8px;font:600 .72rem 'Inter',sans-serif;cursor:pointer}
.p-search-close:hover{color:#fff;border-color:rgba(255,255,255,.35)}
.p-search-body{overflow:auto;padding:8px;overscroll-behavior:contain}
.p-search-hint{padding:14px 12px 6px;color:var(--p-muted);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.p-chips{display:flex;flex-wrap:wrap;gap:8px;padding:6px 12px 16px}
.p-chip{
  border:1px solid var(--p-line-2);background:rgba(255,255,255,.03);color:var(--p-text-2);
  border-radius:999px;padding:7px 13px;font:500 .86rem 'Inter',sans-serif;cursor:pointer;
}
.p-chip:hover{border-color:var(--p-green);color:#fff;background:rgba(91,198,58,.08)}
.p-res{
  display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:start;
  padding:12px 14px;border-radius:14px;text-decoration:none;color:var(--p-text-2);
  border:1px solid transparent;
}
.p-res + .p-res{margin-top:2px}
.p-res.is-active,.p-res:hover{background:rgba(91,198,58,.08);border-color:rgba(126,224,90,.25);color:var(--p-text-2)}
.p-res-tag{
  grid-row:span 2;align-self:start;margin-top:2px;
  font:700 .64rem/1 'Inter',sans-serif;letter-spacing:.1em;text-transform:uppercase;
  color:var(--p-green-hi);background:rgba(91,198,58,.10);border:1px solid rgba(91,198,58,.25);
  border-radius:6px;padding:5px 7px;min-width:78px;text-align:center;
}
.p-res-tag[data-k="Rechner"]{color:#FFB27A;background:rgba(255,138,61,.10);border-color:rgba(255,138,61,.28)}
.p-res-tag[data-k="Beitrag"]{color:#9CC7FF;background:rgba(80,150,255,.10);border-color:rgba(80,150,255,.28)}
.p-res-title{color:#fff;font-weight:600;font-size:.98rem;line-height:1.35}
.p-res-snip{color:var(--p-muted);font-size:.86rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.p-res mark{background:rgba(91,198,58,.25);color:#fff}
.p-search-foot{
  display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;
  padding:10px 16px;border-top:1px solid var(--p-line);color:var(--p-muted);font-size:.78rem;
}
.p-search-foot span{display:inline-flex;gap:6px;align-items:center}
.p-empty{padding:30px 14px;color:var(--p-muted);text-align:center}
body.p-noscroll{overflow:hidden}

@media (max-width:600px){
  .p-search{padding:10px}
  .p-search-panel{max-height:88vh;border-radius:18px}
  .p-res{grid-template-columns:1fr}
  .p-res-tag{grid-row:auto;justify-self:start;min-width:0}
  .p-search-foot{display:none}
  .search-icon-link .p-kbd{display:none}
}

/* ---------- Bewegung reduzieren ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ---------- Druck: hell ---------- */
@media print{
  body{background:#fff!important;color:#111!important}
  h1,h2,h3,h4{color:#000!important}
}

/* Suchfeld in der Palette ohne doppelten Rahmen */
.p-search .p-search-bar input,.p-search .p-search-bar input:focus{border:0!important;box-shadow:none!important;outline:none!important;border-radius:0!important}
.p-search .p-search-bar input::-webkit-search-cancel-button{display:none}
.p-search-bar:focus-within{box-shadow:inset 0 -1px 0 rgba(126,224,90,.45)}


/* ---------- Dunkle Emojis & transparente Icons sichtbar machen ---------- */
.p-emoji{filter:drop-shadow(0 0 .6px rgba(255,255,255,.95)) drop-shadow(0 0 .6px rgba(255,255,255,.95)) drop-shadow(0 0 4px rgba(255,255,255,.18))}
img[data-p-tone="outline"]{filter:drop-shadow(0 0 .7px rgba(255,255,255,.95)) drop-shadow(0 0 .7px rgba(255,255,255,.9))}
img[data-p-tone="plate"]{background:#F4F7F5;border-radius:10px;padding:6px 10px;box-sizing:content-box}

/* ---------- Suchknopf im Menü: Lupe + „Inhalt“ ---------- */
.main-nav .search-icon-link{
  display:inline-flex!important;align-items:center;gap:8px;
  padding:9px 16px 9px 13px!important;
  font-weight:600;font-size:.9rem;color:var(--p-text)!important;
  background:rgba(255,255,255,.04)!important;
}
.main-nav .search-icon-link svg{width:18px;height:18px;flex:none;color:var(--p-green-hi)}
.main-nav .search-icon-link::after{content:"Inhalt";letter-spacing:.01em}
@media (max-width:1024px){.main-nav .search-icon-link{justify-content:flex-start;margin-block:6px}}
.partner-logo img[data-p-tone]{background:none!important;padding:0!important;filter:none!important}
/* Platz im Menü für den Suchknopf */
@media (min-width:1025px){
  .site-header .nav{gap:14px}
  .main-nav ul{gap:0!important}
  .main-nav > ul > li > a{padding:9px 10px;font-size:.9rem}
  .main-nav > ul > li > a.search-icon-link{margin-inline:6px 8px;padding:8px 14px 8px 11px!important}
  .main-nav > ul > li > a.btn-cta{padding:10px 18px!important}
}
@media (min-width:1025px) and (max-width:1320px){
  .brand-logo{height:34px!important}
  .main-nav > ul > li > a{padding:8px 7px;font-size:.86rem}
  .has-sub > a::after{margin-left:3px}
  .main-nav > ul > li > a.btn-cta{padding:9px 14px!important}
}
.main-nav .search-icon-link{width:auto!important;height:auto!important;min-height:38px;border-radius:999px!important;white-space:nowrap}

/* =====================================================================
   Beiträge – Übersicht und Artikelansicht
   ===================================================================== */
.post-list{gap:28px!important}
.post-item{
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;
  border:1px solid var(--p-line)!important;border-radius:24px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
  grid-template-columns:minmax(260px,380px) 1fr!important;gap:32px!important;padding:26px!important;
  color:var(--p-text-2)!important;
  transition:border-color .35s var(--p-ease), background .35s var(--p-ease), box-shadow .35s var(--p-ease);
}
.post-item:hover{border-color:rgba(126,224,90,.3)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 30px 60px -30px rgba(91,198,58,.35)!important}
.post-thumb{color:var(--p-muted);font-size:.78rem;line-height:1.5}
.post-thumb strong{color:var(--p-text-2)!important;font-weight:600}
.post-thumb img{border-radius:16px!important;box-shadow:0 20px 40px -20px rgba(0,0,0,.8);margin-bottom:6px;transition:transform .5s var(--p-ease)}
.post-item:hover .post-thumb img{transform:scale(1.015)}
.post-body{color:var(--p-text-2)!important}
.post-body h2{color:var(--p-text)!important;font-size:clamp(1.25rem,2.2vw,1.6rem)!important;line-height:1.25!important;letter-spacing:-.02em}
.post-body p{color:var(--p-text-2)}
.post-body a.btn-cta,.post-body a.btn,.legal-content a.btn-cta{
  display:inline-flex!important;align-items:center;margin-top:10px;text-decoration:none!important;color:#07130A!important;
}
.post-body a.btn-cta::after{content:"→";margin-left:8px;transition:transform .2s var(--p-ease)}
.post-body a.btn-cta:hover::after{transform:translateX(3px)}
.post-body a:not(.btn-cta):not(.btn){text-decoration-color:rgba(126,224,90,.45)!important;text-underline-offset:3px}

/* Artikelansicht (Beitrag mit H1) */
.post-item:has(h1){
  grid-template-columns:minmax(240px,320px) minmax(0,1fr)!important;gap:48px!important;
  padding:clamp(20px,4vw,44px)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.008))!important;
}
.post-item:has(h1):hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;border-color:var(--p-line)!important}
.post-item:has(h1) .post-thumb{position:sticky;top:100px;align-self:start}
.post-item:has(h1) .post-thumb img{transform:none!important}
.post-item:has(h1) .post-body{max-width:74ch;font-size:1.04rem;line-height:1.8}
.post-body h1{color:#F4FAF5!important;font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.1;margin-bottom:.7em}
.post-item:has(h1) .post-body h2{
  margin-top:2em!important;padding-top:1.1em;border-top:1px solid var(--p-line);
  font-size:clamp(1.3rem,2.2vw,1.65rem)!important;
}
.post-item:has(h1) .post-body h2::before{content:"";display:block;width:36px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--p-green-hi),var(--p-orange));margin-bottom:14px}
.post-item:has(h1) .post-body h3{color:var(--p-text)!important;margin-top:1.6em}
.post-body em{color:var(--p-text)}
.post-item:has(h1) .post-body > p:first-of-type em{font-size:1.1rem;line-height:1.7;color:var(--p-text)}
.post-body ul li::marker,.post-body ol li::marker{color:var(--p-green-hi)}
.post-body li{margin-block:6px}
.post-body strong{color:var(--p-text)}
@media (max-width:980px){
  .post-item,.post-item:has(h1){grid-template-columns:1fr!important;gap:22px!important}
  .post-item:has(h1) .post-thumb{position:static;max-width:520px}
}
/* Kacheln der Startseite */
.post-card h3{color:var(--p-text)!important}
.post-card:hover h3{color:var(--p-green-hi)!important}
.post-card-thumb{background:var(--p-surface)!important}
/* overflow:clip statt hidden – verhindert Querscrollen, ohne "sticky" zu blockieren */
html,body{overflow-x:clip!important;overflow-y:visible!important}

/* =====================================================================
   Beratungs- und Termin-Buttons im KiS-Orange (#F37021)
   Alle Knöpfe zur Kontaktseite im Seiteninhalt; der Menü-CTA bleibt grün.
   ===================================================================== */
a[href^="kontakt.html"]:is(.btn,.btn-cta,.kis-btn):not(.main-nav a){
  background:linear-gradient(180deg,#FF8A3D 0%,#F37021 100%)!important;
  color:#1A0B02!important;border:0!important;
  box-shadow:0 0 0 1px rgba(255,160,100,.55), 0 10px 30px -10px rgba(243,112,33,.75)!important;
  text-decoration:none!important;
}
a[href^="kontakt.html"]:is(.btn,.btn-cta,.kis-btn):not(.main-nav a):hover{
  background:linear-gradient(180deg,#FFA366 0%,#FF7F2E 100%)!important;color:#1A0B02!important;
  box-shadow:0 0 0 1px rgba(255,180,130,.7), 0 16px 40px -10px rgba(243,112,33,.9)!important;
  transform:translateY(-1px);
}

/* =====================================================================
   Mobil-Korrekturen (Smartphones): nichts darf breiter als der Bildschirm sein
   ===================================================================== */
@media (max-width:760px){
  /* Zweispaltige Inline-Raster (z. B. Über uns, Startseite) untereinander */
  [style*="grid-template-columns"]:not([style*="auto-fit"]):not([style*="auto-fill"]){
    grid-template-columns:minmax(0,1fr)!important;gap:28px!important;
  }
  [style*="position:sticky"]{position:static!important}
  /* Kontaktseite: Formular und Kontaktbox auf Bildschirmbreite */
  .contact-grid{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
  .contact-grid > *,.form-row > *,.hero-grid > *,.footer-grid > *{min-width:0}
  .form-row{grid-template-columns:minmax(0,1fr)!important}
  .contact-info,form.contact-form,.contact-form{padding:22px!important}
  .form-field input,.form-field textarea,.form-field select{width:100%;max-width:100%;box-sizing:border-box}
  /* Lange Knöpfe und Links umbrechen statt überstehen */
  a[style*="nowrap"],.btn,.btn-cta{white-space:normal!important;text-align:center}
  a[style*="nowrap"]{display:inline-block;max-width:100%}
  /* Tabellen seitlich wischbar statt zu breit */
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  /* YouTube-Hinweis im Video-Rahmen */
  .yt-consent-inner{max-width:100%}
  .yt-consent-buttons{flex-wrap:wrap}
}
/* Überlange Wörter und Adressen (z. B. Links in der Datenschutzerklärung) */
main a,section a,.legal-content,.post-body,p,li,td{overflow-wrap:anywhere}
img,iframe,video,svg,canvas{max-width:100%}
@media (max-width:400px){
  .vp-card{padding:18px 14px!important}
  .vp-list{grid-template-columns:minmax(0,1fr)!important}
  .rechner-wrap h3{flex-wrap:wrap}
  .pill,.pill-orange{white-space:normal}
  .container{padding-inline:16px}
}
@media (max-width:760px){
  .vp-grid > *,.vp-list > *{min-width:0}
  .vp-card-head{flex-wrap:wrap}
  .vp-card a,.vp-card-head a{white-space:normal!important;max-width:100%}
}
