/* Messagerie BM : formulaire de contact (fiche) + panneau « Mes messages »
   (dashboard). Palette Ardoise & Framboise. !important sur les boutons pour
   neutraliser le kit Elementor / l'ancien thème. */

/* ---- Formulaire de contact sur la fiche ---- */
.bm-contact{max-width:680px;margin:32px 0;font-family:system-ui,sans-serif;color:#1b2433}
.bm-contact__title{font-size:1.3rem;color:#27395c;margin:0 0 14px}
.bm-contact-form label{display:block;margin:0 0 14px;font-size:.9rem;font-weight:600}
.bm-contact-form input,.bm-contact-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-contact-form input:focus,.bm-contact-form textarea:focus{outline:2px solid #3f5b8c;outline-offset:1px;border-color:#3f5b8c}
.bm-contact-row{display:flex;gap:12px;flex-wrap:wrap}
.bm-contact-row>label{flex:1;min-width:200px}
.bm-contact-rgpd{font-weight:400;color:#8b94a0;font-size:.8rem;margin:0 0 14px}
/* Case d'opt-in : petite case en ligne (elle heritait du input{width:100%;min-height:44px} et devenait enorme) */
.bm-contact-optin{display:flex!important;align-items:flex-start;gap:8px;font-weight:400;font-size:.85rem;color:#45505f;margin:0 0 14px}
.bm-contact-optin input{display:inline-block;width:16px!important;min-width:16px;height:16px;min-height:16px!important;margin:2px 0 0;padding:0;accent-color:#c4527a}
.bm-contact-submit{background:#c4527a!important;color:#fff!important;border:0!important;border-radius:12px;padding:14px 30px;font-size:1rem;font-weight:700;cursor:pointer;min-height:44px;text-decoration:none!important}
.bm-contact-submit:hover{filter:brightness(.93)}
.bm-contact-msg{padding:14px 18px;border-radius:11px;margin:0 0 16px;font-weight:600;font-size:.92rem}
.bm-contact-msg--ok{background:#eaf3ec;border:1px solid #bfe0cb;color:#2e7d52}
.bm-contact-msg--err{background:#fbeaea;border:1px solid #e7b9b9;color:#a23c3c}

/* ---- Panneau « Mes messages » du tableau de bord ---- */
.bm-msgs{display:flex;flex-direction:column;gap:12px;max-width:760px}
.bm-msg{background:#fff;border:1px solid #e0d6c6;border-radius:14px;overflow:hidden}
.bm-msg--new{border-left:4px solid #c4527a}
/* Filtres de la liste des échanges */
.bm-msgs-filters{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;margin:0 0 16px;max-width:760px}
.bm-msgs-filters label{display:flex;flex-direction:column;gap:5px;font-size:.8rem;font-weight:600;color:#27395c}
.bm-msgs-filters select{border:1.5px solid #e0d6c6;border-radius:9px;padding:9px 11px;font:inherit;font-weight:400;background:#fff;min-height:42px}
.bm-msgs-filters select:focus{outline:2px solid #3f5b8c;outline-offset:1px;border-color:#3f5b8c}
/* Capsule repliable « Mariage de… » */
.bm-msg__cap{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px}
.bm-msg__cap::-webkit-details-marker{display:none}
.bm-msg__cap::after{content:"\203A";color:#c4527a;font-size:20px;line-height:1;transition:transform .2s;flex:none}
.bm-msg[open] .bm-msg__cap::after{transform:rotate(90deg)}
.bm-msg__cap:hover{background:#faf7f1}
.bm-msg__cap-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.bm-msg__cap-main strong{color:#27395c;font-size:1rem}
.bm-msg__body{padding:4px 18px 18px;border-top:1px solid #f0eadf}
.bm-msg__head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap}
.bm-msg__who{font-size:1rem;font-weight:700;color:#27395c;margin:0}
.bm-msg__who a{color:#3f5b8c}
.bm-msg__wedding{font-size:.82rem;font-weight:600;color:#c4527a;margin:2px 0 0}
.bm-msg__meta{font-size:.78rem;color:#8b94a0;margin:3px 0 0}
.bm-msg__meta a{color:#8b94a0}
.bm-msg__text{margin:12px 0 14px;font-size:.92rem;line-height:1.55;color:#3a4150;background:#f7f5ef;border-radius:9px;padding:12px 14px}
/* Fil de conversation (plusieurs tours) */
.bm-msg__thread{display:flex;flex-direction:column;gap:8px;margin:12px 0 14px}
.bm-msg__entry{max-width:88%;border-radius:12px;padding:10px 13px;font-size:.92rem;line-height:1.55}
.bm-msg__entry p{margin:0}
.bm-msg__entry--them{align-self:flex-start;background:#f7f5ef;color:#3a4150;border-bottom-left-radius:3px}
.bm-msg__entry--me{align-self:flex-end;background:#fdf3f7;border:1px solid #f3c9da;color:#3a4150;border-bottom-right-radius:3px}
.bm-msg__entry-label{font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:#8b94a0;margin:0 0 4px;font-weight:700}
.bm-msg__entry--me .bm-msg__entry-label{color:#c4527a}
.bm-msg__actions{display:flex;gap:10px;flex-wrap:wrap}
.bm-msg__reply{margin:12px 0 14px;border-left:3px solid #c4527a;background:#fdf3f7;border-radius:0 9px 9px 0;padding:12px 14px;font-size:.92rem;line-height:1.55}
.bm-msg__reply-label{font-family:ui-monospace,monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#c4527a;margin:0 0 6px;font-weight:700}
.bm-msg__reply p{margin:0}
.bm-msg__replyform{margin-top:14px;background:#f7f5ef;border:1px solid #eee5d6;border-radius:12px;padding:16px}
.bm-msg__replyform[hidden]{display:none}
.bm-msg__replyform label{display:block;font-size:.85rem;font-weight:600;margin:0}
.bm-msg__replyform textarea{display:block;width:100%;margin-top:6px;border:1.5px solid #e0d6c6;border-radius:9px;padding:12px 14px;font:inherit;font-weight:400;background:#fff;box-sizing:border-box}
.bm-msg__replyform textarea:focus{outline:2px solid #3f5b8c;outline-offset:1px;border-color:#3f5b8c}
.bm-msg__replyactions{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.bm-msg__replyhint{font-size:.78rem;color:#8b94a0;margin:8px 0 0;font-weight:400}

/* Statut « Non lu » (complète les pastilles de bm-dashboard.css). */
.bm-dash-status--new{background:#fdf3f7;color:#c4527a}
