/**
 * LL AUTO Booking — page de confirmation et récapitulatif imprimable.
 *
 * Dépend de llab-app.css pour les tokens et les composants de base.
 */

.llab-confirmation {
	padding-bottom: 32px;
}

.llab-confirmation__header {
	background: var(--llab-bg-darker);
	color: var(--llab-text-on-dark);
	border-radius: var(--llab-radius-card);
	padding: 24px;
	margin-bottom: 24px;
}

.llab-confirmation__title {
	font-family: var(--llab-font-heading);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 8px;
	color: var(--llab-text-on-dark);
}

.llab-confirmation__lead {
	margin: 0;
	font-size: 16px;
}

/* Cyan sur fond sombre : contraste conforme. */
.llab-confirmation__reference {
	display: inline-block;
	margin-top: 16px;
	padding: 8px 16px;
	border-radius: 999px;
	background: rgba(19, 180, 235, 0.15);
	border: 1px solid var(--llab-color-secondary);
	color: var(--llab-color-secondary);
	font-family: var(--llab-font-heading);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

/*
 * Les badges de statut viennent de llab-app.css, dont cette feuille dépend.
 * Ils étaient dupliqués ici : la copie, chargée après, écrasait la couleur de
 * texte du badge « En cours » et le laissait en sombre sur cyan.
 * Une seule source, sinon les deux divergent au premier ajustement.
 *
 * La surcharge d'impression, plus bas, reste en place.
 */

.llab-confirmation__actions {
	margin-top: 24px;
}

.llab-confirmation__actions[hidden] {
	display: none;
}

.llab-legal {
	margin-top: 32px;
	padding-top: 16px;
	border-top: 1px solid var(--llab-border);
	color: var(--llab-text-muted);
	font-size: 13px;
}

.llab-legal__line {
	margin: 0 0 2px;
}

.llab-legal a {
	color: var(--llab-color-primary);
}

@media (min-width: 768px) {
	.llab-confirmation__title {
		font-size: 36px;
	}

	.llab-confirmation__header {
		padding: 32px;
	}
}

/* ------------------------------------------------------------------
 * Impression — le client repart avec une feuille propre.
 * ------------------------------------------------------------------ */

@media print {
	/* Tout ce qui n'appartient pas au récapitulatif disparaît. */
	body > *:not(:has(.llab-confirmation)) {
		display: none !important;
	}

	.llab-no-print,
	.llab-confirmation__actions {
		display: none !important;
	}

	.llab-app {
		max-width: none;
		margin: 0;
		padding: 0;
		font-size: 12pt;
		color: #000;
	}

	/* Aplats sombres retirés : ils vident les cartouches d'encre. */
	.llab-confirmation__header {
		background: transparent !important;
		color: #000 !important;
		border: 1px solid #000;
		border-radius: 0;
		padding: 12pt;
	}

	.llab-confirmation__title,
	.llab-confirmation__reference {
		color: #000 !important;
	}

	.llab-confirmation__reference {
		background: transparent !important;
		border-color: #000;
	}

	.llab-summary {
		background: transparent !important;
		border: 1px solid #000;
		border-radius: 0;
		padding: 12pt;
	}

	.llab-summary__group + .llab-summary__group {
		border-top-color: #000;
	}

	.llab-summary__row--total {
		border-top-color: #000;
	}

	/*
	 * La remise passe en noir à l'impression, comme le reste. Le vert coûte de
	 * l'encre couleur pour une information que le signe « − » porte déjà, et il
	 * vire au gris pâle illisible sur une imprimante monochrome.
	 */
	.llab-summary__discount {
		color: #000 !important;
	}

	.llab-badge {
		background: transparent !important;
		color: #000 !important;
		border: 1px solid #000;
	}

	.llab-legal {
		border-top-color: #000;
		color: #000;
	}

	/* Un récapitulatif ne doit pas se couper au milieu d'un bloc. */
	.llab-summary__group {
		break-inside: avoid;
	}

	a[href^='tel:'] {
		text-decoration: none;
		color: #000;
	}
}
