/* ============================================================
   PRINT STYLESHEET · reescreve o layout pra PDF A5 portrait
   Carregado com media="print" · NÃO afeta o HTML na tela.
   ============================================================ */

@page {
  size: A5 portrait;            /* 148 × 210 mm */
  margin: 0;
}

@page :first {
  /* capa sem margens */
  margin: 0;
}

@media print {

  /* ─────────────── RESET BASE ─────────────── */
  *, *::before, *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }
  html, body {
    background: #FFF5F0 !important;
    color: var(--burgundy-deep);
    font-size: 10.5pt;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
  }
  body { padding: 0 !important; margin: 0 !important; }

  /* ─────────────── CAPA · 1 página fullbleed ─────────────── */
  .cover-magazine {
    min-height: 0 !important;
    width: 148mm !important;
    height: 178mm !important;  /* deixa 32mm pra band caber na mesma página A5 */
    display: block !important;
    background: linear-gradient(180deg, #FFF5F0 0%, #FBE9D9 100%) !important;
    overflow: hidden;
    page-break-after: avoid !important;
    break-after: avoid !important;
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
  }

  .cover-magazine-photo {
    width: 100% !important;
    height: 50% !important;
    min-height: 0 !important;
    max-height: none !important;
    position: relative !important;
    overflow: hidden;
  }
  .cover-magazine-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block;
  }

  /* fade simplificado pra print · cream entrando de baixo */
  .cover-magazine-photo::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
      transparent 0%,
      transparent 60%,
      rgba(255, 245, 240, 0.6) 85%,
      #FFF5F0 100%
    ) !important;
    pointer-events: none;
  }
  .cover-magazine-photo::before { display: none !important; }

  .cover-magazine-inner {
    width: 100% !important;
    padding: 8mm 12mm 0 !important;
    display: block !important;
  }

  .cover-magazine-author {
    padding-bottom: 4mm;
    margin-bottom: 6mm;
    border-bottom: 0.3pt solid rgba(212, 165, 116, 0.4);
  }
  .cover-magazine-author-img {
    width: 12mm !important;
    height: 12mm !important;
  }
  .cover-magazine-author-name {
    font-size: 9.5pt !important;
  }
  .cover-magazine-author-title {
    font-size: 6.5pt !important;
    letter-spacing: 0.2em;
    margin-top: 1.5mm;
  }

  .cover-magazine-eyebrow {
    font-size: 6.5pt !important;
    letter-spacing: 0.28em;
    margin-bottom: 2mm;
  }
  .cover-magazine-title {
    font-size: 32pt !important;
    line-height: 0.92 !important;
    margin: 0 !important;
  }
  .cover-magazine-rule {
    margin: 3mm 0 !important;
  }
  .cover-magazine-subtitle {
    font-size: 10pt !important;
    line-height: 1.5 !important;
    margin-bottom: 5mm !important;
  }
  .cover-magazine-promise {
    margin-bottom: 0 !important;
  }
  .cover-magazine-promise-line {
    font-size: 6.5pt !important;
    line-height: 1.6;
  }
  .cover-magazine-promise-em {
    font-size: 8pt !important;
    margin-top: 2mm !important;
  }

  /* Burgundy band em fluxo normal (não absolute · senão repete em cada página!)
     Cover 178mm + band 32mm = 210mm = 1 página A5 exata */
  .cover-magazine-band {
    position: static !important;
    width: 148mm !important;
    height: 32mm !important;
    padding: 5mm 12mm !important;
    background: linear-gradient(180deg, #3F0F2C 0%, #2A0A1E 100%) !important;
    color: #E8C5A0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    gap: 4mm !important;
    page-break-before: avoid !important;
    break-before: avoid !important;
    page-break-after: always !important;
    break-after: page !important;
    overflow: hidden;
  }
  .cover-magazine-band-icon {
    width: 9mm !important;
    height: 9mm !important;
  }
  .cover-magazine-band-icon svg {
    width: 5mm !important;
    height: 5mm !important;
  }
  .cover-magazine-band-text {
    font-size: 6pt !important;
    line-height: 1.7;
  }
  .cover-magazine-band-text em {
    font-size: 7.5pt !important;
  }
  .cover-magazine-band::after {
    width: 18mm !important;
    height: 18mm !important;
    right: -3mm !important;
  }

  /* ─────────────── CONTAINER & PAGES ─────────────── */
  .container {
    max-width: none !important;
    padding: 0 12mm !important;
    margin: 0 !important;
  }

  /* Cada section.page é uma unidade · pode quebrar mas evitamos órfãos */
  .page {
    padding: 8mm 0 !important;
    break-inside: auto;
    page-break-inside: auto;
  }

  /* Chapter dividers (Parte 01, Ritual 02, etc.) começam em página nova */
  .chapter-divider,
  .ritual-divider {
    page-break-before: always !important;
    break-before: page !important;
    margin-top: 0 !important;
    padding-top: 5mm;
  }
  /* Mas o primeiro chapter não pula página (já segue a capa) */
  .container > section:first-child .chapter-divider,
  .container > .page:first-child .chapter-divider {
    page-break-before: avoid !important;
    break-before: auto !important;
  }

  .chapter-num {
    font-size: 7pt !important;
    letter-spacing: 0.28em;
  }

  /* ─────────────── TYPOGRAPHY ─────────────── */
  h1 {
    font-size: 24pt !important;
    line-height: 1 !important;
    margin: 4mm 0 6mm !important;
    page-break-after: avoid;
    break-after: avoid;
  }
  h2 {
    font-size: 18pt !important;
    line-height: 1.1 !important;
    margin: 0 0 4mm !important;
    page-break-after: avoid;
    break-after: avoid;
  }
  h3 {
    font-size: 12pt !important;
    line-height: 1.2 !important;
    margin: 5mm 0 2mm !important;
    page-break-after: avoid;
    break-after: avoid;
  }
  h4, h5 {
    font-size: 9.5pt !important;
    page-break-after: avoid;
    break-after: avoid;
  }
  p {
    font-size: 10pt !important;
    line-height: 1.55 !important;
    orphans: 3;
    widows: 3;
  }
  .lead {
    font-size: 11pt !important;
    margin: 3mm auto 5mm !important;
  }

  /* ─────────────── BLOCKS QUE NÃO PODEM QUEBRAR ─────────────── */
  .box,
  .box-dra,
  .quick-fact,
  .recipe,
  .recipe-compact,
  .feature-block,
  .feature-row,
  .closing-mark,
  .ritual-block,
  .synergy-diagram,
  .acupressure-map,
  .grid-cards > *,
  .visual-grid-item,
  .toc-list li,
  .toc-card,
  .substitution-card,
  .stat-card,
  .ritual-card,
  .shopping-list-section,
  .faq-item,
  table {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Grid containers podem quebrar entre as linhas · mas itens individuais NÃO */
  .visual-grid,
  .grid-cards,
  .toc-list,
  .substitution-grid,
  .shopping-grid {
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  /* Garante espaçamento entre items pra eles caberem inteiros nas pages */
  .visual-grid-item {
    padding: 3mm !important;
    margin-bottom: 2mm !important;
  }
  .toc-list li {
    padding: 2mm 0 !important;
  }

  .recipe-compact {
    padding: 4mm !important;
    margin: 0 0 4mm !important;
  }
  .recipe-header {
    margin-bottom: 2mm !important;
  }
  .recipe-badge {
    font-size: 6.5pt !important;
    padding: 0.8mm 2mm !important;
  }
  .recipe-title {
    font-size: 11pt !important;
    margin: 0 !important;
  }
  .recipe-compact-grid {
    gap: 4mm !important;
  }
  .recipe-compact-grid ul,
  .recipe-compact-grid ol {
    font-size: 9pt !important;
    line-height: 1.45 !important;
    padding-left: 4mm !important;
  }
  .recipe-compact-grid h5 {
    font-size: 7pt !important;
    letter-spacing: 0.18em;
    margin: 0 0 1.5mm !important;
  }

  /* ─────────────── HERO PHOTOS (corrigir negative margins) ─────────────── */
  .section-hero-photo {
    width: 100% !important;
    margin: 4mm 0 5mm !important;
    border-radius: 2mm;
    overflow: hidden;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .section-hero-photo img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9 !important;
  }

  /* ─────────────── BOXES ─────────────── */
  .box {
    padding: 4mm 5mm !important;
    margin: 3mm 0 !important;
    border-radius: 2mm;
  }
  .box-title {
    font-size: 9pt !important;
    letter-spacing: 0.15em;
    margin-bottom: 2mm !important;
  }
  .box p {
    font-size: 9.5pt !important;
  }

  /* ─────────────── CHIPS ─────────────── */
  .chip-grid,
  .chips-row,
  .chips-container {
    gap: 2mm !important;
  }
  .chip,
  .chips-row > *,
  .chip-item {
    font-size: 8.5pt !important;
    padding: 1.5mm 3mm !important;
  }

  /* ─────────────── TOC ─────────────── */
  .toc-grid {
    gap: 3mm !important;
  }
  .toc-card {
    padding: 3mm !important;
  }
  .toc-num {
    font-size: 16pt !important;
  }
  .toc-title-mini {
    font-size: 9pt !important;
  }

  /* ─────────────── QUICK FACT ─────────────── */
  .quick-fact {
    padding: 3mm 4mm !important;
    margin: 2mm 0 !important;
  }
  .quick-fact-icon {
    width: 8mm !important;
    height: 8mm !important;
  }
  .quick-fact-label {
    font-size: 7pt !important;
  }
  .quick-fact-value {
    font-size: 10pt !important;
  }

  /* ─────────────── CLOSING MARK ─────────────── */
  .closing-mark {
    margin: 8mm auto 4mm !important;
    padding: 5mm !important;
    break-inside: avoid !important;
  }
  .closing-mark-symbol {
    width: 14mm !important;
    height: 14mm !important;
  }
  .closing-mark p {
    font-size: 11pt !important;
  }

  /* ─────────────── ACUPRESSURE MAP ─────────────── */
  .acupressure-map {
    max-width: 80mm !important;
    margin: 3mm auto !important;
  }

  /* ─────────────── SYNERGY DIAGRAM ─────────────── */
  .synergy-diagram {
    gap: 3mm !important;
    padding: 3mm 0 !important;
  }
  .synergy-side {
    padding: 3mm !important;
  }

  /* ─────────────── FOOTER (newderm) ─────────────── */
  .footer {
    background: #3F0F2C !important;
    color: #E8C5A0 !important;
    padding: 8mm 12mm !important;
    margin-top: 8mm !important;
    page-break-before: always;
    break-before: page;
  }
  .footer h3 {
    color: white !important;
  }

  /* ─────────────── ESCONDE elementos só de tela ─────────────── */
  .blob,
  .hero-illustration svg,
  .no-print,
  nav,
  .scroll-progress {
    display: none !important;
  }

  /* Hero illustration: mantém só se for SVG estilizada da intro */
  .hero-illustration {
    max-width: 50mm !important;
    margin: 0 auto 4mm !important;
  }
  .hero-illustration svg {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  /* ─────────────── LINKS ─────────────── */
  a {
    color: var(--burgundy);
    text-decoration: none;
  }
  a[href^="http"]::after {
    content: '';
  }

  /* ─────────────── TABLE ─────────────── */
  table {
    width: 100% !important;
    font-size: 9pt !important;
    margin: 3mm 0 !important;
  }
  table th, table td {
    padding: 2mm 3mm !important;
  }

  /* ─────────────── FORÇA fontes a renderizarem completas ─────────────── */
  body,
  h1, h2, h3, h4, h5, p, em, strong, span {
    font-family: 'Fraunces', 'Inter', Georgia, serif;
  }
}

/* Não aplicado em screen — print só */
