/* ====================================================================
   MA VILLE — Rendu « comme WhatsApp » (05/10/2026)
   Police du téléphone, émojis plus grands, réactions en pastille
   blanche, fenêtre « Nouvelle discussion ». Chargé en tout dernier.
   ==================================================================== */
:root {
  --wa-font: Roboto, "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif, "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji";
  --wa-green: #0C6C3C;
  --wa-green-2: #1E9E5A;
}

/* ---------- Police : celle du téléphone (Roboto sur Android, comme WhatsApp) ---------- */
html body,
html body *:not(svg):not(svg *):not(code):not(pre):not(kbd) {
  font-family: var(--wa-font) !important;
}
html body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
html body :is(h1, h2, h3, h4, .display-serif) { letter-spacing: 0 !important; }

/* ---------- Émojis dans les messages : un peu plus grands, sans fond ---------- */
html body .mv-emo, html body .mv-emo.mv-jumbo-emoji {
  font-size: 1.28em !important;
  letter-spacing: 0 !important;
  line-height: 1;
  vertical-align: -0.12em;
  background: none !important;
  font-style: normal;
}
/* message composé uniquement d'émojis : en grand, sans bulle (comme WhatsApp) */
html body :is(#private-chat-modal, #group-chat-modal, #private-chat-messages-area, #group-chat-messages-area, #community-chat-messages-area) :is(.chat-bubble-user, .chat-bubble-bot).mv-jumbo-bubble {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 2px 2px !important;
}
html body :is(#private-chat-modal, #group-chat-modal, #private-chat-messages-area, #group-chat-messages-area, #community-chat-messages-area) :is(.chat-bubble-user, .chat-bubble-bot).mv-jumbo-bubble::after { display: none !important; }
html body .mv-jumbo-bubble .mv-emo, html body .mv-jumbo-bubble .mv-emo.mv-jumbo-emoji { font-size: 50px !important; line-height: 1.12; vertical-align: 0; }
html body .mv-jumbo-bubble.mv-j2 .mv-emo { font-size: 40px !important; }
html body .mv-jumbo-bubble.mv-j3 .mv-emo { font-size: 34px !important; }
html body .mv-jumbo-bubble .chat-bubble-meta {
  display: block;
  float: none !important;
  width: max-content;
  margin: 0 0 0 auto !important;
  background: var(--wa-in, #fff);
  border-radius: 10px;
  padding: 1px 7px !important;
  box-shadow: 0 1px .5px rgba(11, 20, 26, .13);
}
html body .mv-jumbo-emoji { background: none !important; }

/* ---------- Réactions : pastille blanche sous la bulle, comme WhatsApp ---------- */
html body :is(.chat-bubble-user, .chat-bubble-bot) { position: relative; }
html body :is(.chat-bubble-user, .chat-bubble-bot):has(> .chat-msg-reactions-row),
html body :is(.chat-bubble-user, .chat-bubble-bot):has(> .mv-greact:not(:empty)) {
  margin-bottom: 24px !important;
}
html body :is(.chat-bubble-user, .chat-bubble-bot) > :is(.chat-msg-reactions-row, .mv-greact) {
  position: absolute;
  bottom: -21px;
  left: 6px;
  right: auto;
  z-index: 2;
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 1px;
  margin: 0 !important;
  padding: 1px 6px;
  min-height: 24px;
  background: var(--wa-in, #fff) !important;
  border: 2px solid var(--wa-bg, #EFEAE2);
  border-radius: 999px;
  box-shadow: 0 1px 2px rgba(11, 20, 26, .2);
}
html body .chat-bubble-user > :is(.chat-msg-reactions-row, .mv-greact) { left: auto; right: 6px; }
html body :is(.chat-bubble-user, .chat-bubble-bot) > .mv-greact:empty { display: none; }
html body :is(.chat-reaction-pill, .chat-reaction-pill.mine, .mv-greact span, .mv-greact span.mine) {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--wa-meta, #667781) !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  line-height: 20px !important;
  padding: 0 1px !important;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
html body :is(.chat-msg-reactions-row, .mv-greact) .mv-react-emo { font-size: 17px !important; line-height: 20px !important; color: initial; }

/* barre de réactions rapides (appui long) : émojis plus grands, sans fond */
html body .chat-msg-quick-reactions button,
html body .mv-greact-bar button:not(.mv-gcopy) { font-size: 26px !important; background: none !important; }

/* ---------- « Nouvelle discussion » (retrouver un contact) ---------- */
#find-by-phone-modal.wa-newchat-backdrop { padding: 0 !important; align-items: stretch; justify-content: center; }
#find-by-phone-modal .wa-newchat {
  max-width: 100%; width: 100%; height: 100%; max-height: 100%;
  border-radius: 0; padding: 0; overflow: hidden;
  display: flex; flex-direction: column;
  background: var(--wa-panel, #fff); color: var(--wa-text, #0B1A12);
  box-shadow: none;
}
@media (min-width: 700px) {
  #find-by-phone-modal.wa-newchat-backdrop { align-items: center; padding: 16px !important; }
  #find-by-phone-modal .wa-newchat { max-width: 440px; height: auto; max-height: 86vh; border-radius: 12px; box-shadow: 0 10px 30px rgba(0, 0, 0, .25); }
}
.wa-newchat-head {
  display: flex; align-items: center; gap: 14px;
  padding: 10px 12px; min-height: 58px;
  background: var(--wa-header, #0C6C3C); color: #fff;
  padding-top: max(10px, env(safe-area-inset-top));
}
.wa-icon-btn {
  width: 40px; height: 40px; border-radius: 50%; border: 0; background: none; color: inherit;
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0;
}
.wa-icon-btn:active { background: rgba(255, 255, 255, .15); }
.wa-newchat-title { display: flex; flex-direction: column; min-width: 0; }
.wa-newchat-title strong { font-size: 19px; font-weight: 500; line-height: 1.2; }
.wa-newchat-title span { font-size: 13px; opacity: .85; }
.wa-newchat-body { flex: 1; overflow-y: auto; padding: 12px 0 24px; }
.wa-field {
  display: flex; align-items: center; gap: 10px;
  margin: 4px 16px 6px; padding: 0 6px 0 14px; height: 48px;
  background: var(--wa-search, #F0F2F5); border-radius: 24px; color: var(--wa-meta, #667781);
}
.wa-field input {
  flex: 1; min-width: 0; height: 100%; border: 0 !important; outline: none; background: transparent !important;
  font-size: 16px; color: var(--wa-text, #0B1A12); padding: 0 !important; box-shadow: none !important;
}
.wa-field-go {
  width: 38px; height: 38px; border-radius: 50%; border: 0; cursor: pointer; flex-shrink: 0;
  background: var(--wa-green); color: #fff; display: inline-flex; align-items: center; justify-content: center;
}
.wa-newchat-hint { margin: 0 20px 8px; font-size: 13px; color: var(--wa-meta, #667781); }
#find-by-phone-result:not(:empty) { padding: 4px 8px 6px; }
#find-by-phone-result .chat-empty-hint { padding: 6px 12px; font-size: 14px; color: var(--wa-meta, #667781); }
.wa-action-row {
  display: flex; align-items: center; gap: 16px; width: 100%;
  padding: 10px 16px; border: 0; background: none; text-align: left; cursor: pointer; color: inherit;
}
.wa-action-row:active { background: rgba(11, 20, 26, .05); }
.wa-action-ico {
  width: 46px; height: 46px; border-radius: 50%; flex-shrink: 0;
  background: var(--wa-green-2); color: #fff; display: inline-flex; align-items: center; justify-content: center;
}
.wa-action-txt { display: flex; flex-direction: column; min-width: 0; }
.wa-action-txt strong { font-size: 16.5px; font-weight: 500; color: var(--wa-text, #0B1A12); }
.wa-action-txt span { font-size: 13.5px; color: var(--wa-meta, #667781); }
#find-by-phone-modal .found-contact-row { background: none; border: 0; border-radius: 0; padding: 8px; margin: 0; }
#find-by-phone-modal .found-contact-start-btn { background: var(--wa-green); font-weight: 500; font-size: 14px; padding: 8px 16px; }

/* ---------- Bandeau de connexion (comme « Connexion… » de WhatsApp) ---------- */
#mv-net-bar {
  position: fixed; left: 50%; top: max(8px, env(safe-area-inset-top)); transform: translate(-50%, -150%);
  z-index: 100000; padding: 7px 14px; border-radius: 18px; font-size: 13.5px; font-weight: 500;
  background: #303030; color: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
  transition: transform .25s ease; pointer-events: none; white-space: nowrap;
}
#mv-net-bar.show { transform: translate(-50%, 0); }
#mv-net-bar.ok { background: var(--wa-green); }

/* ---------- Accueil : case « Code secret » pour un numéro déjà inscrit ---------- */
.mv-welcome-known { margin: 12px 0 4px; padding: 10px 12px; border-radius: 12px; background: #E7F8F3; color: #0B5345; font-size: 14px; line-height: 1.4; }
.mv-welcome-pinbox { display: flex; align-items: center; gap: 8px; }
.mv-welcome-pinbox input { flex: 1; min-width: 0; min-height: 50px; border: 1.5px solid #D8DEE3; border-radius: 14px; padding: 0 14px; font-size: 20px; letter-spacing: 6px; color: #10202E; background: #fff; outline: 0; box-sizing: border-box; }
.mv-welcome-pinbox input:focus { border-color: var(--wa-green); }
.mv-welcome-pinbox button { min-height: 50px; padding: 0 12px; border: 0; border-radius: 14px; background: #F0F4F6; color: #0C5424; font-weight: 600; font-size: 13px; cursor: pointer; }
#mv-welcome-pin-wrap[hidden], #mv-welcome-newfields[hidden] { display: none !important; }
.mv-welcome-pinbox input::placeholder { letter-spacing: 0; font-size: 16px; }

/* ---------- Discussions : ligne « Contacts sur Ma Ville » façon WhatsApp ---------- */
#mv-my-contacts .wa-contacts-row { padding: 10px 16px; margin: 2px 0; }
#mv-my-contacts .wa-action-txt strong { font-size: 16px; }
#mv-my-contacts .wa-action-txt span { font-size: 13.5px; }
body.dark-mode #mv-my-contacts .wa-action-txt strong { color: #E9EDEF; }

/* (05/10/2026) bug : la bande d'annonces restait collée en haut et cachait
   la recherche et les filtres des Discussions. Comme WhatsApp : pas de bande
   dans Discussions / Communautés / Appels. */
body:has(:is(#tab-dating, #tab-communities, #tab-calls).active) #global-ticker-wrap { display: none !important; }

/* ---------- Annuaire : recherche par métier (07/10/2026) ---------- */
.mv-metiers { margin: 4px 0 16px; padding: 14px; border-radius: 16px; background: var(--paper-card, #fff); border: 1px solid var(--line, #E3E8EC); box-shadow: 0 2px 10px rgba(12,84,36, .06); }
.mv-metiers-field { display: flex; align-items: center; gap: 10px; height: 50px; padding: 0 14px; border-radius: 25px; background: #F0F2F5; color: #54656F; }
.mv-metiers-field input { flex: 1; min-width: 0; border: 0 !important; outline: 0; background: transparent !important; font-size: 16px; color: #0B1A12; box-shadow: none !important; padding: 0 !important; }
.mv-metiers-opts { display: flex; gap: 8px; margin-top: 10px; }
.mv-metiers-opts select { flex: 1; min-width: 0; height: 40px; border-radius: 20px; border: 1.5px solid #D8DEE3; padding: 0 12px; font-size: 14px; background: #fff; color: #0B1A12; }
.mv-metiers-near { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px; border-radius: 20px; border: 1.5px solid #D8DEE3; background: #fff; color: #0C5424; font-weight: 600; font-size: 14px; cursor: pointer; white-space: nowrap; }
.mv-metiers-near.on { background: #0C6C3C; border-color: #0C6C3C; color: #fff; }
.mv-metiers-near.busy { opacity: .6; }
.mv-metiers-sugg { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.mv-metiers-sugg[hidden] { display: none; }
.mv-metiers-sugg button { border: 0; border-radius: 16px; padding: 6px 12px; background: #E7F8F3; color: #0B5345; font-size: 13.5px; font-weight: 500; cursor: pointer; }
.mv-metiers-res:not(:empty) { margin-top: 12px; }
.mv-metiers-count { font-size: 13px; color: #667781; margin: 0 2px 8px; }
.mv-metiers-empty { text-align: center; color: #667781; font-size: 14px; padding: 10px 6px; }
.mv-metiers-hint { font-size: 12.5px; margin-top: 6px; }
.mv-metiers-link { border: 0; background: none; color: #0C6C3C; font-weight: 600; font-size: 14px; text-decoration: underline; cursor: pointer; padding: 4px; }
.mv-metier-card { padding: 12px 2px 14px; border-top: 1px solid #EEF1F3; }
.mv-metier-card:first-of-type { border-top: 0; }
.mv-metier-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.mv-metier-job { font-size: 12.5px; font-weight: 600; color: #0C6C3C; text-transform: uppercase; letter-spacing: .3px; }
.mv-metier-badge { flex-shrink: 0; font-size: 11.5px; font-weight: 600; padding: 2px 8px; border-radius: 10px; background: #FFF4D6; color: #8A5A00; }
.mv-metier-badge.ok { background: #E7F8F3; color: #0B5345; }
.mv-metier-name { margin: 3px 0 2px; font-size: 16.5px; font-weight: 600; color: #0B1A12; line-height: 1.3; }
.mv-metier-meta { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 13.5px; color: #667781; }
.mv-metier-dist { font-weight: 600; color: #0C5424; }
.mv-metier-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.mv-btn { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px; border-radius: 19px; font-size: 14px; font-weight: 600; text-decoration: none !important; }
.mv-btn.call { background: #0C6C3C; color: #fff !important; }
.mv-btn.wa { background: #1E9E5A; color: #fff !important; }
.mv-btn.route { background: #fff; color: #0C5424 !important; border: 1.5px solid #D8DEE3; }
.mv-metier-more { margin-top: 6px; font-size: 12.5px; color: #667781; }
.mv-metier-more a { color: #0C6C3C; }
body.dark-mode .mv-metiers { background: #0B1A12; border-color: #222D34; }
body.dark-mode .mv-metiers-field { background: #13231A; color: #8696A0; }
body.dark-mode .mv-metiers-field input, body.dark-mode .mv-metier-name { color: #E9EDEF; }
body.dark-mode .mv-metiers-opts select, body.dark-mode .mv-metiers-near:not(.on), body.dark-mode .mv-btn.route { background: #13231A; border-color: #2A3942; color: #E9EDEF !important; }
body.dark-mode .mv-metier-card { border-color: #222D34; }

/* ---------- Zone d'écriture qui s'agrandit (07/10/2026) ---------- */
.chat-input-flex textarea.mv-autogrow {
  flex: 1; min-width: 0; border: none; background: transparent; outline: 0;
  font-size: 16px !important; line-height: 1.35; color: var(--ink, #0B1A12);
  padding: 8px 4px; margin: 0; resize: none; overflow-y: hidden;
  min-height: 38px; max-height: 140px; height: 38px;
  font-family: inherit; white-space: pre-wrap; overflow-wrap: anywhere;
  -webkit-user-select: text; user-select: text;
}
.chat-input-flex:has(textarea.mv-autogrow) { align-items: flex-end; border-radius: 22px !important; }
body.dark-mode .chat-input-flex textarea.mv-autogrow { color: #E9EDEF; }

/* ---------- Recadrage de la photo de profil (07/10/2026) ---------- */
.mv-crop-back { position: fixed; inset: 0; z-index: 100001; background: rgba(0, 0, 0, .88); display: flex; align-items: center; justify-content: center; padding: 12px; }
.mv-crop-box { width: 100%; max-width: 440px; color: #fff; display: flex; flex-direction: column; gap: 10px; }
.mv-crop-head { display: flex; align-items: center; gap: 10px; }
.mv-crop-head strong { flex: 1; font-size: 18px; font-weight: 500; }
.mv-crop-head button { width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.mv-crop-stage { position: relative; width: 100%; aspect-ratio: 1 / 1; max-height: 70vh; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: 6px; }
.mv-crop-stage canvas { display: block; touch-action: none; cursor: grab; }
.mv-crop-ring { position: absolute; left: 50%; top: 50%; width: min(100%, 420px); aspect-ratio: 1 / 1; transform: translate(-50%, -50%); border-radius: 50%; box-shadow: 0 0 0 9999px rgba(0, 0, 0, .55); border: 2px solid rgba(255, 255, 255, .85); pointer-events: none; }
.mv-crop-hint { margin: 0; text-align: center; font-size: 13px; color: rgba(255, 255, 255, .75); }
.mv-crop-zoom { display: flex; align-items: center; gap: 10px; padding: 0 6px; color: rgba(255, 255, 255, .8); }
.mv-crop-zoom input { flex: 1; accent-color: #1E9E5A; }
.mv-crop-actions { display: flex; gap: 10px; }
.mv-crop-actions button { flex: 1; height: 48px; border-radius: 24px; border: 0; font-size: 16px; font-weight: 600; cursor: pointer; }
.mv-crop-cancel { background: rgba(255, 255, 255, .14); color: #fff; }
.mv-crop-ok { background: #1E9E5A; color: #06231D; }

/* ---------- Recherche → répertoire du téléphone (07/10/2026) ---------- */
.mv-cs-back { position: fixed; inset: 0; z-index: 100000; background: rgba(0, 0, 0, .45); display: flex; align-items: flex-end; justify-content: center; }
.mv-cs-box { width: 100%; max-width: 520px; background: #fff; border-radius: 18px 18px 0 0; padding: 20px 18px calc(18px + env(safe-area-inset-bottom)); display: flex; flex-direction: column; gap: 10px; }
.mv-cs-title { margin: 0; font-size: 18px; font-weight: 600; color: #0B1A12; }
.mv-cs-txt { margin: 0; font-size: 15px; color: #54656F; line-height: 1.4; }
.mv-cs-list { max-height: 50vh; overflow-y: auto; }
.mv-cs-btn { display: flex; align-items: center; justify-content: center; height: 48px; border-radius: 24px; border: 0; background: #1E9E5A; color: #fff !important; font-size: 16px; font-weight: 600; text-decoration: none !important; cursor: pointer; }
.mv-cs-btn.ghost { background: #F0F2F5; color: #0B1A12 !important; }
body.dark-mode .mv-cs-box { background: #0B1A12; }
body.dark-mode .mv-cs-title { color: #E9EDEF; }
body.dark-mode .mv-cs-btn.ghost { background: #13231A; color: #E9EDEF !important; }
#mv-cs-panel { margin: 4px 0 6px; }
#mv-cs-panel[hidden] { display: none; }
#mv-cs-panel .wa-action-row { padding: 10px 6px; }
.mv-cs-sec { margin: 10px 6px 4px; font-size: 13px; font-weight: 600; color: #0C6C3C; text-transform: none; }
.mv-cs-empty { margin: 6px; font-size: 13.5px; color: #667781; }

/* ---------- Indicateur « Recherche du GPS… » (07/10/2026) ---------- */
#mv-gps-hint { position: fixed; left: 50%; bottom: calc(110px + env(safe-area-inset-bottom)); transform: translate(-50%, 160%); z-index: 100000; padding: 9px 16px; border-radius: 20px; background: #0C5424; color: #fff; font-size: 14px; font-weight: 500; box-shadow: 0 4px 14px rgba(0, 0, 0, .25); transition: transform .25s ease; pointer-events: none; white-space: nowrap; }
#mv-gps-hint.show { transform: translate(-50%, 0); }

/* ---------- Métiers & Services v2 (08/10/2026) ---------- */
.mv-metiers-opts select:disabled { opacity: .55; }
.mv-metiers-toggles { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.mv-chip-t { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 18px; border: 1.5px solid #D8DEE3; background: #fff; color: #0C5424; font-weight: 600; font-size: 13.5px; cursor: pointer; }
.mv-chip-t.on { background: #0C6C3C; border-color: #0C6C3C; color: #fff; }
.mv-chip-t.busy { opacity: .6; }
.mv-metiers-more { display: block; width: 100%; margin-top: 10px; height: 44px; border-radius: 22px; border: 1.5px solid #D8DEE3; background: #fff; color: #0C6C3C; font-weight: 600; font-size: 15px; cursor: pointer; }
.mv-metiers-more[hidden] { display: none; }
.mv-metier-card { cursor: pointer; }
.mv-metier-sub { font-size: 13px; color: #54656F; margin-top: -1px; }
.mv-metier-badge { display: inline-flex; align-items: center; gap: 3px; }
.mv-metier-stars { display: inline-flex; align-items: center; gap: 1px; }
.mv-metier-stars svg, .mv-fiche-avis svg { width: 14px; height: 14px; }
.mv-fiche-back { position: fixed; inset: 0; z-index: 100000; background: rgba(0,0,0,.45); display: flex; align-items: flex-end; justify-content: center; }
.mv-fiche { position: relative; width: 100%; max-width: 560px; max-height: 92vh; overflow-y: auto; background: #fff; border-radius: 20px 20px 0 0; padding: 18px 18px calc(22px + env(safe-area-inset-bottom)); }
.mv-fiche-x { position: absolute; top: 10px; right: 10px; width: 38px; height: 38px; border-radius: 50%; border: 0; background: #F0F2F5; font-size: 16px; cursor: pointer; }
.mv-fiche-photo { width: 100%; height: 170px; border-radius: 14px; background: linear-gradient(135deg,#0C5424,#0C6C3C); display: flex; align-items: center; justify-content: center; color: #fff; overflow: hidden; margin-bottom: 12px; }
.mv-fiche-photo img { width: 100%; height: 100%; object-fit: cover; }
.mv-fiche-photo svg { width: 54px; height: 54px; opacity: .9; }
.mv-fiche-nom { margin: 0; font-size: 21px; font-weight: 600; color: #0B1A12; padding-right: 40px; }
.mv-fiche-badge { margin: 6px 0 8px; }
.mv-fiche-ligne { display: flex; align-items: center; gap: 6px; font-size: 15px; color: #0B1A12; margin: 4px 0; }
.mv-fiche-ligne.small { font-size: 13.5px; color: #54656F; }
.mv-fiche-desc { font-size: 14.5px; color: #3B4A54; line-height: 1.45; margin: 10px 0; }
.mv-fiche-services { margin: 6px 0 10px; padding-left: 18px; font-size: 14.5px; color: #0B1A12; }
.mv-fiche-prix { color: #0C6C3C; font-weight: 600; }
.mv-fiche-avis { margin-top: 16px; border-top: 1px solid #EEF1F3; padding-top: 12px; }
.mv-fiche-avis h4 { margin: 0 0 8px; font-size: 15.5px; display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.mv-avis { padding: 8px 0; border-bottom: 1px solid #F3F5F6; font-size: 14px; }
.mv-avis p { margin: 4px 0 0; color: #3B4A54; }
.mv-avis-form { margin-top: 10px; display: flex; flex-direction: column; gap: 8px; }
.mv-avis-stars { display: flex; gap: 4px; }
.mv-avis-stars button { border: 0; background: none; padding: 2px; cursor: pointer; }
.mv-avis-stars svg { width: 28px; height: 28px; }
.mv-avis-form textarea { width: 100%; border: 1.5px solid #D8DEE3; border-radius: 12px; padding: 10px; font-size: 15px; resize: vertical; box-sizing: border-box; }
.mv-avis-send { align-self: flex-start; border: 0; cursor: pointer; }
.mv-avis-msg { margin: 0; font-size: 13px; color: #0C6C3C; }
.mv-fiche-source { margin-top: 14px; font-size: 12px; color: #8696A0; }
.mv-home-metiers { display: flex; gap: 8px; margin: 10px 0 14px; }
.mv-home-metiers-main { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; border: 0; background: linear-gradient(135deg,#0C5424,#0C6C3C); color: #fff; text-align: left; cursor: pointer; box-shadow: 0 4px 14px rgba(12,84,36,.18); }
.mv-home-metiers-main .ic { width: 44px; height: 44px; border-radius: 12px; background: rgba(255,255,255,.16); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.mv-home-metiers-main .tx { display: flex; flex-direction: column; min-width: 0; }
.mv-home-metiers-main b { font-size: 16px; font-weight: 600; }
.mv-home-metiers-main small { font-size: 12.5px; opacity: .85; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mv-home-metiers-near { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 92px; flex-shrink: 0; border-radius: 16px; border: 1.5px solid #D8DEE3; background: #fff; color: #0C5424; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.mv-home-metiers-near svg { width: 20px; height: 20px; color: #0C6C3C; }
body.dark-mode .mv-fiche { background: #0B1A12; }
body.dark-mode .mv-fiche-nom, body.dark-mode .mv-fiche-ligne, body.dark-mode .mv-fiche-services { color: #E9EDEF; }
body.dark-mode .mv-chip-t:not(.on), body.dark-mode .mv-metiers-more, body.dark-mode .mv-home-metiers-near { background: #13231A; border-color: #2A3942; color: #E9EDEF; }

/* ---------- Admin : gestion des professionnels ---------- */
.mv-admin-pros .map-row { display: flex; gap: 8px; margin: 6px 0; align-items: center; flex-wrap: wrap; }
.mv-admin-pros .map-row > * { flex: 1; min-width: 0; }
.mv-admin-pros .map-file { display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.map-msg { font-size: 13px; margin: 6px 0; color: #54656F; }
.map-item { border: 1px solid #E3E8EC; border-radius: 12px; padding: 10px 12px; margin: 8px 0; background: #fff; }
.map-item.off { opacity: .6; }
.map-item-top { font-size: 15px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.map-item-sub { font-size: 13px; color: #54656F; margin-top: 2px; }
.map-item-sub.small { font-size: 12px; }
.map-st { font-size: 11.5px; font-weight: 600; padding: 2px 8px; border-radius: 10px; background: #FFF4D6; color: #8A5A00; }
.map-st.st-verifie { background: #E7F8F3; color: #0B5345; }
.map-st.st-ferme, .map-st.st-off { background: #F0F2F5; color: #54656F; }
.map-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.map-actions button, .map-link { border: 1px solid #D8DEE3; background: #fff; border-radius: 16px; padding: 5px 12px; font-size: 13px; cursor: pointer; color: #0C5424; }
.map-actions button.danger { color: #C5221F; border-color: #F3C3C0; }
.map-statut-form { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; font-size: 13.5px; }
.map-statut-form[hidden] { display: none; }
.map-report { border: 1px solid #D8DEE3; border-radius: 12px; padding: 10px 12px; margin: 8px 0; font-size: 13.5px; background: #F8FAFB; }
.map-report ul { margin: 6px 0; padding-left: 18px; max-height: 260px; overflow-y: auto; }
.map-report .small { font-size: 12.5px; color: #54656F; }

/* 08/10/2026 — bandeau « Invitez vos voisins » + filtre catégories Marketplace */
.mv-share-app{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 12px 4px;padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,#0F7B5F,#19C3A6);color:#fff;box-shadow:0 6px 18px rgba(15,123,95,.25)}
.mv-share-app .mv-share-txt{flex:1 1 180px;min-width:0;display:flex;flex-direction:column;gap:2px}
.mv-share-app .mv-share-txt b{font-size:15px;line-height:1.25}
.mv-share-app .mv-share-txt small{font-size:12px;opacity:.9}
.mv-share-app .mv-share-btns{display:flex;gap:8px;flex:0 0 auto}
.mv-share-app button{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:999px;padding:10px 14px;font-weight:800;font-size:13.5px;cursor:pointer;min-height:42px}
.mv-share-app .mv-share-wa{background:#fff;color:#128C4A}
.mv-share-app .mv-share-sms{background:rgba(255,255,255,.18);color:#fff;border:1.5px solid rgba(255,255,255,.7)}
.mv-market-filter{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 12px;margin-bottom:4px;scrollbar-width:none}
.mv-market-filter::-webkit-scrollbar{display:none}
.mv-market-filter button{flex:0 0 auto;border:1px solid var(--line,#E2E6EE);background:var(--surface,#fff);color:var(--ink,#1B2433);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.mv-market-filter button.active{background:var(--navy,#0C5424);color:#fff;border-color:transparent}

/* 08/10/2026 — section « Mes contacts en ligne » retirée de Discussions (demande) ;
   la présence reste visible par le point vert dans la liste des discussions */
#chat-online-now-list{display:none!important}
#mv-gps-hint.show{pointer-events:auto;cursor:pointer}

/* ---- Agents IA (administration) ---- */
.mv-admin-agents .mva-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.mv-admin-agents .mva-tabs button{border:1px solid var(--line,#dde2ea);background:transparent;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;color:inherit;cursor:pointer}
.mv-admin-agents .mva-tabs button.active{background:#0C5424;color:#fff;border-color:#0C5424}
.mv-admin-agents .mva-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.mv-admin-agents .mva-row>*{flex:1 1 140px}
.mv-admin-agents .mva-muted{font-size:12.5px;color:var(--muted,#6b7385);margin:0}
.mv-admin-agents .mva-ok{font-size:13.5px;color:#0F7B5F;margin:6px 0}
.mv-admin-agents .mva-msg{font-size:12.5px;margin:8px 0 0;min-height:1em}
.mv-admin-agents .mva-item{border:1px solid var(--line,#dde2ea);border-left:4px solid #F5B400;border-radius:10px;padding:10px;margin:8px 0}
.mv-admin-agents .mva-item.g3{border-left-color:#C5221F}
.mv-admin-agents .mva-item.g1{border-left-color:#8A94A6}
.mv-admin-agents .mva-head{display:flex;justify-content:space-between;gap:8px;font-size:13px}
.mv-admin-agents .mva-head span{color:var(--muted,#6b7385);font-size:12px}
.mv-admin-agents .mva-tags{display:flex;gap:4px;flex-wrap:wrap;margin:6px 0}
.mv-admin-agents .mva-tags span{font-size:11px;background:#FDECEA;color:#A31515;border-radius:999px;padding:2px 8px}
.mv-admin-agents .mva-tags span.auto{background:#E8F0FE;color:#1A4FA0}
.mv-admin-agents .mva-txt{font-size:13.5px;margin:4px 0;white-space:pre-wrap;word-break:break-word}
.mv-admin-agents .mva-ia{font-size:12.5px;background:#F2F6FA;border-radius:8px;padding:6px 8px;margin:6px 0 0}
.mv-admin-agents .mva-danger{background:#C5221F!important;border-color:#C5221F!important}
.mv-admin-agents .mva-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.mv-admin-agents .mva-stats div{background:#F2F6FA;border-radius:10px;padding:8px 4px;text-align:center}
.mv-admin-agents .mva-stats b{display:block;font-size:16px}
.mv-admin-agents .mva-stats small{font-size:11px;color:var(--muted,#6b7385)}
.mv-admin-agents .mva-table div{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:5px 2px;border-bottom:1px solid var(--line,#eef0f4)}
@media (prefers-color-scheme:dark){.mv-admin-agents .mva-stats div,.mv-admin-agents .mva-ia{background:rgba(255,255,255,.06)}}

/* ---- À la une (accueil) ---- */
.mv-alaune{margin:12px 12px 4px;padding:12px;border-radius:16px;background:var(--card,#fff);border:1px solid var(--line,#e3e6ee)}
.mv-alaune[hidden]{display:none}
.mv-alaune .mva1-head h2{font-size:17px;margin:0 0 8px}
.mv-alaune .mva1-block{margin-top:10px}
.mv-alaune h3{font-size:14px;margin:0 0 6px;display:flex;align-items:center;gap:6px}
.mv-alaune .mva1-badge{font-size:10.5px;font-weight:700;background:#E6F4EA;color:#0F7B5F;border-radius:999px;padding:2px 7px}
.mv-alaune .mva1-info{border:1px solid var(--line,#e3e6ee);border-radius:12px;margin:6px 0;overflow:hidden}
.mv-alaune .mva1-info-top{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;background:none;border:0;padding:9px 10px;color:inherit;cursor:pointer;font:inherit}
.mv-alaune .mva1-ico{font-size:20px;line-height:1.2}
.mv-alaune .mva1-info-t b{display:block;font-size:13.5px;line-height:1.3}
.mv-alaune .mva1-info-t small{display:block;font-size:11.5px;color:var(--muted,#6b7385);margin-top:2px}
.mv-alaune .mva1-info-body{padding:0 12px 10px 40px;font-size:13px;line-height:1.45}
.mv-alaune .mva1-info-body p{margin:0 0 6px}
.mv-alaune .mva1-info-body a{font-weight:700;color:#0B6BCB;text-decoration:none}
.mv-alaune .mva1-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.mv-alaune .mva1-vid,.mv-alaune .mva1-ad{flex:0 0 128px;scroll-snap-align:start;background:none;border:0;padding:0;text-align:left;color:inherit;cursor:pointer;font:inherit}
.mv-alaune .mva1-thumb{position:relative;display:block;width:128px;border-radius:12px;background:#dfe5ee center/cover no-repeat}
.mv-alaune .mva1-vid .mva1-thumb{height:170px}
.mv-alaune .mva1-ad .mva1-thumb{height:110px}
.mv-alaune .mva1-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px}
.mv-alaune .mva1-boost{position:absolute;left:6px;top:6px;background:#F5B400;color:#1b2433;font-size:10px;font-weight:700;border-radius:999px;padding:2px 6px}
.mv-alaune .mva1-cap{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;font-weight:600;margin-top:5px;line-height:1.25}
.mv-alaune .mva1-vid small,.mv-alaune .mva1-ad small{display:block;font-size:11.5px;color:var(--muted,#6b7385);margin-top:2px}
.mva1-flash{outline:3px solid #F5B400;outline-offset:2px;transition:outline .3s}
@media (prefers-color-scheme:dark){.mv-alaune .mva1-thumb{background-color:#2a3342}.mv-alaune .mva1-badge{background:rgba(15,123,95,.25);color:#7fd8b5}}
.mv-admin-agents .mva-inf-t,.mv-admin-agents .mva-inf-r{width:100%;box-sizing:border-box;margin:6px 0 2px;font-size:13px}
.mv-admin-agents .mva-danger-o{color:#C5221F!important;border-color:#C5221F!important}

/* =====================================================================
   Accueil compact & moderne (09/10/2026) : Partenaires, Espace
   Institutionnel et zone « Publier » réduits au minimum.
   ===================================================================== */
/* --- Partenaires : en-tête masqué tant qu'il n'y a pas de partenaire --- */
body .mvx-partners{gap:8px;margin:12px 16px 0}
body .mvx-partners:has(#home-sponsors-strip[hidden]) .mvx-head{display:none}
body .mvx-partners .mvx-head .mvx-eyebrow{display:none}
body .mvx-partners .mvx-title{font-size:15px;font-family:'Work Sans',sans-serif;font-weight:700}
/* --- « Votre entreprise ici » : une seule ligne --- */
body .mvx-pcard{flex-wrap:nowrap;gap:10px;padding:8px 8px 8px 10px;border-radius:14px;border:1px solid rgba(247,201,72,.45);
  background:linear-gradient(90deg,rgba(247,201,72,.16),rgba(25,195,166,.08))}
body .mvx-pcard-ic{width:30px;height:30px;border-radius:10px}
body .mvx-pcard-ic svg{width:16px;height:16px}
body .mvx-pcard-txt{flex:1 1 auto}
body .mvx-pcard-txt b{font-size:13.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body .mvx-pcard-txt small{display:none}
body .mvx-pcard-go{min-height:32px;padding:0 12px;border-radius:999px;font-size:12px;box-shadow:0 2px 8px rgba(201,138,0,.25)}
/* --- Espace Institutionnel : rangée fine --- */
body .official-content-row{margin:10px 16px 0}
body .mvx-inst{gap:10px;padding:9px 10px 9px 9px;border-radius:16px;box-shadow:0 4px 14px rgba(12,84,36,.18)}
body .mvx-inst-ic{width:36px;height:36px;border-radius:11px;background:rgba(25,195,166,.22);color:#8BEBD9}
body .mvx-inst-ic svg{width:19px;height:19px}
body .mvx-inst-txt b{font-size:14px;line-height:1.2}
body .mvx-inst-txt small{font-size:11.5px;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body .mvx-pills{display:none}
body .mvx-chev{width:28px;height:28px}
body .mvx-chev svg{width:14px;height:14px}
/* --- Publier : tout sur une ligne (avatar · champ · 3 icônes) --- */
body .publish-section{margin:10px 16px 0}
body .mvx-comp{flex-direction:row;align-items:center;gap:6px;padding:7px;border-radius:999px;box-shadow:0 3px 12px rgba(12,84,36,.07)}
body .mvx-comp-row{flex:1 1 auto;min-width:0;gap:8px}
body .mvx-av{width:34px;height:34px;font-size:13px}
body .mvx-inp{height:36px;padding:0 12px;font-size:13.5px;border:0;background:var(--surface,#F3F7F9)}
body .mvx-chips{flex:0 0 auto;flex-wrap:nowrap;gap:4px}
body .mvx-chip{width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;justify-content:center;font-size:0;gap:0;border:0;background:var(--surface,#F3F7F9);transition:transform .15s}
body .mvx-chip svg{width:18px;height:18px}
body .mvx-chip:active{transform:scale(.92)}
body .mvx-pub{display:none}
@media (max-width:340px){body .mvx-chip:nth-child(3){display:none}}
body .official-content-row{display:block}
body .mvx-inst{width:100%;max-width:100%;box-sizing:border-box;min-width:0}
body .mvx-inst-txt{overflow:hidden}
body .mvx-pcard{box-sizing:border-box;max-width:100%}
body .mvx-pcard-txt{min-width:0}
body .mvx-pcard-txt b{font-size:13px}
body .mvx-pcard-go{padding:0 10px;font-size:11.5px}
body .mvx-chip{width:32px;height:32px;min-height:32px}
body .mvx-chip svg{width:17px;height:17px}
body .mvx-chips{gap:3px}
body .mvx-inp{padding:0 10px;text-overflow:ellipsis}

/* ---- Publicité Ma Ville par défaut, au nom de la ville / commune ---- */
.mv-defad{position:absolute;inset:0;container-type:inline-size;overflow:hidden;color:#fff;font-family:'Work Sans',-apple-system,sans-serif;
  background:radial-gradient(120% 90% at 85% 110%,rgba(25,195,166,.35),transparent 60%),linear-gradient(170deg,#0B3F5E 0%,#0D6470 58%,#11907F 100%)}
.mv-defad-logo{position:absolute;left:5%;top:8%;width:9.2cqw!important;height:9.2cqw!important;object-fit:contain!important;border-radius:2.2cqw;background:#fff;padding:.5cqw;box-sizing:border-box;transform:none!important}
.mv-defad-brand{position:absolute;left:16.5%;top:11.5%;font-size:4.3cqw;font-weight:800;letter-spacing:-.02em;line-height:1}
.mv-defad-copy{position:absolute;left:5%;top:34%;width:62%;display:flex;flex-direction:column;align-items:flex-start}
.mv-defad-h1,.mv-defad-h2{display:block;font-weight:800;line-height:1.12;letter-spacing:-.02em;white-space:nowrap}
.mv-defad-h1{color:#F7C948}
.mv-defad-sub{font-size:2.35cqw;color:#D7EEF0;margin-top:1.6cqw;white-space:nowrap}
.mv-defad-pill{margin-top:2cqw;background:#fff;color:#0C5424;font-weight:800;font-size:3cqw;padding:.9cqw 2.4cqw;border-radius:999px;white-space:nowrap;box-shadow:0 .6cqw 1.8cqw rgba(0,0,0,.18)}
.mv-defad-phone{position:absolute;left:68.17%;top:9.55%;width:27.83%;bottom:0}
.mv-defad-phone img{width:100%!important;height:auto!important;object-fit:fill!important;display:block;transform:none!important}
.mv-defad-pcity{position:absolute;left:20.4%;top:6.1%;width:36%;height:4.4%;background:rgb(10,59,92);display:flex;align-items:center;font-family:Fraunces,Georgia,serif;font-weight:700;font-size:1.55cqw;color:#fff;white-space:nowrap;overflow:hidden}
.mv-defad-pcity i{font-style:normal;font-size:1.2cqw;margin-left:.4cqw;opacity:.9}
#mayor-big-card + .mv-alaune{margin:14px 16px 4px}

/* ---- Modifier sa publication ---- */
.mv-pe-btn{cursor:pointer;font-weight:600;color:var(--lagune-eclat-dark,#0D8F86)}
.mv-pe-overlay{position:fixed;inset:0;z-index:10050;background:rgba(8,20,32,.55);display:none;align-items:flex-end;justify-content:center;padding:0}
.mv-pe-overlay.show{display:flex}
.mv-pe-box{width:100%;max-width:560px;background:var(--paper-card,#fff);color:var(--ink,#1b2433);border-radius:20px 20px 0 0;padding:18px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px rgba(0,0,0,.2)}
.mv-pe-box h3{margin:0 0 10px;font-size:17px}
.mv-pe-box textarea{width:100%;box-sizing:border-box;font-size:15px;line-height:1.45;resize:vertical}
.mv-pe-hint{font-size:12px;color:var(--muted,#6b7385);margin:6px 0 0}
.mv-pe-msg{font-size:12.5px;color:#C5221F;margin:6px 0 0;min-height:1em}
.mv-pe-row{display:flex;gap:8px;margin-top:10px}
.mv-pe-row>*{flex:1}
@media (min-width:600px){.mv-pe-overlay{align-items:center}.mv-pe-box{border-radius:20px}}

/* ---- 2e affiche Ma Ville par défaut ---- */
.mv-defad2{position:absolute;inset:0;container-type:inline-size;overflow:hidden;color:#fff;font-family:'Work Sans',-apple-system,sans-serif;
  background:radial-gradient(70% 90% at 92% 8%,rgba(25,195,166,.38),transparent 60%),radial-gradient(50% 70% at 0% 100%,rgba(247,201,72,.16),transparent 65%),linear-gradient(160deg,#0A2740 0%,#0C5424 60%,#0C4A66 100%)}
.mv-defad2::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) .18cqw,transparent .2cqw);background-size:2.6cqw 2.6cqw;pointer-events:none}
.mv-d2-top{position:absolute;left:4.5%;top:7%;display:flex;align-items:center;gap:1.2cqw}
.mv-d2-top img{width:5.4cqw!important;height:5.4cqw!important;object-fit:contain!important;background:#fff;border-radius:1.4cqw;padding:.35cqw;box-sizing:border-box;transform:none!important}
.mv-d2-top b{font-size:2.9cqw;font-weight:800;letter-spacing:-.02em}
.mv-d2-top span{font-size:1.7cqw;font-weight:700;background:rgba(247,201,72,.18);color:#F7C948;border:1px solid rgba(247,201,72,.45);border-radius:999px;padding:.4cqw 1.3cqw;white-space:nowrap}
.mv-d2-h{position:absolute;left:4.5%;top:24%;width:62%;line-height:1.05}
.mv-d2-h b{display:block;font-weight:800;letter-spacing:-.03em;white-space:nowrap}
.mv-d2-h em{display:block;font-style:normal;font-weight:800;font-size:4.1cqw;letter-spacing:-.02em;color:#4FE0C6;white-space:nowrap}
.mv-d2-grid{position:absolute;left:4.5%;top:56%;width:62%;display:grid;grid-template-columns:repeat(3,1fr);gap:1.1cqw}
.mv-d2-grid span{display:flex;align-items:center;gap:.7cqw;font-size:1.55cqw;font-weight:600;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:1.2cqw;padding:1cqw 1cqw;white-space:nowrap;overflow:hidden}
.mv-d2-grid i{font-style:normal;font-size:2cqw}
.mv-d2-card{position:absolute;right:4.5%;top:13%;width:24%;background:#fff;color:#0C5424;border-radius:2.4cqw;padding:2cqw 1.6cqw 1.8cqw;display:flex;flex-direction:column;align-items:center;box-shadow:0 1.6cqw 4cqw rgba(0,0,0,.35);transform:rotate(2deg)}
.mv-d2-card img{width:15cqw!important;height:15cqw!important;object-fit:contain!important;transform:none!important}
.mv-d2-card small{font-size:1.45cqw;color:#5d6b7a;margin-top:.8cqw}
.mv-d2-card b{font-size:2.7cqw;font-weight:800;letter-spacing:-.02em}
.mv-d2-card span{margin-top:.8cqw;font-size:1.45cqw;font-weight:800;background:#19C3A6;color:#06231D;border-radius:999px;padding:.4cqw 1.4cqw}
.mv-d2-flag{position:absolute;left:0;right:0;bottom:0;height:1.1cqw;display:flex}
.mv-d2-flag i{flex:1}
.mv-d2-flag i:nth-child(1){background:#F77F00}.mv-d2-flag i:nth-child(2){background:#fff}.mv-d2-flag i:nth-child(3){background:#009E60}
.mv-d2-h{top:21%}
.mv-d2-grid{top:46%;gap:.9cqw}
.mv-d2-grid span{padding:.8cqw 1cqw}

/* ---- Rappel « Activez les notifications » ---- */
.mv-push-reminder{margin:10px 16px 0;padding:10px 12px;border-radius:14px;display:flex;gap:10px;align-items:center;
  background:linear-gradient(90deg,rgba(25,195,166,.14),rgba(12,84,36,.06));border:1px solid rgba(25,195,166,.45)}
.mv-push-reminder[data-s="denied"]{background:rgba(197,34,31,.07);border-color:rgba(197,34,31,.35)}
.mv-pr-t{flex:1;min-width:0}
.mv-pr-t b{display:block;font-size:13.5px;line-height:1.25}
.mv-pr-t small{display:block;font-size:12px;color:var(--muted,#5d6b7a);margin-top:2px;line-height:1.35}
.mv-pr-t small b{display:inline;font-size:inherit}
.mv-pr-b{display:flex;flex-direction:column;gap:6px;flex-shrink:0}
.mv-pr-b button{border:0;border-radius:999px;font:700 12.5px 'Work Sans',sans-serif;padding:8px 14px;cursor:pointer}
.mv-pr-on{background:#19C3A6;color:#06231D}
.mv-pr-later{background:transparent;color:var(--muted,#5d6b7a)}

/* ---- Discussions : séparateurs de date à leur place + une seule date flottante ---- */
.chat-date-separator{position:static!important;top:auto!important}
.mv-date-float{position:fixed;z-index:10040;transform:translate(-50%,-6px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.mv-date-float.show{opacity:1;transform:translate(-50%,0)}
.mv-date-float span{display:inline-block;background:rgba(255,255,255,.96);color:#33414f;font:700 12px 'Work Sans',sans-serif;padding:5px 12px;border-radius:999px;box-shadow:0 1px 6px rgba(0,0,0,.16)}
body.dark-mode .mv-date-float span{background:rgba(32,44,51,.96);color:#e3e9ee}

/* Application Android (Google Play) : pas d'offre payante -> le cadre « Votre entreprise ici » est masqué entièrement (10/10/2026) */
.mv-play-build #mvx-partner-cta{display:none!important}

/* ---- Menu « Rubriques » : icônes plus petites, 4 colonnes, finition (10/10/2026) ---- */
#mv-sheet .mv-sheet{padding:6px 14px max(16px,env(safe-area-inset-bottom,0px))}
#mv-sheet .mv-sheet-head{margin:0 2px 8px}
#mv-sheet .mv-sheet-head h3{font-family:'Work Sans',sans-serif;font-weight:800;font-size:18px;letter-spacing:-.2px}
#mv-sheet .mv-sheet-x{width:34px;height:34px}
#mv-sheet .mv-sheet-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 4px;padding:14px 6px 10px;border-radius:20px;background:var(--mvp-soft,#f3f6f9);scrollbar-width:none}
#mv-sheet .mv-sheet-grid::-webkit-scrollbar{display:none}
#mv-sheet .mv-sheet-grid .mv-sheet-tile-grid{gap:6px;padding:4px 0;border-radius:14px;transition:background .15s,transform .1s}
#mv-sheet .mv-sheet-grid .mv-sheet-tile-grid:active{background:rgba(12,84,36,.07);transform:scale(.94)}
#mv-sheet .mv-sheet-grid .mv-app-ic{box-shadow:0 4px 10px -6px var(--b),inset 0 1px 0 rgba(255,255,255,.3)}
#mv-sheet .mv-sheet-grid .mv-sheet-txt{width:100%}
#mv-sheet .mv-sheet-grid .mv-sheet-txt b{font-size:11.5px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px}
@media (max-width:330px){#mv-sheet .mv-sheet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ad-carousel-wrap + .mv-alaune{margin:4px 0 16px}


/* =====================================================================
   La Lucarne « plein écran » (10/10/2026) — voir lucarne-tiktok.js
   ===================================================================== */
#tab-lucarne.mv-luc-tt.panel.active{bottom:var(--mvl-nav,86px)}
#tab-lucarne.mv-luc-tt .lucarne-header,#tab-lucarne.mv-luc-tt .lucarne-feed-mode-tabs,
#tab-lucarne.mv-luc-tt .lucarne-fab-live,#tab-lucarne.mv-luc-tt .lucarne-fab-capture,#tab-lucarne.mv-luc-tt .lucarne-fab-camera,
#tab-lucarne.mv-luc-tt .lucarne-views-badge{display:none!important}
#tab-lucarne.mv-luc-tt .lucarne-search-bar{display:none;position:absolute;top:58px;left:0;right:0;z-index:7;background:transparent;padding:6px 12px}
#tab-lucarne.mv-luc-tt.mvl-search-open .lucarne-search-bar{display:flex}
#tab-lucarne.mv-luc-tt .lucarne-search-bar input{background:rgba(0,0,0,.55);border-color:rgba(255,255,255,.25);backdrop-filter:blur(6px)}
#mv-luc-top{position:absolute;top:0;left:0;right:0;z-index:8;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top,0px)) 12px 18px;
  background:linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,0));pointer-events:none}
#mv-luc-top>*{pointer-events:auto}
#mv-luc-top button{background:none;border:0;color:#fff;cursor:pointer;font-family:'Work Sans',sans-serif}
.mvl-live span{display:inline-block;font-weight:900;font-size:11px;letter-spacing:.5px;border:2px solid #fff;border-radius:8px;padding:3px 5px;line-height:1}
.mvl-tabs{display:flex;gap:18px;align-items:center}
.mvl-tabs button{font-size:16.5px;font-weight:700;color:rgba(255,255,255,.65)!important;padding:6px 0;position:relative;text-shadow:0 1px 3px rgba(0,0,0,.45)}
.mvl-tabs button.on{color:#fff!important}
.mvl-tabs button.on::after{content:"";position:absolute;left:50%;bottom:-2px;width:26px;height:3px;border-radius:2px;background:#fff;transform:translateX(-50%)}
.mvl-right{display:flex;gap:6px}
.mvl-ic{width:38px;height:38px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.mvl-menu{position:absolute;top:calc(56px + env(safe-area-inset-top,0px));right:10px;min-width:210px;background:#fff;border-radius:16px;padding:6px;box-shadow:0 12px 34px rgba(0,0,0,.4)}
.mvl-menu[hidden]{display:none}
.mvl-menu button{display:block;width:100%;text-align:left;color:#1b2433!important;font-size:14.5px;font-weight:600;padding:11px 12px;border-radius:10px}
.mvl-menu button:active{background:#f1f4f7}
.mvl-menu button[hidden]{display:none}
.mvl-menu hr{border:0;border-top:1px solid #e7ebf0;margin:4px 6px}
/* bouton son sous la barre du haut */
#tab-lucarne.mv-luc-tt .lucarne-mute-btn{top:calc(64px + env(safe-area-inset-top,0px));right:12px;width:32px;height:32px;font-size:13px}
/* colonne de droite */
#tab-lucarne.mv-luc-tt .lucarne-actions{right:8px;bottom:16px;gap:14px;z-index:4}
#tab-lucarne.mv-luc-tt .lucarne-overlay{right:76px;padding:14px 14px 16px;background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,0))}
.mvl-who{position:relative;width:50px;height:58px;margin-bottom:2px}
.mvl-who img,.mvl-who .mvl-noav{width:50px;height:50px;border-radius:50%;border:2px solid #fff;object-fit:cover;background:#333;display:flex;align-items:center;justify-content:center;font-size:22px}
.mvl-who .mvl-follow{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:22px;height:22px;border-radius:50%;padding:0;border:0;background:#FE2C55;color:#fff;font-size:0;cursor:pointer}
.mvl-who .mvl-follow::before{content:"+";font-size:17px;font-weight:800;line-height:22px}
.mvl-who .mvl-follow.following{background:#fff}
.mvl-who .mvl-follow.following::before{content:"✓";color:#FE2C55;font-size:13px}
#tab-lucarne.mv-luc-tt .lucarne-action-btn{gap:3px}
#tab-lucarne.mv-luc-tt .lucarne-action-btn .lucarne-action-icon{font-size:0;width:36px;height:36px;display:block;background:#fff;-webkit-mask:var(--mvl-i) center/contain no-repeat;mask:var(--mvl-i) center/contain no-repeat;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));transition:transform .15s}
#tab-lucarne.mv-luc-tt .lucarne-action-btn[data-kind="like"]{--mvl-i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M12%2021s-7.5-4.6-9.6-9.2C.9%208.4%203%204.5%206.8%204.5c2.1%200%203.6%201.1%204.6%202.6.9-1.5%202.5-2.6%204.6-2.6%203.8%200%205.9%203.9%204.4%207.3C19.5%2016.4%2012%2021%2012%2021z%22/%3E%3C/svg%3E")}
#tab-lucarne.mv-luc-tt .lucarne-action-btn[data-kind="comment"]{--mvl-i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M12%203C6.5%203%202%206.8%202%2011.5c0%202.4%201.2%204.6%203.1%206.1L4.4%2021l4-1.9c1.1.3%202.3.5%203.6.5%205.5%200%2010-3.8%2010-8.5S17.5%203%2012%203zM7.5%2012.8a1.3%201.3%200%201%201%200-2.6%201.3%201.3%200%200%201%200%202.6zm4.5%200a1.3%201.3%200%201%201%200-2.6%201.3%201.3%200%200%201%200%202.6zm4.5%200a1.3%201.3%200%201%201%200-2.6%201.3%201.3%200%200%201%200%202.6z%22/%3E%3C/svg%3E")}
#tab-lucarne.mv-luc-tt .lucarne-action-btn[data-kind="share"]{--mvl-i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M13.5%203.5%2022%2011l-8.5%207.6v-4.3c-5.3%200-8.8%201.6-11.5%205.2%201-5.4%204.2-10.1%2011.5-11V3.5z%22/%3E%3C/svg%3E")}
#tab-lucarne.mv-luc-tt .lucarne-action-btn[data-kind="more"]{--mvl-i:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M5%2010a2%202%200%201%201%200%204%202%202%200%200%201%200-4zm7%200a2%202%200%201%201%200%204%202%202%200%200%201%200-4zm7%200a2%202%200%201%201%200%204%202%202%200%200%201%200-4z%22/%3E%3C/svg%3E")}
#tab-lucarne.mv-luc-tt .lucarne-action-btn[data-kind="like"].liked .lucarne-action-icon{background:#FE2C55;transform:scale(1.08)}
#tab-lucarne.mv-luc-tt .lucarne-action-count{font-size:0}
#tab-lucarne.mv-luc-tt .lucarne-action-count::after{content:attr(data-f);font-size:12.5px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.mvl-cap{font-size:12px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}
/* actions secondaires dans « ⋯ » */
.mvl-extra{position:absolute;right:66px;bottom:96px;z-index:6;display:none;flex-direction:column;gap:2px;background:rgba(20,20,20,.92);border-radius:14px;padding:6px}
.mv-luc-tt .lucarne-card.mvl-extra-open .mvl-extra{display:flex}
.mvl-extra .lucarne-action-btn{flex-direction:row!important;gap:10px!important;padding:9px 12px!important;border-radius:10px}
.mvl-extra .lucarne-action-icon{font-size:18px}
.mvl-extra .mvl-lbl{color:#fff;font-size:14px;font-weight:600}
/* disque */
.mvl-disc{width:44px;height:44px;border-radius:50%;margin-top:4px;background:radial-gradient(circle,#2b2b2b 38%,#111 40%,#222 70%,#111 72%);display:flex;align-items:center;justify-content:center;animation:mvl-spin 5s linear infinite}
.mvl-disc img{width:24px;height:24px;border-radius:50%;object-fit:cover}
@keyframes mvl-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.mvl-disc{animation:none}}
#tab-lucarne.mv-luc-tt .mvl-extra .lucarne-action-icon{font-size:18px!important;width:auto!important;height:auto!important;background:none!important;-webkit-mask:none!important;mask:none!important;filter:none!important}
#tab-lucarne.mv-luc-tt .lucarne-overlay{right:0!important;padding-right:84px!important}
#tab-lucarne.mv-luc-tt .lucarne-overlay .lucarne-avatar{display:none}
#tab-lucarne.mv-luc-tt .lucarne-author-name{font-size:16px;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.5)}
#tab-lucarne.mv-luc-tt .lucarne-caption{text-shadow:0 1px 3px rgba(0,0,0,.5)}

/* ===== Marketplace en grille de photos (10/10/2026) ===== */
#tab-marketplace.mvfb > div:not(#mvfb-head):first-of-type,
#tab-marketplace.mvfb > #mvfb-head + div{display:none!important}
#tab-marketplace.mvfb #mv-market-filter{display:none!important}
#tab-marketplace.mvfb.mvfb-cats-open #mv-market-filter{display:flex!important;margin:0 0 10px}
#mvfb-head{margin:-4px 0 8px}
#mvfb-head .mvfb-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
#mvfb-head h2{font-family:'Work Sans',-apple-system,sans-serif;font-size:26px;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin:0}
#mvfb-head .mvfb-ic{width:40px;height:40px;border-radius:50%;border:none;background:var(--surface,#F0F2F5);color:var(--ink);display:grid;place-items:center;padding:0}
#mvfb-head .mvfb-search{margin:0 0 10px}
#mvfb-head .mvfb-search input{width:100%;border:none;background:var(--surface,#F0F2F5);border-radius:22px;padding:11px 16px;font-size:15px;color:var(--ink);outline:none}
#mvfb-head .mvfb-pills{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
#mvfb-head .mvfb-pills::-webkit-scrollbar{display:none}
#mvfb-head .mvfb-pills button{flex:none;border:none;background:var(--surface,#F0F2F5);color:var(--ink);font-weight:700;font-size:14.5px;padding:8px 14px;border-radius:20px;white-space:nowrap}
#mvfb-head .mvfb-pills button.on{background:#E7F0FD;color:#1463D1}
#mvfb-head .mvfb-car{display:inline-block;margin-left:2px;transform:translateY(-2px)}
#mvfb-head .mvfb-sep{flex:none;width:1px;height:24px;background:var(--line)}
#mvfb-head .mvfb-city{flex:none;display:flex;align-items:center;gap:4px;color:#1463D1;font-size:14px;white-space:nowrap}
#mvfb-head .mvfb-city b{color:var(--ink);font-weight:700}
#mvfb-head .mvfb-sec{display:flex;align-items:baseline;justify-content:space-between;margin:16px 0 2px}
#mvfb-head .mvfb-sec b{font-size:19px;font-weight:800;color:var(--ink)}
#mvfb-head .mvfb-sec small{color:var(--muted);font-size:12.5px}
#tab-marketplace.mvfb #marketplace-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px 3px!important;margin:8px -16px 0!important}
#marketplace-grid .market-item-card[data-mvfb]{border:none!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;margin:0!important;overflow:visible!important;min-width:0}
#marketplace-grid .market-item-card[data-mvfb]::before,#marketplace-grid .market-item-card[data-mvfb]::after{display:none!important}
#marketplace-grid .market-item-card[data-mvfb] > :not(.mvfb-card){display:none!important}
#marketplace-grid .market-item-card.mvfb-hide{display:none!important}
.mvfb-card{display:block;width:100%;border:none;background:transparent;padding:0;text-align:left;color:var(--ink);min-width:0}
.mvfb-img{position:relative;display:block;width:100%;aspect-ratio:1/1;background:#E4E6EB center/cover no-repeat;overflow:hidden}
.mvfb-img > .mv-visual-market{position:absolute!important;inset:0;height:100%!important;width:100%!important;margin:0!important;border-radius:0!important}
.mvfb-badge{position:absolute;left:8px;top:8px;font-style:normal;font-size:11.5px;font-weight:700;background:rgba(255,255,255,.94);color:#1C1E21;padding:3px 8px;border-radius:6px}
.mvfb-cap{display:block;padding:6px 8px 0;font-size:14.5px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mvfb-cap b{font-weight:800}
#mvfb-sheet{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center}
#mvfb-sheet .mvfb-sheet-box{background:var(--paper,#fff);width:100%;max-width:560px;max-height:90vh;border-radius:18px 18px 0 0;display:flex;flex-direction:column;animation:mvfbUp .22s ease-out}
@keyframes mvfbUp{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
#mvfb-sheet .mvfb-sheet-bar{display:flex;align-items:center;justify-content:center;position:relative;padding:8px 0 4px}
#mvfb-sheet .mvfb-sheet-bar span{width:40px;height:4px;border-radius:2px;background:var(--line)}
#mvfb-sheet .mvfb-x{position:absolute;right:10px;top:6px;width:34px;height:34px;border-radius:50%;border:none;background:var(--surface,#F0F2F5);color:var(--ink);font-size:16px}
#mvfb-sheet .mvfb-sheet-body{overflow-y:auto;padding:6px 14px calc(18px + env(safe-area-inset-bottom))}
#mvfb-sheet .mvfb-full{border:none!important;box-shadow:none!important;margin:0!important}
#mvfb-sheet .mvfb-full img{max-width:100%}
#mvfb-sheet .mvfb-full::before,#mvfb-sheet .mvfb-full::after{display:none!important}

/* ===== Discussions façon messagerie moderne (10/10/2026) ===== */
/* Écran dédié : on range le bandeau du quartier, les catégories, la colonne de droite */
body.mv-chat-tab .pulse-hero, body.mv-chat-tab #mv-share-app, body.mv-chat-tab .tabs-bar,
body.mv-chat-tab .subtabs-bar, body.mv-chat-tab .sidebar-panel, body.mv-chat-tab .chat-fab{display:none!important}
body.mv-chat-tab .layout{display:block!important}
body.mv-chat-tab .main-panel{width:100%!important;max-width:none!important}
body.mv-chat-list{background:var(--wa-panel)!important}
body.mv-chat-list #tab-dating{background:var(--wa-panel)!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:6px 2px 90px!important;margin:0 -8px!important}
body.mv-chat-list #tab-dating::before,body.mv-chat-list #tab-dating::after{display:none!important}
body.mv-chat-list #tab-dating > .chat-subnav,body.mv-chat-list #rencontre-own-profile-card{display:none!important}
#mvd-head{display:flex;align-items:center;gap:4px;padding:6px 8px 10px 14px}
#mvd-head h2{flex:1;margin:0;font-family:'Work Sans',-apple-system,sans-serif;font-size:27px;font-weight:800;letter-spacing:-.02em;color:var(--wa-text)!important}
#mvd-head .mvd-ic{width:44px;height:44px;border:none;background:transparent;color:var(--wa-text);border-radius:50%;display:grid;place-items:center;padding:0}
#mvd-head .mvd-ic:active{background:var(--wa-search)}
#mvd-head .mvd-menu-wrap{position:relative}
#mvd-head .mvd-menu{position:absolute;right:4px;top:46px;z-index:60;min-width:230px;background:var(--wa-in);border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.28);padding:8px 0}
#mvd-head .mvd-menu[hidden]{display:none}
:is(#mvd-head .mvd-menu, #private-chat-options-menu.mvd-chat-menu) > button{display:block!important;width:100%!important;text-align:left!important;background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;margin:0!important;padding:13px 22px!important;font-size:16px!important;font-weight:400!important;color:var(--wa-text)!important;font-family:'Work Sans',-apple-system,sans-serif!important;line-height:1.3!important}
:is(#mvd-head .mvd-menu, #private-chat-options-menu.mvd-chat-menu) > button:active{background:var(--wa-search)!important}
#tab-dating .chat-search-wrap{background:var(--wa-search)!important;border-radius:24px!important;border:none!important}
#tab-dating .chat-search-wrap input{font-size:16px!important}
#tab-dating .wa-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 12px 6px}
#tab-dating .wa-chips::-webkit-scrollbar{display:none}
#tab-dating .wa-chip{flex:none;border:1px solid var(--wa-line)!important;background:transparent!important;color:var(--wa-meta)!important;font-size:15px!important;font-weight:600!important;padding:7px 15px!important;border-radius:20px!important}
#tab-dating .wa-chip.active{background:rgba(0,168,132,.16)!important;border-color:transparent!important;color:var(--wa-accent-dark)!important}
#tab-dating .chat-row{padding:11px 14px!important;border:none!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;margin:0!important;gap:14px!important}
#tab-dating .chat-row :is(.chat-row-avatar-img,.chat-row-avatar){width:54px!important;height:54px!important;min-width:54px}
#tab-dating .chat-row-name{font-size:17px!important;font-weight:600!important;color:var(--wa-text)!important}
#tab-dating .chat-row-time{font-size:12.5px!important;color:var(--wa-meta)!important}
#tab-dating .chat-row-unread .chat-row-time{color:var(--wa-unread,#1E9E5A)!important;font-weight:600}
#tab-dating .chat-row-preview{font-size:15px!important;color:var(--wa-meta)!important}
#tab-dating .chat-unread-badge{background:var(--wa-unread,#1E9E5A)!important;min-width:22px;height:22px;border-radius:11px;font-size:12px;font-weight:700}
/* Conversation : en-tête */
:is(#private-chat-modal,#group-chat-modal) #private-chat-user-name span{display:none!important}
#private-chat-modal .chat-header-actions{display:flex;align-items:center;gap:2px}
#private-chat-modal .chat-header-actions > button:nth-child(2){order:-1}
#private-chat-modal .chat-header-actions .chat-modal-options-btn{width:44px;height:44px;display:grid;place-items:center;background:transparent!important;border:none!important;font-size:22px}
#private-chat-modal .chat-header-actions .chat-modal-options-btn svg{width:23px;height:23px}
#private-chat-options-menu.mvd-chat-menu{background:var(--wa-in)!important;border:none!important;border-radius:12px!important;padding:8px 0!important;min-width:250px!important;box-shadow:0 8px 28px rgba(0,0,0,.3)!important;top:46px!important}
#private-chat-options-menu.mvd-chat-menu > .mvd-sub{display:none!important}
#private-chat-options-menu.mvd-chat-menu.mvd-sub-open > button{display:none!important}
#private-chat-options-menu.mvd-chat-menu.mvd-sub-open > .mvd-sub{display:block!important}
#private-chat-options-menu.mvd-chat-menu > .mvd-plus{display:flex!important;justify-content:space-between;border-top:1px solid var(--wa-line)!important;margin-top:4px!important}
#private-chat-options-menu.mvd-chat-menu > .mvd-plus span{font-size:20px;line-height:1;opacity:.8}
/* Conversation : barre d'écriture en pilule + micro à part */
.chat-input-flex.mvd-composer{display:flex!important;align-items:flex-end!important;gap:6px!important;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}
.mvd-composer .mvd-pill{flex:1;min-width:0;display:flex;align-items:flex-end;gap:2px;background:var(--wa-input);border-radius:26px;padding:3px 6px;min-height:50px;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.mvd-composer .mvd-pill textarea{flex:1;min-width:0;background:transparent!important;border:none!important;box-shadow:none!important;font-size:17px!important;padding:12px 4px!important;color:var(--wa-text)!important;outline:none}
.mvd-composer .mvd-pill .chat-input-icon-btn{width:42px;height:44px;flex:none;display:grid!important;place-items:center;background:transparent!important;border:none!important;color:var(--wa-meta)!important;font-size:22px}
.mvd-composer .mvd-pill .chat-input-icon-btn svg{width:23px;height:23px}
html body .chat-input-flex.mvd-composer > .chat-send-btn{flex:none;width:50px!important;height:50px!important;min-width:50px;border-radius:50%!important;background:var(--wa-accent,#00A884)!important;color:#fff!important;display:grid!important;place-items:center;border:none!important;box-shadow:0 1px 3px rgba(0,0,0,.2)}
html body.dark-mode .chat-input-flex.mvd-composer > .chat-send-btn{background:#21C063!important;color:#0B1A12!important}
.mvd-composer > .chat-send-btn svg{width:24px;height:24px}
:is(#private-chat-modal,#group-chat-modal) .chat-screen-composer{background:transparent!important;border:none!important;box-shadow:none!important}
/* Pièces jointes : grille d'icônes */
.chat-attach-popover.mvd-attach.open{display:grid!important;grid-template-columns:repeat(4,1fr);gap:18px 6px;padding:22px 10px 18px!important;background:var(--wa-in)!important;border:none!important;border-radius:22px!important;box-shadow:0 -4px 30px rgba(0,0,0,.25)!important;left:6px!important;right:6px!important;width:auto!important;max-width:none!important}
.mvd-attach .chat-attach-option{display:flex!important;flex-direction:column!important;align-items:center!important;gap:8px!important;background:transparent!important;border:none!important;padding:0!important;font-size:14px!important;color:var(--wa-meta)!important;text-align:center;box-shadow:none!important}
.mvd-attach .chat-attach-option .chat-icon-svg{width:60px!important;height:60px!important;border-radius:18px!important;display:grid!important;place-items:center;border:1px solid var(--wa-line);background:transparent!important}
.mvd-attach .chat-attach-option .chat-icon-svg svg{width:27px;height:27px;stroke-width:2.1}
.mvd-attach [data-k=photo]{order:1}.mvd-attach [data-k=camera]{order:2}.mvd-attach [data-k=loc]{order:3}.mvd-attach [data-k=video]{order:4}.mvd-attach [data-k=file]{order:5}
.mvd-attach [data-k=photo] .chat-icon-svg{color:#1DA1F2}
.mvd-attach [data-k=camera] .chat-icon-svg{color:#FF2E74}
.mvd-attach [data-k=loc] .chat-icon-svg{color:#1DAA61}
.mvd-attach [data-k=video] .chat-icon-svg{color:#FF7A1A}
.mvd-attach [data-k=file] .chat-icon-svg{color:#7F66FF}

/* ===== Connexion avec Google (10/10/2026) ===== */
.mvg-box{margin:4px 0 6px}
.mvg-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;border-radius:16px;border:1.5px solid #DADCE0;background:#fff;color:#1F1F1F;font-size:16.5px;font-weight:700;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.mvg-btn:active{background:#F1F3F4}
.mvg-btn[disabled]{opacity:.7}
.mvg-or{display:flex;align-items:center;gap:10px;margin:16px 0 4px;color:var(--muted,#667085);font-size:13px}
.mvg-or::before,.mvg-or::after{content:"";flex:1;height:1px;background:rgba(12,84,36,.15)}
.mvg-pending{display:flex;gap:12px;align-items:flex-start;text-align:left;background:#E8F0FE;border-radius:14px;padding:12px 14px;margin:4px 0 12px;color:#174EA6}
.mvg-pending svg{flex:none;margin-top:2px}
.mvg-pending b{display:block;font-size:14.5px;word-break:break-all}
.mvg-pending small{display:block;font-size:13px;line-height:1.4;color:#3C4043;margin-top:2px}

/* ===== Identité Ma Ville : détails propres à l'appli (10/10/2026) =====
   Couleurs lagune / safran / orange du drapeau, formes arrondies « carré doux »,
   libellés à nous : la présentation reste familière sans copier les autres applis. */
/* --- Lucarne --- */
.mvl-live span{display:inline-flex!important;align-items:center;gap:5px;border:0!important;background:rgba(220,38,38,.92);border-radius:999px!important;padding:5px 10px!important;font-size:12px!important;letter-spacing:.2px!important;font-weight:800!important}
.mvl-live span i{width:7px;height:7px;border-radius:50%;background:#fff;animation:mvlDot 1.4s ease-in-out infinite}
@keyframes mvlDot{50%{opacity:.35}}
.mvl-tabs button.on::after{width:18px!important;height:4px!important;background:#FFC22E!important;bottom:-3px!important}
.mvl-who img,.mvl-who .mvl-noav{border-radius:16px!important;border-color:#FFC22E!important}
.mvl-who .mvl-follow{border-radius:7px!important;background:#1E9E5A!important}
.mvl-who .mvl-follow.following::before{color:#0D8F86!important}
#tab-lucarne.mv-luc-tt .lucarne-action-btn[data-kind="like"].liked .lucarne-action-icon{background:#F77F00!important}
.mvl-disc{border-radius:13px!important;background:linear-gradient(135deg,#F77F00 0 33%,#fff 33% 66%,#009E60 66%)!important;padding:3px;animation:mvlFloat 3.2s ease-in-out infinite!important}
.mvl-disc img{width:100%!important;height:100%!important;border-radius:10px!important}
@keyframes mvlFloat{50%{transform:translateY(-4px)}}
/* --- Marketplace --- */
#mvfb-head .mvfb-pills button.on{background:#DDF5F2!important;color:#0B7A72!important}
#mvfb-head .mvfb-city{color:#0D8F86!important}
#mvfb-head .mvfb-sec b::before{content:"";display:inline-block;width:6px;height:18px;border-radius:3px;background:#FFC22E;margin-right:8px;vertical-align:-2px}
#tab-marketplace.mvfb #marketplace-grid{gap:16px 10px!important;margin:10px 0 0!important}
.mvfb-img{border-radius:14px}
.mvfb-cap{padding:7px 2px 0!important;white-space:normal!important}
.mvfb-cap b{display:block;color:#0B7A72;font-size:15.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mvfb-cap > span{display:block;color:var(--muted,#4A5A52);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mvfb-badge{background:#FFC22E!important;color:#3B2A00!important;border-radius:999px!important}
/* --- Discussions --- */
html body{--wa-accent:#0D8F86;--wa-accent-dark:#0B7A72;--wa-unread:#1E9E5A;--wa-out:#D6F2EE}
html body.dark-mode{--wa-accent:#1E9E5A;--wa-accent-dark:#3FD3C6;--wa-unread:#1E9E5A;--wa-out:#0F4A55}
#mvd-head h2{display:flex;flex-direction:column;line-height:1.05}
#mvd-head h2 small{font-size:12.5px;font-weight:600;letter-spacing:0;color:var(--wa-meta);margin-top:3px}
#mvd-head h2 small:empty{display:none}
#tab-dating .chat-row :is(.chat-row-avatar-img,.chat-row-avatar){border-radius:17px!important}
#tab-dating .chat-unread-badge{color:#fff!important;border-radius:8px!important}
#tab-dating .wa-chip.active{background:#DDF5F2!important;color:#0B7A72!important}
body.dark-mode #tab-dating .wa-chip.active{background:rgba(30,158,90,.2)!important;color:#5FE0D4!important}
#wa-new-chat-fab{background:linear-gradient(135deg,#1E9E5A,#0C5424)!important;border-radius:18px!important;color:#fff!important}
html body :is(#private-chat-modal,#group-chat-modal) .chat-input-flex.mvd-composer > .chat-send-btn:not(.recording){background:linear-gradient(135deg,#1E9E5A,#0C5424)!important;color:#fff!important;border-radius:17px!important}
html body :is(#private-chat-modal,#group-chat-modal) .chat-input-flex.mvd-composer > .chat-send-btn{border-radius:17px!important}
.mvd-attach .chat-attach-option .chat-icon-svg{border:0!important;border-radius:20px!important}
.mvd-attach [data-k=photo] .chat-icon-svg{background:rgba(29,161,242,.14)!important}
.mvd-attach [data-k=camera] .chat-icon-svg{background:rgba(255,46,116,.13)!important}
.mvd-attach [data-k=loc] .chat-icon-svg{background:rgba(0,158,96,.14)!important;color:#009E60!important}
.mvd-attach [data-k=video] .chat-icon-svg{background:rgba(247,127,0,.14)!important;color:#F77F00!important}
.mvd-attach [data-k=file] .chat-icon-svg{background:rgba(127,102,255,.14)!important}

/* ===== Rencontre : annonces en liste (10/10/2026) ===== */
#rencontre-suggestions-grid.mvr-list{display:flex!important;flex-direction:column;gap:16px;grid-template-columns:none!important;padding-bottom:70px}
.mvr-card{position:relative;display:flex;min-height:190px;background:#EEF6FA;border:1px solid #D7E6EE;border-radius:18px;overflow:hidden;cursor:pointer;text-align:left;box-shadow:0 1px 3px rgba(12,84,36,.06);transition:transform .12s}
.mvr-card:active{transform:scale(.99)}
.mvr-card.mvr-own{border:2px solid #1E9E5A}
.mvr-photo{position:relative;flex:0 0 38%;max-width:170px;background:#D6E8F1 center/cover no-repeat;display:flex;align-items:center;justify-content:center}
.mvr-emoji{font-size:54px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.12))}
.mvr-count{position:absolute;left:8px;bottom:8px;display:inline-flex;align-items:center;gap:4px;background:rgba(12,84,36,.82);color:#fff;font-size:12.5px;font-weight:800;padding:4px 8px 4px 6px;border-radius:9px;backdrop-filter:blur(4px)}
.mvr-body{flex:1;min-width:0;padding:14px 14px 12px 14px;display:flex;flex-direction:column;gap:5px}
.mvr-body h4{margin:0;padding-right:70px;font-family:'Work Sans',-apple-system,sans-serif;font-size:17.5px;font-weight:800;line-height:1.25;color:#101828;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mvr-sx{color:#0D8F86;font-weight:700}
.mvr-age{color:#0D8F86;font-size:17px;font-weight:800}
.mvr-txt{margin:0;font-size:14.5px;line-height:1.4;color:#344054;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mvr-muted{color:#667085}
.mvr-act{display:flex;align-items:center;gap:7px;font-size:13.5px;color:#475467;margin-top:2px}
.mvr-act i{width:9px;height:9px;border-radius:50%;background:#16A34A;box-shadow:0 0 0 3px rgba(22,163,74,.18)}
.mvr-tags{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-top:auto;padding-top:4px}
.mvr-tags::-webkit-scrollbar{display:none}
.mvr-tags span{flex:none;background:#fff;color:#0C5424;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600;border:1px solid #D7E6EE}
.mvr-new{position:absolute;top:0;right:0;z-index:2;background:#FFC22E;color:#3B2A00;font-size:12.5px;font-weight:800;padding:5px 12px 5px 14px;border-radius:0 0 0 14px}
.mvr-new.mvr-mine{background:#1E9E5A;color:#fff}
.mvr-empty{background:#EEF6FA;border-radius:16px;padding:18px;font-size:14px;color:#475467;text-align:center}
.mvr-empty button{display:block;margin:10px auto 0;border:0;background:#0C5424;color:#fff;font-weight:700;border-radius:10px;padding:8px 14px}
#mvr-affiner{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--mvl-nav,86px) + 14px);z-index:60;display:inline-flex;align-items:center;gap:8px;border:0;background:#0C5424;color:#fff;font-size:15.5px;font-weight:800;padding:12px 20px;border-radius:999px;box-shadow:0 8px 22px rgba(12,84,36,.35)}
#mvr-affiner[hidden]{display:none}
#mvr-affiner b{background:#FFC22E;color:#3B2A00;border-radius:999px;font-size:12px;min-width:20px;padding:1px 6px;text-align:center}
#mvr-affiner b:empty{display:none}
:is(#mvr-filters,#mvr-detail){position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center}
.mvr-sheet{width:100%;max-width:560px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:22px 22px 0 0;padding:16px 16px calc(18px + env(safe-area-inset-bottom));animation:mvfbUp .22s ease-out}
.mvr-sheet-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.mvr-sheet-top b{font-size:18px;color:#101828}
.mvr-x{width:34px;height:34px;border-radius:50%;border:0;background:#F2F4F7;font-size:15px;flex:none}
.mvr-lbl{display:block;font-size:13px;font-weight:700;color:#475467;margin:12px 0 6px}
.mvr-chips{display:flex;flex-wrap:wrap;gap:8px}
.mvr-chips button{border:1.5px solid #D0D5DD;background:#fff;color:#344054;border-radius:999px;padding:8px 14px;font-size:14.5px;font-weight:600}
.mvr-chips button.on{background:#DDF5F2;border-color:#1E9E5A;color:#0B7A72}
.mvr-sheet-bot{display:flex;gap:10px;margin-top:20px}
.mvr-sheet-bot button{flex:1;border:0;border-radius:14px;padding:13px;font-size:15px;font-weight:800}
.mvr-reset{background:#F2F4F7;color:#344054}
.mvr-go{background:#0C5424;color:#fff}
.mvr-gal{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px 10px;padding:0 16px}
.mvr-gal img{flex:0 0 78%;max-width:340px;aspect-ratio:4/5;object-fit:cover;border-radius:16px;scroll-snap-align:center}
.mvr-gal img:only-child{flex-basis:100%;max-width:none;aspect-ratio:1/1}
.mvr-gal-empty{height:160px;border-radius:16px;background:#EEF6FA;display:flex;align-items:center;justify-content:center;font-size:70px;margin-bottom:10px}
.mvr-meta{font-size:13.5px;color:#475467;margin:0 0 6px}
.mvr-goal{font-size:14px;font-weight:700;color:#0D8F86;margin:0 0 8px}
.mvr-bio{font-size:15px;line-height:1.5;color:#101828;margin:0 0 10px;white-space:pre-line}
.mvr-detail-box .mvr-tags{flex-wrap:wrap;margin:0 0 12px}
.mvr-detail-box .rencontre-phone-locked-btn,.mvr-detail-box .rencontre-phone-reveal{margin-top:6px;width:100%}
.mvr-edit{width:100%;margin-top:8px;border:1px solid #D0D5DD;background:#fff;border-radius:12px;padding:11px;font-weight:700;font-size:14px;color:#0C5424}
.mvr-safety{font-size:12px;color:#667085;margin:12px 0 0;text-align:center}
body.dark-mode .mvr-card,body.dark-mode .mvr-empty{background:#14232E;border-color:#22374A}
body.dark-mode .mvr-photo{background-color:#1B3142}
body.dark-mode .mvr-body h4,body.dark-mode .mvr-sheet-top b,body.dark-mode .mvr-bio{color:#E9EDEF}
body.dark-mode .mvr-txt,body.dark-mode .mvr-act,body.dark-mode .mvr-meta{color:#AEBAC1}
body.dark-mode .mvr-tags span{background:#1B3142;color:#D7E6EE;border-color:#2A4356}
body.dark-mode .mvr-sheet{background:#0B1A12}
body.dark-mode .mvr-x,body.dark-mode .mvr-reset{background:#13231A;color:#E9EDEF}
body.dark-mode .mvr-chips button{background:#0B1A12;color:#D0D5DD;border-color:#2A3942}
body.dark-mode .mvr-chips button.on{background:rgba(30,158,90,.2);color:#5FE0D4;border-color:#1E9E5A}

/* ===== Discussions : photos à la place des avatars émojis (10/10/2026) ===== */
.chat-row-avatar{font-size:0!important;color:transparent!important;overflow:hidden;background:#DFE5E7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='39' r='19' fill='%23fff'/%3E%3Cpath d='M14 98c3-21 18-33 36-33s33 12 36 33z' fill='%23fff'/%3E%3C/svg%3E") center/100% no-repeat!important}
body.dark-mode .chat-row-avatar{background-color:#6A7B84!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='39' r='19' fill='%23CFD9DE'/%3E%3Cpath d='M14 98c3-21 18-33 36-33s33 12 36 33z' fill='%23CFD9DE'/%3E%3C/svg%3E")!important}
.mvp-noemoji #rencontre-avatar-emoji-grid,.mvp-noemoji #rencontre-photo-input,.mvp-noemoji #rencontre-avatar-preview,.mvp-noemoji label.mvp-hide{display:none!important}
#mvp-picker{display:flex;align-items:center;gap:16px;margin:6px 0 16px}
#mvp-picker .mvp-circle{position:relative;flex:none;width:92px;height:92px;border-radius:50%;border:0;padding:0;cursor:pointer;background:#DFE5E7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='39' r='19' fill='%23fff'/%3E%3Cpath d='M14 98c3-21 18-33 36-33s33 12 36 33z' fill='%23fff'/%3E%3C/svg%3E") center/100% no-repeat;overflow:visible}
#mvp-picker .mvp-circle img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
#mvp-picker .mvp-circle img[hidden]{display:none}
#mvp-picker .mvp-cam{position:absolute;right:-2px;bottom:-2px;width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#1E9E5A,#0C5424);color:#fff;display:grid;place-items:center;border:3px solid var(--paper-card,#fff)}
#mvp-picker .mvp-txt b{display:block;font-size:16px;color:var(--ink,#101828)}
#mvp-picker .mvp-txt small{display:block;font-size:12.5px;color:var(--muted,#4A5A52);margin:2px 0 8px;line-height:1.35}
#mvp-picker .mvp-actions{display:flex;gap:8px;flex-wrap:wrap}
#mvp-picker .mvp-actions button{border:0;border-radius:10px;padding:8px 12px;font-size:13.5px;font-weight:700;cursor:pointer}
#mvp-picker .mvp-choose{background:#0C5424;color:#fff}
#mvp-picker .mvp-remove{background:#FEE4E2;color:#B42318}
#mvp-picker .mvp-remove[hidden]{display:none}
#mvp-reminder{display:flex;align-items:center;gap:12px;margin:0 12px 12px;padding:12px 14px;border-radius:16px;background:#E6F6F4;color:#0C5424}
#mvp-reminder .mvp-r-ic{flex:none;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#1E9E5A,#0C5424);color:#fff;display:grid;place-items:center}
#mvp-reminder > div{flex:1;min-width:0}
#mvp-reminder b{display:block;font-size:14.5px}
#mvp-reminder small{display:block;font-size:12.5px;color:#475467;line-height:1.35}
#mvp-reminder .mvp-r-btns{flex:none;display:flex;flex-direction:column;gap:4px}
#mvp-reminder .mvp-r-go{border:0;background:#0C5424;color:#fff;border-radius:10px;padding:7px 12px;font-weight:800;font-size:13px}
#mvp-reminder .mvp-r-later{border:0;background:none;color:#475467;font-size:12px;padding:2px}
body.dark-mode #mvp-reminder{background:#14302F;color:#E9EDEF}
body.dark-mode #mvp-reminder small,body.dark-mode #mvp-reminder .mvp-r-later{color:#AEBAC1}

/* ===== Marketplace : contact du vendeur comme dans Métiers & Services (10/10/2026) ===== */
.mvfb-contact{margin:10px 0 6px;padding:12px;border-radius:14px;background:#F0F7F6;border:1px solid #D5ECE9}
.mvfb-contact-lbl{display:block;font-size:13px;color:#475467;margin-bottom:8px}
.mvfb-contact-lbl b{color:#0C5424;font-size:14px;letter-spacing:.3px}
.mvfb-contact-btns{display:flex;gap:8px;flex-wrap:wrap}
.mvfb-contact-btns .mv-btn{flex:1;justify-content:center;min-width:120px}
.mvfb-nophone{font-size:13px;color:#667085;background:#F2F4F7;border-color:#E4E7EC}
body.dark-mode .mvfb-contact{background:#14302F;border-color:#1F4442}
body.dark-mode .mvfb-contact-lbl{color:#AEBAC1}
body.dark-mode .mvfb-contact-lbl b{color:#E9EDEF}

/* ===== Discussions : icônes au trait dans les aperçus (10/10/2026) ===== */
.mvd-pi-wrap{display:inline-flex;vertical-align:-3px;margin-right:4px;color:var(--wa-meta,#667781)}
.mvd-pi-wrap svg{width:17px;height:17px}

/* ===== « Sélectionner un contact » (10/10/2026) ===== */
#mvcs{position:fixed!important;inset:0!important;z-index:9500!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;padding:0!important;background:var(--wa-panel,#fff)!important;backdrop-filter:none!important;color:var(--wa-text,#0B1A12)}
#mvcs:not(.active){display:none!important}
.mvcs-head{display:flex;align-items:center;gap:4px;padding:calc(8px + env(safe-area-inset-top,0px)) 6px 8px;background:var(--wa-panel,#fff);border-bottom:1px solid var(--wa-line,#E9EDEF)}
.mvcs-ic{flex:none;width:44px;height:44px;border:0;background:transparent;color:var(--wa-text,#0B1A12);border-radius:50%;display:grid;place-items:center;padding:0}
.mvcs-ic:active{background:var(--wa-search,#F0F2F5)}
.mvcs-title{flex:1;min-width:0;padding-left:4px}
.mvcs-title[hidden]{display:none}
.mvcs-title b{display:block;font-size:19px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mvcs-title small{display:block;font-size:13.5px;color:var(--wa-meta,#667781)}
.mvcs-q{flex:1;min-width:0;border:0;background:var(--wa-search,#F0F2F5);border-radius:22px;padding:10px 14px;font-size:16px;color:var(--wa-text,#0B1A12);outline:none}
.mvcs-q[hidden]{display:none}
.mvcs-mw{position:relative}
.mvcs-menu{position:absolute;right:4px;top:46px;z-index:5;min-width:220px;background:var(--wa-in,#fff);border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.28);padding:8px 0}
.mvcs-menu[hidden]{display:none}
.mvcs-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:13px 20px;font-size:16px;color:var(--wa-text,#0B1A12)}
.mvcs-body{flex:1;overflow-y:auto;padding:6px 0 30px}
.mvcs-act,.mvcs-row{display:flex;align-items:center;gap:16px;width:100%;border:0;background:transparent;text-align:left;padding:10px 16px;color:var(--wa-text,#0B1A12);cursor:pointer}
.mvcs-act:active,.mvcs-row:active{background:var(--wa-search,#F0F2F5)}
.mvcs-act b{font-size:17px;font-weight:600}
.mvcs-act small{display:block;font-size:13px;color:var(--wa-meta,#667781);margin-left:auto}
.mvcs-aic{flex:none;width:50px;height:50px;border-radius:17px;background:linear-gradient(135deg,#1E9E5A,#0C5424);color:#fff;display:grid;place-items:center}
.mvcs-sec{padding:18px 18px 6px;font-size:14.5px;font-weight:600;color:var(--wa-meta,#667781)}
.mvcs-av{flex:none;width:50px!important;height:50px!important;min-width:50px;border-radius:17px!important;object-fit:cover;display:block}
.mvcs-txt{min-width:0}
.mvcs-txt b{display:block;font-size:17px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mvcs-txt small{display:block;font-size:13.5px;color:var(--wa-meta,#667781);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mvcs-empty{padding:14px 18px;font-size:14px;color:var(--wa-meta,#667781);line-height:1.45}
.mvcs-notice{align-self:center;max-width:88%;margin:4px auto 10px;padding:9px 14px;border-radius:10px;background:#FFF5C4;color:#54471B;font-size:13.5px;line-height:1.45;text-align:center;box-shadow:0 1px 1px rgba(0,0,0,.06)}
body.dark-mode .mvcs-notice{background:#182229;color:#FFD279}
.mvcs-date{position:static!important}
/* 10/10/2026 : le bandeau GPS ne recouvre jamais une conversation */
body:has(.chat-fullscreen-backdrop.active) #mv-gps-hint{display:none!important}

/* ===== Contacts du répertoire dans les Discussions (10/10/2026) ===== */
#mv-my-contacts{display:none!important}
#mv-book{padding-bottom:90px}
.mvb-ask{display:flex;align-items:center;gap:12px;margin:10px 12px;padding:14px;border-radius:16px;background:#E6F6F4;color:#0C5424}
.mvb-ask > div{flex:1;min-width:0}
.mvb-ask b{display:block;font-size:15px}
.mvb-ask small{display:block;font-size:12.5px;color:#475467;line-height:1.4;margin-top:2px}
.mvb-ic{flex:none;width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,#1E9E5A,#0C5424);color:#fff;display:grid;place-items:center}
.mvb-go{flex:none;border:0;background:#0C5424;color:#fff;border-radius:12px;padding:9px 14px;font-weight:800;font-size:14px}
.mvb-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 16px 6px;font-size:13.5px;font-weight:600;color:var(--wa-meta,#667781)}
.mvb-head button{border:0;background:none;color:#0D8F86;font-weight:700;font-size:13.5px;padding:4px}
.mvb-joined{display:inline-flex!important;align-items:center;gap:5px;color:#0D8F86!important}
.mvb-joined svg{flex:none}
.mvb-new{color:#C97D0F!important;font-weight:700}
.mvb-hello{flex:none;border:1.5px solid #1E9E5A;background:transparent;color:#0B7A72;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;margin-left:8px}
body.dark-mode .mvb-ask{background:#14302F;color:#E9EDEF}
body.dark-mode .mvb-ask small{color:#AEBAC1}
body.dark-mode .mvb-joined{color:#3FD3C6!important}
body.dark-mode .mvb-hello{color:#5FE0D4}
#mv-book.mvb-top{padding-bottom:0}

/* ===== Information avant l'accès au répertoire (11/10/2026) ===== */
#mv-book-consent{position:fixed;inset:0;z-index:100000;background:rgba(6,24,38,.55);display:flex;align-items:flex-end;justify-content:center;padding:16px}
#mv-book-consent .mvbc-card{background:#fff;color:#0b2233;border-radius:20px;max-width:440px;width:100%;padding:22px 20px 18px;box-shadow:0 18px 48px rgba(0,0,0,.25);max-height:88vh;overflow:auto}
#mv-book-consent .mvbc-ic{width:46px;height:46px;border-radius:14px;background:#e4f4f1;color:#0f766e;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
#mv-book-consent h3{margin:0 0 8px;font-size:1.12rem;color:#0C5424}
#mv-book-consent p{margin:0 0 10px;font-size:.95rem;line-height:1.45}
#mv-book-consent ul{margin:0 0 12px;padding-left:18px;font-size:.9rem;line-height:1.45}
#mv-book-consent li{margin-bottom:4px}
#mv-book-consent a{font-size:.85rem;color:#0f766e}
#mv-book-consent .mvbc-btns{display:flex;gap:10px;margin-top:16px}
#mv-book-consent .mvbc-btns button{flex:1;border:0;border-radius:12px;padding:12px;font-weight:700;font-size:.95rem;cursor:pointer}
#mv-book-consent .mvbc-no{background:#eef2f5;color:#334}
#mv-book-consent .mvbc-yes{background:#0f766e;color:#fff}
html body.dark-mode #mv-book-consent .mvbc-card{background:#13202b;color:#e6edf3}
html body.dark-mode #mv-book-consent h3{color:#e6edf3}
html body.dark-mode #mv-book-consent .mvbc-no{background:#22313d;color:#e6edf3}

/* ===== Élus : nom et fonction SOUS la photo, plus sur le visage (11/10/2026) ===== */
html body .mvx-elu .mvx-photo{aspect-ratio:auto;overflow:visible;background:transparent}
html body .mvx-elu .mvx-photo img{aspect-ratio:1/1;height:auto;object-position:center 15%;background:#123049}
html body .mvx-elu .mvx-photo::after{display:none}
html body .mvx-elu .mvx-who{position:static;padding:10px 12px 2px;color:inherit}
html body .mvx-elu .mvx-name{color:var(--ink,#0B2233)!important;font-size:16px;line-height:1.2;word-break:break-word}
html body .mvx-elu .mvx-role{color:#5B6B78;font-size:12px}
html body.dark-mode .mvx-elu .mvx-name{color:#E6EDF3!important}
html body.dark-mode .mvx-elu .mvx-role{color:#9FB0BD}

/* ===== Messages vocaux façon messagerie (12/10/2026) ===== */
html body :is(#privatechat-recording-indicator,#groupchat-recording-indicator){display:none!important}
html body :is(#privatechat-input-flex,#groupchat-input-flex){position:relative}
.mvv-bar{display:none;position:absolute;left:0;top:0;bottom:0;right:58px;z-index:5;align-items:center;gap:8px;padding:0 12px;border-radius:26px;background:var(--wa-input-bg,#fff);color:#13231A;box-shadow:0 1px 2px rgba(0,0,0,.08)}
html body.dark-mode .mvv-bar{background:#13231A;color:#e9edef}
.mvv-active .mvv-bar{display:flex}
.mvv-full .mvv-bar{right:0}
.mvv-full .chat-send-btn{visibility:hidden}
.mvv-active .mvd-pill{visibility:hidden}
.mvv-bar button{border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex:0 0 auto}
.mvv-trash{width:36px;height:36px;color:#8696a0!important}
.mvv-dot{width:10px;height:10px;border-radius:50%;background:#e5383b;flex:0 0 auto;animation:mvv-blink 1s infinite}
@keyframes mvv-blink{50%{opacity:.25}}
.mvv-time{font-variant-numeric:tabular-nums;font-size:15px;min-width:38px;flex:0 0 auto}
.mvv-wave{flex:1 1 auto;display:flex;align-items:center;gap:2px;height:30px;overflow:hidden;min-width:40px;cursor:pointer}
.mvv-wave i{display:block;flex:1 1 0;max-width:4px;min-width:2px;border-radius:2px;background:#8696a0;opacity:.7}
.mvv-wave i.on{background:#0f766e;opacity:1}
.mvv-slide{flex:1 1 auto;text-align:center;color:#8696a0;font-size:14px;white-space:nowrap;transition:opacity .1s}
.mvv-playbtn{width:36px;height:36px;color:#0f766e!important}
.mvv-stop{width:38px;height:38px;border-radius:50%!important;color:#e5383b!important;border:2px solid #e5383b!important}
.mvv-send{width:46px;height:46px;border-radius:50%!important;background:#0f766e!important;color:#fff!important;margin-right:-8px}
/* visibilité selon le mode */
.mvv-bar[data-mode="hold"] :is(.mvv-trash,.mvv-stop,.mvv-send,.mvv-playbtn,.mvv-wave){display:none}
.mvv-bar[data-mode="lock"] :is(.mvv-slide,.mvv-playbtn){display:none}
.mvv-bar[data-mode="preview"] :is(.mvv-dot,.mvv-stop,.mvv-slide){display:none}
/* bouton micro maintenu : plus gros, comme une messagerie */
.chat-send-btn.mvv-holding{transform:scale(1.35);background:#0f766e!important;color:#fff!important;transition:transform .12s}
.mvv-lockhint{position:absolute;right:6px;bottom:62px;width:44px;padding:10px 0 8px;border-radius:22px;background:#fff;color:#54656f;display:none;flex-direction:column;align-items:center;gap:4px;box-shadow:0 2px 10px rgba(0,0,0,.18);z-index:6;animation:mvv-float 1.2s ease-in-out infinite}
.mvv-lockhint.show{display:flex}
html body.dark-mode .mvv-lockhint{background:#233138;color:#d1d7db}
@keyframes mvv-float{50%{transform:translateY(-6px)}}
#mvv-toast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%) translateY(20px);background:rgba(17,27,33,.92);color:#fff;padding:10px 16px;border-radius:20px;font-size:14px;opacity:0;pointer-events:none;transition:all .2s;z-index:100001;max-width:86vw;text-align:center}
#mvv-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
/* vitesse de lecture dans les bulles */
.voice-msg-player{position:relative}
.mvv-speed{border:0;background:rgba(15,118,110,.12);color:#0f766e;font-weight:700;font-size:12px;border-radius:12px;padding:3px 8px;margin-left:6px;cursor:pointer;flex:0 0 auto}
html body.dark-mode .mvv-speed{background:rgba(25,195,166,.18);color:#5eead4}
.mvv-bar[data-mode="preview"] .mvv-trash{order:0}
.mvv-bar[data-mode="preview"] .mvv-playbtn{order:1;background:transparent!important}
.mvv-bar[data-mode="preview"] .mvv-wave{order:2}
.mvv-bar[data-mode="preview"] .mvv-time{order:3;min-width:34px;font-size:13px;color:#667781}
.mvv-bar[data-mode="preview"] .mvv-send{order:4}

/* === Logos partenaires animés pour attirer l'attention (12/10/2026) === */
.mvx-sponsors-logos{padding:14px 6px 12px!important;overflow-y:visible}
.mvx-sponsors-logos > img{
  position:relative;
  border:2px solid #F5B301!important;
  animation:mvSpFloat 3.2s ease-in-out infinite, mvSpGlow 2.4s ease-out infinite;
  transform-origin:center bottom;
  will-change:transform, box-shadow;
}
.mvx-sponsors-logos > img:nth-child(2){animation-delay:.5s,.8s}
.mvx-sponsors-logos > img:nth-child(3){animation-delay:1s,1.6s}
.mvx-sponsors-logos > img:nth-child(4){animation-delay:1.5s,.4s}
.mvx-sponsors-logos > img:active{transform:scale(.95)}
@keyframes mvSpFloat{
  0%,100%{transform:translateY(0) scale(1) rotate(0)}
  20%{transform:translateY(-5px) scale(1.06) rotate(-2deg)}
  30%{transform:translateY(-5px) scale(1.06) rotate(2deg)}
  40%{transform:translateY(-3px) scale(1.04) rotate(-1deg)}
  55%{transform:translateY(0) scale(1) rotate(0)}
}
@keyframes mvSpGlow{
  0%{box-shadow:0 0 0 0 rgba(245,179,1,.75), 0 4px 12px rgba(0,0,0,.12)}
  70%{box-shadow:0 0 0 14px rgba(245,179,1,0), 0 4px 12px rgba(0,0,0,.12)}
  100%{box-shadow:0 0 0 0 rgba(245,179,1,0), 0 4px 12px rgba(0,0,0,.12)}
}
#mvx-partners-title::after{
  content:"\2605";display:inline-block;margin-left:8px;color:#F5B301;
  animation:mvSpStar 1.8s ease-in-out infinite;
}
@keyframes mvSpStar{0%,100%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.35) rotate(25deg);opacity:.75}}
@media (prefers-reduced-motion:reduce){
  .mvx-sponsors-logos > img,.mv-ds-anim,.mv-ds-anim i,#mvx-partners-title::after{animation:none!important}
}

/* Logo Deco Studio : le D tombe dans le cadre, puis le S, puis le point et le texte */
.mv-ds-anim{position:relative;flex:0 0 auto;width:72px;height:72px;border-radius:14px;background:#000;
  border:2px solid #F5B301;overflow:hidden;cursor:pointer;animation:mvSpGlow 2.4s ease-out infinite}
.mv-ds-anim i{position:absolute;inset:0;background-size:118% 118%;background-position:52% 52%;background-repeat:no-repeat;opacity:0}
.mv-ds-anim .l-d{background-image:url(icons/sponsors/ds-l-d.png);animation:mvDsDropD 6s infinite}
.mv-ds-anim .l-s{background-image:url(icons/sponsors/ds-l-s.png);animation:mvDsDropS 6s infinite}
.mv-ds-anim .l-dot{background-image:url(icons/sponsors/ds-l-dot.png);transform-origin:88% 64%;animation:mvDsDot 6s infinite}
.mv-ds-anim .l-txt{background-image:url(icons/sponsors/ds-l-txt.png);animation:mvDsTxt 6s infinite}
.mv-ds-anim:active{transform:scale(.95)}
@keyframes mvDsDropD{
  0%{transform:translateY(-110%);opacity:1;animation-timing-function:cubic-bezier(.5,0,1,1)}
  10%{transform:translateY(0);animation-timing-function:ease-out}
  13%{transform:translateY(-12%);animation-timing-function:ease-in}
  16%{transform:translateY(0)}
  86%{transform:translateY(0);opacity:1}
  94%,100%{transform:translateY(0);opacity:0}
}
@keyframes mvDsDropS{
  0%,16%{transform:translateY(-110%);opacity:1;animation-timing-function:cubic-bezier(.5,0,1,1)}
  26%{transform:translateY(0);animation-timing-function:ease-out}
  29%{transform:translateY(-12%);animation-timing-function:ease-in}
  32%{transform:translateY(0)}
  86%{transform:translateY(0);opacity:1}
  94%,100%{transform:translateY(0);opacity:0}
}
@keyframes mvDsDot{
  0%,33%{transform:scale(0);opacity:0}
  37%{transform:scale(1.8);opacity:1}
  40%{transform:scale(1);opacity:1}
  86%{transform:scale(1);opacity:1}
  94%,100%{opacity:0}
}
@keyframes mvDsTxt{
  0%,41%{opacity:0;letter-spacing:0}
  50%,86%{opacity:1}
  94%,100%{opacity:0}
}
@media (prefers-reduced-motion:reduce){.mv-ds-anim i{opacity:1!important;transform:none!important}}

/* ===== Menu « + » Lucarne — verre sombre moderne ===== */
.mvl-menu{min-width:244px;padding:8px;background:rgba(22,26,34,.82)!important;-webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);border:1px solid rgba(255,255,255,.12);border-radius:20px;box-shadow:0 18px 48px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.08);transform-origin:top right;animation:mvlPop .18s cubic-bezier(.2,.9,.3,1.2)}
.mvl-menu::before{content:"";position:absolute;top:-6px;right:17px;width:12px;height:12px;background:rgba(22,26,34,.82);border-left:1px solid rgba(255,255,255,.12);border-top:1px solid rgba(255,255,255,.12);transform:rotate(45deg);border-radius:3px 0 0 0}
@keyframes mvlPop{from{opacity:0;transform:translateY(-6px) scale(.94)}to{opacity:1;transform:none}}
.mvl-menu .mvl-it{display:flex!important;align-items:center;gap:12px;padding:9px 10px;border-radius:14px;color:#fff!important;transition:background .15s}
.mvl-menu .mvl-it:active,.mvl-menu .mvl-it:hover{background:rgba(255,255,255,.1)}
.mvl-menu .mvl-it[hidden]{display:none!important}
.mvl-chip{flex:0 0 38px;width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}
.mvl-tx{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.mvl-tx b{font-size:14.5px;font-weight:700;color:#fff}
.mvl-tx small{font-size:11.5px;font-weight:500;color:rgba(255,255,255,.58);margin-top:2px}
.c-film .mvl-chip{background:linear-gradient(135deg,#ff5f6d,#ff2d55)}
.c-gal .mvl-chip{background:linear-gradient(135deg,#7f7fff,#5856d6)}
.c-live .mvl-chip{background:linear-gradient(135deg,#ff3b30,#c70039);box-shadow:0 0 0 0 rgba(255,59,48,.6);animation:mvlLive 1.8s infinite}
@keyframes mvlLive{70%{box-shadow:0 0 0 7px rgba(255,59,48,0)}100%{box-shadow:0 0 0 0 rgba(255,59,48,0)}}
.c-mine .mvl-chip{background:linear-gradient(135deg,#34c8b4,#0a9396)}
.c-stat .mvl-chip{background:linear-gradient(135deg,#ffb340,#ff8a00)}
.c-login .mvl-chip{background:linear-gradient(135deg,#4aa8ff,#0a6cff)}
.mvl-menu hr{border-top:1px solid rgba(255,255,255,.12)!important;margin:6px 8px!important}
.mvl-ic[data-a="plus"] svg{transition:transform .2s}
#mv-luc-top.mvl-open .mvl-ic[data-a="plus"] svg{transform:rotate(45deg)}

/* ===== Taille du texte des messages (pincer pour agrandir) ===== */
#private-chat-messages-area,#group-chat-messages-area{touch-action:pan-y}
html.mv-chat-zoomed :is(#private-chat-modal,#group-chat-modal) :is(.chat-bubble-user,.chat-bubble-bot){font-size:var(--mv-chat-fs)!important;line-height:1.35!important}
.mv-zoom-hint{position:fixed;left:50%;top:84px;transform:translateX(-50%) translateY(-6px);background:rgba(20,24,32,.88);color:#fff;font:600 13px system-ui,sans-serif;padding:8px 14px;border-radius:999px;z-index:99999;opacity:0;pointer-events:none;transition:.18s}
.mv-zoom-hint.on{opacity:1;transform:translateX(-50%)}

/* ===== Rencontre : filtres étendus ===== */
.mvr-q{width:100%;box-sizing:border-box;border:1.5px solid #D0D5DD;border-radius:12px;padding:11px 13px;font-size:15px;margin-bottom:4px;background:#fff;color:#101828}
body.dark-mode .mvr-q{background:#1c2a33;color:#E9EDEF;border-color:#33444e}

/* ===== Menu d'un message : verre dépoli moderne ===== */
html body .chat-msg-actions-menu{min-width:236px;padding:8px;border:1px solid rgba(255,255,255,.65);border-radius:22px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(20px) saturate(1.5);backdrop-filter:blur(20px) saturate(1.5);box-shadow:0 18px 50px rgba(11,25,40,.28),0 2px 6px rgba(11,25,40,.08);transform-origin:bottom left}
html body .chat-msg-actions-menu.open{display:block;animation:mvMsgPop .16s cubic-bezier(.2,.9,.3,1.15)}
@keyframes mvMsgPop{from{opacity:0;transform:scale(.92) translateY(6px)}to{opacity:1;transform:none}}
html body .chat-msg-quick-reactions{display:flex!important;justify-content:space-between;align-items:center;gap:2px;padding:4px 6px;margin:0 0 6px;border-radius:999px;background:rgba(12,84,36,.06)}
html body .chat-msg-quick-reactions button{width:auto!important;padding:2px 3px!important;border-radius:50%!important;transition:transform .12s;line-height:1.15}
html body .chat-msg-quick-reactions button:active{transform:scale(1.35)}
html body .chat-msg-actions-menu>button{display:flex!important;align-items:center;gap:10px;padding:11px 12px!important;border-radius:14px!important;font-size:15px!important;font-weight:600!important;letter-spacing:.1px;transition:background .12s}
html body .chat-msg-actions-menu>button::first-letter{font-size:19px;margin-right:4px}
html body .chat-msg-actions-menu>button:active,html body .chat-msg-actions-menu>button:hover{background:rgba(30,158,90,.13)!important}
html body .chat-msg-actions-menu>button.chat-msg-action-danger{color:#d92d20!important}
html body .chat-msg-actions-menu>button.chat-msg-action-danger:active{background:rgba(217,45,32,.1)!important}
body.dark-mode .chat-msg-actions-menu{background:rgba(23,32,40,.9)!important;border-color:rgba(255,255,255,.1)}
body.dark-mode .chat-msg-actions-menu>button{color:#E9EDEF}
body.dark-mode .chat-msg-quick-reactions{background:rgba(255,255,255,.08)}

/* ===== Feuille « Sélectionner le texte » ===== */
#mv-seltext{position:fixed;inset:0;z-index:100000;background:rgba(8,16,24,.55);display:flex;align-items:flex-end;justify-content:center;animation:mvFade .15s}
@keyframes mvFade{from{opacity:0}to{opacity:1}}
#mv-seltext .mvs-card{width:100%;max-width:560px;background:#fff;border-radius:24px 24px 0 0;padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px));box-shadow:0 -10px 40px rgba(0,0,0,.3);animation:mvUp .2s cubic-bezier(.2,.9,.3,1)}
@keyframes mvUp{from{transform:translateY(40px);opacity:.5}to{transform:none;opacity:1}}
#mv-seltext .mvs-grab{width:42px;height:4px;border-radius:2px;background:#d0d5dd;margin:0 auto 10px}
#mv-seltext .mvs-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
#mv-seltext .mvs-top b{font-size:16px;color:#101828}
#mv-seltext .mvs-top small{display:block;font-weight:500;color:#667085;font-size:12px;margin-top:2px}
#mv-seltext .mvs-x{border:0;background:#f2f4f7;border-radius:50%;width:34px;height:34px;font-size:15px;color:#344054}
#mv-seltext .mvs-text{max-height:42vh;overflow:auto;padding:14px;border-radius:16px;background:#f6f8fa;border:1.5px solid #e4e7ec;font-size:18px;line-height:1.5;color:#101828;white-space:pre-wrap;word-break:break-word;-webkit-user-select:text!important;user-select:text!important;-webkit-touch-callout:default}
#mv-seltext .mvs-text::selection{background:#bfeee9}
#mv-seltext .mvs-bar{display:flex;gap:10px;margin-top:12px}
#mv-seltext .mvs-bar button{flex:1;border:0;border-radius:14px;padding:13px;font-size:15px;font-weight:800}
#mv-seltext .mvs-sel{background:#DDF5F2;color:#0B7A72}
#mv-seltext .mvs-cp{background:linear-gradient(135deg,#1E9E5A,#0D8F86);color:#fff}
body.dark-mode #mv-seltext .mvs-card{background:#0B1A12}
body.dark-mode #mv-seltext .mvs-text{background:#1c2a33;color:#E9EDEF;border-color:#33444e}
body.dark-mode #mv-seltext .mvs-top b{color:#E9EDEF}

/* ===== Discussions de communauté : même menu que le privé ===== */
#group-chat-action-bar{display:none!important}
#group-chat-msg-actions-menu{z-index:250}
#group-chat-messages-area .group-bubble-selected{outline:2px solid rgba(30,158,90,.55);outline-offset:2px;border-radius:14px}
#group-chat-messages-area .chat-bubble-user,#group-chat-messages-area .chat-bubble-bot{-webkit-touch-callout:none}

/* ===== Menu d'un message — version « premium » ===== */
html body .chat-msg-actions-menu{min-width:258px;padding:10px;border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(246,250,252,.92));border:1px solid rgba(255,255,255,.9);box-shadow:0 24px 60px rgba(8,28,48,.32),0 4px 14px rgba(8,28,48,.10),inset 0 1px 0 #fff}
html body .chat-msg-quick-reactions{padding:6px 8px;margin:0 0 8px;background:#fff;border-radius:999px;box-shadow:0 3px 12px rgba(8,28,48,.10),inset 0 0 0 1px rgba(12,84,36,.06)}
html body .chat-msg-quick-reactions button{font-size:27px!important;padding:2px 4px!important;transition:transform .15s cubic-bezier(.3,1.6,.5,1)}
html body .chat-msg-quick-reactions button:hover,html body .chat-msg-quick-reactions button:active{transform:translateY(-4px) scale(1.28)}
html body .chat-msg-actions-menu>button{gap:13px;padding:8px 10px!important;border-radius:16px!important;font-size:15.5px!important;font-weight:650!important;color:#14202b!important}
html body .chat-msg-actions-menu>button::first-letter{font-size:inherit;margin:0}
.mvm-ic{flex:0 0 36px;width:36px;height:36px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 10px rgba(8,28,48,.18),inset 0 1px 0 rgba(255,255,255,.35);transition:transform .15s}
.mvm-lb{flex:1;text-align:left}
html body .chat-msg-actions-menu>button:active .mvm-ic,html body .chat-msg-actions-menu>button:hover .mvm-ic{transform:scale(1.08) rotate(-4deg)}
html body .chat-msg-actions-menu>button:active,html body .chat-msg-actions-menu>button:hover{background:linear-gradient(90deg,rgba(30,158,90,.14),rgba(30,158,90,.03))!important}
html body .chat-msg-actions-menu>button.chat-msg-action-danger{margin-top:4px;border-top:1px solid rgba(12,84,36,.08);border-radius:0 0 16px 16px!important;padding-top:11px!important}
html body .chat-msg-actions-menu>button.chat-msg-action-danger .mvm-lb{color:#d92d20}
body.dark-mode .chat-msg-actions-menu{background:linear-gradient(180deg,rgba(30,42,52,.96),rgba(20,30,38,.94))!important}
body.dark-mode .chat-msg-actions-menu>button{color:#E9EDEF!important}
body.dark-mode .chat-msg-quick-reactions{background:rgba(255,255,255,.08)!important}

/* ===== Fiches de code : œil + présentation moderne ===== */
.mvp-box{position:relative;border-radius:28px!important;padding:26px 22px 20px!important;text-align:center;background:linear-gradient(180deg,#fff,#f4f9fb)!important;box-shadow:0 30px 70px rgba(8,28,48,.35)!important}
.mvp-ic{width:68px;height:68px;margin:0 auto 12px;border-radius:22px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#1E9E5A,#0C5424);box-shadow:0 10px 24px rgba(12,84,36,.35),inset 0 1px 0 rgba(255,255,255,.4)}
.mvp-box .mv-pin-ic{width:68px!important;height:68px!important;border-radius:22px!important;color:#fff!important;background:linear-gradient(135deg,#1E9E5A,#0C5424)!important;box-shadow:0 10px 24px rgba(12,84,36,.35)}
.mvp-box .mv-pin-ic.warn{background:linear-gradient(135deg,#fbbf24,#ea580c)!important}
.mvp-title,.mvp-box .mv-pin-title{font-size:20px!important;font-weight:800!important;color:#0C5424!important;margin:0 0 6px!important}
.mvp-box p{color:#5b6b78!important;font-size:13px!important;line-height:1.45}
.mvp-field{position:relative;margin:14px 0 6px}
.mvp-field input{width:100%;box-sizing:border-box;text-align:center;font-size:26px!important;font-weight:800;letter-spacing:12px!important;padding:14px 52px 14px 52px!important;border:2px solid #d5e2ea!important;border-radius:18px!important;background:#fff!important;color:#0C5424;transition:border-color .15s,box-shadow .15s}
.mvp-field input:focus{outline:0;border-color:#1E9E5A!important;box-shadow:0 0 0 4px rgba(30,158,90,.18)}
.mvp-field.shown input{letter-spacing:10px!important}
.mvp-field input::placeholder{letter-spacing:8px;color:#b4c2cc}
.mvp-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;border-radius:12px;background:#eef5f8;color:#0B7A72;display:grid;place-items:center;cursor:pointer}
.mvp-eye:active{background:#d9ecf1}
.mvp-eye .e-off{display:none}.mvp-field.shown .mvp-eye .e-on{display:none}.mvp-field.shown .mvp-eye .e-off{display:block}
.mvp-dots{display:flex;justify-content:center;gap:9px;margin:6px 0 4px}
.mvp-dots i{width:9px;height:9px;border-radius:50%;background:#d5e2ea;transition:.15s}
.mvp-dots i.on{background:#1E9E5A;transform:scale(1.25)}
.mvp-box #chat-lock-pin-error{margin:6px 0 0!important;font-weight:700}
.mvp-box>button:not(.modal-close):not(#chat-lock-remove-btn){border-radius:16px!important;padding:14px!important;font-size:16px!important;font-weight:800!important;background:linear-gradient(135deg,#1E9E5A,#0D8F86)!important;box-shadow:0 8px 20px rgba(13,143,134,.35)}
.mvp-box #chat-lock-remove-btn{font-size:14px!important}
.mvp-box .mv-pin-ok{border-radius:16px!important;padding:14px!important;font-size:16px!important;font-weight:800!important;background:linear-gradient(135deg,#1E9E5A,#0D8F86)!important;color:#fff!important;border:0;box-shadow:0 8px 20px rgba(13,143,134,.35)}
.mvp-box .mv-pin-cancel{border-radius:16px!important;padding:14px!important;font-weight:700!important}
.mvp-box .modal-close{top:12px;right:12px;background:#eef3f6;border-radius:50%;width:32px;height:32px}
body.dark-mode .mvp-box{background:linear-gradient(180deg,#16232b,#101b21)!important}
body.dark-mode .mvp-field input{background:#1c2a33!important;color:#E9EDEF;border-color:#33444e!important}
body.dark-mode .mvp-title,body.dark-mode .mvp-box .mv-pin-title{color:#E9EDEF!important}

/* ===== Communautés dans la liste Discussions ===== */
.chat-row-avatar-wrap{position:relative}
.mv-gbadge{position:absolute;right:-2px;bottom:-2px;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#1E9E5A,#0D8F86);color:#fff;display:grid;place-items:center;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.2)}
body.dark-mode .mv-gbadge{border-color:#0B1A12}

/* ===== Fiche « Publier mon annonce » (Rencontre) — design haut de gamme ===== */
#rencontre-publish-modal .modal-box{padding:0!important;max-width:440px!important;width:calc(100% - 24px);max-height:92vh;overflow-y:auto;border-radius:30px!important;background:linear-gradient(180deg,#f7fbfc,#fff 220px)!important;box-shadow:0 34px 80px rgba(8,28,48,.4)!important;-webkit-overflow-scrolling:touch}
#rencontre-publish-modal .modal-close{position:sticky;top:12px;float:right;margin:12px 12px -44px 0;z-index:5;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.22)!important;color:#fff!important;border:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.rl-form{padding:0 18px 22px!important;display:block}
.rl-hero{margin:0 -18px 16px;padding:30px 22px 22px;text-align:center;position:relative;color:#fff;background:radial-gradient(120% 140% at 15% 0%,#1E9E5A 0%,#0D6E8C 45%,#0C5424 100%);border-radius:0 0 34px 34px;box-shadow:0 12px 30px rgba(12,84,36,.28)}
.rl-hero::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 85% 20%,rgba(255,194,46,.28),transparent 40%);pointer-events:none}
.rl-avatar{position:relative;z-index:1;width:104px!important;height:104px!important;margin:0 auto 12px!important;border-radius:50%!important;display:flex!important;align-items:center;justify-content:center;overflow:hidden;background:rgba(255,255,255,.18)!important;border:3px solid #fff!important;box-shadow:0 10px 26px rgba(0,0,0,.28);color:#fff!important}
.rl-avatar span{color:#fff!important}
.rl-avatar img{width:100%;height:100%;object-fit:cover}
.rl-cam{position:absolute;z-index:2;left:calc(50% + 24px);top:98px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#FFC22E,#f59e0b);border:3px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.25);pointer-events:none}
.rl-title{position:relative;z-index:1;margin:6px 0 4px;font-size:23px;font-weight:800;letter-spacing:.2px;color:#fff;font-family:inherit}
.rl-sub{position:relative;z-index:1;margin:0 auto;max-width:300px;font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.82)}
.rl-sec{margin:0 0 14px;padding:14px;border-radius:20px;background:#fff;border:1px solid #e5eef2;box-shadow:0 6px 18px rgba(12,84,36,.06)}
.rl-lab{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:14px;font-weight:800;color:#0C5424}
.rl-lab i{font-style:normal;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-size:15px;background:linear-gradient(135deg,#e6f7f5,#eaf2fb)}
.rl-lab small{margin-left:auto;font-size:11px;font-weight:600;color:#7a8b97}
.rl-sec .rencontre-extra-photo-add-btn{display:block;text-align:center;padding:12px;border-radius:14px;border:2px dashed #1E9E5A;background:#f0fbfa;color:#0B7A72;font-weight:800;font-size:14px}
.rl-sec .rencontre-extra-photos-row:not(:empty){margin-bottom:10px}
.rl-sec .rencontre-extra-photo-thumb{border-radius:14px;overflow:hidden;box-shadow:0 4px 10px rgba(0,0,0,.15)}
.rl-sec .rencontre-lucarne-textarea{width:100%;box-sizing:border-box;min-height:84px;padding:12px 14px;border:1.5px solid #dbe7ee;border-radius:14px;background:#f8fbfc;font-size:14.5px;line-height:1.45;color:#10202E;resize:none;transition:.15s}
.rl-count{text-align:right;margin-top:4px;font-size:11.5px;font-weight:700;color:#8a9aa6}
.rl-sec select,.rl-sec .rencontre-lucarne-goal-select{width:100%;box-sizing:border-box;padding:13px 14px;border:1.5px solid #dbe7ee!important;border-radius:14px!important;background-color:#f8fbfc!important;font-size:15px;font-weight:600;color:#10202E;transition:.15s}
.rl-sec select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%230B7A72' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;padding-right:42px}
.rl-sec textarea:focus,.rl-sec select:focus,.rl-sec input:focus,.rl-phone:focus-within{outline:0;border-color:#1E9E5A!important;box-shadow:0 0 0 4px rgba(30,158,90,.16);background-color:#fff!important}
.rl-phone{display:flex;align-items:stretch;border:1.5px solid #dbe7ee;border-radius:14px;background:#f8fbfc;overflow:hidden;transition:.15s}
.rl-phone span{display:grid;place-items:center;padding:0 12px;font-weight:800;font-size:14px;color:#0C5424;background:#e8f3f6}
.rl-phone input{flex:1;min-width:0;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;padding:13px 12px}
.rl-note{margin:10px 0 0;padding:9px 11px;border-radius:12px;background:#fff8e6;color:#8a5a00;font-size:11.5px;line-height:1.45}
.rl-sec .rencontre-lucarne-interests-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.rl-sec .rencontre-interest-chip{font-size:13px;padding:8px 14px;border:1.5px solid #dbe7ee;background:#f8fbfc;color:#27404f;font-weight:700;transition:.12s}
.rl-sec .rencontre-interest-chip.selected{background:linear-gradient(135deg,#1E9E5A,#0D8F86);border-color:transparent;color:#fff;box-shadow:0 5px 12px rgba(13,143,134,.35);transform:translateY(-1px)}
.rl-sec .rencontre-lucarne-interest-add-row{display:flex;gap:8px}
.rl-sec .rencontre-lucarne-interest-add-row input{flex:1;min-width:0;padding:11px 13px;border:1.5px solid #dbe7ee;border-radius:14px;background:#f8fbfc;font-size:14px}
.rl-sec .rencontre-lucarne-interest-add-row button{width:46px;border:0;border-radius:14px;background:linear-gradient(135deg,#0C5424,#0F7A45);color:#fff;font-size:22px;font-weight:700}
.rl-form .rencontre-lucarne-publish-btn{position:sticky;bottom:6px;width:100%;margin-top:6px;padding:16px;border:0;border-radius:18px;font-size:16.5px;font-weight:800;letter-spacing:.3px;color:#fff;background:linear-gradient(135deg,#ff5f7e,#e11d48);box-shadow:0 12px 26px rgba(225,29,72,.38);transition:transform .12s}
.rl-form .rencontre-lucarne-publish-btn:active{transform:scale(.98)}
body.dark-mode #rencontre-publish-modal .modal-box{background:linear-gradient(180deg,#10202a,#0B1A12 220px)!important}
body.dark-mode .rl-sec{background:#16232b;border-color:#26363f}
body.dark-mode .rl-lab{color:#E9EDEF}
body.dark-mode .rl-sec textarea,body.dark-mode .rl-sec select,body.dark-mode .rl-phone,body.dark-mode .rl-sec .rencontre-interest-chip,body.dark-mode .rl-sec .rencontre-lucarne-interest-add-row input{background:#1c2a33!important;color:#E9EDEF;border-color:#33444e!important}

/* ===== Classement des villes connectées ===== */
#mv-city-rank{margin:6px 14px 14px;padding:14px;border-radius:22px;background:linear-gradient(135deg,#0C5424,#0D6E8C 60%,#1E9E5A);color:#fff;box-shadow:0 12px 28px rgba(12,84,36,.28);position:relative;overflow:hidden}
#mv-city-rank::after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(255,194,46,.35),transparent 70%);pointer-events:none}
.mcr-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;position:relative;z-index:1}
.mcr-title{font-size:14.5px;font-weight:800;letter-spacing:.2px}
.mcr-live{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.16)}
.mcr-live i{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 rgba(74,222,128,.7);animation:mcrPulse 1.8s infinite}
@keyframes mcrPulse{70%{box-shadow:0 0 0 7px rgba(74,222,128,0)}100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}}
.mcr-row{display:flex;align-items:center;gap:10px;padding:8px 10px;margin-top:6px;border-radius:14px;background:rgba(255,255,255,.12);position:relative;z-index:1}
.mcr-row.mcr-me{background:rgba(255,255,255,.24);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.mcr-medal{font-size:24px;line-height:1}
.mcr-mid{flex:1;min-width:0}
.mcr-city{font-size:14.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcr-city em{font-style:normal;font-size:10.5px;font-weight:700;margin-left:6px;padding:2px 7px;border-radius:999px;background:#FFC22E;color:#4a3000}
.mcr-bar{height:6px;border-radius:3px;background:rgba(255,255,255,.2);margin-top:5px;overflow:hidden}
.mcr-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#FFC22E,#fde68a)}
.mcr-n{text-align:right;line-height:1.1}
.mcr-n b{display:block;font-size:20px;font-weight:800}
.mcr-n small{font-size:10.5px;opacity:.8;font-weight:600}
.mcr-empty{font-size:12.5px;opacity:.85;padding:6px 2px;position:relative;z-index:1}
.mcr-live{white-space:nowrap}.mcr-title{white-space:nowrap}

/* ===== Objets perdus & trouvés ===== */
#tab-objets{padding-bottom:90px}
.lf-hero{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:4px 0 14px;padding:18px;border-radius:24px;color:#fff;background:linear-gradient(135deg,#0C5424,#0D6E8C 55%,#1E9E5A);box-shadow:0 12px 28px rgba(12,84,36,.26);position:relative;overflow:hidden}
.lf-hero::after{content:"🔎";position:absolute;right:-8px;bottom:-22px;font-size:96px;opacity:.12}
.lf-hero h2{margin:0 0 4px;font-size:20px;font-weight:800;color:#fff}
.lf-hero p{margin:0;font-size:12.5px;line-height:1.45;opacity:.88;max-width:280px}
.lf-pub{flex:0 0 auto;border:0;border-radius:14px;padding:11px 16px;font-weight:800;font-size:13.5px;color:#4a3000;background:linear-gradient(135deg,#FFC22E,#f59e0b);box-shadow:0 8px 18px rgba(245,158,11,.4);position:relative;z-index:1;white-space:nowrap}
.lf-seg{display:flex;gap:6px;padding:5px;border-radius:16px;background:#eaf1f5;margin-bottom:12px}
.lf-seg button{flex:1;border:0;border-radius:12px;padding:10px 6px;font-weight:700;font-size:13.5px;background:transparent;color:#4a6272}
.lf-seg button.on{background:#fff;color:#0C5424;box-shadow:0 3px 10px rgba(12,84,36,.14)}
.lf-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}
.lf-filters .form-input{flex:1 1 100%}.lf-filters .form-select{flex:1 1 55%}
.lf-mine{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#4a6272}
.lf-list{display:flex;flex-direction:column;gap:12px}
.lf-card{display:flex;gap:12px;padding:10px;border-radius:20px;background:#fff;border:1px solid #e5eef2;box-shadow:0 6px 16px rgba(12,84,36,.07);cursor:pointer;transition:transform .12s}
.lf-card:active{transform:scale(.985)}
.lf-card.lf-done{opacity:.62}
.lf-thumb{flex:0 0 96px;height:96px;border-radius:16px;background:#eef5f8 center/cover no-repeat;display:grid;place-items:center;font-size:38px}
.lf-body{flex:1;min-width:0}
.lf-body h4{margin:6px 0 4px;font-size:15.5px;font-weight:800;color:#10202E;line-height:1.25}
.lf-meta{margin:0;font-size:12.5px;color:#34495a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lf-dim{color:#8a9aa6;margin-top:2px}
.lf-top{display:flex;gap:6px;flex-wrap:wrap}
.lf-badge{font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px}
.lf-perdu{background:#fde8e8;color:#c0262d}.lf-trouve{background:#dcf5e6;color:#12803f}.lf-ok{background:#e3f1ff;color:#1c5fa8}.lf-mine-b{background:#fff3d6;color:#8a5a00}
.lf-empty{text-align:center;padding:32px 16px;color:#6b7c88;font-size:14px;line-height:1.5}
.lf-empty-ic{font-size:44px;margin-bottom:6px}
.lf-box{max-width:440px!important;width:calc(100% - 24px);max-height:92vh;overflow-y:auto;border-radius:26px!important}
.lf-ptitle{margin:0 0 10px;font-size:20px;font-weight:800;color:#0C5424}
.lf-kind{display:flex;gap:10px;margin-bottom:6px}
.lf-kind button{flex:1;border:2px solid #dbe7ee;border-radius:18px;padding:12px 6px;background:#fff;display:flex;flex-direction:column;align-items:center;gap:2px;color:#34495a}
.lf-kind i{font-style:normal;font-size:28px}.lf-kind b{font-size:14px}.lf-kind small{font-size:11px;opacity:.7}
.lf-kind button.on[data-fk=perdu]{border-color:#e5484d;background:#fff0f0;color:#b3261e}
.lf-kind button.on[data-fk=trouve]{border-color:#18a558;background:#effaf3;color:#12803f}
.lf-cats{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:4px}
.lf-cats button{border:1.5px solid #dbe7ee;background:#f8fbfc;border-radius:999px;padding:7px 12px;font-size:12.5px;font-weight:700;color:#34495a}
.lf-cats button.on{background:linear-gradient(135deg,#1E9E5A,#0D8F86);color:#fff;border-color:transparent}
.lf-photos{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.lf-ph{position:relative;width:72px;height:72px;border-radius:14px;overflow:hidden}
.lf-ph img{width:100%;height:100%;object-fit:cover}
.lf-ph button{position:absolute;top:3px;right:3px;width:22px;height:22px;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:11px}
.lf-addphoto{display:block;text-align:center;padding:12px;border:2px dashed #1E9E5A;border-radius:14px;background:#f0fbfa;color:#0B7A72;font-weight:800;font-size:14px}
.lf-check{display:flex;gap:8px;align-items:center;margin:12px 0 4px;font-size:13px;font-weight:600;color:#34495a}
.lf-warn{margin:10px 0;padding:9px 11px;border-radius:12px;background:#fff8e6;color:#8a5a00;font-size:12px;line-height:1.45}
.lf-submit{display:block;width:100%;border:0;border-radius:16px;padding:14px;font-size:15.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#1E9E5A,#0D8F86);box-shadow:0 8px 20px rgba(13,143,134,.35)}
.lf-dph{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:18px}
.lf-dph img{flex:0 0 100%;max-height:300px;object-fit:cover;border-radius:18px;scroll-snap-align:center}
.lf-dnoph{height:120px;display:grid;place-items:center;font-size:56px;border-radius:18px;background:linear-gradient(135deg,#e6f7f5,#eaf2fb)}
.lf-dtitle{margin:8px 0 8px;font-size:20px;font-weight:800;color:#10202E}
.lf-info{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:16px;background:#f5f9fb}
.lf-info div{display:flex;gap:10px;align-items:center;font-size:13.5px;color:#27404f}
.lf-info i{font-style:normal;width:28px;height:28px;border-radius:9px;background:#fff;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.lf-ddesc{margin:12px 0;font-size:14.5px;line-height:1.5;color:#27404f}
.lf-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.lf-link{display:block;text-align:center;padding:12px;border-radius:14px;border:1.5px solid #cfe0e8;background:#fff;color:#0C5424;font-weight:700;font-size:14px;text-decoration:none}
.lf-ok-btn{border-color:#18a558;color:#12803f;background:#effaf3}.lf-danger{border-color:#f3c5c7;color:#c0262d}
body.dark-mode .lf-card,body.dark-mode .lf-info{background:#16232b;border-color:#26363f}
body.dark-mode .lf-body h4,body.dark-mode .lf-dtitle{color:#E9EDEF}

/* === Sélection du texte dans la bulle, façon WhatsApp (16/10/2026) === */
.mv-insel, .mv-insel * { -webkit-user-select: text !important; user-select: text !important; -webkit-touch-callout: default !important; }
.mv-insel { outline: 2px solid rgba(37,211,102,.55); outline-offset: 2px; }
.mv-insel ::selection, .mv-insel::selection { background: rgba(37,211,102,.35); }
#mv-insel-bar { position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(76px + env(safe-area-inset-bottom, 0px)); z-index: 100000;
  display: flex; align-items: center; gap: 6px; max-width: calc(100% - 24px); background: #13231A; color: #e9edef;
  padding: 6px 6px 6px 12px; border-radius: 999px; box-shadow: 0 6px 22px rgba(0,0,0,.3); font: 600 13px system-ui, sans-serif; }
#mv-insel-bar .mvi-hint { font-weight: 500; font-size: 12px; opacity: .8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#mv-insel-bar button { border: none; border-radius: 999px; padding: 8px 12px; background: rgba(255,255,255,.1); color: inherit; font: inherit; cursor: pointer; white-space: nowrap; }
#mv-insel-bar button.mvi-main { background: #1E9E5A; color: #0B1A12; }

/* === Conseiller Pub Ma Ville (17/10/2026) === */
#mv-conseiller-pub{position:fixed;inset:0;z-index:9000;display:none;flex-direction:column;background:#0B1A12;color:#e9edef;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
#mv-conseiller-pub.open{display:flex}
body.cp-open{overflow:hidden}
#mv-conseiller-pub .cp-head{display:flex;align-items:center;gap:10px;padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top,0px));background:#13231A}
#mv-conseiller-pub .cp-back{background:none;border:none;color:#e9edef;font-size:22px;padding:4px 6px;cursor:pointer}
#mv-conseiller-pub .cp-av,#cp-disc-row .cp-av{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:21px;background:linear-gradient(135deg,#F5B301,#21C063);flex:0 0 auto}
#mv-conseiller-pub .cp-id{display:flex;flex-direction:column;line-height:1.25}
#mv-conseiller-pub .cp-id small{color:#8696a0;font-size:12px}
#mv-conseiller-pub .cp-msgs{flex:1;overflow-y:auto;padding:12px 10px 6px;display:flex;flex-direction:column;gap:6px;background:#0B1A12}
#mv-conseiller-pub .cp-b{max-width:84%;padding:8px 10px 18px;border-radius:10px;font-size:14.5px;line-height:1.45;position:relative;word-wrap:break-word}
#mv-conseiller-pub .cp-bot{align-self:flex-start;background:#13231A;border-top-left-radius:2px}
#mv-conseiller-pub .cp-me{align-self:flex-end;background:#005c4b;border-top-right-radius:2px}
#mv-conseiller-pub .cp-t{position:absolute;right:8px;bottom:3px;font-size:10.5px;font-style:normal;color:#8696a0}
#mv-conseiller-pub .cp-plan{margin:8px 0;padding:8px 10px;border-radius:8px;background:rgba(255,255,255,.05);border-left:3px solid #F5B301}
#mv-conseiller-pub .cp-plan small{color:#aebac1}
#mv-conseiller-pub .cp-promo{color:#21C063;font-weight:800}
#mv-conseiller-pub .cp-typing{padding:12px 14px;display:flex;gap:4px}
#mv-conseiller-pub .cp-typing span{width:7px;height:7px;border-radius:50%;background:#8696a0;animation:cpDot 1s infinite}
#mv-conseiller-pub .cp-typing span:nth-child(2){animation-delay:.15s}#mv-conseiller-pub .cp-typing span:nth-child(3){animation-delay:.3s}
@keyframes cpDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
#mv-conseiller-pub .cp-chips{display:flex;flex-wrap:wrap;gap:6px;padding:6px 10px}
#mv-conseiller-pub .cp-chips button{border:1px solid #21C063;background:rgba(33,192,99,.08);color:#21C063;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer}
#mv-conseiller-pub .cp-bar{display:flex;gap:8px;padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));background:#0B1A12}
#mv-conseiller-pub .cp-in{flex:1;border:none;border-radius:24px;padding:12px 16px;background:#2a3942;color:#e9edef;font-size:15px;outline:none}
#mv-conseiller-pub .cp-send{width:46px;height:46px;border-radius:50%;border:none;background:#21C063;color:#0B1A12;font-size:18px;cursor:pointer}
#cp-home-invite{display:flex;align-items:center;gap:12px;width:100%;margin:10px 0;padding:12px 14px;border:none;border-radius:16px;text-align:left;cursor:pointer;color:#fff;
  background:linear-gradient(120deg,#0C5424,#11706B);box-shadow:0 6px 18px rgba(12,84,36,.25)}
#cp-home-invite .cp-hi-ic{font-size:26px;animation:cpPulse 2s infinite}
#cp-home-invite .cp-hi-tx{flex:1;display:flex;flex-direction:column;line-height:1.3}
#cp-home-invite .cp-hi-tx small{opacity:.85;font-size:12.5px}
#cp-home-invite .cp-hi-go{background:#21C063;color:#0B1A12;border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-size:18px}
@keyframes cpPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
#cp-disc-row{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:4px 0 6px;border-radius:12px;cursor:pointer;background:rgba(33,192,99,.08)}
#cp-disc-row .cp-row-body{flex:1;min-width:0}
#cp-disc-row .cp-row-name{font-weight:800;font-size:15px}
#cp-disc-row .cp-row-prev{font-size:13px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#cp-disc-row .cp-pin{font-size:12px}
@media (prefers-reduced-motion:reduce){#cp-home-invite .cp-hi-ic{animation:none}}

/* === Numéro dans Infos du contact (17/10/2026) === */
#mv-contact-phone{margin:6px 16px 12px}
#mv-contact-phone .mvcp-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:rgba(0,0,0,.04)}
body.dark-mode #mv-contact-phone .mvcp-row{background:#13231A}
#mv-contact-phone .mvcp-row>div{flex:1;display:flex;flex-direction:column}
#mv-contact-phone small{font-size:12px;opacity:.7}
#mv-contact-phone b{font-size:17px;letter-spacing:.3px}
#mv-contact-phone .mvcp-btn{width:42px;height:42px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;font-size:18px;text-decoration:none;background:rgba(33,192,99,.15);cursor:pointer}
#mv-contact-phone .mvcp-hint{font-size:13px;opacity:.75;text-align:center;padding:6px 10px}

/* === Ville de l'interlocuteur (17/10/2026) === */
#mv-chat-city{font-size:11.5px;line-height:1.2;opacity:.8;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* (17/10/2026) Connexion par adresse mail + code — email-login.js */
.mve-box{margin:10px 0 0}
.mve-btn svg{color:#0C5424}
#mve-sheet{position:fixed;inset:0;z-index:100000;background:rgba(10,20,30,.55);display:flex;align-items:flex-end;justify-content:center}
#mve-sheet .mve-card{width:100%;max-width:440px;background:#fff;color:#1b2433;border-radius:22px 22px 0 0;padding:22px 18px calc(18px + env(safe-area-inset-bottom));text-align:center;box-shadow:0 -6px 30px rgba(0,0,0,.2)}
#mve-sheet .mve-ic{width:52px;height:52px;margin:0 auto 8px;border-radius:50%;background:#E8F0FE;color:#0C5424;display:flex;align-items:center;justify-content:center}
#mve-sheet h3{margin:0 0 6px;font-size:19px}
#mve-sheet .mve-sub,#mve-sheet .mve-sent{margin:0 0 14px;font-size:14px;line-height:1.45;color:#475467}
#mve-sheet input{width:100%;box-sizing:border-box;min-height:52px;border:1.5px solid #D0D5DD;border-radius:14px;padding:0 14px;font-size:17px;margin-bottom:12px;background:#fff;color:#1b2433}
#mve-sheet #mve-code{text-align:center;letter-spacing:6px;font-size:22px;font-weight:700}
#mve-sheet input:focus{outline:none;border-color:#0F7B5F;box-shadow:0 0 0 3px rgba(15,123,95,.15)}
#mve-sheet .mve-main{width:100%;min-height:52px;border:0;border-radius:14px;background:#0F7B5F;color:#fff;font-size:16.5px;font-weight:700;cursor:pointer}
#mve-sheet .mve-main[disabled]{opacity:.65}
#mve-sheet .mve-link{display:block;width:100%;background:none;border:0;color:#0C5424;font-size:14.5px;font-weight:600;padding:10px;cursor:pointer}
#mve-sheet .mve-close{color:#667085;margin-top:4px}
#mve-sheet .mve-err{background:#FEF3F2;color:#B42318;border-radius:12px;padding:10px 12px;font-size:13.5px;line-height:1.4;margin:10px 0 0;text-align:left}
body.dark-mode #mve-sheet .mve-card{background:#13231A;color:#e9edef}
body.dark-mode #mve-sheet input{background:#0B1A12;color:#e9edef;border-color:#3b4a54}
body.dark-mode #mve-sheet .mve-sub,body.dark-mode #mve-sheet .mve-sent{color:#aebac1}
body.dark-mode #mve-sheet .mve-link{color:#8ab4f8}
#mve-sheet #mve-code::placeholder{letter-spacing:normal;font-size:16px;font-weight:500}

/* (18/10/2026) Administration › Sponsors réorganisé — admin-sponsors.js */
.adm-sp-card{border:1px solid rgba(12,84,36,.14);border-radius:16px;background:var(--paper,#fff);margin:0 0 16px;overflow:hidden}
.adm-sp-card>summary{list-style:none;cursor:pointer;padding:14px 16px;display:flex;flex-direction:column;gap:2px;font-weight:800;font-size:16px;color:var(--navy,#0C5424)}
.adm-sp-card>summary::-webkit-details-marker{display:none}
.adm-sp-card>summary small{font-weight:500;font-size:12.5px;color:var(--muted,#667085)}
.adm-sp-card>summary::after{content:"▾";position:absolute;right:18px;margin-top:2px;font-size:14px;color:var(--muted,#667085)}
.adm-sp-card>summary{position:relative;padding-right:40px}
.adm-sp-card[open]>summary::after{content:"▴"}
.adm-sp-card>form,.adm-sp-card>div,.adm-sp-card>p{padding:0 16px 16px}
.adm-sp-add{border:2px solid #0F7B5F;background:linear-gradient(180deg,rgba(15,123,95,.06),transparent 90px)}
.adm-sp-add>summary{color:#0F7B5F}
.adm-sp-h{font-size:17px;margin:22px 0 8px}
.adm-sp-fold{margin-top:22px}
.adm-sp-hint{font-size:12px;color:var(--muted,#667085);margin:4px 0 8px;line-height:1.4}
.adm-sp-err{background:#FEF3F2;color:#B42318;border-radius:10px;padding:10px 12px;font-size:13px;margin:10px 0 0}
.adm-sp-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:420px){.adm-sp-two{grid-template-columns:1fr}}
.adm-sp-logo-row{display:flex;gap:12px;align-items:center}
.adm-sp-logo-preview{flex:none;width:64px;height:64px;border-radius:14px;background:var(--paper-alt,#F2F4F7);display:flex;align-items:center;justify-content:center;font-size:28px;overflow:hidden;border:1px solid rgba(12,84,36,.12)}
.adm-sp-logo-preview img{width:100%;height:100%;object-fit:contain;background:#fff}
.adm-sp-cities{display:flex;flex-wrap:wrap;gap:6px;max-height:190px;overflow:auto;padding:8px;border:1px solid rgba(12,84,36,.12);border-radius:12px;background:var(--paper-alt,#F8FAFC)}
.adm-sp-cities>input[type=search]{flex:1 1 100%;margin:0 0 4px}
.adm-sp-city{display:flex;align-items:center;gap:5px;font-size:12.5px;background:var(--paper,#fff);border:1px solid rgba(12,84,36,.12);padding:5px 10px;border-radius:999px;cursor:pointer}
.adm-sp-city input{width:auto;margin:0}
.adm-sp-city.all{font-weight:700}
.adm-sp-city[hidden]{display:none}
.adm-sp-ghost{width:100%;min-height:44px;border:1.5px dashed #0F7B5F;background:transparent;color:#0F7B5F;border-radius:12px;font-weight:700;font-size:13.5px;cursor:pointer;margin:2px 0 4px}
.adm-sp-where{font-size:13.5px;margin:6px 0 10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.adm-sp-where a{background:#0F7B5F;color:#fff;padding:4px 10px;border-radius:999px;text-decoration:none;font-weight:700;font-size:12.5px}
body.dark-mode .adm-sp-card{background:#13231A;border-color:#2a3942}
body.dark-mode .adm-sp-city{background:#0B1A12;border-color:#2a3942;color:#e9edef}
body.dark-mode .adm-sp-cities{background:#0B1A12;border-color:#2a3942}

/* (18/10/2026) Mon quartier — quartier.js */
.mv-quartier-line{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:700;color:#BFE3E0;margin-top:1px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mv-quartier-line span{overflow:hidden;text-overflow:ellipsis}
.mv-quartier-line svg{flex:none;color:#7FD6B8}
.mv-quartier-line .mvq-empty{font-weight:600;opacity:.75;text-decoration:underline dotted;text-underline-offset:3px}
#mvq-box{margin-top:16px;padding-top:14px;border-top:1px solid rgba(12,84,36,.12)}
#mvq-box .form-label small{font-weight:500;color:var(--muted,#667085)}
.mvq-row{position:relative}
#mvq-input{width:100%;box-sizing:border-box;min-height:48px;border:1.5px solid #D0D5DD;border-radius:12px;padding:0 40px 0 12px;font-size:16px;background:var(--paper,#fff);color:inherit}
#mvq-input:focus{outline:none;border-color:#0F7B5F;box-shadow:0 0 0 3px rgba(15,123,95,.15)}
.mvq-x{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:50%;background:rgba(12,84,36,.08);color:inherit;cursor:pointer}
.mvq-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
.mvq-chip{border:1px solid rgba(12,84,36,.18);background:var(--paper-alt,#F2F4F7);color:inherit;border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer}
.mvq-gps{display:inline-flex;align-items:center;gap:6px;margin-top:10px;border:1.5px dashed #0F7B5F;background:transparent;color:#0F7B5F;border-radius:12px;padding:9px 14px;font-weight:700;font-size:13.5px;cursor:pointer;width:100%;justify-content:center}
.mvq-note{font-size:12px;color:var(--muted,#667085);margin:8px 0 0;line-height:1.4}
body.dark-mode #mvq-input{background:#0B1A12;border-color:#3b4a54}
body.dark-mode .mvq-chip{background:#0B1A12;border-color:#3b4a54}

/* (18/10/2026) Recherche « Où chercher ? » — search-scope.js */
#mvs-wrap{margin:4px 0 8px}
.mvs-label{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#667085);margin:8px 0 6px}
.mvs-scope{display:flex;flex-wrap:wrap;gap:6px}
.mvs-scope button{border:1.5px solid rgba(12,84,36,.18);background:var(--paper,#fff);color:inherit;border-radius:999px;padding:8px 12px;font-size:13.5px;font-weight:700;cursor:pointer}
.mvs-scope button.on{background:#0F7B5F;border-color:#0F7B5F;color:#fff}
#mvs-place{margin-top:8px}
.mvs-explain{font-size:12.5px;line-height:1.45;color:var(--ink,#344054);background:rgba(15,123,95,.08);border-radius:10px;padding:8px 10px;margin:8px 0 2px}
.mvs-explain b{color:#0F7B5F}
.mvs-link{background:none;border:0;padding:0;color:#0F7B5F;font-weight:800;text-decoration:underline;cursor:pointer;font-size:inherit}
.mvs-here{background:#0F7B5F !important;color:#fff !important}
body.dark-mode .mvs-scope button{background:#0B1A12;border-color:#3b4a54}
body.dark-mode .mvs-scope button.on{background:#00a884;border-color:#00a884}
body.dark-mode .mvs-explain{background:rgba(0,168,132,.12);color:#d1d7db}
body.dark-mode .mvs-explain b{color:#1E9E5A}

/* ---- Date de publication des annonces Marketplace (18/10/2026) ---- */
.mvfb-posted{font-size:12px;color:var(--muted);margin:2px 0 6px;font-weight:600}
.mvfb-when{display:block;font-size:11px;opacity:.75;font-weight:500;margin-top:2px}
body.dark-mode .mvfb-posted{color:#8696a0}

/* ---- Écran d'inscription : présentation « maquette » (18/10/2026) ---- */
.mv-welcome{
  background:
    radial-gradient(circle at 0% 0%, #f7931e 0 70px, transparent 71px),
    radial-gradient(circle at 100% 0%, #1f9d55 0 80px, transparent 81px),
    linear-gradient(180deg,#bfe3f5 0%,#e8f6fb 38%,#eef8f2 70%,#dff3e6 100%) !important;
  padding:24px 14px 32px !important;
}
.mv-welcome-card{
  max-width:400px !important;border-radius:26px !important;padding:22px 20px 18px !important;
  box-shadow:0 18px 44px rgba(12,84,36,.22) !important;
}
.mv-welcome-logo{width:150px !important;height:auto !important;border-radius:0 !important;margin:0 auto 4px !important;background:transparent !important}
#mv-welcome-title{text-align:center;font-size:26px !important;font-weight:800 !important;color:#0B2E4A;margin:2px 0 4px}
.mv-welcome-sub{text-align:center;color:#2d3d4f !important;font-size:14px !important;line-height:1.4;margin:0 0 14px !important}
#mv-welcome-form label{font-size:13px;font-weight:700;color:#10202E}
.mv-welcome-phone{border:1.5px solid #cfd9e3 !important;border-radius:14px !important;background:#f7fafc !important;min-height:52px}
.mv-welcome-phone span{color:#0B7854;font-weight:800}
#mv-welcome-form input[type=text],#mv-welcome-form input[type=tel]{border:1.5px solid #cfd9e3;border-radius:14px}
.mv-welcome-chips button{border-radius:999px !important}
.mv-welcome-chips button.active{background:#0C6C3C !important;color:#fff !important;border-color:#0C6C3C !important}
.mv-welcome-submit{
  width:100%;min-height:54px !important;border-radius:999px !important;margin-top:14px !important;
  background:linear-gradient(90deg,#14a06a,#0b7a4f) !important;font-size:17px !important;
  display:flex;align-items:center;justify-content:center;gap:10px;
}
.mv-welcome-submit::after{content:"→";font-size:20px;line-height:1}
.mv-welcome-secure{display:flex;align-items:center;justify-content:center;gap:6px;color:#0B7854;font-size:12.5px;font-weight:600;margin:10px 0 0;text-align:center}
.mv-welcome-or{display:flex;align-items:center;gap:10px;color:#6b7b8c;font-size:13px;margin:12px 0 10px}
.mv-welcome-or::before,.mv-welcome-or::after{content:"";flex:1;height:1px;background:#d9e2ea}
.mv-welcome-login{width:100%;display:flex;align-items:center;gap:10px;border:1.5px solid #cfd9e3;border-radius:14px;background:#fff;padding:12px 14px;font:inherit;color:#10202E;cursor:pointer;text-align:left}
.mv-welcome-login-ico{width:30px;height:30px;border-radius:50%;background:#e6f6ef;color:#0B7854;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.mv-welcome-login span:nth-child(2){flex:1;font-size:14px}
.mv-welcome-login b{color:#0B7854;font-size:14px;font-weight:800}
.mv-welcome-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:16px 0 4px;text-align:center;font-size:11.5px;line-height:1.25;color:#2d3d4f;font-weight:600}
.mv-welcome-feats i{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 auto 6px;border-radius:50%;background:#f1f5f9;font-style:normal;font-size:20px}
.mv-welcome-feats span:nth-child(1) i{background:#fff1e3}
.mv-welcome-feats span:nth-child(2) i{background:#e7f8ee}
.mv-welcome-feats span:nth-child(3) i{background:#e6f0fd}
.mv-welcome-feats span:nth-child(4) i{background:#f1e9ff}
body.dark-mode .mv-welcome{background:linear-gradient(160deg,#0C5424 0%,#0A2A40 55%,#0D5F59 100%) !important}
.mv-welcome-phone input{border:0 !important;box-shadow:none !important;background:transparent !important;border-radius:0 !important}
