/* ATLA v2 — parcours de soumission (/soumission/, /soumission/rapide/, /soumission/detaillee/).
   Fusion du 12 oct. 2026 : parcours et questionnaire repris de la refonte d'Ulrik, redessinés dans le système
   « Monolithe » de la refonte de Nicolas (noir et blanc, sans accent de couleur). S'ajoute à atla-v2.css et
   atla-v2-pages.css. Les champs du formulaire reprennent les styles de .v2-contact (accueil).
   Contrastes : #a3a39e sur noir 7,8:1 ; #ffb4a8 sur noir 12,6:1 ; texte de la carte inversée #3a3a37 sur #fff 11,3:1. */

.v2-page--soumission .v2-contact{padding-top:clamp(32px,5vw,64px)}

/* ---------- Page de choix ---------- */
/* Titre en trois lignes : plus petit que le gabarit typographique (sinon « voulez-vous » se coupait au trait d'union à 1440). */
@media (min-width:600px){.v2-ph--typo.v2-soum-choix h1{font-size:clamp(44px,6.4vw,112px);max-width:none}}
.v2-soum-choix .hero-description{max-width:46ch;margin-top:clamp(24px,3vw,40px);font-size:clamp(18px,1.5vw,23px);line-height:1.55;color:#d6d6d2}
.v2-soum-cartes{display:grid;gap:var(--v2-gouttiere);margin-top:clamp(40px,5vw,72px)}
.v2-soum-carte{position:relative;display:flex;flex-direction:column;gap:16px;min-height:320px;padding:clamp(28px,3vw,44px);
 border:1px solid var(--v2-trait);color:var(--v2-pur);text-decoration:none;transition:border-color .4s var(--v2-ease),background .4s var(--v2-ease)}
.v2-soum-carte:hover{border-color:var(--v2-pur)}
.v2-soum-carte h2{font-size:clamp(34px,3.6vw,60px)}
.v2-soum-carte p{max-width:40ch;color:#d6d6d2}
.v2-soum-carte__duree,.v2-soum-carte__badge{align-self:flex-start;font:600 12px/1.3 var(--v2-texte);letter-spacing:.16em;text-transform:uppercase;color:var(--v2-gris)}
.v2-soum-carte__badge{position:absolute;top:clamp(28px,3vw,44px);right:clamp(28px,3vw,44px);padding:6px 12px;border:1px solid currentColor}
.v2-soum-carte__aller{margin-top:auto;padding-bottom:6px;align-self:flex-start;font-weight:600;
 background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .6s var(--v2-ease)}
.v2-soum-carte__aller::after{content:" →"}
.v2-soum-carte:hover .v2-soum-carte__aller{background-size:0 1px;background-position:100% 100%}
/* Recommandée : carte inversée (blanc sur noir → noir sur blanc), la seule mise en avant du système. */
.v2-soum-carte--reco{background:var(--v2-pur);color:var(--v2-noir);border-color:var(--v2-pur)}
.v2-soum-carte--reco p{color:#3a3a37}
.v2-soum-carte--reco .v2-soum-carte__duree,.v2-soum-carte--reco .v2-soum-carte__badge{color:#3a3a37}
.v2-soum-carte--reco:hover{background:#e6e5e0}
.v2-soum-carte:focus-visible{outline:2px solid var(--v2-pur);outline-offset:4px}
.v2-soum-tel{margin-top:32px;color:var(--v2-gris)}
.v2-soum-tel a{color:var(--v2-pur)}
@media (min-width:760px){.v2-soum-cartes{grid-template-columns:1fr 1fr}}
@media (max-width:759px){.v2-soum-carte{min-height:0;padding-right:clamp(28px,3vw,44px)}.v2-soum-carte--reco{order:-1}
 .v2-soum-carte__badge{position:static}}

/* ---------- Formulaire rapide ---------- */
.v2-soum-rapide .v2-contact__intro{max-width:44ch;margin-top:24px;color:#d6d6d2}

/* ---------- Questionnaire (demande détaillée) ---------- */
@media (max-width:1099px){.v2-quiz{gap:36px}}
.v2 .v2-quiz-label{font-size:clamp(52px,7vw,120px);margin:0 0 20px}
.v2-quiz-desc{max-width:38ch;color:#d6d6d2}
.v2-quiz-segments{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px}
.v2-quiz-segments li{display:grid;gap:10px;font:600 11px/1.2 var(--v2-texte);letter-spacing:.12em;text-transform:uppercase;color:var(--v2-gris)}
.v2-quiz-segments li::before{content:"";height:3px;background:var(--v2-trait);transition:background .4s}
.v2-quiz-segments li.is-done::before,.v2-quiz-segments li.is-current::before{background:var(--v2-pur)}
.v2-quiz-segments li.is-current{color:var(--v2-pur)}
.v2-quiz-tel{margin-top:32px;color:var(--v2-gris);font-size:15px}
.v2-quiz-tel a{color:var(--v2-pur)}

.v2-quiz-form{display:grid;gap:0}
.v2-qstep{border:0;margin:0;padding:0;min-width:0}
.v2-qstep[hidden],.v2-quiz .v2-succes[hidden]{display:none!important}
.v2-qstep legend{padding:0;margin-bottom:12px;font:700 clamp(28px,3vw,44px)/1.02 var(--v2-display);letter-spacing:-.03em;color:var(--v2-pur);outline:none}
.v2-step-num{display:none}
.v2-step-help{margin:0 0 24px;color:var(--v2-gris)}
.v2-step-sub{margin:8px 0 12px;font-weight:600}
.v2-step-error{margin:16px 0 0;color:#ffb4a8;font-weight:600}

.v2-opts{display:grid;gap:10px}
.v2-opts--compact{margin-bottom:28px}
.v2-contact label.v2-opt{position:relative;display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--v2-trait);
 font:400 16px/1.4 var(--v2-texte);letter-spacing:0;color:var(--v2-pur);cursor:pointer;transition:border-color .3s,background .3s}
.v2-contact label.v2-opt:hover{border-color:rgba(255,255,255,.5)}
.v2-opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;pointer-events:none}
.v2-opt-ico{flex:none;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--v2-trait);color:var(--v2-gris);transition:background .3s,color .3s,border-color .3s}
.v2-opt-ico svg{width:22px;height:22px}
.v2-opt-txt{display:grid;gap:3px;flex:1;min-width:0}
.v2-opt-txt b{font-weight:600;font-size:17px;line-height:1.25}
.v2-opt-txt small{font:400 14px/1.4 var(--v2-texte);color:var(--v2-gris)}
.v2-opt-mark{flex:none;width:22px;height:22px;border:1.5px solid rgba(255,255,255,.55);transition:background .25s,border-color .25s}
.v2-opt:has(input[type=radio]) .v2-opt-mark{border-radius:50%}
.v2-contact label.v2-opt:has(input:checked){border-color:var(--v2-pur);box-shadow:inset 0 0 0 1px var(--v2-pur);background:rgba(255,255,255,.06)}
.v2-opt:has(input:checked) .v2-opt-ico{background:var(--v2-pur);border-color:var(--v2-pur);color:var(--v2-noir)}
.v2-opt:has(input:checked) .v2-opt-mark{border-color:var(--v2-pur);background:var(--v2-pur) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b0b0b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/15px no-repeat}
.v2-opt:has(input:focus-visible){outline:2px solid var(--v2-pur);outline-offset:3px}

.v2-service-groups{display:grid;gap:28px}
.v2-service-group h3{display:flex;align-items:center;gap:10px;margin:0 0 12px;font:600 12px/1.3 var(--v2-texte);letter-spacing:.16em;text-transform:uppercase;color:var(--v2-gris)}
.v2-service-group.is-suggested h3{color:var(--v2-pur)}
.v2-service-group.is-suggested h3::after{content:"Suggéré";padding:3px 8px;border:1px solid currentColor;font-size:10px;letter-spacing:.12em}
.v2-service-group .v2-opts{gap:8px}
.v2-contact .v2-service-group label.v2-opt{padding:12px 14px}
.v2-service-group .v2-opt-txt b{font-size:15px}
@media (min-width:600px){.v2-opts--compact,.v2-service-group .v2-opts{grid-template-columns:1fr 1fr}}

.v2-quiz-field{margin-top:6px}
.v2-quiz-form .request-files{margin-top:28px}
.v2-quiz-form .form-grid{margin-bottom:28px}
.v2-quiz-form .form-consent,.v2-quiz-form .form-help{margin-top:16px}
.v2-quiz-form .form-submit-row{margin-top:28px}

.v2-quiz-nav{display:flex;justify-content:space-between;gap:12px;margin-top:40px;padding-top:24px;border-top:1px solid var(--v2-trait)}
.v2-quiz-nav .v2-bouton{cursor:pointer;background:transparent;color:var(--v2-pur)}
.v2-quiz-nav .v2-bouton--clair{margin-left:auto;background:var(--v2-pur);color:var(--v2-noir)}
.v2-quiz-nav .v2-bouton--clair:hover{background:transparent;color:var(--v2-pur)}
/* Inactif (écran incomplet) : contour gris plutôt qu'une opacité réduite — texte #a3a39e sur noir 7,8:1 (Ulrik : 2,3:1). */
.v2-quiz-nav .v2-bouton[aria-disabled=true],.v2-quiz-nav .v2-bouton--clair[aria-disabled=true]:hover{background:transparent;color:var(--v2-gris);border-color:var(--v2-trait);cursor:not-allowed}
.v2-quiz-nav [hidden]{display:none}
.v2-quiz-form:not(.is-enhanced) .v2-qstep+.v2-qstep{margin-top:56px}
.v2-quiz-form:not(.is-enhanced) .v2-quiz-nav{display:none}
.v2-quiz-form.is-enhanced .v2-qstep.is-current{animation:v2-quiz-entree .5s var(--v2-ease)}
/* Entrée verticale : un décalage horizontal pendant l'animation élargissait la page sur mobile (relevé chez Ulrik : +24 px). */
@keyframes v2-quiz-entree{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.v2-quiz-form.is-enhanced .v2-qstep.is-current{animation:none}}
@media (max-width:599px){
 .v2 .v2-quiz-label{font-size:clamp(34px,11vw,52px);margin-bottom:14px}
 .v2-quiz-segments{margin-top:24px}
 .v2-quiz-segments li{font-size:0;gap:0}
}
