/* Message vocal — couleurs du site Jeanne Assistante */
:root{
  --mv-fonce:#2B1D14; --mv-peche:#F6AE80; --mv-peche-clair:#FDE2CE; --mv-texte:#5E4A3D;
  --mv-blanc:#FFFFFF; --mv-fond:#FFF8F3; --mv-ligne:#F3D7C3; --mv-rouge:#C2412D; --mv-vert:#3F8F5B;
}

/* Icône micro (masque CSS, prend la couleur du texte) */
html body .mv-ico{display:inline-block;width:1.15em;height:1.15em;flex:0 0 auto;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2' width='6' height='12' rx='3'/%3E%3Cpath d='M5 11a7 7 0 0 0 14 0M12 18v4M8 22h8'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2' width='6' height='12' rx='3'/%3E%3Cpath d='M5 11a7 7 0 0 0 14 0M12 18v4M8 22h8'/%3E%3C/svg%3E") center/contain no-repeat}

/* Bouton flottant */
html body .mv-flottant{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:9990;
  display:flex;align-items:center;gap:10px;padding:14px 20px;border:none;border-radius:100px;cursor:pointer;
  background:var(--mv-fonce);color:var(--mv-blanc);font:600 16px/1.2 "DM Sans",system-ui,sans-serif;
  box-shadow:0 10px 26px -10px rgba(43,29,20,.55);transition:transform .15s ease, box-shadow .15s ease}
html body .mv-flottant .mv-ico{color:var(--mv-peche);width:1.3em;height:1.3em}
html body .mv-flottant:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(43,29,20,.6)}
html body .mv-flottant:focus-visible{outline:3px solid var(--mv-peche);outline-offset:3px}
@media (max-width:600px){html body .mv-flottant{padding:13px 17px;font-size:15px}}

/* Bouton du shortcode */
html body .mv-bouton-inline{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border:2px solid var(--mv-fonce);border-radius:100px;
  background:transparent;color:var(--mv-fonce);font:600 17px/1.2 "DM Sans",system-ui,sans-serif;cursor:pointer}
html body .mv-bouton-inline:hover{background:var(--mv-fonce);color:var(--mv-blanc)}

/* Fenêtre */
html body .mv-voile{position:fixed;inset:0;z-index:99990;background:rgba(43,29,20,.45);display:flex;align-items:flex-end;justify-content:center;
  padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
@media (min-width:640px){html body .mv-voile{align-items:center}}
html body .mv-fenetre{width:100%;max-width:440px;max-height:calc(100dvh - 32px);overflow:auto;background:var(--mv-fond);color:var(--mv-texte);
  border-radius:24px;padding:26px 22px 22px;position:relative;font:400 16px/1.55 "DM Sans",system-ui,sans-serif;
  box-shadow:0 30px 60px -20px rgba(43,29,20,.5);display:flex;flex-direction:column;gap:16px}
html body .mv-fermer{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:none;background:var(--mv-peche-clair);
  color:var(--mv-fonce);font-size:22px;line-height:1;cursor:pointer}
html body .mv-titre{margin:0;padding-right:36px;font:700 24px/1.2 Fraunces,Georgia,serif;color:var(--mv-fonce);text-wrap:balance}
html body .mv-sous{margin:-6px 0 0;font-size:15px}
html body .mv-rec{display:flex;flex-direction:column;align-items:center;gap:8px;padding:6px 0}
html body .mv-micro{width:92px;height:92px;border-radius:50%;border:none;cursor:pointer;background:var(--mv-peche);color:var(--mv-fonce);
  display:grid;place-items:center;box-shadow:0 0 0 10px var(--mv-peche-clair);transition:transform .15s}
html body .mv-micro .mv-ico{width:40px;height:40px}
html body .mv-micro:hover{transform:scale(1.04)}
html body .mv-micro:focus-visible{outline:3px solid var(--mv-fonce);outline-offset:6px}
html body .mv-micro.mv-on{background:var(--mv-rouge);color:var(--mv-blanc);box-shadow:0 0 0 10px #F6D2CB;animation:mv-pulse 1.4s infinite}
@keyframes mv-pulse{50%{box-shadow:0 0 0 17px #F6D2CB}}
@media (prefers-reduced-motion:reduce){html body .mv-micro.mv-on{animation:none}html body .mv-flottant{transition:none}}
html body .mv-etat{font-weight:700;color:var(--mv-fonce);text-align:center}
html body .mv-temps{font-size:14px;font-variant-numeric:tabular-nums}
html body .mv-onde{width:100%;height:48px;display:block}
html body .mv-fenetre audio{width:100%}
html body .mv-lien{background:none;border:none;color:var(--mv-fonce);text-decoration:underline;font:600 14px "DM Sans",system-ui,sans-serif;cursor:pointer;padding:4px}
html body .mv-champs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:420px){html body .mv-champs{grid-template-columns:1fr}}
html body .mv-fenetre label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600;color:var(--mv-fonce)}
html body .mv-fenetre input[type=text],html body .mv-fenetre input[type=tel]{font:16px "DM Sans",system-ui,sans-serif;padding:11px 12px;border:1px solid var(--mv-ligne);
  border-radius:12px;background:var(--mv-blanc);color:var(--mv-fonce);width:100%;box-sizing:border-box}
html body .mv-fenetre input:focus{outline:2px solid var(--mv-peche);border-color:transparent}
html body .mv-fenetre label.mv-rgpd{flex-direction:row;align-items:flex-start;gap:8px;font-weight:400;font-size:13px;color:var(--mv-texte)}
html body .mv-rgpd input{margin-top:3px;accent-color:var(--mv-fonce)}
html body .mv-rgpd a{color:inherit}
html body .mv-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
html body .mv-envoyer{border:none;border-radius:100px;padding:15px;background:var(--mv-fonce);color:var(--mv-blanc);
  font:700 17px "DM Sans",system-ui,sans-serif;cursor:pointer}
html body .mv-envoyer:disabled{opacity:.4;cursor:not-allowed}
html body .mv-envoyer:focus-visible{outline:3px solid var(--mv-peche);outline-offset:3px}
html body .mv-msg{margin:0;min-height:1.4em;text-align:center;font-weight:600;font-size:15px}
html body .mv-msg.mv-ok{color:var(--mv-vert)} html body .mv-msg.mv-err{color:var(--mv-rouge)}
html body .mv-merci{text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center;padding:18px 0}
html body .mv-merci .mv-rond{width:72px;height:72px;border-radius:50%;background:var(--mv-peche-clair);display:grid;place-items:center;font-size:34px;color:var(--mv-fonce)}

/* Dictée dans les formulaires */
html body .mv-dictee-zone{position:relative}
html body .mv-dicter{position:absolute;right:10px;bottom:10px;z-index:2;display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:100px;
  border:1px solid var(--mv-ligne);background:var(--mv-blanc);color:var(--mv-fonce);font:600 13px "DM Sans",system-ui,sans-serif;cursor:pointer;
  box-shadow:0 4px 12px -6px rgba(43,29,20,.35);text-transform:none;line-height:1}
html body .mv-dicter .mv-ico{width:15px;height:15px}
html body .mv-dicter.mv-on{background:var(--mv-rouge);border-color:var(--mv-rouge);color:var(--mv-blanc)}
html body .mv-dictee-zone textarea{padding-bottom:48px!important}

html body .mv-flottant,html body .mv-bouton-inline,html body .mv-micro,html body .mv-fermer,html body .mv-envoyer,html body .mv-lien,html body .mv-dicter{text-transform:none;letter-spacing:normal;min-height:0;margin:0}
html body .mv-voile[hidden],html body .mv-voile [hidden],html body .mv-dicter[hidden]{display:none!important}
html body .mv-fenetre .mv-titre{margin:0;text-transform:none;letter-spacing:normal;font-size:24px;line-height:1.2}
html body .mv-fenetre .mv-sous{margin:0}
html body .mv-envoyer{width:100%;display:block}
html body .mv-fenetre label{margin:0}
html body .mv-dictee-info{margin:6px 2px 0;font:500 13px/1.4 "DM Sans",system-ui,sans-serif;color:#5E4A3D;min-height:0}
html body .mv-dictee-info:empty{display:none}
html body .mv-dictee-zone:has(.mv-dictee-info:not(:empty)) .mv-dicter{bottom:38px}
/* Bloc vocal dans les pages (shortcode [message_vocal]) */
html body .mv-bloc{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#FDE2CE;border-radius:20px;padding:18px 20px;margin:18px 0 0;box-sizing:border-box;max-width:100%}
html body .mv-bloc-ico{flex:0 0 48px;height:48px;border-radius:50%;background:#2B1D14;color:#F6AE80;display:grid;place-items:center}
html body .mv-bloc-ico .mv-ico{width:22px;height:22px}
html body .mv-bloc-txt{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:2px;font:400 15px/1.5 "DM Sans",system-ui,sans-serif;color:#5E4A3D}
html body .mv-bloc-txt strong{font:700 17px/1.3 "DM Sans",system-ui,sans-serif;color:#2B1D14}
html body .mv-bloc .mv-bouton-inline{flex:0 0 auto;background:#2B1D14;color:#fff;border-color:#2B1D14;font-size:16px;padding:13px 22px}
html body .mv-bloc .mv-bouton-inline:hover{background:#4A3426;border-color:#4A3426;color:#fff}
@media (max-width:520px){html body .mv-bloc .mv-bouton-inline{width:100%;justify-content:center}}
/* Lien discret « Laissez-moi un vocal » (lien #vocal) */
html body .mv-lien-vocal{margin:14px 0 0;font:500 15px/1.4 "DM Sans",system-ui,sans-serif;color:#5E4A3D}
html body .mv-lien-vocal a{color:#2B1D14;font-weight:700;text-decoration:underline;text-decoration-color:#F6AE80;text-underline-offset:4px;text-decoration-thickness:2px}
html body .mv-lien-vocal a:hover{text-decoration-color:#2B1D14}
html body .mv-lien-vocal .mv-ico{width:15px;height:15px;vertical-align:-2px;margin-right:4px;color:#2B1D14}
/* Masquer les accès vocaux si la messagerie est en pause */
html:not(.mv-actif) .mv-lien-vocal,html:not(.mv-actif) .mv-masquable{display:none!important}
