/* =========================================================================
 * Questionnaire Lakan
 * Utilisé uniquement par le modèle de page "Questionnaire Lakan".
 * Toutes les règles commencent par .lakan : elles ne touchent pas au reste du site.
 * Polices : Bunny Fonts (hébergeur européen, sans traceur).
 * ====================================================================== */

@font-face {
	font-family: 'Garamond Lakan';
	src: url('https://fonts.bunny.net/eb-garamond/files/eb-garamond-latin-600-normal.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Garamond Lakan';
	src: url('https://fonts.bunny.net/eb-garamond/files/eb-garamond-latin-700-normal.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Source Sans Lakan';
	src: url('https://fonts.bunny.net/source-sans-3/files/source-sans-3-latin-400-normal.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Source Sans Lakan';
	src: url('https://fonts.bunny.net/source-sans-3/files/source-sans-3-latin-700-normal.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

body.lakan-page {
	margin: 0;
	background: #FFFFFF;
}

.lakan {
	--fond: #FFFFFF;
	--panneau: #ECECE9;
	--route-vide: #D2D2CE;
	--texte: #000000;
	--secondaire: #555551;
	--brique: #7A2E22;
	--erreur: #B3261E;
	--erreur-fond: #FBE9E7;
	--titre: 'Garamond Lakan', Garamond, Georgia, serif;
	--corps: 'Source Sans Lakan', 'Segoe UI', Arial, sans-serif;
	--titre-poids: 600;
	--titre-fort: 700;

	display: grid;
	grid-template-columns: clamp(250px, 26vw, 360px) minmax(0, 1fr);
	min-height: 100vh;
	min-height: 100dvh;
	background: var(--fond);
	color: var(--texte);
	font-family: var(--corps);
	font-size: 1.0625rem;
	line-height: 1.55;
	-webkit-tap-highlight-color: transparent;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

.lakan *,
.lakan *::before,
.lakan *::after {
	box-sizing: border-box;
}

.lakan [hidden] {
	display: none !important;
}

/* ---------- Colonne latérale ---------- */

.lakan-cote {
	position: sticky;
	top: 0;
	height: 100vh;
	height: 100dvh;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 2rem;
	padding: clamp(1.5rem, 5vh, 2.5rem) clamp(1.5rem, 3vw, 2.75rem);
	background: var(--panneau);
}

.lakan-marque {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	min-height: 44px;
	color: var(--texte);
	text-decoration: none;
}

.lakan-marque-logo {
	display: block;
	width: 33px;
	height: 44px;
	background: url("data:image/png;base64,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") no-repeat center / contain;
}

.lakan-marque span {
	font-family: var(--titre);
	font-size: 1.75rem;
	font-weight: var(--titre-poids);
}

.lakan-avancee {
	display: flex;
	flex-direction: column;
	gap: 1.125rem;
}

.lakan-route {
	display: block;
	width: min(272px, 100%, 40vh);
	height: auto;
}

.lakan-route-vide {
	fill: var(--route-vide);
}

.lakan-route-faite {
	fill: var(--brique);
}

.lakan-compteur {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.lakan-compteur-nombre {
	font-family: var(--titre);
	font-size: 2.125rem;
	font-weight: var(--titre-fort);
	font-variant-numeric: lining-nums;
	line-height: 1;
}

.lakan-compteur-texte,
.lakan-note {
	font-size: 1rem;
	color: var(--secondaire);
}

.lakan-note {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.5;
}

/* ---------- Zone principale ---------- */

.lakan-principal {
	min-width: 0;
	padding: clamp(3rem, 9vh, 4.5rem) max(clamp(1.5rem, 6vw, 6rem), calc((100% - 48rem) / 2)) 5rem;
}

.lakan h1 {
	margin: 0 0 1.75rem;
	font-family: var(--titre);
	font-size: clamp(2.25rem, 7vw, 4.75rem);
	font-weight: var(--titre-fort);
	line-height: 1;
	color: var(--texte);
	overflow-wrap: break-word;
	text-wrap: balance;
}

.lakan-intro,
.lakan-fin {
	padding-top: clamp(0rem, 6vh, 3rem);
}

.lakan-intro p,
.lakan-fin p {
	max-width: 34rem;
	margin: 0 0 0.875rem;
	font-size: 1.1875rem;
}

.lakan-intro .lakan-bouton {
	margin-top: 1.5rem;
}

.lakan-alerte {
	max-width: 46rem;
	margin: 0 0 2.5rem;
	padding: 1rem 1.25rem;
	background: var(--erreur-fond);
	color: var(--erreur);
	font-weight: 700;
}

/* ---------- Étapes et questions ---------- */

.lakan-etape,
.lakan-choix {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.lakan-etape:focus {
	outline: none;
}

.lakan.js .lakan-etape {
	display: none;
}

.lakan.js .lakan-etape.is-active {
	display: block;
}

.lakan-question {
	display: grid;
	grid-template-columns: 3.5rem minmax(0, 1fr);
	column-gap: 0.5rem;
	row-gap: 1rem;
	max-width: 46rem;
	margin: 0 0 2.75rem;
}

.lakan-question > :not(.lakan-numero) {
	grid-column: 2;
}

.lakan-numero {
	grid-column: 1;
	grid-row: 1;
	font-family: var(--titre);
	font-size: clamp(1.6rem, 3.5vw, 2.05rem);
	font-weight: var(--titre-fort);
	font-variant-numeric: lining-nums;
	line-height: 1.2;
	color: var(--brique);
}

.lakan-label {
	display: block;
	margin: 0;
	padding: 0;
	font-family: var(--titre);
	font-size: clamp(1.6rem, 3.5vw, 2.05rem);
	font-weight: var(--titre-poids);
	line-height: 1.2;
	color: var(--texte);
	overflow-wrap: break-word;
	text-wrap: balance;
}

/* Mots à trait d'union (avez-vous, est-ce...) jamais coupés en fin de ligne */
.lakan-mot {
	white-space: nowrap;
}

.lakan-choix .lakan-label {
	margin-bottom: 1rem;
}

.lakan-aide {
	margin: -0.5rem 0 0;
	font-size: 0.9375rem;
	color: var(--secondaire);
}

.lakan-champ {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0.875rem 1rem;
	font-family: var(--corps);
	font-size: 1.0625rem;
	line-height: 1.55;
	color: var(--texte);
	background: var(--fond);
	border: 1.5px solid var(--texte);
	border-radius: 0;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

textarea.lakan-champ {
	min-height: 7.75rem;
	resize: vertical;
}

.lakan-champ--court {
	max-width: 8rem;
}

.lakan .lakan-champ:focus {
	outline: none;
	box-shadow: 0 0 0 2px var(--texte);
}

.lakan-options {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.lakan-option {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 1.25rem;
	background: var(--fond);
	border: 1.5px solid var(--texte);
	font-weight: 700;
	cursor: pointer;
}

/* Le bouton radio reste accessible au clavier, mais c'est la case entière qui montre l'état. */
.lakan-option input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
}

.lakan-option:has(input:checked) {
	background: var(--texte);
	color: var(--fond);
}

.lakan-option:has(input:focus-visible) {
	outline: 3px solid var(--texte);
	outline-offset: 3px;
}

.lakan-question.is-invalide .lakan-champ,
.lakan-question.is-invalide .lakan-option {
	border-color: var(--erreur);
	box-shadow: 0 0 0 1px var(--erreur);
}

.lakan-erreur {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--erreur);
}

/* Consentement */
.lakan-consentement {
	padding-top: 2.25rem;
	border-top: 1.5px solid var(--texte);
}

.lakan-case {
	display: flex;
	align-items: flex-start;
	gap: 0.875rem;
	font-size: 0.9375rem;
	line-height: 1.55;
	cursor: pointer;
}

.lakan-case input {
	flex-shrink: 0;
	width: 1.25rem;
	height: 1.25rem;
	margin: 0.15rem 0 0;
	accent-color: var(--texte);
}

.lakan a {
	color: var(--texte);
	text-underline-offset: 3px;
}

.lakan a:hover {
	color: var(--brique);
}

/* ---------- Boutons ---------- */

.lakan-nav {
	display: flex;
	align-items: center;
	gap: 2rem;
	max-width: 46rem;
	padding-left: 4rem;
}

.lakan .lakan-bouton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 0 2.25rem;
	font-family: var(--corps);
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1;
	color: var(--fond);
	background: var(--texte);
	border: 0;
	border-radius: 0;
	cursor: pointer;
}

.lakan .lakan-bouton:hover {
	background: var(--brique);
}

.lakan .lakan-bouton:disabled {
	opacity: 0.7;
	cursor: wait;
}

.lakan .lakan-lien {
	min-height: 54px;
	padding: 0;
	font-family: var(--corps);
	font-size: 1.0625rem;
	color: var(--texte);
	background: none;
	border: 0;
	text-decoration: underline;
	text-underline-offset: 4px;
	cursor: pointer;
}

.lakan .lakan-lien:hover {
	color: var(--brique);
}

.lakan :focus-visible {
	outline: 3px solid var(--texte);
	outline-offset: 3px;
}

/* Sans JavaScript : tout le formulaire s'affiche d'un bloc */
.lakan:not(.js) .lakan-js {
	display: none !important;
}

/* ---------- Accessibilité ---------- */

.lakan-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.lakan-piege {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* ---------- Tablettes, téléphones, et écrans peu hauts (téléphone à l'horizontale) ---------- */

@media (max-width: 899px), (max-height: 500px) {
	.lakan {
		grid-template-columns: minmax(0, 1fr);
	}

	.lakan-cote {
		position: static;
		height: auto;
		overflow: visible;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"marque route"
			"compteur route";
		align-items: end;
		column-gap: 1rem;
		row-gap: 0.5rem;
		padding: 1rem clamp(1.25rem, 5vw, 3rem) 1.25rem;
	}

	.lakan-avancee {
		display: contents;
	}

	.lakan-marque {
		grid-area: marque;
	}

	.lakan-marque-logo {
		width: 26px;
		height: 34px;
	}

	.lakan-marque span {
		font-size: 1.375rem;
	}

	.lakan-route {
		grid-area: route;
		width: clamp(84px, 24vw, 140px);
	}

	.lakan-compteur {
		grid-area: compteur;
		flex-direction: row;
		align-items: baseline;
		flex-wrap: wrap;
		column-gap: 0.4rem;
		row-gap: 0;
	}

	.lakan-compteur-nombre {
		font-size: 1.25rem;
	}

	.lakan-compteur-texte {
		font-size: 0.9375rem;
	}

	.lakan-note {
		display: none;
	}

	.lakan-principal {
		padding: 2rem clamp(1.25rem, 5vw, 3rem) 3.5rem;
	}

	.lakan-intro,
	.lakan-fin {
		padding-top: 0.5rem;
	}

	.lakan-question {
		grid-template-columns: 2.25rem minmax(0, 1fr);
		row-gap: 0.75rem;
		margin-bottom: 2.25rem;
	}

	.lakan-nav {
		gap: 1.5rem;
		padding-left: 2.75rem;
	}
}

/* ---------- Téléphones : une seule colonne, tout en pleine largeur ---------- */

@media (max-width: 599px) {
	.lakan-question {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 0.625rem;
	}

	/* Le numéro passe au-dessus de la question, les champs prennent toute la largeur */
	.lakan-question > :not(.lakan-numero) {
		grid-column: 1;
	}

	.lakan-numero {
		font-size: 1.125rem;
		line-height: 1;
		margin-bottom: -0.375rem;
	}

	.lakan-label {
		font-size: clamp(1.375rem, 1rem + 2.5vw, 1.6rem);
	}

	.lakan-choix .lakan-label {
		margin-bottom: 0.75rem;
	}

	/* Femme / Homme / Autre remplissent la ligne : cibles plus grandes pour le pouce */
	.lakan-option {
		flex: 1 1 auto;
		justify-content: center;
		padding: 0 1rem;
	}

	.lakan-consentement {
		padding-top: 1.75rem;
	}

	.lakan-nav {
		flex-direction: column;
		align-items: stretch;
		gap: 0.25rem;
		padding-left: 0;
	}

	.lakan .lakan-bouton {
		width: 100%;
	}
}