/* ===== PRINT STYLESHEET — European Pulse Report ===== */
/* Engineered for curated, paginated PDF output */

@page {
  size: A4;
  margin: 2cm 2.5cm;

  @bottom-center {
    content: "European Pulse for POLITICO & beBartlet by Cluster17";
    font-family: 'Montserrat', sans-serif;
    font-size: 7pt;
    color: #8C8C8C;
  }

  @bottom-right {
    content: counter(page);
    font-family: 'Montserrat', sans-serif;
    font-size: 7pt;
    color: #8C8C8C;
  }
}

@page :first {
  @bottom-center { content: none; }
  @bottom-right { content: none; }
}

/* Force exact colors in print */
* {
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

/* Hide interactive/screen-only elements */
.lateral-nav,
.download-btn {
  display: none !important;
}

/* Disable animations */
.reveal {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.pulse-path {
  stroke-dasharray: none !important;
  stroke-dashoffset: 0 !important;
  animation: none !important;
}

/* Body: white background, dark text for print */
body {
  background: #FFFFFF !important;
  color: #1a1a1a !important;
  font-size: 10pt;
  line-height: 1.6;
}

/* Reading areas: white background */
.reading-area {
  background: #FFFFFF !important;
}

.reading-area::before {
  display: none !important;
}

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

.content-wrap p {
  color: #1a1a1a !important;
  margin-bottom: 0.8em;
}

.content-wrap h2 {
  color: #6B0933 !important;
  margin: 1.5em 0 0.5em;
  font-size: 14pt;
}

/* Section headers: bordeaux background, forced page break */
.section-header {
  break-before: page;
  page-break-before: always;
  background: #6B0933 !important;
  min-height: auto !important;
  padding: 3cm 2cm 2cm !important;
}

.section-header::after {
  display: none !important;
}

.section-title-gold {
  color: #EFCD8D !important;
  font-size: 28pt;
}

.section-title-white {
  color: #FFFFFF !important;
  font-size: 18pt;
}

/* Hero: compact for print */
.hero {
  min-height: auto !important;
  padding: 3cm 2cm !important;
  background: #6B0933 !important;
  break-after: page;
  page-break-after: always;
}

.hero::after {
  display: none !important;
}

.hero-title {
  font-size: 36pt;
  color: #EFCD8D !important;
}

.hero-subtitle {
  font-size: 24pt;
  color: #FFFFFF !important;
}

.hero-tagline {
  color: rgba(255, 255, 255, 0.8) !important;
  font-size: 11pt;
}

.hero-meta {
  color: #EFCD8D !important;
}

/* Charts: never split across pages */
.chart-container {
  break-inside: avoid;
  page-break-inside: avoid;
  background: #f8f8f8 !important;
  border: 1px solid #e0e0e0 !important;
  backdrop-filter: none !important;
  margin: 1.5em 0;
  padding: 1.5em;
}

.chart-title {
  color: #6B0933 !important;
  font-size: 10pt;
}

.chart-subtitle {
  color: #666666 !important;
  font-size: 8pt;
}

.chart-source {
  color: #999999 !important;
  font-size: 7pt;
  border-top-color: #e0e0e0 !important;
}

/* Glass panels: print-safe */
.glass-panel {
  background: #f8f8f8 !important;
  border: 1px solid #e0e0e0 !important;
  backdrop-filter: none !important;
  break-inside: avoid;
  page-break-inside: avoid;
}

/* Methodology */
.methodology {
  border-top: 1px solid #e0e0e0 !important;
}

.methodology .content-wrap {
  color: #666666 !important;
}

.methodology h2 {
  color: #6B0933 !important;
}

/* Footer: minimal for print */
.site-footer {
  background: none !important;
  border-top: 1px solid #e0e0e0 !important;
  padding: 1em 0 !important;
}

.site-footer p {
  color: #999999 !important;
  font-size: 8pt;
}

.footer-logos img {
  filter: brightness(0) !important;
}

/* Widow/orphan control */
p {
  orphans: 3;
  widows: 3;
}

h2, h3 {
  break-after: avoid;
  page-break-after: avoid;
}

/* Links: show URL in print */
a[href^="http"]::after {
  content: none; /* Keep clean for this report */
}
