/* @doxallia/design — Error page styles */

.portail-error {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 60vh;
	text-align: center;
	padding: var(--s-8);
}

/* SVG illustration — optional, loaded via /assets/pdp-design/assets/errors/{404,500,maintenance}.svg */
.portail-error-illustration {
	width: min(200px, 55vw);
	height: auto;
	margin-bottom: var(--s-6);
	opacity: 0.92;
}

.portail-error-code {
	font-size: 4rem;
	font-weight: var(--fw-bold);
	color: var(--color-brand-text);
	line-height: 1;
	margin-bottom: var(--s-4);
}

.portail-error-message {
	font-size: var(--text-lg);
	font-weight: var(--fw-medium);
	color: var(--color-text);
	margin-bottom: var(--s-2);
}

.portail-error-detail {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	margin-bottom: var(--s-6);
}

.portail-error a {
	color: var(--color-brand-text);
	text-underline-offset: 2px;
}

/* Coming-soon page — full centered layout with illustration */
.portail-coming-soon {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 60vh;
	text-align: center;
	padding: var(--s-8);
	gap: var(--s-4);
}

.portail-coming-soon-illustration {
	width: min(180px, 50vw);
	height: auto;
	margin-bottom: var(--s-2);
}

.portail-coming-soon-title {
	font-size: var(--text-2xl);
	font-weight: var(--fw-bold);
	color: var(--color-brand-text);
}

.portail-coming-soon-subtitle {
	font-size: var(--text-base);
	color: var(--color-text-muted);
	max-width: 36ch;
}

.portail-coming-soon-contact {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	max-width: 40ch;
}
