/* BrainLab browser-print handout. Loaded only with media="print". */
@page { margin: 15mm 16mm 17mm; }

@media print {
  html, body { width: auto; min-width: 0; margin: 0; padding: 0; background: #fff; }
  body { color: #172c36; font-family: Poppins, sans-serif; font-size: 10pt; line-height: 1.48; }
  body:has(> .brainlab-print-portal.is-printing) main::before { content: none; }
  body:not(:has(> .brainlab-print-portal.is-printing)) main::before {
    content: "BrainLab Psychology Group";
    display: block;
    margin: 0 0 9mm;
    padding: 0 0 3mm;
    border-bottom: 1px solid #75919a;
    color: #173b49;
    font-size: 10pt;
    font-weight: 700;
    letter-spacing: .025em;
  }
  body > .site-header, body > .site-footer, body > .skip-link,
  body > .search-command-backdrop, body > .search-command-dialog,
  .cookie-banner, .cookie-consent, .consent-banner, .consent-manager,
  .on-this-page, .breadcrumb, .breadcrumbs, .final-cta,
  .button-row, .section-links, .access-links, .print-guide-action,
  .data-table-help, .table-scroll-hint, .table-scroll-cue, .search-form, .search-results-controls,
  .site-search, .share-controls, .floating-controls,
  main button, main input, main select, main textarea, main iframe,
  main [role="button"], main [role="dialog"], main [data-display-modal],
  main .button, main .text-link, main .nav-overview,
  main .zoho-form-embed, main .ime-form-embed,
  main .section-illustration, main .hero-media, main .hero-media-production,
  main .hero-artwork, main .hero-visual, main .decorative-image,
  main .ve-line-icon,
  main .funding-shell, main .institution-directory { display: none !important; }

  main { display: block; width: auto; max-width: none; margin: 0; padding: 0; overflow: visible; }
  main, main * { box-shadow: none !important; text-shadow: none !important; }
  main :is(section, article, aside, div, figure, li, details) {
    background-color: transparent !important;
    background-image: none !important;
  }
  main :is(h1, h2, h3, h4, p, li, dt, dd, th, td, summary, strong, span, small, blockquote, figcaption, label) {
    color: #172c36 !important;
  }
  main a { color: #173b49 !important; text-decoration: underline; overflow-wrap: anywhere; }
  main :is(p, li, dd, dt, td, th) { orphans: 3; widows: 3; }
  main :is(h1, h2, h3, h4) { break-after: avoid; page-break-after: avoid; }
  main h1 { font-size: 21pt !important; line-height: 1.18 !important; letter-spacing: -.02em; margin: 0 0 4mm !important; }
  main h2 { font-size: 14pt !important; line-height: 1.28 !important; margin: 4mm 0 2mm !important; }
  main h3 { font-size: 11.5pt !important; line-height: 1.3 !important; margin: 4mm 0 1.5mm !important; }
  main :is(p, ul, ol) { margin-top: 0; margin-bottom: 1.6mm !important; }
  main :is(ul, ol) { padding-left: 6mm; }
  main li { margin-bottom: 1mm; }
  main .eyebrow, main .ve-kicker { font-size: 8.5pt; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; }
  main .lede { font-size: 11pt; line-height: 1.48; }

  /* Existing screen selectors have high specificity; these are the few required
     print-only resets that override their large viewport padding and grids. */
  main :is(.hero, .hero-inner, .hero-copy, .page-section, .section-content,
    .section-heading, .section-body, .item-grid, .layout-glance,
    .layout-reading, .layout-cards, .content-data-region,
    .content-data-table-wrap, .editorial-table-section, .editorial-topics,
    .ia-section, .ia-container, .ia-hero, .zoho-form-section,
    .ime-form-section, .zoho-form-intro, .score-guide-shell,
    .instrument-note-shell,
    .instrument-note) {
    display: block !important; width: auto !important; max-width: none !important;
    min-width: 0 !important; height: auto !important; min-height: 0 !important;
    margin: 0 !important; padding: 0 !important; overflow: visible !important;
    position: static !important; transform: none !important;
  }
  main .hero { margin-bottom: 5mm !important; }
  main :is(.page-section, .ia-section) { margin: 0 0 3mm !important; }
  main .section-heading { margin-bottom: 2mm; }
  main :is(.content-item, .section-callout, .specification-item, .rate-card,
    .fee-card, .resource-card, .contact-card, .location-detail) {
    display: block !important; width: auto !important; max-width: none !important;
    min-height: 0 !important; padding: 1.5mm 0 !important;
    margin: 0 !important; border: 0 !important; border-bottom: 1px solid #ccd5d8 !important;
    break-inside: avoid;
  }
  main .content-item h3 { display: block !important; font-size: 10pt !important; margin: 0 0 1mm !important; }
  main .content-item .item-value { display: block !important; font-weight: 600; margin: 0 !important; }
  main .content-item p:not(.item-value) { margin: 1mm 0; }
  main .section-callout { border-left: 2px solid #73949e; padding-left: 3mm; }

  main details { display: block; border: 0; border-bottom: 1px solid #d2dadd; padding: 1.3mm 0 !important; break-inside: avoid; }
  main details summary { display: block; list-style: none; font-weight: 700; padding: 0 !important; margin-bottom: 1mm !important; }
  main details summary::marker, main details summary::-webkit-details-marker { display: none; content: ""; }
  main details::details-content { content-visibility: visible; display: block; }
  main details > :not(summary) { display: block !important; visibility: visible !important; padding: 0 !important; margin-bottom: 1mm !important; }

  main :is(table, .content-data-table) { display: table; width: 100%; max-width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; font-size: 9pt; line-height: 1.38; }
  main :is(thead) { display: table-header-group; }
  main :is(tfoot) { display: table-footer-group; }
  main :is(tr) { break-inside: avoid; page-break-inside: avoid; }
  main :is(th, td) { display: table-cell; padding: 2mm 2.5mm; vertical-align: top; border-bottom: 1px solid #b8c5ca; overflow-wrap: anywhere; word-break: normal; }
  main th { font-weight: 700; border-top: 1px solid #718993; border-bottom: 1.5px solid #718993; }
  /* The referral matrix already has an H3; its duplicate caption can strand alone. */
  main .referral-table-region caption { display: none; }
  main :is(.table-container, .table-scroll, .table-wrap, .content-data-region) { overflow: visible; max-height: none; }

  main .ve-evidence { display: block; margin: 5mm 0; padding: 3mm 0; border: 0; border-top: 1px solid #78919b; break-inside: avoid; }
  main .ve-evidence-inner { max-width: none; }
  main .ve-evidence h2 { font-size: 14pt; margin: 0 0 2mm; }
  main .ve-evidence .ve-evidence-symbol { display: none; }
  main .ve-evidence .ve-intro { margin-bottom: 2mm; }
  main .ve-evidence ol { display: grid; padding: 0; margin: 3mm 0 0; gap: 3mm; list-style: none; }
  main .ve-evidence li { min-width: 0; padding: 2mm 0 4mm; border-top: 1px solid #8da1a8; margin: 0; }
  main .ve-evidence li strong { font-size: 9.5pt; }
  main .ve-evidence li span { font-size: 8.5pt; margin-top: 1mm; }
  main .ve-evidence .ve-outcome { margin-top: 5mm; padding: 2mm 0 2mm 3mm; border-left: 2px solid #5e7f89; }
  main .ve-evidence .ve-interpretation { margin: 2mm 0; }
  main .ve-evidence .ve-source { margin: 3mm 0 0; padding-top: 2mm; border-top: 1px solid #bdc9ce; font-size: 8.5pt; line-height: 1.4; }
  main .ve-evidence[data-ve-kind="integration"] ol { --ve-rail-gap: 3mm; --ve-collector-depth: 3mm; }
  main .ve-evidence[data-ve-kind="integration"] .ve-outcome { --ve-result-gap: 5mm; }
  main .ve-evidence[data-ve-kind="sequence"] ol { --ve-rail-gap: 3mm; }
  main .ve-evidence[data-ve-kind="integration"] ol::after,
  main .ve-evidence[data-ve-kind="integration"] li::after,
  main .ve-evidence[data-ve-kind="integration"] .ve-outcome::before,
  main .ve-evidence[data-ve-kind="sequence"] li:not(:last-child)::after {
    background: #4e707c;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }
  main .ve-evidence[data-ve-kind="sequence"] li::before { border-color: #4e707c; background: #fff; color: #173b49; }

  main :is(.p2-tool-shell, .funding-shell, .authority-tool-shell, .screening-shell) {
    display: block; height: auto; min-height: 0; padding: 2mm 0; margin: 3mm 0;
    border: 0; border-top: 1px solid #c9d4d8;
  }
  /* A navigator result already rendered in the DOM is useful on paper; its
     selectors remain hidden. An unrun navigator is suppressed above. */
  main .funding-shell:has([data-funding-results]:not(:empty)) { display: block !important; }
  main .funding-shell fieldset { display: none !important; }
  main :is(.p2-choice-grid, .funding-options, .tool-controls, .tool-actions,
    .screening-questions, .questionnaire-items, .planner-controls,
    .form-controls, .form-actions, .search-filters, .search-input-wrap,
    .screening-shell .question-list, .screening-shell .questionnaire-controls,
    .screening-shell .incomplete-response-summary) { display: none !important; }
  main [hidden] { display: none !important; }
  main :is(.zoho-form-section, .ime-form-section) { padding: 0; margin: 0; }
  main .check-list { list-style: square; }
  main .check-list li::marker { color: #172c36; }
  /* Evidence and official-source links are reference content, not navigation. */
  main .section-links:has(> a.print-source) { display: block !important; margin: 2mm 0 !important; }
  main .section-links > a.print-source { display: block !important; margin: 1mm 0; }
  main a.print-source { display: inline !important; color: #173b49 !important; text-decoration: underline !important; overflow-wrap: anywhere; }
  main a.print-source::after { content: " (" attr(data-print-domain) ")"; font-size: 8pt; font-weight: 400; }
  main [data-funding-results] article a.text-link { display: inline !important; color: #173b49 !important; text-decoration: underline !important; overflow-wrap: anywhere; }
  /* Keep directory provenance and a path to the full live 47-institution inventory. */
  main .institution-directory { display: block !important; padding: 3mm 0 !important; border-top: 1px solid #bdc9ce; }
  main .institution-directory :is(.directory-controls,.directory-count,.directory-reset,.directory-grid,.directory-continuation,noscript) { display: none !important; }
  main .institution-directory .directory-heading a.print-source { display: inline !important; }
  main .institution-directory::after { content: "Full directory of 47 verified Ontario institutions: https://www.brainlabpsychologygroup.ca/post-secondary-psychological-assessment"; display: block; margin-top: 2mm; font-size: 8.5pt; color: #173b49; overflow-wrap: anywhere; }
  main .sr-only { display: none !important; }
}
