@page { margin: 16mm; }
body { background: white; color: #111; font-size: 11pt; }
.topbar, .site-footer, .skip-link, .navrow, .cta-actions, .result-actions, .overview-jumps, .recap button, .print-help, .landing, .question { display: none !important; }
main { max-width: none; padding: 0; }
.overview { gap: 18pt; }
.overview h1 { font-size: 25pt; }
.panel, .cta, .recap, .result-summary { break-inside: avoid; box-shadow: none; border: 1px solid #bbb; background: white; color: #111; padding: 12pt; }
.cta p, .cta .fine, .result-summary p { color: #333; }
.recap dl { display: grid; }
a { color: #111; text-decoration: none; }
.print-contact { display: block; overflow-wrap: anywhere; }
h2, h3 { break-after: avoid; }
/* Normal block flow avoids isolated grid fragments and mostly empty final pages. */
.overview { display: block; }
.overview > * { margin-bottom: 12pt; }
.overview > header::before { content: 'Erfwijzer · Belgisch erfrecht'; display: block; color: #1f4a3d; font-weight: 600; margin-bottom: 8pt; }
.recap { break-inside: auto; }
.recap-row { break-inside: avoid; }
.overview > .disclaimer { break-before: avoid; }
.cta .fine, .soft-cta .fine, .panel > p:has(> .learn) { display: none; }
.result-toolbar, .map-heading button { display: none !important; }
.situation-map, .legal-picture, .family-person, .right-card, .reserve-visual { break-inside: avoid; }
.situation-map { print-color-adjust: exact; -webkit-print-color-adjust: exact; margin-bottom: 14pt; }
.result-grid { display: block; }
.result-grid > * { margin-bottom: 12pt; }
.result-grid .result-summary { background: white; color: #111; border-color: #bbb; }
.result-grid .result-summary p { color: #333; }
.family-map { padding: 16pt; }
.family-person { padding: 12pt; }
.situation-facts { grid-template-columns: repeat(3, 1fr); }
.situation-facts > div { display: block; padding: 10pt; }
.situation-facts > div + div { border-top: 0; border-left: 1px solid #bbb; }
.reserve-visual { print-color-adjust: exact; -webkit-print-color-adjust: exact; }

html { font-size: 14px; }
.overview h1 { font-size: 25pt; }
.overview h2, .map-heading h2 { font-size: 17pt; }
.family-core .family-person { min-height: 110px; }
.map-heading { padding: 16pt 16pt 0; }
.situation-map .map-caption { padding-bottom: 12pt; }
.recap summary { break-after: avoid; }
.result-utilities, .result-next .btn, .result-next .fine { display: none !important; }
.result-next { background: white; color: #111; border: 1px solid #bbb; break-inside: avoid; }
.result-next > p, .result-next .section-label { color: #333; }
.result-details-content { display: block; }
.result-details-content > * { margin-bottom: 12pt; }
.family-strip, .right-card { break-inside: avoid; }
