/* Tunnel de devis (V3). Desktop : progression p24/64/0 (segments 6, libellés CTA rouge / Body), étape p48/64/80 (formulaire 760 g28 + panneau 276, gap 64), questions g16 (H2 + indication g4), navigation pt8.
   Mobile : progression p4/16/0 (segments 5 + Legend), formulaire p24/16 g28 (questions g12), réassurance p0/16/24, barre « Continuer » collée en bas, footer tunnel. */
.devis__progress { padding: var(--space-4) var(--gutter) 0; }
.devis__progress-inner { display: flex; flex-direction: column; gap: var(--space-8); }
.devis__segments { display: flex; gap: var(--space-8); }
.devis__segment { flex: 1 1 0; height: var(--size-progress); border-radius: var(--radius-pill); background: var(--brandt-light); transition: background-color var(--transition); }
.devis__segment.is-active, .devis__segment.is-done { background: var(--brandt-red); }
.devis__labels { display: none; }
.devis__main { padding: var(--space-24) var(--gutter); }
.devis__row { display: flex; flex-direction: column; gap: var(--space-24); }
.devis__form { display: flex; flex-direction: column; gap: var(--space-28); }
.devis__step { display: flex; flex-direction: column; gap: var(--space-28); border: 0; padding: 0; margin: 0; min-width: 0; }
.devis__step[hidden] { display: none; }
.devis__head { display: flex; flex-direction: column; gap: var(--space-8); }
.devis__q { display: flex; flex-direction: column; gap: var(--space-12); }
.devis__q > legend, .devis__q > .field__label { font-size: var(--text-h2-size); line-height: var(--text-h2-lh); font-weight: var(--text-h2-weight); margin-bottom: 0; }
.devis__q:has(.field__help) > legend { margin-bottom: var(--space-4); }
.devis__q:not(:has(.field__help)) > legend { margin-bottom: var(--space-12); }
.devis__q .field__help { color: var(--brandt-carbon); }
.devis__head:focus, .devis__head:focus-visible { outline: none; box-shadow: none; }
.devis__q.form-grid { display: grid; }
.devis__q--field { gap: var(--space-4); }
.devis__q--field .field { margin-top: var(--space-8); max-width: var(--size-field-short); }
.devis__q--field .field__label { font-size: var(--text-body-size); line-height: var(--text-body-lh); font-weight: var(--text-body-weight); }
/* Cartes de choix : mobile en lignes (p16, icône + texte), desktop en grille (p20, icône 32 au-dessus) */
.devis__q .option--card .option__label, .devis__cards .option__label { flex-direction: row; align-items: center; gap: var(--space-16); padding: var(--space-16); border-radius: var(--radius-12); width: 100%; }
.devis__q .option--card, .devis__cards .option { width: 100%; }
.devis__q .option--card .option__label svg, .devis__cards .option__label svg { width: var(--size-icon-24); height: var(--size-icon-24); flex: 0 0 auto; }
.devis__card-text { display: flex; flex-direction: column; gap: var(--space-4); }
.devis__cards { display: grid; grid-template-columns: minmax(0, 1fr); grid-auto-rows: 1fr; gap: var(--space-8); } /* « Votre projet » : cartes toutes de la même taille (hauteur de la plus haute) */
.devis__cards .option, .devis__cards .option__label { height: 100%; }
.devis__nav { display: flex; align-items: center; justify-content: space-between; gap: var(--space-16); padding-top: var(--space-8); }
.devis__next { display: flex; align-items: center; gap: var(--space-16); }
.devis__next > .t-body { display: none; }
.devis__next .cta { display: none; } /* mobile : la barre collée porte « Continuer » */
.devis__next--send .cta-group { display: flex; width: 100%; }
.devis__next--send .cta { display: inline-flex; width: 100%; }
.devis__consent { gap: var(--space-8); }
.devis__panel { display: flex; flex-direction: column; gap: var(--space-20); }
.devis__reassurance { padding: var(--space-20); gap: var(--space-16); }
.devis__reassurance-head { display: flex; align-items: center; gap: var(--space-12); }
.devis__badge { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: var(--size-pastille-40); height: var(--size-pastille-40); border-radius: 50%; background: var(--brandt-red); color: var(--brandt-white); }
.devis__points { display: flex; flex-direction: column; gap: var(--space-12); }
.devis__points li { display: flex; align-items: flex-start; gap: var(--space-12); }
.devis__points .icon { flex: 0 0 auto; width: var(--size-icon-16); height: var(--size-icon-16); margin-top: var(--icon-text-offset); }
.devis__summary { padding: var(--space-20); gap: 0; }
.devis__summary[hidden] { display: none; }
.devis__summary-list { display: flex; flex-direction: column; }
.devis__summary-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-4) var(--space-12); padding: var(--space-12) 0; border-bottom: var(--border-1) solid var(--brandt-carbon); }
.devis__summary-row:last-child { border-bottom: 0; }
.devis__summary-row > dt { grid-column: 1; }
.devis__summary-row > dd[data-summary] { grid-column: 1; }
.devis__summary-action { grid-column: 2; grid-row: 1 / span 2; }
.devis__summary dd { margin: 0; }
.devis__edit { flex: 0 0 auto; border-radius: var(--radius-12); }
.devis__edit:hover { color: var(--brandt-carbon); }
.devis__edit:focus-visible { box-shadow: var(--focus-ring); }
.devis__sticky { position: sticky; bottom: 0; z-index: var(--z-sticky); padding: var(--space-12) var(--gutter); background: var(--brandt-white); border-top: var(--border-1) solid var(--brandt-carbon); }
.devis__sticky[hidden] { display: none; }
.devis .field.is-error .option__label { box-shadow: inset 0 0 0 var(--border-2) var(--brandt-red); }
@media (min-width: 1024px) {
  .devis__progress { padding: var(--space-24) var(--gutter) 0; }
  .devis__progress-inner { gap: var(--space-12); }
  .devis__labels { display: flex; gap: var(--space-8); }
  .devis__label { flex: 1 1 0; font-size: var(--text-body-size); line-height: var(--text-body-lh); }
  .devis__label.is-active { color: var(--brandt-red); font-size: var(--text-cta-size); line-height: var(--text-cta-lh); font-weight: var(--text-cta-weight); }
  .devis__progress-text { display: none; }
  .devis__main { padding: var(--space-48) var(--gutter) var(--space-80); }
  .devis__row { flex-direction: row; align-items: flex-start; gap: var(--space-64); }
  .devis__form { flex: 0 0 var(--size-devis-form); }
  .devis__head { gap: var(--space-12); }
  .devis__q { gap: var(--space-16); }
  .devis__q .field__help { font-size: var(--text-body-size); line-height: var(--text-body-lh); }
  .devis__q:not(:has(.field__help)) > legend { margin-bottom: var(--space-16); }
  .devis__q .option--card .option__label { flex-direction: column; align-items: flex-start; gap: var(--space-16); padding: var(--space-20); border-radius: var(--radius-20); }
  .devis__q .option--card, .devis__cards .option { width: auto; }
  .devis__q .option--card { flex: 1 1 0; }
  .devis__q .option--card .option__label svg, .devis__cards .option__label svg { width: var(--size-icon-32); height: var(--size-icon-32); }
  .devis__q .options:not(.devis__cards) { gap: var(--space-8); }
  .devis__q .options:has(.option--card) { gap: var(--space-12); }
  .devis__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-12); }
  .devis__next > .t-body { display: block; }
  .devis__next .cta { display: inline-flex; }
  .devis__next--send .cta-group { width: auto; }
  .devis__next--send .cta { width: auto; }
  .devis__panel { flex: 0 0 var(--size-devis-panel); }
  .devis__reassurance { padding: var(--space-28); }
  .devis__badge { width: var(--size-pastille-44); height: var(--size-pastille-44); }
  .devis__points .icon { width: var(--size-icon-20); height: var(--size-icon-20); }
  .devis__summary { padding: var(--space-28); }
  .devis__sticky { display: none; }
}
/* Confirmation */
/* Confirmation : pas de barre de progression au-dessus ; maquette p40/48 en mobile, p80 (.section) en desktop */
.devis-conf { padding-block: var(--space-40) var(--space-48); }
@media (min-width: 1024px) { .devis-conf { padding-block: var(--section-padding); } }
.devis-conf__inner { display: flex; flex-direction: column; align-items: center; gap: var(--space-24); text-align: center; }
.devis-conf__badge { display: inline-flex; align-items: center; justify-content: center; width: var(--size-pastille-56); height: var(--size-pastille-56); border-radius: 50%; background: var(--brandt-red); color: var(--brandt-white); }
.devis-conf__badge svg { width: var(--size-icon-24); height: var(--size-icon-24); }
.devis-conf__title { display: flex; flex-direction: column; gap: var(--space-12); }
.devis-conf__title .t-body { max-width: var(--size-text-narrow); }
.devis-conf__steps { display: flex; flex-direction: column; gap: var(--space-12); width: 100%; text-align: left; }
.devis-conf__step { padding: var(--space-20); gap: var(--space-12); }
.devis-conf__num { display: inline-flex; align-items: center; justify-content: center; width: var(--size-pastille-36); height: var(--size-pastille-36); border-radius: 50%; background: var(--brandt-red); color: var(--brandt-white); }
.devis-conf__actions { display: flex; flex-direction: column; gap: var(--space-12); width: 100%; }
@media (min-width: 1024px) {
  .devis-conf__inner { gap: var(--space-40); }
  .devis-conf__badge { width: var(--size-pastille-72); height: var(--size-pastille-72); }
  .devis-conf__badge svg { width: var(--size-icon-32); height: var(--size-icon-32); }
  .devis-conf__title { gap: var(--space-16); }
  .devis-conf__steps { flex-direction: row; gap: var(--space-20); max-width: var(--size-steps-max); }
  .devis-conf__steps > li { flex: 1 1 0; }
  .devis-conf__step { padding: var(--space-24); }
  .devis-conf__actions { flex-direction: row; justify-content: center; width: auto; }
}
.devis__cards .option input:checked + .option__label .t-legend { color: var(--brandt-carbon); } /* sous-titre reste carbone quand la carte est sélectionnée */
