@media print {

  /* ── Base ── */
  body {
    background: #fff !important;
    color: #000 !important;
    font-size: 11pt !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  @page {
    margin: 1.5cm;
    size: A4;
  }

  /* ── Always hidden in print ── */
  .navbar,
  footer,
  .ba-footer,
  .no-print,
  .btn-print-report,
  .btn-print,
  #theme-toggle,
  .popover,
  .tooltip,
  .modal-backdrop,
  .toast-container,
  .analyse-overlay,
  .demo-preview-notice,
  .demo-cta,
  .demo-unlock-overlay,
  .action-btns,
  .cat-pill-filter,
  .expand-toggle,
  .sd-shortlist-header,
  .sd-compare-panel,
  .shortlist-star-btn,
  .sd-tab-bar,
  .sd-card__actions,
  .add-to-herd-btn,
  .add-semen-btn,
  .add-live-btn,
  .add-all-herd-btn,
  #addAllTopBtn,
  .show-remaining-btn,
  #showMoreCardsWrap,
  .mp-actions,
  .mp-chevron,
  .mp-detail-toggle,
  .mp-actions .ba-btn,
  .btn-group,
  .si-toggle-btn,
  .print-hide {
    display: none !important;
  }

  /* ── Hide Sale-Day summary cards in print (detail cards have all the info) ── */
  #sdView {
    display: none !important;
  }

  /* ── Print-only report header ── */
  .print-report-header {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 0 0 14px;
    margin-bottom: 16px;
    border-bottom: 2px solid #1C6E3C;
  }
  .print-report-header__brand {
    font-size: 20pt;
    font-weight: 900;
    color: #000;
    letter-spacing: -0.02em;
  }
  .print-report-header__brand .brand-accent {
    color: #1C6E3C;
  }
  .print-report-header__meta {
    text-align: right;
    font-size: 9pt;
    color: #555;
    line-height: 1.5;
  }

  /* ── Print-only report footer ── */
  .print-report-footer {
    display: block !important;
    margin-top: 24px;
    padding-top: 12px;
    border-top: 1px solid #ccc;
    font-size: 8pt;
    color: #888;
    text-align: center;
    line-height: 1.5;
  }

  /* ── Consolidate disclaimers: only show the print-specific one ── */
  .results-disclaimer,
  .contextual-disclaimer {
    display: none !important;
  }
  .print-disclaimer {
    display: block !important;
    font-size: 9pt;
    color: #666;
    border: 1px solid #ddd;
    border-left: 3px solid #d97706;
    border-radius: 4px;
    padding: 10px 14px;
    margin: 16px 0;
    line-height: 1.5;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* ── Hide CTA buttons at bottom in print ── */
  .text-center.mt-4 {
    display: none !important;
  }

  /* ── GENEius AI: hide loading state entirely in print ── */
  .ai-load-failed {
    display: none !important;
  }
  #ai-insights-container .spinner-border {
    display: none !important;
  }
  #ai-insights-container .spinner-border + span {
    display: none !important;
  }
  #ai-insights-content > div:has(.spinner-border) {
    display: none !important;
  }
  .ai-loading-placeholder {
    display: none !important;
  }
  #insight-toggle-wrap {
    display: none !important;
  }
  #ai-insights-container {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  #aiSummaryPreview {
    max-height: none !important;
    overflow: visible !important;
  }
  #aiSummaryFade {
    display: none !important;
  }
  #aiSummaryPreview + a {
    display: none !important;
  }

  /* ── Layout ── */
  .container,
  .ba-container {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 12px !important;
  }

  /* ── Links ── */
  a {
    color: #000 !important;
    text-decoration: none !important;
  }

  /* ── Headings ── */
  h1, h2, h3, h4, h5, h6 {
    color: #000 !important;
    page-break-after: avoid;
  }

  /* ── Tame letter-spacing in print ── */
  [style*="letter-spacing"],
  .ba-metric__label,
  .ba-panel__header,
  .ba-h3,
  .si-chip__name {
    letter-spacing: 0.02em !important;
  }

  .ba-metric__label {
    text-transform: none !important;
    font-variant: small-caps;
  }

  /* ── Cards — generic ── */
  .card,
  .ba-card,
  [style*="card-bg"] {
    border: 1px solid #ddd !important;
    box-shadow: none !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* ── Tables ── */
  .table {
    border-collapse: collapse !important;
  }

  .table th,
  .table td {
    border: 1px solid #ccc !important;
    padding: 4px 8px !important;
    font-size: 10pt !important;
  }

  /* ── Force responsive table columns visible in print ── */
  td.d-none.d-md-table-cell,
  th.d-none.d-md-table-cell,
  td.d-none.d-lg-table-cell,
  th.d-none.d-lg-table-cell {
    display: table-cell !important;
  }

  /* ── Badges ── */
  .badge,
  .cat-badge {
    border: 1px solid #999 !important;
  }

  /* ── Tier colours (preserve in print) ── */
  .tier-elite { background: #d1fae5 !important; color: #065f46 !important; }
  .tier-high-end { background: #dbeafe !important; color: #1e40af !important; }
  .tier-program { background: #fef3c7 !important; color: #92400e !important; }
  .tier-specialist { background: #fce7f3 !important; color: #9d174d !important; }
  .tier-review { background: #fee2e2 !important; color: #991b1b !important; }

  /* ── Kill all animations/transitions ── */
  * {
    animation: none !important;
    transition: none !important;
  }

  /* ── Rankings & History: bull detail cards ── */
  .bull-detail-card,
  .ba-card.ba-hero {
    opacity: 1 !important;
    transform: none !important;
  }

  .bull-detail-card {
    break-inside: avoid;
    page-break-inside: avoid;
    border: 1px solid #ddd !important;
    box-shadow: none !important;
    margin-bottom: 12px !important;
  }

  .bull-detail-card.bull-card-overflow,
  .bull-detail-card[style*="display:none"],
  .bull-detail-card[style*="display: none"] {
    display: block !important;
  }

  /* ── Hide action button rows inside bull cards in print ── */
  .bull-detail-card > div:last-child:has(.shortlist-star-btn),
  .ba-hero > div:last-child:has(.shortlist-star-btn) {
    display: none !important;
  }

  /* ── Rankings & History: summary cards ── */
  .sd-card.sd-card-overflow,
  .sd-card[style*="display:none"],
  .sd-card[style*="display: none"] {
    display: block !important;
  }

  /* ── Rankings & History: tab state override ── */
  #normalView,
  #normalView.sd-hidden {
    display: block !important;
  }

  /* ── Rankings & History: responsive view ── */
  .mobile-bull-card {
    display: none !important;
  }

  .desktop-table {
    display: block !important;
  }

  .results-header {
    break-after: avoid;
  }

  details.no-print,
  .results-header details summary {
    display: none !important;
  }

  .results-header details[open] > div {
    display: block !important;
  }

  /* ── Bootstrap collapse: force open in print ── */
  .collapse:not(.show) {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }

  /* ── Hide collapse toggle links/chevrons in print ── */
  a[data-bs-toggle="collapse"] {
    pointer-events: none !important;
    display: none !important;
  }
  a[data-bs-toggle="collapse"] > i.bi-chevron-down,
  a[data-bs-toggle="collapse"] > i.bi-chevron-up {
    display: none !important;
  }

  /* ── Rankings & History: panels ── */
  .ba-panel,
  .ba-panel--green,
  .ba-panel--amber,
  .ba-panel--purple,
  .ba-panel--slate {
    background: #f9fafb !important;
    border: 1px solid #ddd !important;
    color: #000 !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .ba-metric {
    border-color: #ddd !important;
  }

  .score-cell {
    background: #f9fafb !important;
    border: 1px solid #ddd !important;
    color: #000 !important;
  }

  .dp-panel {
    background: #fff !important;
    border: 1px solid #ddd !important;
  }

  .dp-warn {
    background: rgba(192,90,0,.08) !important;
    color: #000 !important;
  }


  /* ── Mating results ── */
  .mp-card {
    break-inside: avoid;
    page-break-inside: avoid;
    border: 1px solid #ccc !important;
    box-shadow: none !important;
    margin-bottom: 12px !important;
  }

  .mp-card .mp-body {
    display: block !important;
    max-height: none !important;
  }

  .mp-detail-panel {
    display: block !important;
  }

  .mp-hdr {
    cursor: default;
  }

  .mv-pillars {
    grid-template-columns: 1fr 1fr;
  }

  /* ── Demo pages: remove blur overlay ── */
  .demo-blur-wrap .demo-blurred {
    filter: none !important;
    -webkit-filter: none !important;
    pointer-events: auto !important;
    user-select: auto !important;
  }

  /* ── Demo pages: cards ── */
  .demo-card,
  .pillar-card,
  .guardrail-card,
  .antag-card,
  .demo-pair-card,
  .demo-summary-card,
  .cat-card,
  .cat-hero {
    box-shadow: none !important;
    border: 1px solid #ccc !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .rank-table {
    font-size: 9pt;
  }

  /* ── Quick Comparison table: fit in print ── */
  .desktop-table {
    overflow-x: visible !important;
    overflow: visible !important;
  }

  .desktop-table table {
    min-width: 0 !important;
    width: 100% !important;
    table-layout: fixed;
    font-size: 9pt !important;
    border-collapse: collapse !important;
  }

  .desktop-table th,
  .desktop-table td {
    padding: 4px 6px !important;
    font-size: 9pt !important;
    border: 1px solid #ddd !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal !important;
  }

  .desktop-table .ba-strength-tag,
  .desktop-table .ba-watch-tag,
  .desktop-table .ba-use-case-tag {
    font-size: 8pt !important;
    padding: 1px 4px !important;
    display: inline !important;
  }

  /* ── Hide CTA/action bars in print ── */
  #resultsCtaBar {
    display: none !important;
  }

  .mobile-action-bar {
    display: none !important;
  }

  /* ── Page breaks for major sections ── */
  .results-header {
    break-after: avoid;
    page-break-after: avoid;
  }

  .ba-card.ba-hero {
    break-before: auto;
    page-break-before: auto;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .bull-detail-card {
    break-before: page;
    page-break-before: always;
  }

  .bull-detail-card:first-of-type {
    break-before: auto;
    page-break-before: auto;
  }

  .dp-panel {
    break-before: auto;
    page-break-before: auto;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .tier-summary {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* ── Platform report ── */
  .report-wrap {
    box-shadow: none !important;
    padding: 0 !important;
    max-width: 100% !important;
  }

  .report-section {
    break-inside: avoid;
    page-break-inside: avoid;
    border-color: #ccc !important;
  }

  .report-table th {
    background: #e8e8e8 !important;
    color: #000 !important;
  }

  .report-toc,
  .report-stat-grid {
    background: #f5f5f5 !important;
  }

  .beefai-score-counter {
    font-size: 0 !important;
    line-height: 0 !important;
  }
  .beefai-score-counter::after {
    font-size: 20px !important;
    line-height: normal !important;
    content: attr(data-target-score) " / 5.0";
  }
}
