/* ══════════════════════════════════════════════════════════════════════
   Fiber Partner – Master-Template CSS
   Gemeinsame vp-* Dokumentklassen für alle Verträge.
   EINGEFROREN – Keine Änderungen ohne Freigabe.
   Eingebunden in: Vertriebspartner.html, Provision.html
══════════════════════════════════════════════════════════════════════ */

.vp-doc { max-width: 794px; margin: 0 auto; background: white; box-shadow: 0 8px 48px rgba(0,0,0,.4), 0 2px 8px rgba(0,0,0,.2); border-radius: 6px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 10.5pt; line-height: 1.55; color: #1c2d3e; overflow: hidden; }
.vp-lh { background: #17304d; padding: 10px 83px 9px 98px; width: 100%; }
.vp-lh-top { display: flex; align-items: baseline; gap: 10px; flex-wrap: nowrap; }
.vp-lh-company { color: #fff; font-weight: 700; font-size: 9.5pt; letter-spacing: -.1px; white-space: nowrap; }
.vp-lh-doctype { color: rgba(255,255,255,.55); font-size: 7.5pt; letter-spacing: .5px; text-transform: uppercase; font-weight: 400; white-space: nowrap; }
.vp-lh-page { color: rgba(255,255,255,.6); font-size: 7.5pt; margin-left: auto; white-space: nowrap; }
.vp-lh-addr { color: rgba(255,255,255,.45); font-size: 7.5pt; margin-top: 3px; }
.vp-title-block { padding: 36px 83px 0 98px; }
.vp-title { font-size: 18pt; font-weight: 800; color: #17304d; letter-spacing: -.3px; margin-bottom: 4px; }
.vp-subtitle { font-size: 10pt; font-style: normal; color: #4a6070; margin-bottom: 16px; }
.vp-title-rule { border: none; border-top: 1.5px solid #c8d8e6; margin: 0; }
.vp-body { padding: 28px 83px 44px 98px; }
.vp-parteien { width: 100%; border-collapse: collapse; margin: 22px 0 14px; font-size: 10pt; }
.vp-parteien td { border: 1px solid #a8bdd0; padding: 12px 16px; vertical-align: top; width: 50%; }
.vp-p-heading { font-size: 8pt; font-weight: 700; text-transform: uppercase; color: #4a6070; letter-spacing: .8px; margin-bottom: 6px; }
.vp-p-name { font-weight: 700; color: #17304d; font-size: 11pt; margin-bottom: 4px; white-space: nowrap; }
.vp-p-detail { font-size: 9.5pt; line-height: 1.5; color: #4a6070; margin-bottom: 6px; }
.vp-p-sub { font-size: 8.5pt; font-style: italic; color: #4a6070; }
.vp-p-rows { width:100%; border-collapse:collapse; margin:6px 0 12px; }
.vp-p-rows tr { border-bottom:none; }
.vp-p-rows td { border:none; }
.vp-p-rows .lbl { font-size:8.5pt; color:#4a6070; padding:3px 10px 3px 0; white-space:nowrap; vertical-align:middle; width:76px; }
.vp-p-rows .val { font-size:9pt; color:#1c2d3e; padding:3px 0; vertical-align:middle; }
.vp-p-rows .val-line { display:inline-block; border-bottom:1px solid #a8bdd0; min-width:140px; height:1em; vertical-align:bottom; }
.vp-und { text-align:center; font-weight:400; font-style:italic; font-size:10pt; color:#4a6070; margin:16px 0 6px; }
.vp-sec-hd { font-size:9.5pt; font-weight:700; color:#17304d; margin:18px 0 5px; border-bottom:1.5px solid #17304d; padding-bottom:3px; }
.vp-cl { font-size:8.8pt; color:#1c2d3e; margin:4px 0; line-height:1.55; text-align:justify; }
.vp-sig-pre { font-size:9pt; color:#1c2d3e; margin:28px 0 16px; }
.vp-sig-tbl { width:100%; border-collapse:collapse; margin-top:8px; }
.vp-sig-tbl td { vertical-align:bottom; padding:0; }
.vp-sig-gap { width:60px; }
.vp-sig-line { border-bottom:1.5px solid #17304d; height:48px; margin-bottom:6px; }
.vp-sig-name { font-size:9pt; font-weight:700; color:#17304d; }
.vp-sig-role { font-size:8pt; color:#6b7f8f; margin-top:2px; }
.vp-footer { font-size:7.5pt; color:#6b7f8f; border-top:1px solid #d0dde8; margin-top:28px; padding-top:8px; text-align:center; }
