/* ══════════════════════════════════════════════════════════════
   PRINT / PDF — Editorial · Brasil 2016–2026
   Diagramação de revista · fundo branco · tipografia sóbria
   ══════════════════════════════════════════════════════════════ */

@page {
  size: A4 portrait;
  margin: 18mm 16mm 20mm;
}

@page :first {
  margin-top: 22mm;
}

@media print {

  /* ── Reset global — elimina fundos escuros do site ── */
  :root {
    color-scheme: light only;
  }

  *,
  *::before,
  *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  html {
    font-size: 10pt;
    scroll-behavior: auto;
    background: #fff !important;
  }

  body,
  body.is-printing,
  main,
  header,
  footer,
  section,
  article,
  aside,
  nav,
  div {
    background: #fff !important;
    background-image: none !important;
    color: #2a2a2a !important;
  }

  body {
    line-height: 1.58;
    overflow: visible !important;
    font-family: 'Source Sans 3', Georgia, serif !important;
  }

  /* ── Ocultar UI do site ── */
  .skip-link,
  .nav,
  .progress-bar,
  .fab-actions,
  .fab-panel,
  .fab-toast,
  .hero__scroll-indicator,
  .hero__cta,
  .nav__toggle,
  .table-card__scroll-hint,
  .executive-summary__icon,
  .recommendation__icon,
  .section-sources__icon,
  .factcheck__heading svg {
    display: none !important;
  }

  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }

  main,
  .section,
  .container {
    width: 100% !important;
    max-width: none !important;
    overflow: visible !important;
    contain: none !important;
  }

  .section {
    padding: 0.85rem 0 1.1rem !important;
    break-inside: auto;
    page-break-inside: auto;
  }

  .section--alt,
  .section--highlight,
  .section--conclusion {
    background: #fff !important;
  }

  .container {
    padding: 0 !important;
  }

  /* ── Capa editorial ── */
  .hero {
    min-height: 0 !important;
    padding: 2.5rem 0 2rem !important;
    margin-bottom: 0 !important;
    background: #fff !important;
    break-after: page;
    page-break-after: always;
    border-bottom: 2pt solid #111;
  }

  .hero__overlay {
    display: none !important;
  }

  .hero__content {
    max-width: none !important;
    padding: 0 !important;
  }

  .hero__kicker {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #666 !important;
    margin-bottom: 0.75rem !important;
  }

  .hero__title {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: #111 !important;
    font-size: 2.15rem !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    margin: 0 0 0.85rem !important;
  }

  .hero__title-accent {
    color: #333 !important;
    font-weight: 600 !important;
  }

  .hero__subtitle {
    color: #444 !important;
    font-size: 0.92rem !important;
    max-width: 38ch;
    line-height: 1.55 !important;
    margin-bottom: 1rem !important;
  }

  .hero__meta {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0.35rem 1rem !important;
    margin-top: 0.5rem !important;
  }

  .hero__meta-item {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #555 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
  }

  .hero__meta-item svg {
    display: none !important;
  }

  .hero__meta-item + .hero__meta-item::before {
    content: "·";
    margin-right: 1rem;
    color: #aaa;
  }

  /* ── Cabeçalhos de seção (estilo revista) ── */
  .section-header {
    margin-bottom: 0.75rem !important;
    padding-bottom: 0.4rem !important;
    border-bottom: 0.75pt solid #111;
    break-after: avoid;
  }

  .section-header__title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 1.35rem !important;
    font-weight: 600 !important;
    color: #111 !important;
    letter-spacing: -0.01em;
    margin: 0 !important;
  }

  .section-header__subtitle {
    font-size: 0.78rem !important;
    color: #555 !important;
    margin-top: 0.25rem !important;
    font-style: italic;
  }

  .subsection-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #111 !important;
    margin: 1rem 0 0.4rem !important;
    break-after: avoid;
  }

  /* ── Corpo de texto ── */
  p, li, td, th, .source {
    color: #333 !important;
    font-size: 0.82rem !important;
  }

  p {
    orphans: 3;
    widows: 3;
    margin-bottom: 0.45rem !important;
  }

  strong {
    color: #111 !important;
    font-weight: 600 !important;
  }

  a {
    color: #222 !important;
    text-decoration: none !important;
    border-bottom: 0.5pt solid #bbb;
  }

  .section-sources__link[href^="http"]::after,
  .footer__sources a[href^="http"]::after {
    content: " [" attr(href) "]";
    font-size: 0.58rem;
    color: #888;
    word-break: break-all;
    border: none;
  }

  /* ── Sumário executivo ── */
  .executive-summary {
    background: #fff !important;
    border: none !important;
    border-left: 2pt solid #111 !important;
    padding: 0.5rem 0 0.5rem 0.85rem !important;
    margin-bottom: 0.85rem !important;
  }

  .executive-summary p {
    font-size: 0.88rem !important;
    line-height: 1.6 !important;
    color: #2a2a2a !important;
  }

  .data-note {
    background: #fafafa !important;
    border: 0.5pt solid #e0e0e0 !important;
    border-radius: 0 !important;
    padding: 0.4rem 0.55rem !important;
    font-size: 0.68rem !important;
    color: #666 !important;
    margin-bottom: 0.75rem !important;
  }

  /* ── Números-chave — sóbrios, sem destaque exagerado ── */
  .key-numbers {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0 !important;
    border-top: 0.5pt solid #ccc;
    border-bottom: 0.5pt solid #ccc;
    margin: 0.85rem 0 1rem !important;
    break-inside: avoid;
  }

  .key-number {
    background: #fff !important;
    border: none !important;
    border-right: 0.5pt solid #e8e8e8 !important;
    border-radius: 0 !important;
    padding: 0.55rem 0.45rem !important;
    text-align: center;
    break-inside: avoid;
  }

  .key-number:last-child {
    border-right: none !important;
  }

  .key-number__value {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    color: #111 !important;
    display: inline !important;
  }

  .key-number__suffix {
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 0.72rem !important;
    color: #555 !important;
    font-weight: 400 !important;
  }

  .key-number__label {
    display: block !important;
    font-size: 0.62rem !important;
    color: #555 !important;
    line-height: 1.35 !important;
    margin-top: 0.2rem !important;
  }

  .key-number__period {
    font-size: 0.58rem !important;
    color: #888 !important;
    margin-top: 0.1rem !important;
  }

  /* ── Destaques inline ── */
  .data-highlight {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0.5rem !important;
    margin: 0.75rem 0 !important;
  }

  .data-highlight__item {
    background: #fafafa !important;
    border: 0.5pt solid #e5e5e5 !important;
    border-radius: 0 !important;
    padding: 0.45rem 0.5rem !important;
    break-inside: avoid;
  }

  .data-highlight__item--danger,
  .data-highlight__item--success,
  .data-highlight__item--warning {
    background: #fafafa !important;
    border-color: #e5e5e5 !important;
  }

  .data-highlight__number {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #111 !important;
    display: block !important;
  }

  .data-highlight__text {
    font-size: 0.62rem !important;
    color: #555 !important;
    line-height: 1.35 !important;
    margin-top: 0.15rem !important;
  }

  /* ── Gráficos — figura editorial ── */
  .chart-card {
    background: #fff !important;
    border: none !important;
    border-top: 0.5pt solid #ddd !important;
    border-radius: 0 !important;
    padding: 0.65rem 0 0.5rem !important;
    margin-bottom: 0.65rem !important;
    break-inside: avoid;
    page-break-inside: avoid;
    contain: none !important;
  }

  .chart-card__title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    color: #111 !important;
    margin: 0 !important;
  }

  .chart-card__subtitle {
    font-size: 0.65rem !important;
    color: #777 !important;
    margin: 0.1rem 0 0.4rem !important;
    font-style: italic;
  }

  .chart-card__canvas-wrap,
  .chart-card__canvas-wrap--short {
    height: 175px !important;
    min-height: 175px !important;
    max-height: 175px !important;
    overflow: visible !important;
    background: #fff !important;
    margin-bottom: 0.25rem !important;
  }

  .chart-card__canvas-wrap canvas,
  canvas {
    background: #fff !important;
    opacity: 1 !important;
    max-width: 100% !important;
  }

  .chart-card__footnote {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.58rem !important;
    color: #888 !important;
    line-height: 1.4 !important;
    margin-top: 0.25rem !important;
    padding-top: 0.25rem !important;
    border-top: 0.5pt solid #eee;
  }

  /* Dois gráficos lado a lado quando couber */
  .grid--2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.75rem !important;
    align-items: start;
  }

  .chart-card--wide {
    break-inside: avoid;
  }

  .chart-card--wide .chart-card__canvas-wrap,
  .chart-card--wide .chart-card__canvas-wrap--short {
    height: 155px !important;
    min-height: 155px !important;
  }

  /* ── Tabelas ── */
  .table-card {
    background: #fff !important;
    border: 0.5pt solid #ddd !important;
    border-radius: 0 !important;
    padding: 0.5rem !important;
    margin-bottom: 0.65rem !important;
    break-inside: auto;
    contain: none !important;
  }

  .table-card__scroll {
    overflow: visible !important;
    width: 100% !important;
  }

  .data-table,
  .data-table.debt-rank-table {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 0.58rem !important;
    border-collapse: collapse !important;
  }

  .debt-rank-table th,
  .debt-rank-table td,
  .data-table th,
  .data-table td {
    position: static !important;
    box-shadow: none !important;
    background: #fff !important;
    white-space: normal !important;
    word-break: break-word !important;
    padding: 0.22rem 0.28rem !important;
    border-bottom: 0.5pt solid #ebebeb !important;
    color: #222 !important;
    vertical-align: top !important;
  }

  .data-table th,
  .debt-rank-table th {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.54rem !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #111 !important;
    background: #f5f5f5 !important;
    border-bottom: 0.5pt solid #ccc !important;
  }

  .data-table__row--highlight td,
  .debt-rank-table__row--highlight td {
    background: #f7f7f7 !important;
  }

  .data-table__label {
    color: #111 !important;
    font-weight: 600 !important;
  }

  thead {
    display: table-header-group;
  }

  tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* ── Fact-check — colunas editoriais ── */
  .factcheck {
    margin: 0.75rem 0 !important;
    break-inside: avoid;
  }

  .factcheck__heading {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 0.88rem !important;
    color: #111 !important;
    margin-bottom: 0.45rem !important;
  }

  .factcheck__cards {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.45rem !important;
  }

  .factcheck__card {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    border: 0.5pt solid #ddd !important;
    border-radius: 0 !important;
    overflow: visible !important;
    break-inside: avoid;
  }

  .factcheck__fake,
  .factcheck__real {
    background: #fff !important;
    padding: 0.45rem 0.55rem !important;
    border: none !important;
  }

  .factcheck__fake {
    border-right: 0.5pt solid #ddd !important;
    border-left: 2pt solid #8b3a35 !important;
  }

  .factcheck__real {
    border-left: 2pt solid #3d6b52 !important;
  }

  .factcheck__tag {
    font-size: 0.54rem !important;
    padding: 0.1rem 0.3rem !important;
    margin-bottom: 0.25rem !important;
    border-radius: 0 !important;
  }

  .factcheck__tag--fake {
    color: #8b3a35 !important;
    background: #faf5f4 !important;
  }

  .factcheck__tag--real {
    color: #3d6b52 !important;
    background: #f4f8f5 !important;
  }

  .factcheck__fake p,
  .factcheck__real p {
    font-size: 0.72rem !important;
    color: #333 !important;
    line-height: 1.5 !important;
  }

  .factcheck__fake p {
    font-style: italic;
  }

  /* ── Caixas de análise ── */
  .analysis-box,
  .context-box {
    background: #fafafa !important;
    border: none !important;
    border-left: 2pt solid #111 !important;
    border-radius: 0 !important;
    padding: 0.5rem 0.65rem !important;
    margin: 0.65rem 0 !important;
    break-inside: avoid;
  }

  .analysis-box::before {
    display: none !important;
  }

  .analysis-box__title {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.58rem !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #444 !important;
    margin-bottom: 0.3rem !important;
  }

  .concept-card {
    background: #fff !important;
    border: 0.5pt solid #e5e5e5 !important;
    border-radius: 0 !important;
    padding: 0.45rem 0.55rem !important;
    break-inside: avoid;
  }

  .concept-card h4 {
    font-size: 0.75rem !important;
    color: #111 !important;
  }

  .concept-card p {
    font-size: 0.68rem !important;
    color: #444 !important;
  }

  /* ── Programas sociais ── */
  .program-card {
    background: #fff !important;
    border: 0.5pt solid #ddd !important;
    border-radius: 0 !important;
    break-inside: avoid;
    margin-bottom: 0.5rem !important;
  }

  .program-card__header,
  .program-card__header--bf,
  .program-card__header--desenrola,
  .program-card__header--pedemeia {
    background: #f5f5f5 !important;
    background-image: none !important;
    border-bottom: 0.5pt solid #ddd !important;
    padding: 0.4rem 0.55rem !important;
  }

  .program-card__body {
    padding: 0.45rem 0.55rem !important;
  }

  .program-card__list li {
    font-size: 0.72rem !important;
    color: #333 !important;
  }

  .grid--3 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0.5rem !important;
  }

  /* ── Trends ── */
  .trend {
    font-size: 0.58rem !important;
    padding: 0.1rem 0.35rem !important;
    border-radius: 0 !important;
  }

  .trend--up {
    color: #3d6b52 !important;
    background: #f0f5f2 !important;
  }

  .trend--down {
    color: #8b3a35 !important;
    background: #faf5f4 !important;
  }

  .trend--stable {
    color: #555 !important;
    background: #f5f5f5 !important;
  }

  /* ── Fontes verificadas ── */
  .section-sources {
    background: #fafafa !important;
    border: 0.5pt solid #e0e0e0 !important;
    border-radius: 0 !important;
    padding: 0.5rem 0.6rem !important;
    margin-top: 0.85rem !important;
    break-inside: avoid;
  }

  .section-sources__title {
    font-size: 0.65rem !important;
    color: #111 !important;
  }

  .section-sources__badge {
    font-size: 0.55rem !important;
    color: #666 !important;
    background: #fff !important;
    border: 0.5pt solid #ddd !important;
  }

  .section-sources__link {
    color: #222 !important;
  }

  .section-sources__data {
    font-size: 0.58rem !important;
    color: #666 !important;
  }

  /* ── Conclusão ── */
  .conclusions-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.45rem !important;
  }

  .conclusion-card {
    background: #fff !important;
    border: 0.5pt solid #e5e5e5 !important;
    border-radius: 0 !important;
    padding: 0.45rem 0.55rem !important;
    break-inside: avoid;
  }

  .conclusion-card__number {
    font-size: 0.85rem !important;
    color: #ddd !important;
    opacity: 1 !important;
  }

  .conclusion-card h3 {
    font-size: 0.75rem !important;
    color: #111 !important;
    margin-bottom: 0.2rem !important;
  }

  .conclusion-card p {
    font-size: 0.68rem !important;
    color: #444 !important;
    line-height: 1.45 !important;
  }

  .recommendations {
    background: #fafafa !important;
    border: 0.5pt solid #e0e0e0 !important;
    border-radius: 0 !important;
    padding: 0.65rem !important;
    break-inside: avoid;
  }

  .recommendations__title {
    font-size: 0.88rem !important;
    color: #111 !important;
    text-align: left !important;
    margin-bottom: 0.45rem !important;
  }

  .recommendations__grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.4rem !important;
  }

  .recommendation {
    text-align: left !important;
    break-inside: avoid;
  }

  .recommendation h4 {
    font-size: 0.68rem !important;
    color: #111 !important;
  }

  .recommendation p {
    font-size: 0.62rem !important;
    color: #555 !important;
  }

  /* ── Rodapé ── */
  .footer {
    background: #fff !important;
    border-top: 0.75pt solid #111 !important;
    padding: 0.75rem 0 0 !important;
    margin-top: 1rem !important;
    break-inside: avoid;
  }

  .footer__title {
    font-size: 0.82rem !important;
    color: #111 !important;
  }

  .footer__sources a {
    color: #333 !important;
    font-size: 0.65rem !important;
  }

  .footer__bottom p {
    font-size: 0.58rem !important;
    color: #999 !important;
    margin-top: 0.4rem !important;
  }

  /* ── Quebras de capítulo (apenas seções principais) ── */
  #violencia,
  #economia,
  #divida,
  #endividamento,
  #cultura,
  #conclusao {
    break-before: page;
    page-break-before: always;
    padding-top: 0 !important;
  }

  #violencia .section-header,
  #economia .section-header,
  #divida .section-header,
  #endividamento .section-header,
  #cultura .section-header,
  #conclusao .section-header {
    margin-top: 0 !important;
  }
}

/* Pré-visualização ao clicar em PDF (antes do diálogo) */
body.is-printing {
  background: #fff !important;
}

body.is-printing * {
  background-image: none !important;
}

body.is-printing .chart-card,
body.is-printing .table-card,
body.is-printing section,
body.is-printing .hero,
body.is-printing .factcheck__fake,
body.is-printing .factcheck__real,
body.is-printing .analysis-box,
body.is-printing .key-number,
body.is-printing .data-highlight__item,
body.is-printing .program-card,
body.is-printing .section-sources,
body.is-printing canvas,
body.is-printing .chart-card__canvas-wrap {
  background: #fff !important;
}
