/* Coaching-Planet · Design «Zukunft» (oeffentliche Seiten)
   Ueberschreib-Schicht: laedt NACH assets/alpasana-design.css. Nur Darstellung.
   Tokens Violett - Cyan - Mint wie modernhosting.ch, absofort.ch und die Anmeldeseiten.
   Schriften lokal (SIL Open Font License, ../fonts/OFL-*.txt), keine externen Quellen.
   Bewegung nur mit html:not(.zk-still) und ohne «Bewegung reduzieren»; der Pause-Knopf
   in der Kontaktleiste stoppt alles dauerhaft. */

/* ---------- Schriften (lokal) ---------- */
@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: 'Rajdhani'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('../fonts/rajdhani-600-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: 'Rajdhani'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('../fonts/rajdhani-600-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: 'Rajdhani'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('../fonts/rajdhani-700-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: 'Rajdhani'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('../fonts/rajdhani-700-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; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 100 800; font-display: swap;
  src: url('../fonts/jetbrains-mono-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; }

/* ---------- Tokens ---------- */
:root {
  color-scheme: dark;
  --zk-bg: #070a13;
  --zk-surface: #0d1322;
  --zk-cyan: #69e1f5;
  --zk-mint: #9af5d4;
  --zk-violet: #a492ff;
  --zk-indigo: #6550db;
  --zk-danger: #ffb2c0;
  --zk-hair: rgba(255, 255, 255, .14);
  --zk-hair-strong: rgba(255, 255, 255, .24);
  --zk-field: rgba(4, 7, 14, .62);
  --zk-field-border: #6b7a99;
  --zk-glass: linear-gradient(160deg, rgba(24, 34, 60, .66), rgba(11, 16, 30, .74));
  --zk-grad: linear-gradient(105deg, #a492ff, #69e1f5 65%, #9af5d4);
  --zk-mono: 'JetBrains Mono', Consolas, Monaco, monospace;
  --zk-hull-dark: #526584;
  --zk-hull-mid: #b6c8dc;
  --zk-hull-light: #eff8ff;
  --zk-window: #102d4d;

  /* Die alten Tokens der Webstandard-Schicht bekommen die Zukunft-Werte. */
  --alp-blue: #69e1f5;
  --alp-blue-bright: #69e1f5;
  --alp-blue-dark: #69e1f5;
  --alp-dark: #04070e;
  --alp-dark-2: #0d1322;
  --alp-heading: #eef3ff;
  --alp-text: #b8c4dc;
  --alp-muted: #94a3c0;
  --alp-bg: #070a13;
  --alp-bg-soft: rgba(255, 255, 255, .05);
  --alp-border: rgba(255, 255, 255, .15);
  --alp-accent: #9af5d4;
  --alp-accent-dark: #9af5d4;
  --alp-accent-soft: rgba(154, 245, 212, .11);
  --alp-font-head: 'Rajdhani', 'Inter', 'Segoe UI', sans-serif;
  --alp-font-body: 'Inter', 'Segoe UI', Arial, Helvetica, sans-serif;
  --alp-font-display: 'Rajdhani', 'Inter', sans-serif;
  --alp-font-kopf: 'Rajdhani', 'Alp-Kopf-Ersatz', 'Segoe UI', sans-serif;
  --alp-radius: 10px;
  --alp-radius-lg: 18px;
  --alp-shadow: 0 18px 50px rgba(0, 0, 0, .5), 0 0 60px rgba(101, 80, 219, .12);
  --alp-shadow-sm: 0 8px 28px rgba(0, 0, 0, .35);
}

/* ---------- Grundlagen ---------- */
html { background: var(--zk-bg); overflow-x: hidden; overflow-x: clip; }
body.alp {
  position: relative; isolation: isolate;
  background: radial-gradient(ellipse at 78% 12%, rgba(113, 82, 218, .16), transparent 55%), var(--zk-bg);
  color: var(--alp-text);
  font-size: 16px;
  overflow-x: hidden; overflow-x: clip;
}
.alp ::selection { background: var(--zk-violet); color: var(--zk-bg); }
.alp :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--zk-cyan); outline-offset: 3px;
}
.alp a { color: var(--zk-cyan); text-underline-offset: 3px; }
.alp a:hover { color: var(--zk-mint); }
.alp h1, .alp h2, .alp h3, .alp h4, .alp-h1, .alp-h2 { color: var(--alp-heading); letter-spacing: .005em; }
.alp strong, .alp b { color: var(--alp-heading); }
.alp hr { border: 0; border-top: 1px solid var(--zk-hair); }
.alp img { max-width: 100%; }
.alp-lead { color: var(--alp-text); }

/* Sprunglink */
.zk-skip {
  position: absolute; left: 12px; top: -80px; z-index: 100;
  padding: 10px 16px; border-radius: 8px;
  background: var(--zk-cyan); color: #04121a !important; font-weight: 600; text-decoration: none;
}
.zk-skip:focus { top: 12px; }
#zk-main { outline: none; }

/* ---------- Himmel im Seitenkopf ---------- */
.zk-himmel {
  position: absolute; z-index: -1; top: 0; left: 0; right: 0; height: 760px;
  overflow: hidden; pointer-events: none;
  -webkit-mask-image: linear-gradient(#000 55%, transparent);
  mask-image: linear-gradient(#000 55%, transparent);
}
.zk-netz { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.zk-nebel { position: absolute; border-radius: 50%; }
.zk-nebel-a {
  top: -34vh; right: -22vw; width: 78vw; height: 92vh; transform: rotate(-30deg);
  background: radial-gradient(ellipse at center, rgba(52, 44, 130, .62), rgba(37, 32, 95, .26) 38%, transparent 66%);
}
.zk-nebel-b {
  top: 8vh; left: -26vw; width: 64vw; height: 60vh;
  background: radial-gradient(ellipse at center, rgba(71, 206, 235, .12), rgba(101, 80, 219, .07) 42%, transparent 68%);
}

/* ---------- Kontaktleiste und Kopfzeile ---------- */
.alp-topbar { background: transparent; color: var(--alp-muted); font-size: .82rem; padding: 6px 0; border-bottom: 1px solid rgba(255, 255, 255, .06); }
.alp-topbar a { color: var(--alp-text); }
.alp-topbar a:hover { color: var(--zk-cyan); }
.alp-topbar .alp-container { align-items: center; }
.zk-pause {
  display: inline-flex; align-items: center; gap: 8px; min-height: 28px; margin-right: auto; padding: 4px 2px;
  border: 0; background: none; color: var(--alp-muted);
  font: 500 11.5px/1.4 var(--zk-mono); letter-spacing: .04em; 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; }

.alp-header { position: sticky; background: transparent; border-bottom: 1px solid rgba(255, 255, 255, .08); }
/* Das Glas liegt auf einem Pseudo-Element: backdrop-filter am Header selbst wuerde das
   ausfahrende Menue (position: fixed) an den Header binden. */
.alp-header::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: rgba(7, 10, 19, .72);
  -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%);
}
.alp-logo-title { color: var(--alp-heading); font-weight: 700; }
.alp-logo:hover .alp-logo-title { color: var(--alp-heading); }
.alp-logo-title em {
  color: transparent; background: var(--zk-grad); -webkit-background-clip: text; background-clip: text;
}
.alp-logo:hover .alp-logo-title em { color: transparent; }
.alp-logo-sub { color: var(--alp-muted); font-family: var(--zk-mono); font-weight: 500; letter-spacing: .16em; font-size: .62rem; }
.alp-logo img { border-radius: 8px; }
.alp-nav a { color: var(--alp-text); font-weight: 600; }
.alp-nav a:hover, .alp-nav a.active { color: var(--alp-heading); }
.alp-nav a::after { background: var(--zk-grad); height: 2px; }
.alp-compare-link { color: var(--alp-text); }
.alp-compare-link:hover { color: var(--zk-cyan); }
.alp-compare-link .alp-compare-count { color: var(--zk-mint); }
.alp-nav-toggle span { background: var(--alp-heading); }

/* ---------- Buttons ---------- */
.alp-btn { border-radius: 12px; font-weight: 700; letter-spacing: .06em; }
.alp .alp-btn-primary {
  background: var(--zk-grad); color: #060913; border-color: transparent;
  box-shadow: 0 8px 28px rgba(101, 80, 219, .36), inset 0 1px 0 rgba(255, 255, 255, .35);
}
.alp .alp-btn-primary:hover {
  background: var(--zk-grad); color: #060913; border-color: transparent; filter: brightness(1.07);
  box-shadow: 0 12px 36px rgba(105, 225, 245, .32), inset 0 1px 0 rgba(255, 255, 255, .4);
}
.alp .alp-btn-outline { background: rgba(105, 225, 245, .06); color: var(--alp-heading); border-color: rgba(105, 225, 245, .6); }
.alp .alp-btn-outline:hover { background: rgba(105, 225, 245, .16); color: var(--alp-heading); border-color: var(--zk-cyan); }
.alp .alp-btn-light { background: rgba(255, 255, 255, .07); color: var(--alp-heading); border-color: rgba(255, 255, 255, .34); }
.alp .alp-btn-light:hover { background: rgba(255, 255, 255, .15); color: var(--alp-heading); border-color: rgba(255, 255, 255, .6); }
.alp-btn::after { background: linear-gradient(120deg, transparent, rgba(255, 255, 255, .28), transparent); }
.alp-btn:disabled { opacity: .5; }
.alp-btn:hover:not(:disabled) { box-shadow: var(--alp-shadow); }

/* ---------- Seitenkopf (Hero) ---------- */
.alp-hero { background: transparent; padding: 72px 0 64px; overflow: visible; }
.alp-hero::before, .alp-hero::after { content: none; }
.alp-hero-label {
  display: inline-block; color: var(--zk-cyan); font: 500 12px/1.4 var(--zk-mono); letter-spacing: .16em; text-transform: uppercase;
}
.alp-hero-label::before { content: '// '; color: var(--zk-violet); }
.alp-hero h1 {
  color: var(--alp-heading); text-transform: none; letter-spacing: -.01em; line-height: 1.04;
  font-size: clamp(2.5rem, 6vw, 4.4rem); margin: .3em 0 .4em;
}
.alp-hero p { color: var(--alp-text); }
.zk-grad { color: transparent; background: var(--zk-grad); -webkit-background-clip: text; background-clip: text; }

/* Rakete und Orbit im Seitenkopf */
.alp-hero-visual { height: 420px; }
.alp-hero-visual::before { border-color: rgba(105, 225, 245, .14); }
.alp-hero-visual--abstract::after { content: none; }
.zk-scene { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.zk-rocket {
  position: absolute; top: 50%; left: 50%; width: min(96%, 440px); height: auto; overflow: visible;
  transform: translate(-50%, -54%); filter: drop-shadow(0 18px 40px rgba(101, 80, 219, .35));
}
.zk-orbit { position: absolute; top: 50%; left: 50%; width: 380px; height: 380px; margin: -190px 0 0 -190px; transform: rotate(-28deg) scaleY(.5); pointer-events: none; }
.zk-orbit-two { width: 440px; height: 440px; margin: -220px 0 0 -220px; opacity: .45; transform: rotate(48deg) scaleY(.6); }
.zk-orbit-track { position: absolute; inset: 0; border: 1px solid var(--zk-hair-strong); border-radius: 50%; }
.zk-orbit-dot { position: absolute; top: -4px; left: calc(50% - 4px); width: 8px; height: 8px; border-radius: 50%; background: var(--zk-cyan); box-shadow: 0 0 20px var(--zk-cyan); }
.zk-coord { position: absolute; font: 500 11px/1.4 var(--zk-mono); letter-spacing: .1em; color: var(--alp-muted); white-space: nowrap; }
.zk-coord-one { top: 2%; right: 0; }
.zk-coord-two { top: 50%; left: 0; }
.alp-hero-portrait--1 { top: 4%; left: 2%; }
.alp-hero-portrait--2 { top: 44%; right: 0; }
.alp-hero-portrait--3 { bottom: 2%; left: 14%; }
.alp-hero-portrait { border-color: rgba(105, 225, 245, .35); box-shadow: 0 20px 45px rgba(0, 0, 0, .55), 0 0 30px rgba(105, 225, 245, .12); }
a.alp-hero-portrait:hover, a.alp-hero-portrait:focus-visible { border-color: var(--zk-mint); }
a.alp-hero-portrait:focus-visible { outline: 2px solid var(--zk-cyan); }
.alp-hero-chip { background: rgba(7, 10, 19, .86); color: var(--alp-heading); border-color: rgba(255, 255, 255, .2); }
.alp-hero-chip--check { background: var(--zk-mint); color: #04121a; }
.alp-hero-node { background: var(--zk-mint); box-shadow: 0 0 0 5px rgba(154, 245, 212, .16); }
.alp-emblem::before { border-color: rgba(105, 225, 245, .3); }
.alp-emblem::after { border-color: rgba(154, 245, 212, .5); }

/* SVG-Farben der Rakete (Verlaeufe per id in includes/zukunft.php) */
.zk-stop-hull-dark { stop-color: var(--zk-hull-dark); }
.zk-stop-hull-light { stop-color: var(--zk-hull-light); }
.zk-stop-hull-mid { stop-color: var(--zk-hull-mid); }
.zk-stop-violet { stop-color: var(--zk-violet); }
.zk-stop-indigo { stop-color: var(--zk-indigo); }
.zk-stop-white { stop-color: #fff; }
.zk-stop-cyan { stop-color: var(--zk-cyan); }
.zk-stop-fade { stop-color: var(--zk-violet); stop-opacity: 0; }
.zk-stop-window { stop-color: var(--zk-window); }
.zk-stop-trail { stop-color: var(--zk-cyan); stop-opacity: .9; }
.zk-stop-trail-end { stop-color: var(--zk-violet); stop-opacity: .12; }
.zk-rocket-seam { fill: none; stroke: var(--zk-hull-dark); stroke-width: 2; }
.zk-window-frame { fill: var(--zk-hull-dark); stroke: var(--zk-hull-light); stroke-width: 3; }
.zk-window-glint { fill: none; stroke: #fff; stroke-width: 3; stroke-linecap: round; opacity: .65; }
.zk-rocket-center-fin { fill: var(--zk-indigo); }
.zk-rocket-nozzle { fill: var(--zk-hull-dark); }
.zk-rocket-mark { fill: none; stroke: var(--zk-hull-dark); stroke-width: 2; }
.zk-exhaust-halo, .zk-exhaust-core { transform-origin: 300px 350px; }
.zk-exhaust-halo { opacity: .35; filter: blur(3px); }
.zk-exhaust-core { opacity: .8; }
.zk-rocket-clouds { fill: var(--zk-violet); opacity: .09; filter: blur(3px); transform-origin: 300px 520px; }
.zk-particles { fill: var(--zk-cyan); stroke: var(--zk-cyan); opacity: .55; }
.zk-trajectory { fill: none; stroke-width: 2; stroke-dasharray: 3 11; stroke-linecap: round; opacity: .5; }
.zk-rakete-mini { display: block; overflow: visible; }

/* Bewegung: nur ohne «Bewegung reduzieren» und ohne Pause */
@media (prefers-reduced-motion: no-preference) {
  html:not(.zk-still) .zk-rocket-float { animation: zk-hover 6s ease-in-out infinite; }
  html:not(.zk-still) :is(.zk-exhaust-halo, .zk-exhaust-core) { animation: zk-flame 1.2s ease-in-out infinite alternate; }
  html:not(.zk-still) .zk-rocket-clouds { animation: zk-clouds 7s ease-in-out infinite alternate; }
  html:not(.zk-still) .zk-particles { animation: zk-twinkle 4s ease-in-out infinite alternate; }
  html:not(.zk-still) .zk-orbit-one .zk-orbit-track { animation: zk-spin 28s linear infinite; }
  html:not(.zk-still) .zk-trajectory { animation: zk-dash 9s linear infinite; }
  html:not(.zk-still) .alp-hero-text { animation: zk-arrive .8s cubic-bezier(.2, .7, .2, 1) both; }
}
@keyframes zk-hover { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes zk-flame { from { transform: scaleY(.9); opacity: .6; } to { transform: scaleY(1.07); opacity: .85; } }
@keyframes zk-clouds { from { transform: translateY(0) scale(1); opacity: .07; } to { transform: translateY(-6px) scale(1.02); opacity: .13; } }
@keyframes zk-twinkle { from { opacity: .3; } to { opacity: .75; } }
@keyframes zk-spin { to { transform: rotate(360deg); } }
@keyframes zk-dash { to { stroke-dashoffset: -140; } }
@keyframes zk-arrive { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* ---------- Abschnitte ---------- */
.alp-section--soft { background: rgba(255, 255, 255, .028); border-block: 1px solid rgba(255, 255, 255, .06); }
.alp-section--dark { background: rgba(4, 7, 14, .7); }
.alp-section--dark h2, .alp-section--dark h3, .alp-section--dark p { color: inherit; }
.alp-section--dark h2, .alp-section--dark h3 { color: var(--alp-heading); }
.alp-section--dark p, .alp-section--dark .alp-text, .alp-section--dark .alp-card p { color: var(--alp-text); }
.alp-section--brand {
  background: linear-gradient(135deg, rgba(101, 80, 219, .30) 0%, rgba(24, 32, 66, .66) 55%, rgba(105, 225, 245, .12) 100%);
  border-block: 1px solid rgba(164, 146, 255, .22);
}
.alp-section--brand h1, .alp-section--brand h2, .alp-section--brand h3, .alp-section--brand strong { color: var(--alp-heading); }
.alp-section--brand p, .alp-section--brand li { color: #d2dbee; }
.alp-section--brand .alp-section-label, .alp-section--dark .alp-section-label { color: var(--zk-mint); }
.alp-section-label { color: var(--zk-cyan); font-family: var(--zk-mono); font-weight: 500; letter-spacing: .14em; font-size: .78rem; }
.alp-section-label::before { content: '// '; color: var(--zk-violet); }
.alp-section-label .alp-icon { display: none; }
.alp-section-title { letter-spacing: .005em; }
.alp-section-title--editorial { letter-spacing: -.01em; }
.alp-display { color: var(--zk-cyan); }
.alp-section--stars::before { opacity: .3; }
.alp-section--network::after { opacity: .35; }
.alp-kompass::after { border-color: rgba(105, 225, 245, .1); }

/* ---------- Glas-Karten ---------- */
.alp-card, .alp-form-card, .alp-topic, .alp-blog-card, .alp-blog-featured, .alp-demo-window, .alp-results-panel {
  background: var(--zk-glass); border: 1px solid var(--zk-hair); color: var(--alp-text);
  box-shadow: 0 14px 44px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .06);
}
.alp-results-panel { background: rgba(255, 255, 255, .03); box-shadow: none; }
a.alp-card:hover, .alp-card--interactive:hover, .alp-topic:hover, .alp-blog-card:hover, .alp-blog-featured:hover {
  border-color: rgba(105, 225, 245, .45); box-shadow: 0 18px 50px rgba(0, 0, 0, .5), 0 0 40px rgba(105, 225, 245, .12);
}
.alp-blog-card, .alp-blog-featured { color: var(--alp-text); }
.alp-blog-card:hover, .alp-blog-featured:hover, .alp-blog-featured:focus-visible { color: var(--alp-text); }
.alp-card h3, .alp-topic h3 { color: var(--alp-heading); }
.coach-card::before, .alp-topic::before { background: var(--zk-grad); }
.alp-filter-card::before { background: var(--zk-grad); }
.alp-coach-grid .alp-card { box-shadow: none; }
.alp-coach-grid .alp-card:hover { box-shadow: var(--alp-shadow); }

/* Coach-Karte */
.coach-card-photo { border-color: var(--zk-hair-strong); background-color: rgba(255, 255, 255, .06); }
.coach-card-photo--initials { color: #060913; background-color: transparent; background-image: var(--zk-grad); }
.coach-card:hover .coach-card-photo { border-color: var(--zk-cyan); }
.coach-card-check { background: var(--zk-mint); color: #04121a; border-color: #0b1120; }
.coach-card-online::before { background: var(--zk-mint); box-shadow: 0 0 8px var(--zk-mint); }
.coach-card-meta .alp-icon { color: var(--zk-cyan); }
.coach-card-fav { background: rgba(7, 10, 19, .8); border-color: var(--zk-hair-strong); color: var(--alp-text); }
.coach-card-fav:hover { border-color: var(--zk-mint); color: var(--zk-mint); }
.coach-card-fav.is-fav { color: var(--zk-mint); border-color: var(--zk-mint); }

/* Themen-Karten, Merkmale, Schritte */
.alp-topic-icon {
  background: color-mix(in srgb, var(--topic-c, #2b8fb0) 30%, transparent);
  color: color-mix(in srgb, var(--topic-c, #2b8fb0) 38%, #fff);
}
.alp-topic-count { color: var(--alp-muted); background: rgba(255, 255, 255, .06); border-color: var(--zk-hair); }
.alp-topic:hover .alp-topic-count { color: var(--zk-cyan); border-color: rgba(105, 225, 245, .5); }
.alp-feature-icon { background: rgba(105, 225, 245, .1); color: var(--zk-cyan); }
.alp-section--brand .alp-feature-icon, .alp-section--dark .alp-feature-icon { background: rgba(255, 255, 255, .1); color: var(--zk-mint); }
.alp-step::before { background: linear-gradient(180deg, var(--zk-cyan), rgba(105, 225, 245, .1)); }
.alp-step-num { background: rgba(7, 10, 19, .8); border-color: var(--zk-cyan); color: var(--zk-cyan); }
.alp-step:hover .alp-step-num { background: var(--zk-cyan); color: #04121a; }
.alp-step-num-badge { background: var(--zk-violet); color: #060913; border-color: #0b1120; }
.alp-section--brand .alp-step-num-badge, .alp-section--dark .alp-step-num-badge { background: var(--zk-mint); color: #04121a; }
.alp-section--brand .alp-step-num, .alp-section--dark .alp-step-num { background: rgba(7, 10, 19, .6); border-color: var(--zk-mint); color: var(--zk-mint); }
.alp-section--brand .alp-step:hover .alp-step-num, .alp-section--dark .alp-step:hover .alp-step-num { background: var(--zk-mint); color: #04121a; }
@media (min-width: 780px) {
  .alp-steps--row .alp-step::before { background: linear-gradient(90deg, var(--zk-cyan), rgba(105, 225, 245, .1)); }
}
.alp-section--brand .alp-btn-outline, .alp-section--dark .alp-btn-outline { color: var(--alp-heading); border-color: rgba(105, 225, 245, .6); }
.alp-section--brand .alp-btn-outline:hover, .alp-section--dark .alp-btn-outline:hover { background: rgba(105, 225, 245, .16); color: var(--alp-heading); border-color: var(--zk-cyan); }
.alp-stat-value { color: var(--zk-cyan); }
.alp-section--brand .alp-stat-value, .alp-section--dark .alp-stat-value { color: var(--zk-mint); }
.alp-stat-label, .alp-section--brand .alp-stat-label, .alp-section--dark .alp-stat-label { color: var(--alp-muted); }

/* KI-Werkstatt-Demo */
.alp-demo-window-bar { background: rgba(255, 255, 255, .05); border-color: var(--zk-hair); }
.alp-demo-window-dot { background: var(--zk-hair-strong); }
.alp-demo-window-dot:nth-child(1) { background: var(--zk-violet); }
.alp-demo-window-dot:nth-child(2) { background: var(--zk-cyan); }
.alp-demo-window-dot:nth-child(3) { background: var(--zk-mint); }
.alp-demo-label--ai { color: var(--zk-mint); font-family: var(--zk-mono); }
.alp-demo-label { font-family: var(--zk-mono); font-weight: 500; letter-spacing: .1em; }
.alp-demo-input { background: var(--zk-field); border-color: var(--zk-hair); color: var(--alp-text); }
.alp-demo-output { background: rgba(154, 245, 212, .08); border-color: rgba(154, 245, 212, .3); }

/* ---------- Chips, Badges ---------- */
.alp-chip {
  --zk-chip: color-mix(in srgb, var(--sp-c, #2b8fb0) 38%, #fff);
  background: rgba(255, 255, 255, .05);
  border-color: color-mix(in srgb, var(--sp-c, #2b8fb0) 55%, transparent);
  color: var(--zk-chip);
}
.alp a.alp-chip { color: var(--zk-chip); }
.alp a.alp-chip:hover {
  background: color-mix(in srgb, var(--sp-c, #2b8fb0) 32%, transparent);
  border-color: var(--zk-chip); color: var(--alp-heading);
}
.alp-chip--klein { background: color-mix(in srgb, var(--sp-c, #2b8fb0) 26%, transparent); border-color: transparent; }
.alp-chip--aktiv, .alp a.alp-chip--aktiv, .alp a.alp-chip--aktiv:hover {
  background: var(--zk-grad); border-color: transparent; color: #060913; font-weight: 600;
}
.alp-chip-zahl { color: var(--alp-muted); }
.alp-chip--aktiv .alp-chip-zahl { color: rgba(6, 9, 19, .72); }
.alp-badge { background: rgba(255, 255, 255, .07); color: var(--alp-text); border: 1px solid var(--zk-hair); }
.alp-badge--verified { background: rgba(105, 225, 245, .12); color: var(--zk-cyan); border-color: rgba(105, 225, 245, .3); }
.alp-badge--premium { background: rgba(164, 146, 255, .14); color: var(--zk-violet); border-color: rgba(164, 146, 255, .3); }
.alp-switch-hint { color: var(--zk-mint); background: var(--alp-accent-soft); }

/* ---------- Formulare ---------- */
.alp { --zk-form-color: var(--alp-heading); }
.alp-input, .alp-textarea, .alp-select, .alp-msel summary {
  background: var(--zk-field); border: 1px solid var(--zk-field-border); color: var(--alp-heading);
  border-radius: 12px; font-family: var(--alp-font-body);
}
.alp-input::placeholder, .alp-textarea::placeholder { color: var(--alp-muted); opacity: 1; }
.alp-input:hover, .alp-textarea:hover, .alp-select:hover, .alp-msel summary:hover { border-color: #8391ad; }
.alp-input:focus, .alp-textarea:focus, .alp-select:focus, .alp-msel summary:focus, .alp-msel[open] summary {
  outline: none; border-color: var(--zk-cyan); box-shadow: 0 0 0 3px rgba(105, 225, 245, .28); background: rgba(4, 7, 14, .82);
}
.alp-input:-webkit-autofill { -webkit-text-fill-color: var(--alp-heading); box-shadow: 0 0 0 60px #0b1120 inset; caret-color: var(--alp-heading); }
.alp-select option { background: #0d1322; color: var(--alp-heading); }
.alp-form-label { color: #d3dcee; }
.alp-form-label .alp-icon { color: var(--zk-cyan); }
.alp-form-label .opt, .alp-hint { color: var(--alp-muted); }
.alp-msel-panel { background: #0d1322; border-color: var(--zk-hair-strong); box-shadow: var(--alp-shadow); }
.alp-msel-option:hover { background: rgba(105, 225, 245, .1); }
.alp input[type="checkbox"], .alp input[type="radio"] { accent-color: var(--zk-cyan); }
.alp-faq summary::after, .alp-anliegen-faq-item > summary::after { color: var(--zk-cyan); }

/* ---------- Lesetexte, Blog, Recht ---------- */
.alp-artikel-text blockquote { border-left-color: var(--zk-cyan); color: var(--alp-heading); }
.alp-artikel-text a, .alp-legal a { color: var(--zk-cyan); }
.alp-legal h1 { border-bottom-color: var(--zk-hair); }
.alp-legal h2 { border-top-color: var(--zk-hair); }
.alp-anliegen-suchanfragen li { background: rgba(255, 255, 255, .06); color: var(--alp-text); }
.alp-blog-mehr { color: var(--zk-cyan); }
.alp-blog-card:hover .alp-blog-mehr { color: var(--zk-mint); }
.alp-blog-card-bild, .alp-blog-featured-bild { background: rgba(255, 255, 255, .04); }
.alp-blog-featured:focus-visible { outline-color: var(--zk-cyan); }

/* ---------- Fusszeile ---------- */
.alp-footer { background: rgba(4, 7, 14, .92); border-top: 1px solid rgba(255, 255, 255, .08); color: var(--alp-muted); }
.alp-footer a { color: var(--alp-text); }
.alp-footer a:hover { color: var(--zk-cyan); }
.alp-footer h4, .alp-foot-title { color: var(--alp-heading); font-weight: 700; }
.alp-footer-bottom { border-top-color: rgba(255, 255, 255, .1); color: var(--alp-muted); }

/* Ausklappmenue (Handy und schmale Fenster) */
@media (max-width: 1360px) {
  .ict-header-right { background: #0b1020; border-left: 1px solid var(--zk-hair); box-shadow: -20px 0 60px rgba(0, 0, 0, .6); }
  body.nav-open .alp-nav-backdrop { background: rgba(2, 4, 10, .7); }
  .alp-nav-close { background: rgba(255, 255, 255, .08); color: var(--alp-heading); }
}
@media (max-width: 900px) {
  .alp-hero { padding: 40px 0 44px; }
  .alp-hero-visual { display: block; height: 290px; }
  .alp-hero-portrait { display: none; }
  .zk-rocket { width: min(92%, 320px); }
  .zk-orbit { width: 290px; height: 290px; margin: -145px 0 0 -145px; }
  .zk-orbit-two { width: 340px; height: 340px; margin: -170px 0 0 -170px; }
  .zk-himmel { height: 640px; }
}
@media (max-width: 480px) {
  .zk-coord { font-size: 10px; letter-spacing: .06em; }
  .alp-topbar .alp-container { gap: 10px; flex-wrap: wrap; }
  .alp-topbar a { margin-left: 0 !important; }
}

/* ---------- Erzwungene Farben / weniger Transparenz ---------- */
@media (prefers-reduced-transparency: reduce) {
  .alp-header::before { -webkit-backdrop-filter: none; backdrop-filter: none; background: #070a13; }
  .alp-card, .alp-form-card, .alp-topic, .alp-blog-card, .alp-blog-featured, .alp-demo-window { background: #0d1322; }
}
@media (forced-colors: active) {
  .zk-himmel, .zk-scene { display: none; }
  .alp-hero h1, .alp-logo-title em, .zk-grad { -webkit-text-fill-color: currentColor; background: none; color: CanvasText; }
  .alp .alp-btn-primary { background: ButtonFace; color: ButtonText; border: 2px solid ButtonText; }
}

/* ---------- Feinschliff ---------- */
.zk-pille { background: var(--zk-grad); color: #060913 !important; box-shadow: 0 6px 22px rgba(101, 80, 219, .32); }
.alp .zk-pille:hover { color: #060913 !important; filter: brightness(1.07); }
.alp-card .coach-card-photo--initials, .alp-card span.coach-card-photo--initials { color: #060913; }
.alp-card .alp-preis-monat > p:first-child, .alp-card .alp-preis-jahr > p:first-child { color: var(--alp-heading); }

/* ---------- Fehler- und Leerseiten innerhalb des Layouts ---------- */
.zk-fehler { padding: 56px 0 72px; }
.zk-fehler .alp-container { max-width: 660px; text-align: center; }
.zk-fehler-zeichen { display: block; width: 52px; height: 100px; margin: 0 auto 10px; filter: drop-shadow(0 8px 22px rgba(105, 225, 245, .35)); }
.zk-fehler h1 {
  color: transparent; background: var(--zk-grad); -webkit-background-clip: text; background-clip: text;
  font-size: clamp(2rem, 6vw, 3.2rem) !important; line-height: 1.1; text-transform: none; margin-bottom: .4em;
}
.zk-fehler p { margin-inline: auto; }
.zk-fehler .alp-btn { margin-top: 1em; }

/* Lesetexte: Himmel gedaempft und still */
.zk-ruhig .zk-netz { opacity: .5; }
.zk-ruhig .zk-himmel { -webkit-mask-image: linear-gradient(#000 35%, transparent 90%); mask-image: linear-gradient(#000 35%, transparent 90%); }
.alp-card .coach-card-check, .alp-card .coach-card-check span { color: #04121a; }

/* ---------- Terminwahl auf den Termin-Seiten (Verschieben/Absagen) ---------- */
.alp .ch-card { background: var(--zk-glass); border: 1px solid var(--zk-hair); border-radius: var(--alp-radius-lg); padding: 22px; margin-top: 1.2em; }
.alp .ch-pill {
  display: inline-flex; align-items: center; margin: 0 8px 8px 0; padding: 8px 16px; border-radius: 999px;
  background: rgba(255, 255, 255, .05); border: 1px solid var(--zk-hair-strong); color: var(--alp-heading); font: 600 .9rem/1.3 var(--alp-font-body);
}
.alp .ch-pill:hover { border-color: var(--zk-cyan); background: rgba(105, 225, 245, .12); }
.alp [data-termin-tage] button.active, .alp [data-termin-zeiten] button.active { background: var(--zk-grad); color: #060913; border-color: transparent; }
.alp .ch-pill--geschlossen { border-color: rgba(255, 178, 192, .6); color: var(--zk-danger); background: rgba(255, 178, 192, .08); }
.alp [data-termin-lade] { color: var(--alp-muted); }

/* Umschalter Monatlich/Jaehrlich: aktiver Knopf mit dunkler Schrift auf Cyan/Verlauf */
.alp-switch { background: rgba(255, 255, 255, .06); border-color: var(--zk-hair-strong); }
.alp-switch-pille { background: var(--zk-grad); }
.alp-switch button { color: var(--alp-text); }
.alp-switch button[aria-pressed="true"] { background: var(--zk-grad); color: #060913; }
.alp-switch.hat-pille button[aria-pressed="true"] { background: transparent; color: #060913; }
.alp-switch button:hover:not([aria-pressed="true"]) { color: var(--alp-heading); }

/* Bewegung reduzieren: keine Uebergaenge, keine Lichtstreifen, keine Einblendungen */
@media (prefers-reduced-motion: reduce) {
  .alp *, .alp *::before, .alp *::after { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .alp-reveal { opacity: 1; transform: none; }
}
html.zk-still .alp-btn::after, html.zk-still .alp-btn:hover::after { display: none; }

/* Tastaturfokus: Karten heben sich wie beim Hover ab */
a.alp-card:focus-visible, .alp-topic:focus-visible, .alp-blog-card:focus-visible { border-color: var(--zk-cyan); box-shadow: 0 0 0 2px rgba(105, 225, 245, .35), 0 18px 50px rgba(0, 0, 0, .5); }
