/* Page /demande : questionnaire plein écran. Valeurs : DESIGN.md. */
.page-demande { background: var(--fond); }
.demande-grille { min-height: 100vh; min-height: 100svh; display: grid; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 960px) { .demande-grille { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); } }
.demande-visuel { display: none; position: relative; }
@media (min-width: 960px) { .demande-visuel { display: block; position: sticky; top: 0; height: 100vh; } }
.demande-visuel img { width: 100%; height: 100% !important; object-fit: cover; }
.demande-voile { position: absolute; left: var(--e32); right: var(--e32); bottom: var(--e32); background: var(--fond-2); border-radius: var(--r-bloc); padding: var(--e24); box-shadow: var(--ombre); }
.demande-voile .titre { font-size: var(--t24); margin-bottom: var(--e8); }
.demande-voile p:last-child { margin: 0; }
.demande-cote { min-width: 0; display: flex; flex-direction: column; padding: calc(var(--e16) + env(safe-area-inset-top)) var(--e16) calc(var(--e16) + env(safe-area-inset-bottom)); }
@media (min-width: 960px) { .demande-cote { padding: var(--e32) var(--e48); } }
.demande-haut { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--e32); }
.demande-haut img { width: 96px; height: auto; }
.demande-zone { width: 100%; max-width: 560px; margin: 0 auto; flex: 1; display: flex; flex-direction: column; justify-content: center; }
.demande-zone h1 { font-size: var(--t32); margin: var(--e16) 0 var(--e24); }
.demande-zone .choix-grands { grid-template-columns: 1fr 1fr; }
.demande-zone .choix-grand { min-height: 72px; }
.demande-zone .actions { display: flex; flex-direction: column; gap: var(--e8); margin-top: var(--e24); }
@media (max-width: 420px) { .demande-zone .choix-grands { grid-template-columns: 1fr; } }

/* Une question par écran (principe du Club de Koh) */
.q-tete { display: flex; justify-content: space-between; align-items: center; min-height: 44px; margin-bottom: var(--e8); }
.q-compte { font-size: var(--t14); font-weight: 700; color: var(--texte-2); }
.q-sous { color: var(--texte-2); margin-top: calc(-1 * var(--e16)); margin-bottom: var(--e24); }
.demande-zone .tunnel-progression span { height: 5px; }
.q-pied { position: sticky; bottom: 0; padding: var(--e16) 0 calc(var(--e8) + env(safe-area-inset-bottom)); background: linear-gradient(to top, var(--fond) 75%, rgba(253, 234, 223, 0)); margin-top: var(--e16); }
.demande-zone .choix-grands { grid-template-columns: 1fr; }
@media (min-width: 640px) { .demande-zone .choix-grands { grid-template-columns: 1fr 1fr; } }
.q-merci p { max-width: 420px; margin: 0 auto; }
.q-tete { align-items: center; }
.q-tete .retour { margin: 0; }
@media (max-width: 959px) { .demande-zone { justify-content: flex-start; } }
/* Réservation (modèle Laetitia) : barre fine, Retour et Continuer côte à côte en bas */
.barre-fine { height: 4px; background: var(--ligne); border-radius: 4px; overflow: hidden; margin-bottom: var(--e24); }
.barre-fine span { display: block; height: 100%; background: var(--orange-vif); border-radius: 4px; transition: width .3s; }
.q-nav { display: flex; gap: var(--e12); }
.q-nav .bouton { flex: 1; }
.q-nav .bouton.second { flex: 0 0 auto; }
.demande-zone .encart { margin-bottom: var(--e16); line-height: 1.6; }
.liste-seances.compacte .seance { grid-template-columns: 56px 1fr auto; padding: var(--e12); }
.liste-seances.compacte .seance-action { display: none; }
.liste-seances.compacte .seance-date { grid-row: auto; }
.choix-grand[disabled] { opacity: .5; cursor: not-allowed; }
.page-demande .demande-zone.resa { justify-content: flex-start; padding-top: var(--e16); }
.q-merci p { margin-bottom: var(--e16); }
/* Réservation v3 (modèle Laetitia) */
.choix-liste { display: flex; flex-direction: column; gap: var(--e12); }
.choix-grand.large { text-decoration: none; min-height: 72px; }
.choix-titre { display: flex; align-items: center; gap: var(--e8); font-weight: 700; }
.choix-grand[aria-pressed="true"] .point { box-shadow: 0 0 0 2px var(--sur-accent); }
.label-dates { font-weight: 700; font-size: var(--t14); margin: 0 0 var(--e8); }
/* Dates sur une seule ligne qui défile de gauche à droite (comme la réservation de Laetitia) */
.dates { display: flex; flex-wrap: nowrap; gap: var(--e8); margin: 0 calc(-1 * var(--e16)) var(--e16); padding: 4px var(--e16) var(--e12); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 var(--e16); -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.dates .date-pastille { flex: 0 0 auto; scroll-snap-align: start; }
.date-pastille { width: 84px; min-height: 84px; border-radius: var(--r-champ); border: 2px solid var(--ligne); background: var(--fond-2); color: var(--texte); font-family: var(--police-texte); cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; padding: 6px 2px; }
.date-pastille span { font-size: var(--t12); font-weight: 700; text-transform: uppercase; }
.date-pastille b { font-family: var(--police-titres); font-weight: 400; font-size: var(--t32); color: var(--orange); line-height: 1.1; }
.date-pastille small { font-size: 11px; font-weight: 700; color: var(--ok); }
.date-pastille.pleine small { color: var(--probleme); }
.date-pastille[aria-pressed="true"] { border-color: var(--accent); background: var(--accent); color: var(--sur-accent); }
.date-pastille[aria-pressed="true"] b, .date-pastille[aria-pressed="true"] small { color: var(--sur-accent); }
.date-pastille[disabled] { opacity: .45; cursor: not-allowed; }
.pcarte { background: var(--fond-2); border: 1px solid var(--ligne); border-radius: var(--r-bloc); padding: var(--e16); margin-bottom: var(--e12); }
.pcarte-tete { margin-bottom: var(--e8); }
.pcarte .champ { margin-bottom: var(--e12); }
.bouton[aria-disabled="true"] { background: var(--desactive); border-color: var(--desactive); color: var(--sur-desactive); }
.date-pastille i { font-style: normal; font-size: var(--t12); font-weight: 600; }
.date-pastille { min-height: 116px; }
.propulse { text-align: center; font-size: var(--t12); color: var(--texte-2); margin: var(--e24) 0 0; }
.propulse a { color: var(--texte-2); }
.demande-zone:has(.q-merci) { justify-content: center; }
.demande-zone, .demande-zone > form { min-width: 0; }
.langues { display: flex; gap: 6px; margin-left: auto; }
.langue { width: 34px; height: 30px; padding: 0; display: grid; place-items: center; border-radius: 8px; border: 1.5px solid transparent; background: transparent; cursor: pointer; opacity: .55; }
.langue img { border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.1); }
.langue[aria-pressed="true"] { opacity: 1; border-color: var(--ligne); background: var(--fond-2); }
.q-tete .langsel { margin-left: auto; }
/* Page /cadeau : 2 vidéos offertes contre l'e-mail */
.cadeau-liste { list-style: none; padding: 0; margin: 0 0 var(--e16); display: flex; flex-direction: column; gap: var(--e12); }
.cadeau-liste li { display: flex; align-items: center; gap: var(--e12); background: var(--fond-2); border-radius: var(--r-champ); padding: var(--e16); font-weight: 700; box-shadow: var(--ombre); }
.cadeau-lecture { flex: none; position: relative; width: 44px; height: 44px; border-radius: 50%; background: var(--orange-vif); }
.cadeau-lecture::after { content: ''; position: absolute; left: 17px; top: 13px; border-left: 14px solid var(--blanc); border-top: 9px solid transparent; border-bottom: 9px solid transparent; }
.cadeau-videos { display: flex; flex-direction: column; gap: var(--e24); margin: var(--e24) 0; }
.cadeau-titre { font-weight: 700; margin: 0 0 var(--e8); overflow-wrap: anywhere; }
.cadeau-suite p { max-width: 420px; margin: 0 auto var(--e8); }
.q-pied .lien-discret { display: block; text-align: center; margin-top: var(--e12); color: var(--texte); font-weight: 600; }
.q-merci .q-pied { position: static; background: none; }
.q-merci .cadeau-titre { max-width: none; margin: 0 0 var(--e8); }
