/* ═══════════════════════════════════════════════════════════════════════════
   GoBD-Verfahrensdokumentation (Block C)
   Lesbare Darstellung + Print-CSS für PDF-Export via window.print
   ═══════════════════════════════════════════════════════════════════════════ */

.vd-meta {
  padding: 12px 14px; background: var(--s2); border: 1px solid var(--b1);
  border-radius: 10px; font-size: 12.5px; color: var(--t2); margin-bottom: 14px;
}

.vd-document {
  background: var(--s1); border: 1px solid var(--b1); border-radius: 14px;
  padding: 34px 38px; box-shadow: 0 6px 24px rgba(14,27,77,.06);
  line-height: 1.65; color: var(--t1);
}

.vd-header {
  border-bottom: 2px solid var(--np); padding-bottom: 16px; margin-bottom: 22px;
}
.vd-header h1 {
  font-size: 26px; font-weight: 800; letter-spacing: -.4px; color: var(--t1);
}
.vd-subtitle { font-size: 13px; color: var(--t3); margin-top: 4px; }

.vd-section { margin: 26px 0; }
.vd-section h2 {
  font-size: 18px; font-weight: 800; color: var(--t1); letter-spacing: -.3px;
  margin-bottom: 8px; padding-bottom: 6px; border-bottom: 1px solid var(--b1);
}
.vd-section h3 {
  font-size: 14px; font-weight: 700; color: var(--t1);
  margin: 14px 0 6px; letter-spacing: -.2px;
}
.vd-section-body p { font-size: 13.5px; color: var(--t2); margin: 6px 0 10px; }
.vd-section-body ul, .vd-section-body ol {
  margin: 6px 0 10px; padding-left: 22px; font-size: 13.5px; color: var(--t2);
}
.vd-section-body li { margin: 3px 0; }
.vd-section-body code {
  background: var(--s2); padding: 1px 5px; border-radius: 4px;
  font-size: 12px; color: var(--t1);
  font-family: 'SF Mono', Menlo, 'Courier New', monospace;
}

.gobd-table {
  width: 100%; border-collapse: collapse; margin: 8px 0 12px;
  font-size: 13px; color: var(--t2);
}
.gobd-table th, .gobd-table td {
  padding: 7px 11px; border: 1px solid var(--b1); text-align: left; vertical-align: top;
}
.gobd-table th {
  background: var(--s2); font-weight: 700; color: var(--t1);
  font-size: 11.5px; text-transform: uppercase; letter-spacing: .3px;
}
.gobd-table tr > th:first-child {
  width: 32%;
}

.vd-section-internal {
  margin-top: 32px; padding: 16px 18px;
  background: rgba(200,149,90,.06); border: 1px solid rgba(200,149,90,.22);
  border-radius: 10px;
}
.vd-int-row {
  display: grid; grid-template-columns: 240px 1fr; gap: 14px;
  padding: 8px 0; border-bottom: 1px dashed var(--b1);
}
.vd-int-row:last-child { border-bottom: none; }
.vd-int-lbl { font-weight: 700; color: var(--t1); font-size: 12.5px; }
.vd-int-val { font-size: 13px; color: var(--t2); line-height: 1.55; }

/* ─── Print-CSS: PDF-Export via Browser-Druck ─── */
@media print {
  body.vd-printing * { visibility: hidden !important; }
  body.vd-printing #vd-document, body.vd-printing #vd-document * { visibility: visible !important; }
  body.vd-printing #vd-document {
    position: absolute !important; inset: 0 !important; margin: 0 !important;
    padding: 18mm 14mm !important; box-shadow: none !important; border: none !important;
    background: #fff !important; color: #000 !important; font-size: 10.5pt !important;
    max-width: none !important; width: 100% !important;
  }
  body.vd-printing .vd-header h1 { font-size: 20pt; color: #000; }
  body.vd-printing .vd-header { border-bottom: 2px solid #000; }
  body.vd-printing .vd-section { break-inside: avoid; margin: 14pt 0; }
  body.vd-printing .vd-section h2 { font-size: 13pt; color: #000; border-bottom: 1px solid #000; }
  body.vd-printing .vd-section h3 { font-size: 11.5pt; color: #000; }
  body.vd-printing .vd-section-body { color: #222; }
  body.vd-printing .gobd-table th { background: #f3f3f3 !important; color: #000 !important; }
  body.vd-printing .gobd-table td, body.vd-printing .gobd-table th { border-color: #888 !important; }
  body.vd-printing .vd-section-internal {
    background: #fafafa !important; border: 1px solid #999 !important;
    color: #000 !important;
  }
  body.vd-printing code { background: #f5f5f5 !important; color: #000 !important; }
  @page { size: A4 portrait; margin: 14mm; }
}

@media (max-width: 720px) {
  .vd-document { padding: 20px 18px; }
  .vd-int-row { grid-template-columns: 1fr; gap: 4px; }
  .gobd-table { font-size: 12px; }
}
