/* ------------------------------------------------------------- estimateur --
   Registre éditorial : intitulés en capitales espacées, blocs pleins, aucune
   bordure gauche, aucune pastille, aucune coche. Les choix sont des blocs
   pleins qui s'inversent à la sélection — pas de case ronde, pas d'icone.
   Préfixe .es- pour ne rien percuter ailleurs.                              */

.es-outil{max-width:820px;margin:0 auto}

.es-dev{display:flex;gap:0;margin:0 0 34px;border:1px solid var(--line2);width:max-content}
.es-dev button{appearance:none;background:none;border:0;cursor:pointer;
  font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;
  font-weight:700;color:var(--ink2);padding:11px 20px;transition:background .18s,color .18s}
.es-dev button+button{border-left:1px solid var(--line2)}
.es-dev button[aria-pressed="true"]{background:var(--ink);color:#fff}

.es-q{margin:0 0 40px;padding:0;border:0}
.es-q>legend{padding:0;margin:0 0 4px;font-size:1.22rem;font-weight:700;color:var(--ink);
  line-height:1.3}
.es-q .es-aide{margin:0 0 16px;font-size:.92rem;color:var(--dim);line-height:1.55;max-width:60ch}
.es-num{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--dim);font-weight:700;margin-bottom:9px}

.es-choix{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:12px}
.es-choix label{display:block;cursor:pointer;position:relative}
/* Sans cette ligne, .es-choix label{display:block} l'emporte sur la règle
   [hidden] du navigateur et les choix masqués par le script restent visibles. */
.es-choix label[hidden]{display:none}
.es-choix input{position:absolute;opacity:0;width:0;height:0}
.es-choix .b{display:block;height:100%;padding:15px 17px;background:var(--paper2);
  transition:background .16s,color .16s,box-shadow .16s;box-shadow:inset 0 0 0 1px transparent}
.es-choix .l{display:block;font-size:.98rem;font-weight:600;color:var(--ink);line-height:1.35}
.es-choix .d{display:block;margin-top:5px;font-size:.86rem;color:var(--ink2);line-height:1.5}
.es-choix label:hover .b{box-shadow:inset 0 0 0 1px var(--line2)}
.es-choix input:focus-visible+.b{outline:2px solid var(--teal);outline-offset:2px}
.es-choix input:checked+.b{background:var(--ink)}
.es-choix input:checked+.b .l{color:#fff}
.es-choix input:checked+.b .d{color:#b9c2cb}

/* Résultat : bloc plein, le chiffre porte toute la hiérarchie. */
.es-res{margin:44px 0 0;padding:0;display:none}
.es-res.vu{display:block}
.es-res .bloc{background:var(--ink);color:#fff;padding:32px 34px}
.es-res .sur{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;color:#8e9aa6;font-weight:700;margin-bottom:14px}
.es-res .montant{display:block;font-family:var(--mono);font-weight:700;color:#fff;
  font-size:clamp(1.7rem,4.6vw,2.7rem);line-height:1.05;font-variant-numeric:tabular-nums}
.es-res .montant .sep{color:#8e9aa6;padding:0 .18em}
.es-res .unite{font-size:.5em;letter-spacing:.02em;padding-left:.25em}
.es-res .delai{display:block;margin-top:16px;padding-top:16px;border-top:1px solid #2b3742;
  font-size:.95rem;color:#b9c2cb;line-height:1.55}
.es-res .apres{margin:22px 0 0;font-size:.98rem;color:var(--ink2);line-height:1.65;max-width:66ch}
.es-res .apres strong{color:var(--ink)}

.es-horsbareme{margin:44px 0 0;padding:26px 28px;background:var(--paper2);display:none}
.es-horsbareme.vu{display:block}
.es-horsbareme p{margin:0 0 12px;font-size:1rem;color:var(--ink2);line-height:1.65;max-width:64ch}
.es-horsbareme p:last-child{margin:0}

/* Reprise des coordonnées : ce n'est pas une condition pour voir le chiffre,
   c'est l'échange pour la version détaillée. Le libellé doit le dire. */
.es-suite{margin:34px 0 0;padding:28px 30px;background:var(--paper2);display:none}
.es-suite.vu{display:block}
.es-suite h2{margin:0 0 8px;font-size:1.12rem;font-weight:700;color:var(--ink);line-height:1.35}
.es-suite p{margin:0 0 18px;font-size:.95rem;color:var(--ink2);line-height:1.6;max-width:62ch}
.es-lignes{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.es-lignes label{display:block}
.es-lignes span{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--dim);font-weight:700;margin-bottom:7px}
.es-lignes input,.es-lignes textarea{width:100%;padding:12px 14px;font:inherit;font-size:.95rem;
  color:var(--ink);background:var(--paper);border:1px solid var(--line2);border-radius:0}
.es-lignes input:focus,.es-lignes textarea:focus{outline:2px solid var(--teal);outline-offset:1px;
  border-color:var(--teal)}
.es-pleine{grid-column:1/-1}
.es-envoi{margin-top:18px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.es-msg{font-size:.92rem;color:var(--ink2);line-height:1.5}
.es-msg.ko{color:var(--signal)}

.es-mentions{margin:16px 0 0;font-size:.82rem;color:var(--dim);line-height:1.55;max-width:62ch}

@media (max-width:640px){
  .es-choix{grid-template-columns:1fr}
  .es-res .bloc{padding:26px 22px}
  .es-suite{padding:22px 20px}
}
@media (prefers-reduced-motion:reduce){
  .es-choix .b{transition:none}
  .es-dev button{transition:none}
}
