/*
 * Impression : une seule page, remplie, paysage demandé par défaut.
 *
 * - `size: landscape` est respecté par Chrome/Firefox ; WebKit (Safari)
 *   l'ignore et garde l'orientation choisie dans le dialogue.
 * - Les hauteurs ne sont pas calées sur un format de papier : la page
 *   s'étire sur la zone imprimable réelle (marges du navigateur incluses),
 *   chaque colonne étant découpée en 31 lignes pour rester alignée.
 * - zoom/margin : neutralise la mise à l'échelle écran posée en JS
 *   (style inline, d'où !important).
 */
@page {
	size: A4 landscape;
	margin: 6mm;
}

html, body {
	margin: 0 !important;
	padding: 0;
	height: 100%;
}

body {
	zoom: 1 !important;
	width: auto;
	/* marge de sécurité contre l'arrondi qui pousse une 2e page vide */
	height: calc(100% - 2mm);
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	overflow: hidden;
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}

.actions,
#palette-jour,
#periode-pop,
#periodes {display: none;}
.jour.periode-sel {box-shadow: none;}

#entete {
	height: 15mm;
	margin-bottom: 1mm;
}
#url {top: 0;}
#titre {top: 4mm;}
#annee {
	font-size: 15mm;
	line-height: 15mm;
}

#calendrier {
	grid-template-columns: repeat(6, minmax(0, 1fr));
	/* hauteur imposée, sinon les lignes 1fr suivent le texte le plus long */
	grid-template-rows: minmax(0, 1fr);
	column-gap: 1.5mm;
}
/* 31 lignes par colonne, quelle que soit la longueur du mois */
.mois {
	display: grid;
	grid-template-rows: auto repeat(31, minmax(0, 1fr));
}
.nom_mois {
	height: 5mm;
	line-height: 5mm;
	padding: 0.8mm 0;
	margin-bottom: 1.5mm;
}

.jour {width: auto;}
/* centrage vertical en flex et non en align-content : le n° de semaine
   dépasse de la ligne et doit déborder des deux côtés */
.nom_jour,
.numero_jour,
.numero_semaine {
	display: flex;
	align-items: center;
}
.numero_jour {justify-content: flex-end;}
.numero_semaine {
	top: 0;
	bottom: 0;
}
