/* SMM Assistant widget - V2 Phase 4. All classes are prefixed smma- so nothing else on the site is touched. */
.smma-root{--smma-bg:#fff;--smma-fg:#1f2937;--smma-mute:#6b7280;--smma-line:#e5e7eb;--smma-soft:#f4f7fe;--smma-brand:rgb(var(--ef-a600,15 172 78));--smma-brand2:rgb(var(--ef-a700,12 139 64));--smma-ok:#0c8b40;--smma-warn:#b45309;--smma-err:#b91c1c;--smma-info:#0fac4e;--smma-bot:#fff;--smma-grad:linear-gradient(135deg,var(--smma-brand),var(--smma-brand2));--smma-shadow:0 18px 50px rgba(15,23,42,.22);color-scheme:light;
  position:fixed;inset-inline-end:16px;bottom:16px;z-index:9990;font-family:inherit;font-size:14px;line-height:1.5}
/* dark: the same tokens the site uses (--ef-d-*), so the chat matches whatever dark theme the admin picked */
.dark .smma-root{--smma-brand:rgb(var(--ef-a500,40 203 105));--smma-brand2:rgb(var(--ef-a700,12 139 64));--smma-bg:rgb(var(--ef-d-bg,22 22 26));--smma-fg:#f1f5f5;--smma-mute:#94a3ae;--smma-line:rgb(var(--ef-d-border,42 42 48));--smma-soft:rgb(var(--ef-d-page,11 11 13));--smma-bot:rgb(var(--ef-d-hover,30 30 35));--smma-ok:#48d581;--smma-warn:#fbbf24;--smma-err:#fca5a5;--smma-info:#48d581;--smma-grad:linear-gradient(135deg,rgba(255,255,255,.07),rgba(0,0,0,.16)),var(--smma-brand2);--smma-shadow:0 18px 50px rgba(0,0,0,.6);color-scheme:dark}
.smma-root ::selection{background:rgb(var(--ef-a500,40 203 105)/.35);color:inherit}
.smma-root[hidden],.smma-panel[hidden],.smma-intro[hidden],.smma-down[hidden],.smma-badge-dot[hidden]{display:none!important}
.smma-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* floating button + badge + intro bubble */
.smma-fab{position:relative;width:40px;height:40px;padding:0;border-radius:0;border:0;cursor:pointer;color:#fff;font-size:21px;background:transparent;box-shadow:none;display:flex;align-items:center;justify-content:center;transition:transform .15s}
.smma-fab:hover{transform:scale(1.1)}
.smma-badge-dot{position:absolute;top:-5px;inset-inline-end:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:600;line-height:20px;text-align:center;border:2px solid var(--smma-bg);box-sizing:border-box;animation:smmaPop .35s ease-out}
@keyframes smmaPop{from{transform:scale(0)}to{transform:scale(1)}}
.smma-intro{position:absolute;inset-inline-end:0;bottom:52px;max-width:230px;display:flex;align-items:flex-start;background:var(--smma-bg);color:var(--smma-fg);border:1px solid var(--smma-line);border-radius:14px;border-end-end-radius:4px;box-shadow:var(--smma-shadow);animation:smmaUp .3s ease-out}
.smma-intro-txt{flex:1;font:inherit;font-size:13px;text-align:start;background:transparent;border:0;color:inherit;cursor:pointer;padding:10px 4px 10px 12px}
.smma-intro-x{background:transparent;border:0;color:var(--smma-mute);cursor:pointer;padding:8px 10px;font-size:12px}
@keyframes smmaUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* panel */
.smma-panel{position:absolute;inset-inline-end:0;bottom:52px;width:min(400px,calc(100vw - 24px));height:min(620px,calc(100vh - 110px));background:var(--smma-bg);color:var(--smma-fg);border:1px solid var(--smma-line);border-radius:20px;box-shadow:var(--smma-shadow);display:flex;flex-direction:column;overflow:hidden;animation:smmaUp .22s ease-out}
.smma-head{display:flex;align-items:center;gap:10px;padding:13px 14px;background:var(--smma-grad);color:#fff}
.smma-head-ico{position:relative;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-size:16px}
.smma-dot{position:absolute;bottom:0;inset-inline-end:0;width:11px;height:11px;border-radius:50%;background:#28cb69;border:2px solid var(--smma-brand2)}
.smma-head-txt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.smma-head-txt strong{font-size:15px}
.smma-status{font-size:11.5px;opacity:.92}
.smma-x{background:transparent;border:0;color:#fff;font-size:17px;cursor:pointer;padding:6px 8px;border-radius:8px}
.smma-x:hover{background:rgba(255,255,255,.16)}

/* log + rows */
.smma-body{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;background:var(--smma-soft)}
.smma-log{flex:1;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;padding:14px 12px;display:flex;flex-direction:column;gap:12px}
.smma-row{display:flex;align-items:flex-end;gap:8px;max-width:100%}
.smma-row.bot{align-self:flex-start}
.smma-row.user{align-self:flex-end;flex-direction:row-reverse}
.smma-row.cont{margin-top:-8px}
.smma-av{flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:var(--smma-grad);color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.smma-row.cont .smma-av{visibility:hidden}
.smma-col{display:flex;flex-direction:column;min-width:0;max-width:calc(100% - 38px)}
.smma-row.user .smma-col{align-items:flex-end;max-width:88%}
.smma-msg{padding:9px 13px;border-radius:16px;word-wrap:break-word;overflow-wrap:anywhere;white-space:pre-line}
.smma-msg.bot{background:var(--smma-bot);border:1px solid var(--smma-line);border-end-start-radius:5px}
.smma-msg.user{background:var(--smma-grad);color:#fff;border-end-end-radius:5px}
.smma-msg.kb{white-space:normal}
.smma-msg.err{border-color:var(--smma-err);color:var(--smma-err)}
.smma-time{font-size:10.5px;color:var(--smma-mute);margin-top:3px;padding:0 4px}
.smma-row.nt .smma-time{display:none}
.smma-row.typing .smma-time{display:none}

/* rich answer text (paragraphs / lists / bold) */
.smma-rich p{margin:0}.smma-rich p+p,.smma-rich p+ul,.smma-rich p+ol,.smma-rich ul+p,.smma-rich ol+p,.smma-rich ul+ul,.smma-rich ol+ol{margin-top:8px}
.smma-list{margin:4px 0 0;padding-inline-start:20px}.smma-list li{margin:2px 0}
.smma-rich strong{font-weight:600}

/* copy + feedback */
.smma-acts{display:flex;align-items:center;gap:2px;margin-top:3px}
.smma-act{background:transparent;border:0;color:var(--smma-mute);cursor:pointer;font-size:12.5px;padding:4px 7px;border-radius:8px}
.smma-act:hover:not(:disabled){background:var(--smma-line);color:var(--smma-fg)}
.smma-act.done{color:var(--smma-ok)}
.smma-fbb:disabled{cursor:default;opacity:.45}
.smma-fbb.on{opacity:1;color:var(--smma-brand)}
.smma-fbb.on i{font-weight:600}
.smma-thanks{font-size:11px;color:var(--smma-mute);margin-inline-start:6px}

/* typing dots */
.smma-dots{display:inline-flex;align-items:center;gap:4px;height:14px}
.smma-dots span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--smma-mute);animation:smmaBlink 1.1s infinite}
.smma-dots span:nth-child(2){animation-delay:.18s}.smma-dots span:nth-child(3){animation-delay:.36s}
@keyframes smmaBlink{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}

/* scroll-to-latest */
.smma-down{position:absolute;inset-inline-end:12px;bottom:10px;display:flex;align-items:center;gap:6px;font:inherit;font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;border:1px solid var(--smma-line);background:var(--smma-bg);color:var(--smma-fg);box-shadow:0 4px 14px rgba(0,0,0,.15);cursor:pointer}
.smma-down:hover{border-color:var(--smma-brand);color:var(--smma-brand)}

/* service cards */
.smma-cards{display:flex;flex-direction:column;gap:10px;width:100%}
.smma-card{background:var(--smma-bg);border:1px solid var(--smma-line);border-radius:16px;padding:12px 13px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.smma-card.best{border-color:var(--smma-brand);box-shadow:0 0 0 1px var(--smma-brand) inset,0 4px 14px rgb(var(--ef-a600,15 172 78)/.12)}
.smma-badge{display:inline-block;font-size:10.5px;font-weight:600;color:#fff;background:var(--smma-grad);padding:2px 9px;border-radius:999px;margin-bottom:6px}
.smma-name{font-weight:600;font-size:13.5px;margin-bottom:8px;line-height:1.35}
.smma-price{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:8px 10px;margin-bottom:8px;border-radius:12px;background:var(--smma-soft)}
.smma-pmain,.smma-ptotal{display:flex;flex-direction:column;line-height:1.2}
.smma-ptotal{text-align:end}
.smma-price b{font-size:17px;color:var(--smma-brand)}
.smma-ptotal b{font-size:14px;color:var(--smma-fg)}
.smma-price small{color:var(--smma-mute);font-size:11px}
.smma-meta{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.smma-chip{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--smma-soft);border:1px solid var(--smma-line);color:var(--smma-fg)}
.smma-chip.ok{color:var(--smma-ok)}.smma-chip.warn{color:var(--smma-warn)}
.smma-desc{font-size:12px;color:var(--smma-mute);margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.smma-why{margin:4px 0 10px;padding:0;list-style:none;font-size:12px;color:var(--smma-mute)}
.smma-why li::before{content:"\2713";color:var(--smma-ok);margin-inline-end:6px;font-weight:600}
.smma-why-t{font-size:11.5px;font-weight:600;color:var(--smma-fg);margin-top:2px}
.smma-btns{display:flex;gap:8px}
.smma-btn{flex:1;text-align:center;text-decoration:none;font-weight:600;font-size:12.5px;padding:9px 10px;border-radius:11px;border:1px solid var(--smma-line);color:var(--smma-fg);background:var(--smma-bg)}
.smma-btn.primary{background:var(--smma-grad);border-color:transparent;color:#fff}
.smma-btn:hover{filter:brightness(.96)}
.smma-btn.danger{background:#dc2626;border-color:transparent;color:#fff}
button.smma-btn{cursor:pointer;font-family:inherit}
button.smma-btn:disabled{opacity:.6;cursor:default}
.smma-confirm{flex-wrap:wrap}
.smma-confirm .smma-btn{min-width:130px}
.smma-kbbtns{margin-inline-start:36px}

/* chips: quick replies, follow-ups, related questions */
.smma-try{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px 0;background:var(--smma-bg);border-top:1px solid var(--smma-line)}
.smma-try[hidden]{display:none}
.smma-try button{font:inherit;font-size:12px;padding:5px 11px;border-radius:999px;border:1px solid var(--smma-line);background:var(--smma-soft);color:var(--smma-fg);cursor:pointer}
.smma-try button:hover{border-color:var(--smma-brand);color:var(--smma-brand)}
.smma-fu{display:flex;flex-wrap:wrap;gap:6px;padding-inline-start:36px}
.smma-fu button{font:inherit;font-size:12px;padding:5px 11px;border-radius:999px;border:1px solid var(--smma-brand);background:var(--smma-bg);color:var(--smma-brand);cursor:pointer;text-align:start}
.smma-fu button:hover{background:var(--smma-grad);border-color:transparent;color:#fff}
.smma-kbrel{align-items:center}
.smma-kbrel .smma-group{flex-basis:100%;margin:2px 0 0}
.smma-ctx{align-self:flex-start;font-size:11.5px;color:var(--smma-mute);padding:0 4px 0 40px}
.smma-group{font-size:11.5px;font-weight:600;color:var(--smma-fg);padding:2px 4px;text-transform:uppercase;letter-spacing:.03em}
.smma-more{align-self:center;font:inherit;font-size:12.5px;font-weight:600;padding:7px 18px;border-radius:999px;border:1px solid var(--smma-line);background:var(--smma-bg);color:var(--smma-fg);cursor:pointer}
.smma-more:hover:not(:disabled){border-color:var(--smma-brand);color:var(--smma-brand)}
.smma-more:disabled{opacity:.5;cursor:default}

/* input */
.smma-form{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;background:var(--smma-bg);border-top:1px solid var(--smma-line)}
.smma-try:not([hidden])+.smma-form{border-top:0;padding-top:8px}
.smma-form textarea{flex:1;min-width:0;box-sizing:border-box;resize:none;min-height:42px;max-height:110px;padding:10px 14px;border-radius:21px;border:1.5px solid rgb(var(--ef-a500,40 203 105)/.4);background:var(--smma-soft);color:var(--smma-fg);font:inherit;font-size:14px;line-height:20px;outline:0;overflow-y:hidden;transition:border-color .15s,box-shadow .15s}
.smma-form textarea:hover{border-color:rgb(var(--ef-a500,40 203 105)/.6)}
.smma-form textarea:focus{border-color:rgb(var(--ef-a500,40 203 105)/.85);box-shadow:0 0 0 3px rgb(var(--ef-a500,40 203 105)/.15)}
.smma-form textarea::placeholder{color:var(--smma-mute);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smma-send{width:42px;height:42px;flex:0 0 42px;border:0;border-radius:50%;background:var(--smma-grad);color:#fff;cursor:pointer}
.smma-send:disabled{opacity:.5;cursor:default}
.smma-root[dir=rtl] .smma-send i,.smma-root[dir=rtl] .smma-x i{transform:scaleX(-1)}

/* accessibility */
.smma-fab:focus-visible,.smma-btn:focus-visible,.smma-more:focus-visible,.smma-x:focus-visible,.smma-fu button:focus-visible,.smma-try button:focus-visible,.smma-act:focus-visible,.smma-down:focus-visible,.smma-send:focus-visible,.smma-intro-txt:focus-visible,.smma-intro-x:focus-visible{outline:2px solid var(--smma-brand);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.smma-dots span,.smma-fab,.smma-panel,.smma-intro,.smma-badge-dot{animation:none;transition:none}.smma-log{scroll-behavior:auto}}

/* mobile: a floating card like on desktop (not full screen). With the keyboard open it moves up so the input stays visible. */
@media (max-width:640px){
  body:not(.ef-has-sidebar) .smma-root:not(.smma-kbopen){bottom:calc(10px + env(safe-area-inset-bottom,0px));inset-inline-end:8px}
  .smma-fab{width:36px;height:36px}
  body.ef-has-sidebar .smma-root:not(.smma-kbopen){bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .smma-intro{max-width:200px}
  .smma-panel{width:calc(100vw - 32px);max-width:420px;height:min(600px,calc(100vh - 210px));height:min(600px,calc(100dvh - 210px));min-height:280px;border-radius:20px}
  .smma-form textarea{font-size:16px}
  .smma-btn{padding:11px}
  .smma-card{padding:13px}
  .smma-root.smma-kbopen{bottom:calc(var(--smma-kb,0px) + 8px)}
  .smma-kbopen .smma-fab,.smma-kbopen .smma-intro{display:none}
  .smma-kbopen .smma-panel{bottom:0;height:min(520px,calc(var(--smma-vvh,100dvh) - 16px));min-height:0}
}
.smma-badge.rec{background:#f59e0b;color:#fff}
.smma-card.rec{border-color:#f59e0b}
/* V2 Phase 6: button position chosen by the admin (physical left / right). Desktop only: on mobile the panel is a full-screen sheet. */
@media (min-width:641px){
.smma-root.smma-pl{left:16px;right:auto;inset-inline-end:auto}
.smma-root.smma-pr{right:16px;left:auto;inset-inline-end:auto}
.smma-pl .smma-panel,.smma-pl .smma-intro{left:0;right:auto;inset-inline-end:auto}
.smma-pr .smma-panel,.smma-pr .smma-intro{right:0;left:auto;inset-inline-end:auto}
}

/* V2 Phase 7 - talk to support */
.smma-sup{position:absolute;left:0;right:0;bottom:0;z-index:5;background:var(--smma-bg);border-top:1px solid var(--smma-line);padding:12px;box-shadow:0 -8px 24px rgba(0,0,0,.12);display:flex;flex-direction:column;gap:8px;color:var(--smma-fg)}
.smma-sup[hidden]{display:none}
.smma-sup p{margin:0;font-size:12px;opacity:.75}
.smma-sup textarea{resize:none;padding:9px 12px;border-radius:12px;border:1px solid var(--smma-line);background:var(--smma-soft);color:var(--smma-fg);font:inherit;font-size:13px;outline:0}
.smma-sup textarea:focus{border-color:var(--smma-brand)}
.smma-sup-c{display:flex;gap:8px;align-items:flex-start;font-size:12px;cursor:pointer}
.smma-sup-msg{font-size:12px;padding:8px 10px;border-radius:10px;background:var(--smma-soft)}
.smma-sup-msg[hidden]{display:none}
.smma-sup-msg.err{color:var(--smma-err)}
.smma-sup-msg a{color:var(--smma-brand);font-weight:600;margin-inline-start:6px}
.smma-sup-b{display:flex;gap:8px}
.smma-sup-go{font:inherit;font-size:13px;font-weight:600;padding:8px 14px;border-radius:10px;border:0;background:var(--smma-grad);color:#fff;cursor:pointer}
.smma-sup-go:disabled{opacity:.6;cursor:default}
.smma-sup-no{font:inherit;font-size:13px;padding:8px 14px;border-radius:10px;border:1px solid var(--smma-line);background:transparent;color:var(--smma-fg);cursor:pointer}

/* Order focus: "opening your order" notice (auto-redirect with a cancel option) */
.smma-go{align-self:flex-start;margin-inline-start:36px;max-width:calc(100% - 36px);display:flex;flex-direction:column;gap:7px;width:260px}
.smma-go .smma-btns{margin:0}
.smma-go-bar{height:3px;border-radius:99px;background:var(--smma-line);overflow:hidden}
.smma-go-bar i{display:block;height:100%;width:0;background:var(--smma-brand);animation:smmaGo var(--smma-go-ms,1600ms) linear forwards}
.smma-go.stop .smma-go-bar i{animation:none}
@keyframes smmaGo{to{width:100%}}
.smma-go-stay{align-self:flex-start;background:transparent;border:0;padding:0;font:inherit;font-size:11.5px;color:var(--smma-mute);cursor:pointer;text-decoration:underline}
.smma-go-stay:hover{color:var(--smma-fg)}
.smma-msg.ord{border-color:var(--smma-brand);box-shadow:0 0 0 1px var(--smma-brand) inset}
@media (prefers-reduced-motion:reduce){.smma-go-bar i{animation-duration:1ms}}
/* custom assistant icon (image replaces the old glyph, same footprint) */
.smma-ico{display:block;object-fit:contain;border-radius:22%;pointer-events:none;user-select:none;-webkit-user-drag:none}
.smma-fab .smma-ico{width:40px;height:40px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.28))}
.smma-head-ico .smma-ico{width:22px;height:22px}
.smma-av .smma-ico{width:16px;height:16px}

/* order rows inside the chat: number + date + live status */
.smma-ords{align-self:flex-start;margin-inline-start:36px;max-width:calc(100% - 36px);width:100%;display:flex;flex-direction:column;gap:6px}
.smma-ordrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 11px;border:1px solid var(--smma-line);border-radius:12px;background:var(--smma-bot);color:var(--smma-fg)}
.smma-ordid{font-size:13px}
.smma-orddate{flex:1;min-width:90px;font-size:11.5px;color:var(--smma-mute)}
.smma-ordst{font-size:11px;font-weight:600;padding:2px 10px;border-radius:999px;border:1px solid currentColor;white-space:nowrap}
.st-completed{color:var(--smma-ok)}.st-processing{color:var(--smma-info)}.st-pending{color:var(--smma-warn)}
.st-cancelled,.st-rejected{color:var(--smma-err)}.st-partial,.st-refunded,.st-other{color:var(--smma-mute)}
.smma-ordrow.flash{animation:smmaFlash 1.6s ease-out}
@keyframes smmaFlash{0%{box-shadow:0 0 0 3px rgb(var(--ef-a500,40 203 105)/.55)}100%{box-shadow:0 0 0 0 rgb(var(--ef-a500,40 203 105)/0)}}
.smma-ordauto{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--smma-mute);padding:0 2px}
.smma-ordauto i{width:7px;height:7px;border-radius:50%;background:var(--smma-ok);animation:smmaBlink 1.6s infinite}
@media (prefers-reduced-motion:reduce){.smma-ordrow.flash,.smma-ordauto i{animation:none}}

/* quick buttons row: always visible above the input, scrolls sideways when it does not fit */
.smma-quick{display:flex;gap:6px;overflow-x:auto;padding:8px 12px 0;background:var(--smma-bg);border-top:1px solid var(--smma-line);scrollbar-width:none}
.smma-quick::-webkit-scrollbar{display:none}
.smma-quick[hidden]{display:none}
.smma-q{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;border:1px solid rgb(var(--ef-a500,40 203 105)/.4);background:var(--smma-soft);color:var(--smma-fg);cursor:pointer;white-space:nowrap}
.smma-q i{font-size:11px;color:var(--smma-brand)}
.smma-q:hover{border-color:var(--smma-brand);color:var(--smma-brand)}
.smma-q:focus-visible{outline:2px solid var(--smma-brand);outline-offset:2px}
.smma-quick:not([hidden])+.smma-form,.smma-try:not([hidden])+.smma-quick+.smma-form{border-top:0;padding-top:8px}
.smma-try:not([hidden])+.smma-quick{border-top:0;padding-top:6px}

/* voice typing (smm-assistant-voice.js): mic + AR/EN chip between the input and Send; hidden when the browser has no speech recognition */
.smma-mic,.smma-miclang{flex:0 0 auto;border:1.5px solid rgb(var(--ef-a500,40 203 105)/.4);background:var(--smma-soft);color:var(--smma-brand);cursor:pointer;font:inherit}
.smma-mic[hidden],.smma-miclang[hidden]{display:none}
.smma-mic{width:42px;height:42px;border-radius:50%;font-size:16px;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s}
.smma-mic:hover{border-color:rgb(var(--ef-a500,40 203 105)/.85)}
.smma-mic.on{background:#dc2626;border-color:#dc2626;color:#fff;animation:smmaMicPulse 1.3s ease-out infinite}
.smma-miclang{height:42px;min-width:38px;padding:0 8px;border-radius:21px;font-size:12px;font-weight:600;letter-spacing:.3px;color:var(--smma-mute)}
.smma-miclang:hover{color:var(--smma-brand);border-color:rgb(var(--ef-a500,40 203 105)/.85)}
.smma-mic:focus-visible,.smma-miclang:focus-visible{outline:2px solid var(--smma-brand);outline-offset:2px}
@keyframes smmaMicPulse{0%{box-shadow:0 0 0 0 rgba(220,38,38,.5)}100%{box-shadow:0 0 0 12px rgba(220,38,38,0)}}
@media (prefers-reduced-motion:reduce){.smma-mic.on{animation:none}}
/* Smart Assistant Phase 08: match line on the service card */
.smma-match{font-size:11.5px;font-weight:600;margin:-3px 0 8px;line-height:1.4}
.smma-match.exact{color:var(--smma-ok)}
.smma-match.partial{color:var(--smma-warn)}
.smma-match.alt{color:var(--smma-mute)}
.smma-match small{display:block;font-size:11px;font-weight:500;color:var(--smma-mute)}

/* launcher animation: gentle float + a small wiggle every few seconds, only on the icon image. Stops while the chat is open. */
@keyframes smmaIdle{0%,100%{transform:translateY(0)}25%{transform:translateY(-4px)}50%{transform:translateY(0)}75%{transform:translateY(-4px) scale(1)}82%{transform:translateY(-4px) scale(1.14) rotate(-6deg)}90%{transform:translateY(-4px) scale(1.08) rotate(5deg)}96%{transform:translateY(0) scale(1) rotate(0)}}
.smma-fab .smma-ico{animation:smmaIdle 6s ease-in-out infinite}
.smma-fab[aria-expanded="true"] .smma-ico,.smma-fab:hover .smma-ico{animation:none}
@media (prefers-reduced-motion:reduce){.smma-fab .smma-ico{animation:none}}
.dark .smma-fab .smma-ico{filter:drop-shadow(0 0 10px rgba(40,203,105,.35)) drop-shadow(0 3px 8px rgba(0,0,0,.5))}
