/* ============================================================
   FICHE ACTION IMPRIMABLE — hello-uu · Duuble U · 11/10/2026
   Document papier construit à part par assets/js/uu-print-action.js
   (<article id="uu-fiche">). À l'impression, la page disparaît et seule
   la fiche est rendue. Format A4 portrait, une page dans le cas courant.

   Structure produite par le JS :
     article#uu-fiche
       header.uu-f-top        bandeau : marque à gauche, « Fiche action » à droite
       .uu-f-badges           axe · type · état · tarif (pastilles)
       .uu-f-title            h1 + logo de l'action
       .uu-f-body             grille 2 colonnes (ou 1 si pas de colonne « en bref »)
         .uu-f-main           image, exergue, présentation, Objectifs, Public, Résultats
         aside.uu-f-aside     .uu-f-box (En bref) · .uu-f-chiffres · .uu-f-soutiens · .uu-f-tags
       footer.uu-f-foot       pied répété sur chaque page
   ============================================================ */

@page {
	size: A4 portrait;
	margin: 12mm 12mm 18mm;
}

@media print {

	:root {
		--uu-f-ink:    #333331;
		--uu-f-muted:  #7a7a78;
		--uu-f-green:  #95D600;
		--uu-f-green-ink: #5f8a00;
		--uu-f-orange: #F5A623;
		--uu-f-fill:   #f3f7e8;
		--uu-f-rule:   #d8e3bd;
	}

	/* ---------- La page disparaît, la fiche reste ---------- */
	html, body {
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
	body > *:not(#uu-fiche) {
		display: none !important;
	}

	#uu-fiche {
		display: block !important;
		font-family: 'Rubik', Arial, Helvetica, sans-serif;
		font-size: 9.5pt;
		line-height: 1.4;
		color: var(--uu-f-ink);
	}
	#uu-fiche * { box-sizing: border-box; }
	#uu-fiche h1, #uu-fiche h2, #uu-fiche p, #uu-fiche ul, #uu-fiche dl { margin: 0; }
	#uu-fiche img { max-width: 100%; height: auto; }
	#uu-fiche a { color: inherit; text-decoration: none; }

	/* ---------- Bandeau ---------- */
	.uu-f-top {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding-bottom: 3mm;
		margin-bottom: 4mm;
		border-bottom: 2.5pt solid var(--uu-f-green);
	}
	.uu-f-brand {
		display: flex;
		align-items: center;
		gap: 2.5mm;
	}
	.uu-f-brand img { width: 9mm; height: 9mm; }
	.uu-f-brand-text {
		font-size: 14pt;
		font-weight: 700;
		letter-spacing: 0.02em;
		color: var(--uu-f-ink);
	}
	.uu-f-brand-text em { color: var(--uu-f-green-ink); font-style: normal; }
	.uu-f-kind {
		text-align: right;
		font-size: 8pt;
		color: var(--uu-f-muted);
		line-height: 1.3;
	}
	.uu-f-kind strong {
		display: block;
		font-size: 10pt;
		font-weight: 800;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: var(--uu-f-ink);
	}

	/* ---------- Badges ---------- */
	.uu-f-badges {
		display: flex;
		flex-wrap: wrap;
		gap: 2mm;
		margin-bottom: 3mm;
	}
	.uu-f-badge {
		display: inline-block;
		padding: 0.8mm 2.5mm;
		border: 0.6pt solid var(--uu-f-green-ink);
		border-radius: 10mm;
		font-size: 7.5pt;
		font-weight: 700;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: var(--uu-f-green-ink);
	}
	.uu-f-badge--axe {
		background: var(--uu-f-green);
		border-color: var(--uu-f-green);
		color: #fff;
	}
	.uu-f-badge--muted {
		border-color: var(--uu-f-muted);
		color: var(--uu-f-muted);
	}
	.uu-f-badge--prix {
		border-color: var(--uu-f-orange);
		color: #b06f00;
	}

	/* ---------- Titre ---------- */
	.uu-f-title {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 6mm;
		margin-bottom: 5mm;
	}
	.uu-f-title h1 {
		flex: 1 1 auto;
		font-size: 22pt;
		font-weight: 900;
		line-height: 1;
		text-transform: uppercase;
		letter-spacing: -0.01em;
		color: var(--uu-f-ink);
		overflow-wrap: break-word;
	}
	.uu-f-logo {
		flex: 0 0 auto;
		max-width: 34mm;
		max-height: 20mm;
		width: auto;
		object-fit: contain;
	}

	/* ---------- Corps : 2 colonnes ---------- */
	.uu-f-body {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 58mm;
		gap: 0 7mm;
		align-items: start;
	}
	.uu-f-body--sans-aside {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Colonne principale */
	.uu-f-figure {
		margin: 0 0 4mm;
		break-inside: avoid;
	}
	.uu-f-figure img {
		width: 100%;
		max-height: 58mm;
		object-fit: cover;
		border-radius: 2.5mm;
		display: block;
	}
	.uu-f-lead {
		font-size: 11pt;
		font-weight: 600;
		line-height: 1.35;
		padding-left: 4mm;
		border-left: 2.5pt solid var(--uu-f-green);
		margin-bottom: 5mm;
	}
	.uu-f-text p { margin: 0 0 2mm; }
	.uu-f-text ul, .uu-f-text ol { margin: 0 0 2mm; padding-left: 5mm; }
	.uu-f-text li { margin-bottom: 0.8mm; }
	.uu-f-text strong { font-weight: 700; }
	.uu-f-section {
		margin-top: 4mm;
		padding-top: 3mm;
		border-top: 0.6pt solid var(--uu-f-rule);
		break-inside: avoid;
	}
	.uu-f-main h2,
	.uu-f-aside h2 {
		font-size: 8.5pt;
		font-weight: 800;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		color: var(--uu-f-green-ink);
		margin-bottom: 1.5mm;
	}

	/* Colonne « en bref » */
	.uu-f-aside > * { break-inside: avoid; }
	.uu-f-box {
		background: var(--uu-f-fill);
		border-radius: 3mm;
		padding: 4.5mm 5mm;
		margin-bottom: 4mm;
	}
	.uu-f-dl dt {
		font-size: 7pt;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: var(--uu-f-muted);
		margin-top: 2.5mm;
	}
	.uu-f-dl dt:first-child { margin-top: 0; }
	.uu-f-dl dd {
		margin: 0.3mm 0 0;
		font-size: 9.5pt;
		font-weight: 500;
		line-height: 1.3;
		overflow-wrap: anywhere;
	}
	.uu-f-chiffres {
		margin-bottom: 4mm;
		padding: 0 1mm;
	}
	.uu-f-num {
		display: flex;
		align-items: baseline;
		gap: 2.5mm;
		padding: 1.5mm 0;
		border-bottom: 0.5pt solid var(--uu-f-rule);
	}
	.uu-f-num:last-child { border-bottom: 0; }
	.uu-f-num b {
		flex: 0 0 auto;
		font-size: 19pt;
		font-weight: 900;
		line-height: 1;
		color: var(--uu-f-green-ink);
		min-width: 16mm;
	}
	.uu-f-num span {
		font-size: 8pt;
		line-height: 1.2;
		color: var(--uu-f-muted);
		text-transform: uppercase;
		letter-spacing: 0.04em;
	}
	.uu-f-soutiens { margin-bottom: 4mm; }
	.uu-f-logos {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 3mm 4mm;
	}
	.uu-f-logos img {
		max-height: 10mm;
		max-width: 24mm;
		width: auto;
		object-fit: contain;
	}
	.uu-f-tags h2 { margin-top: 2mm; }
	.uu-f-tags ul {
		list-style: none;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
		gap: 1.2mm;
		margin-bottom: 1mm;
	}
	.uu-f-tags li {
		font-size: 7pt;
		padding: 0.6mm 2mm;
		border: 0.5pt solid var(--uu-f-rule);
		border-radius: 10mm;
		color: var(--uu-f-muted);
	}

	/* ---------- Pied, répété sur chaque page ---------- */
	.uu-f-foot {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		display: flex;
		justify-content: space-between;
		padding-top: 2mm;
		border-top: 0.6pt solid var(--uu-f-rule);
		font-size: 7pt;
		color: var(--uu-f-muted);
	}
	#uu-fiche { padding-bottom: 8mm; }
}
