/* ═══════════════════════════════════════════════════════
   ZETTLD Print Stylesheet
   Optimized for report.html and compare.html.
   Loaded by pages that buyers may want to print or PDF.
   ═══════════════════════════════════════════════════════ */

@media print {
  /* ── RESET FOR PRINT ── */
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body {
    font-family: 'Plus Jakarta Sans', 'Segoe UI', Helvetica, Arial, sans-serif;
    font-size: 11pt;
    line-height: 1.5;
    margin: 0;
    padding: 0;
  }

  /* ── HIDE NON-CONTENT ELEMENTS ── */
  nav,
  footer,
  .nav-burger,
  .nav-mobile,
  .nav-overlay,
  .compare-actions,
  .compare-bottom .cmp-btn,
  .next-grid,
  .next-card,
  .gated-btn,
  .gated-overlay,
  .quiz-cta,
  .upsell-section,
  .btn-row,
  .btn-next,
  .btn-back,
  .btn-skip,
  .loading,
  .compare-loading,
  .compare-empty,
  .toast,
  body::after {
    display: none !important;
  }

  /* ── PAGE LAYOUT ── */
  .container,
  .compare-wrap,
  .compare-bottom {
    max-width: 100%;
    padding: 0;
    margin: 0;
  }

  /* ── TYPOGRAPHY ── */
  h1, h2, h3, h4 {
    font-family: 'Fraunces', Georgia, serif;
    color: #000 !important;
    page-break-after: avoid;
  }

  .report-header h1 {
    font-size: 20pt;
  }

  .report-header h1 em,
  .page-header h1 em {
    font-style: normal;
    color: #333 !important;
  }

  .rpt-label,
  .cost-label,
  .verdict-label {
    color: #555 !important;
    font-size: 8pt;
    letter-spacing: 2px;
  }

  .rpt-title,
  .panel-title {
    font-size: 14pt;
  }

  /* ── REPORT SECTIONS ── */
  .rpt-section {
    page-break-inside: avoid;
    margin-bottom: 20pt;
  }

  .panel {
    border: 1px solid #ddd !important;
    border-radius: 6px;
    padding: 12pt;
    margin-bottom: 10pt;
    page-break-inside: avoid;
  }

  /* ── COST TABLE ── */
  .cost-table {
    width: 100%;
    border-collapse: collapse;
  }

  .cost-table td {
    padding: 4pt 0;
    border-bottom: 1px solid #eee !important;
    font-size: 10pt;
  }

  .cost-table .cost-total-row td {
    border-top: 2px solid #333 !important;
    font-size: 12pt;
    font-weight: bold;
  }

  .cost-table .cost-hidden {
    color: #666 !important;
    font-style: italic;
  }

  .cost-compare {
    display: flex;
    gap: 12pt;
    margin-top: 10pt;
  }

  .cost-compare-card {
    flex: 1;
    border: 1px solid #ddd !important;
    border-radius: 6px;
    padding: 10pt;
    text-align: center;
  }

  .cost-compare-card.layer2 {
    border: 2px solid #999 !important;
  }

  .cost-compare-diff {
    color: #c00 !important;
  }

  /* ── STAT ROWS ── */
  .stat-row {
    display: flex;
    justify-content: space-between;
    padding: 3pt 0;
    border-bottom: 1px solid #eee !important;
    font-size: 10pt;
  }

  .stat-row-val.good { color: #2a7a5a !important }
  .stat-row-val.warn { color: #9a7a2a !important }
  .stat-row-val.bad  { color: #c44 !important }

  /* ── COMP GRID ── */
  .comp-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8pt;
  }

  .comp-card {
    border: 1px solid #ddd !important;
    border-radius: 4px;
    padding: 8pt;
    font-size: 9pt;
    page-break-inside: avoid;
  }

  /* ── NEIGHBORHOOD METRICS ── */
  .hood-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8pt;
  }

  .hood-metric {
    border: 1px solid #ddd !important;
    border-radius: 4px;
    padding: 8pt;
    text-align: center;
  }

  .hood-bar-fill {
    background: #333 !important;
  }

  /* ── NEGOTIATION ── */
  .nego-hero {
    border: 2px solid #333 !important;
    border-radius: 8px;
    padding: 14pt;
    text-align: center;
    page-break-inside: avoid;
  }

  .nego-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8pt;
  }

  .nego-card {
    border: 1px solid #ddd !important;
    border-radius: 4px;
    padding: 10pt;
    text-align: center;
    page-break-inside: avoid;
  }

  /* ── LEVERAGE & FLAGS ── */
  .leverage-item,
  .flag-item {
    border: 1px solid #ddd !important;
    margin-bottom: 4pt;
    page-break-inside: avoid;
  }

  .leverage-dot.pos { background: #2a7a5a !important }
  .leverage-dot.neu { background: #9a7a2a !important }
  .leverage-dot.neg { background: #c44 !important }

  .flag-item.clear { border-left: 3px solid #2a7a5a !important }
  .flag-item.warning { border-left: 3px solid #9a7a2a !important }
  .flag-item.danger { border-left: 3px solid #c44 !important }

  /* ── PLAYBOOK ── */
  .play-step {
    page-break-inside: avoid;
  }

  .play-script {
    border: 1px solid #ddd !important;
    border-radius: 4px;
    padding: 6pt 10pt;
    font-style: italic;
  }

  /* ── SALE HISTORY ── */
  .sale-history .stat-row {
    page-break-inside: avoid;
  }

  /* ── CONFIDENCE NOTE ── */
  .confidence-note {
    border: 1px solid #999 !important;
    border-radius: 6px;
    padding: 10pt;
    page-break-inside: avoid;
  }

  /* ── COMPARE PAGE ── */
  .compare-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12pt;
  }

  .prop-card {
    border: 1px solid #ddd !important;
    border-radius: 8px;
    overflow: hidden;
    page-break-inside: avoid;
  }

  .prop-card::before {
    height: 3px;
  }

  .prop-card.winner::before { background: #2a7a5a !important }
  .prop-card.loser::before  { background: #c44 !important }

  .verdict-tag {
    border: 1px solid #999 !important;
    border-radius: 3px;
    padding: 2pt 6pt;
    font-size: 7pt;
  }

  .match-badge {
    border: 1px solid #999 !important;
    border-radius: 50%;
    width: 40px;
    height: 40px;
  }

  .prop-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .prop-stat {
    border-bottom: 1px solid #eee !important;
    font-size: 9pt;
  }

  .prop-stat-val.win  { color: #2a7a5a !important }
  .prop-stat-val.lose { color: #c44 !important }

  .cost-delta {
    border: 1px solid #ddd !important;
    border-radius: 4px;
    font-size: 9pt;
  }

  .cost-delta.saves { color: #2a7a5a !important }
  .cost-delta.costs { color: #c44 !important }

  .match-fill {
    background: #333 !important;
  }

  .prop-insight {
    border: 1px solid #ddd !important;
    border-radius: 4px;
    font-size: 9pt;
  }

  .compare-verdict {
    border: 2px solid #333 !important;
    border-radius: 8px;
    padding: 14pt;
    text-align: center;
    page-break-inside: avoid;
  }

  .vs-divider {
    display: flex !important;
  }

  .vs-dot {
    border: 1px solid #999 !important;
    color: #999 !important;
  }

  .vs-line {
    background: #ccc !important;
  }

  /* ── HEADER/FOOTER ── */
  @page {
    margin: 0.75in;
    @bottom-center {
      content: "Generated by ZETTLD — zettld.com";
      font-size: 8pt;
      color: #999;
    }
  }

  /* ── GATED CONTENT ── */
  .gated {
    page-break-inside: avoid;
  }

  .gated-blur {
    filter: none !important;
    opacity: 0.3 !important;
  }

  /* ── ANIMATIONS OFF ── */
  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }

  /* ── LINKS ── */
  a[href]::after {
    content: none; /* Don't show URLs inline — clutters print */
  }

  /* ──────────────────────────────────────────────────
     EDITORIAL HERO — print as a clean cover page
     ────────────────────────────────────────────────── */
  .editorial-hero {
    margin: 0 0 18pt;
    min-height: auto;
    page-break-after: auto;
    page-break-inside: avoid;
    border: 1px solid #ccc !important;
    border-radius: 4px;
    overflow: hidden;
    width: 100%;
  }
  .eh-photo-bg, .eh-grain, .eh-gradient { display: none !important; }
  .eh-photo-img { display: none !important; }
  .eh-content {
    position: relative !important;
    inset: auto !important;
    padding: 16pt 18pt 8pt;
  }
  .eh-eyebrow,
  .eh-eyebrow-dot { display: none !important; }
  .eh-address {
    font-family: 'Fraunces', Georgia, serif !important;
    font-size: 22pt;
    line-height: 1.05;
    color: #000 !important;
    text-shadow: none !important;
    margin: 0 0 6pt;
  }
  .eh-num, .eh-street { color: #000 !important; }
  .eh-locale {
    font-size: 11pt;
    color: #444 !important;
    text-shadow: none !important;
  }
  .eh-specs {
    position: relative !important;
    inset: auto !important;
    padding: 8pt 18pt 10pt;
    background: transparent !important;
    border-top: 1px solid #ccc !important;
    color: #333 !important;
    font-size: 9pt;
    letter-spacing: 1.2px;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    justify-content: flex-start;
    gap: 0 14pt;
  }
  .eh-spec-sep { background: #999 !important; }
  .eh-photo-count, .eh-dossier { display: none !important; }

  /* Utility ribbon — keep date + asking, hide actions */
  .report-utility { padding: 6pt 0; margin-bottom: 16pt; border-bottom: 1px solid #ccc !important; }
  .ru-actions, .rpt-act { display: none !important; }
  .ru-meta { font-size: 9pt; color: #555 !important; }
  .ru-asking strong { color: #000 !important; }

  /* ──────────────────────────────────────────────────
     PRICING SCORE BAND
     ────────────────────────────────────────────────── */
  .pricing-band {
    border-top: 1px solid #999 !important;
    border-bottom: 1px solid #999 !important;
    padding: 12pt 0;
    margin: 12pt 0 18pt;
    page-break-inside: avoid;
    background: transparent !important;
  }
  .pb-eyebrow {
    color: #555 !important;
    margin-bottom: 10pt;
    font-size: 8pt;
  }
  .pb-eyebrow::before { background: #999 !important; }
  .pb-row {
    border-bottom: 1px solid #eee !important;
    padding: 6pt 0;
  }
  .pb-label { color: #555 !important; font-size: 9pt; }
  .pb-op { color: #999 !important; font-size: 14pt; }
  .pb-value {
    color: #000 !important;
    font-size: 14pt;
    text-shadow: none !important;
    font-family: 'Fraunces', Georgia, serif !important;
  }
  .pb-fair .pb-value { color: #2a7a5a !important; }
  .pb-note { color: #777 !important; font-size: 9pt; }
  .pb-rule { background: #999 !important; }
  .pb-gap .pb-value {
    font-size: 18pt;
    color: #b8801c !important;
    text-shadow: none !important;
  }
  .pb-zmp-cta {
    border: 1px solid #999 !important;
    color: #555 !important;
    background: transparent !important;
  }

  /* ──────────────────────────────────────────────────
     TAX BARS
     ────────────────────────────────────────────────── */
  .tax-bars { page-break-inside: avoid; }
  .tax-row {
    page-break-inside: avoid;
    border-bottom: 1px solid #eee !important;
    padding: 6pt 0;
  }
  .tax-year { color: #b8801c !important; font-size: 9pt; }
  .tax-bar { background: #f0f0f0 !important; height: 14px; }
  .tax-bar-fill {
    background: #999 !important;
    border-right: 1px solid #555 !important;
    width: var(--w, 0%) !important;
  }
  .tax-assessed { color: #000 !important; font-size: 10pt; }
  .tax-tax { color: #555 !important; font-size: 8pt; }

  /* ──────────────────────────────────────────────────
     SALE TIMELINE
     ────────────────────────────────────────────────── */
  .sale-timeline {
    padding: 50pt 4pt 60pt;
    min-height: auto;
    page-break-inside: avoid;
  }
  .sale-timeline-axis { background: #999 !important; height: 1px !important; }
  .sale-timeline-axis::before, .sale-timeline-axis::after { background: #555 !important; }
  .se-info {
    border: 1px solid #ccc !important;
    background: #fff !important;
    box-shadow: none !important;
    padding: 4pt 7pt;
  }
  .se-tag {
    border: 1px solid #999 !important;
    color: #555 !important;
    font-size: 7pt;
  }
  .se-tag.list, .se-tag.cut, .se-tag.sold, .se-tag.assd {
    background: transparent !important;
    color: #333 !important;
  }
  .se-marker.list { background: #2a7a5a !important; }
  .se-marker.cut  { background: #c44 !important; }
  .se-marker.sold { background: #b8801c !important; }
  .se-marker.assd { background: #999 !important; }
  .se-stem { background: #999 !important; }
  .se-price { color: #000 !important; font-size: 10pt; }
  .se-date { color: #777 !important; font-size: 7pt; }

  /* ──────────────────────────────────────────────────
     CLOSING SECTION
     ────────────────────────────────────────────────── */
  .rpt-closing {
    padding: 14pt 0;
    margin-top: 18pt;
    page-break-inside: avoid;
  }
  .rpt-closing-title { font-size: 18pt; color: #000 !important; }
  .rpt-closing-title em { color: #555 !important; }
  .rpt-closing-sub { color: #555 !important; font-size: 11pt; }
  .rpt-closing-grid { display: block; }
  .rpt-cta-primary, .rpt-cta-secondary, .rpt-cta-tertiary {
    border: 1px solid #999 !important;
    background: transparent !important;
    padding: 10pt;
    margin-bottom: 6pt;
    box-shadow: none !important;
    page-break-inside: avoid;
  }
  .rpt-cta-primary::after { display: none !important; }
  .rpt-cta-eyebrow { color: #b8801c !important; }
  .rpt-cta-headline { color: #000 !important; font-size: 13pt; }
  .rpt-cta-sub { color: #555 !important; font-size: 9pt; }
  .rpt-cta-price { color: #b8801c !important; }
  .rpt-cta-arrow { color: #999 !important; }
  .rpt-cta-row { display: block; }
  .rpt-signoff { border-top: 1px solid #999 !important; padding-top: 12pt; }
  .rpt-signoff-line { background: #ccc !important; height: 1px; }
  .rpt-signoff-text { color: #777 !important; font-size: 8pt; }

  /* Scroll-progress and any sticky-prop never print */
  .scroll-progress, .sticky-prop, .rpt-anchor-nav { display: none !important; }
}
