/*
 * IAB-PV-Prüfstand – Scoped Stylesheet
 * Alle Regeln sind auf .iab-pruefstand oder body.page-template-iab-pv-pruefstand beschränkt.
 * Ausnahmen: :root-Variablen, html.hc-Kontrastmodus, @keyframes und ::selection sind bewusst global.
 *
 * @package hazelnut-solutions
 */

/* ================================================================
   CSS-Variablen (global – werden vom WP-Theme ebenfalls genutzt)
   ================================================================ */
:root {
  --ink:#17232b; --ink-soft:#34444e;
  --muted:#636f77; --sky:#39a8d7; --sky-deep:#1688bb; --sky-text:#1374a0;
  --sky-pale:#eaf7fc; --sky-grid:#dff3fa;
  --paper:#f7f8f6; --white:#ffffff;
  --line:rgba(23,35,43,.55); --line-soft:rgba(23,35,43,.3);
  --go:#297b55; --wait:#916513; --stop:#bc4639;
  --go-bg:#e8f4ee; --wait-bg:#faf0da; --stop-bg:#faeae7;
  --field-bg:#f0f9fe; --field-line:#1688bb;
  --ease:cubic-bezier(.16,1,.3,1);
  --font-sans:Arial,Helvetica,sans-serif;
  --font-mono:"Courier New",Courier,monospace;
}

/* ================================================================
   Kontrastmodus – gesteuert durch das WP-Theme (hzl_hc-Schlüssel)
   ================================================================ */
html.hc {
  --muted:#495158; --sky-text:#0e5677; --go:#1e5a3f; --wait:#6b4a0e; --stop:#8a342a;
  --line:rgba(23,35,43,.75); --line-soft:rgba(23,35,43,.5);
  --field-bg:#e7f4fb; --field-line:#0e5677;
  font-size:112.5%;
}
html.hc .iab-pruefstand { line-height:1.7 }
html.hc .iab-pruefstand .hero-grid,
html.hc .iab-pruefstand .hero-glow,
html.hc .iab-pruefstand .calc .out { background-image:none }
html.hc .iab-pruefstand .calc .out { background:var(--paper) }

/* Seitenhintergrund */
body.page-template-iab-pv-pruefstand { background:var(--paper) }

::selection { background:var(--sky);color:var(--white) }

/* ================================================================
   Scroll-Abstände: WP-Header (80 px) + Subnav (52 px) + Puffer
   ================================================================ */
body.page-template-iab-pv-pruefstand html,
html.page-template-iab-pv-pruefstand { scroll-padding-top:148px }

/* ================================================================
   Interne Seitennavigation (sticky unterhalb des WP-Headers)
   ================================================================ */
.iab-subnav {
  background:rgba(247,248,246,.96);
  border-bottom:1px solid rgba(23,35,43,.1);
  backdrop-filter:blur(14px);
  position:sticky;
  top:80px;
  z-index:90;
  transition:top .35s var(--ease,ease);
}
.admin-bar .iab-subnav { top:calc(80px + var(--wp-admin--admin-bar--height,32px)) }
.iab-subnav-shell {
  display:flex;
  align-items:center;
  gap:clamp(16px,3vw,36px);
  max-width:1640px;
  margin:0 auto;
  padding:0 clamp(18px,2.6vw,44px);
  height:52px;
}
.iab-subnav-brand {
  font-size:.74rem;
  font-weight:720;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--sky-text,#1374a0);
  white-space:nowrap;
}
.iab-subnav ul {
  display:flex;
  gap:clamp(12px,2vw,28px);
  list-style:none;
  margin:0;
  padding:0;
}
.iab-subnav ul li a {
  font-size:.82rem;
  font-weight:650;
  letter-spacing:.04em;
  color:var(--ink-soft,#34444e);
  text-decoration:none;
  padding:14px 0;
  display:block;
  border-bottom:2px solid transparent;
  transition:color .2s ease,border-color .2s ease;
}
.iab-subnav ul li a:hover,
.iab-subnav ul li a:focus-visible { color:var(--sky-text,#1374a0);border-bottom-color:var(--sky,#39a8d7) }
.iab-subnav ul li a:focus-visible { outline:3px solid var(--sky-text,#1374a0);outline-offset:2px }
@media (max-width:540px) {
  .iab-subnav-brand { display:none }
  .iab-subnav ul { gap:clamp(10px,3.5vw,20px) }
  .iab-subnav ul li a { font-size:.75rem }
}
@media (max-width:820px) {
  .iab-subnav { top:64px }
  .admin-bar .iab-subnav { top:calc(64px + var(--wp-admin--admin-bar--height,32px)) }
}
@media print { .iab-subnav { display:none } }

/* ================================================================
   Wrapper / Basisstil
   ================================================================ */
.iab-pruefstand {
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-sans);
  line-height:1.6;
  overflow-x:hidden;
}
.iab-pruefstand button,
.iab-pruefstand a { font:inherit }
.iab-pruefstand button { color:inherit }
.iab-pruefstand a { color:inherit }

/* ================================================================
   Hero
   ================================================================ */
.iab-pruefstand .hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:80px clamp(18px,4vw,64px) 96px;
}
.iab-pruefstand .hero-grid {
  background-image:
    linear-gradient(rgba(23,35,43,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,35,43,.055) 1px,transparent 1px);
  background-size:72px 72px;
  inset:0;
  mask-image:linear-gradient(to bottom,black 0%,transparent 95%);
  pointer-events:none;
  position:absolute;
  z-index:-3;
}
.iab-pruefstand .hero-glow {
  border-radius:50%;
  filter:blur(2px);
  pointer-events:none;
  position:absolute;
  z-index:-2;
  background:radial-gradient(circle,rgba(57,168,215,.18),transparent 68%);
  height:680px;
  right:-140px;
  top:-200px;
  width:680px;
}
.iab-pruefstand .hero-copy { max-width:1540px;margin:0 auto }
.iab-pruefstand .eyebrow {
  align-items:center;
  color:var(--sky-text);
  display:flex;
  font-size:.8rem;
  font-weight:720;
  gap:11px;
  letter-spacing:.14em;
  margin:0 0 30px;
  text-transform:uppercase;
}
.iab-pruefstand .eyebrow i {
  background:var(--sky);border-radius:50%;height:8px;
  position:relative;width:8px;display:block;
}
.iab-pruefstand .eyebrow i::after {
  animation:pulse 2.4s ease-out infinite;
  border:1px solid var(--sky);border-radius:inherit;
  content:"";inset:-5px;position:absolute;
}
.iab-pruefstand .hero h1 {
  font-size:clamp(2.9rem,6.3vw,7.2rem);
  font-weight:720;letter-spacing:-.065em;line-height:.93;margin:0;text-wrap:balance;
}
.iab-pruefstand .hero h1 em { color:var(--sky);font-style:normal }
.iab-pruefstand .hero-lead {
  color:var(--ink-soft);font-size:clamp(1rem,1.35vw,1.2rem);
  line-height:1.75;margin:34px 0 0;max-width:640px;
}
.iab-pruefstand .hero-meta {
  align-items:center;display:flex;flex-wrap:wrap;
  gap:26px;margin-top:38px;
  font-family:var(--font-mono);font-size:.78rem;
  letter-spacing:.06em;color:var(--muted);
}

/* ================================================================
   Ampelband
   ================================================================ */
.iab-pruefstand .stats-section {
  background:linear-gradient(to bottom,var(--paper) 50%,var(--white) 50%);
  padding:0 clamp(18px,4vw,64px);
}
.iab-pruefstand .stats-shell {
  background:var(--ink);color:var(--white);
  display:grid;grid-template-columns:repeat(3,1fr);
  margin:0 auto;max-width:1540px;
}
.iab-pruefstand .stat { padding:38px clamp(22px,4vw,56px) }
.iab-pruefstand .stat+.stat { border-left:1px solid rgba(255,255,255,.13) }
.iab-pruefstand .stat-kicker {
  color:rgba(255,255,255,.78);display:block;font-size:.72rem;
  font-weight:680;letter-spacing:.15em;margin-bottom:14px;text-transform:uppercase;
}
.iab-pruefstand .stat strong {
  display:block;font-size:clamp(1.5rem,2.6vw,2.3rem);
  font-weight:710;letter-spacing:-.045em;line-height:1.05;margin-bottom:16px;
}
.iab-pruefstand .stat-go strong { color:#7ad3a4 }
.iab-pruefstand .stat-wait strong { color:#efc76a }
.iab-pruefstand .stat-stop strong { color:#ef9384 }
.iab-pruefstand .stat p {
  color:rgba(255,255,255,.86);font-family:var(--font-mono);
  font-size:.82rem;line-height:1.9;margin:0;
}

/* ================================================================
   Abschnitte
   ================================================================ */
.iab-pruefstand .shell { margin:0 auto;max-width:1540px;padding:0 clamp(18px,2.6vw,40px) }
.iab-pruefstand section { padding:clamp(64px,8vw,110px) 0 0 }
.iab-pruefstand section.on-white { background:var(--white) }
.iab-pruefstand .section-header {
  align-items:center;border-top:1px solid var(--line);
  display:flex;gap:22px;margin-bottom:clamp(34px,5vw,58px);padding-top:18px;
}
.iab-pruefstand .section-header span { color:var(--sky-text);font-family:var(--font-mono);font-size:.8rem;font-weight:700 }
.iab-pruefstand .section-header p { font-size:.78rem;font-weight:680;letter-spacing:.13em;margin:0;text-transform:uppercase }
.iab-pruefstand .section-header .right { margin-left:auto;color:var(--muted);font-weight:400;letter-spacing:.06em;text-align:right }
.iab-pruefstand h2 { font-size:clamp(2rem,4vw,3.6rem);font-weight:710;letter-spacing:-.055em;line-height:.98;margin:0 0 28px }
.iab-pruefstand h2 em { color:var(--sky);font-style:normal }
.iab-pruefstand h3 { font-size:.95rem;font-weight:700;letter-spacing:-.02em;margin:26px 0 12px }
.iab-pruefstand p { margin:0 0 16px }
.iab-pruefstand .lead { color:var(--ink-soft);font-size:clamp(.96rem,1.15vw,1.06rem);line-height:1.85;max-width:70ch }

/* ================================================================
   Rechner / Eingabefelder
   ================================================================ */
.iab-pruefstand .calc {
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  border:1px solid var(--line);background:var(--white);
}
.iab-pruefstand .calc .fields { padding:clamp(22px,3vw,40px) }
.iab-pruefstand .calc .out {
  background:linear-gradient(rgba(23,35,43,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,35,43,.06) 1px,transparent 1px),var(--paper);
  background-size:48px 48px;
  padding:clamp(22px,2.2vw,34px);border-left:1px solid var(--line);
}
.iab-pruefstand .grid2 { display:grid;grid-template-columns:1fr 1fr;gap:14px 18px }
.iab-pruefstand .full { grid-column:1 / -1 }
.iab-pruefstand label {
  display:block;font-size:.76rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:7px;
}
.iab-pruefstand input,
.iab-pruefstand select {
  width:100%;padding:12px 13px;
  border:1px solid var(--line-soft);border-left:4px solid var(--field-line);
  background:var(--field-bg);
  font-family:var(--font-sans);font-size:1rem;font-weight:700;color:var(--ink);
  border-radius:0;transition:border-color .25s ease,box-shadow .25s ease;
}
.iab-pruefstand input:hover,
.iab-pruefstand select:hover { border-color:var(--field-line);background:#e9f5fd }
.iab-pruefstand input:focus,
.iab-pruefstand select:focus {
  outline:3px solid var(--sky-text);outline-offset:2px;
  border-left-color:var(--sky-text);background:var(--white);
}
.iab-pruefstand input:focus-visible,
.iab-pruefstand select:focus-visible { border-left-width:6px }
.iab-pruefstand button:focus-visible,
.iab-pruefstand summary:focus-visible,
.iab-pruefstand a:focus-visible { outline:3px solid var(--sky-text);outline-offset:3px }
.iab-pruefstand input::placeholder { color:var(--muted);font-weight:400 }
.iab-pruefstand input[type="text"],
.iab-pruefstand input[type="url"] { font-weight:400 }
.iab-pruefstand .legendbar {
  display:flex;flex-wrap:wrap;gap:20px;align-items:center;
  margin:0 0 24px;padding:14px 16px;
  background:var(--white);border:1px solid var(--line);
  font-size:.82rem;color:var(--ink-soft);
}
.iab-pruefstand .legendbar b { align-items:center;display:inline-flex;font-weight:600;gap:9px }
.iab-pruefstand .swatch {
  display:inline-block;height:18px;width:26px;
  border:1px solid var(--line-soft);border-left:4px solid var(--field-line);background:var(--field-bg);
}
.iab-pruefstand .swatch.calcd { background:var(--paper);border:1px solid var(--line);border-left:1px solid var(--line) }
.iab-pruefstand button:focus-visible,
.iab-pruefstand summary:focus-visible { box-shadow:0 0 0 3px rgba(57,168,215,.3) }
.iab-pruefstand fieldset { border:0;margin:0 0 26px;padding:0 }
.iab-pruefstand legend {
  align-items:center;color:var(--sky-text);display:flex;font-size:.78rem;font-weight:700;
  gap:12px;letter-spacing:.1em;padding:0;text-transform:uppercase;width:100%;margin-bottom:6px;
}
.iab-pruefstand legend::after { background:var(--line);content:"";flex:1;height:1px }
.iab-pruefstand .hint { color:var(--ink-soft);font-size:.82rem;line-height:1.65;margin:0 0 14px }
.iab-pruefstand .iab-method-box { background:var(--sky-pale);border-left:3px solid var(--sky);padding:16px 18px;margin:2px 0 4px }
.iab-pruefstand .method-note { min-height:46px;padding:11px 13px;background:var(--white);border:1px solid var(--line-soft);font-size:.82rem;line-height:1.55;color:var(--ink-soft) }
.iab-pruefstand .iab-tax-preview { margin:2px 0 16px;padding:13px 15px;background:var(--paper);border:1px solid var(--line);font-size:.84rem;line-height:1.65;color:var(--ink-soft) }
.iab-pruefstand .iab-tax-preview strong { color:var(--ink) }
.iab-pruefstand .toggle { display:flex;border:1px solid var(--line);background:var(--white);margin-bottom:20px }
.iab-pruefstand .toggle button {
  flex:1;padding:13px;background:transparent;border:0;border-right:1px solid var(--line);
  font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  cursor:pointer;color:var(--ink-soft);transition:background .25s ease,color .25s ease;
}
.iab-pruefstand .toggle button:last-child { border-right:0 }
.iab-pruefstand .toggle button[aria-pressed="true"] { background:var(--ink);color:var(--white) }
.iab-pruefstand .readout { display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line-soft);padding:10px 0;font-size:.88rem }
.iab-pruefstand .readout span:first-child { color:var(--ink-soft);font-weight:600 }
.iab-pruefstand .readout span:last-child { font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700;text-align:right }
.iab-pruefstand .readout.key span:last-child { font-size:1.02rem;color:var(--sky-text) }
.iab-pruefstand .calc .out .readout:last-of-type { border-bottom:0 }
.iab-pruefstand .verdict { margin-top:24px;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--muted);padding:22px 20px }
.iab-pruefstand .verdict .v { font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:710;letter-spacing:-.05em;line-height:1.05 }
.iab-pruefstand .verdict .why { color:var(--ink-soft);font-size:.84rem;line-height:1.8;margin-top:12px }
.iab-pruefstand .v-go { border-left-color:var(--go) }
.iab-pruefstand .v-go .v { color:var(--go) }
.iab-pruefstand .v-wait { border-left-color:var(--wait) }
.iab-pruefstand .v-wait .v { color:var(--wait) }
.iab-pruefstand .v-stop { border-left-color:var(--stop) }
.iab-pruefstand .v-stop .v { color:var(--stop) }
.iab-pruefstand .chips { display:flex;flex-wrap:wrap;gap:8px;margin-top:16px }
.iab-pruefstand .chip {
  background:var(--white);font-size:.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;padding:6px 10px;border:1px solid currentColor;
}
.iab-pruefstand .c-go { color:var(--go) }
.iab-pruefstand .c-wait { color:var(--wait) }
.iab-pruefstand .c-stop { color:var(--stop) }
.iab-pruefstand .note { color:var(--ink-soft);font-size:.82rem;line-height:1.8;margin-top:16px }
.iab-pruefstand .status { margin:18px 0 0;font-size:.86rem;line-height:1.75;display:none }
.iab-pruefstand .status.show { display:block;background:var(--white);border-left:3px solid var(--sky);padding:12px 14px;color:var(--ink-soft) }
.iab-pruefstand .status.warn { border-left-color:var(--stop);color:var(--stop) }
.iab-pruefstand .act { display:flex;gap:14px;margin-top:22px;flex-wrap:wrap;align-items:center }
.iab-pruefstand .act button {
  align-items:center;background:var(--ink);border:1px solid var(--ink);
  color:var(--white);cursor:pointer;display:inline-flex;font-size:.86rem;font-weight:700;
  justify-content:center;min-height:46px;padding:0 22px;
  transition:background .3s ease,border-color .3s ease,transform .3s var(--ease),box-shadow .3s ease;
}
.iab-pruefstand .act button:hover {
  background:var(--sky-deep);border-color:var(--sky-deep);
  box-shadow:0 14px 34px rgba(22,136,187,.2);transform:translateY(-3px);
}
.iab-pruefstand .act button.ghost { background:transparent;color:var(--ink);border-color:var(--line) }
.iab-pruefstand .act button.ghost:hover { background:var(--ink);border-color:var(--ink);color:var(--white);box-shadow:none;transform:none }
.iab-pruefstand .act button.link {
  background:none;border:0;border-bottom:1px solid var(--line);
  color:var(--ink-soft);min-height:0;padding:6px 0;font-size:.82rem;font-weight:600;
}
.iab-pruefstand .act button.link:hover { background:none;color:var(--sky-text);border-color:var(--sky);box-shadow:none;transform:none }

/* ================================================================
   Sonder-AfA Optimierer
   ================================================================ */
.iab-pruefstand .afa-tools { margin-top:18px;padding:18px;background:var(--sky-pale);border-left:3px solid var(--sky) }
.iab-pruefstand .afa-tools .grid2 { align-items:end }
.iab-pruefstand .afa-tools .act { margin-top:10px }
.iab-pruefstand .afa-tools .act button { min-height:40px;padding:0 15px;font-size:.78rem }
.iab-pruefstand .opt-panel { margin:30px 0 34px;border:1px solid var(--line);background:var(--white) }
.iab-pruefstand .opt-head { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:start;padding:24px 26px;border-bottom:1px solid var(--line) }
.iab-pruefstand .opt-head h3 { margin:0 0 8px;font-size:1.15rem }
.iab-pruefstand .opt-head p { margin:0;color:var(--ink-soft);font-size:.88rem;line-height:1.75;max-width:80ch }
.iab-pruefstand .opt-badge { font-family:var(--font-mono);font-size:.74rem;font-weight:700;color:var(--sky-text);border:1px solid var(--sky-text);padding:6px 9px;white-space:nowrap }
.iab-pruefstand .opt-rec { margin:22px 26px 0 }
.iab-pruefstand .opt-wrap { overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 26px 24px }
.iab-pruefstand table.opt { width:100%;min-width:980px;border-collapse:collapse;font-size:.84rem;margin-top:18px }
.iab-pruefstand table.opt th { text-align:right;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);padding:10px 9px;border-bottom:1px solid var(--line) }
.iab-pruefstand table.opt th:first-child,
.iab-pruefstand table.opt td:first-child { text-align:left }
.iab-pruefstand table.opt td { text-align:right;padding:12px 9px;border-bottom:1px solid var(--line-soft);font-family:var(--font-mono);font-variant-numeric:tabular-nums;vertical-align:middle }
.iab-pruefstand table.opt td:first-child { font-family:var(--font-sans);font-weight:700 }
.iab-pruefstand table.opt tr.is-best td { background:var(--go-bg) }
.iab-pruefstand table.opt .apply-opt { background:var(--white);border:1px solid var(--line);color:var(--ink);cursor:pointer;padding:7px 9px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em }
.iab-pruefstand table.opt .apply-opt:hover { background:var(--ink);color:var(--white) }
.iab-pruefstand .opt-foot { padding:0 26px 24px;color:var(--ink-soft);font-size:.8rem;line-height:1.7 }

/* ================================================================
   Merkliste
   ================================================================ */
.iab-pruefstand #deals_wrap { overflow-x:auto;-webkit-overflow-scrolling:touch }
.iab-pruefstand table.deals { width:100%;min-width:1080px;border-collapse:collapse;font-size:.85rem;margin-top:18px;background:var(--white) }
.iab-pruefstand table.deals th { text-align:right;font-weight:700;color:var(--ink-soft);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid rgba(23,35,43,.18);padding:12px 10px }
.iab-pruefstand table.deals th:first-child,
.iab-pruefstand table.deals td:first-child { text-align:left }
.iab-pruefstand table.deals td { border-bottom:1px solid var(--line);padding:13px 10px;text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums }
.iab-pruefstand table.deals td:first-child { font-family:var(--font-sans);font-weight:600 }
.iab-pruefstand table.deals tr:hover td { background:var(--sky-pale) }
.iab-pruefstand table.deals a { color:var(--sky-text);text-underline-offset:3px }
.iab-pruefstand td.go { color:var(--go);font-weight:700 }
.iab-pruefstand td.wait { color:var(--wait);font-weight:700 }
.iab-pruefstand td.stop { color:var(--stop);font-weight:700 }
.iab-pruefstand .load { border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;font-family:var(--font-sans);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;transition:all .25s ease }
.iab-pruefstand .load:hover { background:var(--ink);border-color:var(--ink);color:var(--white) }
.iab-pruefstand .del { border:0;background:none;color:var(--stop);cursor:pointer;font-size:1.3rem;line-height:1;padding:0 8px }

/* ================================================================
   Glossar
   ================================================================ */
.iab-pruefstand details.glossar { border:1px solid var(--line);background:var(--white);margin-top:28px }
.iab-pruefstand details.glossar>summary { cursor:pointer;padding:18px 22px;font-size:.86rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;list-style:none;display:flex;align-items:center;gap:12px }
.iab-pruefstand details.glossar>summary::-webkit-details-marker { display:none }
.iab-pruefstand details.glossar>summary::before { content:"+";color:var(--sky-text);font-family:var(--font-mono);font-size:.9rem;font-weight:700;letter-spacing:0 }
.iab-pruefstand details.glossar[open]>summary::before { content:"—" }
.iab-pruefstand details.glossar .inner { padding:0 22px 26px;display:grid;grid-template-columns:1fr 1fr;gap:0 40px }
.iab-pruefstand details.glossar dt { font-weight:700;font-size:.95rem;letter-spacing:-.02em;margin-top:20px }
.iab-pruefstand details.glossar dd { margin:5px 0 0;font-size:.9rem;line-height:1.75;color:var(--ink-soft) }
.iab-pruefstand details.glossar dl { margin:0 }

/* ================================================================
   Red Flags
   ================================================================ */
.iab-pruefstand ol.flags { list-style:none;counter-reset:f;padding:0;margin:0;border-top:1px solid rgba(23,35,43,.18) }
.iab-pruefstand ol.flags li { counter-increment:f;display:grid;grid-template-columns:38px minmax(0,1fr) minmax(0,1fr);gap:24px;padding:25px 0;border-bottom:1px solid rgba(23,35,43,.18);align-items:start }
.iab-pruefstand ol.flags li::before { content:counter(f,decimal-leading-zero);color:var(--sky-text);font-family:var(--font-mono);font-size:.8rem;font-weight:700;padding-top:5px }
.iab-pruefstand ol.flags strong { display:block;font-size:clamp(1rem,1.5vw,1.15rem);letter-spacing:-.025em }
.iab-pruefstand ol.flags em { font-style:normal;color:var(--ink-soft);font-size:.9rem;line-height:1.65 }
.iab-pruefstand .tbl { width:100%;border-collapse:collapse;font-size:.92rem }
.iab-pruefstand .tbl td { border-bottom:1px solid var(--line);padding:14px 14px 14px 0;vertical-align:top;color:var(--ink-soft);line-height:1.7 }
.iab-pruefstand .tbl td:first-child { font-weight:700;width:28%;color:var(--ink) }
.iab-pruefstand .two { display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px) }
.iab-pruefstand .box { border-left:3px solid var(--sky);padding:4px 0 4px 22px;margin:26px 0 0;color:var(--ink-soft);font-size:.94rem;line-height:1.8 }
.iab-pruefstand .ask { background:var(--sky-pale);padding:clamp(24px,3vw,38px);margin-top:32px }
.iab-pruefstand .ask strong { display:block;font-size:1.05rem;letter-spacing:-.025em }
.iab-pruefstand .ask ol { margin:14px 0 0;padding-left:20px;color:var(--ink-soft);font-size:.94rem;line-height:1.8 }
.iab-pruefstand .ask li { margin-bottom:10px }
.iab-pruefstand .changed { display:inline-block;font-size:.66rem;font-weight:720;letter-spacing:.12em;text-transform:uppercase;color:var(--sky-text);border:1px solid var(--sky-text);padding:3px 7px;vertical-align:middle;margin-left:8px }

/* ================================================================
   Disclaimer (ehemaliger Footer-Inhalt)
   ================================================================ */
.iab-pruefstand .iab-disclaimer {
  background:#10191f;color:var(--white);
  padding:44px clamp(18px,4vw,64px);
  margin-top:clamp(64px,8vw,110px);
}
.iab-pruefstand .footer-shell { margin:0 auto;max-width:1540px }
.iab-pruefstand .footer-top { align-items:center;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:24px;margin-bottom:24px }
.iab-pruefstand .footer-top .wordmark { color:var(--white) }
.iab-pruefstand .footer-top .wordmark span { color:rgba(255,255,255,.75) }
.iab-pruefstand .footer-coord { color:var(--sky);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.14em }
.iab-pruefstand .iab-disclaimer p { color:rgba(255,255,255,.82);font-size:.82rem;line-height:1.9;margin:0 0 10px;max-width:100ch }
.iab-pruefstand .iab-disclaimer h4 { color:var(--sky);font-size:.74rem;letter-spacing:.1em;margin:0 0 10px;text-transform:uppercase;font-weight:720 }
.iab-pruefstand .iab-disclaimer .storage-note { color:rgba(255,255,255,.55);font-size:.76rem;line-height:1.7;margin-top:18px;font-style:italic }

/* ================================================================
   Optionale WP-Seiteneinleitung
   ================================================================ */
.iab-pruefstand .iab-page-intro { padding:clamp(32px,5vw,64px) 0 0 }
.iab-pruefstand .iab-page-intro p:last-child { margin-bottom:0 }

/* ================================================================
   Reveal-Animation
   ================================================================ */
.iab-pruefstand .reveal { opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease) }
.iab-pruefstand .reveal.is-visible { opacity:1;transform:translateY(0) }
@keyframes pulse { 0%{opacity:.75;transform:scale(.7)} 75%,100%{opacity:0;transform:scale(1.7)} }

/* ================================================================
   Zusätzliche Komponenten
   ================================================================ */
.iab-pruefstand .checkrow { display:flex;align-items:flex-start;gap:12px;padding:12px 13px;border:1px solid var(--line-soft);border-left:4px solid var(--field-line);background:var(--field-bg);margin:0 }
.iab-pruefstand .checkrow input[type="checkbox"] { appearance:auto;width:18px;height:18px;flex:0 0 auto;margin:2px 0 0;padding:0;border:0;outline-offset:3px }
.iab-pruefstand .checkrow span { font-size:.88rem;line-height:1.5;font-weight:650;color:var(--ink-soft) }
.iab-pruefstand .hidden { display:none !important }
.iab-pruefstand .grid3 { display:grid;grid-template-columns:repeat(3,1fr);gap:14px 18px }
.iab-pruefstand .kpi-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:0 22px;margin-top:8px }
.iab-pruefstand .kpi-grid .readout:nth-last-child(-n+2) { border-bottom:0 }
.iab-pruefstand .subhead { font-size:.72rem;font-weight:720;letter-spacing:.11em;text-transform:uppercase;color:var(--sky-text);margin:22px 0 8px }
.iab-pruefstand .calc-wide { display:grid;grid-template-columns:minmax(0,1.18fr) minmax(430px,.82fr);border:1px solid var(--line);background:var(--white) }
.iab-pruefstand .calc-wide .fields { padding:clamp(22px,2.2vw,34px) }
.iab-pruefstand .calc-wide .out { background:linear-gradient(rgba(23,35,43,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(23,35,43,.06) 1px,transparent 1px),var(--paper);background-size:48px 48px;padding:clamp(22px,2.2vw,34px);border-left:1px solid var(--line) }
.iab-pruefstand .metric-big { padding:18px 0 20px;border-bottom:1px solid var(--line) }
.iab-pruefstand .metric-big small { display:block;color:var(--ink-soft);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px }
.iab-pruefstand .metric-big > strong { font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.06em;line-height:1;font-weight:720;color:var(--sky-text) }
.iab-pruefstand .barcompare { margin-top:24px;background:var(--white);border:1px solid var(--line);padding:18px }
.iab-pruefstand .barline { display:grid;grid-template-columns:120px 1fr 100px;gap:12px;align-items:center;margin:10px 0;font-size:.8rem;font-weight:700 }
.iab-pruefstand .barline b { text-align:right;font-family:var(--font-mono) }
.iab-pruefstand .bartrack { height:18px;background:var(--paper);border:1px solid var(--line-soft);position:relative;overflow:hidden }
.iab-pruefstand .barfill { height:100%;background:var(--sky);min-width:2px;transition:width .45s var(--ease) }
.iab-pruefstand .barfill.alt { background:var(--ink) }
.iab-pruefstand .schedule-legend { display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:18px 0 10px;font-size:.78rem;color:var(--ink-soft) }
.iab-pruefstand .schedule-legend b { display:inline-flex;align-items:center;gap:7px;font-weight:650 }
.iab-pruefstand .tax-dot { width:11px;height:11px;display:inline-block;border:1px solid currentColor }
.iab-pruefstand .tax-dot.refund { background:var(--go-bg);color:var(--go) }
.iab-pruefstand .tax-dot.payment { background:var(--stop-bg);color:var(--stop) }
.iab-pruefstand .schedule-wrap { overflow:visible;border:1px solid var(--line);background:var(--white);margin-top:8px }
.iab-pruefstand table.schedule { width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;font-size:clamp(.66rem,.73vw,.78rem) }
.iab-pruefstand table.schedule th { background:var(--paper);color:var(--ink-soft);font-size:clamp(.56rem,.61vw,.66rem);line-height:1.25;letter-spacing:.035em;text-transform:uppercase;text-align:right;padding:9px 5px;border-bottom:1px solid var(--line);white-space:normal;overflow-wrap:anywhere }
.iab-pruefstand table.schedule th:first-child,
.iab-pruefstand table.schedule td:first-child { text-align:left;width:6% }
.iab-pruefstand table.schedule th:nth-child(2),
.iab-pruefstand table.schedule th:nth-child(5) { width:9.2% }
.iab-pruefstand table.schedule th:nth-child(3),
.iab-pruefstand table.schedule th:nth-child(4) { width:8.5% }
.iab-pruefstand table.schedule th:nth-child(6),
.iab-pruefstand table.schedule th:nth-child(7),
.iab-pruefstand table.schedule th:nth-child(8) { width:7.4% }
.iab-pruefstand table.schedule th:nth-child(9) { width:10% }
.iab-pruefstand table.schedule th:nth-child(10) { width:10.5% }
.iab-pruefstand table.schedule th:nth-child(11) { width:10.5% }
.iab-pruefstand table.schedule td { padding:9px 5px;border-bottom:1px solid var(--line-soft);text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap }
.iab-pruefstand table.schedule tbody tr:hover td { background:var(--sky-pale) }
.iab-pruefstand table.schedule td.tax-refund { background:var(--go-bg);color:var(--go);font-weight:700 }
.iab-pruefstand table.schedule td.tax-payment { background:var(--stop-bg);color:var(--stop);font-weight:700 }
.iab-pruefstand table.schedule tr.has-refund td:first-child { box-shadow:inset 4px 0 0 var(--go) }
.iab-pruefstand table.schedule tr.has-refund:hover td.tax-refund { background:var(--go-bg) }
.iab-pruefstand table.schedule tr.has-payment:hover td.tax-payment { background:var(--stop-bg) }
.iab-pruefstand .warnbox { border-left:4px solid var(--wait);background:var(--wait-bg);padding:14px 16px;margin-top:18px;color:var(--ink-soft);font-size:.84rem;line-height:1.7 }
.iab-pruefstand .warnbox.stop { border-left-color:var(--stop);background:var(--stop-bg) }
.iab-pruefstand .goodbox { border-left:4px solid var(--go);background:var(--go-bg);padding:14px 16px;margin-top:18px;color:var(--ink-soft);font-size:.84rem;line-height:1.7 }
.iab-pruefstand .mode-note { font-family:var(--font-mono);font-size:.76rem;color:var(--muted);line-height:1.7;margin-top:16px }
.iab-pruefstand .source-list { font-size:.86rem;line-height:1.8;color:var(--ink-soft) }
.iab-pruefstand .source-list a { color:var(--sky-text);text-underline-offset:3px }
.iab-pruefstand .smallcaps { font-size:.7rem;font-weight:720;letter-spacing:.12em;text-transform:uppercase;color:var(--muted) }

/* ================================================================
   Tooltips
   ================================================================ */
.iab-pruefstand .tip { display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;border:1px solid var(--sky-text);border-radius:50%;color:var(--sky-text);background:var(--white);font-family:var(--font-sans);font-size:.68rem;font-weight:800;line-height:1;vertical-align:middle;cursor:help;position:relative;text-transform:none;letter-spacing:0;z-index:6 }
.iab-pruefstand .tip:hover,
.iab-pruefstand .tip:focus { background:var(--sky-text);color:var(--white);outline:none }
.iab-pruefstand .tip::after { content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);width:min(330px,82vw);padding:11px 13px;background:var(--ink);color:var(--white);font-family:var(--font-sans);font-size:.78rem;font-weight:500;line-height:1.55;letter-spacing:0;text-transform:none;text-align:left;box-shadow:0 12px 32px rgba(23,35,43,.18);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;white-space:normal;z-index:999 }
.iab-pruefstand .tip::before { content:"";position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--ink);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:1000 }
.iab-pruefstand .tip:hover::after,
.iab-pruefstand .tip:focus::after { opacity:1;transform:translateX(-50%) translateY(-2px) }
.iab-pruefstand .tip:hover::before,
.iab-pruefstand .tip:focus::before { opacity:1 }
.iab-pruefstand .help-line { margin:8px 0 0;color:var(--ink-soft);font-size:.8rem;line-height:1.65 }
.iab-pruefstand .help-line strong { color:var(--ink) }
.iab-pruefstand .metric-big .help-line { font-family:var(--font-sans);font-size:.78rem;font-weight:500;max-width:54ch }
.iab-pruefstand .metric-big .help-line strong { font-size:inherit;letter-spacing:inherit;line-height:inherit;color:var(--ink);font-weight:700 }
.iab-pruefstand .term-help { display:inline-flex;align-items:center }

/* ================================================================
   Disabled-States
   ================================================================ */
.iab-pruefstand button:disabled,
.iab-pruefstand input:disabled,
.iab-pruefstand select:disabled { opacity:.48;cursor:not-allowed }
.iab-pruefstand .act button:disabled,
.iab-pruefstand .apply-opt:disabled { transform:none!important;box-shadow:none!important;background:var(--paper)!important;color:var(--muted)!important;border-color:var(--line-soft)!important }

/* ================================================================
   Responsive Breakpoints
   ================================================================ */
@media (max-width:1050px) {
  .iab-pruefstand .calc { grid-template-columns:1fr }
  .iab-pruefstand .calc .out { border-left:0;border-top:1px solid var(--line) }
  .iab-pruefstand .calc-wide { grid-template-columns:1fr }
  .iab-pruefstand .calc-wide .out { border-left:0;border-top:1px solid var(--line) }
  .iab-pruefstand .grid3 { grid-template-columns:1fr 1fr }
}
@media (max-width:820px) {
  .iab-pruefstand .stats-shell { grid-template-columns:1fr }
  .iab-pruefstand .stat+.stat { border-left:0;border-top:1px solid rgba(255,255,255,.13) }
  .iab-pruefstand .two { grid-template-columns:1fr;gap:0 }
  .iab-pruefstand ol.flags li { grid-template-columns:30px 1fr;gap:14px }
  .iab-pruefstand ol.flags li em { grid-column:2 }
  .iab-pruefstand details.glossar .inner { grid-template-columns:1fr }
  .iab-pruefstand .section-header .right { display:none }
  .iab-pruefstand .tip::after { left:auto;right:-12px;transform:none;width:min(300px,78vw) }
  .iab-pruefstand .tip:hover::after,
  .iab-pruefstand .tip:focus::after { transform:translateY(-2px) }
  .iab-pruefstand .tip::before { left:auto;right:2px;transform:none }
}
@media (max-width:760px) {
  .iab-pruefstand .schedule-wrap { border:0;background:transparent }
  .iab-pruefstand table.schedule,
  .iab-pruefstand table.schedule thead,
  .iab-pruefstand table.schedule tbody,
  .iab-pruefstand table.schedule tr,
  .iab-pruefstand table.schedule td { display:block;width:100% }
  .iab-pruefstand table.schedule { font-size:.8rem }
  .iab-pruefstand table.schedule thead { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap }
  .iab-pruefstand table.schedule tr { border:1px solid var(--line);background:var(--white);margin-bottom:12px;padding:7px 12px }
  .iab-pruefstand table.schedule tr.has-refund { border-left:4px solid var(--go) }
  .iab-pruefstand table.schedule td { display:grid;grid-template-columns:minmax(125px,1fr) auto;gap:14px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line-soft);text-align:right;white-space:nowrap }
  .iab-pruefstand table.schedule td:last-child { border-bottom:0 }
  .iab-pruefstand table.schedule td::before { content:attr(data-label);font-family:var(--font-sans);font-size:.69rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase;color:var(--ink-soft);text-align:left;white-space:normal }
  .iab-pruefstand table.schedule td:first-child { width:100%;font-size:1rem;font-weight:700;color:var(--sky-text);box-shadow:none }
  .iab-pruefstand table.schedule td.tax-refund,
  .iab-pruefstand table.schedule td.tax-payment { margin:3px -5px;padding:8px 5px }
}
@media (max-width:680px) {
  .iab-pruefstand .grid2,
  .iab-pruefstand .grid3,
  .iab-pruefstand .kpi-grid { grid-template-columns:1fr }
  .iab-pruefstand .barline { grid-template-columns:85px 1fr 82px }
  .iab-pruefstand .hero h1 { font-size:clamp(2.6rem,14vw,4.6rem) }
  .iab-pruefstand .opt-head { grid-template-columns:1fr }
  .iab-pruefstand .opt-badge { justify-self:start }
}
@media (min-width:1200px) {
  .iab-pruefstand .grid2 { gap:15px 22px }
  .iab-pruefstand label { line-height:1.35 }
  .iab-pruefstand .readout { align-items:flex-start }
  .iab-pruefstand .readout span:first-child { max-width:72%;line-height:1.45 }
  .iab-pruefstand .opt-wrap { overflow-x:visible }
  .iab-pruefstand table.opt { min-width:0;table-layout:fixed }
  .iab-pruefstand table.opt th:nth-child(1) { width:19% }
  .iab-pruefstand table.opt th:nth-child(2) { width:18% }
  .iab-pruefstand table.opt th:nth-child(3) { width:18% }
  .iab-pruefstand table.opt th:nth-child(4) { width:17% }
  .iab-pruefstand table.opt th:nth-child(5) { width:15% }
  .iab-pruefstand table.opt th:nth-child(6) { width:13% }
}
@media print {
  .iab-subnav,
  .iab-pruefstand .act,
  .iab-pruefstand .toggle,
  .iab-pruefstand .hero-glow,
  .iab-pruefstand .hero-grid { display:none }
  .iab-pruefstand .hero { padding-top:20px }
  .iab-pruefstand .calc .out { background:#fff }
  .iab-pruefstand section,
  .iab-pruefstand .calc { break-inside:avoid }
  .iab-pruefstand .tip { display:none }
  .iab-pruefstand .help-line { font-size:.72rem }
}
@media (prefers-reduced-motion:reduce) {
  .iab-pruefstand .reveal { opacity:1;transform:none }
}
