/* Impression : pages du site imprimées, et exports de programmes (feuilles, projection) */

@font-face { font-family: "Baloo 2"; src: url("../polices/baloo2-latin.woff2") format("woff2"); font-weight: 400 800; font-display: swap; }
@font-face { font-family: "Nunito"; src: url("../polices/nunito-latin.woff2") format("woff2"); font-weight: 200 1000; font-style: normal; font-display: swap; }
@font-face { font-family: "Nunito"; src: url("../polices/nunito-italique-latin.woff2") format("woff2"); font-weight: 200 1000; font-style: italic; font-display: swap; }

/* --- Pages du site imprimées (media="print" dans le gabarit) --- */
.entete, .pied, .menu-bouton, .fiche-laterale, .fiche-actions, .ariane, .filtres, .onglets, .form-favori, .barre-impression, .video, .audio { display: none !important; }
body { background: #fff; color: #000; }

/* --- Exports de programmes (page autonome) --- */
body.impression { margin: 0; font: 12pt/1.45 "Nunito", system-ui, sans-serif; background: #fff; color: #000; }
.barre-impression { display: flex !important; gap: 1rem; align-items: center; flex-wrap: wrap; padding: .7rem 1rem; background: #004321; color: #fff;
  font: 14px system-ui, sans-serif; position: sticky; top: 0; }
.barre-impression a { color: #fff; }
.barre-impression button { font: inherit; padding: .35rem .9rem; border-radius: 6px; border: 0; background: #fff; color: #004321; font-weight: 700; border-radius: 999px; cursor: pointer; }
.feuille { max-width: 190mm; margin: 0 auto; padding: 10mm 8mm; }
.feuille header { text-align: center; border-bottom: 1.5pt solid #008841; margin-bottom: 6mm; padding-bottom: 3mm; }
.feuille h1 { font-family: "Baloo 2", "Nunito", sans-serif; font-weight: 800; font-size: 22pt; line-height: 1.1; margin: 0 0 2mm; color: #004321; }
.feuille header p { margin: 0; font-style: italic; }
.element { break-inside: avoid; margin-bottom: 5mm; }
.element h2 { font-size: 11pt; text-transform: uppercase; letter-spacing: .05em; margin: 0 0 1.5mm; color: #444; }
.element h2 span { text-transform: none; letter-spacing: 0; color: #000; font-size: 13pt; }
.bloc-paroles { margin: 0 0 2.5mm; }
.bloc-paroles p { margin: 0; }
.bloc-paroles.refrain p { font-weight: bold; }
.titre-bloc { font-size: 8.5pt; text-transform: uppercase; color: #777; margin: 0 !important; font-weight: normal !important; }
.note { font-style: italic; color: #555; }
.vue-fideles .feuille { columns: 2; column-gap: 10mm; }
.vue-fideles .feuille header { column-span: all; }

/* Livret A5 : une seule colonne, page plus petite */
body.livret .feuille { columns: 1; max-width: 128mm; font-size: 11pt; }

table.route { width: 100%; border-collapse: collapse; font-size: 11pt; }
table.route th, table.route td { border: 1px solid #999; padding: 2mm; vertical-align: top; text-align: left; }
table.route th { background: #eee; font-size: 9pt; text-transform: uppercase; }
.notes { margin-top: 5mm; }

/* Projection : une diapositive par chant */
.vue-projection { background: #00240f; }
.diapo { width: 100%; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center;
  padding: 6vh 6vw; background: #00240f; color: #fff; font: 3.2vh/1.45 system-ui, sans-serif; border-bottom: 2px solid #333; box-sizing: border-box; }
.diapo h1 { font-size: 7vh; font-family: "Baloo 2", "Nunito", sans-serif; }
.diapo h2 { font-size: 4.5vh; color: #f8a400; margin: 0 0 3vh; }
.diapo .titre-bloc { color: #aaa; font-size: 2.2vh; }

@page { size: A4; margin: 12mm; }
@media print {
  .barre-impression { display: none !important; }
  .feuille { padding: 0; max-width: none; }
  .vue-projection, .diapo { background: #fff; color: #000; }
  .diapo { min-height: 0; height: 180mm; page-break-after: always; border: 0; font-size: 18pt; }
  .diapo h1 { font-size: 32pt; }
  .diapo h2 { font-size: 24pt; color: #000; }
}
