/* EASYLIFEMB — composants partagés des blocs Dispatch (jetons du thème + sémantique du design system) */
.el-cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.el-service{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:.92em;margin:2px 0 4px}
.el-card{background:var(--w-surface);border:1px solid var(--w-line);border-radius:var(--w-radius);padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.el-prov{display:flex;gap:12px;align-items:flex-start}
.el-avatar{width:50px;height:50px;border-radius:14px;background:color-mix(in srgb,var(--w-accent) 14%,var(--w-surface));display:grid;place-items:center;font-family:var(--w-display);font-weight:800;font-size:20px;color:var(--w-accent);flex:none}
.el-name{font-family:var(--w-display);font-weight:700;font-size:1.05em;margin:0}
.el-verified{color:var(--w-accent);font-size:.8em;font-weight:600;white-space:nowrap}
.el-stars{color:#E0A800;letter-spacing:1px;font-size:.85em}
.el-meta{color:var(--w-muted);font-size:.85em}
.el-price{font-family:var(--w-display);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.el-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:calc(var(--w-radius) - 4px);border:1px solid transparent;font-weight:600;font-size:.95em;cursor:pointer;text-decoration:none;background:var(--w-accent);color:var(--w-on-accent)}
.el-btn.ok{background:#3F9A47;color:#fff}.el-btn.ghost{background:var(--w-surface);color:var(--w-accent);border-color:var(--w-line)}.el-btn.block{width:100%}
.el-btn:focus-visible{outline:3px solid #F2C230;outline-offset:2px}
.el-field{display:block;margin:0 0 10px}.el-field>span{display:block;font-size:.85em;color:var(--w-muted);margin:0 0 4px;font-weight:500}
.el-input,.el-select,.el-textarea{display:block;width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--w-line);border-radius:calc(var(--w-radius) - 4px);background:var(--w-bg);color:var(--w-ink);font:inherit}
.el-textarea{min-height:84px}
.el-chips{display:flex;flex-wrap:wrap;gap:8px}
.el-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--w-line);background:var(--w-surface);cursor:pointer;font-size:.9em}
.el-chip input{accent-color:var(--w-accent)}
.el-chip:has(input:checked){background:var(--w-accent);color:var(--w-on-accent);border-color:var(--w-accent)}
.el-steps{display:flex;gap:6px;margin:0 0 12px}.el-steps span{flex:1;height:6px;border-radius:3px;background:var(--w-line)}.el-steps .on{background:var(--w-accent)}
.el-timeline{display:flex;align-items:center;list-style:none;padding:0;margin:8px 0;overflow-x:auto;gap:0}
.el-timeline li{display:flex;align-items:center;gap:6px;font-size:.8em;color:var(--w-muted);white-space:nowrap}
.el-timeline li::after{content:"";width:18px;height:2px;background:var(--w-line);margin:0 6px}.el-timeline li:last-child::after{display:none}
.el-timeline .dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--w-line);display:grid;place-items:center;font-size:.75em;background:var(--w-surface)}
.el-timeline .done .dot{background:#3F9A47;border-color:#3F9A47;color:#fff}.el-timeline .done{color:var(--w-ink)}
.el-timeline .now .dot{border-color:var(--w-accent);color:var(--w-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--w-accent) 18%,transparent)}.el-timeline .now{color:var(--w-accent);font-weight:600}
.el-timeline.canceled .dot{border-color:#B3261E}
.el-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.8em;font-weight:600;white-space:nowrap;background:color-mix(in srgb,var(--w-accent) 14%,var(--w-surface));color:var(--w-accent)}
.el-pill.ok{background:#E4F3E5;color:#2E7A36}.el-pill.warn{background:#FDF0DC;color:#B25E00}.el-pill.bad{background:#FBE7E5;color:#B3261E}.el-pill.best{background:#FDF3D0;color:#7A5A00}
.el-offer{border:1px solid var(--w-line);border-radius:calc(var(--w-radius) - 4px);padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.el-offer.best{border-color:#3F9A47;background:#E4F3E5;color:#1B2333}
.el-map{border-radius:var(--w-radius);background:linear-gradient(135deg,#dfe8d8 0 40%,#cfd9e8 40% 100%);min-height:180px;position:relative;overflow:hidden}
.el-map .pt{position:absolute;transform:translate(-50%,-100%);background:var(--w-accent);color:var(--w-on-accent);padding:3px 8px;border-radius:8px;font-size:.8em;white-space:nowrap}
.el-map .pt.b{background:#3F9A47;color:#fff}
.el-notice{padding:10px 14px;border-radius:calc(var(--w-radius) - 4px);background:color-mix(in srgb,var(--w-accent) 12%,var(--w-surface));border-inline-start:4px solid var(--w-accent);font-size:.92em}
.el-notice.err{background:#FBE7E5;border-color:#B3261E;color:#B3261E}
.el-quote{font-size:.95em;margin:0}.el-quote footer{color:var(--w-muted);font-size:.85em;margin-top:4px}
.el-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.el-cat{background:var(--w-surface);border:1px solid var(--w-line);border-radius:var(--w-radius);padding:12px 8px;text-align:center;text-decoration:none;color:var(--w-ink);font-size:.9em}
.el-cat b{display:block;font-size:1.6em;line-height:1.2}
.el-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.el-ref-row{font-size:.75em;color:var(--w-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.el-ref{color:var(--w-ink)}
.el-avatar-img{object-fit:cover}
.el-phone,.el-mail{display:block;font-size:.9em;font-weight:700;color:var(--w-accent);text-decoration:none;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.el-mail{font-weight:500;color:var(--w-muted)}
.el-qr{flex:none;width:64px;height:64px;display:block;border:1px solid var(--w-line);border-radius:6px;padding:3px;background:#fff}
.el-qr svg,.el-qr img{width:100%;height:100%;display:block}
.el-actions{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 4px}
.el-actions a{display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-width:58px;padding:6px 4px;border:1px solid var(--w-line);border-radius:8px;background:var(--w-surface);color:var(--w-muted);text-decoration:none;font-size:.62em;text-transform:uppercase;letter-spacing:.03em}
.el-actions a:hover{color:var(--w-accent);border-color:var(--w-accent)}
.el-actions svg{width:20px;height:20px}
.el-cat .el-ic img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.el-legal{font-size:12px;opacity:.75;margin:2px 0}.el-photos{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.el-photos img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--w-line)}.el-thread{border-top:1px solid var(--w-line);margin-top:10px;padding-top:8px}.el-thread-list{max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.el-msg{max-width:85%;align-self:flex-start}.el-msg.mine{align-self:flex-end;text-align:end}.el-msg-b{display:inline-block;background:var(--w-surface);border:1px solid var(--w-line);border-radius:12px;padding:6px 10px;font-size:.95em}.el-msg.mine .el-msg-b{background:color-mix(in srgb,var(--w-accent) 14%,var(--w-surface))}.el-msg-b img{max-width:180px;border-radius:8px;display:block;margin-bottom:4px}.el-msg-m{font-size:.72em;color:var(--w-muted);margin-top:2px}.el-thread-form{display:flex;gap:6px;align-items:center}.el-thread-form .el-input{flex:1;min-width:0}.el-devis{flex-basis:100%;font-size:.9em}.el-devis summary{cursor:pointer;color:var(--w-accent)}.el-devis .num{text-align:end;white-space:nowrap}
.el-chat-list{display:flex;flex-direction:column}
.el-chat-row{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--w-line);text-decoration:none;color:inherit}
.el-chat-row:last-child{border-bottom:0}.el-chat-row:hover b{color:var(--w-accent)}
.el-chat-n{display:inline-block;min-width:20px;padding:0 6px;border-radius:999px;background:#E73232;color:#fff;font-size:.75em;font-weight:700;text-align:center;line-height:20px}
.el-social{display:flex;gap:6px;align-items:center;margin:2px 0}.el-fav{background:transparent;border:1px solid var(--w-line);border-radius:999px;width:28px;height:28px;display:inline-grid;place-items:center;cursor:pointer;color:var(--w-muted);text-decoration:none;font-size:.95em}.el-fav.on{color:#B3261E;border-color:#B3261E}.el-storydot{color:#58E0A9;font-size:1.1em;text-decoration:none}.el-report summary{list-style:none;cursor:pointer;color:var(--w-muted);font-size:.9em}.el-report summary::-webkit-details-marker{display:none}.el-report form{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.el-report .el-input,.el-report .el-select{min-height:34px;font-size:.85em}
.el-report{background:none;border:0;padding:0 2px;cursor:pointer;color:var(--w-muted);font-size:.95em;line-height:1}
.el-report:hover{color:#E73232}
.el-report-dlg{border:1px solid var(--w-line);border-radius:var(--w-radius);background:var(--w-surface);color:var(--w-ink);padding:18px 20px;width:min(520px,calc(100vw - 32px));box-shadow:0 20px 60px rgba(0,0,0,.25)}
.el-report-dlg::backdrop{background:rgba(0,0,0,.45)}
.el-report-dlg .el-field{margin-top:10px}
.el-report-x{background:none;border:0;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--w-muted);padding:0 4px}
.el-report-x:hover{color:var(--w-ink)}
.el-stories{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 8px}.el-story{background:transparent;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:72px;font:inherit;color:inherit}.el-story-ring{width:64px;height:64px;border-radius:50%;padding:3px;background:linear-gradient(135deg,#3938ff,#58e0a9);display:grid;place-items:center}.el-story-ring img,.el-story-ring i{width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--w-surface);display:grid;place-items:center;font-style:normal;font-weight:700}.el-story-name{font-size:.75em;white-space:nowrap}
.el-story-viewer{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:100;display:grid;place-items:center}.el-story-box{width:min(420px,96vw);color:#fff}.el-story-bar{display:flex;gap:8px;align-items:center;margin-bottom:6px}.el-story-bar .x{margin-inline-start:auto;background:transparent;border:0;color:#fff;font-size:1.6em;cursor:pointer}.el-story-media img,.el-story-media video{width:100%;max-height:70vh;object-fit:contain;border-radius:12px;background:#000}.el-story-cap{margin-top:6px;font-size:.95em}.el-story-nav{display:flex;justify-content:space-between;margin-top:6px}.el-story-nav button{background:rgba(255,255,255,.15);border:0;color:#fff;border-radius:999px;width:40px;height:40px;font-size:1.4em;cursor:pointer}
.el-ad{display:flex;align-items:center;gap:12px;border:1px solid var(--w-line);border-radius:var(--w-radius);overflow:hidden;background:var(--w-surface);text-decoration:none;color:inherit;position:relative;margin:8px 0}.el-ad img{width:min(40%,240px);height:96px;object-fit:cover}.el-ad-t{font-weight:700;padding:8px}.el-ad-tag{position:absolute;top:6px;inset-inline-end:8px;font-size:.7em;opacity:.7}.el-ad-footer img{height:72px}
.el-badges{display:inline-flex;flex-wrap:wrap;gap:4px;margin:2px 0}.el-badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.74em;font-weight:700;white-space:nowrap}.el-badge.acc{background:#E4F3E5;color:#2E7A36}.el-badge.cmp{background:#E3ECFB;color:#1F4E9C}.el-badge.svc{background:#FDF3D0;color:#7A5A00}.el-badge.none{background:color-mix(in srgb,var(--w-muted) 18%,transparent);color:var(--w-muted);font-weight:600}.el-card.is-unverified{opacity:.92}.el-admin-rate{color:var(--w-accent);font-weight:600}.el-doclist{display:grid;gap:6px;margin:8px 0}.el-doclist .el-row{border-top:1px solid var(--w-line);padding-top:6px}
.el-cat .el-count{position:absolute;top:6px;inset-inline-start:6px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.9);color:#0E2B5C;font-size:11px;font-weight:700;line-height:20px;text-align:center;z-index:2}.el-cat{position:relative}.el-caps{display:flex;gap:6px;margin:2px 0}.el-caps span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:color-mix(in srgb,var(--w-accent) 12%,transparent);color:var(--w-accent)}.el-caps svg{width:13px;height:13px}.el-new{color:var(--w-accent);font-weight:600}.el-dist{white-space:nowrap}.el-cat.is-active{outline:2px solid var(--w-primary)}.el-crumb a{color:var(--w-primary);text-decoration:none}

/* ── 5.5.5 : note en etoiles (radios deguises, sans JavaScript) ── */
.el-rate{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px;direction:ltr;unicode-bidi:isolate;line-height:1;vertical-align:middle}
.el-rate-in{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.el-rate-st{cursor:pointer;font-size:1.45rem;color:var(--w-line);transition:color .12s;padding:0 1px;user-select:none}
.el-rate-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.el-rate-in:checked ~ .el-rate-st,.el-rate-st:hover,.el-rate-st:hover ~ .el-rate-st{color:#F2C230}
.el-rate-in:focus-visible + .el-rate-st{outline:2px solid var(--c-indigo, #3938FF);outline-offset:2px;border-radius:4px}