/* =====================================================================
   Styles d'impression : planning mural, carnet du camp, listes de courses.
   Concu pour du noir et blanc sur papier ordinaire.
   ===================================================================== */

@media print {
  @page { margin: 12mm 10mm; }
  @page :first { margin-top: 10mm; }

  /* Tout repasse en clair et en encre economique */
  :root {
    --fond: #fff; --fond-2: #fff; --fond-3: #f4f4f4; --fond-survol: #f4f4f4;
    --bordure: #bbb; --bordure-forte: #888;
    --texte: #000; --texte-doux: #333; --texte-faible: #666;
    --accent: #000; --accent-fort: #000; --accent-contraste: #fff;
    --midi: #000; --soir: #000;
    --ombre: none;
  }

  html, body {
    background: #fff !important; color: #000 !important;
    font-size: 10.5pt; line-height: 1.35;
  }
  body { background-image: none !important; }

  /* Chrome de l'application : rien de tout cela sur le papier */
  .entete, .nav, .messages, .barre-filtres, .sans-impression,
  .btn, form.sans-impression, .carte-pied { display: none !important; }

  .imprimer-seulement { display: block !important; }

  .page { max-width: none; padding: 0; margin: 0; }

  .carte {
    border: 1px solid #999; border-radius: 0; box-shadow: none;
    break-inside: avoid; page-break-inside: avoid;
  }
  .carte-entete { background: #eee !important; border-bottom: 1px solid #999; padding: .3rem .5rem; }
  .carte-corps { padding: .5rem; }

  a { color: #000 !important; text-decoration: none; }

  table.tableau { font-size: 9.5pt; }
  table.tableau th { color: #000; border-bottom: 1.5pt solid #000; padding: .2rem .35rem; }
  table.tableau td { padding: .2rem .35rem; border-bottom: .5pt solid #ccc; }
  table.tableau tbody tr:hover { background: transparent; }
  thead { display: table-header-group; }
  tr, li { break-inside: avoid; page-break-inside: avoid; }

  .badge { border: .5pt solid #666; background: transparent !important; color: #000 !important; padding: 0 .3rem; }

  /* ---- En-tete d'impression ---------------------------------------- */
  .entete-impression {
    display: flex !important; align-items: center; gap: .8rem;
    border-bottom: 2pt solid #000; padding-bottom: .35rem; margin-bottom: .8rem;
  }
  .entete-impression img { width: 42px; height: 42px; }
  .entete-impression .titres { line-height: 1.2; }
  .entete-impression .club { font-weight: 700; font-size: 11pt; }
  .entete-impression .sujet { font-size: 14pt; font-weight: 700; }
  .entete-impression .periode { font-size: 9.5pt; color: #333; }
  .entete-impression .coin { margin-left: auto; text-align: right; font-size: 8.5pt; color: #555; }

  /* ---- Planning mural : une grille dense en paysage ------------------ */
  .planning-mural { width: 100%; border-collapse: collapse; }
  .planning-mural th, .planning-mural td { border: .75pt solid #666; padding: .3rem .35rem; vertical-align: top; }
  .planning-mural th { background: #e8e8e8 !important; font-size: 9pt; text-align: left; }
  .planning-mural td { height: 2.4cm; font-size: 9pt; }
  .planning-mural .col-jour { width: 3.2cm; background: #f4f4f4 !important; font-weight: 700; }
  .planning-mural .plat { display: block; }
  .planning-mural .role { font-size: 7.5pt; color: #555; text-transform: uppercase; }
  .planning-mural .equipe-cell {
    margin-top: .25rem; padding-top: .2rem; border-top: .5pt dotted #999;
    font-size: 8.5pt;
  }
  .planning-mural .equipe-cell strong { font-weight: 700; }
  .paysage { }

  /* ---- Carnet du camp : une page par jour --------------------------- */
  .page-jour { page-break-after: always; break-after: page; }
  .page-jour:last-child { page-break-after: auto; break-after: auto; }
  .page-jour h2 {
    font-size: 13pt; border-bottom: 1.5pt solid #000;
    padding-bottom: .2rem; margin-bottom: .5rem; text-transform: capitalize;
  }
  .bloc-repas { margin-bottom: .9rem; break-inside: avoid; }
  .bloc-repas > h3 {
    font-size: 11pt; background: #eee !important; padding: .2rem .4rem;
    border-left: 3pt solid #000; margin-bottom: .35rem;
  }
  .fiche-recette { margin: .4rem 0 .6rem; padding-left: .4rem; }
  .fiche-recette h4 { font-size: 10.5pt; margin: 0 0 .2rem; }
  .fiche-recette .ingredients { columns: 2; column-gap: 1.2rem; font-size: 9.5pt; margin: 0 0 .35rem; padding-left: 1rem; }
  .fiche-recette .ingredients li { break-inside: avoid; }
  .fiche-recette .instructions { font-size: 9.5pt; white-space: pre-wrap; }
  .encadre-equipe {
    border: 1pt solid #000; padding: .25rem .45rem; margin-bottom: .4rem;
    font-size: 10pt; display: inline-block;
  }
  .alerte-regime { border-left: 3pt solid #000; padding-left: .45rem; font-size: 9.5pt; margin: .3rem 0; }

  /* ---- Liste de courses --------------------------------------------- */
  .courses-impression .rayon { break-inside: avoid; margin-bottom: .55rem; }
  .courses-impression .rayon-titre {
    font-size: 10pt; color: #000; border-bottom: 1pt solid #000;
    background: #eee !important; padding: .15rem .35rem;
  }
  .courses-impression .ligne-course { padding: .18rem .35rem; border-bottom: .5pt dotted #bbb; }
  .courses-impression .case-vide {
    display: inline-block; width: 11px; height: 11px;
    border: 1pt solid #000; flex: none; margin-top: 2px;
  }
  .courses-impression .detail { font-size: 8pt; }
  .colonnes-2 { columns: 2; column-gap: 1.4rem; }
}

/* Aperçu a l'ecran des vues d'impression */
.apercu-impression {
  background: #fff; color: #111;
  max-width: 21cm; margin: 0 auto; padding: 1.6cm 1.4cm;
  box-shadow: 0 4px 30px rgba(0,0,0,.35); border-radius: 4px;
}
.apercu-impression.paysage { max-width: 29.7cm; }
.apercu-impression a { color: #111; }
.apercu-impression .entete-impression {
  display: flex; align-items: center; gap: .8rem;
  border-bottom: 2px solid #111; padding-bottom: .4rem; margin-bottom: 1rem;
}
.apercu-impression .entete-impression img { width: 42px; height: 42px; }
.apercu-impression .entete-impression .club { font-weight: 700; }
.apercu-impression .entete-impression .sujet { font-size: 1.35rem; font-weight: 700; line-height: 1.15; }
.apercu-impression .entete-impression .periode { font-size: .85rem; color: #444; }
.apercu-impression .entete-impression .coin { margin-left: auto; text-align: right; font-size: .78rem; color: #666; }
.apercu-impression .planning-mural { width: 100%; border-collapse: collapse; }
.apercu-impression .planning-mural th, .apercu-impression .planning-mural td {
  border: 1px solid #999; padding: .35rem .4rem; vertical-align: top; font-size: .84rem;
}
.apercu-impression .planning-mural th { background: #eee; text-align: left; }
.apercu-impression .planning-mural .col-jour { background: #f5f5f5; font-weight: 700; width: 9rem; }
.apercu-impression .planning-mural .role { font-size: .7rem; color: #666; text-transform: uppercase; }
.apercu-impression .planning-mural .equipe-cell { margin-top: .3rem; padding-top: .25rem; border-top: 1px dotted #aaa; font-size: .8rem; }
.apercu-impression .page-jour { border-bottom: 1px dashed #bbb; padding-bottom: 1.2rem; margin-bottom: 1.6rem; }
.apercu-impression .page-jour:last-child { border-bottom: 0; }
.apercu-impression .page-jour h2 { font-size: 1.15rem; border-bottom: 2px solid #111; padding-bottom: .2rem; text-transform: capitalize; }
.apercu-impression .bloc-repas > h3 { font-size: 1rem; background: #eee; padding: .25rem .45rem; border-left: 3px solid #111; margin: .8rem 0 .4rem; }
.apercu-impression .fiche-recette { padding-left: .5rem; margin-bottom: .8rem; }
.apercu-impression .fiche-recette h4 { margin: 0 0 .25rem; font-size: .96rem; }
.apercu-impression .fiche-recette .ingredients { columns: 2; column-gap: 1.4rem; font-size: .86rem; padding-left: 1.1rem; margin: 0 0 .4rem; }
.apercu-impression .fiche-recette .instructions { font-size: .86rem; white-space: pre-wrap; }
.apercu-impression .encadre-equipe { border: 1px solid #111; padding: .3rem .5rem; display: inline-block; font-size: .88rem; margin-bottom: .5rem; }
.apercu-impression .alerte-regime { border-left: 3px solid #111; padding-left: .5rem; font-size: .86rem; margin: .4rem 0; }
.apercu-impression .rayon-titre { background: #eee; color: #111; border-bottom: 1px solid #111; padding: .2rem .4rem; font-size: .82rem; }
.apercu-impression .ligne-course { border-bottom: 1px dotted #bbb; padding: .25rem .4rem; }
.apercu-impression .case-vide { display: inline-block; width: 13px; height: 13px; border: 1px solid #111; flex: none; margin-top: 3px; }
.apercu-impression .tableau th { color: #111; border-bottom: 2px solid #111; }
.apercu-impression .tableau td { border-bottom: 1px solid #ddd; }
.apercu-impression .tableau tbody tr:hover { background: transparent; }
.apercu-impression .colonnes-2 { columns: 2; column-gap: 1.6rem; }
