/* CODISH Nova – Bausteine der Produktseite
 * =========================================
 * Farben, Schriften und Abstände kommen aus theme.json (Variablen
 * --wp--preset--…). Diese Datei setzt nur Komponenten zusammen und
 * definiert die helle Variante – ausschließlich über dieselben Variablen.
 *
 * Regeln des Designsystems: keine harten Schatten (Tiefe nur über Glow),
 * Karten flach, Verlauf Magenta→Cyan nur für Bridge und Akzente, Radien
 * 4 / 8 / 16 px, Bewegung kurz und ohne Bounce, reduzierte Bewegung wird
 * immer respektiert.
 */

:root{
  --nova-linie: rgba(160,174,192,.16);
  --nova-linie-stark: rgba(160,174,192,.35);
  --nova-glow-c: 0 0 8px rgba(0,229,255,.6);
  --nova-glow-m: 0 0 8px rgba(255,0,85,.6);
  --nova-bloom-c: rgba(0,229,255,.12);
  --nova-tint-c: rgba(0,229,255,.08);
  --nova-tint-m: rgba(255,0,85,.07);
  --nova-canvas: radial-gradient(ellipse 80% 70% at 70% 45%, var(--wp--preset--color--surface) 0%, var(--wp--preset--color--base) 75%);
  --nova-canvas-links: radial-gradient(ellipse 80% 70% at 25% 50%, var(--wp--preset--color--surface) 0%, var(--wp--preset--color--base) 75%);
  --nova-ease: cubic-bezier(.2,0,0,1);
  --nova-kopf-hoehe: 72px;
  color-scheme: dark;
}

/* Helle Variante – Werte aus dem CODISH-Designsystem (Tageslicht) */
html[data-theme="light"]{
  --wp--preset--color--base: #F8FAFC;
  --wp--preset--color--surface: #FFFFFF;
  --wp--preset--color--surface-2: #EEF2F7;
  --wp--preset--color--contrast: #0B1026;
  --wp--preset--color--text-light: #334155;
  --wp--preset--color--text: #475569;
  --wp--preset--color--muted: #5B6779;
  --wp--preset--color--cyan: #007C94;
  --wp--preset--color--magenta: #D4004C;
  --nova-linie: rgba(11,16,38,.12);
  --nova-linie-stark: rgba(11,16,38,.28);
  --nova-glow-c: 0 0 8px rgba(0,124,148,.28);
  --nova-glow-m: 0 0 8px rgba(212,0,76,.26);
  --nova-bloom-c: rgba(0,124,148,.10);
  --nova-tint-c: rgba(0,124,148,.07);
  --nova-tint-m: rgba(212,0,76,.06);
  --nova-canvas: radial-gradient(ellipse 80% 70% at 70% 45%, #FFFFFF 0%, #EEF2F7 80%);
  --nova-canvas-links: radial-gradient(ellipse 80% 70% at 25% 50%, #FFFFFF 0%, #EEF2F7 80%);
  color-scheme: light;
}

html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nova-kopf-hoehe) + 16px)}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--wp--preset--color--cyan);color:var(--wp--preset--color--base)}
:where(a,button,input,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--wp--preset--color--cyan);outline-offset:3px;border-radius:2px}

.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute !important;width:1px;word-wrap:normal !important}
.skip-link.screen-reader-text:focus{clip:auto;clip-path:none;height:auto;width:auto;background:var(--wp--preset--color--cyan);color:var(--wp--preset--color--base);padding:12px 18px;z-index:100000;top:8px;left:8px}

/* ------------------------------------------------------------------
   Typografie-Bausteine
   ------------------------------------------------------------------ */
.is-style-label{
  font-size:var(--wp--preset--font-size--label);font-weight:600;line-height:1.3;
  letter-spacing:.18em;text-transform:uppercase;color:var(--wp--preset--color--cyan);
  margin-bottom:var(--wp--preset--spacing--md) !important;
}
.is-sicherheit .is-style-label{color:var(--wp--preset--color--magenta)}
.is-style-tagline{font-size:var(--wp--preset--font-size--tagline);line-height:1.5;color:var(--wp--preset--color--text-light)}
.nova-meta{font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--muted)}

.wp-block-separator.is-style-bridge{
  width:120px;max-width:120px;height:2px;border:0;border-radius:999px;opacity:1;
  background:var(--wp--preset--gradient--brand);margin:var(--wp--preset--spacing--lg) 0 !important;
}
.is-zentriert .wp-block-separator.is-style-bridge,
.has-text-align-center + .wp-block-separator.is-style-bridge{margin-left:auto !important;margin-right:auto !important}

.wp-block-list.is-style-check{list-style:none;padding-left:0}
.wp-block-list.is-style-check li{position:relative;padding-left:28px;margin:10px 0}
.wp-block-list.is-style-check li::before{
  content:"";position:absolute;left:3px;top:.5em;width:11px;height:6px;
  border-left:2px solid var(--wp--preset--color--cyan);border-bottom:2px solid var(--wp--preset--color--cyan);transform:rotate(-45deg);
}

/* Knöpfe: Fläche Cyan → Magenta, Umriss Cyan; kein Schrumpfen beim Drücken */
.wp-element-button,.wp-block-button__link{
  box-shadow:var(--nova-glow-c);
  transition:background-color .2s var(--nova-ease),color .2s var(--nova-ease),border-color .2s var(--nova-ease),box-shadow .2s var(--nova-ease);
}
.wp-element-button:hover,.wp-block-button__link:hover{box-shadow:var(--nova-glow-m)}
.wp-block-button.is-style-outline > .wp-block-button__link{background:transparent;color:var(--wp--preset--color--cyan);border:1px solid currentColor;box-shadow:none;padding:13px 22px}
.wp-block-button.is-style-outline > .wp-block-button__link:hover{background:transparent;color:var(--wp--preset--color--magenta);box-shadow:var(--nova-glow-m)}
html[data-theme="light"] .wp-element-button:not(.is-style-outline *):not(.cn-opener){color:#FFFFFF}

/* ------------------------------------------------------------------
   Kopf- und Fußbereich
   ------------------------------------------------------------------ */
.nova-kopf{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--wp--preset--color--base) 90%,transparent);
  -webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--nova-linie);
}
.admin-bar .nova-kopf{top:32px}
@media (max-width:782px){.admin-bar .nova-kopf{top:46px}}
.nova-kopf-innen{min-height:var(--nova-kopf-hoehe);gap:24px}
.nova-kopf-rechts{gap:20px}
.nova-marke{display:inline-flex;align-items:center;gap:14px;text-decoration:none}
.nova-logo{height:26px;width:auto;display:block}
.nova-logo-hell{display:none}
html[data-theme="light"] .nova-logo-hell{display:block}
html[data-theme="light"] .nova-logo-dunkel{display:none}
.nova-marke-name{font:300 .8125rem/1 var(--wp--preset--font-family--display);letter-spacing:.38em;text-transform:uppercase;color:var(--wp--preset--color--text-light);padding-left:14px;border-left:1px solid var(--nova-linie-stark)}

.nova-nav .wp-block-navigation-item__content{padding:6px 0;transition:color .2s var(--nova-ease)}
.nova-nav .wp-block-navigation-item__content:hover{color:var(--wp--preset--color--cyan)}
.nova-nav .wp-block-navigation__responsive-container-open,
.nova-nav .wp-block-navigation__responsive-container-close{color:var(--wp--preset--color--text-light)}
.nova-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--wp--preset--color--base) !important;color:var(--wp--preset--color--contrast) !important;padding:24px}
.nova-nav .is-menu-open .wp-block-navigation-item__content{font:200 1.75rem/1.3 var(--wp--preset--font-family--display);color:var(--wp--preset--color--contrast)}
.nova-nav .is-menu-open .wp-block-navigation__container{gap:18px !important}

.nova-theme-tg{
  display:inline-grid;place-items:center;width:38px;height:38px;flex:none;cursor:pointer;
  background:transparent;color:var(--wp--preset--color--text-light);
  border:1px solid var(--nova-linie-stark);border-radius:4px;transition:color .2s var(--nova-ease),border-color .2s var(--nova-ease);
}
.nova-theme-tg:hover{color:var(--wp--preset--color--cyan);border-color:var(--wp--preset--color--cyan)}
.nova-theme-tg[hidden]{display:none}
.nova-tg-sonne{display:none}
html[data-theme="light"] .nova-tg-sonne{display:block}
html[data-theme="light"] .nova-tg-mond{display:none}
.nova-kopf-cta .wp-block-button__link{padding:10px 18px;font-size:.875rem}

@media (max-width:900px){
  .nova-kopf .nova-kopf-cta{display:none !important}
  .nova-marke-name{letter-spacing:.3em}
}

.nova-fuss{border-top:1px solid var(--nova-linie);padding:48px 0;font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--muted)}
.nova-fuss-innen{gap:24px}
.nova-fuss-text{margin:0}
.nova-fuss a{color:var(--wp--preset--color--text-light)}
.nova-fuss-nav .wp-block-navigation-item__content{text-decoration:underline;text-underline-offset:3px}
.nova-fuss .nova-logo{height:22px}

/* ------------------------------------------------------------------
   Sektionen
   ------------------------------------------------------------------ */
.nova-main > .wp-block-post-content > *{margin-block-start:0}
.nova-sek{padding-top:var(--wp--preset--spacing--section);padding-bottom:var(--wp--preset--spacing--section);position:relative}
.nova-sek-alt{background:var(--nova-canvas-links)}
.nova-sek-knapp{padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,6vw,72px)}
.nova-kopfzeile{max-width:720px;margin-bottom:var(--wp--preset--spacing--xl) !important}
.nova-kopfzeile > *{margin-top:0;margin-bottom:0}
.nova-kopfzeile > .wp-block-heading + .wp-block-separator{margin-top:var(--wp--preset--spacing--lg) !important}
.nova-kopfzeile.is-zentriert{text-align:center;margin-left:auto !important;margin-right:auto !important}
.nova-kopfzeile.is-sicherheit .wp-block-separator.is-style-bridge{background:linear-gradient(90deg,var(--wp--preset--color--magenta),var(--wp--preset--color--magenta) 40%,var(--wp--preset--color--cyan))}

.nova-split{gap:clamp(32px,6vw,72px) !important;align-items:center !important}
.nova-split.is-oben{align-items:flex-start !important}
.nova-split .wp-block-column > *:first-child{margin-top:0}
.nova-split .wp-block-heading{margin-top:0}
@media (max-width:781px){.nova-split.is-gespiegelt{flex-direction:column-reverse}}

/* Karten */
.is-style-card{
  background:var(--wp--preset--color--surface);border-radius:8px;padding:var(--wp--preset--spacing--lg);
  border:1px solid transparent;transition:border-color .2s var(--nova-ease),box-shadow .2s var(--nova-ease);
}
html[data-theme="light"] .is-style-card{border-color:var(--nova-linie)}
.is-style-card > *{margin-top:0;margin-bottom:0}
.is-style-card > * + *{margin-top:10px}
.is-style-card .wp-block-heading{margin-top:14px}
.nova-karten{gap:var(--wp--preset--spacing--lg) !important}
.nova-karten > .is-style-card:hover{border-color:rgba(0,229,255,.35);box-shadow:0 0 24px var(--nova-bloom-c)}
.is-style-card.is-hervorgehoben{border-color:color-mix(in srgb,var(--wp--preset--color--cyan) 55%,transparent);box-shadow:0 0 24px var(--nova-bloom-c)}

/* Icons im Hexagon / Schild */
.nova-icon{display:block;color:var(--wp--preset--color--contrast)}
.nova-icon-rahmen{stroke-width:1.5}
.nova-icon-hex .nova-icon-rahmen{stroke:var(--wp--preset--color--cyan);filter:drop-shadow(var(--nova-glow-c))}
.nova-icon-schild .nova-icon-rahmen{stroke:var(--wp--preset--color--magenta);filter:drop-shadow(var(--nova-glow-m))}

/* ------------------------------------------------------------------
   Grafiken (SVG): Farben folgen den Variablen
   ------------------------------------------------------------------ */
.nova-grafik{display:block;width:100%;height:auto;overflow:visible}
.nova-grafik .c{stroke:var(--wp--preset--color--cyan)}
.nova-grafik .m{stroke:var(--wp--preset--color--magenta)}
.nova-grafik .w{stroke:var(--wp--preset--color--contrast)}
.nova-grafik .t{stroke:var(--wp--preset--color--text)}
.nova-grafik .f-c{fill:var(--wp--preset--color--cyan)}
.nova-grafik .f-m{fill:var(--wp--preset--color--magenta)}
.nova-grafik .stop-m{stop-color:var(--wp--preset--color--magenta)}
.nova-grafik .stop-c{stop-color:var(--wp--preset--color--cyan)}
.nova-grafik .kern{fill:var(--wp--preset--color--surface)}
.nova-grafik .leise{opacity:.55}
.nova-grafik .sehrleise{opacity:.25}
.nova-grafik .seiten{opacity:.75}

/* ------------------------------------------------------------------
   Hero
   ------------------------------------------------------------------ */
.nova-hero{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;
  min-height:min(720px,calc(100svh - var(--nova-kopf-hoehe)));background:var(--nova-canvas);overflow:hidden;
  padding-left:0 !important;padding-right:0 !important;
}
.nova-hero > *{margin:0 !important}
.nova-hero-bild{align-self:stretch;display:flex;align-items:center;justify-content:flex-end;padding:40px 0}
.nova-hero-bild svg{max-height:640px}
.nova-hero-text{padding:64px clamp(16px,5vw,64px) 64px clamp(16px,3vw,40px);max-width:680px}
.nova-hero-text > *{margin-top:0;margin-bottom:0}
.nova-hero-text h1{max-width:13em}
.nova-ctas{margin-top:32px !important;gap:16px}
.nova-hero-text .nova-meta{margin-top:14px}
@media (max-width:900px){
  .nova-hero{grid-template-columns:1fr;min-height:0}
  .nova-hero-bild{justify-content:center;padding:24px 16px 0;max-height:300px;overflow:hidden}
  .nova-hero-bild svg{max-height:280px;width:auto}
  .nova-hero-grafik .seiten,.nova-hero-grafik .sehrleise{display:none}
  .nova-hero-text{padding:24px 16px 56px;max-width:none}
}

.nova-trust{border-top:1px solid var(--nova-linie);border-bottom:1px solid var(--nova-linie);padding-top:24px;padding-bottom:24px}
.nova-trust-liste{gap:24px !important}
.nova-trust-liste p{margin:0;font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--muted);line-height:1.4}
.nova-trust-liste strong{display:block;font:300 1.0625rem/1.4 var(--wp--preset--font-family--display);color:var(--wp--preset--color--contrast);margin-bottom:2px}

/* ------------------------------------------------------------------
   Ablauf
   ------------------------------------------------------------------ */
.nova-ablauf-bild{margin-bottom:32px !important}
@media (max-width:781px){.nova-ablauf-bild{display:none}}
.nova-schritte{list-style:none;padding:0;counter-reset:schritt}
.nova-schritte > li{counter-increment:schritt}
.nova-schritte > li::before{
  content:counter(schritt,decimal-leading-zero);display:block;
  font:200 2.75rem/1 var(--wp--preset--font-family--display);
  background:var(--wp--preset--gradient--brand);-webkit-background-clip:text;background-clip:text;color:transparent;
  margin-bottom:6px;
}
.nova-schritte .wp-block-heading{margin-top:6px}

/* ------------------------------------------------------------------
   Chat-Vorschau (Demo)
   ------------------------------------------------------------------ */
.nova-chat-vorschau{
  margin:0 0 0 auto;max-width:460px;background:var(--wp--preset--color--surface);border-radius:16px;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--wp--preset--color--cyan) 40%,transparent);box-shadow:0 0 32px var(--nova-bloom-c);
  font-size:.9375rem;
}
.nova-chat-kopf{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--nova-linie);color:var(--wp--preset--color--cyan)}
.nova-chat-kopf span{font:300 1.125rem var(--wp--preset--font-family--display);color:var(--wp--preset--color--contrast)}
.nova-chat-kopf small{margin-left:auto;font-size:.75rem;color:var(--wp--preset--color--muted)}
.nova-chat-verlauf{padding:20px;display:flex;flex-direction:column;gap:14px}
.nova-chat-verlauf p{margin:0}
.nova-chat-ich{align-self:flex-end;max-width:80%;padding:10px 14px;border-radius:8px 8px 2px 8px;background:var(--nova-tint-c);border:1px solid color-mix(in srgb,var(--wp--preset--color--cyan) 35%,transparent);color:var(--wp--preset--color--contrast)}
.nova-chat-nova{max-width:92%;padding:12px 14px;border-radius:8px 8px 8px 2px;background:var(--wp--preset--color--surface-2);color:var(--wp--preset--color--text-light)}
.nova-chat-quellen{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px !important}
.nova-chat-quellen span{font-size:.75rem;padding:3px 10px;border-radius:999px;color:var(--wp--preset--color--cyan);border:1px solid color-mix(in srgb,var(--wp--preset--color--cyan) 45%,transparent)}
.nova-chat-eingabe{display:flex;justify-content:space-between;align-items:center;margin:0 20px 20px;padding:11px 14px;border:1px solid var(--nova-linie-stark);border-radius:4px;color:var(--wp--preset--color--muted);font-size:.875rem}
.nova-chat-eingabe svg{color:var(--wp--preset--color--cyan)}
@media (max-width:781px){.nova-chat-vorschau{margin:0 auto}}

/* ------------------------------------------------------------------
   Plattformen
   ------------------------------------------------------------------ */
.nova-plattform{text-align:center;padding:36px 24px !important;border-color:color-mix(in srgb,var(--wp--preset--color--cyan) 30%,transparent) !important}
.nova-plattform .wp-block-heading a{color:inherit;text-decoration:none}
.nova-plattform .wp-block-heading a::after{content:"";position:absolute;inset:0}
.nova-plattform{position:relative}
.nova-plattform .wp-block-heading a:hover{color:var(--wp--preset--color--cyan)}
.nova-plattform.is-bald{border:1px dashed var(--nova-linie-stark) !important;background:transparent}
.nova-plattform.is-bald .wp-block-heading{color:var(--wp--preset--color--text)}
.nova-plattform-zeichen{display:block;margin:0 auto}
.nova-plattform-zeichen .nova-icon-rahmen{stroke:var(--wp--preset--color--cyan);stroke-width:1.5;filter:drop-shadow(var(--nova-glow-c))}
.nova-plattform-zeichen text{fill:var(--wp--preset--color--contrast);font:300 17px var(--wp--preset--font-family--display)}
.nova-plattform-zeichen.is-bald .nova-icon-rahmen{stroke:var(--wp--preset--color--text);stroke-dasharray:3 3;filter:none}
.nova-plattform-zeichen.is-bald text{fill:var(--wp--preset--color--text)}
.nova-status{
  display:inline-block;margin:14px auto 0 !important;padding:5px 12px;border-radius:999px;
  font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border:1px solid currentColor;
}
.nova-status.is-verfuegbar{color:var(--wp--preset--color--cyan)}
.nova-status.is-entwicklung{color:var(--wp--preset--color--magenta)}

.nova-fakten{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 24px !important}
.nova-fakten span{font-size:.8125rem;color:var(--wp--preset--color--text-light);background:var(--wp--preset--color--surface);border:1px solid var(--nova-linie);border-radius:4px;padding:6px 10px}

/* Schematische Bildschirme (Panel / Dashboard) */
.nova-bildschirm{margin:0;background:var(--wp--preset--color--surface);border:1px solid var(--nova-linie);border-radius:8px;overflow:hidden;font-size:.8125rem}
.nova-bildschirm-leiste{display:flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-bottom:1px solid var(--nova-linie)}
.nova-bildschirm-leiste i{width:8px;height:8px;border-radius:50%;background:var(--nova-linie-stark)}
.nova-bildschirm-leiste span{margin-left:10px;font-size:.6875rem;color:var(--wp--preset--color--muted);letter-spacing:.06em}
.nova-bildschirm-inhalt{display:grid;grid-template-columns:150px 1fr;min-height:310px}
.nova-bildschirm-menue{list-style:none;margin:0;padding:16px 14px;border-right:1px solid var(--nova-linie);display:flex;flex-direction:column;gap:12px;color:var(--wp--preset--color--muted)}
.nova-bildschirm-menue .is-aktiv{color:var(--wp--preset--color--cyan)}
.nova-bildschirm-menue .is-aktiv::before{content:"✦ "}
.nova-bildschirm-haupt{padding:18px;display:flex;flex-direction:column;gap:10px;color:var(--wp--preset--color--text-light)}
.nova-bildschirm-haupt p{margin:0}
.nova-bs-status{padding:10px 12px;border-left:2px solid var(--wp--preset--color--cyan);background:var(--nova-tint-c)}
.nova-bs-status.is-sicherheit{border-color:var(--wp--preset--color--magenta);background:var(--nova-tint-m)}
.nova-bs-label{color:var(--wp--preset--color--muted);font-size:.75rem;margin-top:4px !important}
.nova-bs-feld{display:block;padding:8px 10px;border:1px solid var(--nova-linie-stark);border-radius:4px}
.nova-bs-feld.is-knopf{text-align:center;color:var(--wp--preset--color--cyan);border-color:color-mix(in srgb,var(--wp--preset--color--cyan) 45%,transparent)}
.nova-bs-balken{height:6px;border-radius:999px;background:var(--nova-linie);overflow:hidden}
.nova-bs-balken i{display:block;height:100%;background:var(--wp--preset--gradient--brand)}
.nova-bs-reiter{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:4px !important}
.nova-bs-reiter .is-aktiv{color:var(--wp--preset--color--cyan);border-bottom:1px solid currentColor}
.nova-bs-zwei{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:480px){.nova-bildschirm-inhalt{grid-template-columns:1fr}.nova-bildschirm-menue{display:none}}

/* Joomla – demnächst */
.nova-bald{display:grid !important;grid-template-columns:auto 1fr auto;gap:clamp(24px,4vw,48px);align-items:center;padding:clamp(28px,4vw,48px);border:1px dashed var(--nova-linie-stark);border-radius:16px}
.nova-bald > *{margin:0 !important}
.nova-bald-text > *{margin-top:0;margin-bottom:0}
.nova-bald-text .wp-block-heading{margin:12px 0 !important}
.nova-bald .nova-status{margin:0 !important}
@media (max-width:781px){.nova-bald{grid-template-columns:1fr;justify-items:start}}

/* ------------------------------------------------------------------
   Preise
   ------------------------------------------------------------------ */
.nova-preis{display:flex;flex-direction:column;position:relative;padding:28px 24px !important}
.nova-preis .wp-block-list{flex:1;margin-top:20px !important;margin-bottom:24px !important}
.nova-preis .wp-block-buttons,.nova-preis .wp-block-button,.nova-preis .wp-block-button__link{width:100%;text-align:center}
.nova-betrag{font:200 2.875rem/1 var(--wp--preset--font-family--display);color:var(--wp--preset--color--contrast);margin-top:22px !important}
.nova-betrag span{font:400 .9375rem var(--wp--preset--font-family--body);color:var(--wp--preset--color--muted)}
.nova-band{position:absolute;top:-12px;left:24px;margin:0 !important;padding:5px 12px;border-radius:999px;background:var(--wp--preset--color--cyan);color:var(--wp--preset--color--base);font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
html[data-theme="light"] .nova-band{color:#FFFFFF}
.nova-preise + .nova-meta{margin-top:32px !important}

/* ------------------------------------------------------------------
   Anfrageformular
   ------------------------------------------------------------------ */
.nova-form-karte{padding:clamp(20px,3vw,36px) !important}
.nova-form{display:flex;flex-direction:column;gap:18px}
.nova-form-reihe{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:600px){.nova-form-reihe{grid-template-columns:1fr}}
.nova-feld{display:flex;flex-direction:column;gap:6px;margin:0;min-width:0}
.nova-feld > label,.nova-wahl legend{font-size:.8125rem;font-weight:500;color:var(--wp--preset--color--text-light)}
.nova-form input[type=text],.nova-form input[type=email],.nova-form input[type=url],.nova-form textarea{
  width:100%;box-sizing:border-box;padding:11px 12px;font:inherit;font-size:1rem;
  color:var(--wp--preset--color--contrast);background:var(--wp--preset--color--base);
  border:1px solid var(--nova-linie-stark);border-radius:4px;transition:border-color .2s var(--nova-ease),box-shadow .2s var(--nova-ease);
}
.nova-form textarea{resize:vertical;min-height:120px}
.nova-form input:hover,.nova-form textarea:hover{border-color:var(--wp--preset--color--text)}
.nova-form input:focus-visible,.nova-form textarea:focus-visible{outline:none;border-color:var(--wp--preset--color--cyan);box-shadow:0 0 0 1px var(--wp--preset--color--cyan),var(--nova-glow-c)}
.nova-form [aria-invalid=true]{border-color:var(--wp--preset--color--magenta);border-width:2px}
.nova-wahl{border:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;flex-direction:row}
.nova-wahl legend{padding:0;margin-bottom:8px;width:100%}
.nova-chip{position:relative;display:inline-flex}
.nova-chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.nova-chip span{display:inline-block;padding:9px 13px;font-size:.875rem;color:var(--wp--preset--color--text-light);border:1px solid var(--nova-linie-stark);border-radius:4px;transition:border-color .2s var(--nova-ease),color .2s var(--nova-ease),background-color .2s var(--nova-ease)}
.nova-chip:hover span{border-color:var(--wp--preset--color--text)}
.nova-chip input:checked + span{color:var(--wp--preset--color--cyan);border-color:var(--wp--preset--color--cyan);background:var(--nova-tint-c)}
.nova-chip input:checked + span::before{content:"✓ "}
.nova-chip input:focus-visible + span{outline:2px solid var(--wp--preset--color--cyan);outline-offset:2px}
.nova-feld-fehler,.nova-wahl .nova-feld-fehler{width:100%;margin:2px 0 0;font-size:.8125rem;font-weight:600;color:var(--wp--preset--color--magenta);padding-left:10px;border-left:2px solid currentColor}
.nova-form-fehler{padding:14px 16px;border-left:3px solid var(--wp--preset--color--magenta);background:var(--nova-tint-m);color:var(--wp--preset--color--contrast)}
.nova-form-fehler p,.nova-form-fehler ul{margin:0}
.nova-form-fehler ul{margin-top:6px;padding-left:18px}
.nova-form-fehler a{color:inherit}
.nova-form-hinweis{margin:0;font-size:.8125rem;color:var(--wp--preset--color--muted)}
.nova-form-hinweis a{color:var(--wp--preset--color--text-light)}
.nova-hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}
.nova-form .wp-block-button{margin-top:4px}
.nova-form button.wp-element-button{cursor:pointer}
.nova-form-danke{padding:8px 0}
.nova-form-danke h3{margin-top:0;color:var(--wp--preset--color--contrast)}
.nova-form-danke::before{content:"";display:block;width:48px;height:2px;background:var(--wp--preset--gradient--brand);border-radius:999px;margin-bottom:20px}

/* ------------------------------------------------------------------
   FAQ
   ------------------------------------------------------------------ */
.nova-faq{max-width:860px;margin-left:auto !important;margin-right:auto !important}
.nova-faq-eintrag{border-bottom:1px solid var(--nova-linie);margin:0 !important}
.nova-faq-eintrag summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:center;
  padding:22px 0;font:300 1.1875rem/1.4 var(--wp--preset--font-family--display);color:var(--wp--preset--color--contrast);
}
.nova-faq-eintrag summary::-webkit-details-marker{display:none}
.nova-faq-eintrag summary::after{content:"+";flex:none;font:300 1.5rem/1 var(--wp--preset--font-family--body);color:var(--wp--preset--color--cyan);transition:transform .2s var(--nova-ease)}
.nova-faq-eintrag[open] summary::after{transform:rotate(45deg)}
.nova-faq-eintrag summary:hover{color:var(--wp--preset--color--cyan)}
.nova-faq-eintrag > p{margin:0 0 22px;max-width:70ch}

/* ------------------------------------------------------------------
   Abschluss
   ------------------------------------------------------------------ */
.nova-sek-cta{padding-top:0}
.nova-cta{
  position:relative;overflow:hidden;gap:32px;border-radius:16px;padding:clamp(32px,5vw,64px);
  background:radial-gradient(ellipse 60% 120% at 85% 50%,var(--wp--preset--color--surface-2) 0%,var(--wp--preset--color--surface) 65%);
}
.nova-cta::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--wp--preset--gradient--brand)}
.nova-cta .wp-block-group > *{margin-top:0;margin-bottom:0}
.nova-cta .wp-block-heading{margin:8px 0 !important}
html[data-theme="light"] .nova-cta{border:1px solid var(--nova-linie)}

/* ------------------------------------------------------------------
   Rechtliche Seiten
   ------------------------------------------------------------------ */
.nova-seite .wp-block-post-title{margin-bottom:0}
.nova-seite h2{font-size:1.75rem;margin-top:2.2em}
.nova-seite p,.nova-seite li{color:var(--wp--preset--color--text-light)}

/* ------------------------------------------------------------------
   Nova-Chatknopf: in die Markenoptik einpassen
   ------------------------------------------------------------------ */
html .cn-theme .cn-opener.wp-element-button{border-radius:999px;background:var(--wp--preset--color--surface);color:var(--wp--preset--color--contrast);border:1px solid color-mix(in srgb,var(--wp--preset--color--cyan) 65%,transparent);box-shadow:var(--nova-glow-c)}
.cn-theme .cn-opener.wp-element-button .cn-symbol{color:var(--wp--preset--color--cyan)}
.cn-theme .cn-opener.wp-element-button:hover{border-color:var(--wp--preset--color--magenta);box-shadow:var(--nova-glow-m);background:var(--wp--preset--color--surface)}
.cn-theme .cn-win{box-shadow:0 0 32px var(--nova-bloom-c) !important;border-color:color-mix(in srgb,var(--wp--preset--color--cyan) 40%,transparent) !important}
.cn-theme textarea{background:var(--wp--preset--color--base);color:var(--wp--preset--color--contrast);border:1px solid var(--nova-linie-stark);border-radius:4px}

/* ------------------------------------------------------------------
   Bewegung – nur mit JS (Klasse nova-bewegt) und ohne reduzierte Bewegung.
   Ohne JS bleibt alles sofort sichtbar.
   ------------------------------------------------------------------ */
@media (prefers-reduced-motion: no-preference){
  .nova-bewegt .nova-einblenden{opacity:0;transform:translateY(16px);transition:opacity .6s var(--nova-ease),transform .6s var(--nova-ease)}
  .nova-bewegt .nova-einblenden.is-sichtbar{opacity:1;transform:none}
  .nova-bewegt .nova-hero-grafik .orbit{transform-box:fill-box;transform-origin:center;animation:nova-drehen 60s linear infinite}
  .nova-bewegt .nova-hero-grafik .funke{animation:nova-puls 4s var(--nova-ease) infinite}
  .nova-bewegt .nova-hero-grafik .punkte circle{animation:nova-blinken 3.2s var(--nova-ease) infinite}
  .nova-bewegt .nova-hero-grafik .punkte circle:nth-child(2n){animation-delay:1.1s}
  .nova-bewegt .nova-hero-grafik .punkte circle:nth-child(3n){animation-delay:2.2s}
}
@keyframes nova-drehen{to{transform:rotate(360deg)}}
@keyframes nova-puls{0%,100%{opacity:1}50%{opacity:.72}}
@keyframes nova-blinken{0%,100%{opacity:1}50%{opacity:.35}}

/* Raster: feste Spaltenzahl statt auto-fill (WordPress rechnet sonst mit
   einem anderen Abstand und bricht zu früh um) */
.nova-karten.is-layout-grid,.nova-trust-liste.is-layout-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
#datenschutz .nova-karten.is-layout-grid,.nova-trust-liste.is-layout-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
@media (max-width:1024px){
  .nova-karten.is-layout-grid,#datenschutz .nova-karten.is-layout-grid,.nova-trust-liste.is-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media (max-width:640px){
  .nova-karten.is-layout-grid,#datenschutz .nova-karten.is-layout-grid{grid-template-columns:minmax(0,1fr) !important}
}

/* Kopf/Fuß: gleiche Breite und Ränder wie die Sektionen */
.nova-kopf-innen,.nova-fuss-innen{max-width:var(--wp--style--global--wide-size,1200px);margin-left:auto !important;margin-right:auto !important;padding-left:clamp(16px,4vw,32px);padding-right:clamp(16px,4vw,32px);box-sizing:content-box}

/* Linksbündige Sektionsköpfe an der breiten Kante ausrichten */
.nova-sek > .nova-kopfzeile:not(.is-zentriert){max-width:var(--wp--style--global--wide-size,1200px) !important}
.nova-sek > .nova-kopfzeile:not(.is-zentriert) > *{max-width:720px}

/* Kein Abstand zwischen Kopf, Inhalt und Fuß (sonst Streifen über dem Hero) */
.wp-site-blocks > *{margin-block-start:0 !important}

/* Beschreibung der Navigationslinks („öffnet in neuem Tab“) nur für Screenreader */
.nova-fuss-nav .wp-block-navigation-item__description{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}
