/* Formulaire prestataire v0.2.0 : styles (palette Ardoise & Framboise). */
.bm-presta-head{max-width:760px;margin:0 auto 22px;font-family:system-ui,sans-serif;text-align:center}
.bm-presta-head h1{font-size:clamp(24px,3.4vw,32px);line-height:1.15;color:#27395c;margin:0 0 10px}
.bm-presta-head p{font-size:15.5px;line-height:1.6;color:#45505f;margin:0 auto;max-width:60ch}
.bm-presta-head strong{color:#27395c}
.bm-presta-form{max-width:760px;margin:0 auto;font-family:system-ui,sans-serif;color:#1b2433}
.bm-presta-section{border:1px solid #e0d6c6;border-radius:14px;padding:18px 20px;margin:0 0 18px}
.bm-presta-section h2{font-size:1.1rem;margin:0 0 12px;color:#27395c}
.bm-presta-section h2.bm-mt{margin-top:22px;padding-top:18px;border-top:1px solid #eee5d6}
.bm-presta-sub{font-weight:700;margin:16px 0 6px;color:#27395c;font-size:.9rem}
.bm-presta-form label{display:block;margin:0 0 12px;font-size:.9rem;font-weight:600}
/* L'attribut hidden doit TOUJOURS l'emporter (sinon .bm-presta-form label{display:block} écrase [hidden]). */
.bm-presta-form [hidden]{display:none!important}
.bm-presta-form input,.bm-presta-form select,.bm-presta-form textarea{display:block;width:100%;margin-top:5px;padding:10px 12px;border:1px solid #e0d6c6;border-radius:9px;font:inherit;font-weight:400;background:#fff;min-height:44px;box-sizing:border-box}
.bm-presta-form input:focus,.bm-presta-form select:focus,.bm-presta-form textarea:focus{outline:2px solid #3f5b8c;outline-offset:1px;border-color:#3f5b8c}
.bm-row{display:flex;gap:12px;flex-wrap:wrap}.bm-row>label{flex:1;min-width:160px}

/* Étapes */
.bm-steps{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 10px;padding:0;font-size:.78rem;font-weight:600}
.bm-steps li{display:flex;align-items:center;gap:6px;color:#8b94a0;padding:4px 8px;border-radius:20px;cursor:default}
.bm-steps li span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#eee5d6;color:#8b94a0;font-size:.75rem}
.bm-steps li.is-current{color:#27395c}.bm-steps li.is-current span{background:#3f5b8c;color:#fff}
.bm-steps li.is-done span{background:#c4527a;color:#fff}
.bm-js .bm-steps li{cursor:pointer}
.bm-step-count{font-weight:700;color:#3f5b8c;font-size:.85rem;margin:0 0 14px}
.bm-js .bm-step-count{display:block}

/* Erreur d'étape (validation au clic sur Suivant) */
.bm-step-err{background:#fbeaea;border:1px solid #e7b9b9;color:#a23c3c;padding:11px 15px;border-radius:10px;margin:0 0 12px;font-weight:600;font-size:.9rem}

/* Navigation */
.bm-nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:6px}
.bm-prev,.bm-next{background:#fff;color:#3f5b8c;border:1.5px solid #3f5b8c;border-radius:12px;padding:13px 26px;font-size:.95rem;font-weight:700;cursor:pointer;min-height:44px}
.bm-next{margin-left:auto}
.bm-presta-submit{background:#c4527a;color:#fff;border:0;border-radius:12px;padding:14px 30px;font-size:1rem;font-weight:700;cursor:pointer;margin-left:auto;min-height:44px}
/* Enregistrer brouillon : 3e couleur (ardoise pleine), distinct de Suivant (contour) et Soumettre (framboise) */
.bm-save{background:#3f5b8c;color:#fff;border:0;border-radius:12px;padding:13px 24px;font-size:.95rem;font-weight:700;cursor:pointer;min-height:44px}
.bm-save[disabled],.bm-next[disabled]{opacity:.5;cursor:default}

/* Étape compte : Turnstile + RGPD + erreur */
.bm-turnstile{margin:10px 0}
.bm-account-rgpd{font-weight:400;color:#8b94a0;font-size:.78rem;margin:8px 0 0}
.bm-account-err{background:#fbeaea;border:1px solid #e7b9b9;color:#a23c3c;padding:10px 14px;border-radius:10px;margin-top:12px;font-weight:600;font-size:.88rem}

/* Cases & radios */
.bm-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}
.bm-check{display:flex!important;gap:8px;align-items:center;font-weight:400}.bm-check input{width:auto;min-height:auto;margin:0}
.bm-radios{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.bm-radio{display:flex!important;gap:8px;align-items:center;font-weight:400}.bm-radio input{width:auto;min-height:auto;margin:0}
.bm-cond{background:#f7f5ef;border:1px solid #eee5d6;border-radius:10px;padding:12px 14px;margin:0 0 12px}

/* Repeaters */
.bm-repeat-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;border-left:3px solid #eaeef7;padding-left:12px;margin-bottom:10px}
.bm-repeat-row>label{flex:1;min-width:140px}
.bm-repeat-del{background:#fbeaea;color:#a23c3c;border:0;border-radius:8px;width:36px;height:44px;font-size:1.2rem;cursor:pointer;flex:0 0 auto}
.bm-repeat-add{background:#fff;color:#c4527a;border:1.5px dashed #c4527a;border-radius:10px;padding:9px 16px;font-weight:700;cursor:pointer;margin:0 0 16px}

/* Autocomplétion BAN */
.bm-ban{position:relative}
.bm-ban-list{list-style:none;margin:2px 0 0;padding:0;border:1px solid #e0d6c6;border-radius:9px;background:#fff;position:absolute;left:0;right:0;z-index:30;box-shadow:0 8px 24px rgba(31,36,51,.12);max-height:240px;overflow:auto}
.bm-ban-list li{padding:10px 12px;cursor:pointer;font-weight:400;font-size:.88rem}
.bm-ban-list li:hover{background:#f1eef9}

/* Compteur description */
.bm-count{display:block;font-weight:400;color:#8b94a0;font-size:.78rem;margin-top:4px}
.bm-count.is-ok{color:#2e7d52}

/* Consignes photos */
.bm-consignes{margin:0;padding-left:18px;font-weight:400;font-size:.84rem;color:#5a6473}
.bm-consignes li{margin:0 0 5px}

/* Curseur de réduction */
.bm-reduc-out{font-weight:700;color:#c4527a}
.bm-reduc-range{accent-color:#c4527a;min-height:auto;padding:0}

/* Sans JS, le formulaire (wizard + création de compte AJAX) ne peut pas fonctionner :
   on n'affiche PAS les champs conditionnels à tort ; un <noscript> prévient l'utilisateur. */
.bm-noscript{background:#fbeaea;border:1px solid #e7b9b9;color:#a23c3c;padding:14px 18px;border-radius:10px;margin:0 0 16px;font-weight:600}

/* Récapitulatif */
.bm-recap-sec{border:1px solid #e0d6c6;border-radius:12px;padding:12px 16px;margin:0 0 12px}
.bm-recap-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bm-recap-head h3{margin:0;font-size:1rem;color:#27395c}
.bm-recap-edit{background:#fff;color:#3f5b8c;border:1.5px solid #3f5b8c;border-radius:9px;padding:5px 14px;font-size:.82rem;font-weight:700;cursor:pointer;flex:0 0 auto}
.bm-recap-sec ul{margin:8px 0 0;padding-left:18px;font-weight:400;font-size:.88rem;color:#3a4150}
.bm-recap-sec li{margin:0 0 4px}
.bm-recap-empty{margin:6px 0 0;font-weight:400;font-size:.84rem;color:#a9926a;font-style:italic}

/* Choix de formule (Gratuite / Prestige) */
.bm-formules{display:flex;gap:14px;flex-wrap:wrap;margin:4px 0 14px}
.bm-formule-card{flex:1;min-width:240px;display:block;margin:0;cursor:pointer;font-weight:400}
.bm-formule-card input{position:absolute;opacity:0;width:1px;height:1px}
.bm-formule-card__in{display:block;height:100%;border:2px solid #e0d6c6;border-radius:14px;padding:16px 18px;background:#fff;transition:border-color .15s,box-shadow .15s}
.bm-formule-card input:checked+.bm-formule-card__in{border-color:#3f5b8c;box-shadow:0 0 0 3px rgba(63,91,140,.12)}
.bm-formule-card--prestige input:checked+.bm-formule-card__in{border-color:#c4527a;box-shadow:0 0 0 3px rgba(196,82,122,.14)}
.bm-formule-card input:focus-visible+.bm-formule-card__in{outline:2px solid #3f5b8c;outline-offset:2px}
.bm-formule-card__badge{display:inline-block;background:#c4527a;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:3px 9px;border-radius:20px;margin-bottom:8px}
.bm-formule-card__t{display:block;font-size:1.15rem;font-weight:700;color:#27395c}
.bm-formule-card__p{display:block;font-size:1rem;font-weight:700;color:#c4527a;margin:2px 0 2px}
.bm-formule-card:not(.bm-formule-card--prestige) .bm-formule-card__p{color:#27395c}
.bm-formule-card__note{display:block;font-size:.78rem;color:#8b94a0;margin-bottom:6px}
.bm-formule-card ul{list-style:none;margin:10px 0 0;padding:0;font-size:.85rem;color:#45505f}
.bm-formule-card li{position:relative;padding:3px 0 3px 20px}
.bm-formule-card li::before{content:"✓";position:absolute;left:0;color:#3f5b8c;font-weight:700}
.bm-formule-card--prestige li::before{color:#c4527a}

/* Rappel « enregistrer le brouillon » (apparaît dès qu'un champ est rempli) */
.bm-save-hint{background:#f7f5ef;border:1px solid #eee5d6;border-radius:10px;padding:9px 13px;margin:0 0 10px;font-size:.84rem;font-weight:400;color:#45505f}
.bm-save-hint strong{color:#27395c;font-weight:700}

/* Étiquette « Prestige » sur les champs réservés à la formule payante */
.bm-prestige-tag{display:inline-block;background:#fbe9f0;color:#c4527a;font-size:.66rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:1px 7px;border-radius:20px;vertical-align:middle;margin-left:4px}

/* Aide pédagogique sous le titre d'un champ (comment bien le renseigner) */
.bm-field-help{display:block;font-weight:400;color:#7a8494;font-size:.82rem;line-height:1.45;margin:2px 0 4px}
p.bm-field-help{margin:-2px 0 10px}

/* Bouton en cours d'envoi : petit anneau qui tourne devant le libellé */
.bm-save.is-busy,.bm-presta-submit.is-busy{position:relative;opacity:.85;cursor:progress}
.bm-save.is-busy::before,.bm-presta-submit.is-busy::before{content:"";display:inline-block;width:14px;height:14px;margin-right:9px;vertical-align:-2px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:bm-spin .7s linear infinite}
@keyframes bm-spin{to{transform:rotate(360deg)}}

/* Divers */
.bm-presta-hint{font-weight:400;color:#8b94a0;font-size:.82rem}
.bm-presta-cgu{display:flex;gap:8px;align-items:flex-start;font-size:.88rem;font-weight:400;margin:6px 0 18px}.bm-presta-cgu input{width:auto;min-height:auto;margin:3px 0 0}
.bm-presta-err{background:#fbeaea;border:1px solid #e7b9b9;color:#a23c3c;padding:12px 16px;border-radius:10px;margin-bottom:18px}
.bm-presta-ok{background:#eaf3ec;border:1px solid #bfe0cb;color:#2e7d52;padding:20px 24px;border-radius:14px}.bm-presta-ok h2{margin:0 0 8px}
.bm-presta-note{background:#f7f5ef;border:1px solid #eee5d6;padding:16px;border-radius:12px}

/* Tarif « sur devis ». La case et son libellé doivent tenir sur UNE ligne : les
   champs du formulaire sont en display:block par défaut, ce qui renvoyait la
   case seule au-dessus du texte. Sélecteurs à deux classes pour passer devant
   cette règle générique sans !important. */
label.bm-sur-devis-wrap.bm-presta-cgu{display:flex;gap:9px;align-items:center;cursor:pointer;font-weight:400}
label.bm-sur-devis-wrap.bm-presta-cgu > input{display:inline-block;flex:0 0 auto;width:auto;min-height:0;margin:0}
label.is-disabled{opacity:.55}
label.is-disabled input{background:#f3f0ea;cursor:not-allowed}

/* Bloc « verrouillé Prestige » (zones d'intervention) : grisé + note en gratuite. */
.bm-prestige-lock{position:relative}
.bm-prestige-lock.is-locked > label{opacity:.5}
.bm-prestige-lock.is-locked select{pointer-events:none;background:#f3f0ea}
.bm-lock-note{display:none;flex-basis:100%;margin:2px 0 0;font-size:.82rem;color:#a23c61;background:#fbe9f0;border:1px solid #f3c2cd;border-radius:9px;padding:8px 11px}
.bm-prestige-lock.is-locked .bm-lock-note{display:block}
