@media print {
	@page bordereau {
		size: a4 landscape;
		margin: auto;
	}

	@page fiche
	{
		size: A4 portrait;
		margin: auto;
	}
	
	:root
	{
		/* Implement greyscale color palette */
		--color-light: #FAFAFA;
		--color-info: #757575;
		--color-muted: #B5B5B5;
	}
	
	body {
		background: transparent;
	}
	
	/* Hide non-printable UI elements */
	#app > header,
	.header-actions,
	:where(.table-container, .tickets-container, main > section) + *
	{
		display: none;
	}

	.table-container {
		overflow: visible; /* Prevent scrollbars in print */
		print-color-adjust: exact;
		break-after: avoid;
		
		table {
			border: var(--border-min) solid var(--color-info);
			font-size: 10pt;

			caption { padding-inline: 0; }
			thead, tfoot { background-color: var(--color-light); }
			tr { break-inside: avoid; } /* Don't split rows across pages */
			th, td { border: var(--border-min) solid var(--color-muted); }
		}
	}

	.tickets-container {
		display: block;
		print-color-adjust: exact;
		break-after: avoid;
	}

	.ticket-card {
		position: relative;
		width: 21cm;
		height: 29.7cm;
		margin-block: auto;
		background-color: transparent;
		border: var(--border-xs) solid var(--color-info);
		box-shadow: none;

		&::before {
			content: '';
			position: absolute;
			top: 10%;
			left: 10%;
			width: 80%;
			height: 80%;
			background-color: transparent;
			background: url('../img/logo_mono.png') no-repeat center center;
			background-size: contain;
			opacity: 0.2;
		}
		
		& > header,
		& > footer,
		& > div > * 
		{
			flex-grow: 0;
		}
		
		& > header { flex-basis: 16%; }
		& > footer { flex-basis: 16%; }
		& > div > ul { flex-basis: 40%; }

		& > header { font-size: 90pt; }
		& > footer { font-size: 60pt; }
		& > div > p { font-size: 24pt; }
		& > div > time { font-size: 36pt; }
		& > div > ul { font-size: 24pt; }
		& > div > small { font-size: 18pt; }
	}
}
