/* Qactus Expat — design commun (maquette + appli réelle) */
:root{
  --bg:#0b0f17;--bg2:#0f1520;--card:#151d2b;--card2:#1a2436;--border:#26324a;
  --text:#e8edf7;--muted:#93a1b8;--accent:#e11d2e;--accent2:#ff4757;--green:#22c55e;--blue:#3b82f6;--gold:#f5b301;
  --moi:#b3121f;--accent-txt:#ff8a94;--rail:76px;--liste:340px;
  --f:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font:15px/1.45 var(--f);-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
input,textarea,select{font:inherit;color:var(--text)}
a{color:var(--accent2)}
.cache{display:none!important}

/* ── Structure : rail (navigation) | liste | contenu | infos ── */
#app{display:flex;height:100%;overflow:hidden}
#rail{width:var(--rail);flex:none;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:14px 0;gap:6px}
#rail .logo{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#7a0912,var(--accent));display:grid;place-items:center;font:900 22px var(--f);margin-bottom:12px;box-shadow:0 6px 18px rgba(225,29,46,.35)}
.nav{position:relative;width:60px;padding:8px 0 6px;border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--muted);font-size:10.5px;font-weight:600}
.nav .ic{font-size:21px;line-height:1}
.nav.on{background:var(--card2);color:#fff}
.nav.on .ic{filter:drop-shadow(0 0 6px rgba(225,29,46,.6))}
.nav .pastille{position:absolute;top:4px;right:8px;background:var(--accent);color:#fff;border-radius:10px;font-size:10px;padding:1px 5px;font-weight:800}
#rail .bas{margin-top:auto}

#liste{width:var(--liste);flex:none;border-right:1px solid var(--border);display:flex;flex-direction:column;min-width:0;background:var(--bg)}
#contenu{flex:1;min-width:0;display:flex;flex-direction:column;background:radial-gradient(1200px 600px at 80% -10%,rgba(225,29,46,.08),transparent 60%),var(--bg)}
#infos{width:300px;flex:none;border-left:1px solid var(--border);overflow-y:auto;background:var(--bg2)}

.tete{flex:none;display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);min-height:62px}
.tete h1{font-size:20px;margin:0;font-weight:800;letter-spacing:-.3px}
.tete h2{font-size:16px;margin:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tete .sous{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tete .actions{margin-left:auto;display:flex;gap:4px}
.rond{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:17px;background:var(--card);flex:none}
.rond:hover{background:var(--card2)}
.retour{display:none}
.defile{flex:1;overflow-y:auto;min-height:0}
.recherche{margin:10px 14px;display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:9px 12px;color:var(--muted)}
.recherche input{background:none;border:0;outline:0;flex:1;min-width:0}
.puces{display:flex;gap:6px;overflow-x:auto;padding:0 14px 10px;scrollbar-width:none}
.puces::-webkit-scrollbar{display:none}
.puce{flex:none;padding:6px 12px;border-radius:20px;background:var(--card);border:1px solid var(--border);font-size:13px;font-weight:600;color:var(--muted)}
.puce.on{background:var(--text);color:var(--bg);border-color:var(--text)}

/* ── Avatars, drapeaux, badges ── */
.av{width:46px;height:46px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:800;font-size:16px;color:#fff;position:relative}
.av.p{width:34px;height:34px;font-size:13px}
.av.g{width:84px;height:84px;font-size:30px}
.av .en-ligne{position:absolute;right:0;bottom:0;width:12px;height:12px;border-radius:50%;background:var(--green);border:2px solid var(--bg)}
.av.groupe{border-radius:14px}
.drap{width:22px;height:16px;border-radius:3px;object-fit:cover;vertical-align:-3px;box-shadow:0 0 0 1px rgba(255,255,255,.1)}
.av .drap{position:absolute;right:-3px;bottom:-3px;width:20px;height:14px;box-shadow:0 0 0 2px var(--bg)}
.badge{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:10px;white-space:nowrap}
.b-ici{background:rgba(34,197,94,.15);color:#4ade80}
.b-part{background:rgba(59,130,246,.15);color:#7fb0ff}
.b-env{background:rgba(147,161,184,.15);color:#c3cede}
.b-verif{background:rgba(245,179,1,.15);color:#fcd34d}
.b-amb{background:rgba(225,29,46,.18);color:var(--accent-txt)}
.b-off{background:var(--accent);color:#fff}

/* ── Liste des conversations ── */
.conv{display:flex;gap:12px;padding:11px 14px;align-items:center;border-radius:12px;margin:2px 6px;cursor:pointer}
.conv:hover{background:var(--card)}
.conv.on{background:var(--card2)}
.conv .mil{flex:1;min-width:0}
.conv .l1{display:flex;align-items:center;gap:6px}
.conv .nom{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv .heure{margin-left:auto;font-size:11.5px;color:var(--muted);flex:none}
.conv .l2{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13.5px}
.conv .apercu{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.conv .nb{background:var(--accent);color:#fff;border-radius:10px;font-size:11px;font-weight:800;padding:1px 7px;flex:none}
.titre-sec{font-size:11.5px;font-weight:800;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;padding:14px 20px 6px}

/* ── Fil de discussion ── */
#fil{flex:1;overflow-y:auto;padding:16px 18px 8px;display:flex;flex-direction:column;gap:4px}
.jour{align-self:center;font-size:11.5px;color:var(--muted);background:var(--card);padding:3px 10px;border-radius:10px;margin:10px 0}
.msg{display:flex;gap:8px;max-width:78%;align-items:flex-end}
.msg.moi{align-self:flex-end;flex-direction:row-reverse}
.bulle{background:var(--card);border:1px solid var(--border);border-radius:16px 16px 16px 4px;padding:8px 12px;position:relative;min-width:60px}
.msg.moi .bulle{background:linear-gradient(135deg,var(--moi),var(--accent));border-color:transparent;border-radius:16px 16px 4px 16px}
.bulle .qui{font-size:12px;font-weight:700;color:var(--accent-txt);margin-bottom:2px;display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.bulle .txt{white-space:pre-wrap;word-wrap:break-word}
.bulle .h{font-size:10.5px;color:rgba(255,255,255,.55);text-align:right;margin-top:2px}
.bulle .menu{position:absolute;top:4px;right:-30px;opacity:0;transition:.15s;font-size:15px;width:26px;height:26px;border-radius:50%;background:var(--card2)}
.msg.moi .bulle .menu{right:auto;left:-30px}
.msg:hover .bulle .menu{opacity:1}
.photo{width:240px;max-width:100%;height:160px;border-radius:12px;margin:2px 0 4px;display:grid;place-items:end start;padding:8px;font-size:12px;font-weight:600;color:#fff;text-shadow:0 1px 4px #000}
.doc{display:flex;gap:10px;align-items:center;background:rgba(0,0,0,.25);border-radius:10px;padding:8px 10px;margin:2px 0 4px;min-width:220px}
.doc .ico{width:38px;height:44px;border-radius:6px;background:#e5484d;display:grid;place-items:center;font-size:11px;font-weight:900}
.doc .n{font-weight:700;font-size:13.5px}.doc .t{font-size:11.5px;color:var(--muted)}
.msg.moi .doc .t{color:rgba(255,255,255,.7)}
.vocal{display:flex;align-items:center;gap:10px;min-width:220px;padding:2px 0}
.vocal .lire{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--accent);font-size:13px;flex:none}
.onde{display:flex;align-items:center;gap:2px;height:28px;flex:1}
.onde i{display:block;width:3px;border-radius:2px;background:rgba(255,255,255,.45)}
.onde i.lu{background:#fff}
.vocal .duree{font-size:11.5px;color:rgba(255,255,255,.7)}
.ecrit{align-self:flex-start;font-size:12.5px;color:var(--muted);padding:4px 46px;font-style:italic}
.ecrit b{animation:clign 1s infinite}
@keyframes clign{50%{opacity:.2}}
.alerte-arnaque{margin:0 14px 8px;background:rgba(245,179,1,.12);border:1px solid rgba(245,179,1,.4);color:#fde68a;border-radius:12px;padding:10px 12px;font-size:13px;display:flex;gap:10px;align-items:flex-start}
.alerte-arnaque .acts{display:flex;gap:6px;margin-top:6px}
.btn{padding:9px 16px;border-radius:12px;font-weight:700;font-size:14px;background:var(--card2);border:1px solid var(--border)}
.btn.rouge{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.petit{padding:5px 10px;font-size:12.5px;border-radius:9px}
.btn.plein{width:100%}
#saisie{flex:none;display:flex;align-items:flex-end;gap:8px;padding:10px 14px 14px;border-top:1px solid var(--border);background:var(--bg2);position:relative}
#saisie textarea{flex:1;resize:none;background:var(--card);border:1px solid var(--border);border-radius:20px;padding:10px 14px;max-height:120px;outline:0;line-height:1.35}
#saisie .rond{background:var(--card)}
/* ancien bouton rond rouge : remplacé par le 👍 / flèche façon Messenger (18/10/2026) */
#piece{position:absolute;bottom:64px;left:14px;background:var(--card2);border:1px solid var(--border);border-radius:14px;padding:6px;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(0,0,0,.5);z-index:5}
#piece button{text-align:left;padding:9px 14px;border-radius:10px;font-size:14px}
#piece button:hover{background:var(--card)}
#enreg{display:flex;align-items:center;gap:10px;flex:1;background:var(--card);border-radius:20px;padding:8px 14px;color:var(--accent-txt);font-weight:700}
#enreg .point{width:10px;height:10px;border-radius:50%;background:var(--accent);animation:clign 1s infinite}
.vide{flex:1;display:grid;place-items:center;text-align:center;color:var(--muted);padding:30px}
.vide .gros{font-size:54px;margin-bottom:6px}

/* ── Pays ── */
.grille-pays{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:10px;padding:6px 14px 20px}
.carte-pays{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px;text-align:left;display:flex;flex-direction:column;gap:6px;transition:.15s}
.carte-pays:hover{transform:translateY(-2px);border-color:#3a4a6a}
.carte-pays.on{border-color:var(--accent)}
.carte-pays img{width:40px;height:28px;border-radius:5px;object-fit:cover}
.carte-pays b{font-size:15px}
.carte-pays span{font-size:12px;color:var(--muted)}
.carte-pays .membres{color:#4ade80;font-weight:700}
.heros{position:relative;padding:22px 20px 18px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(225,29,46,.18),rgba(59,130,246,.08))}
.heros img{width:56px;height:38px;border-radius:6px;object-fit:cover;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.heros h2{font-size:26px;margin:10px 0 2px;letter-spacing:-.5px}
.heros .chiffres{display:flex;gap:16px;margin-top:10px;font-size:13px;color:var(--muted)}
.heros .chiffres b{color:var(--text);font-size:16px;display:block}
.onglets{display:flex;gap:4px;padding:10px 14px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}
.onglets button{padding:8px 14px;border-radius:10px;font-weight:700;font-size:13.5px;color:var(--muted);white-space:nowrap}
.onglets button.on{background:var(--card2);color:#fff}
.fiches{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;padding:14px}
.fiche{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px}
.fiche .ic{font-size:24px}
.fiche h3{margin:6px 0 4px;font-size:15px}
.fiche p{margin:0 0 10px;color:var(--muted);font-size:13px}
.fiche .src{font-size:11.5px;color:var(--muted);margin-top:8px}
.membre{display:flex;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border)}
.membre .mil{flex:1;min-width:0}
.membre .nom{font-weight:700}
.membre .det{font-size:12.5px;color:var(--muted)}
.membre .bdg{display:flex;gap:4px;flex-wrap:wrap;margin-top:3px}
.note{margin:14px;padding:12px 14px;border-radius:12px;background:var(--card);border:1px dashed var(--border);color:var(--muted);font-size:12.5px}

/* ── Carte ── */
.carte-monde{margin:14px;border-radius:16px;border:1px solid var(--border);background:radial-gradient(circle at 50% 50%,#13203a,#0b1222);position:relative;overflow:hidden;aspect-ratio:2/1}
.carte-monde svg{position:absolute;inset:0;width:100%;height:100%}
.pt{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer}
.pt .bul{border-radius:50%;background:rgba(225,29,46,.85);box-shadow:0 0 0 4px rgba(225,29,46,.25),0 0 18px rgba(225,29,46,.6);display:grid;place-items:center;color:#fff;font-weight:800;font-size:11px;animation:pouls 2.6s infinite}
.pt .lab{font-size:10.5px;font-weight:700;background:rgba(0,0,0,.6);padding:1px 6px;border-radius:6px;white-space:nowrap}
@keyframes pouls{50%{box-shadow:0 0 0 9px rgba(225,29,46,.08),0 0 18px rgba(225,29,46,.6)}}

/* ── Annonces ── */
.annonce{margin:8px 14px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;display:flex;gap:12px}
.annonce .ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:22px;flex:none}
.annonce h3{margin:0 0 3px;font-size:15px}
.annonce p{margin:0 0 6px;color:var(--muted);font-size:13px}
.annonce .meta{font-size:12px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* ── Profil ── */
.profil-tete{text-align:center;padding:24px 16px 16px}
.profil-tete .av{margin:0 auto 10px}
.profil-tete h2{margin:0;font-size:22px}
.bloc{margin:10px 14px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:6px 14px}
.bloc h3{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:10px 0 4px}
.ligne{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--border)}
.ligne:last-child{border-bottom:0}
.ligne .et{flex:1}
.ligne .et small{display:block;color:var(--muted);font-size:12px}
.ligne select,.ligne input[type=text]{background:var(--card2);border:1px solid var(--border);border-radius:9px;padding:6px 8px;max-width:160px}
.inter{width:44px;height:26px;border-radius:13px;background:#3a4560;position:relative;flex:none;transition:.2s}
.inter:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}
.inter.on{background:var(--green)}
.inter.on:after{left:21px}
.signal{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--border);align-items:flex-start}
.signal:last-child{border-bottom:0}
.signal .mil{flex:1;font-size:13.5px}
.signal .mil q{display:block;color:var(--muted);font-style:italic;margin:3px 0 6px}

/* ── Fenêtres, accueil, toast ── */
#voile{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:50;display:grid;place-items:center;padding:16px}
.fen{background:var(--bg2);border:1px solid var(--border);border-radius:20px;width:min(460px,100%);max-height:90vh;overflow-y:auto;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.fen h2{margin:0 0 6px;font-size:20px}
.fen p{color:var(--muted);margin:0 0 12px;font-size:14px}
.fen .choix{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.fen .choix button{text-align:left;padding:12px 14px;border-radius:12px;background:var(--card);border:1px solid var(--border);font-weight:600}
.fen .choix button.on{border-color:var(--accent);background:rgba(225,29,46,.12)}
.fen .regles{background:var(--card);border-radius:12px;padding:10px 14px;margin:10px 0;font-size:13.5px}
.fen .regles li{margin:5px 0}
.fen textarea,.fen input,.fen select{width:100%;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px;margin:4px 0 10px;outline:0}
.accueil-logo{width:70px;height:70px;border-radius:20px;margin:0 auto 12px;background:linear-gradient(135deg,#7a0912,var(--accent));display:grid;place-items:center;font:900 32px var(--f);box-shadow:0 10px 30px rgba(225,29,46,.45)}
#toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(20px);background:#fff;color:#111;padding:10px 16px;border-radius:12px;font-weight:600;font-size:14px;opacity:0;transition:.25s;z-index:60;pointer-events:none;max-width:90vw;text-align:center}
#toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
#bandeau-demo{position:fixed;top:2px;right:2px;background:var(--gold);color:#111;font-size:9px;font-weight:800;padding:1px 6px;border-radius:6px;z-index:40;letter-spacing:.5px;pointer-events:none;opacity:.9}

/* ── Smartphone : un seul panneau, barre en bas ── */
@media (max-width:699px){
  #app{flex-direction:column}
  #rail{order:9;width:100%;height:auto;flex-direction:row;justify-content:space-around;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--border);gap:0}
  #rail .logo,#rail .bas{display:none}
  .nav{width:auto;flex:1}
  #liste{width:100%;border-right:0;flex:1;min-height:0}
  #contenu{flex:1;min-height:0}
  #infos{display:none}
  body.vue-contenu #liste{display:none}
  body:not(.vue-contenu) #contenu{display:none}
  body.vue-contenu #rail{display:none}
  .retour{display:grid}
  .msg{max-width:88%}
  .bulle .menu{display:none} /* sur smartphone : toucher la bulle ouvre les options */
}
/* ── Tablette : rail + liste + contenu ── */
@media (min-width:700px) and (max-width:1199px){
  #infos{display:none}
  :root{--liste:300px}
}
@media (min-width:1200px){
  body:not(.avec-infos) #infos{display:none}
}

/* ── Appli réelle (étape 2) ── */
.alerte-msg{display:flex;gap:6px;align-items:flex-start;font-size:11.5px;font-weight:600;color:#fde68a;background:rgba(245,179,1,.12);border-radius:8px;padding:4px 8px;margin:2px 0 4px}
.bulle.masquee .txt{color:var(--muted);font-style:italic}
.msg.moi .bulle.masquee{background:var(--card);border-color:var(--border)}
.etat-co{width:9px;height:9px;border-radius:50%;background:#64748b;display:inline-block;margin-right:4px;vertical-align:1px}
.etat-co.on{background:var(--green)}
.fen label{display:block;font-size:13px;font-weight:600;color:var(--muted)}
.fen .lien{background:none;border:0;color:var(--muted);text-decoration:underline;font-size:12.5px;padding:0;margin-top:10px}
.erreur-form{color:var(--accent-txt);font-size:13px;min-height:18px;margin:4px 0}
.ia-avis{font-size:12px;background:var(--card2);border-radius:8px;padding:6px 8px;margin:4px 0 6px;color:var(--text)}
.ia-avis b{color:#7fb0ff}
.etiquette{font-size:11px;font-weight:700;padding:2px 7px;border-radius:8px;background:var(--card2);color:var(--muted)}

/* Logo Qactus Expat */
#rail .logo{background:#08080a;overflow:hidden;padding:0;border:1px solid rgba(225,29,46,.45)}
#rail .logo img{width:100%;height:100%;object-fit:cover;display:block}
.accueil-img{display:block;width:150px;height:150px;margin:0 auto 10px;border-radius:26px;box-shadow:0 10px 34px rgba(225,29,46,.4)}
.accueil-img.petit{width:96px;height:96px;border-radius:18px}

/* ── Version 2 : photos, PDF, vocaux, réponses, réactions ── */
.av{overflow:visible}
.av .av-img{width:100%;height:100%;border-radius:inherit;object-fit:cover;display:block;border-radius:50%}
.av.groupe .av-img{border-radius:14px}
.bulle .ph{display:block;max-width:260px;width:100%;border-radius:12px;margin:2px 0 4px;cursor:zoom-in;background:var(--card2);object-fit:cover}
.bulle a.doc{color:inherit;text-decoration:none}
.vocal .onde{cursor:pointer}
.citation{border-left:3px solid var(--accent-txt);background:rgba(0,0,0,.22);border-radius:8px;padding:5px 8px;margin:2px 0 5px;font-size:12.5px;cursor:pointer;max-width:260px}
.citation b{display:block;font-size:12px;color:var(--accent-txt)}
.msg.moi .citation{border-left-color:#fff}.msg.moi .citation b{color:#fff}
.reacs{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}
.reac{background:rgba(0,0,0,.25);border:1px solid var(--border);border-radius:12px;padding:1px 7px;font-size:12.5px}
.reac.moi{border-color:var(--accent-txt);background:rgba(225,29,46,.25)}
.barre-reac{display:flex;justify-content:space-around;background:var(--card);border-radius:30px;padding:6px;margin:0 0 12px}
.barre-reac button{font-size:26px;padding:4px 8px;border-radius:50%;transition:transform .12s}
.barre-reac button:hover{transform:scale(1.25)}
.rep-bar{display:flex;align-items:center;gap:10px;margin:0 14px;padding:8px 10px;background:var(--card);border-left:3px solid var(--accent);border-radius:10px 10px 0 0}
.rep-bar div{flex:1;min-width:0;font-size:12.5px}.rep-bar b{display:block;color:var(--accent-txt)}.rep-bar span{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.rep-bar .rond{width:30px;height:30px;font-size:13px}
.envoi-fichier{margin:0 14px 6px;font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:8px}
.roue{width:14px;height:14px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:tourne .8s linear infinite}
@keyframes tourne{to{transform:rotate(360deg)}}
.cache-enreg{display:none!important}
.msg.eclat .bulle{box-shadow:0 0 0 3px rgba(245,179,1,.6)}
.visio{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:70;display:grid;place-items:center;cursor:zoom-out}
.visio img{max-width:96vw;max-height:92vh;border-radius:8px}
.visio .rond{position:absolute;top:14px;right:14px}

/* ── Version 3 : notifications et appels ── */
#toast.cliquable{pointer-events:auto;cursor:pointer}
#appel{position:fixed;inset:0;z-index:80;background:radial-gradient(900px 600px at 50% 20%,#3a0a10,#0b0f17 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}
#appel #v-dist{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000;display:none}
#appel.video.connecte #v-dist{display:block}
#appel.video.connecte .ap-centre{position:absolute;top:18px;left:18px;flex-direction:row;gap:10px;text-align:left;background:rgba(0,0,0,.45);padding:6px 12px 6px 6px;border-radius:30px}
#appel.video.connecte .ap-centre .av{width:38px;height:38px;font-size:14px}
#appel.video.connecte .ap-centre h2{font-size:15px;margin:0}
#appel.video.connecte #ap-etat{font-size:12px}
.ap-centre{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;z-index:2}
.ap-centre h2{margin:6px 0 0;font-size:26px}
#appel:not(.connecte) .ap-centre .av{animation:pouls-av 1.6s infinite}
@keyframes pouls-av{0%{box-shadow:0 0 0 0 rgba(225,29,46,.6)}70%{box-shadow:0 0 0 26px rgba(225,29,46,0)}100%{box-shadow:0 0 0 0 rgba(225,29,46,0)}}
#ap-etat{color:#cbd5e1;font-size:14px}
#v-loc{position:absolute;right:16px;bottom:120px;width:min(28vw,190px);aspect-ratio:3/4;object-fit:cover;border-radius:14px;border:2px solid rgba(255,255,255,.6);z-index:3;background:#111;transform:scaleX(-1)}
.ap-boutons{position:absolute;bottom:34px;left:0;right:0;display:flex;justify-content:center;gap:18px;z-index:3}
.ap-b{width:62px;height:62px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);font-size:24px;color:#fff;display:grid;place-items:center}
.ap-b.rouge{background:#e11d2e}.ap-b.vert{background:#22c55e;animation:pouls-av 1.4s infinite}
.ap-b.off{background:#fff;color:#111;position:relative}
.ap-b.off:after{content:"";position:absolute;width:44px;height:3px;background:#e11d2e;transform:rotate(-45deg)}
#ap-activer{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:4;background:#fff;color:#111;font-weight:800;padding:14px 20px;border-radius:30px;box-shadow:0 10px 30px rgba(0,0,0,.5)}

/* ── Version 4 : annonces et carte ── */
.annonce.clic{cursor:pointer;transition:border-color .15s}
.annonce.clic:hover,.annonce.on{border-color:#3a4a6a}
.annonce.on{background:var(--card2)}
.ann-mini{width:62px;height:62px;border-radius:12px;object-fit:cover;flex:none}
.ann-ext{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ann-photo{display:block;width:100%;max-height:340px;object-fit:cover}
.ann-texte{white-space:pre-wrap;line-height:1.55}
.sel-pays{width:100%;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:9px 12px;color:var(--text)}
.puces .puce{white-space:nowrap}
#carte-zone{flex:1;min-height:0;position:relative;background:#0b1222}
#carte-zone .leaflet-container{background:#0b1222}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--bg2);color:var(--text)}
.leaflet-tooltip{background:var(--bg2);color:var(--text);border-color:var(--border)}
.leaflet-control-attribution{background:rgba(11,15,23,.7)!important;color:var(--muted)!important}
.leaflet-control-attribution a{color:var(--muted)!important}
#carte-zone .leaflet-tile-pane{filter:invert(1) hue-rotate(185deg) brightness(.85) contrast(.92) saturate(.6)}

/* ── Thèmes de couleurs (choix dans Profil) ── */
:root[data-theme=clair]{--bg:#f4f5f8;--bg2:#ffffff;--card:#ffffff;--card2:#eef1f6;--border:#dde2ea;--text:#141a26;--muted:#5b687c;--accent:#d61f2c;--accent2:#e11d2e;--moi:#b3121f;--accent-txt:#c0182a}
:root[data-theme=nuit]{--bg:#0a1324;--bg2:#0e1a30;--card:#13223d;--card2:#1a2c4d;--border:#24395f;--text:#e6eefc;--muted:#8fa3c4;--accent:#3b82f6;--accent2:#60a5fa;--moi:#1d4ed8;--accent-txt:#93c5fd}
:root[data-theme=emeraude]{--bg:#07130f;--bg2:#0b1a15;--card:#10241d;--card2:#163127;--border:#214536;--text:#e3f5ec;--muted:#8bb3a0;--accent:#10b981;--accent2:#34d399;--moi:#047857;--accent-txt:#6ee7b7}
:root[data-theme=violet]{--bg:#120b1d;--bg2:#170f26;--card:#201535;--card2:#2a1c45;--border:#3a2a5c;--text:#efe9fb;--muted:#a99bc7;--accent:#a855f7;--accent2:#c084fc;--moi:#7e22ce;--accent-txt:#d8b4fe}
:root[data-theme=sable]{--bg:#f6efe4;--bg2:#fffaf2;--card:#fffdf8;--card2:#f0e6d6;--border:#e2d4bf;--text:#2b2116;--muted:#7a6851;--accent:#c2410c;--accent2:#ea580c;--moi:#9a3412;--accent-txt:#b4400f}
:root[data-theme=contraste]{--bg:#000;--bg2:#000;--card:#0d0d0d;--card2:#1f1f1f;--border:#ffffff;--text:#ffffff;--muted:#e6e6e6;--accent:#ff1f1f;--accent2:#ff5252;--moi:#c40000;--accent-txt:#ffd400}
:root[data-theme=contraste] body{font-size:16px}
/* thèmes clairs : quelques couleurs à adapter */
:root.clair .msg:not(.moi) .bulle .h{color:var(--muted)}
:root.clair .msg:not(.moi) .onde i{background:var(--border)}
:root.clair .msg:not(.moi) .onde i.lu{background:var(--accent)}
:root.clair .msg:not(.moi) .vocal .duree{color:var(--muted)}
:root.clair .vocal .lire{box-shadow:0 0 0 1px var(--border)}
:root.clair .b-ici{color:#15803d}:root.clair .b-part{color:#1d4ed8}:root.clair .b-env{color:#475569}:root.clair .b-verif{color:#a16207}:root.clair .b-amb{color:#b91c1c}
:root.clair .alerte-msg,:root.clair .alerte-arnaque{color:#854d0e}
:root.clair #carte-zone .leaflet-tile-pane{filter:none}
:root.clair .msg:not(.moi) .doc{background:var(--card2)}
:root.clair #rail .logo{border-color:var(--border)}
:root:not(.clair) .msg:not(.moi) .bulle .h{color:var(--muted)}
.choix-themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;padding:8px 0 12px}
.choix-themes button{border:2px solid var(--border);border-radius:14px;padding:8px 6px;font-size:12px;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--card2)}
.choix-themes button.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.pastilles{display:flex;gap:3px}.pastilles i{width:16px;height:16px;border-radius:50%;display:block;box-shadow:0 0 0 1px rgba(127,127,127,.4)}

/* ── Aide ── */
.aide-sec{margin:8px 14px;background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.aide-sec>summary{list-style:none;cursor:pointer;padding:13px 14px;font-weight:800;display:flex;align-items:center;gap:10px}
.aide-sec>summary::-webkit-details-marker{display:none}
.aide-sec>summary:after{content:"›";margin-left:auto;color:var(--muted);transition:transform .2s;font-size:20px}
.aide-sec[open]>summary:after{transform:rotate(90deg)}
.aide-sec .ic{font-size:20px}
.aide-corps{padding:0 16px 14px;font-size:14.5px;line-height:1.6}
.aide-corps h4{margin:12px 0 4px;font-size:14px;color:var(--accent-txt)}
.aide-corps ol,.aide-corps ul{padding-left:20px;margin:6px 0}
.aide-corps li{margin:4px 0}
.aide-corps .astuce{background:var(--card2);border-left:3px solid var(--accent);border-radius:8px;padding:8px 10px;margin:8px 0;font-size:13.5px}
.aide-corps kbd{background:var(--card2);border:1px solid var(--border);border-radius:5px;padding:0 5px;font-size:12.5px}
.aide-vide{display:none}
#nav-aide{display:flex}
@media (max-width:699px){#nav-aide{display:none}}
.aide-plein{max-width:820px;margin:14px auto!important}
.aide-titre{margin:0;padding:14px 16px 4px;font-size:18px;display:flex;align-items:center;gap:10px}
.aide-plein .aide-corps{font-size:15px}

/* ── Traducteur (drapeaux) ── */
.btn-langue{display:inline-flex;align-items:center;gap:5px;background:var(--card);border:1px solid var(--border);border-radius:20px;padding:5px 9px 5px 6px;font-size:11.5px;font-weight:800;color:var(--text);flex:none}
.btn-langue img{width:22px;height:15px;border-radius:3px;object-fit:cover}
.rail-langue{flex-direction:column;gap:2px;padding:6px 6px 4px;margin:-4px 0 6px;font-size:10px}
.grille-langues{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;margin-top:8px}
.grille-langues button{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--card);border:1px solid var(--border);font-size:13.5px;font-weight:600;text-align:left}
.grille-langues button.on{border-color:var(--accent);background:var(--card2)}
.grille-langues img{width:26px;height:18px;border-radius:3px;object-fit:cover;flex:none}
/* cacher la barre et les bulles de Google Traduction */
.goog-te-banner-frame,iframe.skiptranslate,#goog-gt-tt,.goog-te-balloon-frame,.goog-tooltip{display:none!important}
body{top:0!important}
.goog-text-highlight{background:none!important;box-shadow:none!important}
@media (max-width:699px){.tete .btn-langue span{display:none}.tete .btn-langue{padding:6px}}
/* smartphone : le drapeau reste en haut (Discussions, Profil), pas dans la barre du bas */
@media (max-width:699px){#rail .rail-langue{display:none!important}}
/* boutons de filtre coulissants : fondu sur le bord + flèches quand il y a une suite */
.puces-zone{position:relative}
.puces-zone .puces{scroll-behavior:smooth;cursor:grab}
.puces-zone .puces.glisse{cursor:grabbing;scroll-behavior:auto;user-select:none}
.puces-zone.suite-d .puces{-webkit-mask-image:linear-gradient(90deg,#000 80%,transparent);mask-image:linear-gradient(90deg,#000 80%,transparent)}
.puces-zone.suite-g .puces{-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%);mask-image:linear-gradient(90deg,transparent,#000 20%)}
.puces-zone.suite-g.suite-d .puces{-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}
.puces-fl{position:absolute;top:0;width:30px;height:30px;border-radius:50%;background:var(--card2);border:1px solid var(--border);color:var(--text);font-size:16px;line-height:1;display:none;align-items:center;justify-content:center;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.puces-fl.g{left:6px}.puces-fl.d{right:6px}
.puces-zone.suite-g .puces-fl.g,.puces-zone.suite-d .puces-fl.d{display:flex}
@media (max-width:699px){.puces-fl{display:none!important}}

/* ── Comptes et accès ── */
.onglets-acc{display:flex;gap:4px;background:var(--card2);border-radius:12px;padding:4px;margin:4px 0 14px}
.onglets-acc button{flex:1;padding:9px;border-radius:9px;font-weight:700;color:var(--muted)}
.onglets-acc button.on{background:var(--card);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.offre{border:1px solid var(--border);background:var(--card);border-radius:14px;padding:12px 14px;margin:10px 0}
.offre.principale{border:2px solid var(--accent)}
.offre-t{font-weight:800;font-size:15px}.offre-t span{font-size:11px;background:var(--accent);color:#fff;border-radius:8px;padding:2px 7px;margin-left:6px;vertical-align:2px}
.offre-p{font-size:20px;font-weight:900;color:var(--accent-txt);margin:4px 0}
.offre-d{font-size:13px;color:var(--muted);margin-bottom:10px}
.offre a.btn{display:block;text-align:center;text-decoration:none}
.barre-verrou{flex:none;display:flex;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid var(--border);background:var(--card2);font-size:13px}
.barre-verrou span{flex:1}
.bandeau-visite{margin:0 14px 8px;padding:9px 12px;border-radius:12px;background:var(--card2);border:1px dashed var(--accent);font-size:13px;cursor:pointer}
.act-modo{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;max-width:210px}
.mdp-temp{font:800 22px/1 ui-monospace,Consolas,monospace;letter-spacing:2px;text-align:center;padding:14px;margin:10px 0 14px;background:var(--card2);border-radius:12px}
.modo-zone{margin:4px 0 10px;padding:8px 10px;border:1px dashed var(--border);border-radius:10px}
.modo-zone .lien{margin:0}
/* œil du mot de passe */
.mdp-zone{position:relative;display:block}
.mdp-zone input{padding-right:46px!important}
.mdp-oeil{position:absolute;right:6px;top:50%;transform:translateY(-50%);margin-top:-1px;width:36px;height:34px;border-radius:9px;font-size:17px;line-height:1;display:grid;place-items:center;opacity:.75}
.mdp-oeil:hover{opacity:1;background:var(--card2)}
.pack-qactus{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border);color:var(--text)}
.pack-qactus ul{margin:4px 0 0;padding-left:4px;list-style:none}
.pack-qactus li{margin:3px 0}
.piege{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.robot-zone{display:flex;justify-content:center;margin:2px 0 8px}
.cherche-modo{display:flex;gap:6px;padding:10px 14px;border-bottom:1px solid var(--border)}
.cherche-modo input{flex:1;min-width:0;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:8px 10px;color:var(--text)}
.membre.trouve{background:var(--card2)}
/* smartphone : le bouton Modérer (réservé aux modérateurs) doit rester dans la barre du bas */
@media (max-width:699px){#rail #nav-modo:not(.cache){display:flex}#rail #nav-modo .pastille{right:14px}}
/* le bouton « Membres » de la modération ne sert que sur smartphone (sur tablette/PC la liste est déjà à droite) */
@media (min-width:700px){#b-membres-modo{display:none}}
/* bulles envoyées : texte toujours blanc (lisible dans tous les thèmes) et rouge plus doux */
.msg.moi .bulle{color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--moi) 82%,#fff),color-mix(in srgb,var(--accent) 80%,#fff))}
.msg.moi .bulle .txt,.msg.moi .bulle a,.msg.moi .bulle a.doc{color:#fff}
.msg.moi .bulle .h{color:rgba(255,255,255,.85)}

/* étiquette du compte actif (plusieurs comptes sur l'appareil) */
.pastille-compte{font-size:11px;font-weight:700;background:var(--card2);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:2px 9px;vertical-align:middle;margin-left:6px;cursor:pointer}

/* liens cliquables dans les messages */
.bulle a.lien-msg{color:var(--accent2);text-decoration:underline;word-break:break-all}
.msg.moi .bulle a.lien-msg{color:#fff}

/* barre d'écriture façon Messenger (18/10/2026) */
#saisie{align-items:center;gap:4px;padding:8px 10px 12px}
#saisie .outils-saisie{display:flex;align-items:center;gap:0}
#saisie .icone-s{background:none;border:0;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--accent);padding:0;flex:none}
#saisie .icone-s:hover{background:var(--card2)}
#saisie .icone-s svg{width:22px;height:22px;fill:currentColor}
#saisie #b-plus{display:none}
#saisie .champ-saisie{flex:1;min-width:0;display:flex;align-items:flex-end;background:var(--card2);border-radius:20px;padding:0 2px 0 14px}
#saisie .champ-saisie textarea{flex:1;min-width:0;background:transparent;border:0;border-radius:0;padding:9px 0;max-height:120px;outline:0;line-height:1.35;resize:none}
#saisie #envoyer svg{width:24px;height:24px}
#saisie.ecrit .outils-saisie .icone-s{display:none}
#saisie.ecrit .outils-saisie #b-plus{display:grid}
#emojis{position:absolute;right:52px;bottom:58px;z-index:20;display:grid;grid-template-columns:repeat(8,36px);gap:2px;padding:8px;background:var(--bg2);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
#emojis button{background:none;border:0;font-size:22px;width:36px;height:36px;border-radius:8px;cursor:pointer}
#emojis button:hover{background:var(--card2)}
@media (max-width:420px){#emojis{right:8px;grid-template-columns:repeat(7,36px)}}
#saisie #envoyer{background:none!important;color:var(--accent);margin-left:6px}
#saisie{justify-content:center}
#saisie .champ-saisie{flex:1 1 auto;max-width:640px}
#emojis{right:auto;left:50%;transform:translateX(-10%)}
@media (max-width:700px){#saisie .champ-saisie{max-width:none}#emojis{left:auto;right:8px;transform:none}}

/* rangée « En ligne » (contacts connectés) en haut des Discussions */
.rangee-ligne{display:flex;gap:12px;overflow-x:auto;padding:10px 14px 8px;border-bottom:1px solid var(--border);scrollbar-width:none}
.rangee-ligne::-webkit-scrollbar{display:none}
.contact-ligne{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;cursor:pointer;width:62px;padding:0;color:var(--text)}
.contact-ligne .av{position:relative}
.contact-ligne span{font-size:12px;max-width:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* téléphone : case d'écriture plus large (icônes serrées, repliées quand on écrit) */
@media (max-width:700px){
  #saisie{gap:2px;padding:6px 6px 10px}
  #saisie .icone-s{width:32px;height:34px}
  #saisie .icone-s svg{width:21px;height:21px}
  #saisie .champ-saisie{padding-left:12px}
}
.contact-ligne .av.g{width:56px;height:56px;font-size:20px}
.contact-ligne .av .en-ligne{width:14px;height:14px}
#saisie .champ-saisie{max-width:900px}

/* téléphone (18/10/2026) : ⊕ + 🎤 seulement, case « Aa » large, texte plus grand */
@media (max-width:700px){
  #saisie #b-plus{display:grid}
  #saisie #b-photo,#saisie #b-doc{display:none}
  #saisie.ouvert #b-photo,#saisie.ouvert #b-doc{display:grid}
  #saisie.ecrit .outils-saisie .icone-s:not(#b-plus){display:none}
  #saisie .champ-saisie{border-radius:22px}
  #saisie .champ-saisie textarea{font-size:16px;padding:10px 0}
  #saisie .icone-s svg{width:23px;height:23px}
}
/* point vert « en ligne » : en bas à GAUCHE (le drapeau du pays est en bas à droite) */
.av .en-ligne{right:auto;left:-2px;bottom:-2px;width:15px;height:15px;border:2.5px solid var(--bg2);z-index:3;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.contact-ligne .av .en-ligne{width:16px;height:16px}

/* ═══ colonne « 📣 Partenaires expat » (18/10/2026) ═══ */
#pub{position:relative;flex:none;width:0;background:var(--bg);transition:width .3s ease;z-index:30}
#pub.on{width:300px;border-left:1px solid var(--border)}
#pub .pub-in{height:100%;overflow-y:auto;padding:12px;display:none}
#pub.on .pub-in{display:block}
#pub-onglet{position:absolute;left:-30px;top:50%;transform:translateY(-50%);width:30px;padding:12px 0;background:#bd0606;color:#fff;border:0;border-radius:10px 0 0 10px;box-shadow:-3px 3px 10px rgba(0,0,0,.25);cursor:pointer;z-index:31}
#pub-onglet span{display:block;writing-mode:vertical-rl;transform:rotate(180deg);font:700 11.5px system-ui,sans-serif;letter-spacing:1px;text-transform:uppercase;margin:0 auto}
#pub-onglet b{display:block;margin-top:6px;font-size:13px;transition:transform .3s}
#pub.on #pub-onglet b{transform:rotate(180deg)}
#pub:not(.on) #pub-onglet{animation:pubPulse 4s ease-in-out 3s infinite}
@keyframes pubPulse{0%,80%,100%{left:-30px}88%{left:-37px}94%{left:-30px}}
.pub-h{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:15px;margin:2px 2px 10px}
#pub-x{border:0;background:var(--card2);color:var(--text);border-radius:50%;width:28px;height:28px;font-size:18px;line-height:1;cursor:pointer}
.pub-carte{display:block;background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:0 0 12px;text-decoration:none;color:var(--text);box-shadow:0 3px 10px rgba(0,0,0,.05)}
.pub-carte.entete{border:2px solid var(--gold)}
.pub-ruban{background:linear-gradient(90deg,#f5b301,#ffd76a);color:#5a3d00;font:800 11px system-ui;padding:4px 10px;letter-spacing:.5px}
.pub-spon{display:flex;justify-content:space-between;align-items:center;font:700 10.5px system-ui;letter-spacing:.6px;color:var(--muted);text-transform:uppercase;padding:8px 12px 6px}
.pub-spon img{width:16px;height:11px;border-radius:2px;object-fit:cover;vertical-align:-1px}
.pub-vis{position:relative;height:150px;background:#111;display:grid;place-items:center;color:#fff;font-size:34px}
.pub-vis img{width:100%;height:100%;object-fit:cover;display:block}
.pub-vis.vide{background:linear-gradient(135deg,var(--accent),#7a0912)}
.pub-carte.entete .pub-vis{height:175px}
.pub-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:36px;border-radius:10px;background:#f00;display:grid;place-items:center;font-size:17px;color:#fff}
.pub-t{font-weight:700;padding:10px 12px 2px;font-size:14px}
.pub-d{color:var(--muted);font-size:12.5px;padding:0 12px 6px}
.pub-l{display:inline-block;margin:2px 12px 12px;color:var(--accent2);font-weight:700;font-size:13px}
.pub-libre{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:170px;border:2px dashed var(--border);border-radius:12px;background:repeating-linear-gradient(45deg,var(--card),var(--card) 10px,var(--card2) 10px,var(--card2) 20px);text-align:center;padding:14px;color:var(--muted);font-size:13px;margin-bottom:10px}
.pub-libre b{color:var(--text);font-size:15px}
.pub-libre button{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:8px 14px;font-weight:700;cursor:pointer}
.pub-note{font-size:11.5px;color:var(--muted);text-align:center;padding:2px 6px 8px}
.pub-tarifs{width:100%;border-collapse:collapse;margin:8px 0}
.pub-tarifs th,.pub-tarifs td{padding:7px 6px;border-bottom:1px solid var(--border);text-align:left;font-size:13px}
.pub-tarifs tr.star td{background:rgba(245,179,1,.14);font-weight:700}
/* téléphone / tablette étroite : tiroir par-dessus l'écran */
@media (max-width:1000px){
  #pub{position:fixed;top:70px;right:0;bottom:90px;width:300px;max-width:86vw;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);border-left:3px solid #bd0606;box-shadow:none}
  #pub.on{transform:none;box-shadow:-8px 0 30px rgba(0,0,0,.25);width:300px}
  #pub .pub-in{display:block;background:var(--bg)}
}

/* boutons d'appel (téléphone, vidéo) : icônes dessinées, bien visibles sur fond clair ET foncé */
.rond.ic-appel{color:var(--accent2)}
.rond.ic-appel svg{width:21px;height:21px;fill:currentColor}
:root:not([data-theme=clair]):not([data-theme=sable]) .rond.ic-appel{background:rgba(255,255,255,.10);color:#ff6b78}
:root[data-theme=clair] .rond.ic-appel,:root[data-theme=sable] .rond.ic-appel{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12)}

/* espace Administration / Modération : boutons sur une 2e ligne, lisibles (18/10/2026) */
.tete.tete-admin{flex-wrap:wrap;height:auto;min-height:0;padding:10px 14px;gap:8px;align-items:center}
.tete.tete-admin h1{flex:1 1 100%;margin:0}
.tete.tete-admin .actions{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:6px;margin:0}
.tete.tete-admin .actions .btn.petit{font-size:12.5px;padding:6px 10px}

/* messages non lus, comme Messenger : pastille bleue sur la photo, nom et aperçu en gras */
.pastille-nl{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#0866ff;color:#fff;font-size:11.5px;font-weight:800;line-height:20px;text-align:center;box-shadow:0 0 0 2px var(--bg);z-index:2;box-sizing:border-box}
.contact-ligne .pastille-nl{top:-2px;right:-2px}
.conv.nonlu .nom{font-weight:900}
.conv.nonlu .apercu{color:var(--text);font-weight:700}
.conv.nonlu .heure{color:#0866ff;font-weight:700}
.point-nl{width:10px;height:10px;border-radius:50%;background:#0866ff;flex:none}
.puce .puce-nl{background:#0866ff;color:#fff;border-radius:9px;font-size:10.5px;padding:0 6px;margin-left:3px}

/* bouton ⋯ des messages : bien lisible dans tous les thèmes (avant : points noirs invisibles sur fond sombre) */
.bulle .menu{color:var(--text);border:1px solid var(--border);font-size:17px;font-weight:900;line-height:1;display:grid;place-items:center;padding:0;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.bulle .menu:hover{background:var(--accent);color:#fff;border-color:var(--accent)}

/* 🤝 Parrains / 🆘 Urgences / ✅ Checklist */
.b-parrain{background:rgba(8,102,255,.15);color:#60a5fa}
:root.clair .b-parrain,:root[data-theme=clair] .b-parrain,:root[data-theme=sable] .b-parrain{color:#1d4ed8}
.carte-parrain{display:flex;flex-direction:column;gap:6px;align-items:flex-start;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px 14px;margin-bottom:6px}
.carte-parrain span{font-size:13px;color:var(--muted)}
a.num-urg{font-weight:800;color:var(--accent-txt);text-decoration:none;white-space:nowrap;background:var(--card2);border-radius:10px;padding:5px 10px;font-size:14px}
.barre-check{height:8px;border-radius:5px;background:var(--card2);margin:8px 0 2px;overflow:hidden}
.barre-check i{display:block;height:100%;background:var(--green,#22c55e);border-radius:5px;transition:width .3s}
.item-check{cursor:pointer;justify-content:flex-start;gap:10px}
.item-check input{width:20px;height:20px;flex:none;accent-color:var(--accent)}
.item-check input:checked+.et{text-decoration:line-through;color:var(--muted)}
.ajout-rappel{display:flex;gap:6px;flex-wrap:wrap;padding:10px 0}
.ajout-rappel input{flex:1;min-width:130px}

/* Partenaires : vidéo YouTube dans la vignette + agrandie */
.pub-vis[data-yt]{cursor:pointer}
.pub-vis.lecture{cursor:default;background:#000}
.pub-vis iframe{width:100%;height:100%;border:0;display:block}
a.pub-vis{text-decoration:none}
.pub-outils{display:flex;gap:6px;padding:8px 12px 0}
.pub-outils button{flex:1;border:1px solid var(--border);background:var(--card2);color:var(--text);border-radius:8px;padding:6px 8px;font-weight:700;font-size:12.5px;cursor:pointer}
.pub-outils button:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
a.pub-l{text-decoration:none}
#yt-grand{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.85);display:grid;place-items:center;padding:16px}
#yt-grand .yt-boite{width:min(1200px,94vw,calc((100vh - 90px) * 16 / 9));aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.6)}
#yt-grand iframe{width:100%;height:100%;border:0;display:block}
#yt-x{position:fixed;top:14px;right:18px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#111;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.case-reglage{display:flex !important;flex-direction:row !important;align-items:flex-start;gap:10px;background:var(--card2);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin:0 0 12px;cursor:pointer}
.case-reglage input{width:20px !important;height:20px;margin:2px 0 0 !important;flex:none;accent-color:var(--accent)}
.case-reglage small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:2px}
/* onglet actif (Salon, Membres, Parrains…) : lisible aussi sur les thèmes clairs (avant : texte blanc sur fond clair) */
.onglets button.on{color:var(--text)}

/* Admin Partenaires : miniature de chaque fiche, fiche en cours de modification, aperçu de l'image */
.pa-mini{width:54px;height:38px;border-radius:6px;object-fit:cover;flex:none;background:#111;display:grid;place-items:center;color:#fff;font-size:16px}
.pa-edite{background:rgba(214,31,44,.10);border-radius:10px}
.pa-apercu{display:block;max-width:100%;max-height:150px;border-radius:10px;margin:2px 0 10px;object-fit:cover;border:1px solid var(--border)}

/* Annonces → Emploi : « Vous recrutez ? » + sites d'offres */
.bloc-emploi{margin:10px 12px;padding:12px;background:var(--card);border:1px solid var(--border);border-radius:14px}
.bloc-emploi h3{margin:12px 0 6px;font-size:14px}
.bloc-emploi .recrute{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:rgba(6,182,212,.12);border-radius:12px;padding:10px 12px}
.bloc-emploi .recrute span{font-size:13px;color:var(--muted)}
.site-emploi{display:flex;align-items:center;gap:10px;padding:9px 4px;border-top:1px solid var(--border);text-decoration:none;color:var(--text)}
.site-emploi:hover{background:var(--card2)}
.site-emploi .ic{font-size:20px;width:28px;text-align:center;flex:none}
.site-emploi .et{flex:1;font-weight:700;font-size:13.5px}
.site-emploi small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.site-emploi .ic img{width:24px;height:16px;border-radius:3px;object-fit:cover;vertical-align:middle}

/* invitation à installer l'appli (?installer=1) */
#invit-install{position:fixed;inset:0;z-index:9000;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;justify-content:center;padding:12px}
#invit-install>div{background:var(--card);color:var(--text);width:min(420px,100%);border-radius:22px;padding:22px 20px 16px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.4);animation:iiMonte .35s ease}
@keyframes iiMonte{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
#invit-install img{width:84px;height:84px;border-radius:20px;margin:0 auto 10px;display:block}
#invit-install b{display:block;font-size:19px;margin-bottom:6px}
#invit-install span{display:block;color:var(--muted);font-size:14px;margin-bottom:14px}
#invit-install button{display:block;width:100%;border:0;border-radius:12px;padding:13px;font-weight:800;font-size:16px;cursor:pointer;background:linear-gradient(135deg,#e11d2e,#b3121f);color:#fff}
#invit-install .ii-non{background:none;color:var(--muted);font-weight:600;font-size:14px;margin-top:6px}
#invit-install ol{text-align:left;font-size:14.5px;margin:0 0 6px;padding-left:20px}
#invit-install li{margin:6px 0}

/* ═════════ 🧭 OùPartir ? ═════════ */
.op-bandeau{display:flex;align-items:center;gap:12px;width:calc(100% - 24px);margin:10px 12px;padding:12px 14px;border:0;border-radius:16px;cursor:pointer;text-align:left;color:#fff;background:radial-gradient(160px 90px at 85% 0%,rgba(255,255,255,.22),transparent 70%),linear-gradient(120deg,#0b3b7a,#1d6fd6 55%,#e11d2e 140%);box-shadow:0 8px 22px rgba(29,111,214,.35);position:relative;overflow:hidden}
.op-bandeau::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);animation:opBal 4.5s ease-in-out infinite}
@keyframes opBal{to{left:130%}}
.op-bandeau.petit{padding:9px 12px;margin:6px 12px}
.op-b-ic{font-size:30px;animation:opTourne 6s ease-in-out infinite}
.op-bandeau.petit .op-b-ic{font-size:24px}
@keyframes opTourne{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(18deg)}}
.op-b-t{flex:1;min-width:0}.op-b-t b{display:block;font-size:16px}.op-b-t small{display:block;opacity:.9;font-size:12.5px}
.op-b-go{font-size:22px;font-weight:900}
.nav.nav-op .ic{display:inline-block;animation:opTourne 6s ease-in-out infinite}
#op{position:fixed;inset:0;z-index:8000;background:rgba(5,8,15,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:14px}
#op .op-boite{width:min(760px,100%);max-height:100%;overflow:auto;background:var(--bg2);color:var(--text);border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.45);animation:opIn .35s ease}
@keyframes opIn{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}
.op-tete{display:flex;align-items:center;gap:8px;padding:14px 16px 10px;position:sticky;top:0;background:var(--bg2);z-index:2}
.op-logo{font-weight:900;font-size:19px;background:linear-gradient(90deg,#1d6fd6,#e11d2e);-webkit-background-clip:text;background-clip:text;color:transparent}
.op-par{font-size:12px;color:var(--muted);font-weight:600}
.op-x{margin-left:auto;width:36px;height:36px;border-radius:50%;border:0;background:var(--card2);color:var(--text);font-size:22px;cursor:pointer}
.op-barre{height:6px;background:var(--card2);margin:0 16px;border-radius:4px;overflow:hidden}
.op-barre i{display:block;height:100%;width:0;background:linear-gradient(90deg,#1d6fd6,#e11d2e);border-radius:4px;transition:width .4s ease}
.op-corps{padding:18px 20px 22px}
.op-accueil,.op-calc{text-align:center;padding:10px 4px}
.op-boussole{width:120px;height:120px;margin:4px auto 16px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#4f9dff,#1d6fd6 50%,#0b3b7a);box-shadow:0 0 0 10px rgba(29,111,214,.12),0 20px 40px rgba(29,111,214,.35)}
.op-boussole span{font-size:62px;animation:opTourne 3.5s ease-in-out infinite}
.op-boussole.tourne span{animation:opVite 1s linear infinite}
@keyframes opVite{to{transform:rotate(360deg)}}
.op-accueil h2{font-size:clamp(22px,4vw,30px);margin:0 0 10px;line-height:1.2}
.op-accueil h2 em{font-style:normal;background:linear-gradient(90deg,#1d6fd6,#e11d2e);-webkit-background-clip:text;background-clip:text;color:transparent}
.op-accueil p{color:var(--muted);max-width:520px;margin:0 auto 14px}
.op-puces{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.op-puces span{background:var(--card2);border-radius:999px;padding:6px 12px;font-weight:700;font-size:13px}
.op-go{border:0;border-radius:14px;padding:14px 26px;font-weight:900;font-size:17px;cursor:pointer;color:#fff;background:linear-gradient(135deg,#1d6fd6,#e11d2e);box-shadow:0 10px 26px rgba(225,29,46,.35);transition:transform .2s}
.op-go:hover{transform:translateY(-2px)}
.op-note{font-size:12px;color:var(--muted);margin-top:16px}
.op-num{font-weight:800;color:#1d6fd6;font-size:13px;letter-spacing:.5px}
.op-q{animation:opIn .3s ease}
.op-q h3{font-size:clamp(20px,3.4vw,26px);margin:6px 0 4px}
.op-s{color:var(--muted);margin:0 0 14px;font-size:14.5px}
.op-choix{display:grid;grid-template-columns:1fr;gap:10px}
.op-choix.deux{grid-template-columns:1fr 1fr}
@media (max-width:520px){.op-choix.deux{grid-template-columns:1fr}}
.op-choix button{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:2px solid var(--border);background:var(--card);color:var(--text);font-weight:700;font-size:15.5px;text-align:left;cursor:pointer;transition:transform .15s,border-color .15s,background .15s}
@media (hover:hover){.op-choix button:hover{transform:translateY(-2px);border-color:#1d6fd6}} /* smartphone : pas d'effet « survol » qui reste après un toucher */
.op-choix button{-webkit-tap-highlight-color:transparent}
.op-choix button.on{border-color:#1d6fd6;background:rgba(29,111,214,.12);box-shadow:0 0 0 3px rgba(29,111,214,.15)}
.op-ic{font-size:24px;width:32px;text-align:center;flex:none}
.op-nav{display:flex;justify-content:space-between;align-items:center;margin-top:18px}
.op-retour,.op-refaire{border:0;background:none;color:var(--muted);font-weight:700;cursor:pointer;font-size:15px}
.op-suite{border:0;border-radius:12px;padding:12px 22px;font-weight:900;cursor:pointer;color:#fff;background:linear-gradient(135deg,#1d6fd6,#e11d2e)}
.op-suite:disabled{opacity:.4;cursor:default}
.op-astuce{color:var(--muted);font-size:13px}
.op-calc h3{margin:0 0 6px}.op-calc p{color:var(--muted)}
.op-res{position:relative}
.op-res h2{text-align:center;font-size:clamp(22px,4vw,30px);margin:4px 0 4px}
.op-res h2 span{background:linear-gradient(90deg,#1d6fd6,#e11d2e);-webkit-background-clip:text;background-clip:text;color:transparent}
.op-res>.op-s{text-align:center}
.op-ancien{text-align:center;color:var(--muted);font-weight:700;margin:0}
.op-confettis{position:absolute;inset:-20px 0 auto;height:0;pointer-events:none}
.op-confettis i{position:absolute;top:0;font-style:normal;font-size:20px;animation:opTombe 2.4s ease-in forwards;opacity:0}
@keyframes opTombe{0%{transform:translateY(-10px) rotate(0);opacity:1}100%{transform:translateY(420px) rotate(320deg);opacity:0}}
.op-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 8px}
@media (max-width:640px){.op-podium{grid-template-columns:1fr}}
.op-pays{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:16px 14px;text-align:center;position:relative;animation:opMonte .5s ease both}
@keyframes opMonte{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.op-pays.rang0{border:2px solid #f5b301;box-shadow:0 14px 34px rgba(245,179,1,.25)}
.op-rang{position:absolute;top:10px;left:12px;font-size:24px}
.op-rond{--pc:0;width:84px;height:84px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#1d6fd6 0,#e11d2e 0,var(--card2) 0);transition:background 1.2s}
.op-rond.plein{background:conic-gradient(#1d6fd6 0,#e11d2e calc(var(--pc) * 1%),var(--card2) calc(var(--pc) * 1%))}
.op-rond span{width:66px;height:66px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-weight:900;font-size:22px}
.op-rond small{font-size:12px}
.op-drap{width:44px;height:30px;border-radius:5px;object-fit:cover;margin:0 auto 6px;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.op-pays h4{margin:0;font-size:18px}
.op-villes{color:var(--muted);font-size:12.5px;margin-bottom:8px}
.op-forts,.op-faibles{list-style:none;padding:0;margin:6px 0;text-align:left;font-size:13.5px}
.op-forts li::before{content:"✔ ";color:#16a34a;font-weight:900}
.op-faibles li{color:var(--muted)}.op-faibles li::before{content:"⚠ ";color:#d97706}
.op-alerte{background:#fee2e2;color:#991b1b;border-radius:10px;padding:6px 8px;font-size:12.5px;font-weight:700;margin:6px 0}
.op-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:10px}
.op-actions button{border:1px solid var(--border);background:var(--card2);color:var(--text);border-radius:10px;padding:7px 10px;font-weight:700;font-size:12.5px;cursor:pointer}
.op-actions button:hover{border-color:#1d6fd6;color:#1d6fd6}
.op-h3{margin:18px 0 8px;font-size:16px}
.op-suite-l{display:flex;flex-wrap:wrap;gap:8px}
.op-suite-l button{display:flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:12px;padding:7px 10px;cursor:pointer;font-size:13.5px}
.op-suite-l img{width:22px;height:15px;border-radius:3px;object-fit:cover}
.op-suite-l span{color:#1d6fd6;font-weight:800}
.op-bas{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:20px}
@media (max-width:699px){#op{padding:0;align-items:stretch}#op .op-boite{border-radius:0;max-height:none;height:100%}}
.op-ic-t{font-size:22px;animation:opTourne 6s ease-in-out infinite}
.op-rond span{display:flex;align-items:baseline;justify-content:center;gap:1px}

/* 🧭 OùPartir ? étape 2 : avis de l'IA + actualité Qactus */
.op-ia{background:linear-gradient(160deg,rgba(29,111,214,.10),rgba(225,29,46,.06));border:1px solid rgba(29,111,214,.25);border-radius:12px;padding:9px 11px;margin:8px 0;text-align:left}
.op-ia b{display:block;font-size:12px;color:#1d6fd6;letter-spacing:.3px;margin-bottom:3px}
.op-ia p{margin:0;font-size:13.5px;line-height:1.5}
.op-ia-att{color:var(--muted);font-style:italic;animation:opClign 1.4s ease-in-out infinite}
@keyframes opClign{50%{opacity:.4}}
.op-actu{text-align:left;margin:8px 0 2px;font-size:12.5px}
.op-actu>b{display:block;font-size:12px;color:var(--accent-txt,#c0182a);margin-bottom:4px}
.op-actu-l a{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-top:1px dashed var(--border);color:var(--text);text-decoration:none;line-height:1.35}
.op-actu-l a:hover span{text-decoration:underline}
.op-actu-l small{color:var(--muted);flex:none}
/* icône du journal sous l'aide (menu de gauche, ordinateur et tablette) */
.nav.nav-journal{text-decoration:none;color:inherit}
.nav.nav-journal .ic img{width:26px;height:26px;border-radius:50%;object-fit:cover;display:block;margin:0 auto;box-shadow:0 0 0 2px #fff,0 2px 6px rgba(0,0,0,.25)}
@media (max-width:699px){.nav.nav-journal{display:none}}

/* Admin Partenaires : glisser-déposer pour l'ordre */
.pa-astuce{font-size:12.5px;color:var(--muted);margin:0 0 6px}
.pa-poignee{cursor:grab;touch-action:none;user-select:none;font-size:20px;line-height:1;color:var(--muted);padding:8px 4px;flex:none;align-self:center}
.pa-poignee:active{cursor:grabbing}
.pa-ligne{transition:background .15s,box-shadow .15s}
.pa-ligne.pa-glisse{background:rgba(29,111,214,.12);box-shadow:0 8px 20px rgba(0,0,0,.18);border-radius:10px;position:relative;z-index:2}
.pa-entete .pa-poignee{color:#d4a017}
body.pa-glisse-en-cours{user-select:none}

/* ═════════ Icônes 3D (Fluent Emoji 3D, emo3d.js) ═════════ */
img.e3d{width:1.2em;height:1.2em;vertical-align:-.24em;display:inline-block;object-fit:contain;margin:0 .04em;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.18));pointer-events:none;user-select:none}
.nav .ic img.e3d{width:26px;height:26px;vertical-align:middle;margin:0}
.nav.on .ic img.e3d{transform:scale(1.08)}
.op-ic img.e3d,.op-choix .op-ic img.e3d{width:30px;height:30px}
.op-boussole img.e3d{width:70px;height:70px}
.fiche .ic img.e3d,.annonce .ic img.e3d{width:30px;height:30px}
.gros img.e3d{width:64px;height:64px}
/* avatars des contacts en relief 3D (lumière en haut à gauche, ombre en bas) */
.av{background-image:radial-gradient(circle at 30% 22%,rgba(255,255,255,.55),rgba(255,255,255,0) 42%),linear-gradient(165deg,rgba(255,255,255,.18) 0%,rgba(0,0,0,0) 45%,rgba(0,0,0,.28) 100%) !important;box-shadow:inset 0 -4px 8px rgba(0,0,0,.22),inset 0 3px 5px rgba(255,255,255,.35),0 4px 10px rgba(0,0,0,.18);text-shadow:0 1px 2px rgba(0,0,0,.35);letter-spacing:.3px}
.av.groupe{box-shadow:0 4px 10px rgba(0,0,0,.18)}
.op-drap-ic{width:30px;height:21px;border-radius:4px;object-fit:cover;display:block;margin:0 auto;box-shadow:0 1px 4px rgba(0,0,0,.25)}

/* OùPartir ? : fiche d'un pays de la suite */
.op-podium.un{grid-template-columns:minmax(0,520px);justify-content:center}
.op-rang-n{display:inline-grid;place-items:center;min-width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#1d6fd6,#e11d2e);color:#fff;font-weight:900;font-size:14px}
.op-rang-n sup{font-size:9px}
.op-retour-haut{display:block;margin:0 0 6px}
.op-h3 small{font-weight:600;color:var(--muted);font-size:12.5px}
.op-suite-l button:hover{border-color:#1d6fd6}
.op-ia-re{border:1px solid #1d6fd6;background:none;color:#1d6fd6;border-radius:8px;padding:3px 10px;font-weight:700;font-size:12.5px;cursor:pointer;margin-left:4px}

/* OùPartir ? : « Je sais où je veux aller » */
.op-sais{margin-top:12px;border:2px solid #1d6fd6;background:none;color:#1d6fd6;border-radius:14px;padding:11px 20px;font-weight:800;font-size:15px;cursor:pointer}
.op-sais:hover{background:rgba(29,111,214,.08)}
.op-choisir h3{margin:4px 0 4px;font-size:clamp(20px,3.4vw,26px)}
#op-cherche{width:100%;padding:12px 14px;border-radius:12px;border:2px solid var(--border);background:var(--card);color:var(--text);font-size:15px;margin:4px 0 12px}
#op-cherche:focus{border-color:#1d6fd6;outline:0}
.op-grille-p{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:52vh;overflow:auto;padding:2px}
@media (max-width:699px){.op-grille-p{max-height:none}}
.op-grille-p button{display:flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:12px;padding:9px 10px;cursor:pointer;font-weight:700;font-size:13.5px;text-align:left}
.op-grille-p button:hover{border-color:#1d6fd6}
.op-grille-p img{width:28px;height:19px;border-radius:3px;object-fit:cover;flex:none}
.op-podium.sans-profil .op-rond,.op-podium.sans-profil .op-rang{display:none}
.op-pays-btn{margin-top:12px;border:0;border-radius:12px;padding:10px 16px;font-weight:800;font-size:14px;cursor:pointer;color:#fff;background:linear-gradient(135deg,#1d6fd6,#e11d2e);box-shadow:0 6px 18px rgba(29,111,214,.3)}

/* OùPartir ? : accueil à 3 choix */
.op-menu{display:grid;gap:10px;max-width:520px;margin:6px auto 4px;text-align:left}
.op-choix-g{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border-radius:16px;border:2px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;text-align:left;transition:transform .15s,border-color .15s}
@media (hover:hover){.op-choix-g:hover{transform:translateY(-2px);border-color:#1d6fd6}}
.op-choix-g:first-child{border-color:#1d6fd6;background:linear-gradient(135deg,rgba(29,111,214,.10),rgba(225,29,46,.06))}
.op-cg-ic{font-size:30px;flex:none;width:40px;text-align:center}
.op-cg-ic img.e3d{width:36px;height:36px}
.op-choix-g b{display:block;font-size:16.5px}
.op-choix-g small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.op-choix-g i{margin-left:auto;font-style:normal;font-size:20px;font-weight:900;color:#1d6fd6}
.op-cg-drap{width:20px;height:14px;border-radius:2px;vertical-align:-2px;display:inline-block}
.op-effacer{margin-top:10px;border:0;background:none;color:var(--muted);font-size:13px;cursor:pointer;text-decoration:underline}
.op-classement{text-align:center;color:var(--muted);font-size:13.5px;margin:8px 0 0}

/* ═════════ Annonces façon Marketplace ═════════ */
.mk-cote{padding:4px 12px 16px}
.mk-menu{display:grid;gap:2px;margin:6px 0}
.mk-lien{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border:0;border-radius:12px;background:none;color:var(--text);font-weight:700;font-size:15px;cursor:pointer;text-align:left}
.mk-lien:hover{background:var(--card2)}
.mk-lien.on{background:var(--card2)}
.mk-l-ic{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--card2);font-size:19px;flex:none}
.mk-lien.on .mk-l-ic{background:var(--accent);color:#fff}
.mk-l-ic img.e3d{width:24px;height:24px}
.mk-h{font-size:16px;margin:14px 2px 6px}
.mk-zone{padding:0 0 20px}
.mk-pc{padding:18px 22px 30px}
.mk-entete{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:14px 12px 10px}
.mk-pc .mk-entete{padding:0 0 14px}
.mk-entete h2{margin:0;font-size:21px}
.mk-nb{color:var(--muted);font-size:13px}
.mk-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px 12px}
.mk-carte{display:block;border:0;background:none;padding:0;text-align:left;color:var(--text);cursor:pointer;min-width:0}
.mk-img{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--card2)}
.mk-img>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
@media (hover:hover){.mk-carte:hover .mk-img>img{transform:scale(1.04)}}
.mk-ic{font-size:64px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.25))}
.mk-ic img.e3d{width:84px;height:84px}
.mk-recente,.mk-cat{position:absolute;top:8px;left:8px;background:#fff;color:#111;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.mk-cat{padding:3px 6px;background:rgba(0,0,0,.45);color:#fff}
.mk-txt{display:block;padding:8px 2px 0}
.mk-prix{display:block;font-size:17px;font-weight:800}
.mk-cat-nom{font-size:14px;color:var(--muted);font-weight:700}
.mk-sep{display:none}
.mk-titre{display:block;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-lieu{display:block;color:var(--muted);font-size:12.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-lieu .drap{width:16px;height:11px;vertical-align:-1px}
.mk-zone .bloc-emploi{margin:0 0 16px}
/* fiche de l'annonce en grand */
#mk-fiche{position:fixed;inset:0;z-index:7000;background:#000;display:flex}
.mk-f-boite{position:relative;display:grid;grid-template-columns:1fr 400px;width:100%;height:100%;background:var(--bg2);color:var(--text);animation:opIn .25s ease}
.mk-f-img{position:relative;display:grid;place-items:center;background:#0b0b0e;overflow:hidden;min-height:0}
.mk-f-flou{position:absolute;inset:-40px;background:center/cover;filter:blur(30px) brightness(.55);transform:scale(1.1)}
.mk-f-img>img{position:relative;max-width:100%;max-height:100vh;object-fit:contain;display:block}
.mk-f-img .mk-ic{font-size:120px}.mk-f-img .mk-ic img.e3d{width:160px;height:160px}
.mk-f-cote{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--border)}
.mk-f-corps{flex:1;padding:22px 20px 16px;overflow:auto}
.mk-f-corps h2{margin:0 0 4px;font-size:24px}
.mk-f-corps h3{font-size:16px;margin:18px 0 8px}
.mk-f-infos{display:flex;flex-wrap:wrap;gap:6px}.mk-f-infos span{background:var(--card2);border-radius:999px;padding:5px 10px;font-size:13px;font-weight:600}
.mk-f-msg{display:block;width:100%;margin:12px 0 4px;background:#0866ff;color:#fff;font-weight:800;font-size:16px;padding:12px}
.mk-f-ronds{display:flex;justify-content:space-around;gap:8px;margin:10px 0 4px}
.mk-f-ronds button{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:none;color:var(--text);font-weight:600;font-size:13.5px;cursor:pointer}
.mk-f-ronds span{width:50px;height:50px;border-radius:50%;background:var(--card2);display:grid;place-items:center;font-size:22px}
.mk-f-ronds span img.e3d{width:26px;height:26px}
.mk-f-barre{display:none}
.mk-f-bas{padding:12px 20px 16px;border-top:1px solid var(--border);background:var(--bg2)}
.mk-f-prix{font-size:24px;font-weight:900;color:var(--accent-txt,#c0182a);margin:2px 0 6px}
.mk-f-prix small{font-size:13px;color:var(--muted);font-weight:600}
.mk-f-lieu{color:var(--muted);font-size:13px;margin-bottom:12px}
.mk-f-auteur{border-top:1px solid var(--border);margin-top:14px;padding-left:0;padding-right:0}
.mk-f-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.mk-et-rec{background:#fff4d6;color:#8a5a00}
.mk-f-x{position:absolute;top:14px;left:calc((100% - 400px) / 2);transform:translateX(-50%);z-index:3;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#111;font-size:24px;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.3)}
/* formulaire : prix */
.pa-prix{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:4px 0 10px}
.pa-prix input[type=number]{flex:1;min-width:110px}
.pa-prix select{width:auto}
.pa-deb{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;font-weight:600;font-size:14px;margin:0!important}
.pa-deb input{width:auto!important;margin:0!important}
/* smartphone : comme le Marketplace mobile */
.mk-tete h1{font-size:26px}
.mk-tete .rouge-plein{background:var(--accent);color:#fff}
.mk-cherche{margin-top:0}
.mk-puces{padding-bottom:6px}
@media (max-width:699px){
  .mk-entete{padding:10px 12px 8px}.mk-entete h2{font-size:19px}
  .mk-grille{grid-template-columns:1fr 1fr;gap:3px}
  .mk-img{border-radius:0}
  .mk-txt{padding:6px 8px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mk-prix,.mk-titre{display:inline;font-size:15px}
  .mk-sep{display:inline;font-weight:800}
  .mk-lieu{display:none}
  .mk-zone .bloc-emploi{margin:0 10px 12px}
  .mk-f-boite{display:block;overflow:auto}
  .mk-f-x{display:none}
  .mk-f-barre{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:3;background:var(--bg2);padding:8px 10px;border-bottom:1px solid var(--border)}
  .mk-f-barre span{flex:1;font-weight:700;font-size:14px;color:var(--muted)}
  .mk-f-barre button{width:42px;height:42px;border:0;background:none;color:var(--text);font-size:28px;line-height:1;cursor:pointer}
  .mk-f-corps h2{font-size:24px}
  .mk-f-img{aspect-ratio:1}.mk-f-img>img{max-height:100%}
  .mk-f-cote{border-left:0}.mk-f-corps{overflow:visible}
  .mk-f-bas{position:sticky;bottom:0}
}
@media (min-width:700px) and (max-width:1000px){.mk-f-boite{grid-template-columns:1fr 340px}}

/* fiche : annonces similaires */
#mk-sim h3{font-size:16px;margin:22px 0 10px}
.mk-grille.mk-sim{grid-template-columns:1fr 1fr;gap:12px 8px}
.mk-sim .mk-img{border-radius:8px}
.mk-sim .mk-txt{padding:6px 2px 0}
.mk-sim .mk-prix{font-size:15px}.mk-sim .mk-titre{font-size:13.5px}
@media (max-width:699px){.mk-sim .mk-txt{white-space:normal}.mk-sim .mk-prix,.mk-sim .mk-titre{display:block}.mk-sim .mk-sep{display:none}}

/* annonces : plusieurs photos */
.mk-nbph{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.6);color:#fff;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}
.mk-f-piste{position:relative;display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.mk-f-piste::-webkit-scrollbar{display:none}
.mk-f-diapo{flex:0 0 100%;height:100%;display:grid;place-items:center;scroll-snap-align:center}
.mk-f-diapo img{max-width:100%;max-height:100vh;object-fit:contain;display:block}
.mk-f-fl{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#111;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.3)}
.mk-f-fl.g{left:14px}.mk-f-fl.d{right:14px}
.mk-f-points{position:absolute;bottom:12px;left:0;right:0;display:flex;justify-content:center;gap:6px;z-index:2}
.mk-f-points i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.5)}.mk-f-points i.on{background:#fff}
.mk-f-minis{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:2}
.mk-f-minis img{width:58px;height:58px;object-fit:cover;border-radius:8px;opacity:.6;cursor:pointer;border:2px solid transparent}
.mk-f-minis img.on{opacity:1;border-color:#fff}
@media (max-width:699px){.mk-f-minis,.mk-f-fl{display:none}.mk-f-diapo img{max-height:100%}}
.pa-photos{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}
.pa-ph{position:relative;width:86px;height:86px;border-radius:10px;overflow:hidden;background:var(--card2)}
.pa-ph img{width:100%;height:100%;object-fit:cover}
.pa-ph b{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);color:#fff;font-size:10.5px;text-align:center;padding:2px 0}
.pa-ph button{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(0,0,0,.65);color:#fff;font-size:16px;line-height:1;cursor:pointer}
.pa-ph-plus{width:86px;height:86px;border-radius:10px;border:2px dashed var(--border);background:none;color:var(--muted);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:22px}
.pa-ph-plus span{font-size:11px;font-weight:700;text-align:center;line-height:1.2}

/* 💼 emploi d'un pays (onglet Pays + fiches OùPartir ?) */
.emp-pays h3{margin:2px 0 6px;font-size:15px}
.op-detail .emp-pays{margin:14px 0 4px;text-align:left}
button.site-emploi{width:100%;border:0;border-top:1px solid var(--border);background:none;font:inherit;text-align:left;cursor:pointer}
.emp-in{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:5px;background:#0a66c2;color:#fff;font:800 14px/1 Arial,sans-serif}
@media (min-width:700px) and (max-width:1000px){.mk-f-x{left:calc((100% - 340px) / 2)}}

/* croix de fermeture de toutes les fenêtres */
.fen{position:relative}
.fen-x{position:sticky;top:-8px;float:right;margin:-8px -8px 0 8px;z-index:5;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--card2);color:var(--text);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center}
.fen-x:hover{background:var(--card);border-color:var(--accent)}

/* barre du haut de l'annonce (smartphone) : plus de ⋯, une case vide garde le titre centré */
.mk-f-barre .mk-f-vide{width:42px;flex:none}

/* ── Profil : menu de rubriques + carte checklist + aperçu « comment les autres me voient » ── */
.pf-moi{display:flex;align-items:center;gap:12px;padding:6px 16px 12px}
.pf-moi b{font-size:17px}.pf-moi .bdg{margin-top:3px}
.pf-ck{display:flex;flex-direction:column;gap:5px;width:calc(100% - 24px);margin:2px 12px 8px;padding:12px 14px;border-radius:14px;background:var(--card);border:1px solid var(--border);text-align:left;cursor:pointer;color:var(--text)}
.pf-ck:hover{border-color:var(--green,#22c55e)}
.pf-ck-t{display:flex;justify-content:space-between;font-weight:800;font-size:14px}
.pf-ck-t b{color:var(--green,#22c55e)}
.pf-ck .barre-check{margin:2px 0;height:9px}
.pf-ck small{color:var(--muted);font-size:12px}
.pf-menu{padding:4px 8px}
.pf-menu button{display:flex;align-items:center;gap:12px;width:100%;padding:11px 10px;border:0;border-radius:12px;background:none;color:var(--text);text-align:left;cursor:pointer;font-weight:600}
.pf-menu button:hover{background:var(--card2)}
.pf-menu button.on{background:var(--card2)}
.pf-menu .ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:19px;background:var(--card2);flex:none}
.pf-menu button.on .ic{background:var(--accent);color:#fff}
.pf-menu .ic img.e3d{width:22px;height:22px}
.pf-menu .et{flex:1;min-width:0}
.pf-menu small{display:block;font-weight:400;color:var(--muted);font-size:12.5px}
.pf-menu .fl{color:var(--muted)}
.pf-rub{max-width:1100px;padding:4px 10px 20px;container-type:inline-size}
.pf-sous{color:var(--muted);margin:8px 14px 4px;font-size:14px}
.pf-duo{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:6px;align-items:start}
.pf-duo .ligne select,.pf-duo .ligne input[type=text]{max-width:260px;width:100%}
.pf-apercu{position:sticky;top:8px;margin:10px 14px 10px 0}
.pf-ap-bouton{display:none;align-items:center;gap:10px;width:100%;padding:12px;border:1px dashed var(--accent);border-radius:14px;background:var(--card);color:var(--text);text-align:left;font-weight:700;cursor:pointer}
.pf-ap-bouton small{display:block;font-weight:400;color:var(--muted)}
.pf-ap-titre{display:flex;align-items:center;gap:8px;font-weight:800;margin:4px 0 10px}
.pf-ap-titre small{white-space:nowrap;font-weight:700;color:var(--green,#22c55e);background:rgba(34,197,94,.13);border-radius:999px;padding:2px 8px}
.pf-ap-ong{display:flex;gap:4px;margin-bottom:10px}
.pf-ap-ong button{flex:1;padding:7px 4px;border:0;border-radius:9px;background:var(--card2);color:var(--muted);font-weight:700;font-size:12.5px;cursor:pointer}
.pf-ap-ong button.on{background:var(--text);color:var(--bg2)}
.pf-ap-carte{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:4px 12px 8px}
.pf-ap-carte .bloc{margin:6px 0;border:0;padding:0;background:none}
.pf-ap-carte .profil-tete{padding:14px 6px 8px}
.pf-plan{height:180px;margin-top:8px;border-radius:12px;background:linear-gradient(160deg,#cfe3f3,#e8f1df 55%,#f0e3c8);position:relative;overflow:hidden}
.pf-plan:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(35deg,transparent 0 22px,rgba(255,255,255,.4) 22px 24px)}
.pf-bulle{position:absolute;left:50%;top:42%;transform:translate(-50%,-100%);display:flex;align-items:center;gap:6px;background:#fff;color:#222;border-radius:12px;padding:5px 10px 5px 5px;font-size:12.5px;box-shadow:0 4px 12px rgba(0,0,0,.2);white-space:nowrap}
.pf-bulle .av{width:28px;height:28px;font-size:11px}.pf-bulle .av .drap{display:none}
.pf-bulle b{margin-right:2px}
.pf-point{position:absolute;left:50%;top:42%;width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid #fff;transform:translate(-50%,6px)}
.pf-prive{display:flex;gap:8px;align-items:flex-start;margin-top:10px;background:var(--card2);border-radius:12px;padding:10px 12px;font-size:12.5px;color:var(--muted)}
.pf-prive b{color:var(--text)}
.pf-ck-rub .barre-check{height:12px}
@container (max-width:760px){
  .pf-duo{grid-template-columns:1fr}
  .pf-apercu{position:static;margin:10px 14px}
}
/* smartphone : aperçu replié derrière le bouton 👁️, au-dessus du formulaire */
@media (max-width:699px){
  .pf-duo{display:flex;flex-direction:column-reverse}
  .pf-apercu{margin:10px 14px 0}
  .pf-ap-bouton{display:flex}
  .pf-apercu:not(.ouvert) .pf-ap-corps{display:none}
  .pf-apercu.ouvert .pf-ap-corps{margin-top:10px}
  .pf-duo .ligne select,.pf-duo .ligne input[type=text]{max-width:160px}
}

/* 20/10/2026 — 💱 Convertisseur de monnaie (onglet Monnaie de la page Pays) : grosses zones à toucher, 16 px (pas de zoom iPhone) */
.mon-conv{padding:6px 14px 12px}
.mon-ligne{display:flex;gap:8px;align-items:stretch;margin:8px 0}
.mon-ligne input,.mon-ligne select,.mon-res{min-height:48px;border-radius:12px;border:1px solid var(--border);background:var(--card2);font-size:16px}
.mon-ligne input{flex:1 1 40%;min-width:0;padding:0 12px;font-size:22px;font-weight:800}
.mon-res{flex:1 1 40%;min-width:0;display:flex;align-items:center;padding:0 12px;font-size:22px;font-weight:800;color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mon-ligne select{flex:1 1 60%;min-width:0;padding:0 8px}
.mon-inv{display:block;margin:2px auto;width:48px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--card);font-size:20px;font-weight:800}
.mon-taux{color:var(--muted);font-size:12.5px;margin-top:6px}
@media (max-width:420px){.mon-ligne{flex-wrap:wrap}.mon-ligne input,.mon-res,.mon-ligne select{flex:1 1 100%}}

/* 20/10/2026 — Annonces façon Facebook Marketplace (captures 60 à 65) : lieu + filtres, détails, vendeur, carte, recherches similaires */
.mk-barre-lieu{display:flex;align-items:center;gap:8px;padding:2px 14px 8px}
.mk-lieu-btn{flex:1;min-width:0;text-align:left;border:0;background:none;color:#0866ff;font-weight:800;font-size:16px;padding:8px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.mk-filtres-btn{border:0;border-radius:10px;background:var(--card2);color:var(--text);font-weight:800;font-size:14px;padding:9px 12px;cursor:pointer}
.mk-fav-btn.on,.mk-f-ronds button.on span{background:rgba(8,102,255,.18)}
.mk-f-ronds button b{font-weight:600}
.mk-f-info{color:var(--muted);font-size:13px;line-height:1.45;margin:12px 0 0}
.mk-f-desc{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.mk-f-desc.ouvert{display:block;-webkit-line-clamp:unset}
.mk-f-plus{border:0;background:none;color:var(--text);font-weight:800;padding:4px 0;cursor:pointer}
.mk-f-vend-t{cursor:pointer}.mk-f-vend-t span{color:var(--muted);font-weight:400}
.mk-f-auteur .mil{cursor:pointer}.mk-f-auteur .det{color:var(--muted);font-size:13px}
.mk-f-dets{display:grid;gap:0}
.mk-f-det{display:grid;grid-template-columns:minmax(110px,40%) 1fr;gap:10px;padding:7px 0;font-size:15px}
.mk-f-det span{color:var(--muted)}.mk-f-det b{font-weight:600}
.mk-f-carte{height:190px;border-radius:14px;overflow:hidden;background:var(--card2);border:1px solid var(--border);z-index:0;position:relative}
.mk-f-adr{display:flex;align-items:center;gap:10px;margin:10px 0 4px}
.mk-f-adr>div{flex:1;min-width:0}.mk-f-adr b{display:block}.mk-f-adr small{display:block;color:var(--muted)}
.mk-f-adr-ic{width:30px;height:30px;border-radius:50%;background:var(--text);color:var(--bg);display:grid;place-items:center;font-size:16px;flex:none}
.mk-f-adr .btn{white-space:nowrap;text-decoration:none;color:var(--text)}
.mk-f-proche{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;margin:12px 0 4px;padding:18px 12px;border:1px solid var(--border);border-radius:14px;background:var(--card);color:var(--text);font-weight:700;font-size:15px;cursor:pointer}
.mk-f-proche span{width:46px;height:46px;border-radius:50%;background:var(--card2);display:grid;place-items:center;font-size:22px}
.mk-f-rech{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.mk-f-rech button{border:0;border-radius:20px;background:var(--card2);color:var(--text);font-weight:700;font-size:14px;padding:9px 14px;cursor:pointer;text-align:left}
.pa-dets{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
@media (max-width:420px){.pa-dets{grid-template-columns:1fr}}
.pa-aide{font-size:12.5px;color:var(--muted);margin:4px 0 0}
/* 💱 bouton du convertisseur, à gauche du drapeau de langue */
.btn-monnaie{display:inline-flex;align-items:center;justify-content:center;gap:4px;background:var(--card);border:1px solid var(--border);border-radius:20px;padding:5px 9px;font-size:11.5px;font-weight:800;color:var(--text);flex:none;cursor:pointer}
@media (max-width:699px){.tete .btn-monnaie span{display:none}.tete .btn-monnaie{padding:6px 7px}}
.mon-fen .bloc{margin:10px 0}.mon-fen .note{margin:10px 0}
/* smartphone, comme la capture 60 : prix en gros, titre, puis « ville · 54 km » sur trois lignes */
@media (max-width:699px){
  .mk-grille .mk-txt{white-space:normal;padding:8px 8px 12px}
  .mk-grille .mk-prix{display:block;font-size:18px}
  .mk-grille .mk-titre{display:block;font-size:15px}
  .mk-grille .mk-sep{display:none}
  .mk-grille .mk-lieu{display:block;font-size:13px}
}
.btn-monnaie img.e3d{width:20px;height:20px;vertical-align:middle}
.btn-monnaie img.e3d{width:24px;height:24px}
/* ☰ trois traits + colonne de menu à gauche */
.trois-traits{display:inline-flex;flex-direction:column;justify-content:center;gap:4px;width:20px;height:20px}
.trois-traits i{display:block;height:2.5px;border-radius:2px;background:currentColor}
.nav.nav-menu .ic{display:grid;place-items:center;height:26px;color:var(--text)}
.rond.menu-tete{color:var(--text)}
/* PC : ☰ aussi dans la colonne Discussions (à droite du crayon) */
@media (max-width:699px){.nav.nav-menu{display:none}}
#menu-lateral{position:fixed;inset:0;z-index:7500;background:rgba(0,0,0,0);transition:background .2s}
#menu-lateral.ouvert{background:rgba(0,0,0,.45)}
#menu-lateral .ml-col{position:absolute;top:0;bottom:0;left:0;width:min(320px,86vw);background:var(--bg);border-right:1px solid var(--border);box-shadow:8px 0 30px rgba(0,0,0,.3);transform:translateX(-100%);transition:transform .22s ease;padding:12px 10px calc(12px + env(safe-area-inset-bottom));overflow-y:auto}
#menu-lateral.ouvert .ml-col{transform:none}
.ml-tete{display:flex;align-items:center;gap:10px;padding:4px 6px 14px;border-bottom:1px solid var(--border);margin-bottom:8px}
.ml-tete img{width:36px;height:36px;border-radius:10px}.ml-tete b{flex:1;font-size:17px}
.ml-x{width:36px;height:36px;border-radius:50%;border:0;background:var(--card2);color:var(--text);font-size:20px;cursor:pointer}
.ml-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 8px;border:0;border-radius:12px;background:none;color:var(--text);text-align:left;cursor:pointer;min-height:52px}
.ml-item:hover{background:var(--card2)}
.ml-ic{width:40px;height:40px;border-radius:50%;background:var(--card2);display:grid;place-items:center;font-size:20px;flex:none}
.ml-ic img.e3d{width:24px;height:24px}
.ml-t{flex:1;font-weight:700;font-size:15px}.ml-t small{display:block;font-weight:400;color:var(--muted);font-size:12.5px}
.ml-fl{color:var(--muted);font-size:20px}
.mk-f-carte{cursor:zoom-in}
.mk-f-agrandir{position:absolute;right:8px;bottom:8px;z-index:500;background:rgba(0,0,0,.65);color:#fff;font-size:12px;font-weight:700;padding:4px 9px;border-radius:12px;pointer-events:none}
#mk-carte-g{position:fixed;inset:0;z-index:7300;background:var(--bg);display:flex;flex-direction:column}
.mk-cg-tete{display:flex;align-items:center;gap:10px;padding:10px 12px calc(10px);border-bottom:1px solid var(--border);padding-top:calc(10px + env(safe-area-inset-top))}
.mk-cg-t{flex:1;min-width:0}.mk-cg-t b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mk-cg-t small{color:var(--muted)}
.mk-cg-tete .btn{text-decoration:none;color:var(--text)}
#mk-cg-carte{flex:1}
.tete .btn-monnaie span{display:none}.tete .btn-monnaie{padding:5px 7px}
@media (min-width:700px){.rond.menu-tete{display:none}} /* PC : ☰ seulement dans la barre de gauche (sous « Le journal ») */
.mk-f-mienne{margin:12px 0 4px;padding:11px 13px;border-radius:12px;background:rgba(8,102,255,.10);border:1px solid rgba(8,102,255,.35);font-size:14px;line-height:1.4}
/* 20/10/2026 — outils du menu ☰ : 📻 radio, 📷 scanner, 🗂️ documents, 💊 santé */
#radio-lecteur{position:fixed;z-index:6900;left:calc(var(--rail) + 12px);bottom:14px;display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:7px 8px 7px 10px;box-shadow:0 8px 26px rgba(0,0,0,.28);max-width:min(340px,calc(100vw - 24px))}
@media (max-width:699px){#radio-lecteur{left:10px;right:10px;max-width:none;bottom:calc(72px + env(safe-area-inset-bottom))}}
.rl-ic{font-size:22px}.rl-ic img.e3d{width:26px;height:26px}
.rl-t{flex:1;min-width:0;cursor:pointer}.rl-t b{display:block;font-size:14px}.rl-t small{color:#e8323f;font-weight:700;font-size:11.5px}
.rl-t small::before{content:'● '}
.rl-b{width:40px;height:40px;border-radius:50%;border:0;background:var(--card2);color:var(--text);font-size:17px;cursor:pointer;flex:none}
.radio-st.on b{color:var(--accent)}
.scan-choix{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.scan-choix button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 10px;border:1px solid var(--border);border-radius:16px;background:var(--card);color:var(--text);cursor:pointer;text-align:center}
.scan-choix span{font-size:34px}.scan-choix span img.e3d{width:44px;height:44px}
.scan-choix b{font-size:15px}.scan-choix small{color:var(--muted);font-size:12px}
@media (max-width:360px){.scan-choix{grid-template-columns:1fr}}
.qr-cadre{position:relative;border-radius:16px;overflow:hidden;background:#000;aspect-ratio:1/1;max-height:60vh}
.qr-cadre video{width:100%;height:100%;object-fit:cover;display:block}
.qr-viseur{position:absolute;inset:18%;border:3px solid rgba(255,255,255,.9);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.35)}
.qr-lien{background:var(--card2);border-radius:14px;padding:12px 14px;margin:6px 0;word-break:break-all}
.qr-lien small{display:block;color:var(--muted)}.qr-lien b{display:block;font-size:20px;margin:2px 0}.qr-lien span{display:block;font-size:12.5px;color:var(--muted)}
.doc-l{gap:6px}.doc-ic{font-size:22px}.doc-ic img.e3d{width:28px;height:28px}
.rond.petit{width:36px;height:36px;font-size:15px;flex:none}
.sa-fiche .ligne b{text-align:right;max-width:60%}.sa-noms{color:var(--accent)}
.sa-phrase{margin:10px 0 0;padding:12px 14px;border-radius:14px;background:rgba(34,197,94,.10);border:1px solid rgba(34,197,94,.4)}
.sa-phrase small{display:block;color:var(--muted);font-weight:700}
.sa-phrase p{margin:6px 0;font-size:19px;font-weight:700;line-height:1.35}
.sa-phrase .sa-fr{font-weight:400;margin-bottom:8px}
.sa-phrase-b{display:flex;gap:6px;flex-wrap:wrap}
#sa-plein{position:fixed;inset:0;z-index:8000;background:#fff;color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;cursor:pointer}
#sa-plein p{font-size:clamp(26px,7vw,48px);font-weight:800;line-height:1.3;margin:0 0 20px}
#sa-plein small{color:#666}
/* 🌐 message traduit automatiquement */
.trad-info{font-size:11.5px;color:var(--muted);margin-top:3px}
.trad-info button{border:0;background:none;padding:0;color:inherit;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.msg.moi .trad-info{color:rgba(255,255,255,.8)}
/* Google Traduction : on cache son logo qui tourne (il couvrait le bouton ←), sa bulle et sa barre */
.goog-te-spinner-pos,.goog-te-spinner,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf-ti6hGc,.VIpgJd-ZVi9od-aZ2wEe-OiiCO,#goog-gt-tt,.goog-tooltip,.goog-te-banner-frame,iframe.skiptranslate,body>.skiptranslate{display:none!important;visibility:hidden!important}
body{top:0!important}
.goog-text-highlight{background:none!important;box-shadow:none!important}

/* 20/10/2026 — 🗣️ Traducteur vocal */
.it-langues{display:flex;align-items:center;gap:8px;margin:4px 0 12px}
.it-moi{flex:1;display:flex;align-items:center;gap:6px;background:var(--card2);border-radius:12px;padding:0 12px;min-height:44px;font-weight:700}
.it-moi img,.it-carte img{width:22px;height:15px;border-radius:3px;object-fit:cover}
.it-langues b{font-size:18px}
.it-langues select{flex:1;min-height:44px;border-radius:12px;border:1px solid var(--border);background:var(--card2);font-size:16px;padding:0 8px;font-weight:700}
.it-micros{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.it-micro{display:flex;flex-direction:column;align-items:center;gap:3px;padding:16px 8px;border:0;border-radius:18px;color:#fff;font-size:30px;cursor:pointer;min-height:110px;justify-content:center}
.it-micro b{font-size:16px}.it-micro small{font-size:12px;opacity:.9}
.it-micro.moi{background:linear-gradient(135deg,#e8323f,#b0122a)}.it-micro.lui{background:linear-gradient(135deg,#0866ff,#2b4fd8)}
.it-micro.rec{animation:it-pulse 1s infinite}
@keyframes it-pulse{50%{transform:scale(.97);box-shadow:0 0 0 8px rgba(232,50,63,.25)}}
.it-ecrire{display:flex;gap:8px;margin:10px 0 0}
.it-ecrire input{flex:1;min-width:0;min-height:44px;border-radius:12px;border:1px solid var(--border);background:var(--card2);padding:0 12px;font-size:16px}
.it-carte{margin:12px 0 0;padding:14px;border-radius:16px;background:rgba(34,197,94,.10);border:1px solid rgba(34,197,94,.4)}
.it-carte small{display:block;color:var(--muted)}
.it-carte p{margin:6px 0 10px;font-size:24px;font-weight:800;line-height:1.3}
.it-onglets{padding:12px 0 6px;flex-wrap:wrap}
.it-phrases{display:grid;gap:6px}
.it-phrases>button,.it-mienne>button:first-child{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);font-size:14.5px;cursor:pointer;min-height:44px}
.it-mienne{display:flex;gap:6px}.it-mienne>button:first-child{flex:1}
.it-x{width:44px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);font-size:18px;cursor:pointer}
.it-l{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;margin:0}
.it-l small{color:var(--muted);font-weight:700;font-size:11.5px}
.it-l select{width:100%}
.it-inv{width:44px;height:44px;align-self:flex-end;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:20px;font-weight:800;cursor:pointer;flex:none}
.sa-pays2{display:flex;align-items:flex-end;gap:6px}.sa-pays2 label{flex:1;min-width:0}.sa-pays2>span{font-size:20px;font-weight:800;padding-bottom:12px}.sa-fiche h3 .drap{width:20px;height:14px;vertical-align:-2px;border-radius:3px}.sa-fr .drap{width:18px;height:12px;vertical-align:-1px}
