/* ==========================================================================
   Boneko UI — design system extrait des maquettes design/ (v3)
   --------------------------------------------------------------------------
   IMPORTANT : tout est scopé sous `.bui` pour cohabiter avec Bootstrap et
   l'ancien style.css. On applique ce fichier écran par écran (rollout
   progressif). Ne PAS supposer qu'il est chargé sur toutes les pages.
   ========================================================================== */

/* ---- Poppins self-hosted (RGPD + hors-ligne) ---------------------------- */
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url('/assets/fonts/Poppins-Light.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/Poppins-Regular.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/Poppins-Medium.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/Poppins-SemiBold.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/Poppins-Bold.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/fonts/Poppins-ExtraBold.ttf') format('truetype')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:900;font-display:swap;src:url('/assets/fonts/Poppins-Black.ttf') format('truetype')}

/* ---- Design tokens ------------------------------------------------------ */
.bui{
  --coral:#ec643d; --coral-d:#e34b2c; --magenta:#eb5a87; --green:#2fa36b; --amber:#e6a52a;
  --ink:#1a1720; --ink-2:#4a4653; --muted:#8f8b99; --line:#ecebf1; --bg:#f7f6fa; --card:#fff;
  --grad:linear-gradient(135deg,#ec643d 0%,#eb5a87 100%);
  --grad-soft:linear-gradient(135deg,rgba(236,100,61,.10),rgba(235,90,135,.10));
  --shadow:0 10px 30px rgba(26,23,32,.06); --shadow-s:0 3px 12px rgba(26,23,32,.05);
  --r-s:11px; --r-m:14px; --r-l:18px; --r-xl:22px;
}

/* Reset local (scopé) : on neutralise l'héritage Bootstrap sur nos éléments */
.bui *{box-sizing:border-box}
.bui{font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
.bui h1,.bui h2,.bui h3,.bui h4,.bui p{margin:0}
.bui a{text-decoration:none}
.bui svg.i{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.bui .wrap{display:flex;min-height:100vh}

/* ---- Sidebar (menu latéral 2 niveaux) ----------------------------------- */
.bui .side{width:236px;background:#fff;border-right:1px solid var(--line);padding:20px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:2px;flex:0 0 auto}
.bui .brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px;font-weight:800;font-size:19px;color:var(--ink)}
.bui .brand .m{width:34px;height:34px;border-radius:11px;background:var(--grad);display:grid;place-items:center;color:#fff;font-weight:800;box-shadow:0 6px 14px rgba(235,90,135,.4)}
.bui .brand .pro{font-size:11px;color:#b6b2c0;font-weight:600;margin-left:-4px}
.bui .grp{font-size:10.5px;font-weight:700;letter-spacing:.6px;color:#b6b2c0;text-transform:uppercase;padding:14px 10px 6px}
/* override Bootstrap .nav (flex-row) → sidebar verticale */
.bui .nav{display:flex;flex-direction:column;gap:2px;padding:0;margin:0;list-style:none}
.bui .nav a{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:11px;color:var(--ink-2);font-size:13.5px;font-weight:500;cursor:pointer}
.bui .nav a:hover{background:#f5f3f8}
.bui .nav a.on{background:var(--grad-soft);color:var(--coral-d);font-weight:600}
.bui .nav a.disabled{opacity:.45;pointer-events:none}
.bui .nav a .i{width:18px;height:18px}
.bui .side .sp{flex:1}
.bui .prof{display:flex;align-items:center;gap:10px;padding:10px;border-top:1px solid var(--line);margin-top:8px}
.bui .prof .a{width:34px;height:34px;border-radius:10px;background:var(--grad-soft);color:var(--coral-d);display:grid;place-items:center;font-weight:700;font-size:13px;flex:0 0 auto}
.bui .prof .t{font-size:12.5px;font-weight:600;min-width:0;overflow:hidden}.bui .prof .t small{display:block;color:var(--muted);font-weight:400;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---- Main --------------------------------------------------------------- */
.bui .main{flex:1;min-width:0;padding:24px 34px 60px;max-width:1180px}
.bui .switch{display:inline-flex;background:#efedf3;border-radius:12px;padding:4px;margin-bottom:22px;font-size:13px;font-weight:600}
.bui .switch button{border:none;background:none;font-family:inherit;font-weight:600;font-size:13px;padding:8px 16px;border-radius:9px;cursor:pointer;color:var(--muted)}
.bui .switch button.on{background:#fff;color:var(--ink);box-shadow:var(--shadow-s)}
.bui .switchrow{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:22px;flex-wrap:wrap}
.bui .switchrow .switch{margin-bottom:0}
.bui .shopsel{position:relative;display:inline-flex;background:#efedf3;border-radius:12px;padding:4px}
.bui .shopsel-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;border:none;border-radius:9px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-s);max-width:260px}
.bui .shopsel-btn.static{cursor:default}
.bui .shopsel-btn .logo{width:20px;height:20px;border-radius:6px;object-fit:cover;flex:0 0 auto;display:block}
.bui .shopsel-btn .logo.ph{display:grid;place-items:center;background:var(--grad-soft);color:var(--coral-d);font-size:10px;font-weight:700;text-transform:uppercase}
.bui .shopsel-btn .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bui .shopsel-btn .chev{color:var(--muted);font-size:11px;flex:0 0 auto;transition:transform .2s ease}
.bui .shopsel.open .shopsel-btn .chev{transform:rotate(180deg)}
.bui .shopsel-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;max-width:300px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:6px;z-index:40;display:none}
.bui .shopsel.open .shopsel-menu{display:block;animation:bui-f .2s ease}
.bui .shopsel-menu .shopsel-lab{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:6px 10px 4px}
.bui .shopsel-menu a{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:10px;color:var(--ink-2);font-size:13px;font-weight:500;text-decoration:none;cursor:pointer}
.bui .shopsel-menu a:hover{background:var(--grad-soft);color:var(--coral-d)}
.bui .shopsel-menu a .logo{width:26px;height:26px;border-radius:8px;object-fit:cover;flex:0 0 auto;display:block}
.bui .shopsel-menu a .logo.ph{display:grid;place-items:center;background:var(--grad-soft);color:var(--coral-d);font-size:12px;font-weight:700;text-transform:uppercase}
.bui .shopsel-menu a .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bui .view{display:none}.bui .view.on{display:block;animation:bui-f .3s ease}
@keyframes bui-f{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---- Boutons ------------------------------------------------------------ */
.bui .btn{border:none;font-family:inherit;font-weight:600;font-size:14px;padding:12px 18px;border-radius:13px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.bui .btn.primary{background:var(--grad);color:#fff;box-shadow:0 8px 20px rgba(235,90,135,.32)}
.bui .btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-s)}
.bui .btn svg.i{width:18px;height:18px;stroke-width:2.2}

/* ---- Onboarding (hero + stepper) ---------------------------------------- */
.bui .hero{background:var(--grad);border-radius:24px;padding:30px 32px;color:#fff;position:relative;overflow:hidden;margin-bottom:22px}
.bui .hero:after{content:"";position:absolute;right:-40px;top:-50px;width:200px;height:200px;background:rgba(255,255,255,.13);border-radius:50%}
.bui .hero:before{content:"";position:absolute;right:60px;bottom:-80px;width:150px;height:150px;background:rgba(255,255,255,.10);border-radius:50%}
.bui .hero .k{font-size:12.5px;font-weight:600;opacity:.9;letter-spacing:.3px}
.bui .hero h1{font-size:29px;font-weight:800;letter-spacing:-.7px;margin:4px 0 8px}
.bui .hero p{font-size:14.5px;opacity:.95;max-width:520px;line-height:1.55}
.bui .hprog{margin-top:20px;display:flex;align-items:center;gap:14px}
.bui .hprog .bar{flex:1;max-width:280px;height:9px;background:rgba(255,255,255,.28);border-radius:8px;overflow:hidden}
.bui .hprog .bar i{display:block;height:100%;width:0%;background:#fff;border-radius:8px;transition:width .5s}
.bui .hprog .lab{font-size:13px;font-weight:600}

.bui .steps{display:flex;flex-direction:column;gap:14px}
.bui .step{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-s);padding:18px 20px;display:flex;align-items:center;gap:16px}
.bui .step .num{width:44px;height:44px;border-radius:14px;background:var(--grad-soft);color:var(--coral-d);display:grid;place-items:center;flex:0 0 auto}
.bui .step.done .num{background:#eafaf2;color:var(--green)}
.bui .step .tx{flex:1;min-width:0}
.bui .step .tx .st{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.bui .step .tx h3{font-size:16px;font-weight:700;margin:2px 0 3px;letter-spacing:-.2px}
.bui .step .tx p{font-size:13px;color:var(--ink-2)}
.bui .step.done{opacity:.85}
.bui .step.done .tx h3{color:var(--ink-2)}
.bui .skip{text-align:center;margin-top:18px;font-size:13px;color:var(--muted)}
.bui .skip a{color:var(--coral-d);font-weight:600;cursor:pointer}

/* ---- Dashboard : top + focus ------------------------------------------- */
.bui .top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.bui .hello .h{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.3px}
.bui .hello h1{font-size:26px;font-weight:800;letter-spacing:-.6px;margin-top:2px}
.bui .hello p{font-size:13.5px;color:var(--ink-2);margin-top:4px}
.bui .cta{display:flex;gap:10px;flex-shrink:0}

.bui .focus{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:20px 22px;margin-bottom:20px}
.bui .focus .lab{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;margin-bottom:14px}
.bui .focus .lab .pt{background:var(--coral);color:#fff;font-size:11px;font-weight:700;border-radius:20px;padding:2px 9px}
.bui .todos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.bui .todo{border:1px solid var(--line);border-radius:15px;padding:15px;display:flex;gap:13px;align-items:center;cursor:pointer;transition:.15s;color:inherit}
.bui .todo:hover{border-color:#e0dce8;box-shadow:var(--shadow-s);transform:translateY(-1px)}
.bui .todo .ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex:0 0 auto;color:var(--coral-d)}
.bui .ic.a{background:#fff0e9;color:#e07a3a}.bui .ic.b{background:#eafaf2;color:var(--green)}.bui .ic.c{background:#eef2ff;color:#5b76e0}
.bui .todo h4{font-size:13.5px;font-weight:600;line-height:1.35}
.bui .todo p{font-size:12px;color:var(--muted);margin-top:2px}
.bui .todo .arw{margin-left:auto;color:#c9c5d1}

/* ---- KPI ---------------------------------------------------------------- */
.bui .kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.bui .kpi{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow-s)}
.bui .kpi .r{display:flex;align-items:center;justify-content:space-between}
.bui .kpi .ic{width:34px;height:34px;border-radius:10px;background:var(--grad-soft);display:grid;place-items:center;color:var(--coral-d)}
.bui .kpi .ic svg.i{width:17px;height:17px}
.bui .kpi .tr{font-size:11.5px;font-weight:700;color:var(--green);background:#eafaf2;padding:3px 8px;border-radius:20px}
.bui .kpi b{display:block;font-size:25px;font-weight:800;letter-spacing:-.5px;margin-top:12px}
.bui .kpi span{font-size:12.5px;color:var(--muted)}

/* ---- Panneaux (colonnes) ------------------------------------------------ */
.bui .cols{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}
.bui .panel{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-s);padding:20px 22px}
.bui .panel h3{font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.bui .panel h3 a{font-size:12.5px;font-weight:600;color:var(--coral-d)}
.bui .panel .empty{font-size:13px;color:var(--muted);line-height:1.5;padding:8px 0 14px}
/* Activité Scanner (validations en boutique) — dashboard */
.bui .scanact{margin-bottom:22px}
.bui .scanact h3 .per{font-size:11px;font-weight:600;color:var(--muted)}
.bui .scanact .sarow{display:flex;flex-wrap:wrap;gap:10px;margin:2px 0 12px}
.bui .scanact .sacell{flex:1 1 100px;min-width:100px;background:linear-gradient(135deg,rgba(236,100,61,.06),rgba(235,90,135,.06));border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.bui .scanact .sacell b{display:block;font-size:23px;font-weight:800;line-height:1;background:linear-gradient(135deg,#ec643d,#eb5a87);-webkit-background-clip:text;background-clip:text;color:transparent}
.bui .scanact .sacell span{display:block;font-size:11px;color:#4a4653;font-weight:600;margin-top:6px;line-height:1.3}
.bui .scanact .sasub{font-size:11.5px;color:var(--muted);line-height:1.5;margin:0}

/* rangée ambassadeur (réutilisable étape 2 CRM) */
.bui .amb{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid var(--line)}
.bui .amb:last-child{border:none;padding-bottom:0}
.bui .amb .a{width:40px;height:40px;border-radius:12px;background:var(--grad-soft);color:var(--coral-d);display:grid;place-items:center;font-weight:700;font-size:14px;flex:0 0 auto}
.bui .amb .n{flex:1;min-width:0}.bui .amb .n h4{font-size:13.5px;font-weight:600}
.bui .amb .n .bar{height:6px;background:#f0eef4;border-radius:6px;margin-top:7px;overflow:hidden;max-width:220px}
.bui .amb .n .bar i{display:block;height:100%;background:var(--grad);border-radius:6px}
.bui .amb .n small{font-size:11.5px;color:var(--muted);display:block;margin-top:5px}
.bui .amb .st{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;white-space:nowrap}

/* badges de statut */
.bui .st.on{background:#eafaf2;color:var(--green)}
.bui .st.mid{background:#fff5e5;color:var(--amber)}
.bui .st.off{background:#f0eef4;color:var(--muted)}

/* rangée parcours */
.bui .jr{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;margin-bottom:10px}
.bui .jr .e{width:38px;height:38px;border-radius:11px;background:var(--grad-soft);color:var(--coral-d);display:grid;place-items:center}
.bui .jr h4{font-size:13.5px;font-weight:600}.bui .jr p{font-size:11.5px;color:var(--muted);margin-top:2px}
.bui .jr .cnt{margin-left:auto;text-align:right}.bui .jr .cnt b{font-size:16px;font-weight:800;color:var(--coral-d)}.bui .jr .cnt span{font-size:10.5px;color:var(--muted);display:block}

.bui .note{font-size:12px;color:var(--muted);text-align:center;margin-top:26px}

/* ---- Tooltip « i » (composant partagé, utilisé dès l'étape Avis) -------- */
.bui .tip{position:relative;display:inline-flex;align-items:center}
.bui .tip .qm{width:16px;height:16px;border-radius:50%;background:#efedf3;color:var(--muted);font-size:11px;font-weight:700;display:grid;place-items:center;cursor:help}
.bui .tip .bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:11.5px;font-weight:400;line-height:1.4;padding:8px 11px;border-radius:9px;width:220px;opacity:0;visibility:hidden;transition:.15s;z-index:20;box-shadow:var(--shadow)}
.bui .tip:hover .bubble{opacity:1;visibility:visible}

/* ---- Cercle de progression XP (composant partagé, étapes gamification) -- */
.bui .xp-ring{--val:0;--size:120px;width:var(--size);height:var(--size);border-radius:50%;
  background:conic-gradient(var(--coral) calc(var(--val)*1%),#f0eef4 0);display:grid;place-items:center;flex:0 0 auto}
.bui .xp-ring .in{width:calc(var(--size) - 18px);height:calc(var(--size) - 18px);border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center}
.bui .xp-ring .in b{font-size:20px;font-weight:800;line-height:1}
.bui .xp-ring .in span{font-size:11px;color:var(--muted)}

/* ======================================================================
   CRM — liste ambassadeurs/clients + drawer (étape 2)
   ====================================================================== */

/* barre d'actions haut de page */
.bui .cta{display:flex;gap:10px}

/* cartes compteurs */
.bui .counts{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.bui .cc{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 16px;box-shadow:var(--shadow-s);min-width:120px}
.bui .cc b{font-size:20px;font-weight:800}.bui .cc span{font-size:12px;color:var(--muted);display:block}

/* recherche + tri */
.bui .crmbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.bui .search{flex:1;min-width:220px;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 12px;box-shadow:var(--shadow-s)}
.bui .search svg{color:var(--muted);width:17px;height:17px}
.bui .search input{border:none;outline:none;font-family:inherit;font-size:13.5px;padding:11px 0;width:100%;background:none}
.bui .sort{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.bui .sort select{font-family:inherit;font-size:13px;font-weight:600;border:1px solid var(--line);border-radius:11px;padding:9px 12px;background:#fff;cursor:pointer}

/* pills de filtre */
.bui .pills{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.bui .pill{border:1px solid var(--line);background:#fff;color:var(--ink-2);font-family:inherit;font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:20px;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.bui .pill .n{font-size:11px;background:#f0eef4;color:var(--muted);padding:1px 7px;border-radius:20px}
.bui .pill.on{background:var(--ink);color:#fff;border-color:var(--ink)}.bui .pill.on .n{background:rgba(255,255,255,.2);color:#fff}

/* table */
.bui .tablewrap{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-s);overflow:hidden}
.bui table{width:100%;border-collapse:collapse;font-size:13px}
.bui thead th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700;padding:13px 16px;border-bottom:1px solid var(--line);background:#fbfafc}
.bui tbody td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.bui tbody tr{cursor:pointer;transition:background .12s}
.bui tbody tr:hover{background:#faf9fc}
.bui tbody tr.sel{background:var(--grad-soft)}
.bui tbody tr:last-child td{border-bottom:none}
.bui .u{display:flex;align-items:center;gap:11px}
.bui .u .a{width:38px;height:38px;border-radius:11px;background:var(--grad-soft);color:var(--coral-d);display:grid;place-items:center;font-weight:700;font-size:13px;flex:0 0 auto}
.bui .u .nm{font-weight:600;font-size:13.5px}.bui .u .em{font-size:11.5px;color:var(--muted)}
.bui .badge{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;white-space:nowrap;display:inline-block}
.bui .b-amb{background:#eafaf2;color:var(--green)}.bui .b-cli{background:#eef2ff;color:#5b76e0}.bui .b-new{background:#fff5e5;color:var(--amber)}.bui .b-ina{background:#f3f1f6;color:var(--muted)}
.bui .b-sent{background:#e8f0fc;color:#2f6fd0}.bui .b-done{background:#e4f6ee;color:#1e9e6a}
/* Promotion CRM — bouton par ligne + toast */
/* ⚠️ pas de display:flex sur un <td> : la cellule sort du modèle de tableau
   et la colonne d'actions se détache des lignes (bug repéré 16/07). La largeur
   réservée au bouton « ⏳ En attente » reste assurée par min-width. */
.bui td.arw{min-width:158px;white-space:nowrap;vertical-align:middle}
.bui td.arw .promote{vertical-align:middle;margin-right:8px}
.bui td.arw > .i{vertical-align:middle}
.bui .promote{border:none;font-family:inherit;font-size:12px;font-weight:700;padding:7px 12px;border-radius:20px;cursor:pointer;white-space:nowrap;background:var(--grad);color:#fff;box-shadow:0 6px 14px rgba(235,90,135,.28)}
.bui .promote:hover{transform:translateY(-1px)}
.bui .promote.off{background:#f3f1f6;color:var(--muted);box-shadow:none;text-decoration:none}
.bui .promote:disabled{opacity:.5;cursor:default;transform:none}
.bui .promote.resend{background:#e8f0fc;color:#2f6fd0;box-shadow:none}
.bui .promote.resend:hover{background:#d7e6fb;transform:translateY(-1px)}
.bui .crm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.bui .crm-stats .st{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-s);padding:16px 18px}
.bui .crm-stats .st b{font-size:24px;font-weight:800;display:block;letter-spacing:-.5px}
.bui .crm-stats .st span{font-size:11.5px;color:var(--muted)}
@media(max-width:720px){.bui .crm-stats{grid-template-columns:repeat(2,1fr)}}
.bui .crmtoast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;font-size:13px;font-weight:600;padding:12px 20px;border-radius:12px;box-shadow:0 12px 30px rgba(26,23,32,.28);opacity:0;pointer-events:none;transition:.25s;z-index:200;max-width:90vw;text-align:center}
.bui .crmtoast.on{opacity:1;transform:translateX(-50%) translateY(0)}
/* Bloc cycle promotion (drawer) */
.bui .promoblock{margin:-24px 24px 20px;position:relative;z-index:2;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-s);padding:6px 16px}
.bui .pstep{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.bui .pstep:last-child{border:none}
.bui .pstep .pnum{width:26px;height:26px;flex:0 0 auto;border-radius:50%;background:#f0eef4;color:var(--muted);display:grid;place-items:center;font-size:12px;font-weight:700}
.bui .pstep.done .pnum{background:var(--green);color:#fff}
.bui .pstep.locked{opacity:.5}
.bui .pstep .ptx{flex:1;min-width:0}
.bui .pstep .ptx b{font-size:13px;display:block}
.bui .pstep .ptx small{font-size:11.5px;color:var(--muted)}
.bui .ptoggles{margin-top:8px;display:flex;flex-direction:column;gap:8px}
.bui .ptog{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;font-weight:600;color:var(--ink-2)}
.bui .ptog input{width:36px;height:20px;-webkit-appearance:none;appearance:none;background:#d9d5e0;border-radius:20px;position:relative;cursor:pointer;transition:.2s;flex:0 0 auto}
.bui .ptog input:checked{background:var(--green)}
.bui .ptog input::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}
.bui .ptog input:checked::after{left:18px}
.bui .ptog input:disabled{opacity:.5;cursor:default}
.bui .btn.sm.dis{opacity:.5;cursor:default}
/* Fiche CRM à deux visages (drawer) */
.bui .dhead small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.bui .ambtag{font-size:10px;font-weight:800;background:#f3eef9;color:#8257c4;padding:4px 10px;border-radius:99px;vertical-align:2px}
.bui .fmeta{display:flex;flex-wrap:wrap;gap:8px;padding:0 24px 14px;font-size:11px;color:var(--muted)}
.bui .fmeta span{background:#f6f4f9;border-radius:20px;padding:4px 10px}
.bui .ambk{margin:0 24px 16px;background:linear-gradient(135deg,#faf7ff,#fff);border:1px solid #ece4f6;border-radius:16px;padding:16px}
.bui .ambk .akh{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.bui .ring{width:52px;height:52px;border-radius:50%;flex:0 0 auto;background:conic-gradient(#8257c4 calc(var(--p,0)*1%),#ece4f6 0);display:grid;place-items:center}
.bui .ring i{width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:800;color:#8257c4}
.bui .ambk .akh b{font-size:14px;display:block}
.bui .ambk .akh>div span{font-size:11.5px;color:var(--muted)}
.bui .akstats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.bui .akstats>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center}
.bui .akstats b{font-size:16px;font-weight:800;display:block}
.bui .akstats span{font-size:10px;color:var(--muted)}
.bui .akrec{display:flex;align-items:center;gap:8px;background:#fff5e5;border:1px solid #f5e2bf;border-radius:12px;padding:10px 12px;margin-bottom:12px;font-size:12px;font-weight:700;color:var(--amber)}
.bui .akrec b{flex:1;font-size:12px}
.bui .scanbtn-sm{border:none;background:var(--ink);color:#fff;font-family:inherit;font-size:11px;font-weight:700;padding:6px 10px;border-radius:20px;cursor:default;opacity:.55;flex:0 0 auto}
.bui .atog{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;font-weight:600;color:var(--ink-2);padding:9px 0;border-top:1px solid #ece4f6}
.bui .atog input{width:36px;height:20px;-webkit-appearance:none;appearance:none;background:#d9d5e0;border-radius:20px;position:relative;cursor:pointer;transition:.2s;flex:0 0 auto}
.bui .atog input:checked{background:var(--green)}
.bui .atog input::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}
.bui .atog input:checked::after{left:18px}
.bui .fcof{margin:0 24px 16px;background:#faf9fc;border:1px solid var(--line);border-radius:14px;padding:14px}
.bui .fcof.empty{display:flex;gap:12px;align-items:flex-start;background:#fef8f1;border-color:#f5e2c9}
.bui .fcof.empty .fce{font-size:22px;flex:0 0 auto}
.bui .fcof.empty b{font-size:13px;display:block;margin-bottom:3px}
.bui .fcof.empty span{font-size:11.5px;color:var(--ink-2);line-height:1.5}
.bui .fcl{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;font-weight:700;gap:8px}
.bui .soon-link{font-size:11px;font-weight:600;color:var(--muted);cursor:default}
.bui .fcof-empty-txt{font-size:11.5px;color:var(--muted);margin-top:8px;line-height:1.5}
.bui .cyc{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:0 24px 10px}
.bui .cpath{margin:0 24px 16px}
.bui .cstep{display:flex;gap:12px;padding-bottom:16px;position:relative}
.bui .cstep:last-child{padding-bottom:0}
.bui .cstep::before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:2px;background:var(--line)}
.bui .cstep:last-child::before{display:none}
.bui .cdot{width:28px;height:28px;flex:0 0 auto;border-radius:50%;background:#f0eef4;color:var(--muted);display:grid;place-items:center;font-size:13px;font-weight:700;z-index:1}
.bui .cstep.ok .cdot{background:var(--green);color:#fff}
.bui .cstep.now .cdot{background:var(--grad);color:#fff}
.bui .cstep.sent .cdot{background:#2f6fd0;color:#fff}
.bui .chip-sent{font-size:10px;font-weight:700;background:#e8f0fc;color:#2f6fd0;padding:2px 8px;border-radius:99px;vertical-align:1px}
.bui .cstep.lock{opacity:.5}
.bui .cbox{flex:1;min-width:0;padding-top:2px}
.bui .cbox h5{font-size:13px;font-weight:700;margin-bottom:4px}
.bui .cbox p{font-size:12px;color:var(--ink-2);line-height:1.5}
.bui .cbox p a{color:var(--coral-d);font-weight:600}
.bui .note-etude{display:flex;align-items:baseline;gap:8px;background:#eafaf2;border-radius:10px;padding:8px 12px;margin-top:4px}
.bui .note-etude b{font-size:15px;color:var(--green)}
.bui .note-etude span{font-size:11px;color:var(--ink-2)}
.bui .bigpromo{margin-top:8px;width:100%;border:none;font-family:inherit;font-size:13px;font-weight:800;padding:12px;border-radius:12px;cursor:pointer;background:var(--grad);color:#fff;box-shadow:0 8px 20px rgba(235,90,135,.3)}
.bui .bigpromo:hover:not(.dis){transform:translateY(-1px)}
.bui .bigpromo.dis{opacity:.45;cursor:default;box-shadow:none}
.bui .bigstudy{margin-top:8px;width:100%;border:1.5px solid var(--coral);background:#fff;color:var(--coral-d);font-family:inherit;font-size:13px;font-weight:800;padding:11px;border-radius:12px;cursor:pointer}
.bui .bigstudy:hover{background:var(--grad-soft)}
.bui .bigstudy:disabled{opacity:.5;cursor:default}
.bui .bigstudy.sent{border-color:var(--green);color:var(--green);background:#eafaf2;opacity:1}
.bui .promonote{font-size:10.5px;color:var(--muted);margin-top:6px}
.bui .dother{display:flex;flex-wrap:wrap;gap:8px;padding:4px 24px 16px}
.bui .dbtn{border:1px solid var(--line);background:#fff;font-family:inherit;font-size:11.5px;font-weight:600;color:var(--ink-2);padding:8px 12px;border-radius:20px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:5px}
.bui .dbtn:hover:not(:disabled){border-color:var(--coral);color:var(--coral-d)}
.bui .dbtn:disabled{opacity:.5;cursor:default}
.bui .dbtn.warn{color:#c0392b;border-color:#f0d0cb}
.bui .dnotes{padding:0 24px 24px}
.bui .dnote{width:100%;min-height:70px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-family:inherit;font-size:12.5px;resize:vertical;box-sizing:border-box}
/* Détail parcours de jeu (drawer ambassadeur) */
.bui .jdetail{margin:0 24px 16px;background:#faf9fc;border:1px solid var(--line);border-radius:14px;padding:14px}
.bui .jdlab{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:8px}
.bui .jdrow{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--ink-2);padding:4px 0}
.bui .jdck{width:18px;height:18px;flex:0 0 auto;border-radius:50%;background:#f0eef4;color:var(--muted);display:grid;place-items:center;font-size:10px;font-weight:700}
.bui .jdck.ok{background:var(--green);color:#fff}
.bui .jdgift{font-size:14px;flex:0 0 auto}
.bui .jdtag{font-size:10px;font-weight:700;background:#fff5e5;color:var(--amber);padding:2px 8px;border-radius:20px}
/* Activations (parcours + portail) — étape 3 client & visage ambassadeur */
.bui .acts2{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.bui .arow{display:flex;align-items:center;gap:10px}
.bui .arow .ai{width:30px;height:30px;flex:0 0 auto;border-radius:9px;display:grid;place-items:center;font-size:14px;background:#eafaf2}
.bui .arow .ai.pr{background:#f3eef9}
.bui .arow .arx{flex:1;min-width:0}
.bui .arow .arx b{font-size:12px;display:block}
.bui .arow .arx span{font-size:10.5px;color:var(--muted)}
.bui .jsel{font-family:inherit;font-size:11px;font-weight:600;color:var(--ink-2);border:1px solid var(--line);border-radius:99px;padding:6px 10px;background:#fff;max-width:155px;cursor:pointer}
.bui .jsel:disabled{opacity:.5;cursor:default}
.bui .atgg{width:36px;height:20px;-webkit-appearance:none;appearance:none;background:#d9d5e0;border-radius:20px;position:relative;cursor:pointer;transition:.2s;flex:0 0 auto}
.bui .atgg:checked{background:var(--green)}
.bui .atgg::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}
.bui .atgg:checked::after{left:18px}
.bui .atgg:disabled{opacity:.5;cursor:default}
.bui .rnote{white-space:nowrap;font-weight:700}.bui .rnote .s{color:var(--amber);font-weight:400}
.bui .prog{display:flex;align-items:center;gap:8px}.bui .prog .pb{width:74px;height:6px;background:#f0eef4;border-radius:6px;overflow:hidden}.bui .prog .pb i{display:block;height:100%;background:var(--grad);border-radius:6px}.bui .prog small{font-size:11px;color:var(--muted)}
.bui .muted{color:var(--muted)}.bui td.arw{color:#ccc8d4;text-align:right}
.bui .emptyrow{padding:36px;text-align:center;color:var(--muted)}

/* ---- Drawer (panneau latéral droit) ----------------------------------- */
.bui .ov{position:fixed;inset:0;background:rgba(26,23,32,.35);opacity:0;pointer-events:none;transition:opacity .25s;z-index:40}
.bui .ov.on{opacity:1;pointer-events:auto}
.bui .drawer{position:fixed;top:0;right:0;height:100vh;width:520px;max-width:94vw;background:var(--bg);box-shadow:-20px 0 50px rgba(26,23,32,.18);transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:50;overflow-y:auto}
.bui .drawer.on{transform:translateX(0)}
.bui .dclose{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:11px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;color:var(--ink-2);z-index:2}
.bui .dhead{background:var(--grad);color:#fff;padding:26px 24px 46px;position:relative;overflow:hidden}
.bui .dhead:after{content:"";position:absolute;right:-30px;top:-40px;width:150px;height:150px;background:rgba(255,255,255,.13);border-radius:50%}
.bui .dhead .av{width:66px;height:66px;border-radius:20px;background:rgba(255,255,255,.2);display:grid;place-items:center;font-weight:800;font-size:24px;margin-bottom:12px}
.bui .dhead h2{font-size:22px;font-weight:800;letter-spacing:-.4px}
.bui .dhead .dbadges{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.bui .dhead .db{font-size:11px;font-weight:700;background:rgba(255,255,255,.22);padding:4px 10px;border-radius:20px}
.bui .dbody{padding:20px 24px 40px}
.bui .dact{margin:-24px 24px 18px;position:relative;z-index:2}
/* bouton d'action du drawer : pastille BLANCHE (lisible sur le dégradé), texte corail */
.bui .dact .btn.primary{background:#fff;color:var(--coral-d);box-shadow:0 10px 26px rgba(26,23,32,.18);border:none}
.bui .dact .btn.primary:hover{background:#fff;color:var(--coral-d);transform:translateY(-1px);box-shadow:0 12px 30px rgba(26,23,32,.22)}
.bui .dact .btn.primary svg{stroke:var(--coral-d)}
.bui .dsum{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:18px}
.bui .dsc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px;text-align:center;box-shadow:var(--shadow-s)}
.bui .dsc b{font-size:17px;font-weight:800;display:block}.bui .dsc span{font-size:10.5px;color:var(--muted)}
.bui .dtabs{display:flex;gap:3px;border-bottom:1px solid var(--line);margin-bottom:16px}
.bui .dtabs button{border:none;background:none;font-family:inherit;font-size:13px;font-weight:600;color:var(--muted);padding:10px 12px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.bui .dtabs button.on{color:var(--coral-d);border-bottom-color:var(--coral-d)}
.bui .dtab{display:none}.bui .dtab.on{display:block}
.bui .card2{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}
.bui .revtop{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}
.bui .revtop .big{font-size:34px;font-weight:800;letter-spacing:-1px;line-height:1}.bui .revtop .big small{font-size:14px;color:var(--muted)}
.bui .revtop .rs{color:var(--amber);font-size:15px;letter-spacing:1px}.bui .revtop .rsub{font-size:11.5px;color:var(--muted);margin-top:2px}
.bui .crow{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.bui .crow .cl{font-size:12.5px;color:var(--ink-2);flex:1}.bui .crow .cbar{width:80px;height:6px;background:#f0eef4;border-radius:6px;overflow:hidden}.bui .crow .cbar i{display:block;height:100%;background:var(--grad)}.bui .crow .cv{font-size:12px;font-weight:700;width:34px;text-align:right}
.bui .quote{margin-top:14px;background:#faf9fc;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13px;font-style:italic;color:var(--ink-2)}
.bui .tl{position:relative;padding-left:24px}.bui .tl:before{content:"";position:absolute;left:8px;top:5px;bottom:5px;width:2px;background:var(--line)}
.bui .ev{position:relative;padding-bottom:16px}.bui .ev:last-child{padding-bottom:0}
.bui .ev .dot{position:absolute;left:-24px;top:1px;width:18px;height:18px;border-radius:50%;background:var(--grad-soft);border:2px solid var(--bg);display:grid;place-items:center}.bui .ev .dot svg{width:10px;height:10px;color:var(--coral-d);stroke-width:2.5}
.bui .ev h4{font-size:13px;font-weight:600}.bui .ev p{font-size:11.5px;color:var(--muted);margin-top:1px}
.bui .emptyd{text-align:center;padding:26px 14px}.bui .emptyd .ic{width:52px;height:52px;border-radius:16px;background:var(--grad-soft);color:var(--coral-d);display:inline-grid;place-items:center;margin-bottom:10px}.bui .emptyd h4{font-size:15px;font-weight:700}.bui .emptyd p{font-size:12.5px;color:var(--muted);margin:4px auto 14px;max-width:300px}
.bui .dnote{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;font-family:inherit;font-size:13px;min-height:90px;resize:vertical}

/* ---- Responsive --------------------------------------------------------- */
@media(max-width:980px){
  .bui .todos{grid-template-columns:1fr}
  .bui .kpis{grid-template-columns:1fr 1fr}
  .bui .cols{grid-template-columns:1fr}
}
@media(max-width:760px){
  .bui .main{padding:18px 16px 48px}
  .bui .top{flex-direction:column}
}

/* ======================================================================
   RESPONSIVE GLOBAL (14/07) — tablette de caisse + mobile
   Cible n°1 : les petites tablettes type logiciel de caisse (~768-1024 px).
   ≤1024 px : sidebar amincie, grilles resserrées, paddings réduits.
   ≤900 px  : sidebar = TIROIR coulissant (bouton ☰ injecté par
              _sidebar.html.twig), tableaux en défilement horizontal.
   ====================================================================== */

/* bouton ☰ + voile (masqués en desktop) */
.bui .navtoggle{display:none;position:fixed;top:12px;left:12px;z-index:120;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-size:18px;cursor:pointer;box-shadow:var(--shadow-s);place-items:center}
.bui .sideveil{display:none;position:fixed;inset:0;background:rgba(26,23,32,.45);z-index:110}

/* --- Tablette (caisse) --- */
@media(max-width:1024px){
  .bui .side{width:198px;padding:14px 8px}
  .bui .nav a{font-size:12.5px;padding:9px 9px;gap:9px}
  .bui .avissub a{font-size:11.5px;padding:7px 9px 7px 32px}
  .bui .main{padding:20px 18px 60px}
  .bui .top{gap:12px}
  .bui .statrow,.bui .kpis,.bui .amb-stats,.bui .crm-stats{grid-template-columns:1fr 1fr}
  .bui .jgrid{grid-template-columns:1fr 1fr}
}

/* --- Tiroir de navigation --- */
@media(max-width:900px){
  .bui .navtoggle{display:grid}
  .bui .sideveil.open{display:block}
  .bui .side{position:fixed;left:0;top:0;bottom:0;height:100vh;z-index:115;width:250px;padding:16px 12px;transform:translateX(-105%);transition:transform .25s ease;overflow-y:auto;box-shadow:0 0 40px rgba(26,23,32,.2)}
  .bui.navopen .side{transform:none}
  .bui .main{padding:64px 14px 70px;max-width:100%}
  .bui .top{flex-direction:column;align-items:stretch}
  .bui .top .cta{display:flex;flex-wrap:wrap;gap:8px}
  .bui h1{font-size:19px}
  /* tableaux (vrais <table> et listes en grille) : défilement horizontal */
  .bui .scard,.bui .rcard2,.bui .fcard,.bui .card{overflow-x:auto}
  .bui table{min-width:620px}
  .bui .alhead,.bui .arow2{min-width:640px}
  .bui .board .bscroll{padding:18px 14px}
  .bui .workspace{left:0}
  .bui .wsgrid{grid-template-columns:1fr}
  .bui .floatpanel{display:none!important}
  .bui .floatbtn{bottom:14px;right:14px;padding:11px 15px;font-size:12px}
}

/* --- Téléphone : dégradation propre uniquement.
   ⚠️ Décision 14/07 (Maximilien) : la vraie version mobile PRO sera une app
   OPÉRATIONNELLE dédiée (scan, validation, contrôle) — pas le back-office
   complet. Ne pas investir ici au-delà du non-cassé. --- */
@media(max-width:640px){
  /* minmax(0,…) et JAMAIS `1fr` nu : `1fr` = minmax(auto,1fr), le min-content
     d'un enfant têtu gonfle la colonne et TOUTE la page déborde de l'écran.
     Mesuré au navigateur (WebKit 390 px) le 12/08 : .fgrid montait à 602 px.
     Cette règle étant plus spécifique (.bui .fgrid) que les correctifs de
     template (.fgrid), c'est ICI que ça se joue. */
  .bui .statrow,.bui .kpis,.bui .amb-stats,.bui .crm-stats,.bui .jgrid,.bui .duo,.bui .fgrid{grid-template-columns:minmax(0,1fr)}
}

/* ======================================================================
   Pilier AVIS — consultation (étape 3)
   Noms de classes dédiés pour éviter toute collision avec le drawer CRM.
   ====================================================================== */
.bui .btn.sm{padding:8px 12px;font-size:12.5px}
.bui .btn.green{background:#eafaf2;color:var(--green);box-shadow:none}

/* KPIs avis */
.bui .avis-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.bui .avis-kpi{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:14px 16px;box-shadow:var(--shadow-s)}
.bui .avis-kpi b{font-size:22px;font-weight:800}.bui .avis-kpi span{font-size:12px;color:var(--muted);display:block}
.bui .avis-kpi.alert{border-color:rgba(236,100,61,.35);background:var(--grad-soft)}

/* grille synthèse */
.bui .avis-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:16px;margin-bottom:16px}
.bui .avis-grid .panel h3{font-size:14px;font-weight:700;margin-bottom:14px;display:block}

/* note globale + distribution */
.bui .scorebox{display:flex;align-items:center;gap:20px}
.bui .scorebox .big{font-size:48px;font-weight:800;letter-spacing:-1.5px;line-height:1}
.bui .scorebox .rs{color:var(--amber);font-size:18px;letter-spacing:2px}
.bui .scorebox .sub{font-size:12.5px;color:var(--muted);margin-top:3px}
.bui .dist{flex:1}
.bui .drow{display:flex;align-items:center;gap:8px;margin-bottom:5px;font-size:11.5px;color:var(--muted)}
.bui .drow .lab{width:26px}.bui .drow .db{flex:1;height:7px;background:#f0eef4;border-radius:6px;overflow:hidden}.bui .drow .db i{display:block;height:100%;background:var(--grad)}.bui .drow .dv{width:34px;text-align:right}

/* note par critère */
.bui .critrow{display:flex;align-items:center;gap:11px;margin-bottom:10px}
.bui .critrow .critlab{font-size:13px;color:var(--ink-2);flex:1}
.bui .critrow .critbar{width:120px;height:7px;background:#f0eef4;border-radius:6px;overflow:hidden}.bui .critrow .critbar i{display:block;height:100%;background:var(--grad)}
.bui .critrow .critval{font-size:12.5px;font-weight:700;width:34px;text-align:right}
.bui .critrow .critval.low{color:var(--amber)}

/* carte avis */
.bui .rev{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-s);padding:18px 20px;margin-bottom:12px}
.bui .rev .rh{display:flex;align-items:flex-start;gap:13px}
.bui .rev .av{width:42px;height:42px;border-radius:12px;background:var(--grad-soft);color:var(--coral-d);display:grid;place-items:center;font-weight:700;font-size:14px;flex:0 0 auto}
.bui .rev .who{flex:1;min-width:0}
.bui .rev .who .n1{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bui .rev .who .nm{font-weight:700;font-size:14px}
.bui .rev .who .meta{font-size:11.5px;color:var(--muted);margin-top:3px}
.bui .rev .score{text-align:right;flex:0 0 auto}
.bui .rev .score .v{font-size:19px;font-weight:800}.bui .rev .score .s{color:var(--amber);font-size:12px;letter-spacing:1px}
.bui .rev .rquote{font-size:13.5px;color:var(--ink-2);font-style:italic;margin:12px 0 4px;padding-left:12px;border-left:3px solid var(--line)}
.bui .rev .foot{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}
.bui .rev .toggle{font-size:12px;color:var(--coral-d);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px;background:none;border:none;font-family:inherit}
.bui .rev .foot .fsp{flex:1}
.bui .rev .warnlow{font-size:11.5px;color:#e5484d}

/* badges avis */
.bui .b-verif{background:var(--grad-soft);color:var(--coral-d);display:inline-flex;align-items:center;gap:4px}.bui .b-verif svg{width:11px;height:11px;stroke-width:2.6}
.bui .b-pending{background:#fff5e5;color:var(--amber)}
.bui .b-google{background:#eafaf2;color:var(--green)}
.bui .b-private{background:#fdecec;color:#e5484d}

/* détail critères repliable */
.bui .critbox{display:none;grid-template-columns:1fr 1fr;gap:9px 28px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.bui .critbox.on{display:grid}
.bui .critbox .cr{display:flex;align-items:center;gap:10px}
.bui .critbox .crl{font-size:12px;color:var(--ink-2);flex:1}
.bui .critbox .crb{width:74px;height:6px;background:#f0eef4;border-radius:6px;overflow:hidden}.bui .critbox .crb i{display:block;height:100%;background:var(--grad)}
.bui .critbox .crv{font-size:11.5px;font-weight:700;width:24px;text-align:right}
.bui .avis-empty{text-align:center;color:var(--muted);padding:34px}

/* --- Vue d'ensemble v2 : insights, reco, forces/axes, collecte --- */
.bui .avis-insights{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;margin-bottom:18px}
.bui .ins{border-radius:15px;padding:14px 16px;display:flex;flex-direction:column;gap:2px;min-width:0}
.bui .ins.strong{background:#eafaf2;border:1px solid #c8ecd8}
.bui .ins.weak{background:#fff5e5;border:1px solid #f5e2bf}
.bui .ins.trend{background:var(--grad-soft);border:1px solid #f3d9e0}
.bui .ins .k{font-size:11px;font-weight:700}
.bui .ins.strong .k{color:var(--green)}.bui .ins.weak .k{color:var(--amber)}.bui .ins.trend .k{color:var(--coral-d)}
.bui .ins .v{font-size:16px;font-weight:800;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bui .ins .s{font-size:11px;color:var(--ink-2)}
.bui a.ins-cta{background:var(--ink);color:#fff;border-radius:15px;padding:14px 18px;display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:168px;text-decoration:none}
.bui a.ins-cta b{font-size:14px}.bui a.ins-cta span{font-size:11px;opacity:.82}
.bui a.ins-cta .go{margin-top:5px;font-size:11.5px;font-weight:700;color:#ffd0c4}

.bui .reco-gauge{margin-top:16px;background:var(--grad-soft);border:1px solid #f3d9e0;border-radius:14px;padding:13px 15px;display:flex;align-items:center;gap:14px}
.bui .reco-gauge .ring{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}
.bui .reco-gauge .ring i{width:42px;height:42px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-weight:800;font-size:13px;color:var(--green);font-style:normal}
.bui .reco-gauge b{font-size:13.5px;display:block}.bui .reco-gauge span{font-size:11.5px;color:var(--ink-2)}

.bui .crit-seg{font-size:12px;font-weight:800;margin:4px 0 9px;letter-spacing:.2px}
.bui .crit-seg.g{color:var(--green)}
.bui .crit-seg.a{color:var(--amber);margin-top:16px}
.bui .critrow .critbar.g i{background:linear-gradient(90deg,#3fc18a,#2fa36b)}
.bui .critrow .critbar.a i{background:linear-gradient(90deg,#f0b64a,#e6a52a)}
.bui .crit-verb{background:#faf9fc;border-left:3px solid var(--amber);border-radius:0 8px 8px 0;padding:7px 11px;margin:2px 0 9px;font-size:11.5px;color:var(--ink-2);font-style:italic}

.bui .collecte .frow{display:flex;align-items:center;gap:10px;margin:8px 0}
.bui .collecte .fl{width:130px;font-size:12.5px;color:var(--ink-2);flex:0 0 auto}
.bui .collecte .fbar{height:24px;border-radius:8px;background:var(--grad-soft);display:flex;align-items:center;padding:0 11px;font-weight:700;font-size:12px;color:var(--coral-d);min-width:44px;max-width:calc(100% - 150px);flex:0 0 auto;box-sizing:border-box;white-space:nowrap}
.bui .collecte .frate{font-size:12.5px;font-weight:700;color:var(--green)}
.bui .collecte .cbtns{display:flex;gap:8px;flex-wrap:wrap}

/* barre d'outils « Tous les avis » : recherche + tri */
.bui .avistoolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.bui .avissearch{position:relative;flex:1;min-width:200px}
.bui .avissearch svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:2;pointer-events:none}
.bui .avissearch input{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 12px 10px 36px;font-family:inherit;font-size:13px;background:var(--card);color:var(--ink);box-sizing:border-box}
.bui .avissearch input:focus{outline:none;border-color:var(--coral)}
.bui .avissort{border:1px solid var(--line);border-radius:12px;padding:10px 30px 10px 12px;font-family:inherit;font-size:13px;background:var(--card);color:var(--ink);cursor:pointer}
.bui .avissort:focus{outline:none;border-color:var(--coral)}

@media(max-width:900px){
  .bui .avis-kpis{grid-template-columns:1fr 1fr}
  .bui .avis-grid{grid-template-columns:1fr}
  .bui .avis-insights{grid-template-columns:1fr 1fr}
  .bui a.ins-cta{grid-column:1 / -1;min-width:0}
}

/* ======================================================================
   Constructeur de questionnaire v3 (étape 2)
   ====================================================================== */
.bui .htitle{font-size:23px;font-weight:800;letter-spacing:-.5px}
.bui .hsub{font-size:13.5px;color:var(--ink-2);margin-top:3px;margin-bottom:22px}
.bui .cs{font-size:12.5px;color:var(--muted);margin:6px 0 16px}

/* stepper */
.bui .bsteps{display:flex;align-items:center;gap:6px;margin-bottom:24px;flex-wrap:wrap}
.bui .bsteps .stp{display:flex;align-items:center;gap:9px;padding:9px 14px;border-radius:12px;background:#fff;border:1px solid var(--line)}
.bui .bsteps .stp .n{width:23px;height:23px;border-radius:50%;background:#eeecf2;color:var(--muted);display:grid;place-items:center;font-size:12px;font-weight:700}
.bui .bsteps .stp .t{font-size:12.5px;font-weight:600;color:var(--muted)}
.bui .bsteps .stp.done .n{background:#eafaf2;color:var(--green)}.bui .bsteps .stp.done .t{color:var(--ink-2)}
.bui .bsteps .stp.on{background:var(--grad-soft);border-color:transparent}.bui .bsteps .stp.on .n{background:var(--grad);color:#fff}.bui .bsteps .stp.on .t{color:var(--coral-d)}
.bui .bline{width:14px;height:2px;background:var(--line)}

/* layout : contenu (max 720) + aperçu 320 */
.bui .bcols{display:grid;grid-template-columns:minmax(0,720px) 320px;gap:28px;align-items:start}

/* carte v3 à en-tête pastille numérotée */
.bui .card{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-s);padding:22px}
.bui .chead{display:flex;align-items:center;gap:11px}
.bui .chead .cn{width:27px;height:27px;border-radius:9px;background:var(--grad);color:#fff;font-size:13px;font-weight:800;display:grid;place-items:center;flex:0 0 auto;box-shadow:0 4px 10px rgba(235,90,135,.3)}
.bui .card h3{font-size:16px;font-weight:700}

/* tuiles type de commerce (pictos filaires) */
.bui .tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.bui .tile{border:1.5px solid var(--line);border-radius:16px;background:#fff;padding:16px 10px 13px;cursor:pointer;text-align:center;font-family:inherit;transition:.15s;position:relative}
.bui .tile:hover{border-color:#e0dce8}
.bui .tile.on{border-color:var(--coral);background:var(--grad-soft)}
.bui .tile .tic{width:46px;height:46px;border-radius:14px;background:#f5f3f8;color:var(--ink-2);display:grid;place-items:center;margin:0 auto 9px;transition:.15s}
.bui .tile .tic svg{width:26px;height:26px}
.bui .tile.on .tic{background:var(--grad);color:#fff}
.bui .tile .tl{font-size:11.5px;font-weight:600;color:var(--ink-2);line-height:1.35}
.bui .tile.on .tl{color:var(--coral-d);font-weight:700}
.bui .tile .ck{position:absolute;top:8px;right:8px;width:19px;height:19px;border-radius:50%;background:var(--coral);color:#fff;display:none;place-items:center}
.bui .tile .ck svg{width:11px;height:11px;stroke-width:3}
.bui .tile.on .ck{display:grid}

/* liste compacte numérotée */
.bui .counter{font-size:12px;font-weight:700;color:var(--muted)}
.bui .counter.warn{color:var(--amber)}
.bui .zlab{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:2px 0 8px;display:flex;align-items:center;gap:7px}
.bui .zlab .zic{width:20px;height:20px;border-radius:7px;background:var(--grad);color:#fff;display:grid;place-items:center}
.bui .zlab .zic svg{width:12px;height:12px;stroke-width:2.4}
.bui .q{display:flex;align-items:center;gap:11px;padding:9px 12px;border:1px solid var(--line);border-left:3px solid var(--coral);border-radius:12px;margin-bottom:6px;background:#fff;box-shadow:var(--shadow-s)}
.bui .q .num{width:22px;height:22px;border-radius:50%;background:var(--grad-soft);color:var(--coral-d);display:grid;place-items:center;font-size:11px;font-weight:700;flex:0 0 auto}
.bui .q .drag{color:#cdc9d6;cursor:grab;display:flex}
.bui .q .lb{flex:1;min-width:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bui .q .ty{font-size:11px;color:var(--muted);white-space:nowrap}.bui .q .ty .st{color:var(--amber)}
.bui .q .del{width:27px;height:27px;border-radius:8px;border:none;background:transparent;display:grid;place-items:center;color:#cdc9d6;cursor:pointer;flex:0 0 auto}
.bui .q .del:hover{color:var(--coral-d);background:var(--grad-soft)}

/* bibliothèque repliable */
.bui .addbtn{width:100%;border:1.5px dashed #d5d1de;background:transparent;color:var(--ink-2);font-family:inherit;font-size:13px;font-weight:600;padding:11px;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;transition:.15s}
.bui .addbtn:hover{border-color:var(--coral);color:var(--coral-d)}
.bui .addbtn.open{border-style:solid;border-color:transparent;color:#fff;background:var(--grad);border-radius:12px 12px 0 0}
.bui .addbtn .chev{transition:.2s}
.bui .addbtn.open .chev{transform:rotate(180deg)}
.bui .libpanel{display:none;background:linear-gradient(180deg,#f3eff8,#f7f4fa);border:1.5px solid #e2dbec;border-top:none;border-radius:0 0 14px 14px;padding:16px}
.bui .libpanel.open{display:block}
.bui .libhead{display:flex;align-items:flex-start;gap:10px;margin-bottom:13px}
.bui .libhead .bic{width:32px;height:32px;border-radius:10px;background:#fff;border:1px solid #e2dbec;color:#7a6f8f;display:grid;place-items:center;flex:0 0 auto}
.bui .libhead .bic svg{width:17px;height:17px}
.bui .libhead h5{font-size:13px;font-weight:700;color:#3d3648}
.bui .libhead p{font-size:11.5px;color:#8d8399;margin-top:1px}
.bui .cattabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.bui .cattabs button{border:1px solid #ddd5e8;background:transparent;color:#6e6480;font-family:inherit;font-size:11.5px;font-weight:600;padding:6px 11px;border-radius:20px;cursor:pointer}
.bui .cattabs button:hover{border-color:#c4b8d6}
.bui .cattabs button.on{background:#3d3648;border-color:#3d3648;color:#fff}
.bui .chips{display:flex;flex-wrap:wrap;gap:7px;min-height:34px}
.bui .chips button{border:1px dashed #b9aecb;background:rgba(255,255,255,.7);color:#5a5168;font-family:inherit;font-size:12.5px;font-weight:600;padding:7px 12px;border-radius:20px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:.15s}
.bui .chips button .pl{width:15px;height:15px;border-radius:50%;background:#e9e3f2;color:#7a6f8f;display:grid;place-items:center;flex:0 0 auto}
.bui .chips button .pl svg{width:9px;height:9px;stroke-width:3}
.bui .chips button:hover{background:var(--grad);border-color:transparent;border-style:solid;color:#fff}
.bui .chips button:hover .pl{background:rgba(255,255,255,.25);color:#fff}
.bui .chips .empty{font-size:12px;color:#8d8399;padding:7px 2px}
.bui .customrow{display:flex;gap:8px;margin-top:13px;padding-top:13px;border-top:1px dashed #d5cbe2}
.bui .customrow input{flex:1;border:1px solid #ddd5e8;border-radius:11px;padding:10px 12px;font-family:inherit;font-size:13px;background:#fff}

/* bandeau conseil */
.bui .advice{display:flex;align-items:center;gap:9px;background:#fff8ef;border:1px solid #f5e2c2;border-radius:12px;padding:10px 13px;font-size:12.5px;color:#8a5a1a;margin-top:14px}
.bui .advice svg{width:16px;height:16px;color:var(--amber);flex:0 0 auto}

/* carte Réglages */
.bui .setrow{display:flex;align-items:center;gap:16px;padding:14px 2px;border-bottom:1px solid var(--line)}
.bui .setrow:last-child{border-bottom:none;padding-bottom:2px}
.bui .setrow .stx{flex:1;min-width:0}
.bui .setrow .stx h4{font-size:13.5px;font-weight:700;display:flex;align-items:center}
.bui .setrow .stx p{font-size:12px;color:var(--muted);margin-top:2px}
.bui .setsw{width:46px;height:27px;border-radius:20px;background:var(--grad);position:relative;cursor:pointer;flex:0 0 auto}
.bui .setsw::after{content:"";position:absolute;top:3px;left:22px;width:21px;height:21px;border-radius:50%;background:#fff;transition:.2s}
.bui .setsw.off{background:#dcd9e2}.bui .setsw.off::after{left:3px}
.bui .seg{display:flex;gap:5px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}
.bui .seg button{font-family:inherit;font-size:12px;font-weight:600;padding:8px 12px;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:.15s;white-space:nowrap}
.bui .seg button .str{color:#d8d4de;font-size:13px}
.bui .seg button:hover{border-color:var(--coral)}
.bui .seg button.on{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 4px 12px rgba(235,90,135,.28)}
.bui .seg button.on .str{color:#ffd27a}

.bui .footbar{display:flex;justify-content:space-between;margin-top:20px;gap:10px}

/* aperçu téléphone */
.bui .bprev{position:sticky;top:26px;align-self:start}
.bui .prevlab{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:10px;text-align:center}
.bui .phone{width:300px;height:600px;background:#000;border-radius:40px;padding:9px;margin:0 auto;box-shadow:0 24px 50px rgba(26,23,32,.22)}
.bui .pscreen{width:100%;height:100%;background:#faf9fc;border-radius:32px;overflow:hidden;display:flex;flex-direction:column}
.bui .ptop{background:var(--grad);color:#fff;padding:20px;text-align:center}
.bui .ptop .lg{width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.22);display:grid;place-items:center;margin:0 auto 9px;font-size:20px}
.bui .ptop h4{font-size:15px;font-weight:800}.bui .ptop p{font-size:11px;opacity:.92;margin-top:3px}
.bui .pbody{flex:1;overflow-y:auto;padding:14px}
.bui .pq{background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px 12px;margin-bottom:8px}
.bui .pq .pl{font-size:12px;font-weight:600;margin-bottom:6px}
.bui .pstars{display:flex;gap:4px}.bui .pstars span{font-size:18px;color:#e2dfe8}.bui .pstars span.on{color:var(--amber)}
.bui .pcomment{background:#fff;border:1px solid var(--line);border-radius:13px;padding:10px 12px;font-size:11px;color:var(--muted)}
.bui .psend{background:var(--grad);color:#fff;text-align:center;font-weight:700;font-size:12.5px;padding:11px;border-radius:13px;margin-top:10px}

@media(max-width:1180px){ .bui .bcols{grid-template-columns:1fr} .bui .bprev{display:none} }

/* ======================================================================
   Config Avis — Objectif / Collecte / Activation (étape 4 · écrans 2-3-4)
   ====================================================================== */
.bui .sec{font-size:15px;font-weight:700;margin:18px 0 4px}
.bui .secd{font-size:12.5px;color:var(--muted);margin-bottom:14px}

/* stepper cliquable (les .stp sont des <a>) */
.bui .bsteps .stp{text-decoration:none}

/* cartes objectif */
.bui .objs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.bui .obj{border:1.5px solid var(--line);border-radius:16px;padding:16px;background:#fff;cursor:pointer;display:flex;gap:13px;align-items:flex-start;transition:.15s;position:relative}
.bui .obj:hover{border-color:#e0dce8}
.bui .obj.on{border-color:var(--coral);background:var(--grad-soft)}
.bui .obj .ic{width:42px;height:42px;border-radius:13px;background:var(--grad-soft);color:var(--coral-d);display:grid;place-items:center;flex:0 0 auto}
.bui .obj.on .ic{background:var(--grad);color:#fff}
.bui .obj h4{font-size:14px;font-weight:700}.bui .obj p{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.45}
.bui .obj .ck{position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:#fff}
.bui .obj.on .ck{background:var(--coral);border-color:var(--coral)}
.bui .obj .ck svg{width:13px;height:13px;stroke-width:3;opacity:0}.bui .obj.on .ck svg{opacity:1}

/* plateformes (multi-sélection, avec champ de connexion révélé) */
/* pas d'overflow:hidden : sinon la bulle « i » (qui déborde vers le haut) est rognée */
.bui .plat{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-s);margin-bottom:12px}
.bui .plat .cfg{border-radius:0 0 16px 16px}
.bui .plat.on{border-color:rgba(236,100,61,.35)}
.bui .plat .ph{display:flex;align-items:center;gap:14px;padding:16px 18px}
.bui .plat .lg{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:18px;flex:0 0 auto;color:#fff}
.bui .lg.google{background:#fff;border:1px solid var(--line);color:#4285F4;font-family:Arial,sans-serif}
.bui .lg.tp{background:#00b67a}.bui .lg.pj{background:#ffce00;color:#111}.bui .lg.site{background:var(--grad)}
.bui .plat .pt{flex:1;min-width:0}.bui .plat .pt h4{font-size:14px;font-weight:700;display:flex;align-items:center;gap:7px}.bui .plat .pt p{font-size:12px;color:var(--muted);margin-top:2px}
/* interrupteur plateforme (distinct de .sw des canaux de collecte) */
.bui .pfsw{width:46px;height:27px;border-radius:20px;background:#dcd9e2;position:relative;cursor:pointer;flex:0 0 auto;transition:.2s}
.bui .pfsw::after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;transition:.2s}
.bui .plat.on .pfsw{background:var(--grad)}.bui .plat.on .pfsw::after{left:22px}
.bui .cfg{display:none;padding:0 18px 18px 74px;border-top:1px solid var(--line)}
.bui .plat.on .cfg{display:block}
.bui .cfg .in{padding-top:15px}
.bui .cfg label{display:block;font-size:12px;font-weight:700;color:#55525e;margin-bottom:6px}
.bui .cfg .field{display:flex;gap:8px;align-items:center}
.bui .cfg .field input{flex:1;border:1px solid var(--line);border-radius:11px;padding:10px 12px;font-family:inherit;font-size:13px}
.bui .cfg .go{background:var(--grad);color:#fff;border:none;font-family:inherit;font-weight:600;font-size:12.5px;padding:10px 14px;border-radius:11px;cursor:pointer;white-space:nowrap}
.bui .cfg .does{font-size:12px;color:var(--coral-d);background:var(--grad-soft);border-radius:10px;padding:9px 12px;margin-top:11px;display:flex;gap:8px;align-items:flex-start}
.bui .cfg .does svg{width:15px;height:15px;flex:0 0 auto;margin-top:1px}
.bui .snippet{font-family:ui-monospace,Menlo,monospace;font-size:11.5px;background:#f5f3f8;border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--ink-2);word-break:break-all}

/* info bubble « i » (config plateformes) */
.bui .info{position:relative;display:inline-flex;vertical-align:middle}
.bui .info .dot{width:17px;height:17px;border-radius:50%;background:#eceaf0;color:var(--muted);display:grid;place-items:center;font-size:11px;font-weight:700;cursor:pointer;font-style:italic;font-family:Georgia,serif}
.bui .info:hover .dot{background:var(--grad-soft);color:var(--coral-d)}
.bui .info .bub{position:absolute;bottom:150%;left:50%;transform:translateX(-50%);width:240px;background:var(--ink);color:#fff;font-size:11.5px;font-weight:400;line-height:1.55;padding:11px 13px;border-radius:11px;box-shadow:0 12px 28px rgba(0,0,0,.28);display:none;z-index:30}
.bui .info .bub:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--ink)}
.bui .info:hover .bub,.bui .info.open .bub{display:block}

/* canaux de collecte + interrupteur */
.bui .ch{display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-s);padding:16px 18px;margin-bottom:11px;cursor:pointer}
.bui .ch.on{border-color:rgba(47,163,107,.4)}
.bui .ch.disabled{opacity:.7;cursor:default}
.bui .chh{display:flex;align-items:center;gap:14px}
.bui .chic{width:44px;height:44px;border-radius:12px;background:var(--grad-soft);color:var(--coral-d);display:grid;place-items:center;flex:0 0 auto}
.bui .chtx{flex:1;min-width:0}.bui .chtx p{font-size:12px;color:var(--muted);margin-top:3px}
.bui .chn{display:flex;align-items:center;gap:9px}.bui .chn h3{font-size:14px;font-weight:700}
.bui .chverif{font-size:10.5px;font-weight:700;color:var(--green);background:#eafaf2;padding:3px 8px;border-radius:20px;display:inline-flex;align-items:center;gap:4px}.bui .chverif svg{width:11px;height:11px;stroke-width:2.6}
.bui .soon{font-size:10.5px;font-weight:700;color:var(--muted);background:#f0eef4;padding:3px 8px;border-radius:20px}
.bui .sw{width:42px;height:24px;border-radius:20px;background:#dcd8e3;position:relative;flex:0 0 auto;transition:.2s}
.bui .sw:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.bui .ch.on .sw{background:var(--green)}.bui .ch.on .sw:after{left:21px}
.bui .chh{cursor:pointer;margin:0}
/* panneaux de diffusion par canal (QR, lien, borne) */
.bui .ch.on .cfg{display:block}
.bui .cfg .cfgin{padding-top:15px}
.bui .qrow{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.bui .qrimg img{border:1px solid var(--line);border-radius:12px;display:block}
.bui .linkfield{flex:1;min-width:200px;display:inline-flex;align-items:center;gap:8px;font-family:ui-monospace,Menlo,monospace;font-size:12px;background:#f5f3f8;border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--ink-2);word-break:break-all}
.bui .cfg .hint{font-size:11.5px;color:var(--muted);line-height:1.5;margin-top:10px}

/* récap activation */
.bui .recap{display:flex;flex-direction:column;gap:2px}
.bui .recap-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}
.bui .recap-row:last-child{border-bottom:none}
.bui .recap-row .rl{color:var(--muted)}.bui .recap-row .rv{font-weight:600;text-align:right}
.bui .activate-box{background:var(--grad-soft);border:1px solid rgba(236,100,61,.25);border-radius:16px;padding:20px 22px;margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.bui .activate-msg{font-size:13px;color:var(--ink-2);flex:1;min-width:220px}

@media(max-width:720px){ .bui .objs{grid-template-columns:1fr} }

/* ======================================================================
   Révision config Avis : cadre 720px, sous-menu Avis, rail droit
   ====================================================================== */
.bui .inner{max-width:720px;margin:0 auto}

/* sous-menu Avis dans la sidebar */
.bui .avissub{margin:2px 0 4px 0}
.bui .avissub a{display:flex;padding:8px 11px 8px 40px;border-radius:10px;font-size:12.5px;font-weight:500;color:var(--ink-2);cursor:pointer;text-decoration:none}
.bui .avissub a.on{color:var(--coral-d);font-weight:700;background:var(--grad-soft)}
.bui .avissub a:hover{background:#f5f3f8}
.bui .avissub a.disabled{opacity:.5;pointer-events:none}
.bui .avissub a .soon{margin-left:auto;font-size:9.5px;font-weight:700;background:#f0eef4;color:var(--muted);padding:1px 6px;border-radius:20px}

/* rail droit « Section Avis » */
.bui .railright{width:236px;flex:0 0 auto;padding:24px 18px 24px 0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:8px}
.bui .railright .rl{font-size:10.5px;font-weight:700;letter-spacing:.6px;color:#b6b2c0;text-transform:uppercase;padding:2px 4px 4px}
.bui .rbtn{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 13px;display:flex;align-items:center;gap:11px;cursor:pointer;text-decoration:none;color:inherit;transition:.15s}
.bui .rbtn:hover{border-color:#e0dce8;box-shadow:var(--shadow-s)}
.bui .rbtn.on{border-color:transparent;background:var(--grad-soft)}
.bui .rbtn.disabled{opacity:.55;pointer-events:none}
.bui .rbtn .ic{width:34px;height:34px;border-radius:10px;background:#f5f3f8;color:var(--ink-2);display:grid;place-items:center;flex:0 0 auto}
.bui .rbtn.on .ic{background:var(--grad);color:#fff}
.bui .rbtn .tx h4{font-size:13px;font-weight:700}.bui .rbtn.on .tx h4{color:var(--coral-d)}.bui .rbtn .tx p{font-size:11px;color:var(--muted);margin-top:1px}
@media(max-width:1100px){.bui .railright{display:none}}

/* ---- Avis · Vue d'ensemble (raccourcis) + Diffusion placeholder --------- */
.bui .ovcard{display:block;text-decoration:none;color:inherit;transition:.15s}
.bui .ovcard:hover{border-color:#e0dce8;box-shadow:var(--shadow);transform:translateY(-1px)}
.bui .ovcard h3{display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:700;margin-bottom:8px}
.bui .ovcard .ovarw{color:var(--coral-d);font-weight:700}
.bui .soon-ic{width:64px;height:64px;border-radius:20px;background:var(--grad-soft);color:var(--coral-d);display:inline-grid;place-items:center}

/* étape de stepper non active (3-4, non validées) */
.bui .bsteps .stp.off{opacity:.55;cursor:default}
.bui .bsteps .stp.off .t{color:var(--muted)}

/* ---- Avis · Vue d'ensemble : derniers avis (lignes compactes) ---------- */
.bui .lastrev{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid var(--line)}
.bui .lastrev:last-child{border-bottom:none;padding-bottom:0}
.bui .lastrev .a{width:38px;height:38px;border-radius:11px;background:var(--grad-soft);color:var(--coral-d);display:grid;place-items:center;font-weight:700;font-size:13px;flex:0 0 auto}
.bui .lastrev .lr{flex:1;min-width:0}
.bui .lastrev .lr h4{font-size:13.5px;font-weight:700}
.bui .lastrev .lr p{font-size:12px;color:var(--muted);font-style:italic;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bui .lastrev .lrscore{font-size:15px;font-weight:800;white-space:nowrap;flex:0 0 auto}.bui .lastrev .lrscore .s{color:var(--amber);font-size:12px}

/* ---- Avis · Analyse (graphes Chart.js) --------------------------------- */
.bui .chartbox{height:210px;position:relative}
.bui .npsbig{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.bui .npsbig b{font-size:30px;font-weight:800;line-height:1}.bui .npsbig span{font-size:11px;color:var(--muted)}
.bui .chartlegend{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:12px;font-size:11.5px;color:var(--ink-2)}
.bui .chartlegend span{display:inline-flex;align-items:center;gap:6px}
.bui .chartlegend i{width:10px;height:10px;border-radius:3px;flex:0 0 auto}
.bui .analyse-soon{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:26px 14px;color:var(--muted)}
.bui .analyse-soon svg{color:var(--coral-d);opacity:.6}
.bui .analyse-soon p{font-size:12.5px;max-width:280px;line-height:1.5}

/* ======================================================================
   Connexion & inscription (écran unifié, réf. design/connexion.html)
   ====================================================================== */
.bui .authwrap{display:flex;min-height:100vh}
.bui .brandpane{width:42%;max-width:540px;background:var(--grad);color:#fff;padding:44px 42px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;flex:0 0 auto}
.bui .brandpane:after{content:"";position:absolute;right:-60px;top:-80px;width:280px;height:280px;background:rgba(255,255,255,.10);border-radius:50%}
.bui .brandtop{display:flex;align-items:center;gap:10px;font-weight:800;font-size:21px;z-index:1}
.bui .brandpane .m{width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.22);display:grid;place-items:center;font-weight:800}
.bui .brandmid{z-index:1}
.bui .brandmid h1{font-size:30px;font-weight:800;letter-spacing:-.6px;line-height:1.15}
.bui .brandmid p{font-size:14px;opacity:.95;line-height:1.6;margin:14px 0 24px;max-width:400px}
.bui .bplist{display:flex;flex-direction:column;gap:12px}
.bui .bp{display:flex;align-items:center;gap:11px;font-size:13.5px;font-weight:500}
.bui .bp .ic{width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.18);display:grid;place-items:center;flex:0 0 auto}.bui .bp .ic svg{width:16px;height:16px}
.bui .brandfoot{font-size:11.5px;opacity:.8;z-index:1}

.bui .authcontent{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 24px;background:var(--bg)}
.bui .authpanel{width:100%;max-width:420px}
.bui .authscreen{display:none}.bui .authscreen.on{display:block;animation:bui-f .3s ease}
.bui .authh{font-size:24px;font-weight:800;letter-spacing:-.5px}
.bui .authsub{font-size:13.5px;color:var(--ink-2);margin:3px 0 20px}

/* choix 2 volets */
.bui .choicecard{display:block;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:20px;margin-bottom:14px;cursor:pointer;font-family:inherit;transition:.15s}
.bui .choicecard:hover{border-color:var(--coral);box-shadow:var(--shadow)}
.bui .choicecard .k{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.bui .choicecard h3{font-size:17px;font-weight:800;margin:3px 0 4px}
.bui .choicecard p{font-size:12.5px;color:var(--ink-2);line-height:1.45}
.bui .choicecard .acts{display:flex;align-items:center;gap:14px;margin-top:12px}
.bui .choicecard .mini{font-size:13px;font-weight:700;color:var(--coral-d)}
.bui .choicecard .lnk{font-size:12.5px;font-weight:600;color:var(--muted)}

/* role chip */
.bui .rolechip{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}
.bui .rolechip .rc{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;padding:7px 12px;border-radius:20px;background:var(--grad-soft);color:var(--coral-d)}
.bui .rolechip .roleswitch{background:none;border:none;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer}
.bui .rolechip .roleswitch:hover{color:var(--coral-d)}

/* social */
.bui .social{display:flex;gap:10px;margin-bottom:16px}
.bui .socbtn{flex:1;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px;font-family:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:not-allowed;display:inline-flex;align-items:center;justify-content:center;gap:7px;opacity:.7}
.bui .orsep{display:flex;align-items:center;gap:12px;margin:6px 0 16px;color:var(--muted);font-size:12px}
.bui .orsep:before,.bui .orsep:after{content:"";flex:1;height:1px;background:var(--line)}

/* formulaires */
.bui .fld{margin-bottom:13px}
.bui .fld label{display:block;font-size:12px;font-weight:700;color:#55525e;margin-bottom:6px}
.bui .fld input{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 13px;font-family:inherit;font-size:14px}
.bui .fld input:focus{outline:none;border-color:var(--coral)}
.bui .fldrow{display:flex;justify-content:flex-end;margin-bottom:14px}
.bui .fldcheck{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2);margin:6px 0 14px}
.bui .autherr{background:#fdecec;color:#e5484d;border-radius:11px;padding:10px 13px;font-size:12.5px;font-weight:600;margin-bottom:16px}
.bui .authcta{text-align:center;width:100%;border:none;font-family:inherit;font-weight:700;font-size:14.5px;padding:13px;border-radius:13px;cursor:pointer;color:#fff;background:var(--grad);box-shadow:0 8px 20px rgba(235,90,135,.3)}
.bui .under{text-align:center;font-size:12.5px;color:var(--muted);margin-top:18px}
.bui .under .lnk,.bui .fldrow .lnk{color:var(--coral-d);font-weight:600}
.bui .xpnote{display:inline-flex;align-items:center;gap:7px;background:var(--grad-soft);color:var(--coral-d);font-size:12.5px;font-weight:700;padding:8px 13px;border-radius:20px;margin-bottom:16px}

@media(max-width:860px){
  .bui .authwrap{flex-direction:column}
  .bui .brandpane{width:100%;max-width:none;padding:24px}
  .bui .brandmid h1{font-size:22px}.bui .bplist{display:none}.bui .brandfoot{display:none}
}

/* erreurs de champ (formulaires auth) */
.bui .fielderr{color:#e5484d;font-size:11.5px;margin-top:5px}
.bui .fielderr:empty{display:none}

/* ---- Page de remerciement après avis (public) -------------------------- */
.bui .thankswrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}
.bui .thankscard{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:40px 34px;max-width:440px;text-align:center}
.bui .thanksic{width:74px;height:74px;border-radius:50%;background:#eafaf2;color:var(--green);display:inline-grid;place-items:center;margin-bottom:16px}
.bui .thankscard h1{font-size:24px;font-weight:800;letter-spacing:-.5px}
.bui .thankscard>p{font-size:14px;color:var(--ink-2);line-height:1.55;margin-top:8px}
.bui .thanksgoogle{margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
.bui .thanksgoogle .tg{font-size:13px;color:var(--ink-2);line-height:1.5;margin-bottom:14px}
.bui .thanksgoogle .btn{width:100%;justify-content:center}
.bui .thanksgoogle .tgsub{font-size:11.5px;color:var(--muted);margin-top:9px}
.bui .thanksback{display:inline-block;margin-top:22px;font-size:13px;font-weight:600;color:var(--coral-d);text-decoration:none}

/* pastilles légende canaux (Analyse) */
.bui .chartlegend .chan-qrcode{background:#ec643d}
.bui .chartlegend .chan-email{background:#eb5a87}
.bui .chartlegend .chan-lien{background:#8b5cf6}
.bui .chartlegend .chan-sms{background:#5b76e0}
.bui .chartlegend .chan-tablette{background:#2fa36b}

/* ---- Réponse du marchand à un avis (pilier) ---------------------------- */
.bui .rrep{background:var(--grad-soft);border-radius:12px;padding:11px 14px;margin-top:12px}
.bui .rrep-h{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--coral-d);margin-bottom:5px}
.bui .rrep p{font-size:13px;color:var(--ink-2);line-height:1.5}
.bui .rrep-edit{margin-top:12px}
.bui .rrep.priv{background:#eef2ff}
.bui .rrep.priv .rrep-h{color:#5b76e0}
.bui .mailhint{font-size:11.5px;color:var(--muted);font-weight:600}

/* ---- Vérification d'avis en 2 missions --------------------------------- */
/* Badge « Certifié » (avis authentifié par preuve) */
.bui .b-certif{background:#eafaf2;color:var(--green);display:inline-flex;align-items:center;gap:4px}.bui .b-certif svg{width:11px;height:11px;stroke-width:2.4}
/* Bloc marchand : preuve à vérifier (pilier Avis) */
.bui .proofcheck{background:#fff9ef;border:1px solid #f3e2c0;border-radius:12px;padding:12px 14px;margin-top:12px}
.bui .proofcheck.rejected{background:#fdf1ef;border-color:#f3d0c8}
.bui .pc-h{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--amber);margin-bottom:9px}
.bui .proofcheck.rejected .pc-h{color:var(--coral-d);margin-bottom:0}
.bui .pc-img{display:block;max-width:220px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.bui .pc-img img{display:block;width:100%;height:auto}
.bui .pc-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}
/* Ambassadeur : bloc « Mission 2 · Certifie ton avis » (remerciement) */
.bui .thankscertify{margin-top:22px;padding-top:22px;border-top:1px solid var(--line);text-align:left}
.bui .thankscertify .tc-h{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:var(--coral-d);margin-bottom:8px}
.bui .thankscertify p{font-size:13px;color:var(--ink-2);line-height:1.5;margin-bottom:12px}
/* Ambassadeur : formulaire de certification (choix de preuve + upload) */
.bui .proofopt{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--line);border-radius:14px;margin-bottom:10px;cursor:pointer;transition:border-color .15s,background .15s}
.bui .proofopt:has(input:checked){border-color:var(--coral);background:var(--grad-soft)}
.bui .proofopt input{margin:0;accent-color:var(--coral);flex:0 0 auto}
.bui .proofopt .po-ic{width:38px;height:38px;border-radius:11px;background:#fff;color:var(--coral-d);display:grid;place-items:center;flex:0 0 auto}
.bui .proofopt .po-t{display:flex;flex-direction:column}.bui .proofopt .po-t b{font-size:13.5px;font-weight:700}.bui .proofopt .po-t small{font-size:11.5px;color:var(--muted)}
.bui .prooffile{margin-top:14px}
.bui .prooffile label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px}
.bui .prooffile input[type=file]{width:100%;font-size:12.5px;padding:10px;border:1.5px dashed var(--line);border-radius:12px;background:#fff}

/* ====== Diffusion : mur d'avis public + intégration ==================== */
.bui .difrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.bui .wall{max-width:820px;margin:0 auto;padding:28px 20px 40px}
.bui .wallhead{text-align:center;margin-bottom:22px}
.bui .wallhead h1{font-size:22px;font-weight:800;letter-spacing:-.4px}
.bui .wallnote{display:inline-flex;align-items:center;gap:10px;margin-top:10px}
.bui .wallnote .v{font-size:26px;font-weight:800;letter-spacing:-.5px}
.bui .wallnote .s{color:var(--amber);font-size:16px;letter-spacing:1px}
.bui .wallnote .c{font-size:12px;color:var(--muted)}
.bui .wallbadge{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font-size:11px;font-weight:700;color:var(--green);background:#eafaf2;padding:5px 12px;border-radius:99px}
.bui .wallgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:640px){.bui .wallgrid{grid-template-columns:1fr}}
.bui .wallcard{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-s);padding:16px 18px}
.bui .wc-h{display:flex;align-items:center;gap:11px}
.bui .wc-a{width:40px;height:40px;border-radius:12px;background:var(--grad-soft);color:var(--coral-d);display:grid;place-items:center;font-weight:700;font-size:14px;flex:0 0 auto}
.bui .wc-n{flex:1;min-width:0}.bui .wc-n b{font-size:13.5px;font-weight:600;display:block}.bui .wc-n small{font-size:11px;color:var(--muted)}
.bui .wc-s{color:var(--amber);font-size:13px;letter-spacing:1px;white-space:nowrap}
.bui .wc-q{font-size:13px;color:var(--ink-2);line-height:1.55;margin-top:10px}
.bui .wallempty{text-align:center;color:var(--muted);font-size:13px;padding:40px 0}
.bui .wallfoot{text-align:center;font-size:11px;color:var(--muted);margin-top:24px}.bui .wallfoot b{color:var(--coral-d)}
/* ====== Fiche entreprise (édition) ===================================== */
.bui .fichetop{background:#fff;border-bottom:1px solid var(--line);padding:14px 28px;display:flex;align-items:center;gap:18px;position:sticky;top:0;z-index:40}
.bui .fichetop .crumb{font-size:12px;color:var(--muted);font-weight:600}
.bui .fichetop .crumb b{color:var(--ink-2)}
.bui .fichetop .comp{margin-left:auto;display:flex;align-items:center;gap:10px}
.bui .fichetop .comp .bar{width:150px;height:8px;background:#f0eef4;border-radius:99px;overflow:hidden}
.bui .fichetop .comp .bar i{display:block;height:100%;background:var(--grad);border-radius:99px;transition:.3s}
.bui .fichetop .comp span{font-size:11.5px;font-weight:700;color:var(--muted)}
.bui .fiche{max-width:760px;margin:0 auto;padding:26px 24px 0}
.bui .fiche .intro{margin-bottom:20px}
.bui .fiche .intro h1{font-size:21px;font-weight:800;letter-spacing:-.4px}
.bui .fiche .intro p{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.55;max-width:600px}
.bui .fiche .card{margin-bottom:16px;padding:20px 22px}
.bui .fiche .chead{margin-bottom:16px}
.bui .fiche .chead small{display:block;font-size:11px;color:var(--muted);font-weight:500;margin-top:1px}
/* champs */
.bui .frow{margin-bottom:14px}
.bui .frow:last-child{margin-bottom:2px}
.bui .frow label{display:block;font-size:11px;font-weight:700;color:var(--ink-2);margin-bottom:6px}
.bui .frow label em{font-style:normal;color:var(--muted);font-weight:500}
.bui .frow input[type=text],.bui .frow textarea{width:100%;font-family:inherit;font-size:12.5px;border:1.5px solid var(--line);border-radius:12px;padding:10px 13px;color:var(--ink);background:#fdfdfe}
.bui .frow textarea{resize:vertical;min-height:64px}
.bui .frow input:focus,.bui .frow textarea:focus{outline:none;border-color:var(--coral)}
.bui .f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bui .help{font-size:10.5px;color:var(--muted);margin-top:5px;line-height:1.5}
.bui .help b{color:var(--ink-2);font-weight:600}
/* logo + photos */
.bui .logorow{display:flex;gap:14px;align-items:center}
.bui .logodrop{width:74px;height:74px;border-radius:18px;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:26px;font-weight:800;flex:0 0 auto;overflow:hidden;box-shadow:0 8px 18px rgba(235,90,135,.3)}
.bui .logodrop img{width:100%;height:100%;object-fit:cover}
.bui .logobtns{display:flex;flex-direction:column;gap:7px}
.bui .mini{border:1.5px solid var(--line);background:#fff;font-family:inherit;font-size:11.5px;font-weight:700;color:var(--ink-2);padding:8px 14px;border-radius:99px;cursor:pointer;display:inline-block}
.bui .mini:hover{border-color:var(--coral);color:var(--coral-d)}
.bui .gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.bui .gallery .ph{aspect-ratio:4/3;border-radius:13px;overflow:hidden;position:relative;background:var(--grad-soft)}
.bui .gallery .ph img{width:100%;height:100%;object-fit:cover}
.bui .gallery .ph .cover{position:absolute;bottom:6px;left:6px;font-size:8.5px;font-weight:700;background:rgba(26,23,32,.75);color:#fff;padding:3px 8px;border-radius:99px}
.bui .addph{aspect-ratio:4/3;border:2px dashed #d9d2e0;border-radius:13px;background:none;color:var(--muted);font-family:inherit;font-size:11px;font-weight:700;cursor:pointer;display:grid;place-items:center}
.bui .addph:hover{border-color:var(--coral);color:var(--coral-d)}
/* catégories + tags */
.bui .catgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.bui .cat{border:1.5px solid var(--line);border-radius:13px;background:#fff;font-family:inherit;padding:12px 6px;cursor:pointer;text-align:center;transition:.15s}
.bui .cat .ce{font-size:20px;display:block}
.bui .cat b{display:block;font-size:10.5px;font-weight:700;margin-top:5px;color:var(--ink-2)}
.bui .cat.on{border-color:var(--coral);background:var(--grad-soft)}
.bui .cat.on b{color:var(--coral-d)}
.bui .tagbox{border:1.5px solid var(--line);border-radius:12px;padding:9px 11px;display:flex;flex-wrap:wrap;gap:6px;background:#fdfdfe;cursor:text}
.bui .tagbox .tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;background:var(--grad-soft);color:var(--coral-d);padding:6px 11px;border-radius:99px}
.bui .tagbox .tag i{font-style:normal;cursor:pointer;opacity:.65}
.bui .tagbox .tag i:hover{opacity:1}
.bui .tagbox>input{border:none;background:none;font-family:inherit;font-size:12px;flex:1;min-width:120px;padding:5px 2px}
.bui .tagbox>input:focus{outline:none}
.bui .sugg{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}
.bui .sugg button{border:1px dashed #d9d2e0;background:none;font-family:inherit;font-size:10.5px;font-weight:600;color:var(--muted);padding:5px 11px;border-radius:99px;cursor:pointer}
.bui .sugg button:hover{border-color:var(--coral);color:var(--coral-d)}
/* adresse */
.bui .map{height:110px;border-radius:14px;background:linear-gradient(135deg,#e4ebfd,#d8ecdf);position:relative;overflow:hidden;margin-top:10px}
.bui .map .pin{position:absolute;left:50%;top:46%;transform:translate(-50%,-100%);font-size:26px;filter:drop-shadow(0 4px 6px rgba(26,23,32,.3))}
/* carte réelle (Google embed) + ouverture Google Maps / Waze */
.bui .mapbox{margin-top:12px}
.bui .mapbox iframe{width:100%;height:190px;border:0;border-radius:14px;display:block;background:#eef1f6}
.bui .mapacts{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.bui .mapbtn{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;padding:9px 14px;border-radius:11px;border:1.5px solid var(--line);background:#fff;color:var(--ink-2);text-decoration:none;transition:.15s;cursor:pointer}
.bui .mapbtn:hover{transform:translateY(-1px)}
.bui .mapbtn.gmaps:hover{border-color:#34a853;color:#1d8a58}
.bui .mapbtn.waze:hover{border-color:#33ccff;color:#1a9fd0}
/* horaires */
.bui .hrs{display:grid;gap:7px}
.bui .hr{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center}
.bui .hr .d{font-size:12px;font-weight:700;color:var(--ink-2)}
.bui .hr .slots{font-size:12px;color:var(--ink-2);background:#fdfdfe;border:1.5px solid var(--line);border-radius:10px;padding:8px 12px;font-family:inherit;width:100%}
.bui .hr .slots:focus{outline:none;border-color:var(--coral)}
.bui .hr.closed .slots{color:var(--muted);background:#f7f6fa;border-style:dashed}
.bui .hr .tog{width:38px;height:22px;border-radius:99px;background:var(--green);position:relative;cursor:pointer;flex:0 0 auto}
.bui .hr .tog:after{content:"";position:absolute;top:3px;right:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.15s}
.bui .hr.closed .tog{background:#ddd6e2}
.bui .hr.closed .tog:after{right:auto;left:3px}
/* réseaux */
.bui .socgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bui .soc{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:13px;padding:10px 12px;background:#fdfdfe}
.bui .soc .si{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#fff;font-size:14px;font-weight:800;flex:0 0 auto}
.bui .si.ig{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af)}
.bui .si.fb{background:#1877f2}.bui .si.gg{background:#34a853}.bui .si.web{background:#5b76e0}
.bui .soc input{border:none;background:none;font-family:inherit;font-size:12px;flex:1;min-width:0}
.bui .soc input:focus{outline:none}
.bui .soc .st{font-size:9.5px;font-weight:700;padding:3px 8px;border-radius:99px;white-space:nowrap}
.bui .soc .st.on{background:#eafaf2;color:var(--green)}
.bui .soc .st.off{background:#f5f3f8;color:var(--muted)}
.bui .savebar{max-width:760px;margin:6px auto 0;padding:0 24px 30px;display:flex;justify-content:flex-end;gap:10px}

/* ====== Aperçu ambassadeur flottant ================================== */
.bui .floatbtn{position:fixed;right:26px;bottom:26px;z-index:70;border:none;font-family:inherit;background:var(--grad-amb,linear-gradient(135deg,#eb5a87,#a75ce8));color:#fff;font-size:13px;font-weight:700;padding:14px 20px;border-radius:99px;cursor:pointer;box-shadow:0 14px 30px rgba(167,92,232,.42);display:flex;align-items:center;gap:8px;transition:.15s}
.bui .floatbtn:hover{transform:translateY(-2px)}
.bui .floatpanel{position:fixed;right:26px;bottom:88px;z-index:69;display:none}
.bui .floatpanel.open{display:block}
.bui .floatpanel .pbody{padding:0}
.bui .floatpanel .fcover{height:110px;background:linear-gradient(135deg,#ffe9df,#ffd9e4);position:relative;display:grid;place-items:center;font-size:34px;overflow:hidden}
.bui .floatpanel .fcover img{width:100%;height:100%;object-fit:cover}
.bui .floatpanel .fhead{padding:0 16px;margin-top:-24px;position:relative}
.bui .floatpanel .flogo{width:52px;height:52px;border-radius:16px;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:800;border:3px solid #faf9fc;box-shadow:var(--shadow-s);overflow:hidden}
.bui .floatpanel .flogo img{width:100%;height:100%;object-fit:cover}
.bui .floatpanel .fname{padding:8px 16px 0}
.bui .floatpanel .fname h3{font-size:16px;font-weight:800;letter-spacing:-.3px}
.bui .floatpanel .fmeta{display:flex;align-items:center;gap:7px;margin-top:4px;flex-wrap:wrap}
.bui .floatpanel .fmeta .catc{font-size:9px;font-weight:800;background:var(--grad-soft);color:var(--coral-d);padding:4px 10px;border-radius:99px}
.bui .floatpanel .fmeta .note{font-size:10px;font-weight:800;color:var(--ink-2)}
.bui .floatpanel .fmeta .note b{color:var(--amber)}
.bui .floatpanel .ftags{display:flex;flex-wrap:wrap;gap:5px;padding:9px 16px 0}
.bui .floatpanel .ftags span{font-size:9px;font-weight:700;background:#f5f3f8;color:var(--ink-2);padding:4px 9px;border-radius:99px}
.bui .floatpanel .fdesc{font-size:10.5px;color:var(--ink-2);line-height:1.6;padding:10px 16px 0}
.bui .floatpanel .factions{display:flex;gap:7px;padding:12px 16px}
.bui .floatpanel .fact{flex:1;border:none;font-family:inherit;font-size:10px;font-weight:700;padding:10px 6px;border-radius:11px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}
.bui .floatpanel .fact .fe{font-size:14px}
.bui .floatpanel .fact.a1{background:var(--grad-amb,linear-gradient(135deg,#eb5a87,#a75ce8));color:#fff}
.bui .floatpanel .fact.a2{background:#fff;border:1.5px solid var(--line);color:var(--ink-2)}
.bui .floatpanel .fgal{display:flex;gap:7px;padding:0 16px;overflow-x:auto}
.bui .floatpanel .fgal .g{width:86px;height:64px;border-radius:11px;flex:0 0 auto;overflow:hidden;background:var(--grad-soft)}
.bui .floatpanel .fgal .g img{width:100%;height:100%;object-fit:cover}
.bui .floatpanel .fshare{margin:14px 16px 0;background:linear-gradient(135deg,rgba(235,90,135,.08),rgba(167,92,232,.08));border:1px solid #f0dcef;border-radius:15px;padding:12px 13px}
.bui .floatpanel .fshare h5{font-size:11px;font-weight:800;display:flex;align-items:center;gap:6px}
.bui .floatpanel .fshare p{font-size:8.5px;color:var(--muted);margin-top:2px;line-height:1.45}
.bui .floatpanel .fshare p b{color:#a75ce8;font-weight:800}
.bui .floatpanel .sharerow{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:9px}
.bui .floatpanel .sbtn{border:1px solid var(--line);font-family:inherit;background:#fff;border-radius:11px;padding:8px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:8px;font-weight:700;color:var(--ink-2)}
.bui .floatpanel .sbtn .se{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:12px;color:#fff}
.bui .floatpanel .se.sms{background:#2fa36b}.bui .floatpanel .se.wa{background:#25d366}.bui .floatpanel .se.ml{background:#5b76e0}.bui .floatpanel .se.lk{background:var(--grad-amb,linear-gradient(135deg,#eb5a87,#a75ce8))}
.bui .floatpanel .fsec{font-size:9.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:16px 16px 8px}
.bui .floatpanel .fnearfilters{display:flex;gap:5px;padding:0 16px 16px;flex-wrap:wrap}
.bui .floatpanel .fnearfilters span{font-size:8.5px;font-weight:700;padding:4px 9px;border-radius:99px;border:1px solid var(--line);color:var(--muted);background:#fff}
.bui .floatpanel .fnearfilters span.on{background:var(--grad-amb,linear-gradient(135deg,#eb5a87,#a75ce8));color:#fff;border-color:transparent}
@media (max-width:900px){.bui .floatpanel{display:none!important}}

/* ====== Dashboard v5 — chemin d'activation ============================= */
/* Météo du commerce */
.bui .meteo{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 18px;box-shadow:var(--shadow-s);flex-shrink:0}
.bui .meteo .star{width:40px;height:40px;border-radius:12px;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:19px}
.bui .meteo b{font-size:21px;font-weight:800;letter-spacing:-.4px;display:block;line-height:1}
.bui .meteo small{font-size:11px;color:var(--muted);display:block;margin-top:3px}
.bui .meteo.empty .star{background:#eeecf2;color:#b6b2c0}
.bui .meteo.empty b{color:#b6b2c0}
/* Hero « 4 piliers » */
.bui .hero5{background:var(--grad);border-radius:22px;padding:24px 28px 22px;color:#fff;position:relative;overflow:hidden;margin-bottom:22px}
.bui .hero5:after{content:"";position:absolute;right:-40px;top:-50px;width:190px;height:190px;background:rgba(255,255,255,.13);border-radius:50%}
.bui .hero5 h2{font-size:21px;font-weight:800;letter-spacing:-.4px}
.bui .hero5 p{font-size:13.5px;opacity:.95;margin-top:5px;max-width:600px;line-height:1.55}
.bui .hero5 .pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;position:relative;z-index:1}
.bui .hero5 .pills span{font-size:11.5px;font-weight:700;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.32);padding:6px 13px;border-radius:99px;display:inline-flex;align-items:center;gap:6px}
.bui .hero5 .hprog{margin-top:16px;display:flex;align-items:center;gap:12px}
.bui .hero5 .hprog .bar{flex:1;max-width:240px;height:8px;background:rgba(255,255,255,.28);border-radius:8px;overflow:hidden}
.bui .hero5 .hprog .bar i{display:block;height:100%;background:#fff;border-radius:8px}
.bui .hero5 .hprog .lab{font-size:12.5px;font-weight:600}
/* Chemin d'activation */
.bui .pathlab,.bui .pilab{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:0 0 12px 2px}
.bui .path{position:relative;padding-left:52px}
.bui .path::before{content:"";position:absolute;left:19px;top:26px;bottom:34px;width:3.5px;background:#e4dfeb;border-radius:4px}
.bui .path .step{display:block;position:relative;margin-bottom:14px;padding:0;border:none;background:none}
.bui .path .step .sdot{position:absolute;left:-52px;top:22px;width:40px;height:40px;border-radius:50%;background:#fff;border:3px solid #e2dce9;color:var(--muted);display:grid;place-items:center;font-size:14px;font-weight:800;z-index:1}
.bui .path .step.now .sdot{border-color:var(--coral);color:var(--coral-d);box-shadow:0 0 0 5px rgba(236,100,61,.14)}
.bui .path .step.zero .sdot{background:var(--grad);border-color:transparent;color:#fff}
/* étape faite : légèrement grisée + pastille verte cochée */
.bui .path .step.done .scard{opacity:.62;background:#fbfbfc}
.bui .path .step.done .scard:hover{opacity:.82;transform:none;box-shadow:var(--shadow-s)}
.bui .path .step.done .sdot{background:var(--green);border-color:transparent;color:#fff;font-size:0}
.bui .path .step.done .sdot::after{content:"✓";font-size:16px;font-weight:800}
.bui .path .step.done .go{background:#eef0f4;color:var(--muted);box-shadow:none}
.bui .path .step.done .go:hover{transform:none}
/* barre « ne plus démarrer sur cet écran » (toutes les 3 connexions) */
.bui .optoutbar{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 14px;margin-bottom:16px;cursor:pointer;font-size:12.5px;color:var(--ink-2);box-shadow:var(--shadow-s)}
.bui .optoutbar input{accent-color:var(--coral);width:16px;height:16px;flex:0 0 auto;cursor:pointer}
.bui .scard{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-s);padding:18px 20px;display:flex;align-items:center;gap:16px;transition:.15s}
.bui .scard:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.bui .path .step.now .scard{border:1.5px solid var(--coral);box-shadow:0 12px 28px rgba(236,100,61,.12)}
.bui .scard .pic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:#fff;flex:0 0 auto}
.bui .pic.fiche{background:var(--grad)}
.bui .pic.avis{background:linear-gradient(135deg,#ec643d,#eb5a87)}
.bui .pic.crm{background:linear-gradient(135deg,#5b76e0,#7a93f0)}
.bui .pic.amb{background:linear-gradient(135deg,#2fa36b,#3fc18a)}
.bui .pic.par{background:linear-gradient(135deg,#eb5a87,#a75ce8)}
.bui .scard .st{flex:1;min-width:0}
.bui .scard .pk{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bui .scard .pk .tag{font-size:9.5px;font-weight:700;text-transform:none;letter-spacing:0;padding:3px 9px;border-radius:99px}
.bui .scard .tag.reco{background:var(--grad-soft);color:var(--coral-d)}
.bui .scard .tag.next{background:#f5f3f8;color:var(--muted)}
.bui .scard .tag.last{background:#f3eef9;color:var(--violet,#a75ce8)}
.bui .scard h4{font-size:15px;font-weight:700;margin-top:3px;letter-spacing:-.2px}
.bui .scard p{font-size:12px;color:var(--muted);line-height:1.55;margin-top:3px;max-width:560px}
.bui .scard p b{color:var(--ink-2);font-weight:600}
.bui .chiprow{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.bui .chiprow span{font-size:10.5px;font-weight:600;background:#f5f3f8;color:var(--ink-2);padding:4px 10px;border-radius:20px}
.bui .fprog{display:flex;align-items:center;gap:9px;margin-top:9px}
.bui .fprog .bar{width:170px;height:7px;background:#f0eef4;border-radius:99px;overflow:hidden}
.bui .fprog .bar i{display:block;height:100%;background:var(--grad);border-radius:99px}
.bui .fprog span{font-size:11px;font-weight:700;color:var(--muted)}
.bui .scard .go{border:none;font-family:inherit;font-size:12.5px;font-weight:700;padding:12px 19px;border-radius:99px;cursor:pointer;color:#fff;white-space:nowrap;flex:0 0 auto;transition:.15s;text-decoration:none;display:inline-block}
.bui .scard .go:hover{transform:translateY(-1px)}
.bui .go.gfiche{background:var(--grad);box-shadow:0 8px 18px rgba(235,90,135,.3)}
.bui .go.gavis{background:linear-gradient(135deg,#ec643d,#eb5a87);box-shadow:0 6px 14px rgba(235,90,135,.3)}
.bui .go.gcrm{background:linear-gradient(135deg,#5b76e0,#7a93f0);box-shadow:0 6px 14px rgba(91,118,224,.3)}
.bui .go.gamb{background:linear-gradient(135deg,#2fa36b,#3fc18a);box-shadow:0 6px 14px rgba(47,163,107,.3)}
.bui .go.gpar{background:linear-gradient(135deg,#eb5a87,#a75ce8);box-shadow:0 6px 14px rgba(167,92,232,.3)}
.bui .swap{font-size:11.5px;color:var(--muted);margin:2px 0 14px 2px}
/* Chemin d'activation sur TÉLÉPHONE (≤560px) : la carte d'étape empile le texte
   pleine largeur + le bouton en pleine largeur dessous (sinon la colonne texte
   s'écrase à un mot de large et le bouton la comprime). */
@media(max-width:560px){
  .bui .scard{flex-wrap:wrap;align-items:center;overflow:visible;padding:16px 16px;gap:13px}
  .bui .scard .pic{width:42px;height:42px}
  .bui .scard .st{flex:1 1 auto;min-width:0}
  .bui .scard .go{flex:1 0 100%;width:100%;text-align:center;margin-top:2px}
  .bui .scard p{max-width:none}
  .bui .path{padding-left:42px}
  .bui .path::before{left:15px}
  .bui .path .step .sdot{left:-42px;width:34px;height:34px;top:18px}
  .bui .hero5{padding:20px 18px}
  .bui .hero5 h2{font-size:19px}
}
.bui .swap a{color:var(--blue,#5b76e0);font-weight:700;text-decoration:none;cursor:pointer}
.bui .swap a:hover{text-decoration:underline}
/* Actions rapides */
.bui .qacts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px;align-items:center}
.bui .qacts .ql{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-right:2px}
.bui .qbtn{border:none;font-family:inherit;font-weight:700;font-size:13px;padding:11px 17px;border-radius:99px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:.15s;text-decoration:none}
.bui .qbtn svg{width:16px;height:16px}
.bui .qbtn.primary{background:var(--grad);color:#fff;box-shadow:0 8px 18px rgba(235,90,135,.32)}
.bui .qbtn.primary:hover{transform:translateY(-1px)}
.bui .qbtn.ghost{background:#fff;color:var(--ink-2);border:1.5px solid var(--line);box-shadow:var(--shadow-s)}
.bui .qbtn.ghost:hover{border-color:var(--coral);color:var(--coral-d)}
.bui .qbtn.scan{background:var(--ink);color:#fff;box-shadow:0 8px 18px rgba(26,23,32,.28);padding:12px 19px}
.bui .qbtn.scan:hover{transform:translateY(-1px)}
.bui .qbtn .cnt{font-size:10px;font-weight:800;background:var(--grad);color:#fff;padding:2px 8px;border-radius:99px;margin-left:2px}
.bui .qhint{font-size:10.5px;color:var(--muted);margin:0 0 26px 2px}
.bui .qhint b{color:var(--ink-2)}
.bui .pcard .trend{font-size:11.5px;font-weight:700;color:var(--green);background:#eafaf2;padding:4px 10px;border-radius:20px}
.bui .meteo .tr{font-size:11.5px;font-weight:700;color:var(--green);background:#eafaf2;padding:4px 9px;border-radius:20px;white-space:nowrap}
/* Cartes piliers (cockpit) */
.bui .piliers{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
@media(max-width:1080px){.bui .piliers{grid-template-columns:1fr 1fr}}
.bui .pcard{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-s);padding:18px;display:flex;flex-direction:column;position:relative;transition:.15s}
.bui .pcard:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.bui .pcard .trow{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}
.bui .pcard .pic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff}
.bui .pcard .pk{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.bui .pcard .big{font-size:23px;font-weight:800;letter-spacing:-.5px;margin:3px 0 1px}
.bui .pcard .big small{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:0}
.bui .pcard .sub{font-size:11.5px;color:var(--muted);margin:4px 0 14px}
.bui .pcard .act{margin-top:auto;width:100%;display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;padding:11px 12px;border-radius:11px;cursor:pointer;transition:.15s;border:none;font-family:inherit;text-align:left;text-decoration:none}
.bui .act.avis{background:#fff0e9;color:#d0632e}.bui .act.avis:hover{background:#ffe4d6}
.bui .act.amb{background:#eafaf2;color:#1d8a58}.bui .act.amb:hover{background:#d9f4e6}
.bui .act.crm{background:#eef2ff;color:#4a63c4}.bui .act.crm:hover{background:#dfe6fd}
.bui .pcard .act svg{width:14px;height:14px;margin-left:auto}
.bui .pcard .dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto;animation:buipulse 1.6s infinite}
@keyframes buipulse{0%,100%{opacity:1}50%{opacity:.25}}
.bui .pcard .soon{position:absolute;top:14px;right:14px;font-size:10px;font-weight:700;background:#f3eef9;color:var(--violet,#a75ce8);padding:4px 10px;border-radius:20px}
.bui .pcard.off .pic{opacity:.55}
.bui .pcard.off .gob{background:#f1edf5;color:var(--muted);box-shadow:none;cursor:default;border:none;font-family:inherit;font-size:12.5px;font-weight:700;padding:11px 14px;border-radius:11px;margin-top:auto;width:100%}
/* Panneau derniers avis */
.bui .panel .avis-item{padding:11px 0;border-bottom:1px solid var(--line)}
.bui .panel .avis-item:last-child{border:none}
.bui .panel .avis-item .rh{display:flex;align-items:center;justify-content:space-between}
.bui .panel .avis-item .rh b{font-size:13px;font-weight:600}
.bui .panel .avis-item .stars{color:var(--amber);font-size:12px;letter-spacing:1px}
.bui .panel .avis-item p{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.5}
