/* BizCheck — mise en page du rapport PDF (bouton « Exporter en PDF » → impression du navigateur).
   A4 paysage ; une grande partie par page ; les couleurs sont imprimées telles quelles. */

@page {
  size: A4 landscape;
  margin: 12mm 12mm 14mm;
  @bottom-left { content: "BizCheck — données publiques (INSEE, URSSAF, BODACC, Banque de France)"; font: 8pt "Manrope", sans-serif; color: #6b7c75; }
  @bottom-right { content: "Page " counter(page) " / " counter(pages); font: 8pt "Manrope", sans-serif; color: #6b7c75; }
}

@media print {
  :root { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  :root body { background: #ffffff; font-size: 10pt; }
  :root .conteneur { max-width: none; padding: 0; }

  /* Ce qui ne sert à rien sur papier */
  :root :is(.entete, .filtres, #accueil, .suggestions, .bouton-pdf, .aide, .bulle-aide, .ligne-case,
            .choix-indicateur, .infobulle, #bloc-exclusions, .tableau-details > summary) { display: none !important; }

  /* --- En-tête de la page 1 : bandeau vert + titre du secteur sur fond clair --- */
  :root .entete-impression { display: block; margin-bottom: 0; }
  :root .bandeau-impression {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 18px; border-radius: 14px 14px 0 0; color: #ffffff;
    /* deux grands ronds translucides en décoration */
    background:
      radial-gradient(circle at 92% -40%, rgba(255, 255, 255, 0.22) 0 70px, transparent 71px),
      radial-gradient(circle at 78% 160%, rgba(255, 255, 255, 0.14) 0 60px, transparent 61px),
      linear-gradient(120deg, #0b7a5c, #0f9d76 55%, #33c49b);
  }
  :root .marque-impression { display: inline-flex; align-items: center; gap: 8px; font-size: 15pt; font-weight: 800; }
  :root .marque-impression b { color: #c9f3e3; }
  :root .etiquette-rapport {
    padding: 4px 12px; border: 1.5px solid rgba(255, 255, 255, 0.7); border-radius: 999px;
    font-size: 8pt; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  }
  :root #infos-impression {
    margin: 0; padding: 6px 18px; background: #0b5e47; color: #d6f2e8; font-size: 7.5pt;
  }
  :root .titre-secteur {
    margin: 0 0 8px; padding: 10px 18px 12px; border-radius: 0 0 14px 14px;
    background: linear-gradient(180deg, #e2f5ee, #f4faf7);
  }
  :root .titre-secteur #titre { margin: 0 0 2px; }

  /* --- Rappel en haut des pages suivantes --- */
  @page {
    @top-left { content: "BizCheck · Rapport sectoriel"; font: 700 8pt "Manrope", sans-serif; color: #0f9d76; }
  }
  @page :first { @top-left { content: none; } }

  /* --- Titres de parties numérotés : pastille « 01 » + filet sur toute la largeur --- */
  :root #contenu { counter-reset: partie; }
  :root .bloc { counter-increment: partie; }
  :root .titre-bloc {
    display: flex; align-items: center; gap: 10px; padding-bottom: 6px; margin-bottom: 10px;
    border-bottom: 1.5px solid #cdeee1;
  }
  :root .titre-bloc::before {
    content: counter(partie, decimal-leading-zero); display: inline-grid; place-items: center;
    width: auto; height: auto; min-width: 30px; padding: 3px 8px; margin: 0; border-radius: 8px;
    background: linear-gradient(120deg, #0b7a5c, #33c49b); color: #ffffff; font-size: 10pt; font-weight: 800;
  }

  /* --- Titres de graphiques : petit point vert --- */
  :root figcaption h3::before, :root .carte > h3::before, :root .perimetre h2::before {
    content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%;
    background: var(--accent); vertical-align: 2px;
  }

  /* --- Chiffres clés : liseré vert en haut --- */
  :root .tuiles .tuile { border-top: 3px solid var(--accent) !important; }
  :root .tuile-verdict { background: linear-gradient(135deg, #e2f5ee, #ffffff 75%) !important; }

  /* --- Commentaire : encadré façon citation --- */
  :root .commentaire {
    position: relative; max-width: none; padding: 10px 16px 10px 46px; border-radius: 12px;
    background: #f1faf6; border-left: 4px solid var(--accent);
  }
  :root .commentaire::before {
    content: "“"; position: absolute; left: 12px; top: 2px;
    font: 800 40pt/1 Georgia, serif; color: #33c49b;
  }

  /* --- Sources : bandeau de titre --- */

  /* Cartes : pas d'ombre (rendu gris à l'impression), un simple filet */
  :root :is(.tuile, .carte) { box-shadow: none !important; border: 1px solid #d5e3dd !important; break-inside: avoid; }
  :root #titre { font-size: 18pt; }
  :root .titre-bloc { font-size: 14pt; margin-bottom: 8px; }
  :root .titre-bloc::before { margin-bottom: 6px; }
  :root .commentaire { font-size: 10pt; margin-bottom: 0; }
  :root .note-source { font-size: 7.5pt; }

  /* Une grande partie par page */
  :root .bloc { margin: 0; break-before: page; }
  :root .bloc figure, :root .bloc .carte { break-inside: avoid; }
  :root .titre-bloc { break-after: avoid; }
  :root .tuiles { grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 8px; }
  :root .tuile { padding: 7px 10px; }
  :root .tuile-valeur { font-size: 15pt; line-height: 1.2; }
  :root .verdict { font-size: 13pt; }
  :root :is(.tuile-libelle, .tuile-detail) { font-size: 7.5pt; }
  :root .perimetre { padding: 8px 12px; margin-bottom: 8px; }
  :root .perimetre ul { columns: 3; font-size: 7.5pt; line-height: 1.35; }
  :root .perimetre li { margin-bottom: 1px; }
  :root .titre-secteur { margin-bottom: 6px; }

  /* Graphiques : dessinés à l'écran puis réduits proportionnellement à la largeur de la page */
  :root canvas {
    width: auto !important; height: auto !important; max-width: 100% !important; max-height: 62mm;
    display: block; margin: 0 auto;
  }
  :root .zone-basse canvas { max-height: 46mm; }
  :root .zone-graphique { height: auto !important; }
  :root .graphiques { grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px; }
  :root .carte { padding: 10px 12px; }
  /* Survie et portrait côte à côte */
  :root .graphiques.pleine-largeur { grid-template-columns: 1fr 1.35fr; }
  :root .camemberts { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  :root .zone-camembert { height: auto !important; margin: 2px 0 4px; }
  :root .zone-camembert canvas { max-height: 34mm; }
  :root .legende-empilee { font-size: 7pt; gap: 2px 8px; }
  :root .portrait { gap: 8px; }
  :root :is(.portrait-phrase, .portrait-groupe .petit) { font-size: 7.5pt; }
  :root .mini-chiffres { margin: 4px 0 6px; gap: 4px 16px; }
  :root .mini-chiffres dd { font-size: 10.5pt; }

  /* Tableau des 10 ans : toujours déplié */
  :root .tableau-details { margin-top: 10px; }
  :root .tableau-details table { font-size: 7.5pt; }
  :root th, :root td { padding: 2px 8px; }
  :root .tableau-defilant { margin-top: 0; }

  /* Carte de France : limitée à la hauteur de la page */
  :root .conteneur-carte { max-width: none; }
  :root #carte-departements { width: auto; max-width: 100%; max-height: 138mm; margin: 0 auto; }

  /* Ville : seulement si une commune a été choisie (sinon le bloc est retiré par app.js) */
  :root .champ:has(#champ-ville) { display: none; }
  :root .bloc:has(#titre-ville) { break-before: auto; margin-top: 6mm; }
  :root .resultat-ville { margin-top: 0; }
  :root .comparaison-ville { grid-template-columns: repeat(4, 1fr); gap: 6px; }
  :root .comparaison-ville dd { font-size: 11pt; }
  :root #chiffres-comptes { grid-template-columns: repeat(5, 1fr); margin-top: 6px; }
  :root #chiffres-comptes div { padding: 6px 8px; }
  :root .bloc-sans-ville { display: none !important; }

  /* Sources : le détail est retiré du PDF, remplacé par la liste courte des bases utilisées */
  :root details.sources { display: none !important; }
  :root .sources-pdf {
    display: block; margin-top: 8mm; padding: 8px 14px; border-radius: 10px;
    background: #f1faf6; border-left: 4px solid var(--accent); font-size: 7.5pt; color: var(--texte-secondaire);
    break-inside: avoid;
  }
  :root .sources-pdf p { margin: 0; }
  :root .sources-pdf p + p { margin-top: 3px; }
  :root .sources-pdf strong { color: var(--texte); }
}

/* À l'écran, l'en-tête du rapport est caché */
@media screen {
  .entete-impression { display: none; }
}
