/* =====================================================================
   FOOTAR SHOWCASE — PRINT / PDF STYLESHEET
   Turns the dark screen UI into a clean, light, ink-friendly document
   when the user does "Print → Save as PDF" (or clicks "Export PDF").
   Loaded with media="print", so it only affects printing.
   ===================================================================== */

@page {
  size: A4;
  margin: 16mm 14mm 18mm;
}

/* Light, document-style canvas */
html, body {
  background: #ffffff !important;
  color: #15202b !important;
  font-size: 11pt;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* Hide everything that is screen-only chrome */
.site-header,
.site-footer,
.filter-bar,
.hero-band,
.back-link,
.cta-row,
.hero-cta,
.lightbox,
.header-nav,
.card-actions,
.press-open,
.brand-logo { display: none !important; }

/* Journey / timeline in print */
.journey-hero { border-bottom: 1px solid #dfe5ea !important; }
.journey-title, .tl-title, .tl-date { color: #0b1f16 !important; }
.journey-sub, .tl-body { color: #2a3744 !important; }
.timeline::before { background: #dfe5ea !important; }
.tl-card { background: #f6f8fa !important; border: 1px solid #dfe5ea !important; page-break-inside: avoid; }
.tl-dot { box-shadow: 0 0 0 2px var(--tl-color) !important; }
.tl-media { max-width: 320px; }
.tl-item { page-break-inside: avoid; }

/* Print-only running header */
.print-header {
  display: flex !important;
  align-items: baseline; gap: 10px;
  padding-bottom: 8px; margin-bottom: 18px;
  border-bottom: 2px solid #ec008c;
}
.print-brand { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 16pt; color: #0b1f16; }
.print-brand-sub { color: #5a6b7b; font-size: 10pt; letter-spacing: 0.04em; }

.container { max-width: none; padding: 0; }
.detail { padding: 0; }

/* Hero → document title block */
.detail-hero { border: 0 !important; margin-bottom: 16px; page-break-inside: avoid; border-radius: 8px; overflow: hidden; }
.detail-hero-media { aspect-ratio: auto !important; height: 78mm; }
.detail-hero-media::after { background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.55)) !important; }
.detail-hero-content { color: #fff !important; padding: 18px !important; }
.detail-hero-content h1 { color: #fff !important; font-size: 22pt; }
.detail-hero-content .lead { color: #fff !important; opacity: 0.95; font-size: 11.5pt; }

/* Layout → single column */
.detail-layout { display: block !important; }
.detail-main { display: block !important; }
.detail-section { margin-bottom: 16px; page-break-inside: avoid; }
.detail-aside { display: block !important; margin-top: 16px; }
.aside-card { flex: none !important; page-break-inside: avoid; }

/* Typography for print */
.section-title, .card-title, .press-title, h1, h2, h3 { color: #0b1f16 !important; }
.section-kicker, .card-cat, .eyebrow, .detail-subtitle { color: #c2007a !important; }
.prose p, .card-summary, .press-desc, .fact-value { color: #2a3744 !important; }
.fact-label, .result-label, .press-date, .pricing-note { color: #5a6b7b !important; }

/* Surfaces → light cards with hairline borders */
.aside-card, .result-card, .press-card, .callout, .video-placeholder {
  background: #f6f8fa !important;
  border: 1px solid #dfe5ea !important;
  box-shadow: none !important;
}
.result-value, .pricing-headline { color: #0b1f16 !important; }
.built-list li, .pricing-lines li { color: #2a3744 !important; }
.chip { background: #eef2f5 !important; border-color: #dfe5ea !important; color: #2a3744 !important; }
.badge--status { background: #eef2f5 !important; color: #15202b !important; border-color: #dfe5ea !important; }

/* Video can't print → replace iframe with a printed link note */
.video-wrap { aspect-ratio: auto !important; height: auto !important; border: 0 !important; }
.video-wrap iframe { display: none !important; }
.video-print-note { display: block !important; padding: 12px 16px; border: 1px solid #dfe5ea; border-radius: 8px; background: #f6f8fa; font-size: 10pt; color: #2a3744; }

/* Gallery → fit a few per row, never split an image */
.gallery-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
.gallery-item { aspect-ratio: 4 / 3; page-break-inside: avoid; cursor: default; border: 1px solid #dfe5ea !important; }
.press-grid { grid-template-columns: repeat(2, 1fr) !important; }
.press-card, .gallery-item { page-break-inside: avoid; }

/* CTA band → simple contact line */
.detail-cta-band { background: #f6f8fa !important; border: 1px solid #dfe5ea !important; color: #15202b !important; margin-top: 18px; page-break-inside: avoid; }
.detail-cta-band h2 { color: #0b1f16 !important; }
.detail-cta-band p { color: #2a3744 !important; }

/* Show plain-text contact for the PDF reader */
.print-contact { display: block !important; margin-top: 8px; font-size: 10pt; color: #c2007a !important; font-weight: 600; }

/* Grid (catalog) printing: show as a list of cards */
.project-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
.card { page-break-inside: avoid; border: 1px solid #dfe5ea !important; background: #fff !important; box-shadow: none !important; }
.card-body { color: #2a3744 !important; }
