:root{
  --ff:#D85A30;--ff-d:#B34825;
  --bg:#0F0F13;--bg2:#18181F;--bg3:#22222C;--bg4:#2C2C38;
  --bdr:#ffffff13;--bdr2:#ffffff22;
  --t:#F0EFE8;--t2:#9E9D95;--t3:#4A4A52;
  --gr-bg:#1a2e0a;--gr-t:#97C459;
  --rd-bg:#2e0a0a;--am:#BA7517;--am-bg:#2e1f0a;--am-t:#EF9F27;
  --r:10px;--rs:6px;--rl:12px;
}

/* ═══════════════════════════════════════════════════════
   OVERRIDE GLOBAL — body.bpffm-page
   Force tout konteyner theme yo pou yo pa limite plugin
═══════════════════════════════════════════════════════ */
body.bpffm-page .bpffm-wrap,
body.bpffm-page #bpffm-root {
    /* Reset tout limit ki ka soti nan theme */
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    float: none !important;
    position: static !important;
}

/* Konteyner dirèk parent yo (entry-content, site-content, etc.) */
body.bpffm-page .entry-content,
body.bpffm-page .entry,
body.bpffm-page .post,
body.bpffm-page .page,
body.bpffm-page article,
body.bpffm-page #content,
body.bpffm-page #primary,
body.bpffm-page .site-content,
body.bpffm-page main,
body.bpffm-page [class*="container"],
body.bpffm-page [class*="content-area"],
body.bpffm-page [id*="content"],
body.bpffm-page .ast-container,
body.bpffm-page .ast-article-post,
body.bpffm-page .elementor-section-wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
}

/* Header fixed: ajoute padding-top pou plugin pa kache anba l */
body.bpffm-page .bpffm-wrap {
    padding-top: 0;
}

/* ═══════════════════════════════════════════════════════
   WRAP PLUGIN — senp, solid, san triks
═══════════════════════════════════════════════════════ */
.bpffm-wrap{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
    color:var(--t);
    background:var(--bg2);
    width:100%;
    box-sizing:border-box;
    padding:16px 14px 40px;
    min-height:80vh;
    display:block;
    /* Assure qu'aucun parent ne peut le limiter */
    position:relative;
    z-index:1;
}

/* TABS */
.bpffm-tabs{
    display:flex;gap:2px;
    margin-bottom:14px;
    background:var(--bg3);
    border-radius:var(--rs);
    padding:3px;
    width:100%;
}
.bpffm-tab{
    flex:1;text-align:center;
    padding:8px 3px;font-size:12px;
    color:var(--t2);border-radius:4px;
    cursor:pointer;border:none;background:none;
    transition:all .15s;white-space:nowrap;
    display:inline-flex;align-items:center;justify-content:center;gap:2px;
}
.bpffm-tab.active{background:var(--bg4);color:var(--t);border:1px solid var(--bdr2);}
.bpffm-tab-page{display:none;}
.bpffm-tab-page.active{display:block;}

/* SUBTABS (Makèt / Kont mwen) */
.bpffm-subtabs{
    display:flex;gap:6px;margin-bottom:10px;
}
.bpffm-subtab{
    padding:5px 14px;border-radius:20px;
    border:1px solid var(--bdr2);font-size:12px;font-weight:600;
    color:var(--t2);cursor:pointer;background:var(--bg3);
    transition:all .15s;
}
.bpffm-subtab.active{
    background:var(--ff);color:#fff;border-color:var(--ff);
}
/* Kont mwen — ti indikatè sou kat */
.bpffm-card-item.mine{
    border-color: var(--am-t)60;
}

/* FILTERS */
.bpffm-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.bpffm-filt{
    padding:5px 12px;border-radius:20px;
    border:1px solid var(--bdr2);font-size:12px;
    color:var(--t2);cursor:pointer;background:var(--bg3);
    white-space:nowrap;
}
.bpffm-filt.on{background:#D85A3025;color:var(--ff);border-color:var(--ff);}

/* Kategori filter — kache par defò, JS ap montre l si gen kategori */
.bpffm-cat-filters{
    display:none;  /* JS: .show() l si gen kategori */
    gap:6px;
    flex-wrap:wrap;
    align-items:center;
    margin-bottom:10px;
}
.bpffm-cat-filters.visible{display:flex;}

/* ═══════════════════════════════════════════════════════
   GRID — 2 kolòn garanti sou mobil, plus sou desktop
═══════════════════════════════════════════════════════ */
.bpffm-grid{
    display:grid;
    /* 2 kolòn egzat — pa depann de lajè konteyner */
    grid-template-columns:repeat(2,1fr);
    gap:10px;
    width:100%;
}
/* 3 kolòn si gen plis espas */
@media(min-width:520px){
    .bpffm-grid{grid-template-columns:repeat(3,1fr);}
}
@media(min-width:760px){
    .bpffm-grid{grid-template-columns:repeat(4,1fr);}
}
@media(min-width:1024px){
    .bpffm-grid{grid-template-columns:repeat(5,1fr);}
}

/* CARD */
.bpffm-card-item{
    background:var(--bg3);border:1px solid var(--bdr);
    border-radius:var(--rl);overflow:hidden;
    transition:border-color .15s;
    display:flex;flex-direction:column;
}
.bpffm-card-item:hover{border-color:var(--ff);}
.bpffm-thumb{
    width:100%;aspect-ratio:4/3;
    background:var(--bg4);
    display:flex;align-items:center;justify-content:center;
    font-size:36px;position:relative;overflow:hidden;flex-shrink:0;
}
.bpffm-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.bpffm-cb{
    position:absolute;top:6px;left:6px;
    font-size:9px;font-weight:700;
    padding:2px 6px;border-radius:8px;text-transform:uppercase;
}
.cb-ok{background:#1a3d0880;color:var(--gr-t);border:1px solid var(--gr-t)50;}
.cb-sold{background:#5c151580;color:#f88;}
.cb-pend{background:#5c3a0880;color:var(--am-t);}

.bpffm-card-bd{padding:8px;flex:1;display:flex;flex-direction:column;gap:4px;}
.bpffm-card-name{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bpffm-card-sub{font-size:10px;color:var(--t2);}
.bpffm-tags{display:flex;gap:3px;flex-wrap:wrap;}
.bpffm-tag{font-size:9px;padding:2px 5px;border-radius:3px;font-weight:600;}
.t-o{background:#FAECE715;color:#F0997B;}
.t-a{background:#FAEEDA15;color:#EF9F27;}
.t-p{background:#EEEDFE15;color:#AFA9EC;}

.bpffm-card-foot{
    display:flex;align-items:center;
    justify-content:space-between;
    margin-top:auto;
}
.bpffm-price{font-size:14px;font-weight:800;color:var(--ff);}
.bpffm-seller{
    display:flex;align-items:center;gap:3px;
    font-size:9px;color:var(--t2);max-width:45%;overflow:hidden;
}
.bpffm-av{
    width:18px;height:18px;border-radius:50%;
    background:var(--bg4);display:flex;align-items:center;
    justify-content:center;font-size:8px;font-weight:700;flex-shrink:0;
}
.bpffm-acts{display:flex;gap:4px;margin-top:4px;}
.bpffm-acts .bpffm-btn{flex:1;font-size:10px;padding:5px 4px;}

/* BUTTONS */
.bpffm-btn{
    display:inline-flex;align-items:center;justify-content:center;
    gap:3px;padding:7px 10px;border-radius:var(--rs);
    font-size:12px;font-weight:600;cursor:pointer;
    border:none;transition:all .15s;line-height:1.2;
}
.bpffm-btn-primary{background:var(--ff);color:#fff;}
.bpffm-btn-primary:hover{background:var(--ff-d);}
.bpffm-btn-ghost{background:var(--bg4);color:var(--t2);border:1px solid var(--bdr2);}
.bpffm-btn-ghost:hover{color:var(--t);}
.bpffm-btn-amber{background:var(--am-bg);color:var(--am-t);border:1px solid var(--am-t)40;}
.bpffm-btn-success{background:var(--gr-bg);color:var(--gr-t);border:1px solid var(--gr-t)40;}
.bpffm-btn-danger{background:var(--rd-bg);color:#f88;border:1px solid #f884;}
.bpffm-btn-sm{padding:4px 8px;font-size:11px;}
.bpffm-btn-full{width:100%;}

/* FORM */
.bpffm-form-sec{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--rl);padding:16px;max-width:560px;}
.bpffm-field{margin-bottom:12px;}
.bpffm-field label{display:block;font-size:11px;color:var(--t2);margin-bottom:4px;}
.bpffm-field input,.bpffm-field select,.bpffm-field textarea{
    width:100%;padding:8px 10px;
    background:var(--bg4);border:1px solid var(--bdr2);
    border-radius:var(--rs);color:var(--t);
    font-size:13px;font-family:inherit;outline:none;box-sizing:border-box;
}
.bpffm-field input:focus,.bpffm-field select:focus,.bpffm-field textarea:focus{border-color:var(--ff);}
.bpffm-field select option{background:var(--bg4);}
.bpffm-field textarea{resize:vertical;min-height:60px;}
.bpffm-r2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}

/* PHOTO GRID */
.bpffm-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px;}
.bpffm-photo-slot{
    aspect-ratio:1;background:var(--bg4);border-radius:var(--rs);
    border:1px dashed var(--bdr2);display:flex;align-items:center;
    justify-content:center;cursor:pointer;overflow:hidden;position:relative;
}
.bpffm-photo-slot.main-slot{grid-column:span 2;aspect-ratio:16/7;}
.bpffm-photo-slot img{width:100%;height:100%;object-fit:cover;}
.bpffm-photo-slot .slot-label{
    font-size:9px;color:var(--t3);position:absolute;
    bottom:3px;left:3px;background:#00000060;padding:1px 4px;border-radius:3px;
}
.bpffm-photo-slot .rm-btn{
    position:absolute;top:3px;right:3px;
    background:#00000080;color:#fff;border:none;
    border-radius:50%;width:16px;height:16px;
    cursor:pointer;font-size:10px;
    display:none;align-items:center;justify-content:center;
}
.bpffm-photo-slot:hover .rm-btn{display:flex;}

/* MODAL */
.bpffm-overlay{
    display:none;position:fixed;inset:0;
    background:#00000095;z-index:999999;
    align-items:center;justify-content:center;padding:10px;
}
.bpffm-overlay.open{display:flex;}
.bpffm-modal{
    background:var(--bg2);border:1px solid var(--bdr2);
    border-radius:var(--rl);width:100%;max-width:500px;
    max-height:92vh;overflow-y:auto;display:flex;flex-direction:column;
}
.bpffm-modal-hd{
    padding:12px 15px 10px;border-bottom:1px solid var(--bdr);
    display:flex;justify-content:space-between;align-items:center;
    position:sticky;top:0;background:var(--bg2);z-index:2;
}
.bpffm-modal-hd h3{font-size:14px;font-weight:700;margin:0;}
.bpffm-cx{background:none;border:none;color:var(--t2);font-size:20px;cursor:pointer;}
.bpffm-modal-bd{padding:13px 15px;}
.bpffm-modal-ft{
    padding:10px 15px;border-top:1px solid var(--bdr);
    display:flex;gap:7px;justify-content:flex-end;
}

/* INSPECT */
.bpffm-insp-main{
    width:100%;height:200px;background:var(--bg3);
    border-radius:var(--rs);margin-bottom:7px;
    overflow:hidden;display:flex;align-items:center;
    justify-content:center;font-size:55px;position:relative;
}
.bpffm-insp-main img{width:100%;height:100%;object-fit:cover;}
.bpffm-gal-btn{
    position:absolute;top:50%;transform:translateY(-50%);
    background:#00000075;color:#fff;border:none;border-radius:50%;
    width:28px;height:28px;font-size:16px;cursor:pointer;
    z-index:2;display:flex;align-items:center;justify-content:center;
}
.bpffm-gal-prev{left:5px;}.bpffm-gal-next{right:5px;}
.bpffm-insp-thumbs{display:flex;gap:5px;margin-bottom:10px;overflow-x:auto;}
.bpffm-insp-thumb{
    width:48px;height:48px;flex-shrink:0;
    border-radius:5px;overflow:hidden;
    border:2px solid transparent;cursor:pointer;
}
.bpffm-insp-thumb.active{border-color:var(--ff);}
.bpffm-insp-thumb img{width:100%;height:100%;object-fit:cover;}
.bpffm-dl{border:1px solid var(--bdr);border-radius:var(--rs);overflow:hidden;margin-bottom:10px;}
.bpffm-dr{
    display:flex;justify-content:space-between;align-items:center;
    padding:7px 10px;font-size:12px;border-bottom:1px solid var(--bdr);
}
.bpffm-dr:last-child{border-bottom:none;}
.bpffm-dr span:first-child{color:var(--t2);}

/* CHAT */
.bpffm-chat-wrap{
    display:flex;position:relative;
    height:calc(100svh - 170px);min-height:480px;
    border:1px solid var(--bdr);border-radius:var(--rl);
    overflow:hidden;width:100%;
}
/* ── SIDEBAR konvèsasyon ── */
.bpffm-chat-sidebar{
    width:280px;min-width:220px;flex-shrink:0;
    border-right:1px solid var(--bdr);
    background:var(--bg2);display:flex;flex-direction:column;
}
.bpffm-chat-sidebar-hd{
    padding:12px 14px;font-size:11px;font-weight:700;
    color:var(--t2);border-bottom:1px solid var(--bdr);
    text-transform:uppercase;letter-spacing:.06em;background:var(--bg3);
}
.bpffm-conv-list{flex:1;overflow-y:auto;}

/* ── Item konvèsasyon (stil WhatsApp) ── */
.bpffm-conv-item{
    padding:12px 14px;cursor:pointer;
    border-bottom:1px solid var(--bdr);
    border-left:3px solid transparent;
    display:flex;align-items:center;gap:11px;
    transition:background .12s, border-color .12s;
    box-sizing:border-box;min-height:68px;
}
.bpffm-conv-item:hover{ background:var(--bg3); }
.bpffm-conv-item.active{
    background:var(--bg4);
    border-left-color:var(--ff);
}
.bpffm-conv-info{flex:1;min-width:0;}
.bpffm-conv-name{
    font-size:14px;font-weight:600;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    color:var(--t);line-height:1.3;
}
.bpffm-conv-sub{
    font-size:12px;color:var(--t2);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    margin-top:3px;display:flex;align-items:center;gap:4px;
}
.bpffm-conv-partner{color:var(--am-t);font-weight:700;font-size:11px;}
.bpffm-conv-preview{color:var(--t3);font-size:11px;}
/* Meta droite (badge + temps) */
.bpffm-conv-meta{
    display:flex;flex-direction:column;align-items:flex-end;
    gap:5px;flex-shrink:0;
}
.bpffm-conv-time{font-size:10px;color:var(--t3);}
/* Badge unread (bulle verte style WhatsApp) */
.bpffm-unread-count{
    min-width:20px;height:20px;padding:0 5px;
    border-radius:10px;background:#25D366;color:#fff;
    font-size:11px;font-weight:800;line-height:20px;text-align:center;
    animation:bpffm-pop .2s ease;flex-shrink:0;
}
@keyframes bpffm-pop{from{transform:scale(.4);opacity:0;}to{transform:scale(1);opacity:1;}}
/* Item "has-unread" — nom en gras + fond léger */
.bpffm-conv-item.has-unread .bpffm-conv-name{font-weight:800;color:var(--t);}
.bpffm-conv-item.has-unread .bpffm-conv-sub{color:var(--t);}
.bpffm-conv-item.has-unread .bpffm-conv-preview{color:var(--t2);font-weight:600;}
/* Avatar rond style WA */
.bpffm-conv-item .bpffm-av{
    width:44px;height:44px;font-size:18px;flex-shrink:0;
    background:linear-gradient(135deg,#D85A30,#EF9F27);color:#fff;
    border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-weight:800;
}

/* ── Zone principale chat ── */
.bpffm-chat-main{flex:1;display:flex;flex-direction:column;background:var(--bg);min-width:0;}
.bpffm-chat-top{
    padding:10px 14px;border-bottom:1px solid var(--bdr);
    background:var(--bg2);flex-shrink:0;
    display:flex;align-items:center;gap:10px;min-height:54px;
}
.bpffm-chat-top-av{
    width:36px;height:36px;border-radius:50%;flex-shrink:0;
    background:linear-gradient(135deg,#D85A30,#EF9F27);color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-size:15px;font-weight:800;
}
.bpffm-chat-top-info{flex:1;min-width:0;}
.bpffm-chat-top-name{
    font-size:14px;font-weight:700;color:var(--t);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.bpffm-chat-top-sub{font-size:11px;color:var(--am-t);margin-top:1px;}
.bpffm-chat-back{
    display:none;
    align-items:center;justify-content:center;
    width:32px;height:32px;border-radius:50%;flex-shrink:0;
    background:transparent;border:none;
    color:var(--t);font-size:20px;cursor:pointer;
}
.bpffm-chat-back:hover{background:var(--bg3);}

/* ── Zone messages ── */
.bpffm-chat-msgs{
    flex:1;overflow-y:auto;padding:10px 14px 6px;
    display:flex;flex-direction:column;gap:2px;
    background:var(--bg);
}

/* ══════════════════════════════════════════
   BULLES DE MESSAGES — WhatsApp exact
   MOI  = droite, bleu foncé
   LUI  = gauche, gris foncé
══════════════════════════════════════════ */
.bpffm-msg-group{
    display:flex;flex-direction:column;
    margin-bottom:6px;
}
.bpffm-msg-group.me{ align-items:flex-end; }
.bpffm-msg-group.them{ align-items:flex-start; }

.bpffm-msg{
    max-width:72%;padding:7px 11px 5px;
    font-size:13px;line-height:1.5;word-break:break-word;
    position:relative;
}
/* — MOI — droite, bleu */
.bpffm-msg.me{
    background:#005C4B;        /* vert foncé WhatsApp dark */
    color:#E9EDEF;
    border-radius:10px 10px 2px 10px;
    margin-left:auto;
}
/* — LUI — gauche, gris */
.bpffm-msg.them{
    background:var(--bg3);
    color:var(--t);
    border-radius:10px 10px 10px 2px;
    margin-right:auto;
    border:1px solid var(--bdr);
}
/* Premier message du groupe = angle pointu en bas */
.bpffm-msg-group.me .bpffm-msg:last-child{border-radius:10px 10px 2px 10px;}
.bpffm-msg-group.them .bpffm-msg:last-child{border-radius:10px 10px 10px 2px;}
/* Messages du milieu d'un groupe (même expéditeur) — arrondi total */
.bpffm-msg-group .bpffm-msg:not(:last-child){border-radius:10px;}

/* Heure en bas à droite — style WhatsApp */
.bpffm-msg-time{
    font-size:10px;opacity:.65;
    text-align:right;line-height:1;
    margin-top:3px;
    display:block;
}
.bpffm-msg.me .bpffm-msg-time{color:rgba(233,237,239,.8);}
.bpffm-msg.them .bpffm-msg-time{color:var(--t2);}

/* Nom expéditeur (affiché UNE SEULE FOIS en haut du groupe) */
.bpffm-msg-sender-label{
    font-size:11px;font-weight:700;color:var(--ff);
    margin-bottom:3px;padding-left:2px;
    display:block;
}

/* Messages système (centré, petite capsule) */
.bpffm-msg.sys{
    align-self:center;background:rgba(255,255,255,.07);
    color:var(--t2);font-size:11px;padding:4px 10px;
    border-radius:8px;font-style:italic;max-width:88%;
    text-align:center;margin:4px auto;border:none;
}
/* Offre de prix */
.bpffm-msg.offer{
    background:var(--am-bg)!important;
    border:1px solid rgba(239,159,39,.35)!important;
    border-radius:10px!important;min-width:160px;
}
.bpffm-offer-amt{font-size:16px;font-weight:800;color:var(--am-t);margin:2px 0;}
.bpffm-offer-acts{display:flex;gap:5px;margin-top:7px;}

/* Credentials (bulle spéciale) */
.bpffm-msg.credentials{
    background:linear-gradient(135deg,#0a1f0a,#0d2d0d);
    border:1px solid rgba(151,196,89,.3);
    border-radius:10px;max-width:80%;
    align-self:flex-start;margin-right:auto;
}

/* Bulles temporaires (optimiste) + échec */
.bpffm-msg-temp{opacity:.7;}
.bpffm-msg.failed{
    opacity:1;border:1px solid rgba(239,68,68,.6)!important;
    background:#2e0a0a!important;
}
.bpffm-msg.failed .bpffm-msg-time{color:#f88;}

/* ── Zone saisie ── */
.bpffm-chat-inp-wrap{
    padding:8px 10px;border-top:1px solid var(--bdr);
    background:var(--bg2);display:none;flex-direction:column;gap:5px;flex-shrink:0;
}
.bpffm-chat-inp-wrap.show{display:flex;}
.bpffm-offer-bar{display:none;align-items:center;gap:6px;font-size:11px;}
.bpffm-offer-bar.open{display:flex;}
.bpffm-offer-bar input{
    width:110px;padding:5px 8px;background:var(--bg3);
    border:1px solid var(--bdr2);border-radius:var(--rs);
    color:var(--t);font-size:12px;outline:none;
}
.bpffm-chat-inp-row{display:flex;gap:6px;align-items:flex-end;}
.bpffm-chat-inp-row textarea{
    flex:1;background:var(--bg3);border:1px solid var(--bdr2);
    border-radius:18px;color:var(--t);font-size:13px;
    padding:8px 12px;resize:none;outline:none;font-family:inherit;
    max-height:90px;line-height:1.4;
}
.bpffm-chat-inp-row textarea:focus{border-color:var(--ff);}
.bpffm-chat-action-btn{
    width:36px;height:36px;border-radius:50%;
    background:transparent;border:none;
    color:var(--t2);font-size:18px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:background .1s,color .1s;flex-shrink:0;
}
.bpffm-chat-action-btn:hover{background:var(--bg3);color:var(--t);}

/* ── Mobile style WhatsApp ── */
@media(max-width:768px){
    .bpffm-chat-wrap{height:calc(100svh - 150px);min-height:70vh;}
    .bpffm-chat-sidebar{width:100%;min-width:0;border-right:none;}
    .bpffm-chat-main{display:none;}
    .bpffm-chat-wrap.show-conv .bpffm-chat-main{
        display:flex;flex-direction:column;
        position:fixed;left:0;right:0;
        top:var(--bp-adminbar-h,0px);
        height:calc(100dvh - var(--bp-adminbar-h,0px));
        z-index:99999;border-radius:0;background:var(--bg);
    }
    .bpffm-chat-back{display:flex;}
    .bpffm-conv-item{padding:13px 14px;min-height:72px;}
    .bpffm-conv-name{font-size:15px;}
    .bpffm-conv-sub{font-size:12px;}
    .bpffm-msg{max-width:84%;font-size:13px;}
    .bpffm-chat-wrap.show-conv .bpffm-chat-top{flex-shrink:0;}
    .bpffm-chat-wrap.show-conv .bpffm-chat-inp-wrap{flex-shrink:0;}
    .bpffm-chat-wrap.show-conv .bpffm-chat-msgs{
        flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
    }
}

/* Non expéditeur (legacy — remplacé par sender-label dans le groupe) */
.bpffm-msg-sender{font-size:10px;font-weight:700;color:var(--ff);margin-bottom:3px;line-height:1;}

/* WALLET — design pwofesyonèl */
.bpffm-wallet-hero{
    background:linear-gradient(135deg,#D85A30 0%,#EF9F27 100%);
    border-radius:16px;padding:20px 18px 16px;margin-bottom:12px;
    color:#fff;box-shadow:0 8px 24px rgba(216,90,48,.28);
}
.bpffm-wallet-hero-lbl{font-size:12px;font-weight:600;opacity:.9;letter-spacing:.03em;}
.bpffm-wallet-hero-amt{font-size:34px;font-weight:800;line-height:1.1;margin:4px 0 14px;}
.bpffm-wallet-substats{display:flex;gap:10px;}
.bpffm-substat{flex:1;background:rgba(255,255,255,.16);border-radius:11px;padding:9px 11px;backdrop-filter:blur(2px);}
.bpffm-substat-v{font-size:15px;font-weight:800;line-height:1.2;}
.bpffm-substat-l{font-size:10px;opacity:.92;margin-top:2px;}
.bpffm-wallet-card{
    background:var(--bg3);border:1px solid var(--bdr);
    border-radius:var(--rl);padding:14px;margin-bottom:12px;
}
.bpffm-wallet-card-hd{font-size:13px;font-weight:700;color:var(--t);margin-bottom:11px;}
.bpffm-recharge-row{display:flex;gap:8px;align-items:center;}
.bpffm-recharge-row input{
    flex:1;min-width:0;padding:10px 12px;border-radius:9px;
    border:1px solid var(--bdr2);background:var(--bg4);color:var(--t);font-size:14px;outline:none;
}
.bpffm-recharge-row input:focus{border-color:var(--am-t);}
.bpffm-recharge-row .bpffm-btn{flex-shrink:0;}
/* Lis tranzaksyon (kat, pa tablo — pi pwofesyonèl sou telefòn) */
.bpffm-tx-list{display:flex;flex-direction:column;}
.bpffm-tx-item{display:flex;align-items:center;gap:11px;padding:11px 2px;border-bottom:1px solid var(--bdr);}
.bpffm-tx-item:last-child{border-bottom:none;}
.bpffm-tx-ic{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0;}
.bpffm-tx-mid{flex:1;min-width:0;}
.bpffm-tx-desc{font-size:13px;color:var(--t);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bpffm-tx-date{font-size:11px;color:var(--t2);margin-top:2px;}
.bpffm-tx-right{text-align:right;flex-shrink:0;}
.bpffm-tx-amt{font-size:14px;font-weight:800;}
.bpffm-tx-st{font-size:10px;margin-top:2px;font-weight:600;}
.bpffm-tx-st.st-done{color:var(--gr-t);}
.bpffm-tx-st.st-pend{color:var(--am-t);}
.bpffm-tx-st.st-rej{color:#f88;}

/* MODAL KONFIMASYON */
.bpffm-confirm-modal{max-width:400px;text-align:center;padding:24px 22px 18px;}
.bpffm-confirm-ic{font-size:40px;line-height:1;margin-bottom:10px;}
.bpffm-confirm-title{font-size:17px;font-weight:700;margin:0 0 8px;color:var(--t);}
.bpffm-confirm-msg{font-size:13.5px;line-height:1.6;color:var(--t2);margin-bottom:18px;}
.bpffm-confirm-acts{display:flex;gap:9px;}
/* MISC */
#bpffm-toast{
    position:fixed;
    bottom:80px; /* Anba ekran, anlè input bar navigatè */
    left:50%;transform:translateX(-50%);
    z-index:1000001;width:calc(100% - 32px);max-width:380px;
    display:flex;flex-direction:column;gap:6px;
    pointer-events:none;
}
#bpffm-toast .bpffm-notice{
    margin:0;pointer-events:auto;
    box-shadow:0 8px 26px rgba(0,0,0,.35);
    font-size:13px;padding:11px 14px;
}
.bpffm-empty{text-align:center;padding:26px;color:var(--t3);font-size:13px;}
.bpffm-loader{text-align:center;padding:26px;color:var(--t2);font-size:13px;}
.bpffm-notice{padding:8px 12px;border-radius:var(--rs);font-size:12px;margin-bottom:9px;}
.bpffm-notice-s{background:var(--gr-bg);color:var(--gr-t);border:1px solid var(--gr-t)40;}
.bpffm-notice-e{background:var(--rd-bg);color:#f88;border:1px solid #f884;}

/* WITHDRAWAL */
.bpffm-wd-section{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r);padding:13px;margin:12px 0;}
.bpffm-wd-hd{font-size:13px;font-weight:700;color:var(--am-t);margin-bottom:11px;}
.bpffm-method-btns{display:flex;gap:5px;flex-wrap:wrap;}
.bpffm-method-btn{padding:5px 11px;border-radius:18px;border:1px solid var(--bdr2);font-size:11px;color:var(--t2);cursor:pointer;background:var(--bg4);}
.bpffm-method-btn.active{background:#D85A3020;color:var(--ff);border-color:var(--ff);}
.bpffm-wd-calc{background:var(--bg4);border-radius:var(--rs);padding:9px;margin:7px 0;}
.bpffm-wd-row{display:flex;justify-content:space-between;font-size:12px;padding:3px 0;color:var(--t2);}
.bpffm-wd-row.total{border-top:1px solid var(--bdr);margin-top:4px;padding-top:6px;font-size:13px;color:var(--t);}

::-webkit-scrollbar{width:3px;height:3px;}
::-webkit-scrollbar-thumb{background:var(--bdr2);border-radius:3px;}

/* SMALL MOBILE */
@media(max-width:360px){
    .bpffm-tabs .bpffm-tab{font-size:10px;padding:6px 2px;}
    .bpffm-card-name{font-size:11px;}
    .bpffm-price{font-size:12px;}
    .bpffm-wallet-hero-amt{font-size:28px;}
}

/* CREDENTIALS message */
.bpffm-msg.credentials{
    align-self:center;
    background:var(--gr-bg)!important;
    border:1px solid var(--gr-t)40;
    border-radius:10px;
    max-width:90%;
    padding:10px 14px;
}

/* ══ CHAT WhatsApp-style improvements ══ */
.bpffm-chat-inp-wrap{
    padding:8px 10px 10px;
    safe-area-inset-bottom: env(safe-area-inset-bottom);
}
.bpffm-chat-inp-row{
    align-items:flex-end;
    gap:6px;
}
.bpffm-chat-inp-row textarea{
    min-height:40px;
    max-height:160px; /* Mesaj long — grandi otomatikman */
    height:40px;
    line-height:1.4;
    padding:10px 12px;
    border-radius:20px; /* WhatsApp style */
    transition:height .1s;
    /* Fòse tèks la blan/vizib (tèm WordPress + iOS ka fòse yon lòt koulè) */
    color:#F0EFE8 !important;
    -webkit-text-fill-color:#F0EFE8;
    caret-color:var(--ff);
    background:var(--bg3) !important;
    -webkit-appearance:none;appearance:none;
    opacity:1;
}
.bpffm-chat-inp-row textarea::placeholder{ color:var(--t2) !important; -webkit-text-fill-color:var(--t2); opacity:1; }
.bpffm-chat-inp-row textarea::-webkit-input-placeholder{ color:var(--t2); }
.bpffm-chat-action-btn{
    width:34px;height:34px;border-radius:50%;
    background:var(--bg4);border:1px solid var(--bdr2);
    color:var(--t2);font-size:16px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;transition:background .15s;
}
.bpffm-chat-action-btn:hover{background:var(--bg3);color:var(--t);}
/* Bouton voye — rond kon WhatsApp */
#bpffm-send-msg{
    width:40px;height:40px;padding:0!important;
    border-radius:50%!important;flex-shrink:0;
    display:flex!important;align-items:center;justify-content:center;
}
/* Media messages */
.bpffm-msg.media-msg{
    padding:4px!important;
    background:transparent!important;
    border:none!important;
}
.bpffm-msg.media-msg.me{background:#2563EB!important;padding:4px!important;}
.bpffm-msg.media-msg.them{background:var(--bg3)!important;padding:4px!important;}

/* ══ Inspect modal: tip kont + credentials section ══ */
.bpffm-insp-cred{
    background:var(--gr-bg);
    border:1px solid var(--gr-t)30;
    border-radius:var(--rs);
    padding:10px 12px;
    margin-top:8px;
    font-family:monospace;
    font-size:12px;
    line-height:1.7;
}
.bpffm-type-badge{
    display:inline-flex;align-items:center;gap:4px;
    padding:3px 9px;border-radius:10px;font-size:11px;font-weight:700;
    margin-bottom:6px;
}
.type-facebook{background:#1877F220;color:#1877F2;}
.type-google{background:#EA433520;color:#EA4335;}
.type-email{background:#6c6c6c20;color:var(--t2);}
.type-autre{background:#88888820;color:var(--t2);}

/* ══ Type kont selector ══ */
.bpffm-type-opt{
    display:inline-flex;align-items:center;gap:4px;
    padding:5px 11px;border-radius:16px;
    border:1px solid var(--bdr2);cursor:pointer;
    font-size:12px;background:var(--bg4);color:var(--t2);
    transition:all .15s;user-select:none;
}
.bpffm-type-opt.sel{
    border-color:var(--ff);color:var(--t);
    background:#D85A3020;
}

/* ══ LIGHTBOX FOTO CHAT ══ */
#bpffm-lightbox{
    display:none;position:fixed;inset:0;z-index:1000002;
    background:rgba(0,0,0,.92);
    align-items:center;justify-content:center;padding:18px;
    -webkit-overflow-scrolling:touch;
}
#bpffm-lightbox.open{display:flex;}
#bpffm-lightbox img{
    max-width:100%;max-height:100%;
    border-radius:8px;object-fit:contain;
    box-shadow:0 10px 40px rgba(0,0,0,.6);
}
#bpffm-lightbox-close{
    position:fixed;top:14px;right:16px;
    width:42px;height:42px;border-radius:50%;
    background:rgba(255,255,255,.15);border:none;
    color:#fff;font-size:26px;line-height:1;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
}

/* ══ NOTIFIKASYON NOUVO MESAJ ══ */
/* Tab klinotaj (puls) lè gen nouvo mesaj */
@keyframes bpffm-tab-pulse{
    0%,100%{background:none;color:var(--t2);}
    25%,75%{background:var(--ff);color:#fff;}
    50%{background:var(--ff);color:#fff;box-shadow:0 0 10px var(--ff);}
}
.bpffm-tab.notif-pulse{animation:bpffm-tab-pulse .6s ease 3;}

/* Badge pop */
@keyframes bpffm-badge-pop{0%{transform:scale(1);}50%{transform:scale(1.5);}100%{transform:scale(1);}}
.notif-pop{animation:bpffm-badge-pop .4s ease!important;}

/* Bann diskrè anba ekran */
.bpffm-msg-notif{
    display:flex;align-items:center;gap:8px;cursor:pointer;
    background:rgba(30,30,40,.92);backdrop-filter:blur(8px);
    color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:10px;
    padding:10px 14px;font-size:13px;font-weight:500;
    transform:translateY(8px);opacity:0;
    transition:transform .25s ease,opacity .2s ease;
    pointer-events:auto;
    will-change:transform,opacity;
}
.bpffm-msg-notif.show{transform:translateY(0);opacity:1;}
.bpffm-msg-notif-ic{font-size:16px;line-height:1;}
.bpffm-msg-notif-txt{flex:1;font-size:12px;}
.bpffm-msg-notif-go{
    background:var(--ff);color:#fff;
    padding:3px 8px;border-radius:6px;
    font-size:11px;font-weight:700;white-space:nowrap;
}

/* Non expéditeur anwo mesaj lòt moun (tankou WhatsApp) */
.bpffm-msg-sender{
    font-size:10px;font-weight:700;color:var(--ff);
    margin-bottom:3px;line-height:1;
}
.bpffm-msg-notif-go{
    background:rgba(255,255,255,.22);padding:4px 9px;border-radius:8px;
    font-size:12px;font-weight:800;white-space:nowrap;
}
