/* ============================================================
   Marketwatch.ie | Print stylesheet
   Strips the chrome, reformats body prose for paper.
   Link in <head> with: <link rel="stylesheet" href="print.css" media="print">
   ============================================================ */

@media print {

  /* Page setup */
  @page {
    size: A4;
    margin: 22mm 18mm 24mm 18mm;
  }

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

  /* Reset to paper colours */
  html, body {
    background: #fff !important;
    color: #111 !important;
    font: 11pt/1.55 Georgia, "Times New Roman", serif;
  }

  /* Hide all the on-screen chrome */
  header.masthead,
  .tape,
  .subnav,
  nav.primary,
  .cta,
  #cta,
  .cta-strip,
  footer,
  .footer,
  .reveal-trigger,
  .skip-link,
  .live-badge,
  .ticker,
  .tape-track,
  button,
  [role="banner"] nav,
  .share,
  .newsletter,
  iframe,
  video,
  audio {
    display: none !important;
  }

  /* Container reset */
  .container,
  main,
  article,
  section {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
  }

  /* Running header, repeats on every page */
  body::before {
    content: "Marketwatch.ie  |  Eight markets, sixty seconds, one clear view.";
    display: block;
    font: 9pt/1 Georgia, serif;
    letter-spacing: 0.04em;
    color: #555;
    border-bottom: 0.5pt solid #999;
    padding-bottom: 6pt;
    margin-bottom: 18pt;
  }

  /* Running footer with URL and date */
  body::after {
    content: "marketwatch.ie  |  Printed " attr(data-print-date);
    display: block;
    font: 8.5pt/1 Georgia, serif;
    color: #555;
    border-top: 0.5pt solid #999;
    padding-top: 6pt;
    margin-top: 24pt;
    text-align: center;
  }

  /* Headings */
  h1 {
    font: 700 22pt/1.2 Georgia, serif;
    color: #000 !important;
    margin: 0 0 10pt 0;
    page-break-after: avoid;
  }

  h2 {
    font: 700 14pt/1.25 Georgia, serif;
    color: #000 !important;
    margin: 18pt 0 6pt 0;
    page-break-after: avoid;
  }

  h3 {
    font: 700 11.5pt/1.3 Georgia, serif;
    color: #000 !important;
    margin: 14pt 0 4pt 0;
    page-break-after: avoid;
  }

  /* Body prose */
  p, li, blockquote {
    color: #111 !important;
    orphans: 3;
    widows: 3;
  }

  p {
    margin: 0 0 8pt 0;
  }

  /* Lede stays prominent */
  .lede {
    font: italic 12.5pt/1.5 Georgia, serif;
    margin-bottom: 14pt;
  }

  /* Eyebrow becomes a small label */
  .eyebrow {
    font: 700 8.5pt/1 Georgia, serif;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: #555 !important;
    margin-bottom: 4pt;
  }

  /* Links: show the URL inline so paper readers can find them */
  a[href^="http"]::after,
  a[href^="https"]::after {
    content: " (" attr(href) ")";
    font: 9pt Georgia, serif;
    color: #555;
    word-break: break-all;
  }

  /* Don't print the URL for in-page anchors or mailto */
  a[href^="#"]::after,
  a[href^="mailto:"]::after {
    content: "";
  }

  /* Numbers / mono callouts */
  .num, .mono, code, pre {
    font-family: "Courier New", monospace;
  }

  /* Tables */
  table {
    width: 100%;
    border-collapse: collapse;
    margin: 10pt 0;
    page-break-inside: avoid;
  }

  th, td {
    border: 0.5pt solid #999;
    padding: 5pt 7pt;
    text-align: left;
    font-size: 10pt;
  }

  th {
    background: #f0f0f0 !important;
    font-weight: 700;
  }

  /* SVG (gauges, sparklines): keep at sensible width, monochrome ok */
  svg {
    max-width: 100%;
    height: auto;
    page-break-inside: avoid;
  }

  /* Images */
  img {
    max-width: 100%;
    height: auto;
    page-break-inside: avoid;
  }

  /* Blockquotes (briefing pull quotes) */
  blockquote {
    border-left: 2pt solid #999;
    padding-left: 10pt;
    margin: 10pt 0;
    font-style: italic;
    color: #333 !important;
  }

  /* Avoid splitting key blocks across pages */
  .card,
  .market-card,
  .gauge,
  figure {
    page-break-inside: avoid;
  }

  /* Force a page break before major sections if marked */
  .page-break {
    page-break-before: always;
  }
}
