/* ============================================================
   legal.css — Moderne Dark-Premium-Huelle fuer Impressum &
   Datenschutz. Self-contained (eigene Tokens), stylt die
   bestehenden Klassen der Legal-Templates neu. Rechtstext bleibt.
   ============================================================ */
:root{
  --bg:#050506; --ink:#f4f4f6; --gray-1:#a8a8b3; --gray-2:#6e6e7a; --gray-3:#45454f;
  --glass:rgba(255,255,255,0.035); --glass-2:rgba(255,255,255,0.06);
  --hair:rgba(255,255,255,0.09); --hair-strong:rgba(255,255,255,0.16);
  --inset-hi:inset 0 1px 0 rgba(255,255,255,0.08);
  --emerald:#10b981; --emerald-bright:#34e0a8; --emerald-glow:rgba(16,185,129,0.5);
  --font-display:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-body:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
  --radius:20px; --maxw:1100px; --ease:cubic-bezier(0.32,0.72,0,1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);line-height:1.7;
  -webkit-font-smoothing:antialiased}
a{color:var(--emerald-bright);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--maxw);margin:0 auto;padding:0 28px}

/* ---------- Navbar ---------- */
.navbar{position:sticky;top:0;z-index:50;background:rgba(10,10,13,.72);
  backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);
  border-bottom:1px solid var(--hair)}
.navbar .container{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px}
.nav-brand a{font-family:var(--font-display);font-weight:700;font-size:1.3rem;letter-spacing:-.02em;color:#fff}
.nav-brand sup,.ai-badge{font-size:.5em;color:var(--emerald);vertical-align:super;margin-left:1px;font-weight:600}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a{color:var(--gray-1);font-size:.9rem;font-weight:500}
.nav-links a:hover{color:var(--ink);text-decoration:none}
.nav-links a.active{color:var(--emerald-bright)}
@media(max-width:640px){.nav-links{gap:16px;font-size:.82rem}.nav-links a{font-size:.82rem}}

/* ---------- Atmosphaere ---------- */
body::before{content:"";position:fixed;top:-200px;right:-150px;width:640px;height:640px;z-index:0;pointer-events:none;
  background:radial-gradient(circle,rgba(16,185,129,.14),transparent 70%);filter:blur(150px)}

/* ---------- Section + Hero ---------- */
.impressum-section{position:relative;z-index:1;padding:clamp(56px,9vw,110px) 0 100px}
.impressum-content{max-width:860px;margin:0 auto}
.impressum-hero{margin-bottom:clamp(40px,6vw,64px)}
.impressum-hero h1{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;line-height:1.05;
  font-size:clamp(2.4rem,6vw,3.6rem);color:#fff}
.impressum-subtitle{margin-top:14px;color:var(--gray-1);font-size:1.1rem;font-weight:300}

/* ---------- Cards ---------- */
.impressum-card{position:relative;background:var(--glass);border:1px solid var(--hair);box-shadow:var(--inset-hi);
  border-radius:var(--radius);padding:clamp(28px,4vw,42px);margin-bottom:24px}
.impressum-card h2{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;
  font-size:clamp(1.4rem,2.4vw,1.85rem);color:var(--ink);margin-bottom:24px}
.impressum-card h3{font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--ink);margin:24px 0 10px}
.impressum-card h4{font-family:var(--font-display);font-weight:600;font-size:1.02rem;color:var(--ink);margin:18px 0 8px}
.impressum-card p{color:var(--gray-1);font-weight:300;margin-bottom:14px}
.impressum-card ul,.impressum-card ol{color:var(--gray-1);font-weight:300;margin:0 0 14px 22px}
.impressum-card li{margin-bottom:7px}
.impressum-card strong,.impressum-card b{color:var(--ink);font-weight:600}
.card-icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;margin-bottom:20px;
  color:var(--emerald);background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.22)}
.card-icon svg{width:26px;height:26px}

/* ---------- Info-Grid ---------- */
.info-grid-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.info-box{padding:20px 22px;border-radius:14px;background:var(--glass);border:1px solid var(--hair)}
.info-label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gray-2);margin-bottom:9px}
.info-value{color:var(--ink);font-size:.98rem;line-height:1.5}
.email-link{display:inline-flex;align-items:center;gap:8px;color:var(--emerald-bright)}
.email-link svg{width:16px;height:16px}

/* ---------- Disclaimer ---------- */
.disclaimer-section{display:grid;gap:20px}
.disclaimer-item{padding-left:18px;border-left:2px solid rgba(16,185,129,.4)}
.disclaimer-item h4{margin-top:0}

/* ---------- Buttons / Back ---------- */
.back-link,.btn-secondary,.cookie-settings-trigger{display:inline-flex;align-items:center;gap:8px;
  padding:11px 20px;border-radius:999px;border:1px solid var(--hair-strong);background:var(--glass);
  color:var(--ink);font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color .3s,background .3s}
.back-link:hover,.btn-secondary:hover,.cookie-settings-trigger:hover{border-color:var(--emerald);background:var(--glass-2);text-decoration:none}

/* ---------- Footer ---------- */
.footer{position:relative;z-index:1;border-top:1px solid var(--hair);padding:54px 0 40px;margin-top:40px}
.footer-content{display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between}
.footer-brand,.footer-logo{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:#fff}
.footer-links{display:flex;gap:22px;flex-wrap:wrap}
.footer-links a{color:var(--gray-2);font-size:.9rem}
.footer-links a:hover{color:var(--ink);text-decoration:none}
.footer-bottom{margin-top:26px;padding-top:22px;border-top:1px solid var(--hair);color:var(--gray-2);font-size:.84rem}
