/* Diagence Devis — formulaire public. Tout est préfixé .dgd pour ne pas toucher au thème. */
.dgd{--dgd-p:#103858;--dgd-a:#17803f;--dgd-ink:#1f2a24;--dgd-mut:#5b6b62;--dgd-line:#dfe6e2;--dgd-soft:color-mix(in srgb,var(--dgd-a) 9%,#fff);
  font-family:inherit;color:var(--dgd-ink);max-width:640px;margin:0 auto;box-sizing:border-box;text-align:left}
.dgd *,.dgd *::before,.dgd *::after{box-sizing:border-box}
/* cadre fixe (correctif 0.13.2) : même taille à toutes les étapes ; hauteur réglée par le cabinet (--dgd-hauteur, --dgd-hauteur-m) */
.dgd-carte{background:#fff;border:1px solid var(--dgd-line);border-radius:18px;box-shadow:0 10px 30px rgba(16,40,60,.08);display:flex;flex-direction:column;height:var(--dgd-hauteur,660px);overflow:hidden}
.dgd-entete{flex:none}
.dgd-tete{padding:18px 22px 12px}
.dgd-onglets{display:flex;border-bottom:1px solid var(--dgd-line);background:#f7f9fb;overflow-x:auto;scrollbar-width:none}
.dgd-onglets::-webkit-scrollbar{display:none}
.dgd .dgd-onglet{flex:1 0 auto;margin:0;padding:13px 14px 11px;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:#4a5a6a;font:inherit;font-size:14px;font-weight:700;line-height:1.2;cursor:pointer;white-space:nowrap;box-shadow:none}
.dgd .dgd-onglet:hover{color:var(--dgd-p);background:#eef3f7}
.dgd .dgd-onglet.dgd-on{color:var(--dgd-p);border-bottom-color:var(--dgd-a);background:#fff}
.dgd .dgd-onglet[data-onglet="express"]{color:#b42318}
.dgd .dgd-onglet[data-onglet="express"].dgd-on{border-bottom-color:#b42318}
.dgd .dgd-onglet:focus-visible{outline:2px solid var(--dgd-a);outline-offset:-2px}
.dgd-titre{margin:0;font-size:20px;line-height:1.25;font-weight:800;color:var(--dgd-p)}
.dgd-tete .dgd-titre,.dgd-sous{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}   /* une ligne chacun : l'en-tête garde sa hauteur */
.dgd-sous{margin:4px 0 10px;font-size:13px;line-height:18px;color:var(--dgd-mut)}
.dgd-sous b{color:var(--dgd-ink)}
.dgd-barre{height:4px;border-radius:4px;background:#edf1ef;overflow:hidden}
.dgd-barre span{display:block;height:100%;background:var(--dgd-a);transition:width .3s}
/* zone centrale : seule à défiler ; arrivé en haut ou en bas, la page reprend la main (pas d'overscroll-behavior) */
.dgd-zone{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}
.dgd-zone::after{content:"";position:absolute;left:0;right:0;bottom:0;height:32px;background:linear-gradient(rgba(255,255,255,0),#fff);pointer-events:none;opacity:0;transition:opacity .15s}
.dgd-suite .dgd-zone::after{opacity:1}
.dgd-corps{padding:6px 22px 14px;flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}
.dgd-contenu{flex:none;outline:none}
.dgd-contenu>.dgd-ctl:first-child{margin:0 0 12px}
.dgd-pied{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 22px;border-top:1px solid #f0f3f1;background:#fff;flex:none;box-sizing:border-box;height:76px}   /* même hauteur avec un bouton, un lien ou rien */
/* barre du bas : retour, estimation toujours visible, bouton principal (« Question suivante ↓ » tant qu'une réponse manque) */
.dgd-prix{flex:1;min-width:0;text-align:right;font-size:14px;line-height:1.25;color:var(--dgd-mut)}
.dgd-prix b{color:var(--dgd-p);font-size:16px;white-space:nowrap}
.dgd-prix-l::after{content:" :"}
.dgd-pied .dgd-btn{flex:none}
.dgd-btn.dgd-manque{background:#fff;color:var(--dgd-a);border:1.5px solid var(--dgd-a)}
.dgd-a-remplir{animation:dgd-repere 1.8s ease-out}
@keyframes dgd-repere{0%,40%{box-shadow:0 0 0 3px color-mix(in srgb,var(--dgd-a) 55%,transparent);border-radius:12px;background:var(--dgd-soft)}100%{box-shadow:0 0 0 3px transparent}}
/* registres : une ligne, le détail se déplie */
.dgd-registres{padding:8px 12px}
.dgd-registres summary{display:flex;gap:8px;align-items:baseline;justify-content:space-between;cursor:pointer;list-style:none}
.dgd-registres summary::-webkit-details-marker{display:none}
.dgd-registres summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dgd-registres summary u{flex:none;font-size:13px;color:var(--dgd-a)}
.dgd-registres details[open] summary u{display:none}
.dgd-registres details p{margin:6px 0 0}
/* réassurance : en bas de la zone, seulement quand l'étape laisse la place */
.dgd-reassure{flex:none;margin:auto 0 0;padding:12px 0 0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;line-height:1.4;color:var(--dgd-mut)}
.dgd-reassure[hidden]{display:none}
.dgd-reassure p,.dgd .dgd-reassure .dgd-note-google{margin:0;font-size:13px}
.dgd-reassure b{color:var(--dgd-ink)}
.dgd-reassure a{color:var(--dgd-a);font-weight:700;text-decoration:none}
/* questions et tuiles */
.dgd-q{border:0;margin:0 0 16px;padding:0;min-width:0}
.dgd-q legend{padding:0;margin:0 0 8px;font-size:15.5px;font-weight:700;color:var(--dgd-p);outline:none}
.dgd-q legend span{display:block;margin-top:2px;font-size:12.5px;font-weight:400;color:var(--dgd-mut)}
.dgd-choix{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.dgd-tuile{appearance:none;margin:0;padding:12px 10px;min-height:48px;border:1.5px solid var(--dgd-line);border-radius:12px;background:#fff;color:var(--dgd-ink);
  font:inherit;font-size:14.5px;font-weight:600;line-height:1.25;text-align:center;cursor:pointer;transition:border-color .15s,background .15s,transform .05s}
.dgd-tuile:hover{border-color:var(--dgd-a)}
.dgd-tuile:active{transform:scale(.98)}
.dgd-tuile:focus-visible,.dgd-puce:focus-visible,.dgd-btn:focus-visible,.dgd-lien:focus-visible{outline:3px solid color-mix(in srgb,var(--dgd-a) 45%,transparent);outline-offset:2px}
.dgd-tuile.dgd-on{border-color:var(--dgd-a);background:var(--dgd-soft);color:var(--dgd-p)}
.dgd-puces{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.dgd-puce{appearance:none;border:1px solid var(--dgd-line);background:#f6f8f7;border-radius:999px;padding:4px 10px;font:inherit;font-size:12.5px;color:var(--dgd-mut);cursor:pointer}
.dgd-puce::after{content:" ✎";opacity:.6}
.dgd-puce:hover{border-color:var(--dgd-a);color:var(--dgd-p)}
/* boutons */
.dgd-btn{appearance:none;border:0;border-radius:12px;background:var(--dgd-a);color:#fff;font:inherit;font-size:16px;font-weight:700;padding:14px 22px;cursor:pointer;min-height:48px}
.dgd-btn:hover{filter:brightness(1.07)}
.dgd-btn[disabled]{opacity:.5;cursor:not-allowed}
.dgd-lien{appearance:none;border:0;background:none;padding:8px 0;font:inherit;font-size:14px;color:var(--dgd-mut);cursor:pointer}
.dgd-lien:hover{color:var(--dgd-p)}
/* étape 2 */
.dgd-intro{margin:0 0 12px;font-size:14px;color:var(--dgd-mut)}
.dgd-diags{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.dgd-diag{display:flex;gap:12px;align-items:flex-start;padding:11px 14px;border:1.5px solid var(--dgd-line);border-radius:12px;cursor:pointer;background:#fff}
.dgd-diag.dgd-on{border-color:var(--dgd-a);background:var(--dgd-soft)}
.dgd-diag input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--dgd-a);flex:0 0 auto}
.dgd-diag b{display:block;font-size:15px;font-weight:700;color:var(--dgd-p)}
.dgd-diag small{display:block;font-size:12.5px;line-height:1.35;color:var(--dgd-mut)}
.dgd-estim{margin:14px 0 0;padding:14px 16px;border:1px solid color-mix(in srgb,var(--dgd-a) 30%,#fff);border-radius:12px;background:var(--dgd-soft);display:flex;flex-direction:column;gap:3px}
.dgd-estim-l{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--dgd-a)}
.dgd-estim-m{font-size:24px;line-height:1.2;font-weight:800;color:var(--dgd-p)}
.dgd-estim-n{font-size:13px;line-height:1.4;color:var(--dgd-mut);margin:0}
.dgd-attente{color:var(--dgd-mut)}
/* étape 3 */
.dgd-coord{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.dgd-plein{grid-column:1/-1}
.dgd-champ{display:flex;flex-direction:column;gap:4px;margin:0}
.dgd-champ span{font-size:13px;font-weight:600;color:var(--dgd-ink)}
.dgd-champ input,.dgd-champ textarea{width:100%;padding:11px 12px;border:1.5px solid var(--dgd-line);border-radius:10px;font:inherit;font-size:16px;background:#fff;color:var(--dgd-ink)}
.dgd-champ input:focus,.dgd-champ textarea:focus{outline:none;border-color:var(--dgd-a);box-shadow:0 0 0 3px color-mix(in srgb,var(--dgd-a) 18%,transparent)}
.dgd em[data-err]{font-style:normal;font-size:12.5px;color:#b42318}
.dgd em[data-err]:empty{display:none}
.dgd-accord{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:flex-start;font-size:13px;line-height:1.4;color:var(--dgd-mut)}
.dgd-accord input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--dgd-a)}
.dgd-accord span{flex:1}
.dgd-accord em{flex-basis:100%}
.dgd-accord a{color:var(--dgd-a)}
.dgd-piege{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.dgd-erreur{margin:0;color:#b42318;font-size:14px}
.dgd-erreur:empty{display:none}
.dgd-a-verifier{display:block;color:#8a4b00;font-weight:600}
.dgd-incoh-choix{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}
.dgd-conserve{margin:0 0 10px;padding:6px 10px;border-radius:8px;background:var(--dgd-soft);color:var(--dgd-ink);font-size:13px}
.dgd-rassure{margin:2px 0 0;text-align:center;font-size:12.5px;color:var(--dgd-mut)}
.dgd-rassure a{color:var(--dgd-a);font-weight:700}
.dgd-rappel{margin:0 0 12px;font-size:14px;font-weight:700;color:var(--dgd-p)}
/* adresse avec propositions */
.dgd-adr{position:relative}
.dgd-adr input{width:100%;padding:11px 12px;border:1.5px solid var(--dgd-line);border-radius:10px;font:inherit;font-size:16px;background:#fff;color:var(--dgd-ink)}
.dgd-adr input:focus{outline:none;border-color:var(--dgd-a);box-shadow:0 0 0 3px color-mix(in srgb,var(--dgd-a) 18%,transparent)}
.dgd-sug{position:absolute;left:0;right:0;top:66px;z-index:20;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--dgd-line);border-radius:12px;box-shadow:0 12px 28px rgba(16,40,60,.14);max-height:280px;overflow:auto}
.dgd-sug li{padding:9px 10px;border-radius:8px;cursor:pointer;font-size:14.5px;line-height:1.3}
.dgd-sug li span{color:var(--dgd-mut);font-size:13px}
.dgd-sug li[aria-selected=true],.dgd-sug li[data-i]:hover{background:var(--dgd-soft)}
.dgd-sug .dgd-sug-vide{cursor:default;color:var(--dgd-mut);font-size:13px}
.dgd-adr-ok{font-size:12.5px;color:var(--dgd-a);font-weight:600}
.dgd-ctl{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#f4f6f8;color:var(--dgd-ink);font-size:14px;line-height:1.5}
.dgd-ctl p{margin:0}
.dgd-ctl p+p{margin-top:6px}
.dgd-ctl b{display:block;margin-bottom:4px}
.dgd-ctl-ok{background:color-mix(in srgb,var(--dgd-a) 10%,#fff);border-left:4px solid var(--dgd-a)}
.dgd-ctl-alerte{background:#fdf1e7;color:#6b3a0b;border-left:4px solid #d97706}
.dgd-btn-sec{margin-top:4px;font-size:15px;padding:11px 18px;min-height:44px}
.dgd-adr-fixe{margin:0;padding:10px 12px;border-radius:10px;background:#f4f6f8;font-size:15px}
.dgd-btn[disabled]{opacity:.45;cursor:not-allowed}
.dgd-petit{font-size:12.5px;padding:2px 0;align-self:flex-start;text-decoration:underline}
.dgd-manuel{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.dgd-manuel[hidden],.dgd-adr[hidden],.dgd-sug[hidden],.dgd-adr-ok[hidden]{display:none}
/* confirmation */
.dgd-merci{padding:26px 22px;gap:10px;outline:none;overflow-y:auto}   /* même cadre que les étapes */
.dgd-merci>*{flex:none}
.dgd-merci p{margin:0;font-size:15px;line-height:1.5}
.dgd-coche{width:48px;height:48px;border-radius:50%;background:var(--dgd-a);color:#fff;font-size:26px;font-weight:800;display:flex;align-items:center;justify-content:center}
@media (max-width:560px){
  /* téléphone : hauteur fixe, jamais plus de 80 % de l'écran (svh : la plus petite hauteur visible, ne change pas quand la barre du navigateur se replie) */
  .dgd-carte{border-radius:14px;height:min(var(--dgd-hauteur-m,640px),80vh);height:min(var(--dgd-hauteur-m,640px),80svh)}
  .dgd-pied{height:72px}
  .dgd-reassure p{flex-basis:100%}
  /* barre : flèche seule pour « Retour », estimation sur deux lignes courtes */
  .dgd-retour-t{display:none}
  .dgd-pied .dgd-lien{min-width:44px;min-height:44px;font-size:20px}
  .dgd-pied .dgd-btn{padding:13px 16px;font-size:15.5px}
  .dgd-prix{font-size:12.5px}
  .dgd-prix-l{display:block}
  .dgd-prix-l::after{content:""}
  /* étiquettes des réponses sur une seule ligne, défilement horizontal */
  .dgd-puces{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-bottom:10px}
  .dgd-puces::-webkit-scrollbar{display:none}
  .dgd-puce{flex:none;white-space:nowrap}
  .dgd-registres .dgd-long{display:none}
  .dgd-registres summary{font-size:13.5px}
  .dgd-tete,.dgd-corps,.dgd-pied{padding-left:16px;padding-right:16px}
  .dgd .dgd-onglet{padding:12px 11px 10px;font-size:13px}
  .dgd-choix{grid-template-columns:repeat(2,1fr)}
  .dgd-coord{gap:8px 10px}
  .dgd-plein-m{grid-column:1/-1}
  .dgd-estim-m{font-size:21px}
}
@media (prefers-reduced-motion:reduce){.dgd *{transition:none!important}}
/* parcours raccourci : « ce que nous avons trouvé, à confirmer » (cahier 1.6) */
.dgd .dgd-trouve{margin:0 0 14px}
.dgd .dgd-trouve .dgd-ctl p{margin:0 0 4px}
.dgd .dgd-auto{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#e8f4ec;color:#0a6b3d;font-style:normal;font-size:12px;font-weight:600;vertical-align:middle}
/* « Aidez-nous à préparer la visite » (après l'envoi, facultatif) */
.dgd .dgd-prep{margin-top:18px;padding-top:16px;border-top:1px solid var(--dgd-ligne,#e3e8ee);text-align:left}
.dgd .dgd-prep .dgd-titre small{font-weight:400;font-size:.8em;color:var(--dgd-mut)}
.dgd .dgd-prep .dgd-pied{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px}
/* Note Google du cabinet (cahier 1.9) */
.dgd .dgd-note-google{margin:10px 0 0;font-size:14px;font-weight:700;color:var(--dgd-ink,#1f2a24)}
.dgd .dgd-note-google a{color:inherit;text-decoration:none}
.dgd .dgd-note-google small{font-weight:400;color:var(--dgd-mut)}
/* Suggestion d'adresse e-mail (cahier 1.10) */
.dgd .dgd-suggestion{font-size:13px;color:var(--dgd-mut)}
.dgd .dgd-suggestion .dgd-lien{padding:0;font-size:13px}
/* Diagnostics qu'on ne réalise pas (cahier 1.7, ADR-015) */
.dgd .dgd-diag.dgd-ko{display:flex;gap:10px;align-items:flex-start;background:#f6f7f8;border-style:dashed;opacity:1;cursor:default}
.dgd .dgd-x{flex:0 0 auto;width:20px;text-align:center;font-weight:700;color:#b42318}
.dgd .dgd-ko-t{display:block;margin-top:4px;color:#8a4b0f;font-weight:600}
.dgd .dgd-ok{font-style:normal;color:var(--dgd-a);font-weight:700;margin-left:2px}
/* « Vous êtes » : demandeur, propriétaire, payeur (ADR-032) */
.dgd .dgd-dem{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.dgd .dgd-dem>.dgd-plein,.dgd .dgd-dem>.dgd-q{grid-column:1/-1}
.dgd .dgd-dem select{width:100%;min-height:48px;border:1.5px solid var(--dgd-line);border-radius:12px;padding:10px 12px;font-size:16px;background:#fff;color:var(--dgd-ink)}
.dgd .dgd-radios{display:flex;flex-wrap:wrap;gap:8px}
.dgd .dgd-radio{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1.5px solid var(--dgd-line);border-radius:12px;background:#fff;cursor:pointer}
.dgd .dgd-radio:has(input:checked){border-color:var(--dgd-a);background:var(--dgd-soft)}
.dgd .dgd-radio input{width:18px;height:18px;accent-color:var(--dgd-a);margin:0}
@media (max-width:520px){.dgd .dgd-dem{grid-template-columns:1fr}}
.dgd .dgd-espace{margin:16px 0 0;padding:14px;border:1px solid var(--dgd-line);border-radius:12px;background:var(--dgd-soft)}
.dgd .dgd-espace p{margin:0 0 10px}
.dgd .dgd-btn-sec{display:inline-flex;text-decoration:none;background:#fff;color:var(--dgd-p);border:1.5px solid var(--dgd-p)}
