/* 15 Alors — impression : fiche projet sur une seule page A4 (paysage), pages de texte. Texte courant en 10 pt. */
@page { size: A4 landscape; margin: 11mm 13mm 10mm; }
:root, :root[data-theme="sombre"] { --bg: #FFFFFF; --surface: #FFFFFF; --encre: #000000; --doux: #444444; --ligne: #BBBBBB; color-scheme: light; }
html, body { background: #FFFFFF !important; color: #000000 !important; font-size: 10pt; line-height: 1.4; }
.couleurs, .entete, .pied-formes, .pied-liens, .haut, .evitement, .ariane, .carrousel-nav, .fiche-imprimer, .galerie-aide, .voisins, .fiche-appel,
.visionneuse, .boutons, .filtres, .chips-tete, .formulaire, .contact-formes, .bandeau-apercu { display: none !important; }
.conteneur { max-width: none; padding: 0; }
.tuile, .carte { background: #FFFFFF !important; color: #000000 !important; border: .75pt solid #BBBBBB; border-radius: 3mm; padding: 3mm 4mm; }
.tuile-rose, .tuile-bleu, .tuile-vert, .tuile-acc, .tuile-contact { color: #000000 !important; }
.valeur, .badge-acc, .sticker-acc { background: none !important; transform: none !important; padding: 0; border: 0; color: inherit !important; }
a { color: #000000 !important; text-decoration: none; }
.texte-long a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 8pt; }
img { break-inside: avoid; }
h1, h2, h3 { break-after: avoid; }
.titre-page { font-size: 24pt; line-height: 1.02; margin-top: 1mm; }
.chapeau { font-size: 11.5pt; line-height: 1.35; max-width: 150mm; margin-top: 2mm; }
.texte-long { font-size: 10pt; line-height: 1.45; max-width: none; }

/* ---------- Fiche projet : une page ----------
   Les règles d’écran (grilles, couleurs, positions) sont neutralisées ici : d’où les !important. */
.fiche, .fiche * { color: #000000 !important; }
.fiche .fiche-grille { display: grid !important; grid-template-columns: 80mm minmax(0, 1fr) !important; grid-template-areas: "tete tete" "synth corps" !important; gap: 4mm 7mm !important; align-items: start !important; margin: 0 !important; padding: 0 !important; max-width: none !important; overflow: visible !important; }
.fiche .fiche-tete { grid-area: tete !important; order: 0 !important; background: none !important; padding: 0 !important; margin: 0 !important; border-radius: 0 !important; }
.fiche .fiche-surtitre { font-size: 8.5pt; }
.fiche .fiche-surtitre .visuellement-cache { display: none; }
.fiche .titre-page { font-size: 22pt !important; margin-top: .5mm !important; }
.fiche .chapeau { font-size: 11.5pt !important; max-width: 235mm !important; }
.fiche .fiche-savoirs { margin-top: 2mm !important; gap: 1.5mm !important; }
.fiche .badge { min-height: 0 !important; padding: .6mm 2.5mm !important; font-size: 8pt !important; border: .75pt solid #999999 !important; background: none !important; }
/* Photo et texte côte à côte en paysage ; le texte passe sous la photo si la page est imprimée en portrait */
.fiche .fiche-corps { grid-area: corps !important; display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; align-items: flex-start !important; gap: 4mm 7mm !important; padding: 0 !important; }
.fiche .fiche-couverture { flex: 0 1 auto !important; width: min-content !important; max-width: 92mm !important; margin: 0 !important; order: 0 !important; }
.fiche .fiche-couverture img { display: block; width: auto !important; max-width: 92mm !important; max-height: 92mm !important; border-radius: 2mm !important; }
.fiche .fiche-couverture figcaption { font-size: 7.5pt !important; margin-top: 1.5mm !important; padding: 0 !important; }
.fiche .fiche-texte { flex: 1 1 72mm !important; min-width: 0 !important; padding: 0 !important; order: 0 !important; }
.fiche .fiche-h2 { font-size: 13pt !important; }
.fiche .fiche-texte .fiche-h2 { margin-bottom: 2mm !important; }
.fiche .fiche-texte .texte-long { font-size: 10pt !important; line-height: 1.45 !important; }
/* La fiche synthèse reste la première colonne, sur un fond légèrement teinté */
.fiche .fiche-synthese { grid-area: synth !important; order: 0 !important; position: static !important; display: grid !important; gap: 2.4mm !important; margin: 0 !important; padding: 3.5mm 4mm !important;
  border: .75pt solid #BBBBBB !important; border-radius: 3mm !important; background: #F2F2F2 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.fiche .fiche-synthese-titre { font-size: 11pt !important; padding: 0 !important; border: 0 !important; }
.fiche .fiche-synthese-forme { width: 4mm; height: 4mm; fill: #000000 !important; }
.fiche .chiffres-cles { gap: 2mm !important; }
.fiche .chiffre-tuile { background: #FFFFFF !important; border: .75pt solid #BBBBBB !important; border-radius: 2mm !important; padding: 1.5mm 2.5mm !important; box-shadow: none !important; }
.fiche .chiffre-label { font-size: 7pt !important; }
.fiche .chiffre-valeur { font-size: 10.5pt !important; margin-top: .6mm !important; }
.fiche .fiche-dl { gap: 1.6mm !important; }
.fiche .fiche-dl > div + div { padding-top: 1.6mm !important; border-top: .5pt solid #BBBBBB !important; }
.fiche .fiche-dl dt { font-size: 7pt !important; }
.fiche .fiche-dl dd { margin-top: .3mm !important; font-size: 8.5pt !important; line-height: 1.32 !important; }
.fiche .fiche-dl .badges { display: block !important; margin-top: .5mm !important; }
.fiche .fiche-dl .badges .badge { display: inline !important; border: 0 !important; padding: 0 !important; font-size: 8.5pt !important; font-weight: 400; }
.fiche .fiche-dl .badges .badge + .badge::before { content: " · "; }
/* Photos : une ligne de vignettes */
.fiche .galerie { margin-top: 4mm !important; break-inside: avoid; }
.fiche .galerie-tete { margin-bottom: 2mm !important; }
.fiche .galerie .fiche-h2 { font-size: 11pt !important; }
.fiche .galerie .carrousel { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 3mm !important; overflow: visible !important; margin: 0 !important; padding: 0 !important; }
.fiche .galerie .carrousel li:nth-child(n+6) { display: none !important; }
.fiche .carrousel::after { display: none; }
.fiche .carrousel-lien { border-radius: 2mm !important; }
.fiche .galerie .carrousel-img { height: 22mm !important; width: 100% !important; max-width: none !important; object-fit: cover; }
.fiche .carrousel-lien .visuellement-cache { display: none; }
.fiche .fiche-source { display: block !important; margin-top: 3mm !important; font-size: 7.5pt !important; color: #444444 !important; }

/* Sur une fiche projet, la ligne « source » remplace le pied de page */
body:has(.fiche) .pied { display: none !important; }

/* ---------- Autres pages ---------- */
.mosaique { columns: 2; }
.carte-projet { break-inside: avoid; }
.pied { margin-top: 5mm; padding: 0; }
.pied-bas { border-top: .75pt solid #BBBBBB; padding-top: 2mm; font-size: 7.5pt; }

/* ---------- Récapitulatif d’un message envoyé : seul le cadre de confirmation est imprimé ---------- */
.confirmation.recu { border: .75pt solid #BBBBBB !important; background: #FFFFFF !important; color: #000000 !important; }
.recu-detail { background: none !important; padding: 0 !important; }
