/* Formulaire de devis intelligent (V2) — porté de la maquette v2, NAMESPACÉ sous
   .bmdv pour ne pas entrer en conflit avec le CSS du thème (.btn, .tag, .nav…).
   Fonts (Montserrat/Open Sans/Libre Baskerville) déjà chargées par le thème. */
.bmdv{--teal:#28bec0;--teal-deep:#138b8d;--teal-ink:#0e5e60;--ink:#16302f;--ink-soft:#3c5453;--sand:#f3eee4;--cream:#fcfaf5;--paper:#fff;--line:#e6dfd2;--clay:#a15a3c;--mont:'Montserrat',sans-serif;--sans:'Open Sans',sans-serif;--serif:'Libre Baskerville',serif;--ease:cubic-bezier(.4,0,.2,1);
  font-family:var(--sans);color:var(--ink);background:var(--sand);line-height:1.62;-webkit-font-smoothing:antialiased}
.bmdv *{margin:0;padding:0;box-sizing:border-box}
.bmdv h1,.bmdv h2,.bmdv h3,.bmdv h4{font-family:var(--mont);line-height:1.2}
.bmdv em{font-family:var(--serif);font-style:italic;color:var(--teal-deep)}

/* Page autonome : reset body (pas de chrome thème) */
body.bmdv-page{margin:0;padding:0;background:#f3eee4}

/* Shell */
.bmdv .shell{display:grid;grid-template-columns:370px 1fr;min-height:100vh}
.bmdv .rail .foot{margin-top:16px;font-size:11px;opacity:.7}
.bmdv .rail .foot a{color:#7fe0dd;text-decoration:none}
.bmdv .rail .foot a:hover{color:#fff}
.bmdv .rail{position:sticky;top:0;height:100vh;background:linear-gradient(160deg,var(--teal-ink),var(--ink));color:#fff;padding:34px 34px 26px;display:flex;flex-direction:column;overflow:hidden}
.bmdv .rail::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 10% -5%,rgba(40,190,192,.30),transparent 55%);pointer-events:none}
.bmdv .rail>*{position:relative;z-index:1}
.bmdv .rail .brand{font-family:var(--mont);font-weight:800;letter-spacing:.16em;font-size:16px}
.bmdv .rail .brand span{color:var(--teal)}
.bmdv .rail .ctx{margin-top:30px}
.bmdv .rail .ctx .eyebrow{font-family:var(--mont);text-transform:uppercase;letter-spacing:.28em;font-size:10.5px;font-weight:600;color:#7fe0dd}
.bmdv .rail .ctx h1{font-size:26px;font-weight:800;margin:8px 0 8px;color:#fff}
.bmdv .rail .ctx h1 em{color:#fff}
.bmdv .rail .ctx p{font-size:13.5px;opacity:.82;font-weight:300;max-width:30ch}
.bmdv .vstep{margin-top:28px;list-style:none;display:flex;flex-direction:column;gap:2px}
.bmdv .vstep li{display:flex;align-items:center;gap:12px;padding:9px 0;font-family:var(--mont);font-size:13px;font-weight:600;color:rgba(255,255,255,.5);position:relative}
.bmdv .vstep li .dot{width:26px;height:26px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:12px;flex:none;transition:.3s}
.bmdv .vstep li.on{color:#fff}
.bmdv .vstep li.on .dot{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 0 0 5px rgba(40,190,192,.18)}
.bmdv .vstep li.done{color:rgba(255,255,255,.85)}
.bmdv .vstep li.done .dot{background:rgba(255,255,255,.2);border-color:transparent}
.bmdv .recap{margin-top:auto;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px 18px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.bmdv .recap .rt{font-family:var(--mont);text-transform:uppercase;letter-spacing:.18em;font-size:9.5px;color:#7fe0dd;font-weight:600;margin-bottom:10px}
.bmdv .recap .line{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:5px 0;border-top:1px solid rgba(255,255,255,.08)}
.bmdv .recap .line:first-of-type{border-top:0}
.bmdv .recap .line span{opacity:.7}.bmdv .recap .line b{font-family:var(--mont);font-weight:600;text-align:right}
.bmdv .recap .budget{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14)}
.bmdv .recap .budget .b{font-family:var(--mont);font-weight:800;font-size:19px;color:#fff}
.bmdv .recap .budget .s{font-size:11px;opacity:.7}
.bmdv .recap .empty{font-size:12.5px;opacity:.6;font-style:italic}
/* Barre budget fixe (mobile uniquement) : miroir du budget du récap, cachée en desktop. */
.bmdv .devis-costbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;background:linear-gradient(135deg,var(--teal-ink),var(--ink));color:#fff;box-shadow:0 -12px 30px -16px rgba(0,0,0,.5)}
.bmdv .devis-costbar .cb-in{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:11px 18px calc(11px + env(safe-area-inset-bottom, 0px))}
.bmdv .devis-costbar .cb-label{font-family:var(--mont);font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:#7fe0dd}
.bmdv .devis-costbar .cb-val{font-family:var(--mont);font-weight:800;font-size:18px;color:#fff}
.bmdv .devis-costbar .cb-val small{font-weight:500;font-size:12px;opacity:.8}
.bmdv .devis-costbar .cb-sub{font-size:10.5px;opacity:.7;margin-left:auto}
.bmdv .recap .lm{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14);font-size:11.5px}
.bmdv .recap .lm .pill{display:inline-block;font-family:var(--mont);font-weight:700;font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:20px}
.bmdv .recap .lm .pill.f{background:#f0b23a;color:#3a2a05}
.bmdv .recap .lm .pill.b{background:#e2604a;color:#fff}

/* Form area */
.bmdv .form{padding:48px 64px 70px;max-width:1280px;width:100%;margin:0 auto}
.bmdv .step-h{margin-bottom:26px}
.bmdv .step-h .k{font-family:var(--mont);text-transform:uppercase;letter-spacing:.22em;font-size:10.5px;font-weight:600;color:var(--teal-deep)}
.bmdv .step-h h2{font-size:27px;font-weight:800;margin-top:6px}
.bmdv .step-h h2 em{color:var(--teal-deep)}

.bmdv .qcard{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px 26px;margin-bottom:16px;box-shadow:0 10px 30px -22px rgba(0,0,0,.25)}
.bmdv .qcard>.q{font-family:var(--mont);font-weight:700;font-size:15px;margin-bottom:4px}
.bmdv .qcard>.hint{font-size:12.5px;color:var(--ink-soft);margin-bottom:14px}
.bmdv .qcard>.q+.choices,.bmdv .qcard>.q+.tiles,.bmdv .qcard>.q+.grid2{margin-top:12px}

.bmdv .formules{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.bmdv .fcard{border:1.5px solid var(--line);border-radius:18px;padding:24px 20px;cursor:pointer;transition:.3s var(--ease);position:relative;background:var(--paper);box-shadow:0 12px 34px -26px rgba(0,0,0,.3);display:flex;flex-direction:column}
.bmdv .fcard:hover{border-color:var(--teal);transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(14,94,96,.5)}
.bmdv .fcard.sel{border-color:var(--teal);box-shadow:0 0 0 3px rgba(40,190,192,.2),0 20px 44px -26px rgba(14,94,96,.5)}
.bmdv .fcard.reco{border-color:var(--teal)}
.bmdv .fcard .rib{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--teal);color:#fff;font-family:var(--mont);font-weight:700;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;padding:5px 14px;border-radius:40px;box-shadow:0 6px 16px -6px rgba(40,190,192,.8);white-space:nowrap}
.bmdv .fcard h3{font-size:18px}
.bmdv .fcard .band{font-family:var(--mont);font-weight:700;color:var(--teal-deep);font-size:13px;margin:5px 0 10px}
.bmdv .fcard .acc{font-size:13px;color:var(--ink-soft);margin-bottom:14px;min-height:56px}
.bmdv .fcard ul{list-style:none;font-size:12px;margin-bottom:16px}
.bmdv .fcard li{padding:6px 0 6px 20px;position:relative;color:var(--ink-soft);border-top:1px solid var(--line)}
.bmdv .fcard li:first-child{border-top:0}
.bmdv .fcard li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:700}
.bmdv .fcard .pick{margin-top:auto;text-align:center;font-family:var(--mont);font-weight:600;font-size:12.5px;padding:10px;border-radius:40px;background:var(--sand);color:var(--ink-soft);transition:.25s}
.bmdv .fcard:hover .pick{background:var(--teal);color:#fff}
.bmdv .fcard.sel .pick{background:var(--teal);color:#fff}

.bmdv .reassure{margin-top:18px;font-size:13px;color:var(--ink-soft);display:flex;gap:10px;align-items:center;justify-content:center;text-align:center;flex-wrap:wrap}
.bmdv .linkbtn{background:none;border:0;color:var(--teal-deep);font-family:var(--mont);font-weight:600;cursor:pointer;font-size:13px;text-decoration:underline;text-underline-offset:3px}
/* Message de conseil sous « Décrivez votre projet idéal » (couleur/gras pilotés en inline depuis la config). */
.bmdv .projet-conseil{margin-top:12px;font-size:13px;line-height:1.55;white-space:pre-line}

.bmdv .tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.bmdv .tile{border:1.5px solid var(--line);border-radius:14px;padding:18px 14px;cursor:pointer;text-align:center;transition:.22s var(--ease);background:var(--paper)}
.bmdv .tile:hover{border-color:var(--teal);transform:translateY(-2px)}
.bmdv .tile.on{border-color:var(--teal);background:#ecfafa;box-shadow:0 0 0 2px rgba(40,190,192,.18)}
.bmdv .tile .ic{font-size:26px;display:block;margin-bottom:8px}
.bmdv .tile .l{font-family:var(--mont);font-weight:600;font-size:13px;line-height:1.25}

.bmdv .choices{display:flex;flex-wrap:wrap;gap:10px}
.bmdv .chip{border:1.5px solid var(--line);border-radius:40px;padding:10px 18px;font-size:13.5px;cursor:pointer;transition:.2s var(--ease);font-family:var(--mont);font-weight:500;background:var(--paper);user-select:none}
.bmdv .chip:hover{border-color:var(--teal)}
.bmdv .chip.on{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 8px 18px -8px rgba(40,190,192,.7)}

.bmdv .grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.bmdv .optcard{border:1.5px solid var(--line);border-radius:14px;padding:15px 16px;cursor:pointer;font-size:13.5px;transition:.2s var(--ease);background:var(--paper);position:relative}
.bmdv .optcard:hover{border-color:var(--teal)}
.bmdv .optcard.on{border-color:var(--teal);background:#ecfafa;box-shadow:0 0 0 2px rgba(40,190,192,.16)}
.bmdv .optcard.on::after{content:"✓";position:absolute;top:12px;right:14px;color:var(--teal-deep);font-weight:800}
.bmdv .optcard b{display:block;font-family:var(--mont);font-size:13.5px;margin-bottom:3px;padding-right:20px}
.bmdv .optcard span{color:var(--ink-soft);font-size:12px}
.bmdv .optcard.locked{background:#f4f1ea;cursor:pointer}
.bmdv .optcard.locked b,.bmdv .optcard.locked>span{color:#9aa6a5}
.bmdv .optcard.locked::after{content:"🔒";font-size:12px;color:#b7b0a4}
.bmdv .tier{display:inline-block;margin-top:9px;font-family:var(--mont);font-weight:700;font-size:9px;letter-spacing:.07em;text-transform:uppercase;padding:3px 9px;border-radius:6px;line-height:1.3}
.bmdv .tier.sm{background:rgba(19,139,141,.11);color:var(--teal-deep)}
.bmdv .tier.pr{background:rgba(161,90,60,.13);color:var(--clay)}
.bmdv .tier.op{background:rgba(240,178,58,.16);color:#8a5e11}
.bmdv .optcard.locked .tier{opacity:.85}

.bmdv .svc{list-style:none;display:grid;gap:8px;margin:4px 0 0}
.bmdv .svc li{padding-left:26px;position:relative;font-size:13.5px;color:var(--ink-soft)}
.bmdv .svc li::before{content:"✅";position:absolute;left:0}

.bmdv label.field{display:block;margin:0}
.bmdv label.field>span{display:block;font-family:var(--mont);font-weight:600;font-size:13px;margin-bottom:7px}
.bmdv input[type=text],.bmdv input[type=email],.bmdv input[type=tel],.bmdv input[type=number],.bmdv input[type=date],.bmdv input[type=file],.bmdv select,.bmdv textarea{width:100%;border:1.5px solid var(--line);border-radius:11px;padding:12px 14px;font-family:var(--sans);font-size:14px;background:var(--paper);transition:.2s;color:var(--ink)}
.bmdv input[type=file]{padding:10px 14px;font-size:13px}
.bmdv input:focus,.bmdv select:focus,.bmdv textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(40,190,192,.12)}
.bmdv textarea{min-height:var(--bmdv-ta,92px);resize:none;overflow:hidden}
.bmdv .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bmdv .mt{margin-top:22px}.bmdv .mt-s{margin-top:20px}
/* Les utilitaires .mt/.mt-s doivent battre `label.field{margin:0}` (poids de l'élément) sur un <label class="field mt-s"> (ex. « Nombre de jours exact »). */
.bmdv label.field.mt{margin-top:22px}.bmdv label.field.mt-s{margin-top:20px}
.bmdv .req{color:var(--clay)}
.bmdv .req-note{font-family:var(--mont);font-size:12px;color:var(--ink-soft);margin:14px 0 0}
.bmdv .req-note .req{font-weight:700}
.bmdv .btn-short{display:none}
.bmdv .subq{font-family:var(--mont);font-weight:600;font-size:13px;margin:26px 0 9px}

.bmdv .alert{background:#fbf5e9;border:1px solid #f0d9b8;border-radius:12px;padding:13px 15px;font-size:13px;color:#7a5e16;margin-top:12px}
.bmdv .info{background:#ecfafa;border:1px solid #cdeeee;border-radius:12px;padding:13px 15px;font-size:13px;margin:14px 0;color:var(--teal-ink)}
.bmdv .warn{background:#fdeee9;border:1px solid #f3c6b8;border-radius:12px;padding:13px 15px;font-size:13px;margin:14px 0;color:#8a3a22}
.bmdv .warn b{color:#7a2c16}
.bmdv .badge-abs{display:flex;gap:10px;align-items:flex-start;background:#eefbf6;border:1px solid #bfe8d6;border-radius:12px;padding:12px 15px;font-size:12.5px;color:#1c6b4c;margin-top:12px}
.bmdv .badge-abs .i{font-size:16px;line-height:1.3}

.bmdv .nav{display:flex;justify-content:space-between;margin-top:8px;gap:12px}
/* Étape 1 : un seul bouton « Continuer » → pleine largeur + centré. */
.bmdv .nav--full{justify-content:center}
.bmdv .nav--full .btn{width:100%;justify-content:center;text-align:center}
.bmdv .btn{font-family:var(--mont);font-weight:600;font-size:14px;padding:14px 28px;border-radius:40px;border:0;cursor:pointer;transition:.25s var(--ease)}
.bmdv .btn-primary{background:var(--teal);color:#fff;box-shadow:0 12px 26px -12px rgba(40,190,192,.9)}
.bmdv .btn-primary:hover{background:var(--teal-deep);transform:translateY(-2px)}
.bmdv .btn-ghost{background:var(--paper);border:1.5px solid var(--line);color:var(--ink)}
.bmdv .btn-ghost:hover{border-color:var(--teal-deep)}
.bmdv .btn[disabled]{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}

.bmdv .budgetbox{background:linear-gradient(135deg,var(--teal-ink),var(--ink));color:#fff;border-radius:20px;padding:28px;text-align:center;margin-bottom:18px;position:relative;overflow:hidden}
.bmdv .budgetbox::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 120% at 15% 0%,rgba(40,190,192,.3),transparent 55%)}
.bmdv .budgetbox>*{position:relative}
.bmdv .budgetbox .eyebrow{color:#7fe0dd;font-family:var(--mont);text-transform:uppercase;letter-spacing:.2em;font-size:10.5px;font-weight:600}
.bmdv .budgetbox .big{font-family:var(--mont);font-weight:800;font-size:34px;margin:8px 0 2px}
.bmdv .budgetbox .sm{opacity:.9;font-size:14px}
.bmdv .budgetbox .grp{margin-top:12px;font-size:13px;opacity:.9}
.bmdv .incl{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px 24px;display:grid;grid-template-columns:1fr 1fr;gap:9px 26px;font-size:13px;margin-bottom:16px}
.bmdv .incl div{padding-left:24px;position:relative}
.bmdv .incl .y::before{content:"✅";position:absolute;left:0}
.bmdv .incl .n::before{content:"❌";position:absolute;left:0}
.bmdv .recapd .row2{display:flex;gap:16px;padding:10px 0;border-top:1px solid var(--line);font-size:13.5px}
.bmdv .recapd .row2:first-child{border-top:0}
.bmdv .recapd .row2 .k{flex:0 0 172px;font-family:var(--mont);font-weight:600;color:var(--ink-soft);font-size:12.5px}
.bmdv .recapd .row2 .v{flex:1;color:var(--ink)}

.bmdv .feebox{background:#fff7ea;border:1px solid #f0d9b8;border-radius:16px;padding:20px 22px;margin-bottom:16px}
.bmdv .feebox .h{font-family:var(--mont);font-weight:700;font-size:14px;color:#8a5e11;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.bmdv .feebox .amt{font-family:var(--mont);font-weight:800;font-size:26px;color:#7a4e0a;margin:4px 0}
.bmdv .feebox p{font-size:12.5px;color:#7a5e16}
.bmdv .tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.bmdv .tags .t{background:var(--sand);border:1px solid var(--line);border-radius:20px;padding:4px 11px;font-family:var(--mont);font-weight:600;font-size:11px;color:var(--ink-soft)}
.bmdv .tags .t.hot{background:#e2604a;border-color:#e2604a;color:#fff}

.bmdv .overlay{position:fixed;inset:0;background:rgba(10,30,29,.62);display:none;align-items:center;justify-content:center;z-index:100000;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.bmdv .overlay.show{display:flex}
.bmdv .modal{background:var(--paper);border-radius:20px;max-width:520px;width:100%;padding:30px;box-shadow:0 40px 80px -20px rgba(0,0,0,.5);display:flex;flex-direction:column;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px)}
/* Conteneur du tableau comparatif = seule zone scrollable (le titre et le bouton Fermer restent visibles). */
.bmdv .cmpwrap{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}
.bmdv .modal h3,.bmdv .modal .acts{flex:none}
.bmdv .modal h3{font-size:21px;margin-bottom:12px}
.bmdv .modal h3 em{color:var(--teal-deep)}
.bmdv .modal p{color:var(--ink-soft);margin-bottom:8px;font-size:14px}
.bmdv .modal .acts{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.bmdv .modal.big{max-width:820px}
.bmdv .cmp{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:6px}
.bmdv .cmp th,.bmdv .cmp td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
.bmdv .cmp th{background:var(--teal-ink);color:#fff;font-family:var(--mont);font-weight:600;font-size:11px}
.bmdv .cmp td:first-child{font-family:var(--mont);font-weight:600;background:var(--sand)}
/* Mobile : faire TENIR les 3 formules dans la largeur (colonnes fixes + police/marges compactes)
   → plus de scroll horizontal, on voit les 3 d'un coup ; seul un scroll vertical reste dans la modale. */
@media(max-width:560px){
  .bmdv .modal{padding:22px 16px}
  .bmdv .cmp{table-layout:fixed;font-size:11px}
  .bmdv .cmp th{font-size:9.5px;letter-spacing:0;padding:7px 5px}
  .bmdv .cmp td{padding:7px 5px;overflow-wrap:break-word}
  .bmdv .cmp td:first-child,.bmdv .cmp th:first-child{width:25%}
  /* 8.4 — prix de l'estimation sur 1 ligne (police réduite + nowrap, tiret déjà raccourci côté JS) */
  .bmdv .budgetbox .big{font-size:26px;white-space:nowrap}
  /* Bouton d'envoi : libellé court sur mobile (« Envoyer » au lieu de « Envoyer ma demande »). */
  .bmdv .btn-full{display:none}
  .bmdv .btn-short{display:inline}
}

.bmdv .done{text-align:center;padding:16px}
.bmdv .done .ic{font-size:52px}
.bmdv .done h2{font-size:26px;margin:12px 0 8px}
.bmdv .pre-prop{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px;margin-top:18px;text-align:left;font-size:13.5px;box-shadow:0 12px 30px -24px rgba(0,0,0,.3)}
.bmdv .pre-prop .tag{display:inline-block;background:var(--teal);color:#fff;font-family:var(--mont);font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:4px 11px;border-radius:20px;margin-bottom:12px}
.bmdv .muted{color:var(--ink-soft);font-size:12.5px}
.bmdv .reorient{background:var(--paper);border:1px solid #f3c6b8;border-radius:18px;padding:28px;text-align:center;box-shadow:0 12px 30px -24px rgba(0,0,0,.3)}
.bmdv .reorient .ic{font-size:46px}
.bmdv .reorient h3{font-size:22px;margin:10px 0 8px;color:#8a3a22}
.bmdv .reorient .phone{font-family:var(--mont);font-weight:800;font-size:20px;color:var(--teal-ink);margin-top:14px}

@media(max-width:900px){
  .bmdv .shell{grid-template-columns:1fr}
  .bmdv .rail{position:static;height:auto;padding:24px 22px}
  .bmdv .rail .ctx h1{font-size:22px}
  .bmdv .vstep{flex-direction:row;flex-wrap:wrap;gap:6px 14px;margin-top:18px}
  .bmdv .vstep li{padding:4px 0}
  .bmdv .recap{margin-top:18px}
  /* Étape 4 : le contenu contient déjà le récap complet des choix (« Récapitulatif de votre projet »)
     + le budget (.budgetbox) + la barre du bas → on retire toute la boîte récap du hero vert (rail). */
  .bmdv[data-step="4"] .recap{display:none}
  .bmdv .form{padding:28px 20px 88px;max-width:none} /* +bas : la barre budget fixe ne masque pas les boutons */
  .bmdv textarea{min-height:var(--bmdv-ta-m,120px)} /* mobile : hauteur réglable (pas de poignée tactile) */
  /* Barre budget : visible en mobile, montée en translate quand .is-open (rail hors écran) */
  .bmdv .devis-costbar{display:block;transform:translateY(100%);transition:transform .32s var(--ease)}
  .bmdv .devis-costbar.is-open{transform:translateY(0)}
  .bmdv .formules{grid-template-columns:1fr}
  .bmdv .row,.bmdv .grid2,.bmdv .incl{grid-template-columns:1fr}
  /* Champ date : pas pleine largeur quand la grille passe sur 1 colonne (sinon disproportionné). */
  .bmdv #datedep{max-width:240px}
}
