/* Akzentfarbe: siehe die ausführliche Erklärung in style.css (gleicher
   Mechanismus, gleiche Variablennamen — nur ein zweites Stylesheet, weil
   Marketing-Seiten/Admin-Bereich und Dashboard/Editor je ihr eigenes
   laden). --p-primary ist die einzige Stellschraube; alles andere hier
   ist per color-mix() daraus abgeleitet. */
:root{--site-max:1440px;
 --p-primary:#0a0a0a;--p-primary-hover:#2a2a2a;--p-on-primary:#fff;--p-accent:#4f46e5;--p-accent-text:var(--p-accent);--p-primary-light:color-mix(in srgb,var(--p-primary) 8%,white);--p-primary-lighter:color-mix(in srgb,var(--p-primary) 16%,white);--p-primary-border:color-mix(in srgb,var(--p-primary) 32%,white);--p-primary-ink:color-mix(in srgb,var(--p-primary) 60%,black);--p-accent-2:var(--p-primary);
 --p-bg:#fff;--p-surface:#fff;--p-border:#e5e5e5;--p-border-strong:#d4d4d4;
 --p-text:#0a0a0a;--p-text-muted:#525252;--p-text-subtle:#5e5e5e;
 --p-success:#16a34a;--p-success-ink:#15803d;--p-danger:#dc2626;
 --p-radius:16px;--p-radius-sm:10px;
 --p-shadow-sm:0 1px 2px rgba(0,0,0,.06);
 --p-shadow-md:0 8px 24px -6px rgba(0,0,0,.14),0 2px 6px -2px rgba(0,0,0,.08);
 --p-shadow-lg:0 20px 45px -12px rgba(0,0,0,.22),0 6px 16px -4px rgba(0,0,0,.1);
 --p-ease:cubic-bezier(.4,0,.2,1);
 font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
/* Long German compound words (e.g. "Bildungseinrichtungen",
   "Datenschutzerklärung") don't contain natural break points and can
   overflow a narrow mobile container at heading font sizes without this —
   found via a systematic mobile overflow check across the whole site, see
   README. A single, low-risk safety net rather than patching each
   heading that happens to contain a long word individually. */
h1,h2,h3{overflow-wrap:break-word}
body{margin:0;background:var(--p-bg);color:var(--p-text);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .15s ease,color .15s ease}
[data-theme="dark"]{
 --p-success-ink:#4ade80;
 --p-bg:#0a0a0a;--p-surface:#161616;--p-border:#262626;--p-border-strong:#3a3a3a;
 --p-text:#ededed;--p-text-muted:#a3a3a3;--p-text-subtle:#8f8f8f;
 --p-primary-light:color-mix(in srgb,var(--p-primary) 9%,var(--p-bg));
 --p-primary-lighter:color-mix(in srgb,var(--p-primary) 16%,var(--p-bg));
 --p-primary-border:color-mix(in srgb,var(--p-primary) 34%,var(--p-bg));
 --p-primary-ink:color-mix(in srgb,var(--p-primary) 55%,white);
 --p-primary:#f5f5f5;--p-primary-hover:#d4d4d4;--p-on-primary:#0a0a0a;--p-accent-text:color-mix(in srgb,var(--p-accent) 55%,white);
 color-scheme:dark;
}
[data-theme="dark"] .site-nav{background:rgba(10,10,10,.9)}
[data-theme="dark"] .site-footer{background:#000}
[data-theme="dark"] .hero-visual{background:linear-gradient(160deg,#161616,var(--p-surface))}
[data-theme="dark"] .legal-notice{background:#3a2f0f;color:#fbbf24;border-color:#5a4a1f}
[data-theme="dark"] .btn:not(.primary){color:var(--p-text)}
[data-theme="dark"] .cookie-switch-track{background:var(--p-border-strong)}
[data-theme="dark"] .cookie-overlay{background:rgba(0,0,0,.7)}
/* Light/Dark-Umschalter: eine schwebende Blase unten links in der Ecke,
   unterhalb des Accessibility-Icons (siehe accessibility-widget.css:
   dessen Blase liegt jetzt 52px+12px darüber, gleiche horizontale
   Position) — auf Wunsch getauscht, der Theme-Umschalter sitzt jetzt an
   der Position, die vorher das Accessibility-Icon hatte. Hintergrund
   immer die Akzentfarbe (var(--p-primary)), unabhängig vom aktuellen
   Farbschema, statt einer hellen/neutralen Blase. */
.theme-toggle-float{position:fixed;bottom:20px;left:20px;z-index:2147483000;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;border:none;background:var(--p-primary);color:var(--p-on-primary);cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.25);transition:transform .15s ease}
.theme-toggle-float:hover{transform:scale(1.07)}
.theme-toggle-float:focus-visible{outline:3px solid var(--p-accent-text);outline-offset:3px}
.theme-toggle-float svg{width:22px;height:22px}
[data-theme="dark"] .theme-toggle-float .icon-sun{display:block}
[data-theme="dark"] .theme-toggle-float .icon-moon{display:none}
.theme-toggle-float .icon-sun{display:none}
.theme-toggle-float .icon-moon{display:block}
@media(max-width:480px){.theme-toggle-float{left:12px;bottom:12px}}
a{color:inherit}
img{max-width:100%;display:block}
/* Single source of truth for the site's content width — the nav bar, every
   section's .container, and any page-specific "shell" wrapper (contact,
   institutions, …) all use this same value, so the visible content column
   doesn't shift width between the nav and the sections below it, or between
   one page and the next. Previously the homepage's hero alone overrode this
   to 1320px while the nav (and everything else) stayed at 1120px — the most
   visible case of the inconsistency this was raised about. Picked 1320
   (the widest value already in use) rather than narrower, in line with a
   general "full width" preference over a tighter, more constrained layout. */
.container{max-width:var(--site-max,1440px);margin:0 auto;padding:0 24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--p-radius-sm);font-weight:650;font-size:.9375rem;text-decoration:none;border:1px solid var(--p-border);background:var(--p-surface);color:var(--p-text);cursor:pointer;transition:background-color .15s var(--p-ease),border-color .15s var(--p-ease),box-shadow .15s var(--p-ease),transform .1s var(--p-ease)}
.btn:hover{border-color:var(--p-border-strong);background:#fafafa}
.btn.primary{background:var(--p-primary);border-color:var(--p-primary);color:var(--p-on-primary);box-shadow:var(--p-shadow-sm)}
.btn.primary:hover{background:var(--p-primary-hover);box-shadow:var(--p-shadow-md);transform:translateY(-1px)}
.btn.large{padding:15px 28px;font-size:1rem}
.btn.block{width:100%}
/* Icons in Buttons bewegen sich beim Hover mit ("lebendige" Icons statt
   starrer Symbole), statt nur die Button-Fläche selbst zu animieren.
   Skalierung als generischer Basisfall für alle Icons; das Raketen-Icon
   (Haupt-CTAs) bekommt zusätzlich eine kleine "Start"-Rotation + Hub, damit
   es wirklich nach Abheben aussieht, statt nur größer zu werden. */
.btn svg{transition:transform .2s var(--p-ease)}
.btn:hover svg{transform:scale(1.15)}
.btn:active svg{transform:scale(.95)}
.btn.primary:hover svg{transform:rotate(-8deg) translate(1px,-2px) scale(1.15)}

/* Shared consent-checkbox row for every marketing-page form (contact,
   institutions, …) — a plain flex row here shrinks the long legal text to
   0 width instead of wrapping once the row sits inside a narrower column
   (flexbox hands almost the whole shrink deficit to whichever child has
   the larger content-based basis, and with min-width:0 that child is
   allowed to actually hit zero). CSS grid with an explicit minmax(0,...)
   track doesn't have that failure mode: the checkbox stays a fixed size
   and the text reliably gets "whatever's left" to wrap into. Centralized
   here (was previously duplicated per-page) so every form gets the fix,
   not just the one page it was first found on. */
.consent-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:flex-start;font-weight:400}
.consent-row input{margin-top:3px}
.consent-row span{font-weight:400;font-size:.8438rem;color:var(--p-text-muted);overflow-wrap:break-word}

.site-nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.9);border-bottom:1px solid var(--p-border)}
/* Weichzeichner auf einem Pseudo-Element: backdrop-filter direkt an .site-nav würde die fixed-Mega-Menüs einfangen. */
.site-nav::before{content:'';position:absolute;inset:0;z-index:-1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}
.site-nav-inner{position:relative;max-width:var(--site-max,1440px);margin:0 auto;padding:0 24px;height:68px;display:flex;align-items:center;gap:16px}
.site-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--p-text);font-weight:750;font-size:1.05rem;letter-spacing:-.3px}
.site-brand-mark{width:30px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--p-primary),var(--p-primary));flex-shrink:0}
.site-nav-links{display:flex;align-items:center;gap:22px;font-size:.9375rem;font-weight:600}
/* Klassisches Dreier-Layout auf breiten Bildschirmen: Logo links,
   Menüpunkte exakt in der Mitte der Leiste, Konto-Icon + CTA rechts — per
   position:absolute + left:50%/translateX(-50%), unabhängig von der Breite
   von Logo bzw. Icon+Button links/rechts davon. Nur ab 1240px, weil das
   zentrierte Menü bei schmaleren Fenstern (zwischen dem Hamburger-Umbruch
   bei 700px und ~1220px) sonst mit Logo bzw. Konto-Icon überlappt; darunter
   bleibt es beim normalen Fluss direkt neben dem Logo (siehe .nav-user-wrap
   margin-left:auto weiter unten, das Icon+Button in dem Fall nach rechts
   schiebt). */
@media(min-width:1480px){
 /* Teil 251: ohne transform zentriert – transform (wie backdrop-filter) macht die Leiste sonst zum Bezugsrahmen
    der position:fixed-Mega-Menüs, die dann nur so breit wie die Menüleiste wären. */
 .site-nav-links{position:absolute;inset:0;margin:auto;width:max-content;height:max-content}
}
/* Nutzt den sitewide Button-Radius (var(--p-radius-sm)) statt eines
   eigenen Pill-Werts, damit derselbe Button überall gleich aussieht
   (Design-Konsistenz) — nur das Padding bleibt nav-spezifisch etwas
   kompakter. */
.site-nav-actions .btn.primary{padding:11px 24px}
/* Hover/active zeigt jetzt eine animierte Unterstreichung (statt einer
   Hintergrund-Pille) plus dunklerer Text. Die Linie ist ein ::after,
   standardmäßig auf 0 skaliert und wächst beim Hover von der Mitte aus;
   bei .active bleibt sie dauerhaft ausgefahren. */
.site-nav-links a{position:relative;text-decoration:none;color:var(--p-text-muted);padding:7px 0;transition:color .15s var(--p-ease)}
.site-nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:1px;background:var(--p-primary);transform:scaleX(0);transition:transform .2s var(--p-ease)}
.site-nav-links a:hover{color:var(--p-primary)}
.site-nav-links a:hover::after{transform:scaleX(1)}
/* Current-page marker, set by initNavActiveState() in marketing.js (a
   plain multi-page site has no router to hook into, so it just compares
   location.pathname against each link's href on load). */
.site-nav-links a.active{color:var(--p-primary)}
.site-nav-links a.active::after{transform:scaleX(1)}
.site-nav-actions{display:flex;align-items:center;gap:10px}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{content:'';display:block;width:22px;height:2px;background:var(--p-text);position:relative;transition:transform .15s var(--p-ease)}
.nav-toggle span::before{position:absolute;top:-7px}
.nav-toggle span::after{position:absolute;top:7px}

.hero{padding:64px 0 48px;border-bottom:1px solid var(--p-border)}
.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.eyebrow-pill{display:inline-flex;align-items:center;gap:6px;background:var(--p-primary-light);color:var(--p-primary);font-size:.8125rem;font-weight:650;padding:6px 14px;border-radius:999px;margin-bottom:18px}
.hero h1{font-size:2.75rem;line-height:1.08;letter-spacing:-1.2px;margin:0 0 18px;font-weight:800}
.hero h1 .grad{color:var(--p-accent-text)}
.hero p.lead{font-size:1.125rem;color:var(--p-text-muted);margin:0 0 28px;max-width:520px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.hero-trust-row{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:16px}
.hero-trust-row span{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;color:var(--p-text-muted)}
.hero-trust-row svg{width:16px;height:16px;color:var(--p-primary);flex-shrink:0}
.hero-rating{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--p-text-muted)}
.hero-rating[hidden]{display:none} /* Teil 671 */
.hero-rating strong{color:var(--p-text)}
.stars{color:#f59e0b;letter-spacing:1px}
/* max-width hält die Karte (inkl. Verlaufs-Hintergrund) bei einer festen,
   zur Bildproportion (3:4, siehe hero-preview.svg) passenden Größe, statt
   sie auf die volle, viel breitere Grid-Spalte zu strecken — genau das
   hatte das Bild vorher unnötig in die Höhe gezogen. Zentriert innerhalb
   der Spalte statt links ausgerichtet. */
.hero-visual-wrap{position:relative;max-width:380px;margin:0 auto}
.hero-visual{background:linear-gradient(160deg,var(--p-primary-light),#fff);border-radius:24px;padding:24px;box-shadow:var(--p-shadow-lg);border:1px solid var(--p-border)}
.hero-float-badge{position:absolute;display:inline-flex;align-items:center;gap:7px;background:var(--p-surface);color:var(--p-text);font-size:.8125rem;font-weight:650;padding:9px 16px 9px 12px;border-radius:999px;box-shadow:var(--p-shadow-lg);border:1px solid var(--p-border);white-space:nowrap}
.hero-float-badge svg{width:16px;height:16px;color:var(--p-primary);flex-shrink:0}
.hero-float-badge-1{top:-14px;right:12%}
.hero-float-badge-2{bottom:22%;left:-28px}
.hero-float-badge-3{bottom:-16px;right:8%}
@media(max-width:900px){.hero-float-badge{position:static;margin:8px 6px 0 0}.hero-visual-wrap{display:flex;flex-direction:column}}
.hero-visual img{width:100%;height:auto;display:block;border-radius:14px;box-shadow:var(--p-shadow-md)}

.section{padding:64px 0}
.section-head{text-align:center;max-width:640px;margin:0 auto 44px}
.section-head h1,.section-head h2{font-size:2rem;letter-spacing:-.6px;margin:0 0 12px}
.section-head p{color:var(--p-text-muted);margin:0;font-size:1.0625rem}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.feature-card{background:var(--p-surface);border:1px solid var(--p-border);border-radius:var(--p-radius);padding:28px;transition:box-shadow .18s var(--p-ease),transform .18s var(--p-ease)}
.feature-card:hover{box-shadow:var(--p-shadow-md);transform:translateY(-3px)}
.feature-icon{width:44px;height:44px;border-radius:12px;background:var(--p-primary-light);color:var(--p-primary);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.feature-card h3{margin:0 0 8px;font-size:1.0625rem}
.feature-card p{margin:0;color:var(--p-text-muted);font-size:.9375rem}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.step{text-align:center}
.step-num{width:40px;height:40px;border-radius:50%;background:var(--p-primary);color:var(--p-on-primary);display:flex;align-items:center;justify-content:center;font-weight:700;margin:0 auto 16px}
.step h3{margin:0 0 8px;font-size:1.0625rem}
.step p{margin:0;color:var(--p-text-muted);font-size:.9375rem}

.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.testimonial-card{background:var(--p-surface);border:1px solid var(--p-border);border-radius:var(--p-radius);padding:22px}
.testimonial-card .stars{display:block;margin-bottom:10px}
.testimonial-card p{margin:0 0 14px;color:var(--p-text);font-size:.9375rem}
.testimonial-meta{display:flex;justify-content:space-between;font-size:.8125rem;color:var(--p-text-muted)}

.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;max-width:960px;margin:0 auto}
.price-card{background:var(--p-surface);border:1px solid var(--p-border);border-radius:var(--p-radius);padding:32px 28px;position:relative;display:flex;flex-direction:column}
.price-card.featured{border-color:var(--p-primary);box-shadow:var(--p-shadow-lg)}
.price-card .badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--p-primary);color:var(--p-on-primary);font-size:.75rem;font-weight:700;padding:4px 12px;border-radius:999px}
.price-card h3{margin:0 0 6px;font-size:1.0625rem}
.price-amount{font-size:2.25rem;font-weight:800;letter-spacing:-1px;margin:12px 0 4px}
.price-amount span{font-size:.9rem;font-weight:500;color:var(--p-text-muted)}
.price-list{list-style:none;margin:20px 0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:.875rem;flex:1}
.price-list li{display:flex;gap:8px;align-items:flex-start}
.price-list li::before{content:'✓';color:var(--p-success);font-weight:700}
.pay-options{display:flex;flex-direction:column;gap:8px;margin-top:12px}
#paypal-button-container{min-height:45px}

/* /ratgeber (Übersichtsseite): Intro-Hero + groß hervorgehobener neuester
   Beitrag + darunter eine zwischen Grid- und Listen-Ansicht umschaltbare
   Übersicht aller Beiträge. Struktur an eine vom Nutzer vorgeschlagene
   Referenz angelehnt (Hero-Banner, ein hervorgehobener neuester Artikel,
   darunter alle weiteren Artikel), aber in der bestehenden hellen
   Markenoptik dieser Seite (Verlauf/Karten/Primärfarbe wie auf
   /bildungseinrichtungen, /produktstufen, …) statt im dunklen
   Referenz-Farbschema, damit sich die Seite weiter wie derselbe Auftritt
   anfühlt wie jede andere Unterseite. Auf "Trending"/"Popular"-Abschnitte
   wie im Referenzdesign wurde bewusst verzichtet, da es dafür keine
   echten Daten gibt (keine Aufrufzahlen, keine manuelle Kennzeichnung) –
   erfundene Platzierungen hätten nur eine Popularität vorgetäuscht, die
   es nicht gibt. Stattdessen: ein hervorgehobener neuester Beitrag plus
   eine einzige, aber umschaltbare Übersicht aller übrigen Beiträge. */
.guide-list-hero{padding:56px 0 44px;border-bottom:1px solid var(--p-border);background:linear-gradient(160deg,var(--p-primary-light),var(--p-bg));text-align:center}
.guide-list-hero h1{font-size:2.25rem;margin:0 0 10px;letter-spacing:-.5px}
.guide-list-hero p{color:var(--p-text-muted);margin:0;font-size:1.0625rem}

.guide-featured{display:grid;grid-template-columns:1.1fr 1fr;background:var(--p-surface);border:1px solid var(--p-border);border-radius:var(--p-radius);overflow:hidden;box-shadow:var(--p-shadow-sm);text-decoration:none;color:inherit;transition:box-shadow .18s var(--p-ease),transform .18s var(--p-ease)}
.guide-featured:hover{box-shadow:var(--p-shadow-lg);transform:translateY(-3px)}
.guide-featured-image{aspect-ratio:4/3;overflow:hidden;background:var(--p-bg)}
.guide-featured-image img{width:100%;height:100%;object-fit:cover;display:block}
.guide-featured-body{padding:36px 40px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.guide-featured-eyebrow{font-size:.8125rem;font-weight:650;color:var(--p-primary);text-transform:uppercase;letter-spacing:.03em}
.guide-featured-body h2{margin:0;font-size:1.75rem;letter-spacing:-.5px;line-height:1.25}
.guide-featured-body p{margin:0;color:var(--p-text-muted);font-size:1rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:760px){.guide-featured{grid-template-columns:1fr}.guide-featured-body{padding:26px}}

/* Überschrift + Grid/Listen-Umschalter über der restlichen Beitragsliste */
.guide-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:56px 0 24px}
.guide-toolbar h2{margin:0;font-size:1.375rem}
.view-switch{display:inline-flex;border:1px solid var(--p-border);border-radius:10px;padding:3px;gap:2px;background:var(--p-surface);flex-shrink:0}
.view-switch button{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;width:34px;height:30px;border-radius:7px;color:var(--p-text-muted);transition:color .15s var(--p-ease),background-color .15s var(--p-ease)}
.view-switch button svg{width:17px;height:17px}
.view-switch button:hover{color:var(--p-text)}
.view-switch button[aria-pressed="true"]{background:var(--p-primary-light);color:var(--p-primary)}

.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.guide-card{display:block;text-decoration:none;color:inherit;background:var(--p-surface);border:1px solid var(--p-border);border-radius:var(--p-radius);overflow:hidden;transition:box-shadow .18s var(--p-ease),transform .18s var(--p-ease)}
.guide-card-image{aspect-ratio:16/9;overflow:hidden;background:var(--p-bg)}
.guide-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.guide-card:hover{box-shadow:var(--p-shadow-md);transform:translateY(-3px)}
.guide-card-body{padding:22px}
.guide-card h3{margin:0 0 8px;font-size:1.0625rem}
.guide-card p{margin:0;color:var(--p-text-muted);font-size:.9375rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.guide-date{font-size:.75rem;color:var(--p-text-subtle);margin-top:10px;display:block}
.guide-card-link{display:inline-flex;align-items:center;gap:5px;color:var(--p-primary);font-weight:650;font-size:.875rem;margin-top:12px}
.guide-card-link svg{width:14px;height:14px;transition:transform .15s var(--p-ease)}
.guide-card:hover .guide-card-link svg{transform:translateX(3px)}
/* Listen-Ansicht: horizontale Zeilen statt Kachel-Raster, umgeschaltet
   über .guide-grid.view-list (siehe initGuideView() in guide-list.html);
   Auswahl wird in localStorage gemerkt, ähnlich wie das Hell/Dunkel-Thema. */
.guide-grid.view-list{display:flex;flex-direction:column;gap:16px}
.guide-grid.view-list .guide-card{display:grid;grid-template-columns:220px 1fr}
.guide-grid.view-list .guide-card-image{aspect-ratio:auto;height:100%}
.guide-grid.view-list .guide-card-body{display:flex;flex-direction:column;justify-content:center}
@media(max-width:560px){.guide-grid.view-list .guide-card{grid-template-columns:1fr}.guide-grid.view-list .guide-card-image{aspect-ratio:16/9}}

article.guide-article{max-width:720px;margin:0 auto;padding:48px 24px}
.guide-hero{position:relative;margin-bottom:8px}
.guide-hero-badge{position:absolute;top:20px;left:20px;z-index:1;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);color:#fff;font-size:.75rem;font-weight:650;padding:6px 14px;border-radius:999px}
.guide-hero:not(.has-image){padding:56px 24px 8px;background:var(--p-primary-light)}
.guide-hero:not(.has-image) .guide-hero-text{position:static;color:inherit;padding:0}
.guide-hero:not(.has-image) h1{color:var(--p-text)}
.guide-hero:not(.has-image) .guide-meta{color:var(--p-text-muted)}
.guide-hero.has-image .guide-hero-media{position:relative;width:100%;aspect-ratio:21/8;overflow:hidden;background:var(--p-bg)}
.guide-hero.has-image .guide-hero-media img{width:100%;height:100%;object-fit:cover;display:block}
.guide-hero.has-image .guide-hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,0) 65%)}
.guide-hero.has-image .guide-hero-text{position:absolute;left:0;right:0;bottom:0;padding:28px 24px;color:#fff}
.guide-hero.has-image h1{color:#fff}
.guide-hero.has-image .guide-meta{color:rgba(255,255,255,.85)}
.guide-hero-text{max-width:720px}
.guide-hero h1{font-size:2.25rem;letter-spacing:-.8px;margin:0 0 8px}
.guide-hero .guide-meta{font-size:.875rem}
/* The 21/8 image ratio only leaves ~130px of height at phone widths — not
   enough for a two-line title plus the reading-time badge without the two
   overlapping. A taller ratio and a smaller heading on narrow screens
   keep both readable. */
@media(max-width:600px){.guide-hero.has-image .guide-hero-media{aspect-ratio:4/3}.guide-hero h1{font-size:1.625rem}}
article.guide-article .guide-content{font-size:1.0625rem;line-height:1.75;color:var(--p-text)}
article.guide-article .guide-content p{margin:0 0 20px}
article.guide-article .guide-content h2{font-size:1.375rem;margin:32px 0 14px}
article.guide-article .guide-content h3{font-size:1.1875rem;margin:26px 0 12px}
article.guide-article .guide-content ul,article.guide-article .guide-content ol{margin:0 0 20px;padding-left:26px}
article.guide-article .guide-content li{margin-bottom:8px}
/* Hervorgehobene Zitat-Karte statt eines schmalen Rand-Strichs — an die
   vom Nutzer vorgeschlagene Referenz angelehnt (dort ein auffälliges,
   getöntes Zitat-Feld statt einer schlichten Randlinie). */
article.guide-article .guide-content blockquote{position:relative;margin:0 0 28px;padding:26px 28px 26px 60px;background:var(--p-primary-light);border-radius:14px;color:var(--p-text);font-style:normal;font-size:1.0625rem;line-height:1.65}
article.guide-article .guide-content blockquote::before{content:'\201C';position:absolute;left:22px;top:8px;font-size:2.75rem;line-height:1;color:var(--p-primary);font-family:Georgia,'Times New Roman',serif}
article.guide-article .guide-content blockquote p{margin:0}
article.guide-article .guide-content blockquote p+p{margin-top:12px}
article.guide-article .guide-content table{border-collapse:collapse;width:100%;margin:0 0 20px;font-size:.9375rem}
article.guide-article .guide-content td,article.guide-article .guide-content th{border:1px solid var(--p-border);padding:9px 12px;text-align:left}
article.guide-article .guide-content img{max-width:100%;height:auto;border-radius:12px;display:block;margin:0 0 20px}
article.guide-article .guide-content iframe{max-width:100%;border-radius:12px;margin:0 0 20px;aspect-ratio:560/315;width:100%;height:auto}
article.guide-article .guide-content video,article.guide-article .guide-content audio{max-width:100%;margin:0 0 20px;display:block}
article.guide-article .guide-content a{color:var(--p-accent-text);text-decoration:underline}

.legal-page{max-width:var(--site-max,1440px);margin:0 auto;padding:56px 24px 80px} /* Teil 729 (Tims Wunsch): Rechtstexte in voller Inhaltsbreite statt 760 px */
.legal-page h1{font-size:2rem;margin:0 0 8px}
.legal-page .legal-updated{color:var(--p-text-muted);font-size:.875rem;margin-bottom:32px}
.legal-page h2{font-size:1.25rem;margin:32px 0 12px}
.legal-page p,.legal-page li{color:#333333;line-height:1.7}
.legal-notice{background:#fef3c7;border:1px solid #fde68a;color:#92400e;border-radius:var(--p-radius-sm);padding:16px 18px;font-size:.875rem;margin-bottom:32px}
.legal-placeholder{background:var(--p-primary-light);color:var(--p-primary);padding:2px 6px;border-radius:4px;font-weight:600}

.cta-band{background:linear-gradient(135deg,var(--p-primary),var(--p-primary));border-radius:24px;padding:48px;text-align:center;color:var(--p-on-primary)}
.cta-band h2{margin:0 0 12px;font-size:1.75rem}
.cta-band p{margin:0 0 24px;opacity:.9}
.cta-band .btn{background:var(--p-surface);color:var(--p-primary);border-color:#fff}
.cta-band .btn:hover{background:#f2f2f2}

.site-footer{background:#0a0a0a;color:#d4d4d4;padding:56px 0 28px;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px;margin-bottom:40px}
.footer-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;margin-bottom:12px}
.footer-grid p{color:#999999;font-size:.875rem;max-width:280px}
.footer-col h2,.footer-col h4{font-weight:700;line-height:1.3;color:#fff;font-size:.8125rem;text-transform:uppercase;letter-spacing:.6px;margin:0 0 14px}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.footer-col a{color:#999999;text-decoration:none;font-size:.875rem}
.footer-col a:hover{color:#fff}
.footer-bottom{border-top:1px solid #1c1c1c;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.8125rem;color:#a3adbd}

.lang-switch{position:relative;display:inline-flex;align-items:center;margin-right:8px}
.lang-switch-btn{display:flex;align-items:center;gap:5px;border:1px solid var(--p-border);background:var(--p-surface);border-radius:999px;padding:7px 10px;font-size:1.0625rem;cursor:pointer;line-height:1}
.lang-switch-btn svg{color:var(--p-text-muted);flex-shrink:0}
.lang-switch-status{position:absolute;top:calc(100% + 6px);right:0;font-size:.75rem;color:var(--p-text-muted);background:var(--p-surface);border:1px solid var(--p-border);border-radius:8px;padding:3px 8px;white-space:nowrap}
.lang-switch-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--p-surface);border:1px solid var(--p-border);border-radius:var(--p-radius-sm);box-shadow:var(--p-shadow-md);padding:6px;min-width:180px;max-height:320px;overflow-y:auto;z-index:60}
.lang-switch-option{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:8px;font-size:.875rem;cursor:pointer;color:var(--p-text)}
.lang-switch-option:hover{background:var(--p-primary-light)}
body.cookie-modal-open{overflow:hidden}
/* Strictly above the floating theme-toggle/accessibility buttons (both use
   z-index:2147483000) so the backdrop always wins the stacking order,
   regardless of which of those gets appended to the DOM first. */
.cookie-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:2147483647;display:flex;align-items:center;justify-content:center;padding:20px}
.cookie-modal{width:100%;max-width:640px;max-height:calc(100dvh - 40px);overflow-y:auto;background:var(--p-surface);border-radius:var(--p-radius);box-shadow:var(--p-shadow-lg);padding:24px 28px 28px}
.cookie-modal-head{display:flex;align-items:center;margin-bottom:18px}
.cookie-modal-brand{display:flex;align-items:center;gap:10px;font-weight:750;font-size:1rem;letter-spacing:-.3px;color:var(--p-text)}
.cookie-modal-brand .site-brand-mark{width:26px;height:31px}
.cookie-tabs{display:flex;gap:4px;border-bottom:1px solid var(--p-border);margin-bottom:18px}
.cookie-tab{padding:10px 6px;margin-right:20px;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--p-text-muted);font-weight:650;font-size:.875rem;cursor:pointer;transition:color .15s var(--p-ease),border-color .15s var(--p-ease)}
.cookie-tab:hover{color:var(--p-text)}
.cookie-tab.active{color:var(--p-primary);border-bottom-color:var(--p-primary)}
.cookie-tab-panel{min-height:120px}
.cookie-tab-panel p{margin:0 0 18px;font-size:.875rem;line-height:1.6;color:var(--p-text-muted)}
.cookie-tab-panel p a{color:var(--p-primary);font-weight:600;text-decoration:none}
.cookie-tab-panel p a:hover{text-decoration:underline}
.cookie-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;border:1px solid var(--p-border);border-radius:14px;overflow:hidden}
.cookie-cat{padding:16px 12px;text-align:center;border-right:1px solid var(--p-border);display:flex;flex-direction:column;align-items:center;gap:12px}
.cookie-cat:last-child{border-right:0}
.cookie-cat-label{font-size:.8125rem;font-weight:650;color:var(--p-text)}
.cookie-switch{position:relative;display:inline-block;width:42px;height:24px;cursor:pointer}
.cookie-switch.locked{cursor:default}
.cookie-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:inherit}
.cookie-switch-track{position:absolute;inset:0;background:#d4d4d4;border-radius:999px;transition:background-color .15s var(--p-ease)}
.cookie-switch-track::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s var(--p-ease)}
.cookie-switch input:checked+.cookie-switch-track{background:var(--p-primary)}
.cookie-switch input:checked+.cookie-switch-track::after{transform:translateX(18px)}
.cookie-switch input:disabled+.cookie-switch-track{opacity:.65}
.cookie-switch input:focus-visible+.cookie-switch-track{outline:2px solid var(--p-accent-text);outline-offset:2px}
.cookie-details-list{display:flex;flex-direction:column;gap:14px;margin-bottom:6px}
.cookie-details-row{display:flex;flex-direction:column;gap:4px;padding-bottom:14px;border-bottom:1px solid var(--p-border)}
.cookie-details-row:last-child{border-bottom:0;padding-bottom:0}
.cookie-details-row strong{font-size:.8438rem}
.cookie-details-row span{font-size:.8125rem;color:var(--p-text-muted);line-height:1.55}
.cookie-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin:22px -28px -28px;padding:14px 28px 28px;position:sticky;bottom:-28px;z-index:1;background:var(--p-surface);border-top:1px solid var(--p-border);border-radius:0 0 var(--p-radius) var(--p-radius)} /* Teil 572: Knöpfe bleiben sichtbar, auch wenn der Dialog auf kleinen Bildschirmen scrollt */
.cookie-modal-actions .btn{flex:1;min-width:140px}
@media(max-width:560px){.cookie-cat-grid{grid-template-columns:repeat(2,1fr)}.cookie-cat{border-bottom:1px solid var(--p-border)}.cookie-cat:nth-last-child(-n+2){border-bottom:0}.cookie-cat:nth-child(2n){border-right:0}.cookie-modal-actions .btn{min-width:100%}}
@media(max-width:560px){.cookie-tab{margin-right:0;flex:1 1 auto;padding:10px 4px}.cookie-tabs{gap:2px}.cookie-modal{padding:18px 18px 20px}.cookie-modal-actions{margin:16px -18px -20px;padding:12px 18px 16px;bottom:-20px;gap:8px}.cookie-modal-actions .btn{min-height:42px;padding-top:9px;padding-bottom:9px}}

@media(max-width:860px){
 .hero-inner{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:1fr 1fr}
 .steps{grid-template-columns:1fr}
}
/* War vorher max-width:700px — bei ca. 701-971px (u.a. "Laptop im
   halben Bildschirm") lief die Menüleiste dadurch aus dem sichtbaren
   Bereich hinaus, weil Logo + alle Menüpunkte + Konto-Icon + der
   "Kostenlos starten"-Button in ihrer vollen Breite (braucht ~972px)
   dort noch nicht ins mobile Menü umgeschaltet haben, aber schon nicht
   mehr in die schmalere Leiste passten. 1024px liegt mit Puffer über
   diesem tatsächlichen Platzbedarf. */
@media(max-width:1024px){
 .site-nav-links{position:fixed;top:68px;left:0;right:0;background:var(--p-surface);border-bottom:1px solid var(--p-border);flex-direction:column;align-items:flex-start;padding:16px 24px;gap:16px;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .15s var(--p-ease),transform .15s var(--p-ease)}
 .site-nav-links.open{opacity:1;pointer-events:auto;transform:translateY(0)}
 .nav-toggle{display:block}
 /* Der "Kostenlos starten"-Button passt neben Konto-Icon und
    Hamburger-Button auf schmaleren Bildschirmen nicht mehr (trieb die
    ganze Seite in horizontales Überlaufen) — jede Seite hat bereits
    einen eigenen Inline-CTA weiter oben, und das Hamburger-Menü selbst
    führt zu /app, daher geht hier nichts verloren. */
 .site-nav-actions{display:none}
}
/* Diese beiden Anpassungen gehören nicht zum Menüleisten-Umbruch oben,
   sondern greifen weiterhin erst bei "echter" Mobile-Breite. */
@media(max-width:700px){
 .hero h1{font-size:2rem}
 .footer-grid{grid-template-columns:1fr}
}

/* Barrierefreiheit: Skip-Link, sichtbar nur bei Tastaturfokus */
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--p-primary,#4f46e5);color:var(--p-on-primary,#fff);padding:12px 20px;border-radius:0 0 8px 0;font-weight:700;font-size:.875rem;text-decoration:none}
.skip-link:focus{left:0}


/* Barrierefreiheit: sichtbarer Tastaturfokus (fehlte bisher komplett) */
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--p-accent-text);outline-offset:2px}

/* Scroll-Reveal-System: Elemente blenden beim Scrollen sanft ein, statt
   die ganze Seite auf einmal zu zeigen. .reveal-group versetzt die
   Kind-Elemente zeitlich gestaffelt (per nth-child), damit eine
   Kartenreihe nacheinander statt gleichzeitig erscheint. */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.reveal-group.is-visible>*{opacity:1;transform:translateY(0)}
.reveal-group>*{opacity:0;transform:translateY(24px);transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1)}
.reveal-group>*:nth-child(1){transition-delay:0ms}
.reveal-group>*:nth-child(2){transition-delay:90ms}
.reveal-group>*:nth-child(3){transition-delay:180ms}
.reveal-group>*:nth-child(4){transition-delay:270ms}
.reveal-group>*:nth-child(5){transition-delay:360ms}
.reveal-group>*:nth-child(6){transition-delay:450ms}
.reveal-group>*:nth-child(n+7){transition-delay:520ms}

/* Zusätzliche Hover-/Interaktionsanimationen für sonst statische Elemente */
.testimonial-card{transition:box-shadow .2s var(--p-ease),transform .2s var(--p-ease)}
.testimonial-card:hover{box-shadow:var(--p-shadow-md);transform:translateY(-3px)}
.step{transition:transform .2s var(--p-ease)}
.step:hover{transform:translateY(-3px)}
.step-num{transition:transform .3s cubic-bezier(.34,1.56,.64,1),background-color .2s var(--p-ease)}
.step:hover .step-num{transform:scale(1.1) rotate(-6deg)}
.eyebrow-pill{transition:transform .2s var(--p-ease)}
.hero-rating .stars{display:inline-block;animation:starPop .5s cubic-bezier(.34,1.56,.64,1) both;animation-delay:.15s}
@keyframes starPop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
.hero-visual img{transition:transform .4s var(--p-ease)}
.hero-visual:hover img{transform:translateY(-4px)}

/* Wer Bewegung reduziert eingestellt hat, bekommt alles sofort ohne
   Übergang statt der Animation — Barrierefreiheit geht vor Effekt. */
@media (prefers-reduced-motion: reduce) {
 .reveal,.reveal-group>*{opacity:1;transform:none;transition:none}
 .testimonial-card,.step,.step-num,.hero-visual img{transition:none}
 .hero-rating .stars{animation:none}
}

/* Permanentes User-Icon in der Navigation, links neben dem Hell/Dunkel-
   Umschalter — zeigt eine Person-Silhouette, solange niemand angemeldet
   ist (führt zu /login), und nach der Anmeldung die Initialen als runder
   Avatar (führt zu /konto), analog zum Avatar im Admin-Panel. */
/* Jetzt ein <button> (öffnet das Dropdown in .nav-user-panel) statt eines
   <a>, das direkt navigiert hat — daher die Button-Reset-Eigenschaften
   (border:0, padding:0, font, cursor). Auf Wunsch ohne Rahmen. */
/* margin-left:auto schiebt das Icon (und alles, was danach im Markup
   kommt, hier .site-nav-actions/.nav-toggle) an den rechten Rand, direkt
   vor den "Kostenlos starten"-Button — siehe .site-nav-inner oben. */
.nav-user-wrap{position:relative;margin-left:auto}
/* Transparent statt grauer Fläche (var(--p-surface)) im Ruhezustand — nur
   beim Hover bzw. eingeloggt (.is-authenticated) bekommt es einen
   Hintergrund. */
.nav-user-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:0;padding:0;background:transparent;color:var(--p-text-muted);flex-shrink:0;font:inherit;font-size:.75rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background-color .15s var(--p-ease),color .15s var(--p-ease)}
.nav-user-icon svg{width:19px;height:19px;transition:transform .2s var(--p-ease)}
.nav-user-icon:hover{background:var(--p-primary-light);color:var(--p-text)}
.nav-user-icon:hover svg{transform:scale(1.12)}
.nav-user-icon.is-authenticated{background:var(--p-primary);color:var(--p-on-primary)}
.nav-user-icon.is-authenticated:hover{background:var(--p-primary-hover)}
/* [hidden] muss explizit gewinnen — sonst hebt das eigene display:flex
   unten (gleiche Spezifität wie das Browser-Standard-[hidden]{display:none},
   aber später geladen) das Verstecken auf und das Panel steht offen. */
.nav-user-panel[hidden]{display:none}
.nav-user-panel{position:absolute;top:calc(100% + 14px);right:0;min-width:190px;background:var(--p-surface);border:1px solid var(--p-border);border-radius:var(--p-radius-sm);box-shadow:var(--p-shadow-lg);padding:8px;z-index:30;display:flex;flex-direction:column;gap:2px}
.nav-user-panel a,.nav-user-panel button{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:8px;text-decoration:none;color:var(--p-text);font:inherit;font-size:.875rem;font-weight:600;background:none;border:0;cursor:pointer;transition:background-color .15s var(--p-ease)}
.nav-user-panel a:hover,.nav-user-panel button:hover{background:var(--p-primary-light)}
.nav-user-panel-divider{height:1px;background:var(--p-border);margin:4px 0}
.nav-user-panel-email{padding:6px 12px 2px;font-size:.75rem;color:var(--p-text-muted);font-weight:600;overflow-wrap:break-word;cursor:default}

/* Startseiten-Vorlagen-Teaser: kleinere Vorschaubilder statt Nummern-Icon,
   verlinkt auf die vollständige Vorlagenseite */
.template-slideshow{position:relative;display:flex;align-items:center;gap:12px}
.template-slideshow-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 4px 12px;flex:1;min-width:0;scrollbar-width:thin}
.template-slideshow-track::-webkit-scrollbar{height:6px}
.template-slideshow-track::-webkit-scrollbar-thumb{background:var(--p-border-strong);border-radius:99px}
.feature-card.template-teaser-card{padding:0;overflow:hidden;text-decoration:none;color:inherit;display:block;flex:0 0 220px;scroll-snap-align:start}
.feature-card.template-teaser-card .teaser-thumb{aspect-ratio:210/297;background:var(--p-bg);overflow:hidden}
.feature-card.template-teaser-card .teaser-thumb img{width:100%;height:100%;object-fit:cover;object-position:top}
.feature-card.template-teaser-card .teaser-body{padding:18px 20px 20px}
.feature-card.template-teaser-card h3{margin:0 0 4px;font-size:1rem}
.feature-card.template-teaser-card p{margin:0;font-size:.8125rem;color:var(--p-text-muted)}
.template-slideshow-nav{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:1px solid var(--p-border);background:var(--p-surface);color:var(--p-text);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--p-shadow-sm);transition:background-color .15s var(--p-ease)}
.template-slideshow-nav:hover{background:var(--p-primary-light);color:var(--p-primary)}
.template-slideshow-nav svg{width:20px;height:20px}
@media(max-width:680px){.template-slideshow-nav{display:none}}

/* USP-Sektion: "Deine komplette Bewerbung aus einer Hand" */
.usp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;max-width:1320px;margin:0 auto}
.usp-card{background:var(--p-surface);border:1px solid var(--p-border);border-radius:20px;padding:32px 28px;text-align:left;transition:box-shadow .2s var(--p-ease),transform .2s var(--p-ease)}
.usp-card:hover{box-shadow:var(--p-shadow-md);transform:translateY(-3px)}
.usp-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 0 18px}
.usp-icon svg{width:26px;height:26px}
.usp-card h3{font-size:1.125rem;margin:0 0 8px}
.usp-card p{margin:0;color:var(--p-text-muted);font-size:.9375rem;line-height:1.55}
.usp-card .usp-icon{background:var(--p-primary-light);color:var(--p-primary)}
.usp-service-banner{margin-top:40px;background:linear-gradient(135deg,var(--p-primary),var(--p-primary));border-radius:24px;padding:36px 40px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;color:var(--p-on-primary)}
.usp-service-banner h3{margin:0 0 8px;font-size:1.3125rem;letter-spacing:-.3px}
.usp-service-banner p{margin:0;max-width:560px;color:rgba(255,255,255,.85);font-size:.9375rem;line-height:1.55}
.usp-service-banner .btn.primary{background:var(--p-on-primary);color:var(--p-primary);border-color:var(--p-on-primary);flex-shrink:0}
.usp-service-banner .btn.primary:hover{background:rgba(255,255,255,.92)}
@media(max-width:680px){.usp-service-banner{padding:28px 24px}}

/* Vertrauens-Badges im Hero (Made in Germany, Serverstandort) */
/* Vertrauenszeile im Footer */
.footer-trust{margin-top:8px;font-size:.8125rem;color:#999999}

/* Social-Media-Icons im Footer (nur sichtbar, wenn in den Einstellungen konfiguriert) */
.footer-socials{display:flex;gap:10px;margin-top:14px}
.footer-socials a{width:34px;height:34px;border-radius:999px;background:rgba(255,255,255,.08);color:#999999;display:flex;align-items:center;justify-content:center;transition:background-color .15s var(--p-ease),color .15s var(--p-ease)}
.footer-socials a:hover{background:var(--p-primary);color:var(--p-on-primary)}
.footer-socials svg{width:17px;height:17px}

/* Sprachumschalter im Footer (dunkler Hintergrund) */
.footer-bottom{gap:14px}
.footer-lang-switch-wrap .lang-switch{margin:0}
.footer-lang-switch-wrap .lang-switch-btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);color:#e5e5e5}
.footer-lang-switch-wrap .lang-switch-menu{right:0;left:auto}

/* FAQ-Akkordeon (geteilt zwischen /faq und der Startseiten-Kurzfassung) */
.faq-item{border-bottom:1px solid var(--p-border)}
.faq-item summary{padding:18px 0;font-weight:650;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:1.25rem;color:var(--p-text-muted);flex-shrink:0}
.faq-item[open] summary::after{content:'–'}
.faq-item p{margin:0 0 18px;color:#333333;line-height:1.65;font-size:.9375rem}
.home-faq-more{text-align:center;margin-top:28px}

/* Startseiten-FAQ: wie der Newsletter-Block als volle Breite mit eigener
   Hintergrundfarbe gestaltet ("genauso wie das Newsletter"), plus einem
   Icon im Section-Head als grafische Aufwertung. Der Akkordeon-Inhalt
   selbst (.faq-item, s.o.) bleibt unverändert nutzbar. */
.home-faq{padding:64px 0;background:var(--p-surface);border-top:1px solid var(--p-border);border-bottom:1px solid var(--p-border)}
.home-faq-shell{max-width:760px;margin:0 auto}
.home-faq-icon{width:56px;height:56px;border-radius:50%;background:var(--p-primary-light);color:var(--p-primary);display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.home-faq-icon svg{width:26px;height:26px}
[data-theme="dark"] .home-faq{background:var(--p-bg)}

/* Newsletter-Sektion: volle Breite mit Verlaufs-Hintergrund + Icon statt
   des vorher unauffälligen, hintergrundlosen Formulars. */
.newsletter-section{background:linear-gradient(135deg,var(--p-primary),var(--p-primary));color:var(--p-on-primary)}
.newsletter-inner{max-width:640px;text-align:center}
.newsletter-icon{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff}
.newsletter-icon svg{width:28px;height:28px}
.newsletter-section .section-head h2{color:#fff}
.newsletter-section .section-head p{color:rgba(255,255,255,.85)}
.newsletter-form{max-width:420px;margin:0 auto;display:flex;gap:10px}
.newsletter-form input{flex:1;min-width:0;border:1px solid rgba(255,255,255,.35);border-radius:var(--p-radius-sm);padding:11px 14px;font:inherit;background:rgba(255,255,255,.14);color:#fff}
.newsletter-form input::placeholder{color:rgba(255,255,255,.75)}
.newsletter-form .btn.primary{background:var(--p-on-primary);color:var(--p-primary);border-color:var(--p-on-primary);flex-shrink:0}
.newsletter-form .btn.primary:hover{background:rgba(255,255,255,.9);box-shadow:none;transform:none}
.newsletter-msg{text-align:center;font-size:.8125rem;color:#fff;font-weight:650;margin-top:14px;display:none}
@media(max-width:560px){.newsletter-form{flex-direction:column}}

/* Blogbeiträge-Vorschau auf der Startseite */
.blog-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-bottom:8px}
.blog-preview-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid var(--p-border);border-radius:var(--p-radius);overflow:hidden;background:var(--p-surface);box-shadow:var(--p-shadow-sm);transition:box-shadow .18s var(--p-ease),transform .18s var(--p-ease)}
.blog-preview-card:hover{box-shadow:var(--p-shadow-md);transform:translateY(-3px)}
.blog-preview-thumb{display:block;aspect-ratio:16/9;background:var(--p-primary-light);overflow:hidden}
.blog-preview-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.blog-preview-body{padding:18px 20px 22px;display:block}
.blog-preview-body strong{display:block;font-size:1.0625rem;margin-bottom:6px;color:var(--p-text)}
.blog-preview-body p{margin:0;font-size:.875rem;color:var(--p-text-muted);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Mega-Menü "Vorlagen" im Hauptmenü */
.nav-mega-wrap{position:relative}
/* `all:unset` on a <button> resets color to its inherited value rather than
   the browser's own button styling — that used to be `color:inherit`,
   which pulled in the page's default (dark) text color instead of the
   muted gray every other nav link gets from `.site-nav-links a`, so
   "Vorlagen" looked permanently highlighted no matter which page you were
   on. Now styled the same as the other links (muted by default, hover/
   active pill to match), with `.active` added only on /vorlagen itself
   by initNavActiveState() in marketing.js. */
.nav-mega-trigger{all:unset;position:relative;display:inline-flex;align-items:center;gap:5px;cursor:pointer;font:inherit;color:var(--p-text-muted);padding:7px 0;transition:color .15s var(--p-ease)}
.nav-mega-trigger::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:1px;background:var(--p-primary);transform:scaleX(0);transition:transform .2s var(--p-ease)}
.nav-mega-trigger:hover{color:var(--p-primary)}
.nav-mega-trigger:hover::after{transform:scaleX(1)}
.nav-mega-trigger.active{color:var(--p-primary)}
.nav-mega-trigger.active::after{transform:scaleX(1)}
.nav-mega-trigger svg{transition:transform .15s var(--p-ease)}
.nav-mega-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
/* Zurück auf den ursprünglichen, kleineren Radius (18px) — die vorherige
   Umstellung auf var(--p-radius) (16px) wurde auf Wunsch wieder rückgängig
   gemacht, der Unterschied wirkte in der Praxis zu rund. */
.nav-mega-panel{position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%);width:560px;max-width:80vw;background:var(--p-surface);border:1px solid var(--p-border);border-radius:18px;box-shadow:var(--p-shadow-lg);padding:22px;z-index:30}
.nav-mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.nav-mega-item{display:block;text-decoration:none;color:inherit;border-radius:10px;overflow:hidden;border:1px solid var(--p-border);transition:border-color .15s var(--p-ease)}
.nav-mega-item:hover{border-color:var(--p-primary)}
.nav-mega-item img{width:100%;aspect-ratio:210/297;object-fit:cover;object-position:top;display:block}
.nav-mega-item span{display:block;padding:8px 10px;font-size:.75rem;font-weight:600}
.nav-mega-viewall{display:block;text-align:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--p-border);font-weight:650;font-size:.875rem;color:var(--p-primary);text-decoration:none}
@media(max-width:900px){.nav-mega-panel{position:static;transform:none;width:auto;max-width:none;box-shadow:none;margin-top:8px}}

/* "Wie es funktioniert" im Stil mit eigenen Illustrationen statt reiner Zahlen */
.how-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;max-width:1320px;margin:0 auto}
.how-card{text-align:center}
.how-illustration{border-radius:20px;padding:24px;margin-bottom:20px;display:flex;align-items:center;justify-content:center;min-height:190px}
.how-illustration svg{width:100%;max-width:220px;height:auto}
.how-illustration-1,.how-illustration-2,.how-illustration-3{background:var(--p-primary-light)}
.how-card h3{margin:0 0 8px;font-size:1.0625rem}
.how-card p{margin:0;color:var(--p-text-muted);font-size:.9375rem;line-height:1.55}

/* Teil 37: mehr Navigationspunkte – nicht umbrechen */
.site-nav-links a,.site-nav-links .nav-mega-trigger{white-space:nowrap}
@media(max-width:1440px) and (min-width:981px){.site-nav-links{gap:16px;font-size:.875rem}}
/* Teil 43: 8 Navigationspunkte – Logo und Button dürfen nicht umbrechen */
.site-brand,.site-nav-inner>a:first-child,.site-nav-actions .btn{white-space:nowrap;flex-shrink:0}
@media(max-width:1180px) and (min-width:981px){.site-nav-links{gap:12px;font-size:.8438rem}.site-nav-actions .btn.primary{padding:10px 16px}.site-nav-actions .btn.primary svg{display:none}}
.home-muster-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:900px;margin:0 auto 24px}
.home-muster-chip{padding:10px 16px;border-radius:999px;border:1px solid var(--p-border);background:var(--p-surface);color:var(--p-text);text-decoration:none;font-weight:650;font-size:.9063rem;transition:border-color .15s,color .15s}
.home-muster-chip:hover{border-color:var(--p-primary);color:var(--p-primary)}
/* Teil 48: Akzentfarbe als Textfarbe im Dunkelmodus aufhellen (Kontrast) */
[data-theme="dark"] .site-nav-links a.active,[data-theme="dark"] .site-nav-links a:hover,[data-theme="dark"] .eyebrow-pill,[data-theme="dark"] [data-cookie-tab],[data-theme="dark"] .cookie-banner a,[data-theme="dark"] .cookie-modal a,[data-theme="dark"] #cookie-banner a{color:var(--p-primary-ink)}
/* Teil 52: Farbpunkte auf Vorlagen-Karten (public/js/template-colors.js) */
.tc-swatches{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tc-sw{width:20px;height:20px;border-radius:50%;padding:0;margin:0;border:2px solid var(--p-surface,#fff);background:var(--tc);box-shadow:0 0 0 1px color-mix(in srgb,var(--p-text) 18%,transparent);cursor:pointer;transition:transform .15s var(--p-ease,ease),box-shadow .15s}
.tc-sw:hover{transform:scale(1.15)}
.tc-sw[aria-checked="true"]{box-shadow:0 0 0 2px var(--p-text)}
.tc-sw:focus-visible{outline:2px solid var(--p-accent-text);outline-offset:3px}
.template-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.template-preview img,.teaser-thumb img{transition:opacity .15s}
@media (prefers-reduced-motion:reduce){.tc-sw{transition:none}.tc-sw:hover{transform:none}}
.template-title-row{flex-direction:column;align-items:flex-start;gap:8px}
#main-content:focus,main[tabindex="-1"]:focus{outline:none}
/* Teil 63: Dunkelmodus – Kontrast nach WCAG AA (Text in Primärfarbe auf dunklem Grund war zu dunkel) */
[data-theme="dark"] .legal-placeholder,[data-theme="dark"] .layout-badge,[data-theme="dark"] .plan-chip[data-state="free"] u,[data-theme="dark"] .nav-item.active,[data-theme="dark"] .nav-item.active .step,[data-theme="dark"] .chk-badges span,[data-theme="dark"] .doc-row-status-draft,[data-theme="dark"] .price-badge,[data-theme="dark"] .consent-row a,[data-theme="dark"] .auth-footer a,[data-theme="dark"] .nav-mega-trigger.active,[data-theme="dark"] .doc-card-new,[data-theme="dark"] .ai-improve-btn,[data-theme="dark"] .site-nav-actions .btn:not(.primary){color:var(--p-primary-ink)}
[data-theme="dark"] .ai-improve-btn{border-color:var(--p-primary-border)}
[data-theme="dark"] .legal-page p,[data-theme="dark"] .legal-page li{color:var(--p-text-muted)}
/* Teil 611: FAQ-Antworten (Startseite, /en/, Bildungseinrichtungen) waren im Dunkelmodus fast unlesbar (#333333 auf dunklem Grund, Kontrast 1,8:1). */
[data-theme="dark"] .faq-item p{color:var(--p-text-muted)}
[data-theme="dark"] .legal-page strong,[data-theme="dark"] .legal-page a{color:var(--p-text)}
[data-theme="dark"] .zoom-pills{background:var(--p-bg)}
[data-theme="dark"] .entry-card summary{background:var(--p-surface)}
[data-theme="dark"] .local-note,[data-theme="dark"] .nav-item .step,[data-theme="dark"] .entry-index,[data-theme="dark"] .nav-mega-trigger{color:var(--p-text-muted)}
[data-theme="dark"] .settings-card.danger h2,[data-theme="dark"] #delete-account-btn{color:#f87171}
[data-theme="dark"] .rg-dl-kind{color:var(--p-primary-ink)}
[data-theme="dark"] .auth-card a[href="/forgot-password"],[data-theme="dark"] .auth-card #totp-use-recovery,[data-theme="dark"] .cart-mobile-nav a{color:var(--p-primary-ink)!important}
[data-theme="dark"] #delete-account-btn{color:#f87171!important;border-color:#f87171!important}
/* Teil 64: Tippziele auf dem Handy (WCAG 2.5.8, mind. 24 px – Menü 44 px) */
.nav-toggle{padding:21px 11px}
@media (pointer:coarse){
 .tc-swatches{gap:8px}
 .tc-sw{width:26px;height:26px}
 :where(input[type=checkbox],input[type=radio]){width:20px;height:20px;flex-shrink:0}
 :where(input[type=range]){height:32px}
 :where(select){min-height:36px}
 .fq-link{padding:6px 0}
 .check input,.share-check input,.buy-opt input,label.consent-row input{width:20px;height:20px;flex-shrink:0}
 .footer-col ul{gap:2px}
 .footer-col a{display:inline-block;padding:6px 0}
 .cart-mobile-nav a{display:inline-flex;align-items:center;min-height:36px}
 .auth-card a[href="/forgot-password"],.consent-row a,.auth-footer a,.form-legal a,.hp-more{display:inline-block;padding:5px 0}
}
/* Teil 69: Häkchen überall gut sichtbar (vorher Browser-Standard 13 px) */
:where(input[type=checkbox],input[type=radio]){width:18px;height:18px;accent-color:var(--p-primary);flex-shrink:0;cursor:pointer}
.contact-form .consent-row input[type=checkbox],label.consent-row input[type=checkbox]{width:20px!important;height:20px!important;margin:1px 0 0;padding:0}
.contact-form .consent-row span{font-weight:400;font-size:.875rem;margin:0;color:var(--p-text-muted)}
/* Teil 72: neue Wegbegleiterin mit Laptop (Querformat, Laptop schließt rechts unten an die Fläche an) */
.hp-guide .hp-guide-visual .hp-guide-woman{left:-2%;right:auto;transform:none;width:92%;max-height:none;border-radius:0 0 36px 0}
.hp-guide .hp-guide-visual .hp-guide-doc.d2{top:2%;right:-4%;width:27%}
.hp-guide .hp-guide-visual .hp-guide-card.c2{top:30%;right:-12%}
.hp-guide .hp-guide-visual .hp-guide-card.c3{bottom:-3%;right:-6%}
.hp-guide .hp-guide-visual .hp-guide-card.c4{bottom:24%;left:-10%}
.hp-guide .hp-guide-visual .hp-guide-bubble{left:50%;right:auto;top:10%}
@media (max-width:900px){.hp-guide .hp-guide-visual .hp-guide-card.c2{right:0}.hp-guide .hp-guide-visual .hp-guide-card.c3{right:0;bottom:-4%}.hp-guide .hp-guide-visual .hp-guide-card.c4{left:0}.hp-guide .hp-guide-visual .hp-guide-bubble{left:auto;right:0;top:4%}}

/* Teil 74: Brücke über den Spalt zwischen Icon und Menü (Öffnen beim Darüberfahren) */
.nav-user-panel::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}

/* Teil 76: Brücke über den Spalt zwischen „Vorlagen“ und Mega-Menü (Öffnen beim Darüberfahren) */
@media(min-width:901px){.nav-mega-panel::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}}
/* Teil 80: sehr lange Wörter in Überschriften (z. B. „Rechtsanwaltsfachangestellte“) am Handy
   trennen bzw. umbrechen statt die Seite seitlich verschiebbar zu machen */
@media (max-width:600px){h1,h2,h3{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere}}
/* Teil 107: 404-Seite mit Vorschlägen */
.nf-page{max-width:920px;margin:0 auto;padding:64px 20px 72px;text-align:center}
.nf-code{margin:0;font-size:clamp(3.5rem,12vw,6rem);font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--p-primary)}
.nf-page h1{margin:12px 0 8px}
.nf-lead{color:var(--p-text-muted);margin:0 0 32px}
.nf-h2{font-size:1.125rem;margin:32px 0 12px;text-align:left}
.nf-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;text-align:left}
.nf-links a{display:flex;flex-direction:column;gap:4px;height:100%;box-sizing:border-box;padding:14px 16px;border:1px solid var(--p-border);border-radius:12px;background:var(--p-surface);color:var(--p-text);text-decoration:none;transition:border-color .15s}
.nf-links a:hover,.nf-links a:focus-visible{border-color:var(--p-primary)}
.nf-links strong{color:var(--p-primary-ink)}
.nf-links span{font-size:.875rem;color:var(--p-text-muted)}
.nf-suggest .nf-links a{border-color:var(--p-primary-border)}
.nf-home{margin-top:32px}
[data-theme="dark"] .nf-code{color:var(--p-primary-ink)}

/* Teil 184: breitere Inhaltsfläche auf großen Bildschirmen (Tims Wunsch: weniger Weißraum links/rechts) */
@media (min-width:1800px){:root{--site-max:1640px}}
/* Teil 184: Footer neu gestaltet – Abschluss-Band mit Handlungsaufforderung, fünf Spalten, ruhigere Typografie */
.site-footer{position:relative;overflow:hidden;background:#0b1120;color:#d4d4d4;padding:0 0 28px;margin-top:64px;border-top:1px solid #1c1c1c}
.site-footer::before{content:"";position:absolute;inset:-40% -10% auto;height:520px;background:radial-gradient(ellipse at 20% 0%,color-mix(in srgb,var(--p-primary) 28%,transparent),transparent 60%),radial-gradient(ellipse at 85% 10%,color-mix(in srgb,var(--p-primary) 20%,transparent),transparent 55%);pointer-events:none;opacity:.55}
.site-footer>.container{position:relative}
.footer-cta{display:flex;align-items:center;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;margin:48px 0 52px;padding:28px 32px;border-radius:var(--p-radius);background:linear-gradient(135deg,color-mix(in srgb,var(--p-primary) 22%,#0a0a0a),color-mix(in srgb,var(--p-primary) 16%,#0a0a0a));border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 50px -24px color-mix(in srgb,var(--p-primary) 60%,transparent)}
.footer-cta-title{margin:0 0 4px;color:#fff;font-size:clamp(1.15rem,1rem + .6vw,1.45rem);font-weight:750;letter-spacing:-.01em;line-height:1.3}
.footer-cta-text{margin:0;color:#c7d0dd;font-size:.9375rem}
.footer-cta-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.footer-cta-actions .btn.primary{box-shadow:0 8px 22px -10px rgba(0,0,0,.6)}
.footer-cta-link{color:#e5e5e5;font-weight:600;font-size:.9375rem;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px}
.footer-cta-link:hover{color:#fff;border-bottom-color:#fff}
.footer-grid{display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(4,minmax(0,1fr));gap:40px 32px;margin-bottom:44px}
.footer-about p{color:#9aa6b8;font-size:.875rem;line-height:1.65;max-width:320px;margin:0 0 14px}
.footer-brand{font-size:1.0625rem;margin-bottom:14px}
.footer-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.footer-trust span{display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#d4d4d4;font-size:.75rem;line-height:1.3}
.footer-col h2,.footer-col h4{color:#e5e5e5;font-size:.75rem;letter-spacing:.9px;margin:0 0 16px}
.footer-col ul{gap:11px}
.footer-col a{color:#9aa6b8;transition:color .15s var(--p-ease)}
.footer-col a:hover,.footer-col a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--p-primary) 70%,white)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:22px;align-items:center;color:#8592a6}
[data-theme="dark"] .site-footer{background:#05070d}
@media(max-width:1100px){.footer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.footer-about{grid-column:1/-1}.footer-about p{max-width:560px}}
@media(max-width:720px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px}.footer-cta{padding:22px 20px;margin:36px 0 40px}.footer-cta-actions{width:100%;flex-direction:column;align-items:stretch;gap:14px}.footer-cta-actions .btn{white-space:nowrap}.footer-cta-link{align-self:center}}
@media(max-width:380px){.footer-grid{grid-template-columns:1fr}}
/* Teil 187: Passt die Menüleiste nicht in eine Zeile (z. B. längere Menütexte in Französisch
   oder Russisch, mehr Menüpunkte), schaltet marketing.js auf das Ausklapp-Menü um –
   auch auf breiten Bildschirmen. Konto-Icon und „Kostenlos starten“ bleiben sichtbar. */
@media(min-width:1025px){
 html.nav-collapsed .site-nav-links{position:fixed;top:68px;left:0;right:0;transform:translateY(-8px);background:var(--p-surface);border-bottom:1px solid var(--p-border);flex-direction:column;align-items:flex-start;padding:16px max(24px,calc((100vw - var(--site-max,1440px))/2 + 24px));gap:16px;opacity:0;pointer-events:none;transition:opacity .15s var(--p-ease),transform .15s var(--p-ease)}
 html.nav-collapsed .site-nav-links.open{opacity:1;pointer-events:auto;transform:translateY(0)}
 html.nav-collapsed .nav-toggle{display:block}
}
/* Teil 695: Handy/Tablet – geschlossenes Menü war unsichtbar (opacity 0), seine Links aber per Tab erreichbar */
@media(max-width:1024px){.site-nav-links:not(.open){visibility:hidden}.site-nav-links{transition:opacity .15s var(--p-ease),transform .15s var(--p-ease),visibility .15s}}
@media(min-width:1025px){html.nav-collapsed .site-nav-links:not(.open){visibility:hidden;transition:none}}

/* Teil 248 – Einheitliche Mega-Menüs in voller Breite (scripts/build-nav.js) */
.site-nav .nav-mm-panel{position:fixed;left:0;right:0;top:68px;transform:none;width:auto;max-width:none;margin:0;border:0;border-top:1px solid var(--p-border);border-bottom:1px solid var(--p-border);border-radius:0;background:var(--p-surface);box-shadow:0 24px 48px -24px rgba(0,0,0,.28);padding:0;z-index:40;max-height:calc(100dvh - 80px);overflow-y:auto;font-size:.9375rem;font-weight:400;text-align:left;animation:mmIn .16s var(--p-ease)}
@keyframes mmIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.nav-mm-inner{max-width:var(--site-max,1440px);margin:0 auto;padding:28px 24px 32px;display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:40px;align-items:start}
.nav-mm-intro{padding-right:8px;border-right:1px solid var(--p-border);min-height:100%}
.nav-mm-kicker{margin:0 0 6px;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--p-primary-ink,var(--p-primary))}
.nav-mm-title{margin:0 0 8px;font-size:1.125rem;font-weight:750;line-height:1.3;color:var(--p-text);padding-right:16px}
.nav-mm-text{margin:0 0 16px;font-size:.875rem;line-height:1.55;color:var(--p-text-muted);padding-right:16px}
.site-nav-links .nav-mm-panel a{padding:0;white-space:normal}
.site-nav-links .nav-mm-panel a::after{display:none}
.site-nav-links a.nav-mm-all,.site-nav-links a.nav-mm-cta{display:inline-flex;gap:6px;font-weight:700;font-size:.875rem;color:var(--p-primary-ink,var(--p-primary))}
.site-nav-links a.nav-mm-all:hover,.site-nav-links a.nav-mm-cta:hover{text-decoration:underline}
.nav-mm-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.site-nav-links a.nav-mm-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--p-border);border-radius:14px;color:var(--p-text);transition:border-color .15s var(--p-ease),background-color .15s var(--p-ease)}
.site-nav-links a.nav-mm-card:hover{border-color:var(--p-primary);background:var(--p-primary-light)}
.nav-mm-card b{display:block;font-size:.875rem;font-weight:700;line-height:1.3}
.nav-mm-card small{display:block;margin-top:3px;font-size:.78rem;line-height:1.4;color:var(--p-text-muted);font-weight:500}
.nav-mm-ico{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:10px;background:var(--p-primary-light);color:var(--p-primary-ink,var(--p-primary))}
.nav-mm-main .nav-mega-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.nav-mm-main .nav-mm-cta{margin-top:16px}
.nav-mm-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 28px}
.nav-mm-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 28px}
.nav-mm-h{margin:0 0 8px;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--p-text-subtle)}
.nav-mm-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.site-nav-links .nav-mm-col a{color:var(--p-text);font-weight:550;font-size:.9rem;line-height:1.35}
.site-nav-links .nav-mm-col a:hover{color:var(--p-primary)}
@media(max-width:1280px){.nav-mm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-mm-main .nav-mega-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-mm-grid4{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Eingeklapptes Menü (Handy / zu schmale Leiste): Mega-Menüs als Akkordeon im Menü */
@media(max-width:1024px){
 .site-nav-links.open{max-height:calc(100dvh - 68px);overflow-y:auto}
 .site-nav-links .nav-mm{width:100%}
 .site-nav .nav-mm-panel{position:static;max-height:none;overflow:visible;border:0;box-shadow:none;background:transparent;animation:none;margin-top:6px}
 .nav-mm-inner{display:block;padding:4px 0 8px 12px;border-left:2px solid var(--p-border)}
 .nav-mm-intro{border:0;padding:0;margin-bottom:12px}
 .nav-mm-title,.nav-mm-text{display:none}
 .nav-mm-kicker{display:none}
 .nav-mm-cards,.nav-mm-grid4,.nav-mm-grid3{grid-template-columns:1fr;gap:14px}
 .site-nav-links a.nav-mm-card{padding:10px;border-radius:10px}
 .nav-mm-card small{display:none}
 .nav-mm-main .nav-mega-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
html.nav-collapsed .site-nav .nav-mm-panel{position:static;max-height:none;overflow:visible;border:0;box-shadow:none;background:transparent;animation:none;margin-top:6px}
html.nav-collapsed .nav-mm-inner{display:block;padding:4px 0 8px 12px}
html.nav-collapsed .nav-mm-intro{border:0;padding:0;margin-bottom:12px}
html.nav-collapsed .nav-mm-title,html.nav-collapsed .nav-mm-text,html.nav-collapsed .nav-mm-kicker{display:none}
html.nav-collapsed .nav-mm-cards,html.nav-collapsed .nav-mm-grid4,html.nav-collapsed .nav-mm-grid3{grid-template-columns:1fr 1fr}
/* Teil 252: Gratis-Tools-Menü mit 9 Karten → 3×3 */
@media(min-width:1025px){html:not(.nav-collapsed) .nav-mm-cards.nav-mm-cards3{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Teil 259: sehr schmale Handys (≤ 360 px) – Logo, Konto-Symbol und Menü-Knopf passten mit 24 px Rand und 16 px
   Abstand nicht in 320 px (345 px nötig); der Menü-Knopf ragte heraus und jede Seite ließ sich quer scrollen. */
@media(max-width:360px){.site-nav-inner{padding:0 14px;gap:10px}}

/* Teil 501: „Cookie-Einstellungen“ in der Fußzeile sieht aus wie die anderen Fußzeilen-Links */
.footer-col .footer-link-btn{background:none;border:0;padding:6px 0;margin:0;line-height:inherit;display:inline-block;font:inherit;font-size:.875rem;color:#9aa6b8;cursor:pointer;text-align:left;transition:color .15s var(--p-ease,ease)}
.footer-col .footer-link-btn:hover,.footer-col .footer-link-btn:focus-visible{color:#fff;text-decoration:underline}
/* Teil 537: Sprungziele in Rechtstexten (#kontaktanfragen, #sentry, #widerruf-dienstleistungen …) nicht unter der festen Kopfleiste verstecken */
.legal-page [id]{scroll-margin-top:96px}

/* Teil 708: Dunkelmodus – sekundäre Knöpfe beim Überfahren nicht hell hinterlegen (Kontrast) */
[data-theme="dark"] .btn:not(.primary):hover{background:var(--p-bg);border-color:var(--p-border-strong)}

/* Teil 710: Dunkelmodus – Fokusrahmen hatte nur 2,7:1 (Primärfarbe auf fast schwarzem Grund) bzw. 1,1:1 bei den FAQ-Fragen; WCAG verlangt mindestens 3:1 */
[data-theme="dark"] :focus-visible{outline-color:var(--p-primary-ink)!important}
/* Teil 710: Fußzeile ist auch im hellen Modus dunkel – Fokusrahmen dort hell (vorher 2,99:1) */
.site-footer :focus-visible{outline-color:color-mix(in srgb,var(--p-primary) 45%,white)!important}

/* Teil 718 (Tims Wunsch 08.11.): Wortlogo „myjobsuite“ in Textfarbe (CSS-Maske → schwarz, im Dunkelmodus weiß) */
.brand-logo{display:inline-block;flex-shrink:0;height:22px;aspect-ratio:1592/312;background-color:currentColor;-webkit-mask:url(/img/myjobsuite-logo.svg) center/contain no-repeat;mask:url(/img/myjobsuite-logo.svg) center/contain no-repeat;vertical-align:middle}
@media(forced-colors:active){.brand-logo{background-color:CanvasText;forced-color-adjust:none}}
/* White-Label (eigener Name/eigenes Logo): Zeichen + Name statt Wortlogo */
.brand-mark-wl{display:inline-block;width:30px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--p-primary),var(--p-primary));flex-shrink:0;vertical-align:middle}
.brand-wl-name{font-weight:750;letter-spacing:-.3px;margin-left:10px;vertical-align:middle}
/* Zweite Akzentfarbe (Verläufe, Farbflecken) aus der Akzentfarbe abgeleitet: gleicher Ton, leicht gedreht.
   So färbt eine einzige eingestellte Akzentfarbe alles stimmig um; ACCENT_COLOR_2 überschreibt weiterhin. */
.site-brand .brand-logo{height:24px}
.cookie-modal-brand .brand-logo{height:20px}
.site-footer .brand-logo{height:26px}
@media(max-width:700px){.site-brand .brand-logo{height:21px}}

/* Teil 729 (Tims Wunsch): Hell/Dunkel als schlichtes Symbol in der Kopfzeile, links neben dem Konto-Symbol */
.theme-toggle-float.theme-toggle-inline{position:static;width:38px;height:38px;border-radius:999px;border:0;padding:0;background:transparent;color:var(--p-text-muted);box-shadow:none;flex-shrink:0;z-index:auto;transform:none}
.theme-toggle-float.theme-toggle-inline:hover{transform:none;background:color-mix(in srgb,var(--p-text) 7%,transparent);color:var(--p-text)}
.theme-toggle-float.theme-toggle-inline svg{width:20px;height:20px}
.theme-toggle-float.theme-toggle-inline:hover svg{transform:none}
.theme-toggle-float.theme-toggle-inline:focus-visible{outline:2px solid var(--p-accent-text);outline-offset:2px}
.site-nav-inner>.theme-toggle-inline{margin-left:auto}
.site-nav-inner>.theme-toggle-inline+.nav-user-wrap{margin-left:0}
