/* Online form styles and scoped print compatibility fixes; base print layout is in main.css. */
@media screen {
  .form-page .form-print-only { display: none !important; }
  .form-page .form-signature-grid { grid-template-columns: minmax(0, 1fr); max-width: 640px; }
  .form-page .form-online-intro { max-width: 780px; line-height: 1.6; }
  .form-page .form-acceptance { padding-bottom: 8px; }
  .form-page .form-acceptance > label { display: flex; align-items: flex-start; gap: 12px; max-width: 780px; cursor: pointer; }
  .form-page .form-acceptance input { flex: 0 0 auto; margin-top: 5px; width: 20px; height: 20px; accent-color: var(--ink); }
  .form-page .form-field, .form-page .form-grid > * { min-width: 0; }
  .form-page .form-inline-input { max-width: 100%; min-width: 0; width: 280px; margin-left: 0; }
  .form-page .sales-form-status { max-width: 680px; margin: 24px auto 0; padding: 18px; border: 1px solid var(--ink); border-radius: 8px; color: var(--ink); background: white; text-align: left; overflow-wrap: anywhere; }
  .form-page .sales-form-status[data-state="success"] { background: var(--green); }
  .form-page .sales-form-status[data-state="error"] { border-color: #9d2929; color: #782020; }
  .form-page [aria-invalid="true"] { outline: 2px solid #9d2929; outline-offset: 2px; }
  .form-page button:disabled { opacity: .65; cursor: default; }
  .form-page form[inert] { opacity: .85; }
  .form-page .form-field-error { margin: 0; font-size: .8125rem; color: #782020; }
  .form-page #kenteken-rdw-status { margin: 0; font-size: .8125rem; color: var(--muted); }
  .form-page #kenteken-rdw-status[data-state="found"] { color: #2f6b1f; font-weight: 600; }
  .form-page #kenteken-rdw-status[data-state="error"], .form-page #kenteken-rdw-status[data-state="not-found"] { color: var(--muted); }
  .form-page .form-iban-why { margin-top: 6px; font-size: .8125rem; }
  .form-page .form-iban-why summary { cursor: pointer; color: var(--ink); font-weight: 600; }
  .form-page .form-iban-why summary:hover { color: #527d22; }
  .form-page .form-iban-why p { margin: 8px 0 0; color: var(--muted); font-weight: 400; max-width: 480px; }
}
@media print {
  .form-page .form-online-only, .form-page noscript { display: none !important; }
  /* Safari can evaluate print width queries against the phone viewport. */
  .form-page .form-col-2 { grid-column: span 2; }
  .form-page .form-signature-grid { grid-template-columns: 1fr 1fr; }

  @supports (-webkit-touch-callout: none) {
    /* Use the A4 content width (210mm minus two 12mm page margins), not
       the phone viewport: narrow wrapping can make BOTH blocks exceed A4. */
    body:has(.form-page) .page-intro { width: 186mm; max-width: none; margin: 0; }
    .form-page { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
    /* iOS: paginate normal blocks, without a full-page flex minimum that can
       spill onto an almost empty page before the explicit page break. */
    .form-page .print-page,
    .form-page .print-page-body { display: block; height: auto; min-height: 0; }
    .form-page .print-page { break-after: auto; page-break-after: auto; }
    .form-page .print-page + .print-page { break-before: page; page-break-before: always; }
  }
}
/* Print-only snapshot. Its measurement styles are independent of iPad viewport width. */
.avm-print-document { display: none; }
.avm-print-document.avm-print-preparing { display: block; position: absolute; left: -10000px; top: 0; visibility: hidden; }
.avm-print-document { width: 186mm; color: #142c39; font-family: Arial, sans-serif; font-size: 10pt; line-height: 1.3; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.avm-print-document * { box-sizing: border-box; }
.avm-print-document .avm-print-sheet { width: 186mm; height: 280mm; padding: 0; display: flex; flex-direction: column; overflow: visible; break-after: page; page-break-after: always; }
.avm-print-document .avm-print-sheet:last-child { break-after: auto; page-break-after: auto; }
.avm-print-document .print-page-header { display: flex; align-items: baseline; justify-content: space-between; padding: 0 0 5px; margin: 0 0 8px; border-bottom: 1px solid #dce2e5; }
.avm-print-document .print-page-brand { display: flex; align-items: baseline; gap: 8px; }
.avm-print-document .brand-mark { font-size: 22pt; font-weight: 800; line-height: 1; }
.avm-print-document .brand-mark > span { color: var(--green); }
.avm-print-document .print-page-brand-name { font-size: 8pt; text-transform: uppercase; letter-spacing: .07em; }
.avm-print-document .print-page-doctitle { font-size: 8pt; white-space: nowrap; }
.avm-print-document .avm-print-body { flex: 1; min-height: 0; padding-bottom: 10px; }
.avm-print-document .print-page-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 8px; margin: 0; padding: 7px 10px; background: #142c39; color: #fff; font-size: 7pt; flex-shrink: 0; border-radius: 2px; }
.avm-print-document .form-section, .avm-print-document .avm-print-group { margin: 0 0 7px; padding: 0; border: 0; min-width: 0; }
.avm-print-document h2, .avm-print-document legend { font-size: 11pt; font-weight: 700; line-height: 1.2; padding: 0; margin: 4px 0 5px; }
.avm-print-document p { margin: 4px 0; }
.avm-print-document .form-field { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.avm-print-document label { font-size: 9pt; line-height: 1.25; }
.avm-print-document .avm-print-row, .avm-print-document .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5px 12px; }
.avm-print-document .form-col-2 { grid-column: span 2; }
.avm-print-document .avm-print-value { display: block; border: 1px solid #8a9aa1; border-radius: 3px; padding: 3px 6px; min-height: 21px; font-size: 10pt; line-height: 1.3; white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; }
.avm-print-document .avm-print-value-empty { min-height: 25px; }
.avm-print-document .avm-print-choice { display: inline; white-space: nowrap; font-weight: 700; }
.avm-print-document .form-radio-pills { display: flex; gap: 20px; }
.avm-print-document .form-pill { padding: 2px 8px; border-radius: 3px; font-size: 9pt; }
.avm-print-document .form-choice-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px 12px; margin: 6px 0; }
.avm-print-document .form-choice { padding: 0; margin: 0; min-width: 0; border: 0; }
.avm-print-document .form-choice legend { font-size: 8pt; }
.avm-print-document .form-choice label, .avm-print-document .form-choice-wide label { font-size: 9pt; margin-right: 7px; }
.avm-print-document .form-choice-wide { border: 0; margin: 6px 0; padding: 0; min-width: 0; }
.avm-print-document .form-choice-wide legend { font-size: 9pt; }
.avm-print-document .form-payout { padding: 7px 10px; background: #eaf4df; border-radius: 5px; }
.avm-print-document .form-payout-label { font-size: 10pt; font-weight: 700; }
.avm-print-document .form-payout-input { display: flex; gap: 6px; padding: 0; margin: 3px 0; border: 0; }
.avm-print-document .form-payout-input > span { font-size: 12pt; }
.avm-print-document .form-payout-note, .avm-print-document .form-note { font-size: 8pt; }
.avm-print-document .form-notes { display: block; min-height: 0; margin: 0 0 7px; }
.avm-print-document .form-notes > label { display: block; font-size: 10pt; font-weight: 700; margin-bottom: 3px; }
.avm-print-document .form-agreements ol { font-size: 10pt; line-height: 1.4; padding-left: 16px; margin: 0; }
.avm-print-document .form-agreements li { margin-bottom: 5px; }
.avm-print-document .form-terms { padding: 9px 12px; background: #eef3f5; border-left: 3px solid #142c39; }
.avm-print-document .form-declaration p, .avm-print-document .form-terms p { font-size: 10pt; line-height: 1.4; }
.avm-print-document .form-acceptance { padding: 5px 0; }
.avm-print-document .form-signature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 6px 0; }
.avm-print-document .form-signature-block { display: flex; flex-direction: column; gap: 5px; }
.avm-print-document .avm-print-signature { display: block; width: 100%; height: 92px; object-fit: contain; object-position: left center; border: 1px solid #142c39; background: white; }
.avm-print-document .avm-print-signature-empty { visibility: hidden; }
.avm-print-document .form-signature-pad-wrap:has(.avm-print-signature-empty) { height: 92px; border: 1px solid #142c39; }
.avm-print-document .form-signature-caption { font-size: 8pt; }
@media print {
  body.avm-print-ready > :not(.avm-print-document) { display: none !important; }
  body.avm-print-ready { margin: 0; padding: 0; background: white; }
  body.avm-print-ready .avm-print-document { display: block; position: static; visibility: visible; }
  .avm-print-document { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
