/* TCG Keeper — gemeinsames Stylesheet, Teil 21: Name & Rechtliches
   (26.10.2026, Logbuch-Eintrag 167). Fußzeile mit Impressum/Datenschutz und
   Fan-Hinweis, Impressum-/Datenschutz-Seite, Demo-Kopf mit Name + Unterzeile,
   Reiter „Name & Rechtliches“ im Kontrollzentrum. Nur Farbvariablen aus Teil 1. */

/* ---- Fußzeile aller Seiten ---- */
.pc-site-foot{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px 14px;
  margin:36px auto 18px; padding:14px 16px 0; border-top:1px solid var(--line);
  font-size:12px; color:var(--ink-faint); text-align:center; line-height:1.5;
}
.pc-site-foot-name{ font-weight:650; color:var(--ink-soft); white-space:nowrap; }
.pc-site-foot-links{ display:inline-flex; flex-wrap:wrap; gap:4px 8px; align-items:center; }
.pc-site-foot-links a{ color:var(--ink-soft); text-decoration:none; white-space:nowrap; }
.pc-site-foot-links a:hover{ color:var(--accent); }
.pc-site-foot-fan{ flex:1 1 100%; font-size:11px; max-width:760px; margin:0 auto; }
.auth-page .pc-site-foot{
  max-width:420px; border:0; margin:0 auto 24px; padding:10px 16px; border-radius:12px; color:var(--ink-soft);
  background:color-mix(in srgb, var(--paper-raised) 86%, transparent); box-shadow:var(--shadow);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}
.auth-page .pc-site-foot-fan{ color:var(--ink-soft); }
@media print{ .pc-site-foot{ display:none; } }

/* ---- Impressum / Datenschutz ---- */
.pc-legal{ max-width:820px; margin:40px auto; padding:0 16px; }
.pc-legal-box{ padding:28px 30px !important; }
.pc-legal-brand{ display:inline-flex; align-items:center; gap:8px; font-weight:700; color:var(--ink-soft); text-decoration:none; margin-bottom:6px; }
.pc-legal-brand:hover{ color:var(--accent); }
.pc-legal-logo{ width:26px; height:26px; object-fit:contain; }
.pc-legal h1{ font-size:24px; margin:4px 0 14px; }
.pc-legal-text{ line-height:1.65; font-size:14.5px; color:var(--ink); overflow-wrap:anywhere; }
.pc-legal-text h2{ font-size:17px; margin:22px 0 6px; }
.pc-legal-text h3{ font-size:15px; margin:16px 0 4px; }
.pc-legal-text p{ margin:0 0 10px; }
.pc-legal-text ul{ margin:0 0 10px; padding-left:20px; }
.pc-legal-text li{ margin:0 0 4px; }
.pc-legal-back{ margin:22px 0 0; font-size:13px; }
.pc-legal .notice-box{ margin-bottom:14px; }
@media (max-width:640px){
  .pc-legal{ margin:18px auto; }
  .pc-legal-box{ padding:20px 16px !important; }
  .pc-legal h1{ font-size:21px; }
}

/* ---- Demo-Seite: Name als Überschrift, darunter Unterzeile, dann Willkommen ---- */
.dm-landing .auth-logo{ display:block; width:var(--logo-size-auth); height:var(--logo-size-auth); margin:0 auto 10px; object-fit:contain; }
.dm-landing h1.dm-brand{ text-align:center; font-size:24px; margin:4px 0 2px; }
.dm-landing .dm-brand-credit{ text-align:center; font-size:11px; font-weight:500; color:var(--ink-faint); letter-spacing:.02em; margin-bottom:14px; }
.dm-landing h2.dm-welcome{ margin:8px 0 8px; font-size:21px; }

/* ---- Kontrollzentrum: Reiter „Name & Rechtliches“ ---- */
.si-form{ display:flex; flex-direction:column; gap:16px; }
.si-form .si-savebar{ margin:0; }
.si-form.is-dirty .si-savebar{ border-color:var(--accent); box-shadow:0 0 0 1px var(--accent), var(--shadow); }
.si-form.is-dirty .si-save-state{ color:var(--accent); font-weight:600; }
.si-save-state{ font-size:13px; color:var(--ink-soft); }
.si-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:16px; }
.si-sec{ display:flex; flex-direction:column; gap:12px; margin:0; scroll-margin-top:90px; }
.si-sec h3{ margin:0; font-size:16px; }
.si-field{ display:flex; flex-direction:column; gap:6px; }
.si-field label{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:14px; }
.si-switches{ display:flex; flex-direction:column; gap:8px; }
.si-switch{ display:flex; gap:10px; align-items:flex-start; padding:9px 12px; border:1px solid var(--line); border-radius:10px; background:var(--paper); cursor:pointer; }
.si-switch input[type=checkbox]{ margin-top:3px; width:17px; height:17px; flex:0 0 auto; accent-color:var(--accent); }
.si-switch span{ display:flex; flex-direction:column; gap:2px; font-size:13.5px; }
.si-switch small{ color:var(--ink-soft); font-size:12px; line-height:1.4; }
.si-switch:has(input:checked){ border-color:var(--accent); background:var(--accent-soft); }
.si-preview{ display:flex; flex-direction:column; align-items:center; gap:2px; padding:16px; border:1px dashed var(--line); border-radius:12px; background:var(--paper-sunken); text-align:center; }
.si-preview-label{ font-size:11px; color:var(--ink-faint); align-self:flex-start; margin-bottom:6px; }
.si-preview img{ width:44px; height:44px; object-fit:contain; margin-bottom:4px; }
.si-preview strong{ font-size:20px; }
.si-preview small{ font-size:11px; color:var(--ink-faint); letter-spacing:.02em; min-height:1em; }
.si-legal-head{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; }
.si-legal-text{ font-family:var(--font-mono); font-size:13px; line-height:1.55; min-height:260px; resize:vertical; }
.si-disclaimer{ margin:0; }
@media (max-width:640px){
  .si-grid{ grid-template-columns:1fr; }
  .si-legal-head .btn{ flex:1 1 auto; justify-content:center; }
}
