/* Velta Legal Documents — shared print styles */

@page {
  size: A4;
  margin: 18mm 16mm 20mm 16mm;
}
@media print {
  body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .no-print { display: none !important; }
  .page-break { page-break-before: always; }
  h2, h3 { page-break-after: avoid; }
  table, tr, td, th { page-break-inside: avoid; }
  thead { display: table-header-group; }
  a { color: #0D1B2A !important; text-decoration: none !important; }
}

* { box-sizing: border-box; }
html, body {
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Helvetica, Arial, sans-serif;
  font-size: 10.5pt;
  line-height: 1.55;
  color: #111;
  background: #fff;
}
.page {
  max-width: 190mm;
  margin: 0 auto;
  padding: 12mm 6mm 16mm 6mm;
}

/* Draft banner */
.draft-banner {
  background: #fff7ed;
  border: 1px solid #F97316;
  border-left: 4px solid #F97316;
  padding: 10px 14px;
  margin: 0 0 6mm 0;
  font-size: 9.5pt;
  color: #7c2d12;
  border-radius: 4px;
}
.draft-banner strong { color: #9a3412; }

/* Doc header */
.doc-header {
  border-bottom: 2px solid #F97316;
  padding-bottom: 6mm;
  margin-bottom: 6mm;
}
.doc-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #64748b;
  font-size: 10pt;
  margin-bottom: 4mm;
}
.doc-brand-mark {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  flex: 0 0 32px;
  /* Real Velta mark on navy backdrop — replaces the earlier orange "V"
     text placeholder. Image lives at docs/legal/logo-mark.png, resolved
     relative to this stylesheet. */
  background: #0D1B2A url('logo-mark.png') center / 72% no-repeat;
  /* Robustly hide the literal "V" still in the markup (kept across 20+
     legal HTML files to avoid mass markup churn) using text-indent so
     text never leaks out even if color/font-size rules are overridden
     by user stylesheets or email-to-PDF tools. */
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
}
.doc-title {
  font-size: 22pt;
  font-weight: 700;
  color: #0D1B2A;
  margin: 0 0 2mm 0;
  line-height: 1.15;
}
.doc-meta {
  color: #64748b;
  font-size: 9.5pt;
}

/* Headings */
h2 {
  font-size: 14pt;
  color: #0D1B2A;
  margin: 10mm 0 3mm 0;
  padding-top: 4mm;
  border-top: 1px solid #d8dde3;
}
h3 {
  font-size: 11.5pt;
  color: #1a2a3a;
  margin: 6mm 0 2mm 0;
}
h4 {
  font-size: 10.5pt;
  color: #334155;
  margin: 4mm 0 2mm 0;
}
p { margin: 0 0 3mm 0; }
ul, ol { margin: 0 0 3mm 20px; padding: 0; }
li { margin-bottom: 1.5mm; }
code, .mono {
  font-family: "SF Mono", Menlo, Consolas, monospace;
  font-size: 9.5pt;
  background: #f1f3f5;
  padding: 1px 5px;
  border-radius: 3px;
}

/* Callouts */
.callout {
  padding: 10px 14px;
  border-radius: 6px;
  border-left: 4px solid #F97316;
  background: #fff7ed;
  margin: 4mm 0;
  font-size: 10pt;
}
.callout.warn { background: #fef2f2; border-left-color: #dc2626; }
.callout.info { background: #eff6ff; border-left-color: #2563eb; }
.callout.note { background: #f7f8fa; border-left-color: #64748b; }

/* Tables */
table {
  width: 100%;
  border-collapse: collapse;
  margin: 3mm 0 5mm 0;
  font-size: 9.5pt;
}
th, td {
  border: 1px solid #d8dde3;
  padding: 6px 8px;
  text-align: left;
  vertical-align: top;
}
th {
  background: #0D1B2A;
  color: #fff;
  font-weight: 600;
  font-size: 9pt;
}
tbody tr:nth-child(even) td { background: #f7f8fa; }

/* Signature block */
.signature {
  margin-top: 10mm;
  padding-top: 6mm;
  border-top: 1px dashed #94a3b8;
}
.signature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8mm;
  margin-top: 6mm;
}
.signature-field {
  border-bottom: 1px solid #111;
  min-height: 14mm;
  position: relative;
  padding-top: 10mm;
}
.signature-field::after {
  content: attr(data-label);
  position: absolute;
  top: 0;
  left: 0;
  font-size: 8.5pt;
  color: #64748b;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

/* Definitions list */
dl { margin: 3mm 0; }
dt { font-weight: 700; color: #0D1B2A; margin-top: 3mm; }
dd { margin: 0 0 2mm 4mm; }

/* Utility */
.small { font-size: 9pt; }
.muted { color: #64748b; }
.center { text-align: center; }

/* Footer */
.doc-footer {
  margin-top: 12mm;
  padding-top: 5mm;
  border-top: 1px solid #d8dde3;
  font-size: 9pt;
  color: #64748b;
  text-align: center;
}

/* Print button (browser only) */
.print-btn {
  position: fixed;
  top: 16px;
  right: 16px;
  background: #F97316;
  color: #fff;
  border: none;
  padding: 10px 16px;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
  font-size: 13px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  z-index: 100;
}
.print-btn:hover { background: #ea6b0c; }

/* Top nav bar for individual legal docs (browser only) */
.legal-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: #0D1B2A;
  color: #fff;
  padding: 10px 16px;
  border-bottom: 2px solid #F97316;
}
.legal-nav-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
}
.legal-nav-brand img {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  display: block;
}
.legal-nav-back {
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  padding: 6px 12px;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 999px;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.legal-nav-back:hover {
  background: rgba(249,115,22,0.18);
  border-color: #F97316;
}
.legal-nav-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.legal-nav-print {
  background: #F97316;
  color: #fff;
  border: none;
  padding: 6px 12px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  font-family: inherit;
}
.legal-nav-print:hover { background: #ea6b0c; }
@media (max-width: 480px) {
  .legal-nav { padding: 8px 12px; }
  .legal-nav-brand { font-size: 12px; }
  .legal-nav-back { font-size: 12px; padding: 5px 10px; }
  .legal-nav-print { font-size: 12px; padding: 5px 10px; }
}
@media print {
  .legal-nav { display: none !important; }
}

/* Index list */
.doc-list { list-style: none; padding: 0; margin: 6mm 0; }
.doc-list li {
  border: 1px solid #d8dde3;
  border-radius: 6px;
  margin-bottom: 3mm;
  padding: 10px 14px;
}
.doc-list a {
  color: #0D1B2A;
  text-decoration: none;
  font-weight: 600;
}
.doc-list .tag {
  display: inline-block;
  font-size: 8.5pt;
  padding: 1px 8px;
  border-radius: 999px;
  font-weight: 600;
  margin-left: 6px;
}
.tag-p0 { background: #fee2e2; color: #991b1b; }
.tag-p1 { background: #fef3c7; color: #854d0e; }
.tag-internal { background: #e5e7eb; color: #374151; }
.doc-list p { margin: 2mm 0 0 0; font-size: 9.5pt; color: #64748b; }
