/* ════════════════════════════════════════════════════════════════
   legal.css — geteiltes Stylesheet für die Rechtsseiten von ResellRadar
   (Impressum, Datenschutz, AGB, Widerruf)
   Übernimmt 1:1 das Dark-SaaS-Design-System der Hauptseite (index.html):
   Inter-Font, dezenter Marken-Glow, feine Ränder, weiche Radien — ohne
   Tailwind. Klassennamen (.cyber-panel/.cyber-clip) sind historisch und
   heute nur noch neutrale, abgerundete Container.
   ════════════════════════════════════════════════════════════════ */

:root {
  /* Marken-Akzente – identisch zur Hauptseite */
  --brand:   #2f6bff;   /* Primär-Blau */
  --brand-2: #16c8cf;   /* Cyan-Begleiter */
  --accent:  #16c8cf;
  --accent-rgb: 22,200,207; /* = --accent als RGB, für rgba(var(--accent-rgb), α) */
  --success: #34d399;
  --money:   #4ade80;
  --warning: #f5a623;
  --danger:  #f43f5e;
  /* Flächen – Dark, raffiniert (Linear/Vercel-Stil) */
  --bg:        #0a0c12;
  --bg-elev:   #0e1119;
  --surface:   #141824;
  --surface-2: #1b2030;
  --border:        rgba(255,255,255,0.08);
  --border-strong: rgba(255,255,255,0.15);
  /* Text */
  --text-hi:  #f3f5fb;
  --text-mid: #aab2c4;
  --text-low: #717a8c;
  /* Radius / Schatten / Fokus */
  --radius:    14px;
  --radius-sm: 9px;
  --shadow:    0 4px 24px rgba(0,0,0,0.45);
  --ring: rgba(47,107,255,0.55);
}

* { -webkit-tap-highlight-color: transparent; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  background: var(--bg);
  min-height: 100vh;
  color: var(--text-mid);
  position: relative;
  overflow-x: hidden;
  line-height: 1.65;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  letter-spacing: -0.011em;
}

/* Dezenter Marken-Glow oben (identisch zur Hauptseite, ersetzt Cyber-Grid) */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background:
    radial-gradient(58% 44% at 50% -8%, rgba(47,107,255,0.16), transparent 72%),
    radial-gradient(40% 36% at 86% 2%, rgba(var(--accent-rgb),0.10), transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.font-cyber { font-family: 'Inter', sans-serif; letter-spacing: -0.02em; }

/* Karten-Panel: Standard-Container (dunkle Fläche + feiner Rand + weicher Radius) */
.cyber-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  position: relative;
}
/* .cyber-clip: Alt-Klassenname — heute nur noch ein einheitlicher Eck-Radius */
.cyber-clip { clip-path: none; border-radius: var(--radius); }

/* ── Layout ── */
.wrap { position: relative; z-index: 2; max-width: 880px; margin: 0 auto; padding: 0 1rem; }

.site-header {
  position: sticky; top: 0; z-index: 30;
  border-bottom: 1px solid var(--border);
  background: rgba(10,12,18,0.82);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.site-header .inner {
  max-width: 880px; margin: 0 auto; padding: 0.75rem 1rem;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.logo { display: flex; align-items: center; gap: 0.65rem; text-decoration: none; }
.logo .mark {
  width: 40px; height: 40px; border-radius: var(--radius-sm);
  border: 1px solid rgba(255,255,255,0.12);
  background: radial-gradient(circle at 50% 50%, #141824, #0a0c12);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.logo .mark svg { width: 100%; height: 100%; display: block; }
.logo .name {
  font-family: 'Inter', sans-serif; font-weight: 900; font-size: 1.15rem;
  letter-spacing: -0.02em; color: #fff;
}
.logo .name span { color: var(--accent); }

/* Radar-Sweep im Logo (wie Hauptseite) */
.radar-sweep { transform-origin: 22px 22px; animation: radarSweep 3.12s linear infinite; }
@keyframes radarSweep { to { transform: rotate(360deg); } }

.back-link {
  font-family: 'Inter', sans-serif; font-size: 0.85rem; font-weight: 600;
  letter-spacing: 0; text-transform: none;
  color: var(--text-hi); text-decoration: none;
  border: 1px solid var(--border-strong); border-radius: var(--radius-sm);
  padding: 0.5rem 0.9rem; white-space: nowrap;
  transition: background 0.18s ease, border-color 0.18s ease;
}
.back-link:hover { background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.28); }

/* ── Inhalt ── */
main.wrap { padding-top: 2rem; padding-bottom: 3rem; }

.doc { padding: 2rem clamp(1.1rem, 4vw, 2.75rem); }

.doc h1 {
  font-family: 'Inter', sans-serif; font-weight: 800;
  font-size: clamp(1.6rem, 4vw, 2.15rem); letter-spacing: -0.02em;
  color: var(--text-hi); margin: 0 0 0.4rem;
}
.doc .subtitle { color: var(--text-low); font-size: 0.95rem; margin: 0 0 1.75rem; }

.doc h2 {
  font-family: 'Inter', sans-serif; font-weight: 700;
  font-size: 1.2rem; letter-spacing: -0.01em;
  color: var(--text-hi); margin: 2rem 0 0.6rem;
  padding-bottom: 0.4rem; border-bottom: 1px solid var(--border);
}
.doc h3 { font-weight: 600; font-size: 1rem; color: var(--text-hi); margin: 1.3rem 0 0.4rem; }

.doc p { margin: 0 0 0.9rem; }
.doc ul, .doc ol { margin: 0 0 0.95rem; padding-left: 1.4rem; }
.doc li { margin-bottom: 0.4rem; }
.doc a {
  color: var(--accent); text-decoration: underline;
  text-underline-offset: 2px; text-decoration-color: rgba(var(--accent-rgb),0.5);
  transition: text-decoration-color 0.15s ease;
}
.doc a:hover { text-decoration-color: var(--accent); }
.doc strong { color: var(--text-hi); font-weight: 600; }

.doc table { width: 100%; border-collapse: collapse; margin: 0.5rem 0 1.2rem; font-size: 0.92rem; }
.doc th, .doc td {
  text-align: left; padding: 0.6rem 0.75rem;
  border: 1px solid var(--border); vertical-align: top;
}
.doc th { background: rgba(255,255,255,0.03); color: var(--text-hi); font-weight: 600; }

/* Platzhalter-Markierung — fällt visuell auf, damit nichts vergessen wird */
.ph {
  background: rgba(245,166,35,0.14);
  color: var(--warning);
  border: 1px dashed rgba(245,166,35,0.5);
  border-radius: 4px; padding: 0.05rem 0.4rem;
  font-weight: 600; font-size: 0.92em;
}

/* Hinweis-Box (Entwurf / rechtliche Prüfung) */
.notice {
  margin: 0 0 1.75rem;
  padding: 0.9rem 1.1rem;
  background: rgba(244,63,94,0.08);
  border: 1px solid rgba(244,63,94,0.28);
  border-left: 3px solid var(--danger);
  border-radius: var(--radius-sm);
  font-size: 0.9rem; color: var(--text-mid);
}
.notice strong { color: #ff8095; }

.notice.info {
  background: rgba(var(--accent-rgb),0.07);
  border-color: rgba(var(--accent-rgb),0.3);
  border-left-color: var(--accent);
}
.notice.info strong { color: var(--accent); }

/* ── Footer ── */
.site-footer {
  position: relative; z-index: 2;
  border-top: 1px solid var(--border);
  margin-top: 3rem;
}
.site-footer .inner {
  max-width: 880px; margin: 0 auto; padding: 1.75rem 1rem;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.8rem;
  font-size: 0.85rem; color: var(--text-low);
}
.site-footer nav { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; }
.site-footer a {
  color: var(--text-mid); text-decoration: none;
  font-family: 'Inter', sans-serif; font-size: 0.85rem; font-weight: 500;
  letter-spacing: 0; text-transform: none;
  transition: color 0.15s ease;
}
.site-footer a:hover { color: var(--text-hi); }
