/* ─────────────────────────────────────────
   SATOYAMA FORGE — Print / PDF Stylesheet
   Usage : <link rel="stylesheet" media="print" href="css/print.css">
   Objectif : rendu propre sur papier et export PDF pour investisseurs
   ───────────────────────────────────────── */

/* ── Réinitialisation globale pour l'impression ── */
*,
*::before,
*::after {
  box-sizing: border-box !important;
  animation: none !important;
  transition: none !important;
  text-shadow: none !important;
}

/* ── Mise en page A4 ── */
@page {
  size: A4 portrait;
  margin: 18mm 16mm 16mm 16mm;
}

/* ── Éléments à masquer complètement ── */
nav,
.nav-mobile,
#scroll-progress-bar,
#back-to-top,
.lightbox,
.hero-actions,
.hero-pills,
.cta-band,
footer,
.btn,
.nav-cta,
.proof-thumbs,
.galerie-item:nth-child(n+3), /* garder seulement la 1ère photo de chaque galerie */
.lightbox-nav,
.lightbox-close {
  display: none !important;
}

/* ── Corps : fond blanc, texte noir ── */
html, body {
  background: #ffffff !important;
  color: #1a1a1a !important;
  font-family: 'Inter', Arial, sans-serif !important;
  font-size: 10pt !important;
  line-height: 1.55 !important;
}

/* ── Liens : afficher l'URL après le texte (sauf navigation) ── */
a[href^="http"]::after,
a[href^="https"]::after {
  content: " (" attr(href) ")";
  font-size: 8pt;
  color: #555;
  font-weight: 400;
}
/* Sauf pour les liens purement d'ancrage ou internes */
a[href^="#"]::after,
a[href^="index"]::after,
a[href^="vision"]::after,
a[href^="projet"]::after,
a[href^="contact"]::after,
a[href^="realisations"]::after {
  content: none;
}

/* ── Sections : supprimer les fonds sombres ── */
section,
.stats,
.proof-section,
.proof-intro,
.cta-band,
[style*="background:var(--cream-dark)"],
[style*="background: var(--cream-dark)"] {
  background: #ffffff !important;
  color: #1a1a1a !important;
  padding: 16pt 0 !important;
}

/* ── Hero : version print simplifiée ── */
.hero {
  background: #ffffff !important;
  min-height: unset !important;
  padding: 20pt 0 12pt !important;
  border-bottom: 2pt solid #7bc547;
  page-break-after: avoid;
}
.hero-bg-photo { display: none !important; }
.hero::before, .hero::after { display: none !important; }

.hero-content {
  max-width: 100% !important;
}
.hero-tag {
  background: #f0f9e8 !important;
  border: 1pt solid #7bc547 !important;
  color: #1a4020 !important;
  font-size: 7pt !important;
}
.hero h1 {
  font-size: 22pt !important;
  color: #1a4020 !important;
  line-height: 1.2 !important;
}
.hero h1 em { color: #2d6e30 !important; }
.hero-desc {
  font-size: 10pt !important;
  color: #444 !important;
}

/* ── Titres de section ── */
.section-label {
  color: #2d6e30 !important;
  font-size: 7pt !important;
}
.section-label::before {
  background: #7bc547 !important;
}
.section-title {
  font-size: 16pt !important;
  color: #1a1a1a !important;
  page-break-after: avoid;
}
.section-title em { color: #1a4020 !important; }
.section-subtitle {
  font-size: 9.5pt !important;
  color: #444 !important;
  max-width: 100% !important;
}

/* ── Pilier cards ── */
.pillars-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 12pt !important;
}
.pillar-card {
  background: #f8faf5 !important;
  border: 1pt solid #d4e8c2 !important;
  padding: 12pt !important;
  border-radius: 6pt !important;
  break-inside: avoid;
}
.pillar-icon { font-size: 18pt !important; margin-bottom: 6pt !important; }
.pillar-card h3 { font-size: 10pt !important; color: #1a4020 !important; }
.pillar-card p { font-size: 8.5pt !important; color: #444 !important; }

/* ── Stats ── */
.stats-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10pt !important;
}
.stat-item {
  background: #f0f9e8 !important;
  border: 1pt solid #c5e0a0 !important;
  padding: 10pt !important;
  border-radius: 5pt !important;
  text-align: center !important;
  break-inside: avoid;
}
.stat-number {
  font-size: 18pt !important;
  color: #1a4020 !important;
  display: block !important;
}
.stat-label {
  font-size: 7.5pt !important;
  color: #555 !important;
}

/* ── Innovation ── */
.innovation-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12pt !important;
}
.innovation-card {
  background: #f8faf5 !important;
  border: 1pt solid #d4e8c2 !important;
  padding: 14pt !important;
  border-radius: 6pt !important;
  break-inside: avoid;
}
.innovation-emoji { font-size: 16pt !important; }
.innovation-card h3 { font-size: 10.5pt !important; color: #1a4020 !important; }
.innovation-card p { font-size: 8.5pt !important; color: #444 !important; }
.innovation-tag {
  font-size: 7pt !important;
  color: #2d6e30 !important;
  display: block !important;
  margin-top: 6pt !important;
}

/* ── Proof section (réalisations sur index) ── */
.proof-hero {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12pt !important;
  break-inside: avoid;
}
.proof-hero-img {
  break-inside: avoid;
}
.proof-hero-img img {
  width: 100% !important;
  height: 160pt !important;
  object-fit: cover !important;
  border-radius: 6pt !important;
}
.proof-hero-overlay { display: none !important; }
.proof-soon-badge, .proof-live-badge {
  font-size: 7pt !important;
  background: #7bc547 !important;
  color: #1a1a1a !important;
  padding: 2pt 8pt !important;
  border-radius: 20pt !important;
  display: inline-block !important;
}
.proof-number {
  font-size: 24pt !important;
  color: #d4e8c2 !important;
  font-weight: 900 !important;
}
.proof-hero-content h3 { font-size: 12pt !important; color: #1a1a1a !important; }
.proof-hero-content p { font-size: 8.5pt !important; color: #444 !important; }
.proof-features { gap: 4pt !important; }
.proof-features span { font-size: 8pt !important; }

.proof-secondary {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12pt !important;
  margin-top: 12pt !important;
  break-inside: avoid;
}
.proof-secondary-img img {
  width: 100% !important;
  height: 120pt !important;
  object-fit: cover !important;
  border-radius: 6pt !important;
}
.proof-secondary-content h3 { font-size: 11pt !important; color: #1a1a1a !important; }
.proof-secondary-content p { font-size: 8.5pt !important; color: #444 !important; }

/* ── Page de réalisations : galeries ── */
.galerie {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6pt !important;
  height: unset !important;
}
.galerie-item:first-child {
  grid-row: span 1 !important;
  grid-column: span 2 !important;
}
.galerie-item img {
  width: 100% !important;
  height: 120pt !important;
  object-fit: cover !important;
  border-radius: 4pt !important;
}
.features {
  margin-top: 8pt !important;
  gap: 4pt !important;
}
.feature {
  font-size: 7.5pt !important;
  padding: 3pt 8pt !important;
}
.projet-header h2 {
  font-size: 14pt !important;
  color: #1a1a1a !important;
}
.projet-status {
  font-size: 7pt !important;
}
.status-open { background: #f0f9e8 !important; color: #1a4020 !important; border: 1pt solid #7bc547 !important; }
.status-soon { background: #f0f0f0 !important; color: #333 !important; }

/* ── Page vision (structure générique) ── */
.page-hero {
  background: #ffffff !important;
  color: #1a1a1a !important;
  padding: 16pt 0 12pt !important;
  border-bottom: 2pt solid #7bc547 !important;
}
.page-hero h1 {
  font-size: 20pt !important;
  color: #1a4020 !important;
}
.page-hero p { font-size: 10pt !important; color: #444 !important; }

/* ── Page projet : specs ── */
.specs-grid {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8pt !important;
}
.spec-card {
  background: #f8faf5 !important;
  border: 1pt solid #d4e8c2 !important;
  padding: 10pt !important;
  break-inside: avoid;
}
.spec-value { font-size: 14pt !important; color: #1a4020 !important; }
.spec-detail { font-size: 7.5pt !important; color: #555 !important; }

.materials-grid {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 8pt !important;
}
.material-card {
  background: #f8faf5 !important;
  border: 1pt solid #d4e8c2 !important;
  border-bottom: 2pt solid #7bc547 !important;
  padding: 10pt !important;
  break-inside: avoid;
}
.material-card h3 { font-size: 9pt !important; }
.material-card p { font-size: 7.5pt !important; color: #555 !important; }
.mat-badge { background: #1a4020 !important; color: #fff !important; font-size: 6pt !important; }

.timeline { padding-left: 20pt !important; }
.timeline::before { background: #7bc547 !important; }
.timeline-item h3 { font-size: 10pt !important; }
.timeline-item .phase { color: #2d6e30 !important; }
.timeline-item p { font-size: 8pt !important; color: #555 !important; }

.phase-badge {
  background: #f0f9e8 !important;
  border: 1pt solid #7bc547 !important;
  color: #1a4020 !important;
}
.phase-badge::before { display: none !important; }

/* ── Formulaire de contact ── */
.contact-form, #contact-form { display: none !important; }

/* ── Carte contact ── */
.contact-card {
  background: #f8faf5 !important;
  border: 1pt solid #d4e8c2 !important;
  color: #1a1a1a !important;
}

/* ── Proof intro (dark band) ── */
.proof-intro {
  background: #f0f9e8 !important;
  border: 1pt solid #c5e0a0 !important;
  border-radius: 6pt !important;
  padding: 12pt !important;
  margin-bottom: 16pt !important;
}
.proof-intro p { color: #1a1a1a !important; }
.proof-intro p em { color: #1a4020 !important; font-weight: 700 !important; }

/* ── Sauts de page intelligents ── */
.pillars, .stats, section {
  page-break-inside: avoid;
}
h2, h3 {
  page-break-after: avoid;
}
.pillar-card, .stat-item, .innovation-card, .spec-card, .material-card, .timeline-item {
  page-break-inside: avoid;
}

/* ── URL du site en pied de page d'impression ── */
body::after {
  content: "satoyamaforge.com — Quartiers solarpunk biosourcés · contact@satoyamaforge.com";
  display: block;
  text-align: center;
  font-size: 7.5pt;
  color: #888;
  padding-top: 14pt;
  margin-top: 20pt;
  border-top: 1pt solid #e0e0e0;
}

/* ── Garantir que les images s'affichent ── */
img {
  max-width: 100% !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

/* ── FAQ Accordion (print) ── */
.faq-list {
  max-width: 100% !important;
}
.faq-item {
  border-bottom: 1pt solid #d4e8c2 !important;
  break-inside: avoid;
}
.faq-item:first-child { border-top: 1pt solid #d4e8c2 !important; }
/* Forcer l'ouverture des details en impression */
details.faq-item[open] .faq-answer,
details.faq-item .faq-answer {
  display: block !important;
  padding: 4pt 0 10pt !important;
}
.faq-question {
  padding: 10pt 0 !important;
  font-size: 10pt !important;
  color: #1a4020 !important;
}
.faq-question::after { display: none !important; }
.faq-answer p { font-size: 8.5pt !important; color: #444 !important; line-height: 1.55 !important; }

/* ── Texte : éviter les orphelines ── */
p {
  orphans: 3;
  widows: 3;
}
