/* Design «Zukunft» · ganze Website (oeffentliche Seiten, Kundenbereich, Admin, Fehlerseiten)
   Weltraum-Stil von modernhosting.ch / Power Panel, dieselbe Sprache wie zukunft-login.css:
   Violett - Cyan - Mint, Glas-Karten, Verlaufs-Knoepfe, Cyan-Fokusring, Rajdhani / Inter / JetBrains Mono.

   Ueberschreib-Schicht: wird NACH main.css geladen und aendert nur die Darstellung. Die alten
   Tokens (--color-*) bekommen die dunklen Werte; harte Farben aus main.css werden unten ersetzt.
   Keine externen Quellen: Schriften lokal (SIL Open Font License, ../fonts/OFL-*.txt).
   Bewegung nur mit html.zk-motion (setzt zukunft.js); bei «Bewegung reduzieren» steht alles still. */

@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url('../fonts/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url('../fonts/inter-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 100 800; font-display: swap;
  src: url('../fonts/jetbrains-mono-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- Tokens ---------- */
:root {
  color-scheme: dark;
  --zk-bg: #070a13;
  --zk-surface: #0d1322;
  --zk-cyan: #69e1f5;
  --zk-mint: #9af5d4;
  --zk-violet: #a492ff;
  --zk-indigo: #6550db;
  --zk-text: #eef3ff;
  --zk-dim: #b4bfd6;
  --zk-faint: #8f9bb5;
  --zk-hair: rgba(255, 255, 255, .14);
  --zk-field: rgba(4, 7, 14, .62);
  --zk-field-border: #6b7a99;
  --zk-grad: linear-gradient(105deg, #a492ff, #69e1f5 65%, #9af5d4);
  --zk-glass: linear-gradient(160deg, rgba(20, 29, 52, .78), rgba(9, 13, 25, .86));

  --color-primary: #69e1f5;
  --color-primary-hover: #9af5d4;
  --color-primary-light: rgba(105, 225, 245, .10);
  --color-accent: #a492ff;
  --color-ink: #eef3ff;
  --color-ink-soft: #b4bfd6;
  --color-ink-muted: #8f9bb5;
  --color-bg: #070a13;
  --color-bg-alt: #0b1120;
  --color-border: rgba(255, 255, 255, .14);
  --color-border-focus: #69e1f5;
  --color-ampel-gruen: #9af5d4;
  --color-ampel-gruen-bg: rgba(154, 245, 212, .10);
  --color-ampel-gelb: #ffd88a;
  --color-ampel-gelb-bg: rgba(255, 216, 138, .10);
  --color-ampel-rot: #ffb2c0;
  --color-ampel-rot-bg: rgba(255, 178, 192, .10);
  --color-error: #ffb2c0;
  --color-error-bg: rgba(255, 178, 192, .09);
  --color-success: #9af5d4;
  --color-success-bg: rgba(154, 245, 212, .09);
  --color-info-bg: rgba(105, 225, 245, .08);
  --color-deep: #0a1020;
  --color-gold: #ffd88a;
  --color-gold-bg: rgba(255, 216, 138, .12);
  --color-gold-ink: #ffd88a;
  --font-sans: Inter, Arial, Helvetica, sans-serif;
  --font-head: Rajdhani, Inter, Arial, sans-serif;
  --font-display: Rajdhani, Inter, Arial, sans-serif;
  --font-mono: 'JetBrains Mono', Consolas, Monaco, monospace;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --shadow-sm: 0 8px 26px rgba(0, 0, 0, .35);
  --shadow-md: 0 18px 50px rgba(0, 0, 0, .45);
  --shadow-lg: 0 24px 80px rgba(0, 0, 0, .55);
  --shadow-card: 0 12px 40px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .06);
  --shadow-card-hover: 0 16px 50px rgba(0, 0, 0, .5), 0 0 40px rgba(105, 225, 245, .10), inset 0 1px 0 rgba(255, 255, 255, .08);
  --grad-brand: linear-gradient(105deg, #a492ff, #69e1f5 65%, #9af5d4);
  --grad-brand-hover: linear-gradient(105deg, #b6a8ff, #86eaf9 65%, #b3f8de);
  --grad-soft: linear-gradient(180deg, rgba(255, 255, 255, .02), rgba(105, 225, 245, .05));
  --dots: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .07) 1px, transparent 0);
  --focus-ring: 0 0 0 3px rgba(105, 225, 245, .35);
}

/* ---------- Grundlagen ---------- */
html {
  background: var(--zk-bg);
  color: var(--zk-text);
  overflow-x: hidden;
  overflow-x: clip;
}
body {
  position: relative;
  min-height: 100vh;
  margin: 0;
  background: transparent;
  color: var(--zk-dim);
  font: 400 1.0625rem/1.65 var(--font-sans);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  overflow-x: clip;
}
/* Fester Nebel-Hintergrund, ruhig und ohne Bewegung */
body::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(ellipse 70% 60% at 82% -10%, rgba(80, 66, 190, .34), transparent 70%),
    radial-gradient(ellipse 60% 50% at 6% 105%, rgba(71, 206, 235, .12), transparent 70%),
    var(--zk-bg);
}
::selection { background: var(--zk-violet); color: var(--zk-bg); }
p { color: var(--zk-dim); line-height: 1.65; }
h1, h2, h3, h4, .c-card__title { font-family: var(--font-head); font-weight: 700; color: var(--zk-text); letter-spacing: .005em; }
h1 { font-size: clamp(2rem, 4.6vw, 3.1rem); }
h2 { font-size: clamp(1.6rem, 3.4vw, 2.1rem); }
h3, h4, .c-card__title { font-size: 1.3rem; }
strong { color: var(--zk-text); }
a { color: var(--zk-cyan); }
a:hover { color: var(--zk-mint); }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--zk-cyan); outline-offset: 3px; box-shadow: none; }
:is(input, select, textarea):focus-visible { outline-offset: 1px; }
.c-lead { color: var(--zk-dim); font-size: 1.15rem; }
.c-field__hint, .c-progress__label, .c-breadcrumb, .c-footer__note { color: var(--zk-faint); }
.c-eyebrow, .c-hero-label {
  font: 500 .78rem/1.4 var(--font-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--zk-cyan);
}
.c-eyebrow::before { content: "// "; color: var(--zk-violet); }

.zk-skip {
  position: absolute; left: 12px; top: -64px; z-index: 1000;
  padding: 10px 16px; border-radius: 10px;
  background: var(--zk-cyan); color: #04121a !important; font-weight: 600; text-decoration: none;
}
.zk-skip:focus { top: 12px; }

/* Canvas im Kopf (legt zukunft.js an) */
.zk-net { position: absolute; inset: 0; z-index: 0; display: block; width: 100%; height: 100%; pointer-events: none; }
.zk-sky { position: relative; }

/* ---------- Kopfzeile ---------- */
.c-nav {
  position: sticky; top: 0; z-index: 100; overflow: visible;
  background: rgba(7, 10, 19, .78);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--zk-hair);
}
.c-nav .zk-net { opacity: .8; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 22%, #000 78%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 22%, #000 78%, transparent 100%); }
.c-nav::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(105, 225, 245, .55), rgba(164, 146, 255, .55), transparent);
  opacity: .7;
}
.c-nav__inner { position: relative; z-index: 1; }
.c-nav__logo { font-family: var(--font-head); font-weight: 700; font-size: 1.7rem; letter-spacing: .01em; color: var(--zk-text); }
.c-nav__logo:hover { color: var(--zk-cyan); }
.c-nav__logo-img { border-radius: 9px; }
.c-nav__link { font-family: var(--font-head); font-weight: 600; font-size: 1.1rem; color: var(--zk-dim); text-decoration: none; }
.c-nav__link:hover, .c-nav__link.is-active { color: var(--zk-cyan); }
.c-nav__link.is-active { box-shadow: inset 0 -2px 0 var(--zk-cyan); }
.c-nav__burger span { background: var(--zk-text); }
.c-nav__burger { border-radius: 10px; }
.c-nav__menu { background: #090d19; border-bottom: 1px solid var(--zk-hair); box-shadow: var(--shadow-md); }
.c-lang__select { background: var(--zk-field); color: var(--zk-text); border: 1px solid var(--zk-field-border); border-radius: 10px; }
.c-lang__select:hover { border-color: #8391ad; }
.c-nav--app .c-nav__inner { flex-wrap: wrap; row-gap: var(--sp-2); }
.c-app-nav__link { color: var(--zk-dim); font-size: 1.05rem; padding: 4px 2px; border-bottom: 2px solid transparent; }
.c-app-nav__link:hover { color: var(--zk-cyan); border-bottom-color: var(--zk-cyan); }
.c-app-nav__user { color: var(--zk-dim); }
@media (min-width: 900px) {
  .c-nav__menu { background: transparent; box-shadow: none; border: 0; }
}

/* ---------- Fusszeile ---------- */
.c-footer {
  position: relative; background: rgba(4, 6, 12, .82); border-top: 1px solid var(--zk-hair);
}
.c-footer::before {
  content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(164, 146, 255, .55), rgba(105, 225, 245, .55), transparent);
}
.c-footer__title { color: var(--zk-text); font-family: var(--font-head); }
.c-footer a { color: var(--zk-dim); text-decoration-color: rgba(180, 191, 214, .4); }
.c-footer a:hover { color: var(--zk-cyan); }
.c-footer__contact .c-tel, .c-tel { color: var(--zk-dim); }
.c-footer__contact .c-tel:hover, .c-tel:hover, .c-tel--muted:hover { color: var(--zk-cyan); }
.c-tel--muted { color: var(--zk-dim); }
.c-footer__badge img { border-radius: 8px; }
.zk-foot-tools { text-align: center; margin-top: var(--sp-3); }
.zk-pause {
  display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 6px 4px;
  border: 0; background: none; color: var(--zk-dim);
  font: 12.5px/1.4 var(--font-mono); text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
.zk-pause:hover, .zk-pause[aria-pressed="true"] { color: var(--zk-cyan); }
.zk-pause::before { content: ""; width: 9px; height: 9px; flex: 0 0 9px; border: 1px solid currentColor; border-radius: 2px; }
.zk-pause[aria-pressed="true"]::before { background: currentColor; box-shadow: 0 0 10px currentColor; }
.zk-pause[hidden] { display: none; }
.zk-foot { border-top: 1px solid var(--zk-hair); margin-top: var(--sp-7); padding: var(--sp-4) 0 var(--sp-5); }
.zk-foot__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 20px; }
.zk-foot__links { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 0; font-size: .9rem; }
.zk-foot__links a { color: var(--zk-dim); display: inline-flex; min-height: 40px; align-items: center; }
.zk-foot__links a:hover { color: var(--zk-cyan); }

/* ---------- Abschnitte ---------- */
.u-bg-alt { background: rgba(255, 255, 255, .025); border-block: 1px solid rgba(255, 255, 255, .06); }
.u-bg-tint { background: linear-gradient(180deg, rgba(105, 225, 245, .05), rgba(164, 146, 255, .04)); }
.u-bg-grad { background: var(--grad-soft); }
.u-bg-dots { background: rgba(255, 255, 255, .02); }
.u-bg-dots::before { background-image: var(--dots); }
.u-bg-deep {
  background: linear-gradient(135deg, rgba(101, 80, 219, .16), rgba(105, 225, 245, .05));
  border-block: 1px solid rgba(255, 255, 255, .08);
}
.u-bg-deep::before { background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .07) 1px, transparent 0); }
.u-bg-deep::after { background: radial-gradient(ellipse at center, rgba(164, 146, 255, .18) 0%, transparent 62%); }
.u-bg-deep a:not(.c-button):not(.c-tel) { color: var(--zk-cyan); }
.u-bg-deep a:not(.c-button):not(.c-tel):hover { color: var(--zk-mint); }
.u-bg-deep .c-button--ghost { color: var(--zk-cyan); }
.u-bg-deep .c-pill--primary { background: rgba(105, 225, 245, .12); color: var(--zk-cyan); }
.u-accent { background: var(--zk-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ---------- Seitenkopf (Unterseiten) ---------- */
.c-page-hero {
  position: relative; overflow: hidden; isolation: isolate; color: var(--zk-text);
  background: linear-gradient(180deg, rgba(101, 80, 219, .14), rgba(7, 10, 19, 0) 92%);
  border-bottom: 1px solid var(--zk-hair);
  padding: 64px 0 52px;
}
.c-page-hero::before {
  content: ""; position: absolute; z-index: -1; top: -40%; right: -12%; width: 70%; height: 190%; pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(90, 74, 210, .38), transparent 66%);
}
.c-page-hero::after {
  content: ""; position: absolute; z-index: -1; left: 0; right: 0; bottom: -1px; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(105, 225, 245, .6), rgba(154, 245, 212, .5), transparent);
}
.c-page-hero .zk-net { z-index: -1; opacity: .85; }
.c-page-hero h1 {
  color: var(--zk-text); font-size: clamp(2rem, 5vw, 3.1rem); text-transform: uppercase;
  background: var(--zk-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  width: fit-content; max-width: 100%; overflow-wrap: anywhere;
}
.c-page-hero .c-lead { color: var(--zk-dim); opacity: 1; }
.c-page-hero .c-eyebrow { color: var(--zk-cyan); }
.c-page-hero .c-breadcrumb, .c-page-hero .c-breadcrumb a { color: var(--zk-dim); }
.c-page-hero .c-breadcrumb a:hover { color: var(--zk-cyan); }
.c-page-hero .c-breadcrumb li:not(:last-child):after { color: var(--zk-faint); }
@media (max-width: 899px) { .c-page-hero { padding: 44px 0 38px; } }

/* ---------- Startseiten-Kopf ---------- */
.c-home-hero {
  position: relative; overflow: hidden; isolation: isolate; color: var(--zk-text);
  background: linear-gradient(180deg, rgba(101, 80, 219, .12), rgba(7, 10, 19, 0) 95%);
  padding: 92px 0 84px;
  border-bottom: 1px solid var(--zk-hair);
}
.c-home-hero::before {
  content: ""; position: absolute; z-index: -1; inset: auto; top: -30%; right: -14%; width: 72%; height: 170%;
  background: radial-gradient(ellipse at center, rgba(90, 74, 210, .42), transparent 66%);
  animation: none; transform: none; will-change: auto; pointer-events: none;
}
.c-home-hero::after {
  content: ""; position: absolute; z-index: -1; left: 0; right: 0; bottom: -1px; height: 1px; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(105, 225, 245, .6), rgba(154, 245, 212, .5), transparent);
}
.c-home-hero .zk-net { z-index: -1; -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.4) 0, rgba(0,0,0,.4) 46%, #000 72%); mask-image: linear-gradient(90deg, rgba(0,0,0,.4) 0, rgba(0,0,0,.4) 46%, #000 72%); }
@media (max-width: 899px) { .c-home-hero .zk-net { -webkit-mask-image: none; mask-image: none; opacity: .5; } }
.c-home-hero .u-container, .c-home-hero .c-hero { position: relative; z-index: 1; }
.c-home-hero h1 {
  font-size: clamp(2.3rem, 5.4vw, 4.2rem); line-height: 1.05; text-transform: uppercase; color: var(--zk-text);
  background: var(--zk-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  overflow-wrap: anywhere; padding-bottom: .08em;
}
.c-home-hero p { color: var(--zk-dim); }
.c-home-hero .c-lead { color: var(--zk-dim); opacity: 1; max-width: 560px; }
.c-home-hero .c-hero-label { margin-bottom: var(--sp-3); }
.c-home-hero__hint, .c-home-hero .c-home-hero__hint { color: var(--zk-faint) !important; font-size: .92rem; }
.c-home-hero .c-breadcrumb, .c-home-hero .c-breadcrumb a { color: var(--zk-dim); }
.c-hero-badge {
  background: rgba(105, 225, 245, .06); border: 1px solid rgba(105, 225, 245, .32); color: var(--zk-text);
  font-family: var(--font-mono); font-weight: 500; font-size: .74rem; letter-spacing: .04em;
  -webkit-backdrop-filter: none; backdrop-filter: none;
}
.c-hero-badge svg { color: var(--zk-mint); }
@media (min-width: 900px) {
  .c-hero { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: var(--sp-7); align-items: center; }
}
@media (max-width: 899px) { .c-home-hero { padding: 56px 0 52px; } }

/* Zertifikat-Karte im Kopf: Kommandokarte */
.c-certificate-card {
  position: relative; isolation: isolate; border: 1px solid rgba(255, 255, 255, .16); border-radius: var(--radius-lg);
  background: var(--zk-glass);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .55), 0 0 70px rgba(101, 80, 219, .18), inset 0 1px 0 rgba(255, 255, 255, .08);
  padding: var(--sp-5);
}
.c-certificate-card::before {
  content: ""; position: absolute; inset: -1px; z-index: -1; border-radius: inherit; padding: 1px; pointer-events: none;
  background: conic-gradient(from 210deg, transparent 0 58%, rgba(105, 225, 245, .8) 76%, rgba(164, 146, 255, .7) 88%, transparent 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
}
.c-home-hero .c-certificate-card, .c-home-hero .c-certificate-card h2, .c-home-hero .c-certificate-card p:not(.c-pill) { color: var(--zk-text); }
.c-home-hero .c-certificate-card p:not(.c-pill):not(.c-certificate-card__meta) { color: var(--zk-dim); }
.c-certificate-card h2 { text-transform: none; font-size: 1.6rem; }
.c-certificate-card__meta, .c-home-hero .c-certificate-card p.c-certificate-card__meta {
  font: 500 .74rem/1.5 var(--font-mono); letter-spacing: .1em; color: var(--zk-cyan);
}
.c-operator-photo { border-radius: 12px; }

/* ---------- Raketen-Szene ---------- */
.zk-hero-side { display: grid; gap: var(--sp-4); min-width: 0; }
.zk-scene {
  --zk-px: 0px; --zk-py: 0px;
  position: relative; height: 340px; margin-bottom: -6px; pointer-events: none; user-select: none;
}
.zk-rocket {
  position: absolute; left: 50%; top: -20px; width: 350px; height: 344px; margin-left: -175px; overflow: visible;
  transform: translate(calc(var(--zk-px) * -1), calc(var(--zk-py) * -1));
  filter: drop-shadow(0 14px 26px rgba(101, 80, 219, .4));
  transition: transform .5s ease-out;
}
.zk-orbit { position: absolute; left: 50%; top: 20px; width: 300px; height: 300px; margin-left: -150px; }
.zk-orbit-two { top: 4px; width: 340px; height: 340px; margin-left: -170px; opacity: .45; transform: rotate(48deg) scaleY(.6); }
.zk-orbit-track { position: absolute; inset: 0; border: 1px solid rgba(105, 225, 245, .34); border-radius: 50%; }
.zk-orbit-dot {
  position: absolute; top: 4%; left: 50%; width: 9px; height: 9px; margin-left: -4px; border-radius: 50%;
  background: var(--zk-cyan); box-shadow: 0 0 16px var(--zk-cyan);
}
.zk-coord { position: absolute; font: 500 10.5px/1.3 var(--font-mono); letter-spacing: .12em; color: var(--zk-faint); }
.zk-coord-one { top: 70px; left: 0; }
.zk-coord-two { top: 236px; right: 0; }
.zk-readout {
  position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); margin: 0; white-space: nowrap;
  font: 500 11px/1.4 var(--font-mono); letter-spacing: .16em; color: var(--zk-cyan);
}
.zk-dot { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--zk-mint); box-shadow: 0 0 10px var(--zk-mint); vertical-align: 1px; }
.zk-flame-halo, .zk-flame { transform-box: fill-box; transform-origin: 50% 0; }
.zk-flame-halo { opacity: .35; }
.zk-flame { opacity: .85; }
.zk-clouds { opacity: .1; }
.zk-particles { opacity: .55; }
.zk-trajectory { stroke-dasharray: 3 9; opacity: .8; }
@media (max-width: 899px) {
  .zk-scene { height: 250px; }
  .zk-rocket { width: 270px; height: 265px; margin-left: -135px; top: -16px; }
  .zk-orbit { width: 220px; height: 220px; margin-left: -110px; top: 16px; }
  .zk-orbit-two { width: 250px; height: 250px; margin-left: -125px; top: 2px; }
  .zk-coord-one { top: 40px; }
  .zk-coord-two { top: 176px; }
}
@media (max-width: 420px) { .zk-coord { display: none; } }

/* ---------- Karten ---------- */
.u-section h2 + .c-lead { margin-bottom: var(--sp-6); }
.c-pricing-grid { margin-bottom: var(--sp-6); }
.c-card, .c-steps__item, .c-module-list__item, .c-stat, .c-cert-hero {
  background: var(--zk-glass); border: 1px solid rgba(255, 255, 255, .12); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card); color: var(--zk-dim);
}
.c-card { padding: var(--sp-5); }
.c-card:hover { border-color: rgba(105, 225, 245, .34); box-shadow: var(--shadow-card-hover); }
.c-card--highlight { border: 1px solid rgba(105, 225, 245, .55); box-shadow: var(--shadow-card), 0 0 60px rgba(101, 80, 219, .2); }
.c-card--accent::before { background: var(--zk-grad); height: 3px; }
.c-card--addon { background: rgba(255, 255, 255, .03); box-shadow: none; }
.c-card__title { text-transform: none; }
.c-card__text { color: var(--zk-dim); }
.c-card__price-note { color: var(--zk-text); }
.c-card__tiers { color: var(--zk-faint); }
.u-bg-deep .c-card { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .14); }
.u-bg-deep .c-card:hover { background: rgba(255, 255, 255, .06); border-color: rgba(105, 225, 245, .34); }
.c-icon-badge {
  background: var(--zk-grad); color: #060913; border-radius: 12px; box-shadow: 0 6px 22px rgba(101, 80, 219, .4);
}
.c-step-num { background: var(--zk-grad); color: #060913; }
.c-cta-box {
  border: 1px solid rgba(105, 225, 245, .35); border-radius: var(--radius-lg);
  background: linear-gradient(135deg, rgba(101, 80, 219, .16), rgba(105, 225, 245, .07));
}
.c-band {
  border: 1px solid rgba(105, 225, 245, .3); border-radius: var(--radius-lg);
  background: linear-gradient(135deg, rgba(101, 80, 219, .22), rgba(105, 225, 245, .08));
  box-shadow: var(--shadow-card);
}
.c-band__text { color: var(--zk-text); }
.c-band .c-button--primary, .c-band .c-button--primary:hover { background: var(--zk-grad); }
.c-empty { background: rgba(255, 255, 255, .03); border: 1px dashed rgba(255, 255, 255, .22); border-radius: var(--radius-lg); color: var(--zk-dim); }
.c-answer { background: rgba(105, 225, 245, .07); border: 1px solid rgba(105, 225, 245, .28); border-left: 4px solid var(--zk-cyan); }
.c-answer p { color: var(--zk-text); }
.c-toc, .c-sources { background: rgba(255, 255, 255, .03); border-color: var(--zk-hair); }
.c-sources__url { color: var(--zk-faint); }
.c-stats__num { background: var(--zk-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.u-bg-deep .c-stats__num { background: var(--zk-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.c-stats__label, .u-bg-deep .c-stats__label { color: var(--zk-dim); font-family: var(--font-mono); font-size: .78rem; letter-spacing: .06em; }
.c-checklist li { color: var(--zk-dim); }
.c-checklist li::before, .u-bg-deep .c-checklist li::before { background: rgba(154, 245, 212, .14); color: var(--zk-mint); border: 1px solid rgba(154, 245, 212, .4); }
.c-checklist--2col strong { color: var(--zk-text); }
.c-dots-rule span { background: var(--zk-cyan); }
.c-dots-rule span:nth-child(2) { background: var(--zk-violet); }
.c-dots-rule span:nth-child(3) { background: var(--zk-mint); }

/* ---------- Schaltflaechen ---------- */
.c-button {
  border-radius: 12px; font-family: var(--font-head); font-weight: 700; font-size: 1.05rem; letter-spacing: .06em;
  min-height: 48px; padding: 12px 26px; border: 1px solid transparent;
}
.c-button--primary, .c-button--primary:visited {
  background: var(--zk-grad); color: #060913;
  box-shadow: 0 8px 30px rgba(101, 80, 219, .38), inset 0 1px 0 rgba(255, 255, 255, .35);
}
.c-button--primary:hover {
  background: var(--zk-grad); color: #060913; filter: brightness(1.07);
  box-shadow: 0 12px 38px rgba(105, 225, 245, .34), inset 0 1px 0 rgba(255, 255, 255, .4);
}
.c-button--secondary, .c-button--hero-outline, .u-bg-deep .c-button--secondary {
  background: rgba(105, 225, 245, .07); border-color: rgba(105, 225, 245, .6); color: var(--zk-text);
}
.c-button--secondary:hover, .c-button--hero-outline:hover, .u-bg-deep .c-button--secondary:hover {
  background: rgba(105, 225, 245, .17); border-color: var(--zk-cyan); color: var(--zk-text);
}
.c-button--ghost { background: transparent; color: var(--zk-cyan); border-color: transparent; }
.c-button--ghost:hover { color: var(--zk-mint); background: rgba(105, 225, 245, .06); text-decoration: none; }
.c-button--danger { background: rgba(255, 178, 192, .16); border-color: rgba(255, 178, 192, .6); color: var(--zk-text); }
.c-button[disabled], .c-button[aria-disabled="true"] {
  background: rgba(255, 255, 255, .08); border-color: var(--zk-hair); color: var(--zk-faint); box-shadow: none; filter: none; cursor: not-allowed;
}
.c-button.is-loading:after { border-color: rgba(6, 9, 19, .35); border-top-color: #060913; }
.c-button--secondary.is-loading:after, .c-button--ghost.is-loading:after { border-color: rgba(255, 255, 255, .35); border-top-color: var(--zk-cyan); }

/* ---------- Formulare ---------- */
.c-field__label { color: #d3dcee; font-weight: 600; letter-spacing: .02em; }
.c-field__input, .c-field select, .c-field textarea, .c-field__select {
  background: var(--zk-field); color: var(--zk-text); border: 1px solid var(--zk-field-border); border-radius: 12px;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
.c-field__input:hover, .c-field select:hover, .c-field textarea:hover, .c-field__select:hover { border-color: #8391ad; }
.c-field__input:focus, .c-field select:focus, .c-field textarea:focus, .c-field__select:focus {
  border-color: var(--zk-cyan); background: rgba(4, 7, 14, .82); outline: none; box-shadow: 0 0 0 3px rgba(105, 225, 245, .3);
}
.c-field__input::placeholder { color: var(--zk-faint); }
.c-field__input:-webkit-autofill { -webkit-text-fill-color: var(--zk-text); box-shadow: 0 0 0 60px #0b1120 inset; caret-color: var(--zk-text); }
.c-field__input[readonly] { color: var(--zk-dim); }
.c-field__input--mono { font-family: var(--font-mono); }
.c-field__error { color: var(--zk-danger, #ffb2c0); }
.c-field--error input, .c-field--error select, .c-field--error textarea { border-color: #ffb2c0; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--zk-cyan); }
.c-choice { background: var(--zk-glass); border: 1px solid rgba(255, 255, 255, .16); border-radius: 14px; color: var(--zk-text); margin-bottom: var(--sp-3); transition: border-color .15s, background .15s; }
.c-choice:hover { border-color: rgba(105, 225, 245, .5); }
.c-choice:has(input:checked) { border-color: var(--zk-cyan); background: linear-gradient(135deg, rgba(101, 80, 219, .2), rgba(105, 225, 245, .1)); }
.c-choice:focus-within { border-color: var(--zk-cyan); box-shadow: 0 0 0 3px rgba(105, 225, 245, .28); }
.c-strength { background: rgba(255, 255, 255, .14); }
.c-progress { background: rgba(255, 255, 255, .12); }
.c-progress__bar { background: var(--zk-cyan); }
.c-progress__bar--grad, .c-progress:not(.c-strength) .c-progress__bar { background: var(--zk-grad); }
.c-strength--weak .c-progress__bar { background: #ffb2c0; }
.c-strength--ok .c-progress__bar { background: var(--zk-violet); }
.c-strength--strong .c-progress__bar { background: var(--zk-mint); }
.c-progress--steps .c-progress__track { background: rgba(255, 255, 255, .12); }

/* ---------- Meldungen, Pillen, Tabellen ---------- */
.c-alert { border-radius: 12px; border: 1px solid; border-left-width: 4px; }
.c-alert--error { border-color: rgba(255, 178, 192, .55); color: #ffb2c0; }
.c-alert--success { border-color: rgba(154, 245, 212, .5); color: var(--zk-mint); }
.c-alert--info { border-color: rgba(105, 225, 245, .45); color: var(--zk-cyan); }
.c-alert--warning { border-color: rgba(255, 216, 138, .5); background: rgba(255, 216, 138, .09); color: #ffd88a; }
.c-toast {
  background: rgba(13, 19, 34, .96); border: 1px solid var(--zk-hair); border-left: 4px solid var(--zk-mint);
  color: var(--zk-text); box-shadow: var(--shadow-md); border-radius: 12px;
}
.c-toast__close { color: var(--zk-dim); }
.c-toast__close:hover { color: var(--zk-cyan); }
.c-pill--neutral, .c-pill--muted { background: rgba(255, 255, 255, .07); color: var(--zk-dim); }
.c-pill--primary { background: rgba(105, 225, 245, .12); color: var(--zk-cyan); }
.c-pill--success { background: rgba(154, 245, 212, .12); color: var(--zk-mint); }
.c-pill--warning { background: rgba(255, 216, 138, .12); color: #ffd88a; }
.c-pill--error { background: rgba(255, 178, 192, .12); color: #ffb2c0; }
.c-pill--gold { background: rgba(255, 216, 138, .13); color: #ffd88a; }
.c-pill { font-family: var(--font-mono); font-weight: 500; letter-spacing: .04em; }
.c-ampel { font-family: var(--font-mono); font-weight: 500; }
.c-result { border: 1px solid currentColor; border-radius: 14px; }
.c-table { background: transparent; }
.c-table th { background: rgba(255, 255, 255, .05); color: var(--zk-dim); }
.c-table th, .c-table td { color: var(--zk-dim); border-color: var(--zk-hair); }
.c-table td strong, .c-table td { font-size: 1rem; }
.c-table tbody tr:hover { background: rgba(105, 225, 245, .05); }
.c-table-wrap { border-radius: 14px; }
.c-accordion { border-bottom: 1px solid var(--zk-hair); }
.c-accordion__summary { color: var(--zk-text); cursor: pointer; }
.c-accordion__summary:after { color: var(--zk-cyan); font-family: var(--font-mono); }
.c-accordion__body { color: var(--zk-dim); }
.c-modal__backdrop { background: rgba(3, 5, 10, .72); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.c-modal__dialog { background: var(--zk-glass); border: 1px solid rgba(255, 255, 255, .16); box-shadow: var(--shadow-lg); color: var(--zk-dim); }
.c-modal__dialog { background-color: #0d1322; }
.c-modal__close { color: var(--zk-dim); }
.c-modal__close:hover { color: var(--zk-cyan); }
.c-breadcrumb a { color: var(--zk-dim); }
.c-breadcrumb a:hover { color: var(--zk-cyan); }
.c-breadcrumb li:not(:last-child):after { color: var(--zk-faint); }

/* ---------- Fliesstext (Inhaltsseiten, Lektionen) ---------- */
.page-content, .c-course__body { color: var(--zk-dim); }
.page-content :where(p, li), .c-course__body :where(p, li) { color: var(--zk-dim); }
.page-content :where(ul, ol), .c-course__body :where(ul, ol) { padding-left: 1.4rem; margin: 0 0 var(--sp-4); }
.page-content li, .c-course__body li { margin-bottom: .4rem; }
.page-content li::marker, .c-course__body li::marker { color: var(--zk-cyan); }
.page-content h2, .c-course__body h2 { margin-top: var(--sp-6); text-transform: none; font-size: clamp(1.45rem, 3vw, 1.8rem); }
.page-content h3, .c-course__body h3 { margin-top: var(--sp-5); }
.page-content table, .c-course__body table { width: 100%; border-collapse: collapse; margin: 0 0 var(--sp-4); }
.page-content th, .page-content td, .c-course__body th, .c-course__body td { padding: .6rem .8rem; border-bottom: 1px solid var(--zk-hair); text-align: left; vertical-align: top; }
.page-content th, .c-course__body th { color: var(--zk-text); background: rgba(255, 255, 255, .05); }
.page-content a, .c-course__body a { text-decoration-thickness: 1px; }
.page-content, .c-course__body { overflow-wrap: anywhere; }
.page-content table, .c-course__body table { display: block; overflow-x: auto; }

/* ---------- Kundenbereich ---------- */
/* Anmelde-, Registrier- und Passwortseiten: Formular in einer Glas-Karte (wie die Admin-Anmeldung) */
.zk-auth .u-section > .u-narrow {
  position: relative; isolation: isolate; width: calc(100% - 32px); max-width: 520px; margin: var(--sp-5) auto 0;
  padding: 34px 32px 28px; border-radius: 22px;
  background: var(--zk-glass); border: 1px solid rgba(255, 255, 255, .14);
  box-shadow: 0 24px 80px rgba(0, 0, 0, .55), 0 0 90px rgba(101, 80, 219, .16), inset 0 1px 0 rgba(255, 255, 255, .08);
}
.zk-auth .u-section > .u-narrow::before {
  content: ""; position: absolute; inset: -1px; z-index: -1; border-radius: inherit; padding: 1px; pointer-events: none;
  background: conic-gradient(from 220deg, transparent 0 60%, rgba(105, 225, 245, .8) 78%, rgba(164, 146, 255, .7) 88%, transparent 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
}
.zk-auth h1 { font-size: clamp(1.9rem, 6vw, 2.4rem); background: var(--zk-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; width: fit-content; max-width: 100%; }
.zk-auth .u-grid-2 { gap: 0 var(--sp-4); }
@media (max-width: 899px) { .zk-auth .c-form-actions .c-button { width: 100%; } }
@media (max-width: 480px) { .zk-auth .u-section > .u-narrow { padding: 26px 18px 22px; border-radius: 18px; } }
.u-narrow > .c-card, .u-narrow > form > .c-card, .u-narrow > .c-cert-hero { margin-bottom: var(--sp-4); }
input[type="checkbox"] {
  appearance: none; -webkit-appearance: none; display: inline-block; vertical-align: middle;
  width: 22px; height: 22px; margin: 0; border: 2px solid #8391ad; border-radius: 6px; background: var(--zk-field) center / 15px no-repeat; cursor: pointer;
}
input[type="checkbox"]:hover { border-color: var(--zk-cyan); }
input[type="checkbox"]:checked {
  border-color: transparent;
  background-color: var(--zk-cyan);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5 6.5 12 13 4.5' fill='none' stroke='%23060913' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
input[type="checkbox"]:disabled { opacity: .45; cursor: not-allowed; }
.c-field--check input { flex: 0 0 22px; width: 22px; height: 22px; }

.zk-app main { position: relative; }
.zk-app .u-section { padding-top: var(--sp-7); }
.zk-app .c-nav .zk-net { opacity: .55; }
.c-course-nav {
  background: rgba(9, 13, 25, .82); border-color: var(--zk-hair);
}
.c-course-nav__module { color: var(--zk-faint); font: 500 .75rem/1.4 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.c-course-nav__lesson { color: var(--zk-dim); border-radius: 10px; }
.c-course-nav__lesson.is-current, .c-course-nav__lesson:hover { background: rgba(105, 225, 245, .1); color: var(--zk-cyan); }
.c-course__next { background: rgba(7, 10, 19, .92); border-top: 1px solid var(--zk-hair); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.c-course__content { color: var(--zk-dim); }
.c-checkout-steps__item { background: rgba(255, 255, 255, .03); border-color: var(--zk-hair); color: var(--zk-dim); border-radius: 12px; }
.c-checkout-steps__item.is-current { border-color: var(--zk-cyan); background: linear-gradient(135deg, rgba(101, 80, 219, .2), rgba(105, 225, 245, .1)); color: var(--zk-text); }
.c-checkout-steps__num { background: rgba(255, 255, 255, .12); color: var(--zk-text); font-family: var(--font-mono); }
.c-checkout-steps__item.is-current .c-checkout-steps__num { background: var(--zk-grad); color: #060913; }
.c-payment-hint__icon { color: var(--zk-mint); }
.c-cert-hero { text-align: center; padding: var(--sp-6); }
.c-cert-hero__emblem { color: var(--zk-cyan); filter: drop-shadow(0 6px 24px rgba(105, 225, 245, .35)); }
.c-cert-hero__name { color: var(--zk-text); }
.c-cert-hero__course { color: var(--zk-dim); }

/* Siegel / Pruefseiten (Zertifikat, Firma): dunkle Glas-Karte statt weissem Papier */
.c-seal {
  background: var(--zk-glass); border: 1px solid rgba(255, 255, 255, .16); border-radius: var(--radius-lg);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .55), 0 0 70px rgba(101, 80, 219, .16), inset 0 1px 0 rgba(255, 255, 255, .08);
}
.c-seal::before { background: var(--zk-grad); }
.c-seal::after { border-color: rgba(105, 225, 245, .14); }
.c-seal--void::before { background: rgba(255, 255, 255, .2); }
.c-seal__guilloche circle[fill="#1C7CB0"] { fill: #69e1f5; }
.c-seal__guilloche g[stroke="#1C7CB0"] { stroke: #69e1f5; }
.c-seal__emblem circle[fill="#EAF4FA"] { fill: rgba(105, 225, 245, .12); }
.c-seal__emblem stop[stop-color="#1C7CB0"] { stop-color: #a492ff; }
.c-seal__emblem stop[stop-color="#269CD9"] { stop-color: #69e1f5; }
.c-seal__emblem circle[stroke="#269CD9"] { stroke: #69e1f5; }
.c-seal__emblem circle[fill="#269CD9"], .c-seal__emblem circle[fill="#1C7CB0"] { fill: #69e1f5; }
.c-seal__emblem path[stroke="#fff"] { stroke: #060913; }
.c-seal__emblem { filter: drop-shadow(0 6px 24px rgba(105, 225, 245, .35)); }
.c-seal__emblem--muted { filter: none; }
.c-seal__emblem--muted .c-seal__muted-ring { stroke: rgba(255, 255, 255, .25); }
.c-seal__emblem--muted .c-seal__muted-ring:not(.c-seal__muted-ring--outer) { fill: rgba(255, 255, 255, .05); }
.c-seal__emblem--muted .c-seal__muted-core { fill: #4a5675; }
.c-seal__emblem--muted .c-seal__question { stroke: #eef3ff; }
.c-seal__emblem--muted .c-seal__muted-dot { fill: #eef3ff; }
.c-seal__eyebrow { color: var(--zk-cyan); font-family: var(--font-mono); font-size: .78rem; letter-spacing: .16em; }
.c-seal__company { color: var(--zk-text); text-transform: none; }
.c-seal__subtitle, .c-seal__statement, .c-seal__foot, .c-seal__verifier, .c-seal__timestamp { color: var(--zk-dim); }
.c-seal__disclaimer { color: var(--zk-faint); }
.c-seal__verified { background: rgba(154, 245, 212, .12); color: var(--zk-mint); border: 1px solid rgba(154, 245, 212, .4); font-family: var(--font-mono); font-weight: 500; }
.c-seal__verified-icon path { stroke: #060913; }
.c-seal__divider { background: var(--zk-hair); }
.c-seal__meta > div { border-color: var(--zk-hair); }
.c-seal__meta dt { color: var(--zk-faint); }
.c-seal__meta dd { color: var(--zk-text); }
.c-seal__id { background: rgba(255, 255, 255, .06); border-color: var(--zk-hair); color: var(--zk-cyan); font-family: var(--font-mono); }
.c-seal__lock { color: var(--zk-cyan); }
.c-seal__pct, .c-stat__num { color: var(--zk-cyan); }
.c-stat--seal { background: var(--zk-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.c-stat__label { color: var(--zk-dim); }

/* ---------- Admin (ruhiger Arbeitston, ohne Bewegung) ---------- */
.c-admin { background: transparent; }
.c-admin .c-admin__side { background: rgba(4, 6, 12, .9); border-right: 1px solid var(--zk-hair); }
.c-admin__brand { font-family: var(--font-head); font-weight: 700; letter-spacing: .02em; color: var(--zk-text);
  background: var(--zk-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; width: fit-content; }
.c-admin__nav a, .c-admin__nav button { color: var(--zk-dim); border-radius: 10px; }
.c-admin__nav a.is-active, .c-admin__nav a:hover, .c-admin__nav button:hover { background: rgba(105, 225, 245, .1); color: var(--zk-cyan); }
.c-admin__main { background: rgba(255, 255, 255, .02); }
.c-admin h1, .c-admin h2, .c-admin h3, .c-admin h4 { text-transform: none; }
.c-admin .c-card:hover { transform: none; box-shadow: var(--shadow-card); border-color: rgba(255, 255, 255, .12); }

/* ---------- Bewegung (nur html.zk-motion, nie bei Pause oder versteckter Seite) ---------- */
@media (prefers-reduced-motion: no-preference) {
  html.zk-motion .zk-float { animation: zk-hover 6s ease-in-out infinite; }
  html.zk-motion :is(.zk-flame, .zk-flame-halo) { animation: zk-flame 1.1s ease-in-out infinite alternate; }
  html.zk-motion .zk-clouds { animation: zk-clouds 7s ease-in-out infinite alternate; }
  html.zk-motion .zk-particles { animation: zk-twinkle 4s ease-in-out infinite alternate; }
  html.zk-motion .zk-orbit-one .zk-orbit-track { animation: zk-spin 30s linear infinite; }
  html.zk-motion .zk-trajectory { animation: zk-dash 9s linear infinite; }
  html.zk-motion .zk-dot { animation: zk-blink 2.4s ease-in-out infinite; }
  /* Hauptknopf anvisieren: das Triebwerk zuendet staerker */
  html.zk-motion .c-home-hero:has(.c-button--primary:is(:hover, :focus-visible)) :is(.zk-flame, .zk-flame-halo) { animation-duration: .35s; }
  .c-certificate-card, .c-seal { animation: zk-in .8s cubic-bezier(.2, .7, .2, 1) .05s backwards; }
}
@keyframes zk-in { from { opacity: 0; transform: translateY(16px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes zk-hover { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes zk-flame { from { transform: scaleY(.82); opacity: .75; } to { transform: scaleY(1.14); opacity: 1; } }
@keyframes zk-clouds { from { transform: translateX(-6px); } to { transform: translateX(8px); } }
@keyframes zk-twinkle { from { opacity: .3; } to { opacity: .8; } }
@keyframes zk-spin { to { transform: rotate(360deg); } }
@keyframes zk-dash { to { stroke-dashoffset: -96; } }
@keyframes zk-blink { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

@media (prefers-reduced-motion: reduce) {
  .zk-rocket { transition: none; }
  .c-card, .c-button, .c-mobile-cta, .c-progress__bar { transition: none; }
  .c-button.is-loading:after { animation: none; }
  html.js-on .js-reveal { opacity: 1; transform: none; transition: none; }
  .c-card:hover { transform: none; }
  .c-seal, .c-certificate-card { animation: none; }
  .c-seal__check { animation: none; stroke-dashoffset: 0; }
}
html.zk-paused .zk-scene *, html.zk-paused .zk-scene, html.zk-paused .c-certificate-card, html.zk-paused .c-seal { animation-play-state: paused !important; }
html.zk-paused.js-on .js-reveal { opacity: 1; transform: none; transition: none; }
.zk-pause--hero { justify-self: end; margin-top: -10px; }

/* ---------- Mobil ---------- */
@media (max-width: 899px) {
  .c-nav--app { position: relative; }
  .c-mobile-cta { background: rgba(7, 10, 19, .96); border-top: 1px solid var(--zk-hair); box-shadow: 0 -8px 30px rgba(0, 0, 0, .5); }
  .c-table-wrap { box-shadow: inset -18px 0 18px -18px rgba(105, 225, 245, .35); }
}
@media (max-width: 480px) {
  .c-card, .c-steps__item, .c-module-list__item { padding: var(--sp-4); }
  .c-seal { padding: var(--sp-5) var(--sp-3); }
}
@media (max-width: 340px) {
  .c-nav__logo { font-size: 1.4rem; }
  .c-home-hero h1 { font-size: 2rem; }
}

/* ---------- Kontrast, Transparenz, erzwungene Farben ---------- */
@media (prefers-reduced-transparency: reduce) {
  .c-nav, .c-course__next, .c-modal__backdrop { -webkit-backdrop-filter: none; backdrop-filter: none; }
  .c-nav { background: #070a13; }
}
@media (forced-colors: active) {
  .zk-net, .zk-scene, .c-certificate-card::before { display: none; }
  :focus-visible, .c-field__input:focus, .c-field select:focus, .c-field textarea:focus, .c-field__select:focus { outline: 2px solid Highlight !important; outline-offset: 2px; }
  .c-page-hero h1, .c-home-hero h1, .zk-auth h1, .c-admin__brand, .c-stats__num, .c-stat--seal, .u-accent { -webkit-text-fill-color: currentColor; background: none; color: CanvasText; }
  .c-button--primary { background: ButtonFace; color: ButtonText; border-color: ButtonText; }
  .c-card, .c-seal, .c-certificate-card, .c-choice { border: 1px solid CanvasText; }
}
@media print {
  .zk-net, .zk-scene, .c-nav, .zk-pause, .zk-foot { display: none !important; }
  html, body { background: #fff !important; color: #000 !important; }
  body::before { display: none; }
  p, li, td, th, h1, h2, h3, .c-card__text { color: #000 !important; }
}
