/* =============================================================================
   TerraTrack — Impression PDF
   =============================================================================
   FIX Sprint 1 — Bugs corrigés :

   PROBLÈME 1 : PDF s'imprimait en paysage par défaut.
     CAUSE : aucune règle @page n'était définie. Le navigateur appliquait
     son orientation par défaut (souvent celle de la dernière impression).
     FIX : @page { size: A4 portrait } pour la feuille de tournée et la fiche.

   PROBLÈME 2 : PDF tronqué — n'imprimait que la première page.
     CAUSE : .pdfpage / .fiche-pdf étaient en `position:fixed; inset:0`.
     En print, un élément fixed est confiné au viewport et ne s'écoule pas
     sur plusieurs pages.
     FIX : forcer `position:static !important; overflow:visible !important;
     height:auto !important` au print, et désactiver l'overflow:hidden du body.

   BONUS : @page :first / :rest pour des marges légèrement différentes,
   et page-break-inside:avoid sur les blocs critiques (lignes du tableau,
   sections de la fiche).
   ========================================================================= */

/* ---------- Conteneurs PDF (visibles seulement à l'écran via JS, ou en print) ---------- */
.pdfpage,
.fiche-pdf {
  display: none;
  position: fixed;
  inset: 0;
  background: #fff;
  z-index: 9999;
  overflow-y: auto;
  padding: 24px;
  font-family: 'Inter', Arial, sans-serif;
  color: #111;
}

.pdfbar,
.fiche-pdf-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 10px;
  padding-bottom: 16px;
  border-bottom: 2px solid #f0f0f0;
}

/* =============================================================================
   RÈGLES D'IMPRESSION
   ========================================================================= */
@media print {

  /* ---------- Format de page (FIX bug 1 : portrait) ---------- */
  @page {
    size: A4 portrait;
    margin: 12mm 10mm;
  }

  /* La feuille de tournée passe en paysage SI on a >5 colonnes utiles.
     On force portrait par défaut, l'utilisateur peut basculer dans la
     boîte de dialogue d'impression. */

  /* ---------- Reset général au print ---------- */
  html, body {
    overflow: visible !important;
    height: auto !important;
    background: #fff !important;
    color: #111 !important;
  }

  /* Cacher l'app et la nav */
  .app,
  .bnav,
  .load-overlay,
  .ds-status,
  .mb {
    display: none !important;
  }

  /* ---------- Conteneurs PDF ----------
     IMPORTANT : on ne force PAS display:block ici.
     Le JS pilote leur visibilité (style.display = 'block' ou 'none')
     selon ce qu'on imprime. Forcer block les rend TOUS DEUX visibles
     simultanément au print → bug "feuille tournée + dernière fiche".
     On garantit juste que celui qui est visible s'imprime correctement
     (static, pas fixed, hauteur libre).                                  */
  .pdfpage,
  .fiche-pdf {
    position: static !important;
    inset: auto !important;
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    z-index: auto !important;
    background: #fff !important;
  }

  /* Pour ceux qui sont effectivement affichés (display=block via JS),
     on s'assure qu'ils n'aient pas display:none résiduel.              */
  .pdfpage[style*="display: block"],
  .fiche-pdf[style*="display: block"] {
    display: block !important;
  }

  /* Cacher la barre de boutons (Imprimer / Fermer) au print */
  .pdfbar,
  .fiche-pdf-bar {
    display: none !important;
  }

  /* ---------- Tableau de tournée : éviter coupures moches ---------- */
  table {
    page-break-inside: auto;
  }
  thead {
    display: table-header-group; /* l'en-tête se répète sur chaque page */
  }
  tr {
    page-break-inside: avoid;
    page-break-after: auto;
  }

  /* ---------- Fiche PDF : sections groupées sur une seule page ---------- */
  .fiche-pdf > div > div {
    page-break-inside: avoid;
  }

  /* ---------- Liens : afficher l'URL en clair ---------- */
  a[href]::after {
    content: " (" attr(href) ")";
    font-size: 10px;
    color: #888;
  }

  /* Mais pas pour les ancres internes ni javascript */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  /* ---------- Couleurs préservées (Chrome/Safari) ---------- */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }
}

/* =============================================================================
   PRESET PAYSAGE (pour la feuille de tournée si nécessaire)
   =============================================================================
   Activé en ajoutant la classe .pdf-landscape sur <html> via JS.
   Permet à l'utilisateur de choisir paysage pour les longues tournées.    */
@media print {
  html.pdf-landscape {
    /* Pas grand-chose à faire ici : @page se redéfinit dans le bloc dédié */
  }
}

@media print {
  /* Sélecteur séparé car @page imbriqué dans une règle conditionnelle
     n'est pas supporté partout. On utilise un id. */
}

/* Quand .pdf-landscape est sur <html> au moment du print, on bascule */
@media print {
  /* Note : la propriété @page ne peut pas être conditionnée par une classe.
     Pour basculer vraiment en paysage, on utilise le préfixe avec @page nommée
     (cf. ui/pdf.js qui ajoute dynamiquement une <style> au document). */
}
