/* ============================================================
   LatinTravel.com — Print / PDF Stylesheet
   Loaded via <link media="print"> on all country guide pages.
   Triggered by the "Download as PDF" button (window.print()).
   ============================================================ */

@page {
  size: letter;
  margin: 0.75in 0.85in 0.75in 0.85in;
}

/* ── Force white backgrounds everywhere — no ink waste ── */
*,
*::before,
*::after {
  box-sizing: border-box;
  background: white !important;
  color: #1a1a1a !important;
  -webkit-print-color-adjust: economy;
  print-color-adjust: economy;
}

/* ── HIDE everything except the guide content ── */
header,
nav,
.country-hero,
.country-photo-strip,
.country-map,
.country-map-caption,
.country-sidebar,
.pdf-download-btn,
footer,
.adventure-strip,
.lead-capture,
.contact,
.cta-band,
.lightbox-overlay,
script,
noscript {
  display: none !important;
}

/* ── REVEAL — override scroll animation so all content prints ── */
.reveal {
  display: block !important;
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* ── Base layout ── */
html, body {
  background: #fff !important;
  color: #1a1a1a !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 10.5pt !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Prevent the blank first page ──
   The country-wrap section starts the actual printable content.
   Remove any top padding/margin that could push it to page 2. ── */
main,
.country-wrap,
.country-grid,
.country-content {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  background: #fff !important;
}

/* ── PRINT HEADER — brand + country name at top of page 1 ── */
.country-content::before {
  content: "LATINTRAVEL.COM";
  display: block !important;
  font-family: Arial, sans-serif !important;
  font-size: 7.5pt !important;
  font-weight: 700 !important;
  letter-spacing: 0.3em !important;
  color: #a8792a !important;
  border-bottom: 1.5pt solid #a8792a !important;
  padding-bottom: 6pt !important;
  margin-bottom: 18pt !important;
  background: transparent !important;
}

/* ── Country title ── */
.country-title {
  font-family: Arial Black, Arial, sans-serif !important;
  font-size: 30pt !important;
  font-style: normal !important;
  color: #111 !important;
  background: transparent !important;
  line-height: 1 !important;
  margin: 0 0 6pt 0 !important;
  page-break-after: avoid !important;
}
.country-title em {
  color: #a8792a !important;
  font-style: normal !important;
}
.country-subtitle {
  font-family: Georgia, serif !important;
  font-size: 11pt !important;
  font-style: italic !important;
  color: #444 !important;
  background: transparent !important;
  line-height: 1.5 !important;
  margin: 0 0 18pt 0 !important;
  padding-bottom: 12pt !important;
  border-bottom: 0.5pt solid #ccc !important;
}

/* ── Section headings ── */
.section-title {
  font-family: Arial Black, Arial, sans-serif !important;
  font-size: 13pt !important;
  color: #111 !important;
  background: transparent !important;
  letter-spacing: 0.03em !important;
  margin: 18pt 0 6pt 0 !important;
  text-transform: uppercase !important;
  page-break-after: avoid !important;
}
.section-eyebrow {
  font-family: Arial, sans-serif !important;
  font-size: 7pt !important;
  font-weight: 700 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: #a8792a !important;
  background: transparent !important;
  display: block !important;
  margin-bottom: 3pt !important;
  page-break-after: avoid !important;
}

/* ── Body text ── */
p {
  font-size: 10.5pt !important;
  color: #1a1a1a !important;
  background: transparent !important;
  line-height: 1.65 !important;
  margin-bottom: 8pt !important;
  orphans: 3 !important;
  widows: 3 !important;
}
p.lead {
  font-size: 11.5pt !important;
  font-style: italic !important;
  color: #333 !important;
}
strong { color: #111 !important; }
em { color: inherit !important; }

/* ── Callout boxes — no dark bg, just a gold left border ── */
.callout {
  background: #faf8f4 !important;
  border: none !important;
  border-left: 3pt solid #a8792a !important;
  padding: 8pt 12pt !important;
  margin: 10pt 0 !important;
  page-break-inside: avoid !important;
}
.callout p {
  font-style: italic !important;
  font-size: 10pt !important;
  color: #333 !important;
  margin: 0 !important;
}

/* ── Info cards (Why Go, Parks, Areas) ── */
.cards-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6pt !important;
  margin-bottom: 12pt !important;
}
.info-card {
  border: 0.5pt solid #ccc !important;
  background: #fafafa !important;
  padding: 7pt 9pt !important;
  page-break-inside: avoid !important;
}
.info-card h3 {
  font-family: Arial, sans-serif !important;
  font-size: 8.5pt !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #111 !important;
  background: transparent !important;
  margin: 0 0 3pt 0 !important;
}
.info-card p {
  font-size: 9pt !important;
  color: #444 !important;
  margin: 0 !important;
}

/* ── Essentials / stat items ── */
.essentials-grid,
.stat-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 4pt !important;
}
.essential-item,
.stat-item {
  border-bottom: 0.5pt solid #eee !important;
  padding: 4pt 0 !important;
  background: transparent !important;
}
.essential-label,
.stat-label {
  font-family: Arial, sans-serif !important;
  font-size: 7pt !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #888 !important;
  display: block !important;
}
.essential-value,
.stat-value {
  font-size: 10pt !important;
  color: #1a1a1a !important;
  display: block !important;
  margin-top: 1pt !important;
}

/* ── Tables ── */
table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 9pt !important;
  margin-bottom: 10pt !important;
  page-break-inside: avoid !important;
}
th {
  background: #1a1a1a !important;
  color: #fff !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
  font-family: Arial, sans-serif !important;
  font-size: 7.5pt !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 4pt 7pt !important;
  text-align: left !important;
}
td {
  border-bottom: 0.5pt solid #eee !important;
  padding: 4pt 7pt !important;
  color: #1a1a1a !important;
  background: transparent !important;
  vertical-align: top !important;
}
tr:nth-child(even) td {
  background: #f7f7f7 !important;
}

/* ── Page breaks ── */
section { page-break-inside: avoid; }
#experiences, #areas, #parks { page-break-before: auto; }
h2, h3 { page-break-after: avoid; }

/* ── Links — don't show URLs ── */
a { color: #1a1a1a !important; text-decoration: none !important; }
a::after { content: none !important; }

/* ── Sidebar inside country-grid: keep hidden (already covered above) ── */
.country-sidebar { display: none !important; }

/* ── Page footer ── */
@page {
  @bottom-left {
    content: "LatinTravel.com — The Definitive Latin America Travel Resource";
    font-family: Arial, sans-serif;
    font-size: 6.5pt;
    color: #aaa;
  }
  @bottom-right {
    content: "Page " counter(page);
    font-family: Arial, sans-serif;
    font-size: 6.5pt;
    color: #aaa;
  }
}
