/* print.css — Papier firmowy Fundacji Entegra dla wydruku/PDF.
 *
 * Cel: gdy ktoś rozsyła PDF z redline'em ustawy, na pierwszy rzut oka widzi
 * BRAND Fundacji + URL — wiarygodne źródło, łatwe do zacytowania.
 *
 * Stosowanie:
 *   - Wczytane na każdej stronie przez `<link rel="stylesheet" media="print">`
 *   - JS-side `printBranded()` dorzuca <div id="print-brand-header"> przed <main>
 *   - Print CSS dorzuca @page header/footer + ukrywa interaktywne elementy
 *
 * Strategia:
 *   - Header (brand) tylko na pierwszej stronie (display: block w body::before via JS marker)
 *   - Footer (URL + page number) na każdej stronie via @page CSS counter
 *   - Background colors zachowane (`-webkit-print-color-adjust: exact`)
 *   - Otwierane są wszystkie <details> z JS (printBranded fn)
 */

@media print {

  /* === Page setup === */
  @page {
    size: A4;
    margin: 22mm 15mm 22mm;
    @top-right {
      content: string(doc-title);
      font-family: 'Satoshi', system-ui, sans-serif;
      font-size: 8pt;
      color: #6b7280;
      font-style: italic;
      max-width: 60%;
    }
    @top-left {
      content: "Fundacja Entegra · Monitor Legislacyjny";
      font-family: 'General Sans', 'Satoshi', sans-serif;
      font-size: 8pt;
      font-weight: 700;
      color: #0d9488;
    }
    @bottom-left {
      content: "dzienzenergia.pl/radar";
      font-family: 'JetBrains Mono', 'SF Mono', monospace;
      font-size: 7pt;
      color: #4b5563;
    }
    @bottom-right {
      content: "strona " counter(page) " z " counter(pages);
      font-family: 'JetBrains Mono', 'SF Mono', monospace;
      font-size: 7pt;
      color: #4b5563;
    }
  }
  /* H1 wycięcie do `string(doc-title)` żeby pojawił się na każdej stronie u góry */
  h1, .detail-head h1 {
    string-set: doc-title content();
  }
  /* Pierwsza strona — bez running header (brand widoczny w `.print-brand-header`) */
  @page :first {
    @top-left { content: ""; }
    @top-right { content: ""; }
  }

  /* === Reset interaktywnych elementów === */
  /* Topbar / drawer / footer / floating buttons / cmd palette → ukryj */
  .topbar,
  .drawer,
  .drawer-backdrop,
  .footer,
  .topbar-burger,
  .topbar-actions,
  .topbar-cmdk,
  .topbar-btn-icon,
  .theme-btn,
  .topbar-back,
  .skip-link,
  .cmdp-root,
  .rdr-toast,
  .act-back-to-top,
  .crumbs,
  noscript,
  .skeleton,                              /* loadery — schowaj */
  .ae-expand-toggle,                      /* expand carets w tabeli */
  [data-action="open-cmd-palette"],
  [data-action="toggle-theme"] {
    display: none !important;
  }

  /* === Body / layout === */
  html, body {
    background: var(--c-bg-elev) !important;
    color: var(--c-fg) !important;
    font-family: 'Satoshi', 'Helvetica Neue', sans-serif;
    font-size: 10pt;
    line-height: 1.45;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  body::before, body::after {
    display: none !important;     /* dot-grid + ambient glow off */
  }
  main, .wrap {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* === Brand header (wstrzykiwany przez printBranded()) === */
  .print-brand-header {
    display: block !important;
    margin: 0 0 12mm;
    padding-bottom: 6mm;
    border-bottom: 2pt solid var(--c-teal);
    page-break-after: avoid;
  }
  .print-brand {
    display: flex;
    align-items: center;
    gap: 10pt;
  }
  .print-brand__logo {
    width: 36pt;
    height: 36pt;
    border-radius: 8pt;
    background: var(--c-teal);
    color: var(--c-bg-elev);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22pt;
    font-weight: 700;
    flex-shrink: 0;
  }
  .print-brand__text {
    flex: 1;
  }
  .print-brand__name {
    font-family: 'General Sans', 'Satoshi', sans-serif;
    font-size: 14pt;
    font-weight: 800;
    color: var(--c-fg);
    letter-spacing: -.01em;
    margin: 0;
  }
  .print-brand__tagline {
    font-size: 9pt;
    color: #4b5563;
    margin-top: 1pt;
  }
  .print-brand__url {
    font-family: 'JetBrains Mono', 'SF Mono', monospace;
    font-size: 9pt;
    color: var(--c-teal);
    font-weight: 600;
    text-align: right;
  }
  .print-brand__divider {
    /* Linia redakcyjna — ciężka, jednolita */
    height: 2pt;
    background: var(--c-teal);
    margin: 4pt 0 4pt;
  }
  .print-brand__date {
    font-size: 8pt;
    color: #6b7280;
    text-align: right;
    font-style: italic;
  }

  /* === Title / headings — czarne, większe === */
  .detail-head h1 {
    background: none !important;
    -webkit-text-fill-color: initial !important;
    color: var(--c-fg) !important;
    font-size: 18pt !important;
    font-weight: 800;
    margin: 0 0 4pt 0;
    page-break-after: avoid;
    animation: none !important;
  }
  .detail-meta {
    color: #4b5563 !important;
    font-size: 9pt;
    margin-bottom: 8pt;
  }

  /* === Quick stats — kompaktowe boxy === */
  .quick-stats {
    background: #f9fafb !important;
    border: 1pt solid #d1d5db !important;
    box-shadow: none !important;
    page-break-inside: avoid;
    gap: 6pt 16pt !important;
    padding: 6pt 8pt !important;
  }
  .quick-stat__num {
    color: var(--c-teal) !important;
    font-size: 14pt !important;
  }
  .quick-stat__num--placeholder {
    display: none !important;
  }

  /* === Sections === */
  .section, .section-tight {
    page-break-inside: avoid;
    margin: 8pt 0 !important;
  }
  .section-title {
    color: var(--c-fg) !important;
    font-size: 13pt !important;
    border-bottom: 1pt solid #d1d5db;
    padding-bottom: 3pt;
    margin: 10pt 0 6pt !important;
    page-break-after: avoid;
  }

  /* === Tabela ewolucji kotwic — print-friendly === */
  .ae-table-wrap {
    overflow: visible !important;
    border: 1pt solid #d1d5db !important;
  }
  .ae-table {
    font-size: 8pt;
    border-collapse: collapse;
    width: 100%;
  }
  .ae-row,
  .ae-row-expand {
    page-break-inside: avoid;
  }
  .ae-cell {
    background: #f9fafb !important;
    padding: 1pt 5pt !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .ae-cell--insert    { background: #d1fae5 !important; color: #047857 !important; }
  .ae-cell--modify    { background: #fef3c7 !important; color: #b45309 !important; }
  .ae-cell--delete    { background: #fee2e2 !important; color: #b91c1c !important; }
  .ae-cell--substitute{ background: #ede9fe !important; color: #6d28d9 !important; }
  .ae-cell--empty     { background: transparent !important; color: #9ca3af !important; }
  .ae-summary, .ae-legend, .ae-intro {
    font-size: 8pt;
    color: #4b5563 !important;
  }

  /* === Redline diff (ins/del/keep) — wyraźne kolory === */
  ins, .rl-ins {
    background: #d1fae5 !important;
    color: #065f46 !important;
    text-decoration: none !important;
    padding: 0 1pt;
    border-radius: 1pt;
  }
  del, .rl-del {
    background: #fee2e2 !important;
    color: #991b1b !important;
    text-decoration: line-through !important;
    padding: 0 1pt;
  }
  .rl-keep {
    color: #1f2937 !important;
  }

  /* === Cards / project-cta — kompaktowe === */
  .project-cta {
    border-left: 2pt solid var(--c-teal) !important;
    background: #f9fafb !important;
    page-break-inside: avoid;
  }
  .project-cta::before { display: none !important; }
  .project-cta__head { color: var(--c-fg) !important; font-size: 11pt; }

  /* === Coverage banner — uproszczone === */
  .act-coverage {
    border: 1pt solid #d1d5db !important;
    page-break-inside: avoid;
  }
  .act-coverage::before { display: none !important; }

  /* === <details> — wszystkie OPEN forced === */
  details {
    border: 1pt solid #d1d5db !important;
    page-break-inside: avoid;
    margin: 6pt 0;
  }
  details > summary {
    background: #f9fafb !important;
    cursor: default;
    color: var(--c-fg) !important;
  }
  details > summary::after { content: '' !important; }    /* schowaj toggle arrow */

  /* === Mini-timeline — kompaktowe === */
  .tl--compact .tl-track {
    background: #f9fafb !important;
    border: 1pt solid #d1d5db !important;
    box-shadow: none !important;
    padding: 5pt 8pt !important;
  }
  .tl-stage[data-state="achieved"] .tl-dot {
    background: var(--c-teal) !important;
    color: var(--c-bg-elev) !important;
  }
  .tl-stage[data-state="current"] .tl-dot {
    background: var(--c-bg-elev) !important;
    color: var(--c-teal) !important;
    border: 2pt solid var(--c-teal) !important;
  }
  .tl-track::after {
    background: var(--c-teal) !important;
    box-shadow: none !important;
  }

  /* === Stage section detail (wszystkie etapy) === */
  .tl-stage-section {
    border-left: 2pt solid #d1d5db !important;
    background: var(--c-bg-elev) !important;
    box-shadow: none !important;
    page-break-inside: avoid;
    opacity: 1 !important;
  }
  .tl-stage-section__num {
    background: var(--c-teal) !important;
    color: var(--c-bg-elev) !important;
  }
  .tl-stage-section__head {
    background: #f9fafb !important;
  }
  .tl-stage-section__badge {
    background: transparent !important;
    border: 1pt solid #d1d5db !important;
    color: #4b5563 !important;
    box-shadow: none !important;
  }
  .tl-stage-section__badge--achieved {
    color: #047857 !important;
    border-color: #047857 !important;
  }
  .tl-stage-section__badge--current {
    color: var(--c-teal) !important;
    border-color: var(--c-teal) !important;
  }

  /* === Linki na czarno + URL w nawiasach (akademicki standard) === */
  a {
    color: var(--c-fg) !important;
    text-decoration: none !important;
  }
  a[href^="http"]:not(.print-brand__url)::after {
    content: " (" attr(href) ")";
    font-size: 7pt;
    color: #6b7280;
    word-break: break-all;
  }
  /* …ale nie dla kotwic-anchorów ani internal */
  a[href^="#"]::after,
  a[href^="act.html"]::after,
  a[href^="project.html"]::after {
    content: '';
  }

  /* === Stage-specific widget — print czysto === */
  .sw, .sw-prez, .sw-eff {
    border: 1pt solid #d1d5db !important;
    background: var(--c-bg-elev) !important;
    page-break-inside: avoid;
  }

  /* === Porównanie brzmień między etapami (.vd-*) — print czysto === */
  .vd__controls { display: none !important; }
  .vd-summary {
    border: 1pt solid #d1d5db !important;
    box-shadow: none !important;
    background: #f9fafb !important;
  }
  .vd-act { page-break-inside: avoid; }
  .vd-unit {
    page-break-inside: avoid;
    border: 1pt solid #d1d5db !important;
  }
  .vd-unit__text--added   { background: #f0fdf4 !important; }
  .vd-unit__text--removed { background: #fef2f2 !important; }
}
