/* Legal pages + consent — Dark Space Design (wie Landing / Portal) */

.portal-app.legal-entry{padding:0;background:#02050d}
.portal-app.legal-entry:before{opacity:.35}

.legal-shell{
  min-height:100dvh;position:relative;overflow:clip;
  color:#e8f2ff;font-family:var(--font-body,Nunito,system-ui,sans-serif);
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%,#1a3a6e55,transparent 55%),
    linear-gradient(180deg,#02050d 0%,#071526 40%,#0b1e3a 100%);
}
.legal-shell .sn-stars{z-index:0}
.legal-shell > .legal-page{position:relative;z-index:1}

.legal-page{
  max-width:820px;margin:0 auto;
  padding:clamp(20px,4vw,36px) clamp(16px,4vw,32px) 88px;
  color:#e8f2ff;
}
.legal-hero{margin-bottom:22px}
.legal-brand{
  display:inline-block;margin:0 0 18px;
  filter:drop-shadow(0 8px 20px #0008);
}
.legal-brand img{display:block;height:48px;width:auto}
.legal-back{
  display:inline-flex;align-items:center;gap:6px;
  margin-bottom:14px;color:#9fdfff;font-weight:800;text-decoration:none;font-size:14px;
}
.legal-back:hover{color:#fff}
.legal-hero .eyebrow{
  color:#7ef0ff;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;
}
.legal-hero h1{
  margin:.35rem 0 .5rem;font-size:clamp(1.9rem,4.2vw,2.6rem);
  font-family:var(--font-display,Fredoka,system-ui,sans-serif);
  letter-spacing:-.02em;color:#fff;line-height:1.1;
}
.legal-meta{margin:0;color:#9bb4c9;font-size:13px;font-weight:700}

.legal-body{
  padding:clamp(18px,3vw,26px);
  line-height:1.6;font-size:15px;font-weight:600;
  border-radius:22px;
  background:linear-gradient(165deg,#10264aee,#07122af2);
  border:1px solid #7ef0ff38;
  box-shadow:0 20px 60px #000a,inset 0 1px 0 #ffffff10;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  color:#d5e6f7;
}
/* Override globale .card (weiß) */
.legal-body.card,
.legal-page .card.legal-body{
  background:linear-gradient(165deg,#10264aee,#07122af2)!important;
  border:1px solid #7ef0ff38!important;
  box-shadow:0 20px 60px #000a,inset 0 1px 0 #ffffff10!important;
  color:#d5e6f7!important;
  border-radius:22px!important;
}
.legal-body h2{
  margin:1.45em 0 .55em;font-size:1.12rem;color:#fff;
  font-family:var(--font-display,Fredoka,system-ui,sans-serif);
  letter-spacing:-.015em;
}
.legal-body h2:first-child{margin-top:.2em}
.legal-body p,.legal-body li{color:#c7daf0}
.legal-body b,.legal-body strong{color:#fff;font-weight:800}
.legal-body ul{padding-left:1.2em;margin:.4em 0 1em}
.legal-body li{margin:.35em 0}
.legal-body a{color:#7ef0ff;font-weight:800;text-decoration:none}
.legal-body a:hover{color:#fff;text-decoration:underline}
.legal-body em{color:#9bb4c9}

.legal-warn{
  margin:0 0 16px;padding:12px 14px;border-radius:14px;
  background:linear-gradient(135deg,#3a2208ee,#2a1808ee);
  border:1px solid #f0c75e66;color:#ffe7b0;font-size:14px;font-weight:600;
}
.legal-warn b{color:#ffd200}

.legal-table{width:100%;border-collapse:collapse;font-size:13px;margin:10px 0 18px}
.legal-table th,.legal-table td{
  border:1px solid #ffffff18;padding:8px 10px;text-align:left;vertical-align:top;
  background:#06101fcc;
}
.legal-table th{
  color:#9bb4c9;font-size:11px;text-transform:uppercase;letter-spacing:.04em;
  background:#0d1f3ecc;
}
.legal-table td{color:#d5e6f7}
.legal-table code{
  font-size:12px;color:#9ff4ff;background:#2ec8e01f;
  padding:2px 6px;border-radius:6px;
}

.legal-nav{
  display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:22px;padding-top:16px;
  border-top:1px solid #ffffff1a;
}
.legal-nav a{
  color:#9fdfff;font-weight:800;text-decoration:none;font-size:13px;
  padding:8px 12px;border-radius:999px;border:1px solid #7ef0ff33;
  background:#ffffff08;
}
.legal-nav a:hover{color:#fff;border-color:#7ef0ff88;background:#2ec8e022}

.sn-legal-checks{display:grid;gap:10px;margin-top:4px}
.sn-check{
  display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;
  font-size:13px;font-weight:700;color:#d5e6f7;cursor:pointer;
}
.sn-check input{margin-top:3px;width:16px;height:16px;accent-color:#2ec8e0}
.sn-check a{color:#7ef0ff}

.sn-footer-cols{grid-template-columns:repeat(4,minmax(0,1fr))}
.sn-footer-btn{
  display:block;margin-top:4px;padding:4px 0;border:0;background:none;color:#a9bdd8;
  font:inherit;font-weight:700;font-size:14px;cursor:pointer;text-align:left;
}
.sn-footer-btn:hover{color:#fff}
@media (max-width:900px){.sn-footer-cols{grid-template-columns:1fr 1fr}}

.sn-consent{
  position:fixed;z-index:10050;left:0;right:0;bottom:0;padding:14px;
  background:linear-gradient(180deg,transparent,#04101ccc 30%,#04101cee);
  pointer-events:none;
}
.sn-consent[hidden]{display:none !important}
.sn-consent-card{
  pointer-events:auto;max-width:960px;margin:0 auto;display:grid;
  grid-template-columns:1.5fr auto;gap:16px;align-items:center;
  padding:16px 18px;border-radius:18px;border:1px solid #5ce1ff44;
  background:linear-gradient(165deg,#0d1a2eee,#0a1424f2);
  box-shadow:0 16px 50px #00000088;color:#e8f2ff;
}
.sn-consent-copy h2{margin:0 0 6px;font-size:1.05rem;color:#fff;font-family:var(--font-display,Fredoka,system-ui,sans-serif)}
.sn-consent-copy p{margin:0 0 8px;font-size:13px;line-height:1.45;color:#c5d8eb;font-weight:600}
.sn-consent-links{display:flex;flex-wrap:wrap;gap:12px}
.sn-consent-links a{color:#7ef0ff;font-weight:800;text-decoration:none;font-size:12px}
.sn-consent-links a:hover{color:#fff}
.sn-consent-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
@media (max-width:760px){
  .sn-consent-card{grid-template-columns:1fr}
  .sn-consent-actions{justify-content:stretch}
  .sn-consent-actions .sn-btn{flex:1}
}

.admin-legal-incomplete{
  margin:0 0 14px;padding:12px 14px;border-radius:12px;
  background:#3a1218;border:1px solid #ff7b8a66;color:#ffd6dc;font-size:13px;
}

.portal-legal{
  display:flex;flex-wrap:wrap;gap:10px 14px;justify-content:center;
  padding:16px 12px 28px;font-size:12px;font-weight:800;
}
.portal-legal a,.portal-legal button{
  color:#9bb4c9;background:none;border:0;cursor:pointer;
  font:inherit;font-weight:800;text-decoration:none;padding:0;
}
.portal-legal a:hover,.portal-legal button:hover{color:#fff}
