/* Vertrag zur Auftragsverarbeitung — öffentliche Seite (avv.php) und Kundenbereich (konto/avv.php) */
.avv-text{max-width:860px}
.avv-text .avv-titel{font-size:clamp(22px,2.8vw,30px);letter-spacing:-.03em;line-height:1.2;margin:0;font-weight:800;text-wrap:balance}
.avv-text .avv-fassung{font-family:"Roboto Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--grau);margin:10px 0 22px}
.avv-text h3{font-size:19px;letter-spacing:-.01em;margin:38px 0 8px;font-weight:800}
.avv-text p,.avv-text li{font-size:16.5px;line-height:1.62;color:#2d2924;max-width:72ch}
.avv-text p{margin:12px 0 0}
.avv-text ol,.avv-text ul{margin:12px 0 0;padding-left:24px}
.avv-text li{margin:8px 0}
.avv-text .avv-partei{margin-left:16px;padding-left:14px;border-left:3px solid var(--linie)}
.avv-text .avv-luecke{color:var(--grau);letter-spacing:.08em}
.avv-text .avv-hinweis{font-size:14.5px;color:var(--grau)}
.avv-tabelle{overflow-x:auto;margin:16px 0 0;border:1px solid var(--linie);border-radius:14px;background:#fff}
.avv-tabelle table{border-collapse:collapse;width:100%;min-width:620px;font-size:14.5px;line-height:1.5}
.avv-tabelle th,.avv-tabelle td{padding:11px 14px;text-align:left;vertical-align:top;border-top:1px solid var(--linie)}
.avv-tabelle thead th{border-top:0;font-family:"Roboto Mono",ui-monospace,monospace;font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--grau);font-weight:500;background:var(--papier)}
.avv-tabelle td:first-child{font-weight:600;width:22%}

/* Kundenbereich */
.avv-blatt{padding:6px 0 10px}
.avv-blatt .avv-text{background:#fff;border:1px solid var(--linie);border-radius:20px;padding:30px 34px}
.avv-stand h2,.avv-form h2{margin:0 0 6px;font-size:22px}
.avv-stand p,.avv-form p{margin:0 0 16px;color:var(--grau)}
.avv-stand.gut{--f:var(--gruen)}
.avv-stand.neu{--f:var(--gelb)}
.avv-form{--f:var(--blau);max-width:860px}
.avv-haken{display:flex;gap:12px;align-items:flex-start;margin:22px 0 18px;font-size:15.5px;line-height:1.5;cursor:pointer}
.avv-haken input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--tinte)}
.avv-form .btn[disabled]{opacity:.45;cursor:not-allowed}

/* Öffentliche Seite */
.avv-weg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:26px 0 8px;max-width:860px}
.avv-weg div{background:#fff;border:1px solid var(--linie);border-radius:16px;padding:16px 18px}
.avv-weg b{display:block;font-size:16px;margin-bottom:4px}
.avv-weg span{font-size:14.5px;color:var(--grau);line-height:1.5}

@media (max-width:720px){
  .avv-blatt .avv-text{padding:20px 18px;border-radius:16px}
  .avv-weg{grid-template-columns:1fr}
  .avv-text p,.avv-text li{font-size:16px}
}
@media print{
  header,footer,nav,.kansicht,.avv-form,.avv-stand,.avv-weg,.kkopf{display:none!important}
  .avv-blatt .avv-text{border:0;padding:0}
}
