/* Rechtstexte: Impressum, Datenschutz, AGB. Wird nach style.css eingebunden und nutzt dessen Tokens. */

/* ---------- Grundlagen im hellen Textteil ---------- */
.doc__hero .display-l{overflow-wrap:break-word;hyphens:manual;-webkit-hyphens:manual}
.doc__hero .doc__lead{margin:0;font:400 .82rem/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase}
.doc__body{overflow-wrap:break-word}
.doc__body :focus-visible{outline-color:var(--accent-ink)}
.doc__body strong{color:var(--text-primary);font-weight:600}
.doc__body a{text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--accent-ink)}
.doc__body a:hover{color:var(--accent-ink)}
.doc__body ul,.doc__body ol{margin:0 0 1em;padding-left:1.3em}
.doc__body li{margin:.35em 0;padding-left:.15em}
.doc__body li::marker{color:var(--accent-ink)}
.doc__body .doc__intro{font-size:1.12rem;color:var(--text-primary);margin-bottom:clamp(28px,4vw,40px)}
.doc__body .doc__addr{color:var(--text-primary)}

/* ---------- Kurzfassung ---------- */
.doc__kurz{margin:0 0 clamp(40px,6vw,64px);padding:clamp(22px,4vw,36px);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
.doc__body .doc__kurz h2{margin:0 0 .8em}
.doc__kurz ul{list-style:none;padding:0;margin:0}
.doc__kurz li{position:relative;padding-left:1.35em;margin:.7em 0}
.doc__kurz li::before{content:"";position:absolute;left:0;top:.78em;width:.7em;height:2px;border-radius:1px;background:var(--accent)}
.doc__achtung{margin-top:1.6em;padding-top:1.3em;border-top:1px dashed var(--line)}
.doc__body .doc__achtung h3{margin:0 0 .5em;display:flex;align-items:center;gap:.5em}
.doc__achtung h3::before{content:"";flex:none;width:1.1em;height:1.1em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%237A5716'/%3E%3Crect x='9' y='4.4' width='2' height='7.6' rx='1' fill='%23F5F2EC'/%3E%3Ccircle cx='10' cy='14.9' r='1.25' fill='%23F5F2EC'/%3E%3C/svg%3E") center/contain no-repeat}
.doc__kurz-note{margin:1.4em 0 0;font-size:.92rem}

/* ---------- Inhaltsverzeichnis ---------- */
.doc__toc{margin:0 0 clamp(48px,7vw,72px)}
.doc__body .doc__toc h2{margin:0 0 .6em;font:400 .78rem/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
.doc__toc ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.doc__toc li{margin:0;padding:0;break-inside:avoid}
.doc__toc a{display:flex;align-items:baseline;gap:.8em;min-height:44px;padding:.62em 0;border-bottom:1px solid var(--line);color:var(--text-primary);text-decoration:none;line-height:1.35;transition:color .25s var(--ease-out)}
.doc__toc a:hover{color:var(--accent-ink)}
.doc__toc-nr{flex:none;min-width:2.2ch;font:500 .8rem/1 var(--f-mono);color:var(--accent-ink);font-variant-numeric:tabular-nums}
@media (min-width:720px){
  .doc__toc ol{columns:2;column-gap:40px}
}

/* ---------- Abschnitte und Ziffern ---------- */
.ziff + .ziff{margin-top:2.6rem;border-top:1px solid var(--line)}
.doc__body .ziff>h2{display:flex;align-items:baseline;gap:.55em;margin:1.6em 0 .7em}
.doc__body .ziff:first-of-type>h2,.doc__toc + .ziff>h2{margin-top:0}
.ziff__nr{flex:none;font:500 .62em/1 var(--f-mono);color:var(--accent-ink);letter-spacing:.02em;transform:translateY(-.12em)}
.ziff__p{margin:0 0 1.15em;border-radius:6px;scroll-margin-top:14px}
.ziff__p>p{margin:0 0 .6em}
.ziff__p>:last-child{margin-bottom:0}
.ziff__no{font:500 .8rem/1 var(--f-mono);color:var(--accent-ink);margin-right:.5em;letter-spacing:.02em;white-space:nowrap;font-variant-numeric:tabular-nums}
.ziff__p:target{background:var(--accent-muted);box-shadow:0 0 0 10px var(--accent-muted)}
.doc__body .ziff h3{margin-top:1.5em}

/* ---------- Tabellen: bei schmalem Bildschirm scrollt nur die Tabelle ---------- */
.doc__table{max-width:100%;margin:1.1em 0 1.6em;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:10px;
  background:
    linear-gradient(90deg,var(--panel) 30%,rgba(245,242,236,0)) left center/40px 100% no-repeat local,
    linear-gradient(270deg,var(--panel) 30%,rgba(245,242,236,0)) right center/40px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%,rgba(22,26,32,.18),rgba(22,26,32,0)) left center/12px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%,rgba(22,26,32,.18),rgba(22,26,32,0)) right center/12px 100% no-repeat scroll,
    var(--panel)}
.doc__table:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}
.doc__table table{width:100%;border-collapse:collapse;font-size:.93rem;line-height:1.5}
.doc__table--wide table{min-width:40rem}
.doc__table th,.doc__table td{padding:.72em .9em;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.doc__table tbody tr:last-child>*{border-bottom:0}
.doc__table thead th{font:500 .72rem/1.3 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap}
.doc__table tbody th{font-weight:600;color:var(--text-primary);min-width:11em}
.doc__table td{color:var(--text-secondary)}

/* ---------- Angaben im Impressum ---------- */
.doc__facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.55em 1.6em;margin:1.2em 0 0;max-width:68ch}
.doc__facts dt{font:400 .74rem/1.9 var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary)}
.doc__facts dd{margin:0;color:var(--text-primary)}
.doc__facts dd a{position:relative}
.doc__facts dd a::after{content:"";position:absolute;inset:-11px -4px}   /* Tippfläche 44 px, ohne sichtbare Änderung */
@media (max-width:480px){
  .doc__facts{grid-template-columns:minmax(0,1fr);gap:0}
  .doc__facts dd{margin-bottom:.8em}
}

/* ---------- Handy ---------- */
@media (max-width:720px){
  .doc__body p,.doc__body li,.doc__table td,.doc__table th{hyphens:auto;-webkit-hyphens:auto}
  .doc__body .ziff>h2{font-size:1.32rem}
  .doc__table tbody th{min-width:9em}
}

/* ---------- Druck (AGB als PDF speichern) ---------- */
@media print{
  .skip,.site-header,.site-footer,.doc__toc,.mbar,.cc{display:none!important}
  html,body,.doc__body{background:#fff!important;color:#000!important}
  .doc__hero{padding:0 0 12pt;color:#000!important}
  .doc__hero .kicker,.doc__hero .doc__lead{color:#333!important}
  .doc__body{padding:0}
  .doc__body p,.doc__body li,.doc__table td,.doc__facts dt{color:#000!important}
  .doc__kurz{background:none;border:1px solid #999;break-inside:avoid}
  .doc__table{overflow:visible;background:none;border-color:#999}
  .doc__table--wide table{min-width:0}
  .ziff__p,.doc__table tr{break-inside:avoid}
  .ziff__p:target{background:none;box-shadow:none}
  .doc__body a{color:#000;text-decoration:none}
  .ph{outline:none}
}
