/* GETALWIN Legal v2 - ruhige, gut lesbare Rechtstexte.
   Keine Animationen, kein Glow, max. ~72ch Zeilenlaenge. */
.legal-main{padding:clamp(40px,6vw,80px) 24px 60px}
.legal-wrap{max-width:72ch;margin:0 auto}
.legal-wrap h1{font-family:var(--sg);font-size:clamp(28px,3.6vw,42px);font-weight:600;
  letter-spacing:-.02em;color:var(--ink);margin-top:10px}
.legal-stand{margin-top:10px;font-family:var(--mono);font-size:12px;color:var(--mut-3)}
.legal-stand-foot{margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
.legal-stand a{color:var(--teal)}
.legal-print{background:none;border:none;padding:0;font:inherit;color:var(--teal);
  cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.lead-like{margin-top:14px;font-size:clamp(15px,1.4vw,18px);line-height:1.65;color:var(--mut)}
.legal-toc{margin-top:26px;padding:24px 28px;border:1px solid rgba(255,255,255,.16);
  border-radius:14px;background:rgba(255,255,255,.045)}
.legal-toc-plain ol{list-style:none;padding-left:2px}
.legal-toc b{font-family:var(--sg);font-size:13.5px;letter-spacing:.02em;color:var(--ink-soft)}
.legal-toc ol{margin:10px 0 0;padding-left:20px;columns:2;column-gap:28px}
.legal-toc li{font-size:13.5px;line-height:1.75;break-inside:avoid}
.legal-toc a{color:var(--mut);text-decoration:none}
.legal-toc a:hover{color:var(--teal)}
.legal-body{margin-top:30px}
.legal-body h2{font-family:var(--sg);font-size:clamp(19px,1.9vw,23px);font-weight:600;
  letter-spacing:-.012em;color:var(--ink);margin:38px 0 0;scroll-margin-top:90px}
.legal-body h3{font-family:var(--sg);font-size:16.5px;font-weight:600;color:var(--ink-soft);
  margin:26px 0 0;scroll-margin-top:90px}
.legal-body h4{font-size:14.5px;font-weight:600;color:var(--ink-soft);margin:20px 0 0}
.legal-body p{margin:12px 0 0;font-size:15px;line-height:1.7;color:var(--mut)}
.legal-body li{margin:6px 0 0;font-size:15px;line-height:1.65;color:var(--mut)}
.legal-body ul,.legal-body ol{margin:12px 0 0;padding-left:22px}
.legal-body a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:rgba(77,224,199,.35)}
.legal-body strong{color:var(--ink-soft)}
.legal-body code{font-family:var(--mono);font-size:.9em;color:var(--teal);
  background:rgba(77,224,199,.08);padding:1px 5px;border-radius:5px}
.legal-body blockquote{margin:14px 0 0;padding:12px 18px;border-left:2px solid rgba(77,224,199,.5);
  background:rgba(255,255,255,.02);border-radius:0 10px 10px 0}
.legal-body blockquote p{margin:0;color:var(--ink-soft)}
.legal-tablewrap{margin:16px 0 0;overflow-x:auto;border:1px solid rgba(255,255,255,.1);border-radius:12px}
.legal-body table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.5}
.legal-body th{text-align:left;font-family:var(--sg);font-weight:600;color:var(--ink-soft);
  padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03)}
.legal-body td{padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.06);color:var(--mut);vertical-align:top}
.legal-body tr:last-child td{border-bottom:none}
/* Hub */
.legal-hub{margin-top:30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.legal-hub section{border:1px solid rgba(255,255,255,.1);border-radius:14px;
  background:rgba(255,255,255,.02);padding:20px}
.legal-hub h2{font-family:var(--sg);font-size:15px;font-weight:600;color:var(--ink);margin:0 0 10px}
.legal-hub a{display:block;padding:6px 0;font-size:14px;color:var(--mut);text-decoration:none}
.legal-hub a:hover{color:var(--teal)}
.legal-hub-feature strong,.legal-hub-feature span{display:block}
.legal-hub-feature strong{font-family:var(--sg);font-size:15px;color:var(--ink-soft)}
.legal-hub-feature span{margin-top:7px;line-height:1.55}
.legal-back{margin:18px 0 0}
.legal-back a{display:inline-flex;align-items:center;min-height:44px;color:var(--teal);
  font-size:14px;text-decoration:none}
.legal-back a:hover{text-decoration:underline;text-underline-offset:3px}
.legal-related{margin-top:26px}
.legal-related h2{font-family:var(--sg);font-size:15px;font-weight:600;color:var(--ink);
  margin:0 0 12px}
.legal-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.legal-related-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.legal-related-grid a{display:flex;flex-direction:column;min-height:76px;padding:15px 16px;
  border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.02);
  color:var(--mut);text-decoration:none}
.legal-related-grid a:hover{border-color:rgba(77,224,199,.35);color:var(--teal)}
.legal-related-grid strong{font-family:var(--sg);font-size:13.5px;line-height:1.35;color:var(--ink-soft)}
.legal-related-grid span{margin-top:7px;font-size:13px;line-height:1.5}
.legal-cookie-control{display:inline-flex;align-items:center;justify-content:center;min-height:48px;
  margin-top:18px;padding:12px 18px;border:1px solid rgba(77,224,199,.55);border-radius:10px;
  background:var(--teal);color:#07110f;font-family:var(--sg);font-size:14px;font-weight:600;
  cursor:pointer}
.legal-cookie-control:hover{background:#75ead6}
.legal-cookie-control:focus-visible{outline:3px solid rgba(77,224,199,.45);outline-offset:3px}
/* Eigenständiger Hub: sechs ruhige Navigationskarten in 3 × 2. */
.security-hub-wrap{max-width:1080px}
.security-hub-grid{margin-top:30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.security-hub-card{position:relative;display:flex;flex-direction:column;min-height:178px;padding:22px 50px 22px 22px;
  border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.025);
  color:var(--mut);text-decoration:none}
.security-hub-card:hover{border-color:rgba(77,224,199,.36);background:rgba(255,255,255,.04)}
.security-hub-card .card-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--teal)}
.security-hub-card strong{margin-top:13px;font-family:var(--sg);font-size:18px;line-height:1.25;color:var(--ink)}
.security-hub-card .card-copy{margin-top:10px;font-size:14px;line-height:1.55}
.security-hub-card .card-arrow{position:absolute;right:22px;top:50%;transform:translateY(-50%);
  color:var(--teal);font-size:21px}
.security-hub-back{margin-top:28px}
@media screen and (max-width:960px) and (min-width:861px){
  .security-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .legal-related-grid-three{grid-template-columns:1fr}
}
@media screen and (max-width:860px){
  /* ---- Eine Inhaltsachse: die Buehne traegt die Systemkante selbst ---- */
  .legal-main{padding:28px 0 44px}
  .legal-wrap{max-width:none;padding:0 var(--m-pad,20px)}
  .legal-wrap h1{font-size:28px;line-height:1.15}
  .legal-stand{font-size:12.5px;color:#8B94A6}
  .lead-like{font-size:16px;line-height:1.6}

  /* ---- Inhaltsverzeichnis: kompakt, standardmaessig geschlossen ---- */
  .legal-toc{margin-top:22px;padding:0;border:1px solid rgba(255,255,255,.12);
    border-radius:14px;background:rgba(255,255,255,.03)}
  .legal-toc summary{display:flex;align-items:center;gap:5px;min-height:54px;padding:0 16px;
    font-family:var(--sg);font-size:15.5px;color:#EEF1F6;list-style:none;cursor:pointer}
  .legal-toc summary::-webkit-details-marker{display:none}
  .legal-toc summary::after{content:'+';margin-left:auto;color:var(--teal);font-size:18px}
  .legal-toc[open] summary::after{content:'\2013'}
  /* Sehr lange Verzeichnisse scrollen intern, statt die Seite zu fluten */
  .legal-toc ol{columns:1;margin:0;padding:0 16px 8px;max-height:60dvh;
    overflow-y:auto;overscroll-behavior:contain}
  .legal-toc li{list-style:none;font-size:16px;border-top:1px solid rgba(255,255,255,.07)}
  .legal-toc li:first-child{border-top:0}
  .legal-toc a{display:flex;align-items:center;min-height:46px;font-size:15.5px;
    line-height:1.35;color:#C4CBD8}
  /* Navigativer Nummernindex auf nicht-paragrafierten Dokumenten —
     der rechtliche Ueberschriftentext bleibt unveraendert. */
  .toc-num ol{counter-reset:toc}
  .toc-num li{counter-increment:toc}
  .toc-num a::before{content:counter(toc,decimal-leading-zero);
    font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;
    color:#7B8598;margin-right:10px;flex:0 0 auto}

  /* ---- Lesetypografie: 16px / 1.65, klare Hierarchie ---- */
  .legal-body{margin-top:26px;max-width:38ch}
  .legal-body p{font-size:16px;line-height:1.65;margin:14px 0 0;color:#9AA4B6}
  .legal-body li{font-size:16px;line-height:1.6;margin:9px 0 0;color:#9AA4B6}
  .legal-body h2{font-size:21px;line-height:1.3;margin-top:38px;scroll-margin-top:64px}
  .legal-body h3{font-size:17.5px;margin-top:24px;scroll-margin-top:64px}
  .legal-body h4{font-size:15.5px}
  /* Einzug klein halten, damit die Textspalte nicht schrumpft */
  .legal-body ol,.legal-body ul{padding-left:20px}
  .legal-body li ol,.legal-body li ul{padding-left:16px}
  .legal-body a{overflow-wrap:anywhere}

  /* ---- Tabellen: jede Zeile wird ein gestapelter Datensatz ---- */
  .legal-tablewrap{margin:16px 0 0;padding:0;overflow:visible;border:0;border-radius:0}
  .legal-body table{min-width:0;width:100%;display:block;font-size:16px}
  .legal-body caption{display:block;text-align:left;font-family:var(--mono);
    font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#7B8598;
    margin-bottom:4px}
  .legal-body thead{position:absolute;width:1px;height:1px;overflow:hidden;
    clip-path:inset(50%)}   /* fuer Screenreader erhalten, visuell gestapelt */
  .legal-body tbody{display:block}
  .legal-body tr{display:block;border:1px solid rgba(255,255,255,.10);border-radius:12px;
    background:rgba(255,255,255,.02);padding:14px 16px;margin-top:12px}
  .legal-body td{display:block;border:0;padding:10px 0 0;font-size:15.5px;
    line-height:1.55;color:#C4CBD8;white-space:normal}
  .legal-body td:first-child{padding-top:0;color:#EEF1F6;font-weight:600}
  .legal-body td::before{content:attr(data-label);display:block;font-family:var(--mono);
    font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7B8598;
    margin-bottom:3px;font-weight:400}
  .legal-body th{white-space:normal}

  /* ---- Abschlusszeile: Stand + grosse Touchaktionen ---- */
  .legal-stand-foot{margin-top:36px;font-size:13px;line-height:2.1}
  .legal-stand-foot a,.legal-print{display:inline-block;font-size:14.5px;
    padding:12px 6px;margin:-12px -6px}

  /* ---- Hub: kompakte Gruppen statt Monumentalkarten ---- */
  .legal-hub{grid-template-columns:1fr;gap:18px;margin-top:24px}
  .legal-hub section{padding:18px 18px 6px !important;border:1px solid rgba(255,255,255,.10);
    border-radius:14px;background:rgba(255,255,255,.02)}
  /* !important: site.css setzt section h2 per !important auf clamp(27-34px) */
  .legal-hub h2{font-family:var(--sg);font-size:21px !important;font-weight:600;
    letter-spacing:-.01em !important;text-transform:none !important;
    color:#EEF1F6;margin:0 0 4px}
  .legal-hub a{display:flex;align-items:center;min-height:50px;padding:0;
    font-size:16px;color:#DCE1EB;border-top:1px solid rgba(255,255,255,.07)}
  .legal-hub h2 + a{border-top:0}
  .legal-hub a::after{content:'\2192';margin-left:auto;color:var(--teal)}
  .legal-hub-feature{display:grid !important;grid-template-columns:1fr auto;
    align-items:center;padding:12px 0 !important}
  .legal-hub-feature::after{grid-column:2;grid-row:1 / span 2}
  .legal-hub-feature span{grid-column:1;font-size:14px;line-height:1.5;padding-right:12px}
  .legal-related{margin-top:22px}
  .legal-related h2{font-size:17px}
  .legal-related-grid,.legal-related-grid-three{grid-template-columns:1fr}
  .legal-related-grid a{min-height:54px;padding:14px 16px}
  .legal-cookie-control{width:100%;min-height:52px}
  .security-hub-grid{grid-template-columns:1fr;gap:12px;margin-top:24px}
  .security-hub-card{min-height:0;padding:18px 48px 18px 18px}
  .security-hub-card strong{font-size:17px}
  .security-hub-card .card-copy{font-size:15px}
  .security-hub-card .card-arrow{right:18px}
}
@media screen and (min-width:768px) and (max-width:960px){
  .security-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media print{
  @page{ size:A4; margin:18mm 17mm 20mm; }
  /* Chrome der Website druckt nicht mit */
  .hd,.ft,.legal-toc,.legal-print,.legal-related,.legal-back,.legal-cookie-control,#ga-consent,#ga-consent-modal,
  #ga-burger,#ga-menu,#ga-progress,.ga-bg,.ga-rails,.legal-stand-foot a{display:none !important}
  html,body{background:#fff !important;color:#000}
  /* Volle A4-Innenbreite statt der schmalen Bildschirmspalte */
  .legal-main{padding:0 !important;max-width:none !important}
  .legal-wrap{max-width:none !important;margin:0 !important;padding:0 !important}
  .legal-body{max-width:none !important;margin-top:8mm}
  .legal-wrap h1{font-size:20pt;line-height:1.25;color:#000}
  .legal-stand{font-size:9pt;color:#444}
  .legal-body h2{font-size:13.5pt;line-height:1.3;margin-top:9mm;color:#000;
    break-after:avoid-page}
  .legal-body h3{font-size:11.5pt;color:#000;break-after:avoid-page}
  .legal-body h4{font-size:10.5pt;color:#000}
  .legal-body p{font-size:10.5pt;line-height:1.55;color:#111}
  .legal-body li{font-size:10.5pt;line-height:1.5;color:#111}
  .legal-body a{color:#000;text-decoration:underline}
  .legal-body strong,.legal-body th{color:#000}
  .legal-body blockquote{background:none;border-color:#999}
  /* Tabellen drucken tabellarisch — nicht als gestapelte Karten */
  .legal-tablewrap{overflow:visible;border:1px solid #bbb;border-radius:0;margin:4mm 0 0}
  .legal-body table{display:table;width:100%;min-width:0;font-size:9.5pt;line-height:1.4}
  .legal-body thead{display:table-header-group;position:static;width:auto;height:auto;
    overflow:visible;clip-path:none}
  .legal-body tbody{display:table-row-group}
  .legal-body tr{display:table-row;border:0;border-radius:0;background:none;
    padding:0;margin:0;break-inside:avoid}
  .legal-body th{display:table-cell;color:#000;background:#eee;padding:2mm 2.5mm;
    border-bottom:1pt solid #999;white-space:normal}
  .legal-body td{display:table-cell;color:#111;padding:2mm 2.5mm;font-size:9.5pt;
    border-bottom:.5pt solid #ccc}
  .legal-body td::before{content:none}
}
