.lb-etapes[hidden], .lb-etape[hidden], .lb-barre[hidden], .lb-choix[hidden], .lb-option[hidden] { display: none !important; }
.lb-en-etape #footer { display: none; }
.lb-en-etape .lb-wa__bulle { display: none; }
.lb-etapes {
	min-height: calc(100vh - var(--lb-entete-h));
	padding-block: clamp(16px, 2.2vw, 30px) calc(var(--lb-barre-h, 120px) + 92px);
	background: linear-gradient(180deg, #f6faff 0%, var(--lb-fond) 100%);
	font-family: var(--lb-font);
}
.lb-etape .lb-fil { margin-bottom: clamp(12px, 1.6vw, 20px); }
.lb-etape__liens { display: flex; flex-wrap: wrap; gap: 0 14px; margin: 0 0 clamp(4px, .8vw, 10px) -2px; }
.lb-etape__retour { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin: 0; padding: 0 0 0 2px; border: 0; background: transparent; color: var(--lb-bleu); font-family: inherit; font-size: 16px; font-weight: var(--lb-bold); cursor: pointer; }
.lb-etape__retour:hover { background: transparent; color: var(--lb-bleu-fonce); text-decoration: underline; text-underline-offset: 3px; }
.lb-etape__titre { margin: 0 0 6px; font-size: clamp(28px, 3.4vw, 46px); line-height: 1.08; letter-spacing: -.025em; color: var(--lb-navy); outline: none; }
.lb-etape__sous { margin: 0 0 clamp(18px, 2.2vw, 30px); color: var(--lb-doux); font-size: clamp(16px, 1.45vw, 20px); line-height: 1.3; }
.lb-etape__note { margin: calc(-1 * clamp(8px, 1vw, 14px)) 0 clamp(16px, 2vw, 24px); padding: 10px 14px; border-radius: 10px; background: #fff7e6; box-shadow: inset 0 0 0 1px #f1dca8; color: #6b4d05; font-size: 15px; line-height: 1.35; }
.lb-etape__note[hidden] { display: none; }
.lb-choix-liste { list-style: none; display: grid; gap: clamp(12px, 1.5vw, 20px); margin: 0; padding: 0; }
.lb-choix-liste--n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lb-choix-liste--n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lb-choix-liste--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 860px; }
.lb-choix-liste--n1 { grid-template-columns: minmax(0, 1fr); max-width: 430px; }
.lb-choix { position: relative; display: flex; min-width: 0; }
.lb-choix__case {
	position: absolute;
	inset: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	margin: 0;
	border-radius: 18px;
	opacity: 0;
	cursor: pointer;
}
.lb-choix__corps {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: clamp(16px, 1.6vw, 24px);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(13, 42, 100, .09), inset 0 0 0 1px rgba(10, 34, 84, .05);
	transition: box-shadow .15s ease, background-color .15s ease, transform .15s ease;
}
.lb-souris-bouge .lb-choix__case:hover + .lb-choix__corps { box-shadow: 0 14px 36px rgba(13, 42, 100, .14), inset 0 0 0 2px var(--lb-ciel); }
.lb-choix__case:focus-visible + .lb-choix__corps { outline: 3px solid var(--lb-ciel); outline-offset: 3px; }
.lb-choix__nom { margin: 0; font-size: clamp(21px, 1.8vw, 27px); line-height: 1.12; letter-spacing: -.02em; color: var(--lb-navy); }
.lb-choix__prix.lb-prix-long { font-size: clamp(19px, 1.55vw, 22px); line-height: 1.2; letter-spacing: -.015em; white-space: normal; }
.lb-choix__duree { display: block; margin-top: 2px; color: var(--lb-texte); font-size: 15px; font-weight: 400; line-height: 1.25; letter-spacing: 0; white-space: normal; }
.lb-choix__prix { margin: 2px 0 14px; color: var(--lb-bleu); font-size: clamp(28px, 2.6vw, 38px); font-weight: var(--lb-bold); line-height: 1.1; letter-spacing: -.02em; white-space: nowrap; }
.lb-choix__liste { list-style: none; display: grid; gap: 10px; margin: 0 0 18px; padding: 0; color: var(--lb-texte); font-size: clamp(15.5px, 1.2vw, 17px); line-height: 1.3; }
.lb-choix__liste li { display: flex; align-items: flex-start; gap: 10px; }
.lb-choix__liste .lb-icone { flex: none; color: var(--lb-bleu); }
.lb-choix__liste strong { color: var(--lb-bleu); }
.lb-choix__liste .is-sans { color: var(--lb-doux); }
.lb-choix__liste .is-sans .lb-icone { color: var(--lb-doux); }
.lb-choix__etat { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; margin-top: auto; padding: 8px 14px; border-radius: 999px; background: var(--lb-fond); color: var(--lb-bleu); font-size: 16px; font-weight: var(--lb-bold); line-height: 1.2; text-align: center; transition: background-color .15s ease, color .15s ease; }
.lb-choix__etat-oui { display: none; align-items: center; gap: 8px; }
.lb-choix.is-choisi .lb-choix__corps { background: #f2f8ff; box-shadow: 0 14px 36px rgba(0, 101, 252, .18), inset 0 0 0 3px var(--lb-bleu); }
.lb-choix.is-choisi .lb-choix__etat { background: var(--lb-bleu); color: #fff; }
.lb-choix.is-choisi .lb-choix__etat-non { display: none; }
.lb-choix.is-choisi .lb-choix__etat-oui { display: inline-flex; }
.lb-option { position: relative; display: flex; align-items: center; gap: 12px; margin-top: clamp(14px, 1.8vw, 22px); padding: 12px 16px; border-radius: 14px; background: rgba(255, 255, 255, .8); box-shadow: inset 0 0 0 1px var(--lb-ligne); cursor: pointer; }
.lb-option:hover { background: #fff; }
.lb-option .lb-choix__case { border-radius: 14px; }
.lb-option__coche { flex: none; display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 7px; background: #fff; box-shadow: inset 0 0 0 1.5px #9fb0cc; color: transparent; }
.lb-option__texte { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; line-height: 1.3; color: var(--lb-doux); font-size: 15px; }
.lb-option__texte strong { color: var(--lb-navy); font-size: 16px; }
.lb-option.is-choisi { background: #f2f8ff; box-shadow: inset 0 0 0 2px var(--lb-bleu); }
.lb-option.is-choisi .lb-option__coche { background: var(--lb-bleu); box-shadow: none; color: #fff; }
.lb-option .lb-choix__case:focus-visible ~ .lb-option__coche { outline: 3px solid var(--lb-ciel); outline-offset: 2px; }
.lb-barre {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 65;
	background: #fff;
	box-shadow: 0 -10px 34px rgba(13, 42, 100, .16);
	font-family: var(--lb-font);
	color: var(--lb-navy);
}
.lb-barre__dedans {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	grid-template-areas: "message message message" "rappel total bouton";
	align-items: center;
	column-gap: clamp(14px, 2.2vw, 32px);
	max-width: calc(var(--lb-largeur) + 2 * var(--lb-marge));
	margin-inline: auto;
	padding: 12px var(--lb-marge) max(12px, env(safe-area-inset-bottom));
}
.lb-barre__message { grid-area: message; margin-bottom: 10px; padding: 8px 12px; border-radius: 10px; background: #fff1f3; box-shadow: inset 0 0 0 1px #f5c2cb; color: #8c1228; font-size: 15px; line-height: 1.35; }
.lb-barre__message[hidden] { display: none; }
.lb-barre__message p { margin: 0; }
.lb-barre__message .lb-lien { min-height: 44px; }
.lb-barre__rappel { grid-area: rappel; min-width: 0; }
.lb-barre__ligne { margin: 0; font-size: 15.5px; line-height: 1.3; }
.lb-barre__ligne span { color: var(--lb-texte); }
.lb-barre__morceau { white-space: nowrap; }
.lb-barre__court { display: none; }
.lb-barre__detail { margin: 2px 0 0; color: var(--lb-doux); font-size: 14.5px; line-height: 1.3; }
.lb-barre__detail:empty { display: none; }
.lb-barre__total { grid-area: total; display: flex; flex-direction: column; align-items: flex-end; margin: 0; line-height: 1.1; white-space: nowrap; }
.lb-barre__total span { color: var(--lb-doux); font-size: 14px; }
.lb-barre__total output { font-size: clamp(24px, 2.2vw, 30px); font-weight: var(--lb-bold); letter-spacing: -.02em; color: var(--lb-navy); transition: opacity .15s ease; }
.lb-barre__total.is-calcul output { opacity: .4; }
.lb-barre__continuer { grid-area: bouton; min-height: 54px; padding: 12px 26px; white-space: nowrap; }
.lb-barre__continuer[disabled] { background: #9fb4d6; box-shadow: none; cursor: progress; }
@media (max-width: 1099.98px) {
	.lb-choix-liste--n4, .lb-choix-liste--n3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 999.98px) {
	.lb-barre__dedans { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "message message" "rappel total" "bouton bouton"; row-gap: 8px; padding-top: 10px; }
	.lb-barre__continuer { width: 100%; min-height: 50px; }
}
@media (max-width: 767.98px) {
	.lb-choix-liste--n4, .lb-choix-liste--n3, .lb-choix-liste--n2 { grid-template-columns: minmax(0, 1fr); }
	.lb-etape__titre { font-size: clamp(26px, 7.4vw, 32px); }
	.lb-choix__corps { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "nom prix" "liste liste" "etat etat"; column-gap: 12px; padding: 14px 16px; }
	.lb-choix__nom { grid-area: nom; font-size: 21px; align-self: center; }
	.lb-choix__prix { grid-area: prix; margin: 0; font-size: 25px; align-self: center; }
	.lb-choix__corps:has(.lb-prix-long) { grid-template-columns: minmax(0, 1fr); grid-template-areas: "nom" "prix" "liste" "etat"; }
	.lb-choix__prix.lb-prix-long { font-size: 18px; margin: 2px 0 6px; }
	.lb-choix__liste { grid-area: liste; margin: 10px 0 12px; gap: 7px; font-size: 15.5px; }
	.lb-choix__etat { grid-area: etat; min-height: 44px; }
	.lb-en-etape #header.ct-header { position: relative; }
	.lb-barre__dedans { row-gap: 6px; padding-top: 8px; padding-bottom: max(8px, env(safe-area-inset-bottom)); }
	.lb-barre__ligne { font-size: 13px; line-height: 1.25; }
	.lb-barre__ligne strong { display: inline; }
	.lb-barre__morceau { white-space: normal; }
	.lb-barre__detail { font-size: 12.5px; line-height: 1.25; }
	.lb-barre__long { display: none; }
	.lb-barre__court { display: inline; }
	.lb-barre__total { flex-direction: row; align-items: baseline; gap: 6px; }
	.lb-barre__total output { font-size: 21px; }
	.lb-barre__total span { font-size: 13px; }
	.lb-barre__continuer { min-height: 48px; padding: 8px 18px; font-size: 16px; }
	.lb-etapes { padding-bottom: calc(var(--lb-barre-h, 110px) + 24px); scroll-padding-bottom: calc(var(--lb-barre-h, 110px) + 12px); }
	html:has(.lb-en-etape) { scroll-padding-bottom: calc(var(--lb-barre-h, 110px) + 12px); }
}
@media (max-width: 400px) {
	.lb-barre__total span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
}
@media (max-width: 999.98px) {
	.lb-en-etape .lb-wa { position: absolute; top: calc(var(--lb-entete-h) + 56px); right: var(--lb-marge); bottom: auto; }
	.lb-en-etape .lb-wa__btn { width: 48px; height: 48px; }
	.lb-en-etape .lb-wa__btn svg { width: 26px; height: 26px; }
	.lb-etape__liens { max-width: calc(100% - 60px); }
}
@media (max-height: 480px) and (max-width: 999.98px) {
	.lb-barre__rappel { display: none; }
	.lb-barre__dedans { grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "message message" "total bouton"; column-gap: 12px; }
	.lb-barre__continuer { min-height: 44px; }
}
.lb-choix.is-pris .lb-choix__corps > :not(.lb-choix__pris), .lb-option.is-pris > :not(.lb-choix__pris) { opacity: .5; }
.lb-choix.is-pris .lb-choix__case, .lb-option.is-pris { cursor: not-allowed; }
.lb-choix.is-pris .lb-choix__etat { display: none; }
.lb-choix__pris { display: block; margin-top: 10px; color: var(--lb-rouge); font-weight: var(--lb-bold); font-size: 14px; }
.lb-choix.is-pris .lb-choix__case:disabled, .lb-option.is-pris .lb-choix__case:disabled { background: transparent; border: 0; box-shadow: none; opacity: 0; }
.lb-option .lb-choix__pris { margin: 0 0 0 auto; flex: none; }
@media (max-width: 767.98px) {
	.lb-option.is-pris { padding-bottom: 36px; }
	.lb-option .lb-choix__pris { position: absolute; left: 54px; bottom: 10px; margin: 0; }
}
