/* Print styles: booking confirmations, estimates and policies print cleanly on A4. */
@page { margin: 16mm; }
html, body { background: #fff !important; color: #111 !important; font-size: 11pt; }
.site-header, .site-footer, .demo-bar, .scroll-progress, .floating, .cookie, .skip-link,
.btn, .btn-row, .copy-btn, .wizard__nav, .stepper, .sim-panel, .filter-bar, dialog, .toast-region,
.quick, .cta-final, .admin-tabs, .toolbar, .row-actions, .hero__art { display: none !important; }
.section, .page-hero, .hero { padding: 0 0 12pt !important; background: none !important; border: 0 !important; }
.band { background: none !important; color: #111 !important; }
.band h2, .band h3, .band .tick-list li { color: #111 !important; }
a { color: #111 !important; text-decoration: underline; }
.prose a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; }
h1, h2, h3 { color: #111 !important; page-break-after: avoid; }
.card, .wizard__panel, .service-detail, .summary-block, .calc, .table-wrap { border: 1px solid #999 !important; box-shadow: none !important; break-inside: avoid; }
.faq details { break-inside: avoid; }
.faq details > *:not(summary) { display: block !important; }
.notice { border: 1px solid #999 !important; background: none !important; color: #111 !important; }
.ref-box { border: 1px solid #111 !important; }
.timeline li.is-done .timeline__dot { background: #111 !important; color: #fff !important; }
