/* ClickNova v2.25.0 — Kopfzeile und Fußzeile Variante A «schwebend» (Übergabe der Gestaltung, 20.09.2026).
   Quelle: Designer-Paket nav/css/clicknova-nav.css + clicknova-tokens.css. Übernommen ist nur Variante A
   (cnh- Kopfzeile, cnm- mobiles Menü, cnf- Fußzeile) plus die gemeinsamen Bausteine v2 (cn-btn, cn-logo,
   cn-field, cn-card, cn-cta …); Variante B (cnx-) ist entfernt.
   Abweichungen vom Paket (Namenskollisionen mit bestehendem Seiten-CSS, geprüft gegen cn-theme.css/cnm.css/cnf.css):
     .cnh  → .cnv2-head   (die Startseite trägt bereits <section class="cnh"> — sonst würde der Hero „kleben“)
     .cnm  → .cnv2-menu   (.cnm ist das Kurzformular aus mini-form.php; cnm.js initialisiert jedes .cnm als Formular)
     .cnf  → .cnv2-foot,  .cnf-in → .cnv2-foot-in   (.cnf/.cnf-in gehören dem Kontaktformular, cnf.css)
   Alle Kind-Klassen (cnh-nav, cnh-login, cnm-konto, cnf-legal …) heißen wie im Paket.
   Token: --cnv2-* (eigener Namensraum, damit blockeigene --line/--bg/--ink nicht überschrieben werden); auf die
   vorhandenen Plugin-Variablen abgebildet, wo es sie gibt (--cn-btn, --cn-btn-h, --cn-btn-tx aus cn-theme.css).
   --cn-symbol (Maske des Markensymbols) setzt PHP inline (site-nav.php) auf assets/logo/clicknova-symbol-violet.png. */

/* ---------- Token (Quelle: tokens.json; Hell = Hauptvariante) ---------- */
:root,html[data-theme="light"]{--cnv2-ground:#ffffff;--cnv2-surface:#ffffff;--cnv2-surface-tint:#f6f6f9;--cnv2-surface-2:#efedf8;--cnv2-stage:#ececf2;--cnv2-foot:#f2f2f6;--cnv2-glass:rgba(255,255,255,.92);--cnv2-ink:#161826;--cnv2-ink-hi:#2b2358;--cnv2-ink-muted:rgba(22,24,38,.66);--cnv2-ink-subtle:rgba(22,24,38,.6);--cnv2-line:rgba(22,24,38,.1);--cnv2-line-strong:rgba(22,24,38,.16);--cnv2-brand:var(--cn-btn,#7c6fd0);--cnv2-brand-strong:var(--cn-btn-h,#6a5cc4);--cnv2-brand-text:#5b4ea8;--cnv2-on-brand:var(--cn-btn-tx,#ffffff);--cnv2-brand-tint:#efebfb;--cnv2-tag:#e2def6;--cnv2-ok:#2f9e63;--cnv2-warn:#8a6412;--cnv2-err:#d9534f;--cnv2-night:#161826;--cnv2-on-night:#f1f0f7;--cnv2-on-night-muted:rgba(233,233,237,.7);--cnv2-on-night-brand:#c3b8f7;--cnv2-gridline:rgba(22,24,38,.05);--cnv2-night-line:rgba(233,233,237,.16);--cnv2-shadow-bar:0 1px 2px rgba(22,24,38,.04),0 8px 24px rgba(22,24,38,.06);--cnv2-shadow-panel:0 24px 60px rgba(22,24,38,.1);--cnv2-shadow-card:0 8px 24px rgba(22,24,38,.08)}
html[data-theme="dark"]{--cnv2-ground:#161826;--cnv2-surface:#232532;--cnv2-surface-tint:#1a1c2b;--cnv2-surface-2:#2b2741;--cnv2-stage:#131522;--cnv2-foot:#0f111c;--cnv2-glass:rgba(35,37,50,.9);--cnv2-ink:#e9e9ed;--cnv2-ink-hi:#f1f0f7;--cnv2-ink-muted:rgba(233,233,237,.66);--cnv2-ink-subtle:rgba(233,233,237,.55);--cnv2-line:rgba(233,233,237,.12);--cnv2-line-strong:rgba(233,233,237,.18);--cnv2-brand:var(--cn-btn,#9184d9);--cnv2-brand-strong:var(--cn-btn-h,#a79be3);--cnv2-brand-text:#c3b8f7;--cnv2-on-brand:var(--cn-btn-tx,#17142a);--cnv2-brand-tint:#2e2757;--cnv2-tag:#423a6a;--cnv2-ok:#5fbf8a;--cnv2-warn:#e0a33a;--cnv2-err:#e06c6c;--cnv2-night:#0f111c;--cnv2-on-night:#f1f0f7;--cnv2-on-night-muted:rgba(233,233,237,.7);--cnv2-on-night-brand:#c3b8f7;--cnv2-gridline:rgba(233,233,237,.045);--cnv2-night-line:rgba(233,233,237,.16);--cnv2-shadow-bar:0 8px 24px rgba(0,0,0,.4);--cnv2-shadow-panel:0 24px 60px rgba(0,0,0,.5);--cnv2-shadow-card:0 8px 24px rgba(0,0,0,.25)}
:root{--cnv2-space-2:8px;--cnv2-space-3:12px;--cnv2-space-4:16px;--cnv2-space-5:20px;--cnv2-space-6:24px;--cnv2-space-8:32px;--cnv2-space-16:64px;--cnv2-space-24:96px;--cnv2-radius-sm:8px;--cnv2-radius-md:10px;--cnv2-radius-lg:12px;--cnv2-radius-xl:14px;--cnv2-radius-pill:999px;--cnv2-font-sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--cnv2-font-display:Orbitron,Inter,sans-serif;--cn-symbol:none}

/* ClickNova – Header & Footer v2 (cnh- = Header, cnf- = Footer). Nur Tokens, keine festen Farben. */
.cnv2-head,.cnv2-foot,.cnv2-menu{font-family:var(--cnv2-font-sans);color:var(--cnv2-ink);-webkit-font-smoothing:antialiased;box-sizing:border-box}
.cnv2-head *,.cnv2-foot *,.cnv2-menu *{box-sizing:border-box}
.cnv2-head a,.cnv2-foot a,.cnv2-menu a{color:inherit;text-decoration:none}
.cnv2-head :focus-visible,.cnv2-foot :focus-visible,.cnv2-menu :focus-visible{outline:2px solid var(--cnv2-brand-text);outline-offset:2px;border-radius:var(--cnv2-radius-sm)}

/* Marke */
.cn-logo{display:inline-flex;align-items:center;gap:10px;flex:none}
.cn-logo i{width:28px;height:28px;background:var(--cnv2-brand);-webkit-mask:var(--cn-symbol) center/contain no-repeat;mask:var(--cn-symbol) center/contain no-repeat}
.cn-logo i{display:none}
.cn-logo span{display:block;width:141px;height:28px;font-size:0;color:transparent;background:var(--cn-wordmark,none) left center/contain no-repeat}

/* Buttons */
.cn-btn{text-decoration:none;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--cnv2-radius-sm);font:500 14px/20px var(--cnv2-font-sans);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,transform .15s}
.cn-btn svg{width:16px;height:16px;flex:none;transition:transform .15s}
.cn-btn:hover svg.arr{transform:translateX(2px)}
.cn-btn--primary{background:var(--cnv2-brand);color:var(--cnv2-on-brand)!important}
.cn-btn--primary:hover{background:var(--cnv2-brand-strong)}
.cn-btn--ghost{background:transparent;color:var(--cnv2-ink)!important;border-color:var(--cnv2-line-strong);border-radius:var(--cnv2-radius-md)}
.cn-btn--ghost:hover{background:var(--cnv2-surface-tint)}
.cn-btn--night{background:transparent;color:var(--cnv2-on-night)!important;border-color:var(--cnv2-night-line);border-radius:var(--cnv2-radius-md)}
.cn-btn--night:hover{background:rgba(255,255,255,.08)}

/* Header-Leiste */
.cnv2-head{position:sticky;top:12px;z-index:100;padding:0 16px}
body>.cnv2-head{position:fixed;left:0;right:0}
.cnh-bar{max-width:1200px;margin:0 auto;height:64px;padding:0 12px 0 20px;display:flex;align-items:center;gap:24px;background:var(--cnv2-glass);-webkit-backdrop-filter:saturate(1.4) blur(16px);backdrop-filter:saturate(1.4) blur(16px);border:1px solid var(--cnv2-line);border-radius:var(--cnv2-radius-xl);box-shadow:var(--cnv2-shadow-bar);position:relative}
.cnh-nav{display:flex;align-items:center;gap:4px;margin:0 auto 0 0;padding:0;list-style:none}
.cnh-nav>li>a,.cnh-nav>li>button{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border:0;background:none;border-radius:var(--cnv2-radius-sm);font:500 15px/20px var(--cnv2-font-sans);color:var(--cnv2-ink-muted);cursor:pointer;transition:color .15s,background .15s}
.cnh-nav>li>a:hover,.cnh-nav>li>button:hover,.cnh-nav>li.is-open>button{color:var(--cnv2-ink);background:var(--cnv2-surface-tint)}
.cnh-nav>li>a[aria-current=page]{color:var(--cnv2-ink)}
.cnh-nav svg{width:14px;height:14px;transition:transform .2s}
.cnh-nav>li.is-open>button svg{transform:rotate(180deg)}
.cnh-actions{display:flex;align-items:center;gap:8px;flex:none}
.cnh-login{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-radius:var(--cnv2-radius-sm);font:500 15px/20px var(--cnv2-font-sans);color:var(--cnv2-ink-muted)!important}
.cnh-login:hover{color:var(--cnv2-ink)!important;background:var(--cnv2-surface-tint)}
.cnh-login svg{width:18px;height:18px}
.cnh-burger{display:none;width:44px;height:44px;padding:0;flex:none;border:1px solid var(--cnv2-line);border-radius:var(--cnv2-radius-sm);background:none;color:var(--cnv2-ink);align-items:center;justify-content:center;cursor:pointer}
.cnh-burger svg{width:24px;height:24px;flex:none}

/* Mega-Panel */
.cnh-panel{position:absolute;left:0;right:0;top:calc(100% + 8px);background:var(--cnv2-surface);border:1px solid var(--cnv2-line);border-radius:var(--cnv2-radius-lg);box-shadow:var(--cnv2-shadow-panel);padding:24px;display:none;gap:24px}
.cnh-nav>li.is-open>.cnh-panel{display:grid}
.cnh-panel--produkt{grid-template-columns:1fr 1fr 1fr 300px}
.cnh-panel--leistungen{grid-template-columns:repeat(5,1fr);gap:24px 12px}
.cnh-eyebrow{font:600 11px/16px var(--cnv2-font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--cnv2-ink-subtle);margin:0 0 8px;padding:0 12px}
.cnh-col{display:flex;flex-direction:column;gap:2px;min-width:0}
.cnh-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:var(--cnv2-radius-md);transition:background .15s}
.cnh-item:hover{background:var(--cnv2-surface-tint)}
.cnh-ico{flex:none;width:36px;height:36px;border-radius:var(--cnv2-radius-md);background:var(--cnv2-brand-tint);color:var(--cnv2-brand-text);display:grid;place-items:center}
.cnh-ico svg{width:18px;height:18px}
.cnh-item b{display:block;font:600 15px/20px var(--cnv2-font-sans);color:var(--cnv2-ink)}
.cnh-item small{display:block;font:400 13px/18px var(--cnv2-font-sans);color:var(--cnv2-ink-muted);margin-top:2px}
.cnh-head{display:block;padding:8px 12px;font:600 15px/20px var(--cnv2-font-sans);color:var(--cnv2-ink)!important;border-radius:var(--cnv2-radius-sm)}
.cnh-head:hover{color:var(--cnv2-brand-text)!important}
.cnv2-sub{display:block;padding:6px 12px;font:400 14px/20px var(--cnv2-font-sans);color:var(--cnv2-ink-muted)!important;border-radius:var(--cnv2-radius-sm)}
.cnv2-sub:hover{color:var(--cnv2-ink)!important;background:var(--cnv2-surface-tint)}
.cnh-promo{background:var(--cnv2-night);border-radius:var(--cnv2-radius-lg);padding:24px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.cnh-promo::after{content:"";position:absolute;right:-40px;bottom:-40px;width:180px;height:180px;background:var(--cnv2-brand);opacity:.28;-webkit-mask:var(--cn-symbol) center/contain no-repeat;mask:var(--cn-symbol) center/contain no-repeat}
.cnh-promo h4{margin:0;font:600 18px/24px var(--cnv2-font-sans);color:var(--cnv2-on-night)}
.cnh-promo p{margin:0;font:400 13px/19px var(--cnv2-font-sans);color:var(--cnv2-on-night-muted)}
.cnh-promo .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;position:relative;z-index:1}
.cnh-panelfoot{grid-column:1/-1;display:flex;gap:24px;align-items:center;border-top:1px solid var(--cnv2-line);padding:16px 12px 0;font:400 13px/18px var(--cnv2-font-sans);color:var(--cnv2-ink-muted)}
.cnh-panelfoot a{color:var(--cnv2-ink-muted)}
.cnh-panelfoot a:hover{color:var(--cnv2-ink)}
.cnh-panelfoot .sp{margin-left:auto;color:var(--cnv2-brand-text)!important;font-weight:600}

/* Mobil */
.cnv2-menu{background:var(--cnv2-surface);color:var(--cnv2-ink);display:flex;flex-direction:column;height:100%}
.cnm-top{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 16px;border-bottom:1px solid var(--cnv2-line);flex:none}
.cnm-body{flex:1;overflow:auto;padding:8px 16px 16px}
.cnm-acc{border-bottom:1px solid var(--cnv2-line)}
.cnm-acc>summary,.cnm-link{display:flex;align-items:center;justify-content:space-between;min-height:52px;font:600 17px/24px var(--cnv2-font-sans);color:var(--cnv2-ink);cursor:pointer;list-style:none}
.cnm-acc>summary::-webkit-details-marker{display:none}
.cnm-acc>summary svg{width:18px;height:18px;color:var(--cnv2-ink-muted);transition:transform .2s}
.cnm-acc[open]>summary svg{transform:rotate(180deg)}
.cnm-link{border-bottom:1px solid var(--cnv2-line)}
.cnm-acc .cnh-item{padding:10px 0}
.cnm-acc .cnh-item:last-child{margin-bottom:12px}
.cnm-konto{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.cnm-konto a{border:1px solid var(--cnv2-line);border-radius:var(--cnv2-radius-md);padding:12px}
.cnm-konto b{display:block;font:600 14px/20px var(--cnv2-font-sans)}
.cnm-konto small{display:block;font:400 12px/16px var(--cnv2-font-sans);color:var(--cnv2-ink-muted)}
.cnm-cta{flex:none;padding:12px 16px 16px;border-top:1px solid var(--cnv2-line);background:var(--cnv2-surface)}
.cnm-cta .cn-btn{width:100%;justify-content:center;height:48px;font-size:15px}
@media (max-width:1023px){
  .cnv2-head{top:8px;padding:0 8px}
  .cnh-bar{gap:12px;height:56px;padding:0 8px 0 16px}
  .cnh-nav,.cnh-login{display:none}
  .cnh-actions{margin-left:auto}
  .cnh-burger{display:inline-flex}
}
@media (max-width:420px){.cnh-actions .cn-btn{padding:0 12px;height:36px}.cnh-actions .cn-btn svg{display:none}}

/* Footer */
.cnv2-foot{background:var(--cnv2-foot);border-top:1px solid var(--cnv2-line);position:relative;overflow:hidden}
.cnv2-foot-in{max-width:1200px;margin:0 auto;padding:64px 24px 0;position:relative;z-index:1}
.cnf-top{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(4,1fr);gap:32px}
.cnf-brand p{margin:16px 0 20px;font:400 15px/24px var(--cnv2-font-sans);color:var(--cnv2-ink-muted);max-width:30ch}
.cnf-brand p em{font-style:normal}
.cnf-contact{display:flex;flex-direction:column;gap:4px;font:500 15px/24px var(--cnv2-font-sans)}
.cnf-contact a{display:inline-flex;align-items:center;gap:10px;color:var(--cnv2-ink)}
.cnf-contact a:hover{color:var(--cnv2-brand-text)}
.cnf-contact svg{width:16px;height:16px;color:var(--cnv2-ink-muted)}
.cnv2-foot h5{margin:0 0 12px;font:600 11px/16px var(--cnv2-font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--cnv2-ink-subtle)}
.cnf-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.cnf-col a{display:inline-block;padding:5px 0;font:400 14px/20px var(--cnv2-font-sans);color:var(--cnv2-ink-muted)}
.cnf-col a:hover{color:var(--cnv2-ink)}
.cnf-col a .tag{margin-left:6px;padding:1px 6px;border-radius:var(--cnv2-radius-pill);background:var(--cnv2-brand-tint);color:var(--cnv2-brand-text);font:600 10px/14px var(--cnv2-font-sans);letter-spacing:.04em;text-transform:uppercase;vertical-align:1px}
.cnf-bottom{margin-top:48px;padding:20px 0;border-top:1px solid var(--cnv2-line);display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;font:400 12px/18px var(--cnv2-font-sans);color:var(--cnv2-ink-subtle)}
.cnf-legal{display:flex;flex-wrap:wrap;gap:4px 20px;margin-left:auto}
.cnf-legal a:hover,.cnf-legal button:hover{color:var(--cnv2-ink)}
.cnf-legal button{all:unset;cursor:pointer;font:inherit;color:inherit}
.cnf-theme{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--cnv2-line);border-radius:var(--cnv2-radius-pill);background:var(--cnv2-surface);color:var(--cnv2-ink-muted);font:500 12px/16px var(--cnv2-font-sans);cursor:pointer}
.cnf-theme svg{width:14px;height:14px}
.cnf-social{width:32px;height:32px;border:1px solid var(--cnv2-line);border-radius:var(--cnv2-radius-pill);display:grid;place-items:center;background:var(--cnv2-surface);color:var(--cnv2-ink-muted)!important}
.cnf-social:hover{color:var(--cnv2-ink)!important}
.cnf-social svg{width:14px;height:14px}
.cnf-mark{display:block;font-family:var(--cnv2-font-display);font-weight:500;font-size:clamp(44px,12.5vw,156px);line-height:.8;letter-spacing:.02em;text-align:center;color:var(--cnv2-ink);opacity:.05;white-space:nowrap;margin:8px 0 -0.12em;user-select:none;pointer-events:none}
@media (max-width:900px){
  .cnv2-foot-in{padding:48px 16px 0}
  .cnf-top{grid-template-columns:1fr 1fr;gap:32px 24px}
  .cnf-brand{grid-column:1/-1}
  .cnf-legal{margin-left:0;width:100%}
}

/* ---------- Bausteine v2: Button-Größen, Formular, Chips, Karten, CTA, Leerzustand ---------- */
.cn{font-family:var(--cnv2-font-sans);color:var(--cnv2-ink);-webkit-font-smoothing:antialiased}
.cn *,.cn *::before,.cn *::after{box-sizing:border-box}
.cn a{text-decoration:none}
.cn :focus-visible{outline:2px solid var(--cnv2-brand-text);outline-offset:2px}
.cn-btn--lg{height:46px;padding:0 20px;font-size:15px}
.cn-btn--md{height:44px;padding:0 18px;font-size:15px}
.cn-btn[disabled],.cn-btn.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.cn-btn--link{height:auto;padding:0;border:0;background:none;color:var(--cnv2-brand-text)!important;font-weight:500}
.cn-btn--link:hover{text-decoration:underline;text-underline-offset:3px}
.cn-btn.is-loading{position:relative;color:transparent!important}
.cn-btn.is-loading::after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid var(--cnv2-on-brand);border-right-color:transparent;animation:cn-spin .7s linear infinite}
@keyframes cn-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.cn-btn.is-loading::after{animation:none}}

.cn-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.cn-field label{font:500 14px/20px var(--cnv2-font-sans);color:var(--cnv2-ink)}
.cn-input{height:44px;padding:0 12px;border:1px solid var(--cnv2-line-strong);border-radius:var(--cnv2-radius-sm);background:var(--cnv2-surface);color:var(--cnv2-ink);font:400 15px/22px var(--cnv2-font-sans);width:100%}
.cn-input::placeholder{color:var(--cnv2-ink-subtle)}
.cn-input:hover{border-color:var(--cnv2-ink-subtle)}
.cn-input:focus{outline:2px solid var(--cnv2-brand-text);outline-offset:1px;border-color:transparent}
.cn-field small{font:400 12px/16px var(--cnv2-font-sans);color:var(--cnv2-ink-subtle)}
.cn-field.is-error .cn-input{border-color:var(--cnv2-err)}
.cn-field.is-error small{color:var(--cnv2-err)}
.cn-field.is-ok small{color:var(--cnv2-ok)}
.cn-inline{display:flex;gap:8px}
.cn-inline .cn-input{flex:1}

.cn-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--cnv2-radius-pill);background:var(--cnv2-tag);color:var(--cnv2-ink-hi);font:500 12px/16px var(--cnv2-font-sans);white-space:nowrap}
.cn-chip--ok{background:transparent;border:1px solid var(--cnv2-line);color:var(--cnv2-ink-muted)}
.cn-chip--ok::before,.cn-chip--warn::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cnv2-ok)}
.cn-chip--warn{background:transparent;border:1px solid var(--cnv2-line);color:var(--cnv2-ink-muted)}
.cn-chip--warn::before{background:var(--cnv2-warn)}
.cn-choice{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:var(--cnv2-radius-pill);border:1px solid var(--cnv2-line-strong);background:transparent;color:var(--cnv2-ink);font:500 13px/16px var(--cnv2-font-sans);cursor:pointer}
.cn-choice[aria-pressed=true]{background:var(--cnv2-ink);color:var(--cnv2-ground);border-color:var(--cnv2-ink)}
.cn-cta .cn-choice{border-color:var(--cnv2-night-line);color:var(--cnv2-on-night)}
.cn-cta .cn-choice[aria-pressed=true]{background:var(--cnv2-on-night);color:var(--cnv2-night);border-color:var(--cnv2-on-night)}
.cn-eyebrow{display:inline-flex;align-items:center;gap:8px;font:500 13px/18px var(--cnv2-font-sans);color:var(--cnv2-brand-text)}
.cn-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cnv2-brand)}

.cn-card{background:var(--cnv2-surface);border:1px solid var(--cnv2-line);border-radius:var(--cnv2-radius-lg);padding:24px;display:flex;flex-direction:column;gap:12px;min-width:0}
.cn-card--tint{background:var(--cnv2-surface-2);border-color:transparent}
.cn-card h3{margin:0;font:500 20px/26px var(--cnv2-font-sans);letter-spacing:-.01em;color:var(--cnv2-ink)}
.cn-card p{margin:0;font:400 14px/21px var(--cnv2-font-sans);color:var(--cnv2-ink-muted)}
.cn-card .cnh-ico{margin-bottom:4px}
.cn-card .cn-btn--link{margin-top:auto;align-self:flex-start}
.cn-kpi{display:flex;flex-direction:column;gap:4px}
.cn-kpi span{font:400 12px/16px var(--cnv2-font-sans);color:var(--cnv2-ink-subtle)}
.cn-kpi b{font:600 28px/32px var(--cnv2-font-sans);color:var(--cnv2-ink-hi);font-variant-numeric:tabular-nums}
.cn-kpi em{font:500 12px/16px var(--cnv2-font-sans);font-style:normal;color:var(--cnv2-ok)}

.cn-cta{background:var(--cnv2-night);border-radius:var(--cnv2-radius-xl);padding:64px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.cn-cta::after{content:"";position:absolute;right:-60px;top:-40px;width:420px;height:420px;background:var(--cnv2-brand);opacity:.22;-webkit-mask:var(--cn-symbol) center/contain no-repeat;mask:var(--cn-symbol) center/contain no-repeat}
.cn-cta>*{position:relative;z-index:1}
.cn-cta h2{margin:0;max-width:16em;font:500 40px/46px var(--cnv2-font-sans);letter-spacing:-.015em;color:var(--cnv2-on-night)}
.cn-cta p{margin:0;max-width:34em;font:400 15px/22.5px var(--cnv2-font-sans);color:var(--cnv2-on-night-muted)}
.cn-cta .row{display:flex;flex-wrap:wrap;gap:8px}
.cn-cta small{font:400 12px/16px var(--cnv2-font-sans);color:var(--cnv2-on-night-muted)}
@media (max-width:700px){.cn-cta{padding:32px 24px}.cn-cta h2{font-size:28px;line-height:34px}}

/* Leerzustand: keine leeren Zahlen – abgedunkeltes Feld mit Aufforderung */
.cn-empty{position:relative;border:1px dashed var(--cnv2-line-strong);border-radius:var(--cnv2-radius-lg);background:var(--cnv2-surface-tint);padding:24px;min-height:220px;overflow:hidden}
.cn-empty .ghost{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;opacity:.35;filter:grayscale(1)}
.cn-empty .ghost i{display:block;height:12px;border-radius:6px;background:var(--cnv2-line-strong)}
.cn-empty .ghost i.big{height:28px;width:60%;margin-top:8px}
.cn-empty .bars{display:flex;align-items:flex-end;gap:8px;height:64px;margin-top:20px;opacity:.35}
.cn-empty .bars i{flex:1;border-radius:4px 4px 0 0;background:var(--cnv2-line-strong)}
.cn-empty .over{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px}
.cn-empty .over::before{content:"";position:absolute;inset:0;background:var(--cnv2-surface-tint);opacity:.78}
.cn-empty .over>*{position:relative}
.cn-empty .over b{font:500 16px/22px var(--cnv2-font-sans);color:var(--cnv2-ink)}
.cn-empty .over span{font:400 13px/18px var(--cnv2-font-sans);color:var(--cnv2-ink-muted);max-width:32ch}

/* Markenwort mit Verlauf ("Nova.") – Quelle: Live-H1 */
.cn-word{background:linear-gradient(90deg,var(--cnv2-ink-hi),var(--cnv2-brand-text) 55%,var(--cnv2-brand-strong));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
/* ---------- Laufzeit-Ergänzungen fürs Plugin (nicht in den Vorschauen des Pakets) ---------- */
/* Die Kopfzeile liegt in der Elementor-Vorlage; „sticky“ haftet nur innerhalb des Elternelements. clicknova-nav.js
   hängt Kopfzeile und Menü-Ebene an den <body> und lässt den Platzhalter .cnv2-pad in der Vorlage stehen (wie zuvor .cnv-pad). */
.cnv2-pad{height:88px}
body>.cnv2-head{margin:0}
.elementor-location-header .elementor-widget-html,.elementor-location-header .elementor-widget-container{line-height:normal}
/* Mobile Menü-Ebene */
.cn-sheet{position:fixed;inset:0;z-index:200;display:none;width:100%;max-width:100vw;box-sizing:border-box;overscroll-behavior:contain}
.cn-sheet.is-open{display:block}
.cnv2-menu{width:100%;max-width:100vw;box-sizing:border-box}
.cnm-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
/* Body-Sperre bei offenem Menü (v1.35.1-Ansatz der Kopfzeile «Klar»): position:fixed + gemerkte Scrollposition,
   sonst scrollt auf iOS die Seite unter dem Menü und springt beim Schließen. Top setzt das Skript (-scrollY). */
body.cn-lock{position:fixed;left:0;right:0;width:100%;overflow:hidden}
/* Mega-Panel nie breiter als der Bildschirm */
.cnh-panel{max-width:100%}
/* Theme-Schalter im Fuß: Beschriftung wechselt (Dunkel ↔ Hell), Knopf bleibt gleich breit */
.cnf-theme{min-width:84px;justify-content:center}
.cnf-legal button[data-cn-cookie]{all:unset;cursor:pointer;font:inherit;color:inherit}
@media (max-width:1023px){.cnv2-pad{height:72px}}
/* Mobiles Menü: Inline-Styles des Pakets (Leistungen/Unternehmen-Links, Schließen-Knopf) hier statt im Markup */
.cnm-acc .cnv2-sub{display:block;position:static;padding:10px 0;font-size:16px}
.cnm-acc .cnv2-sub:last-of-type{margin-bottom:8px}
.cnm-top .cnh-burger{display:inline-flex}

/* Original-Markenlogos neben Leistungen (assets/brands/*.svg, Adressen setzt site-nav.php als --cn-brand-*) */
.cnv2-sub[data-brand]{display:flex;align-items:center;gap:8px}
.cnv2-sub[data-brand]::before{content:"";flex:none;width:16px;height:16px;background:var(--cnb) center/contain no-repeat}
.cnv2-sub[data-brand="googleads"]{--cnb:var(--cn-brand-googleads)}
.cnv2-sub[data-brand="meta"]{--cnb:var(--cn-brand-meta)}
.cnv2-sub[data-brand="wordpress"]{--cnb:var(--cn-brand-wordpress)}
.cnv2-sub[data-brand="googleanalytics"]{--cnb:var(--cn-brand-googleanalytics)}
.cnv2-sub[data-brand="googlemaps"]{--cnb:var(--cn-brand-googlemaps)}
.cnv2-sub[data-brand="googlesearchconsole"]{--cnb:var(--cn-brand-googlesearchconsole)}
.cnv2-sub[data-brand="n8n"]{--cnb:var(--cn-brand-n8n)}
.cnv2-sub[data-brand="make"]{--cnb:var(--cn-brand-make)}

/* Mobil: Leistungen als Karten je Bereich – Überschrift (Eyebrow) + Unterpunkte mit Icon-Kachel */
.cnv2-mgrp{margin:0 0 10px;padding:10px 12px 6px;border-radius:var(--cnv2-radius-lg);background:var(--cnv2-surface-tint);border:1px solid var(--cnv2-line)}
.cnv2-mgrp:first-of-type{margin-top:4px}
.cnv2-mhead{display:flex;align-items:center;justify-content:space-between;padding:2px 0 8px;font:600 11px/16px var(--cnv2-font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--cnv2-brand-text)}
.cnv2-mhead::after{content:"→";font-size:14px;letter-spacing:0}
.cnm-acc .cnv2-sub{display:flex;align-items:center;gap:10px;position:static;padding:7px 0;font:500 15px/20px var(--cnv2-font-sans);color:var(--cnv2-ink)!important}
.cnm-acc .cnv2-sub::before{content:"";flex:none;width:32px;height:32px;border-radius:var(--cnv2-radius-sm);background:var(--cnv2-surface) var(--cnb,none) center/16px 16px no-repeat;border:1px solid var(--cnv2-line)}
.cnm-acc .cnv2-sub:not([data-brand])::before{background-image:linear-gradient(var(--cnv2-brand),var(--cnv2-brand));background-size:6px 6px;background-repeat:no-repeat;background-position:center;border-radius:var(--cnv2-radius-sm)}
.cnm-acc .cnv2-sub:last-of-type{margin-bottom:0}
.cnm-acc .cnv2-all{display:flex;justify-content:center;margin:2px 0 14px;padding:11px;border-radius:var(--cnv2-radius-md);border:1px solid var(--cnv2-line);color:var(--cnv2-brand-text)!important;font-weight:500}
.cnm-acc .cnv2-all::before{display:none}

/* Alle Unterpunkte mit Icon: Original-Logo (data-brand) oder Linien-Icon (.cnv2-si) */
.cnv2-sub{display:flex;align-items:center;gap:8px}
.cnv2-si{flex:none;width:16px;height:16px;color:var(--cnv2-brand-text);display:inline-grid;place-items:center}
.cnv2-si svg{width:16px;height:16px}
.cnm-acc .cnv2-sub .cnv2-si{width:32px;height:32px;border-radius:var(--cnv2-radius-sm);background:var(--cnv2-surface);border:1px solid var(--cnv2-line)}
.cnm-acc .cnv2-sub:not([data-brand])::before{display:none}
.cnm-acc .cnv2-mhead{gap:8px}
