/* ============================================================
   ÖSTERREICH LONGEVITY INDEX 2026 — Print / PDF Stylesheet
   Strong colors, no timestamp, premium layout
   ============================================================ */

@page {
  size: A4 portrait;
  margin: 14mm 14mm 18mm 14mm;
  /* Remove browser header/footer (timestamp, URL) */
  @top-left { content: none; }
  @top-center { content: none; }
  @top-right { content: none; }
  @bottom-left { content: none; }
  @bottom-center { content: none; }
  @bottom-right { content: none; }
}

@media print {
  /* ============================================================
     FORCE COLORS — this is critical
     ============================================================ */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }

  html {
    font-size: 10pt;
    margin: 0;
    padding: 0;
  }

  body {
    background: white !important;
    color: #1a1a2e !important;
    line-height: 1.55;
    margin: 0;
    padding: 0;
    -webkit-print-color-adjust: exact !important;
  }

  /* ============================================================
     HIDE INTERACTIVE / UNNECESSARY ELEMENTS
     ============================================================ */
  .hero-scroll, .hero-actions, .btn, .newsletter-box, .newsletter-form,
  .about-links, .footer-links, .dim-expand-btn, .dim-science,
  .rec-tabs, .bl-preview, #newsletter-email {
    display: none !important;
  }

  /* Remove all shadows */
  * { box-shadow: none !important; }

  /* Make ALL animated elements visible */
  .fade-up, .fade-up-delay-1, .fade-up-delay-2, .fade-up-delay-3 {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  /* Kill all transitions */
  .le-bar-fill, .le-bar-gap-fill, .dim-bar-at, .arc-anim, .score-dim-bar {
    transition: none !important;
  }

  /* Page breaks */
  section { page-break-inside: avoid; padding: 24px 0 !important; }
  .dim-card, .finding-card, .method-card, .rec-card, .hallmark-chip, .bl-card {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* Container full width */
  .container, .container--narrow {
    max-width: 100% !important;
    padding: 0 !important;
  }

  /* ============================================================
     HERO → COVER PAGE (dark navy background)
     ============================================================ */
  #hero {
    background: #1a1a2e !important;
    color: white !important;
    min-height: auto !important;
    padding: 0 !important;
    page-break-after: always;
    position: relative;
    overflow: hidden !important;
  }

  .hero-pattern {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    background: radial-gradient(circle at 20% 50%, rgba(232,117,42,0.2) 0%, transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(15,52,96,0.8) 0%, transparent 50%) !important;
    pointer-events: none !important;
  }

  .hero-grid { display: none !important; }

  .hero-nav {
    display: none !important;
  }

  .hero-body {
    padding: 50px 36px 36px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 90vh;
    position: relative !important;
    z-index: 10 !important;
  }

  .hero-eyebrow {
    background: rgba(232,117,42,0.25) !important;
    border: 1.5px solid rgba(232,117,42,0.5) !important;
    color: #e8752a !important;
    font-size: 8pt !important;
    font-weight: 700 !important;
    padding: 5px 14px !important;
    border-radius: 100px !important;
    display: inline-block !important;
    width: fit-content !important;
    margin-bottom: 28px !important;
    letter-spacing: 0.08em !important;
  }

  .hero-eyebrow::before { display: none !important; }

  #hero h1 {
    color: white !important;
    font-size: 38pt !important;
    line-height: 1.08 !important;
    margin-bottom: 20px !important;
    font-weight: 800 !important;
  }

  #hero h1 em {
    color: #e8752a !important;
    font-style: normal !important;
  }

  .hero-sub {
    color: rgba(255,255,255,0.8) !important;
    font-size: 12pt !important;
    max-width: 85% !important;
    line-height: 1.55 !important;
    margin-bottom: 8px !important;
    font-weight: 400 !important;
  }

  .hero-meta {
    color: rgba(255,255,255,0.45) !important;
    font-size: 8pt !important;
    margin-bottom: 44px !important;
  }

  .hero-stats {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px !important;
    margin-bottom: 0 !important;
    max-width: 100% !important;
  }

  .hero-stat {
    background: rgba(255,255,255,0.08) !important;
    border: 1.5px solid rgba(255,255,255,0.15) !important;
    border-radius: 12px !important;
    padding: 18px 16px !important;
  }

  .hero-stat-number {
    color: #e8752a !important;
    font-size: 22pt !important;
    font-weight: 800 !important;
    margin-bottom: 6px !important;
  }

  .hero-stat-label {
    color: rgba(255,255,255,0.65) !important;
    font-size: 7.5pt !important;
    line-height: 1.45 !important;
  }

  /* ============================================================
     EXECUTIVE SUMMARY
     ============================================================ */
  #executive-summary {
    page-break-after: always;
    background: white !important;
  }

  #executive-summary .section-label {
    color: #e8752a !important;
    font-size: 7.5pt !important;
    font-weight: 700 !important;
  }

  #executive-summary h2 {
    color: #1a1a2e !important;
    font-size: 18pt !important;
    font-weight: 800 !important;
  }

  .summary-grid {
    grid-template-columns: 1fr 260px !important;
    gap: 28px !important;
  }

  .finding-card {
    border-left: 4px solid #e8752a !important;
    background: #f5f5f7 !important;
    padding: 14px 18px !important;
    border-radius: 0 10px 10px 0 !important;
    margin-bottom: 10px !important;
  }

  .finding-number {
    color: #e8752a !important;
    font-size: 7pt !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    margin-bottom: 3px !important;
  }

  .finding-headline {
    font-size: 11pt !important;
    font-weight: 800 !important;
    color: #1a1a2e !important;
    margin-bottom: 4px !important;
    line-height: 1.25 !important;
  }

  .finding-text {
    font-size: 8pt !important;
    color: #4b5563 !important;
    line-height: 1.5 !important;
  }

  /* Score Widget — dark card */
  .score-widget {
    background: #1a1a2e !important;
    color: white !important;
    border-radius: 14px !important;
    padding: 20px !important;
    position: static !important;
  }

  .score-widget-label {
    color: rgba(255,255,255,0.55) !important;
    font-size: 7pt !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
  }

  .score-donut-wrap {
    width: 130px !important;
    height: 130px !important;
    margin: 0 auto 14px !important;
  }

  .score-donut-wrap canvas {
    width: 130px !important;
    height: 130px !important;
  }

  .score-number {
    font-size: 26pt !important;
    color: white !important;
    font-weight: 800 !important;
  }

  .score-max {
    color: rgba(255,255,255,0.45) !important;
    font-size: 8pt !important;
  }

  .score-rank {
    background: rgba(232,117,42,0.2) !important;
    border: 1.5px solid rgba(232,117,42,0.4) !important;
    border-radius: 8px !important;
    padding: 10px !important;
    margin-bottom: 14px !important;
  }

  .score-rank-number {
    color: #e8752a !important;
    font-size: 15pt !important;
    font-weight: 800 !important;
  }

  .score-rank-label {
    color: rgba(255,255,255,0.55) !important;
    font-size: 7pt !important;
  }

  .score-dim-row {
    font-size: 7.5pt !important;
    gap: 6px !important;
  }

  .score-dim-name {
    color: rgba(255,255,255,0.75) !important;
    font-weight: 500 !important;
  }

  .score-dim-val {
    color: white !important;
    font-weight: 800 !important;
    font-size: 7.5pt !important;
  }

  .score-dim-bar-wrap {
    background: rgba(255,255,255,0.12) !important;
    border-radius: 3px !important;
  }

  /* ============================================================
     LONGEVITY PARADOX (dark section)
     ============================================================ */
  #paradox {
    background: #1a1a2e !important;
    color: white !important;
    page-break-after: always;
  }

  #paradox .section-label { color: #e8752a !important; font-weight: 700 !important; }
  #paradox h2 { color: white !important; font-size: 18pt !important; font-weight: 800 !important; }
  .paradox-text .lead { color: rgba(255,255,255,0.8) !important; font-size: 10pt !important; }
  .paradox-text p { color: rgba(255,255,255,0.7) !important; font-size: 8.5pt !important; }

  .paradox-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
  }

  .gap-callout {
    background: rgba(232,117,42,0.15) !important;
    border: 1.5px solid rgba(232,117,42,0.4) !important;
    border-radius: 12px !important;
    padding: 18px 20px !important;
    margin-top: 20px !important;
  }

  .gap-callout-num {
    color: #e8752a !important;
    font-size: 24pt !important;
    font-weight: 800 !important;
  }

  .gap-callout-text {
    color: rgba(255,255,255,0.65) !important;
    font-size: 8pt !important;
    line-height: 1.5 !important;
  }

  .le-chart-wrap {
    background: rgba(255,255,255,0.05) !important;
    border: 1.5px solid rgba(255,255,255,0.12) !important;
    border-radius: 12px !important;
    padding: 18px !important;
  }

  .le-chart-title {
    color: white !important;
    font-size: 9pt !important;
    font-weight: 700 !important;
    margin-bottom: 14px !important;
  }

  .le-bar-label {
    color: rgba(255,255,255,0.8) !important;
    font-size: 8pt !important;
    font-weight: 500 !important;
  }

  .le-bar-group {
    margin-bottom: 12px !important;
  }

  .le-bar-track {
    background: rgba(255,255,255,0.08) !important;
    border-radius: 5px !important;
    overflow: hidden !important;
  }

  .le-bar-fill.good {
    background: #27ae60 !important;
    color: white !important;
    font-size: 7pt !important;
    font-weight: 700 !important;
  }

  .le-legend {
    font-size: 7pt !important;
    color: rgba(255,255,255,0.55) !important;
    margin-top: 12px !important;
  }

  .le-legend-dot {
    width: 10px !important;
    height: 10px !important;
    border-radius: 2px !important;
  }

  /* ============================================================
     SECTION LABELS & HEADINGS (used across sections)
     ============================================================ */
  .section-label {
    color: #e8752a !important;
    font-size: 7.5pt !important;
    font-weight: 800 !important;
    letter-spacing: 0.1em !important;
  }

  .section-label::before {
    background: #e8752a !important;
  }

  h2 {
    font-size: 17pt !important;
    font-weight: 800 !important;
    color: #1a1a2e !important;
    margin-bottom: 10px !important;
  }

  .lead {
    font-size: 9pt !important;
    color: #4b5563 !important;
    line-height: 1.55 !important;
  }

  /* ============================================================
     DIMENSION CARDS
     ============================================================ */
  #dimensions {
    page-break-before: always;
    background: white !important;
  }

  .dim-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }

  .dim-card {
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    padding: 14px !important;
    background: white !important;
  }

  .dim-card.status-good { border-left: 4px solid #27ae60 !important; }
  .dim-card.status-warn { border-left: 4px solid #f39c12 !important; }
  .dim-card.status-crit { border-left: 4px solid #e74c3c !important; }

  .dim-header { margin-bottom: 8px !important; }

  .dim-title {
    font-size: 10pt !important;
    font-weight: 800 !important;
    color: #1a1a2e !important;
  }

  .dim-subtitle {
    font-size: 7pt !important;
    color: #6b7280 !important;
  }

  .dim-status-badge {
    font-size: 7pt !important;
    padding: 2px 8px !important;
    border-radius: 100px !important;
    font-weight: 700 !important;
  }

  .dim-icon svg { width: 18px !important; height: 18px !important; }

  .arc-wrap { position: relative !important; }
  .arc-wrap svg { width: 48px !important; height: 48px !important; }
  .arc-center { font-size: 13pt !important; font-weight: 800 !important; }

  .dim-score-row { gap: 12px !important; }

  .dim-key-number {
    font-size: 16pt !important;
    font-weight: 800 !important;
  }

  .dim-key-label {
    font-size: 7pt !important;
    color: #4b5563 !important;
  }

  .dim-compare { margin: 8px 0 !important; }

  .dim-compare-label {
    font-size: 7pt !important;
    color: #6b7280 !important;
    font-weight: 600 !important;
  }

  .dim-bar-wrap {
    height: 7px !important;
    border-radius: 4px !important;
    background: #f3f4f6 !important;
  }

  .dim-bar-eu-label {
    font-size: 6pt !important;
    font-weight: 700 !important;
    color: #1a1a2e !important;
  }

  .dim-bullets {
    font-size: 7.5pt !important;
    color: #374151 !important;
    line-height: 1.5 !important;
    margin-top: 6px !important;
  }

  .dim-bullets li {
    margin-bottom: 2px !important;
  }

  /* ============================================================
     CELLULAR DEEP DIVE
     ============================================================ */
  #cellular {
    page-break-before: always;
    background: white !important;
  }

  .cellular-intro .lead { font-size: 10pt !important; color: #374151 !important; }
  .cellular-intro p { font-size: 8.5pt !important; color: #4b5563 !important; }

  .cellular-charts {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
  }

  .cell-chart-card {
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    padding: 12px !important;
    background: #fafafa !important;
  }

  .cell-chart-card h4 {
    font-size: 9pt !important;
    font-weight: 700 !important;
    color: #1a1a2e !important;
    margin-bottom: 2px !important;
  }

  .chart-sub {
    font-size: 7pt !important;
    color: #6b7280 !important;
  }

  .cell-chart-card canvas {
    max-height: 140px !important;
  }

  /* Molecular strengths/weaknesses */
  #cellular > .container > div[style*="background"] {
    background: #f5f5f7 !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 12px !important;
  }

  #cellular h3 {
    font-size: 12pt !important;
    font-weight: 800 !important;
    color: #1a1a2e !important;
  }

  /* Hallmarks */
  .hallmarks-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
  }

  .hallmark-chip {
    border: 1.5px solid #e5e7eb !important;
    border-radius: 8px !important;
    padding: 10px !important;
    background: #fafafa !important;
  }

  .hallmark-icon { font-size: 14pt !important; margin-bottom: 3px !important; }
  .hallmark-name { font-size: 8pt !important; font-weight: 800 !important; color: #1a1a2e !important; }
  .hallmark-desc { font-size: 7pt !important; color: #4b5563 !important; }

  /* ============================================================
     BUNDESLÄNDER
     ============================================================ */
  #bundeslaender {
    page-break-before: always;
    background: white !important;
  }

  .bl-list {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
  }

  .bl-card {
    border: 1.5px solid #e5e7eb !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
  }

  .bl-rank-badge {
    font-size: 10pt !important;
    font-weight: 800 !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .bl-name { font-size: 9pt !important; font-weight: 800 !important; color: #1a1a2e !important; }
  .bl-note { font-size: 7pt !important; color: #4b5563 !important; }

  /* ============================================================
     RECOMMENDATIONS — Show ALL panels (dark section)
     ============================================================ */
  #recommendations {
    background: #1a1a2e !important;
    color: white !important;
    page-break-before: always;
  }

  #recommendations .section-label { color: #e8752a !important; }
  #recommendations h2 { color: white !important; font-size: 17pt !important; }
  #recommendations .lead { color: rgba(255,255,255,0.65) !important; font-size: 9pt !important; }

  /* Show ALL panels */
  .rec-panel {
    display: block !important;
    opacity: 1 !important;
    position: static !important;
    margin-bottom: 16px !important;
  }

  #panel-individual::before {
    content: 'Individuelle Empfehlungen';
    display: block;
    font-size: 11pt;
    font-weight: 800;
    color: #e8752a;
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 1.5px solid rgba(255,255,255,0.1);
  }

  #panel-policy::before {
    content: 'Politik & System';
    display: block;
    font-size: 11pt;
    font-weight: 800;
    color: #e8752a;
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 1.5px solid rgba(255,255,255,0.1);
  }

  #panel-research::before {
    content: 'Forschung';
    display: block;
    font-size: 11pt;
    font-weight: 800;
    color: #e8752a;
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 1.5px solid rgba(255,255,255,0.1);
  }

  .rec-card {
    background: rgba(255,255,255,0.07) !important;
    border: 1.5px solid rgba(255,255,255,0.12) !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    margin-bottom: 8px !important;
  }

  .rec-number {
    color: #e8752a !important;
    font-size: 20pt !important;
    font-weight: 800 !important;
    opacity: 0.35 !important;
  }

  .rec-title {
    color: white !important;
    font-size: 9.5pt !important;
    font-weight: 700 !important;
    margin-bottom: 3px !important;
  }

  .rec-text {
    color: rgba(255,255,255,0.7) !important;
    font-size: 7.5pt !important;
    line-height: 1.5 !important;
  }

  .rec-cite {
    color: rgba(255,255,255,0.4) !important;
    font-size: 6.5pt !important;
    font-style: italic !important;
  }

  /* ============================================================
     METHODOLOGY
     ============================================================ */
  #methodik {
    page-break-before: always;
    background: white !important;
  }

  .method-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }

  .method-card {
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    padding: 14px !important;
    background: #fafafa !important;
  }

  .method-card h4 {
    font-size: 10pt !important;
    font-weight: 700 !important;
    color: #1a1a2e !important;
    margin-bottom: 8px !important;
  }

  .method-card h4 svg { width: 16px !important; height: 16px !important; stroke: #e8752a !important; }

  .method-card p { font-size: 8pt !important; color: #374151 !important; }

  .dq-table { font-size: 8pt !important; }
  .dq-table th { font-size: 7.5pt !important; font-weight: 700 !important; color: #1a1a2e !important; }
  .dq-table td { color: #374151 !important; }

  .tier-badge {
    font-size: 7pt !important;
    padding: 1px 6px !important;
    border-radius: 4px !important;
    font-weight: 800 !important;
  }

  .limitation-item { font-size: 7.5pt !important; color: #374151 !important; }
  .lim-flag {
    font-size: 6.5pt !important;
    font-weight: 800 !important;
    padding: 2px 6px !important;
    border-radius: 3px !important;
  }

  .source-item {
    border: 1.5px solid #e5e7eb !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    margin-bottom: 6px !important;
  }

  .source-name { font-size: 8.5pt !important; font-weight: 700 !important; color: #1a1a2e !important; }
  .source-desc { font-size: 7pt !important; color: #4b5563 !important; }
  .source-icon svg { width: 16px !important; height: 16px !important; stroke: #e8752a !important; }

  /* ============================================================
     BIBLIOGRAPHY
     ============================================================ */
  #quellen {
    page-break-before: always;
    background: white !important;
  }

  #quellen h2 { font-size: 16pt !important; color: #1a1a2e !important; }
  #quellen .lead { font-size: 9pt !important; color: #4b5563 !important; margin-bottom: 14px !important; }

  .bib-grid {
    column-count: 2 !important;
    column-gap: 18px !important;
  }

  .bib-entry {
    font-size: 7pt !important;
    line-height: 1.45 !important;
    color: #374151 !important;
    padding: 5px 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    break-inside: avoid !important;
  }

  .bib-doi {
    color: #e8752a !important;
    font-size: 6.5pt !important;
    font-weight: 600 !important;
  }

  /* ============================================================
     ABOUT / CTA (dark section)
     ============================================================ */
  #about {
    background: #1a1a2e !important;
    color: white !important;
    padding: 36px 0 !important;
  }

  #about h2 { color: white !important; font-size: 18pt !important; }
  #about .lead { color: rgba(255,255,255,0.7) !important; font-size: 9pt !important; }

  .about-amrita span { color: rgba(255,255,255,0.85) !important; font-weight: 700 !important; }
  .amrita-dot { background: #e8752a !important; }

  /* URL for online version */
  #about::after {
    content: 'Online lesen: longevity-index.at/report/';
    display: block;
    margin-top: 28px;
    padding: 14px 20px;
    background: rgba(232,117,42,0.15);
    border: 1.5px solid rgba(232,117,42,0.35);
    border-radius: 10px;
    color: #e8752a;
    font-size: 10pt;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.02em;
  }

  /* ============================================================
     FOOTER
     ============================================================ */
  footer {
    background: #1a1a2e !important;
    color: white !important;
    padding: 16px 0 !important;
  }

  .footer-disclaimer {
    background: rgba(255,255,255,0.07) !important;
    color: rgba(255,255,255,0.55) !important;
    font-size: 7pt !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    line-height: 1.5 !important;
  }

  .footer-disclaimer strong {
    color: rgba(255,255,255,0.75) !important;
  }

  .footer-copy {
    color: rgba(255,255,255,0.35) !important;
    font-size: 7pt !important;
    text-align: center !important;
    margin-top: 10px !important;
  }
}
