/* HYPER CUT — WhatsApp button + the site assistant, docked bottom-left (the reading end in RTL). */

.dock{position:fixed;bottom:22px;inset-inline-end:22px;z-index:90;display:grid;gap:12px;justify-items:center}
.dock-wa{position:relative;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#0A2418;border:1px solid rgba(37,211,102,.5);color:#25D366;
  box-shadow:0 12px 28px -12px rgba(37,211,102,.7);transition:transform .2s,background .2s,color .2s}
.dock-wa:hover{transform:translateY(-2px);background:#25D366;color:#fff}
.dock-wa svg{width:24px;height:24px}
.dock-wa::after{content:"";position:absolute;top:8px;inset-inline-end:8px;width:8px;height:8px;border-radius:50%;background:#25D366;box-shadow:0 0 0 2px #0A2418}
.dock-wa:hover::after{background:#fff;box-shadow:0 0 0 2px #25D366}
.dock-btn{position:relative;width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:#0F0059;border:1px solid rgba(var(--accent-rgb),.8);
  box-shadow:0 14px 34px -10px rgba(var(--accent-rgb),.9);transition:transform .2s,border-radius .3s}
.dock-btn:hover{transform:translateY(-2px)}
.dock-btn .mk{font:700 15px var(--f-mono);color:#fff;direction:ltr;letter-spacing:.5px}
.dock-btn .mk b{color:var(--accent-hi)}
.dock-btn::before{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px dashed rgba(157,146,255,.55);animation:spin 14s linear infinite}
.dock-btn::after{content:"";position:absolute;top:-10px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#C9C3FF;box-shadow:0 0 8px #C9C3FF;
  transform-origin:3px 43px;animation:spin 6s linear infinite}
.dock-btn .x{display:none;color:#fff}
.dock-btn .x svg{width:22px;height:22px}
.dock.open .dock-btn .mk{display:none}
.dock.open .dock-btn .x{display:block}
.dock.open .dock-btn::before,.dock.open .dock-btn::after{display:none}
.dock-badge{position:absolute;top:-6px;inset-inline-end:-6px;min-width:20px;height:20px;border-radius:10px;background:#E0716C;color:#fff;font:700 11px/20px var(--f-mono);text-align:center;z-index:1}
.dock-hint{position:absolute;bottom:8px;inset-inline-end:76px;white-space:nowrap;padding:10px 14px;border-radius:12px;background:#fff;color:#120F2A;font-size:14px;font-weight:600;
  box-shadow:0 12px 30px -10px rgba(0,0,0,.6);opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .3s;pointer-events:none}
.dock-hint.on{opacity:1;transform:none}

.asst{position:fixed;bottom:96px;inset-inline-end:22px;z-index:91;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 130px));display:flex;flex-direction:column;
  border-radius:16px;overflow:hidden;background:#121212;border:1px solid #2E2C3D;box-shadow:0 40px 90px -30px rgba(0,0,0,.9),0 0 0 1px rgba(0,0,0,.5);
  opacity:0;transform:translateY(14px) scale(.98);transform-origin:bottom left;pointer-events:none;transition:opacity .25s,transform .3s var(--ease-out)}
.asst.on{opacity:1;transform:none;pointer-events:auto}
.asst-bar{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#1C1C22;border-bottom:1px solid #2B2B2B}
.asst-bar .dots{display:flex;gap:5px;direction:ltr}
.asst-bar .dots i{width:9px;height:9px;border-radius:50%;background:#3A3946}
.asst-bar .dots i:first-child{background:#E0716C}.asst-bar .dots i:nth-child(2){background:#E8B04B}.asst-bar .dots i:nth-child(3){background:#45D483}
.asst-id{flex:1;display:flex;align-items:center;gap:10px;min-width:0}
.asst-id .mark{width:30px;height:30px;font-size:11px}
.asst-id b{display:block;font-size:14.5px;color:#fff}
.asst-id small{display:flex;align-items:center;gap:6px;color:#9A99A8;font-size:12px}
.asst-id small::before{content:"";width:7px;height:7px;border-radius:50%;background:#45D483}
.asst-close{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#9A99A8}
.asst-close:hover{background:rgba(255,255,255,.06);color:#fff}
.asst-close svg{width:16px;height:16px}
.asst-log{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:#333 transparent;
  background-image:radial-gradient(rgba(157,146,255,.08) 1px,transparent 1px);background-size:18px 18px}
.msg{max-width:86%;padding:10px 13px;border-radius:14px;font-size:14.5px;line-height:1.85;white-space:pre-line;animation:msgIn .25s var(--ease-out)}
.msg.bot{align-self:flex-start;background:#1B1B1F;border:1px solid #2B2B2B;color:#ECECF1;border-start-start-radius:4px}
.msg.me{align-self:flex-end;background:var(--accent);color:#fff;border-start-end-radius:4px}
.msg .acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.msg .acts a{height:30px;padding:0 12px;border-radius:8px;display:inline-flex;align-items:center;background:rgba(15,0,89,.85);border:1px solid rgba(var(--accent-rgb),.6);color:#fff;font-size:13px;font-weight:600}
.msg .acts a:hover{background:var(--accent)}
.typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;border-radius:14px;background:#1B1B1F;border:1px solid #2B2B2B}
.typing i{width:6px;height:6px;border-radius:50%;background:#9A99A8;animation:typ 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes typ{0%,100%{opacity:.3;transform:none}50%{opacity:1;transform:translateY(-3px)}}
@keyframes msgIn{from{opacity:0;transform:translateY(6px)}}
.asst-chips{display:flex;flex-wrap:wrap;gap:6px;max-height:124px;overflow-y:auto;padding:10px 14px;border-top:1px solid #2B2B2B;scrollbar-width:thin;scrollbar-color:#3A3460 transparent}
.asst-chips button{flex:0 0 auto;height:32px;padding:0 12px;border-radius:999px;border:1px solid rgba(var(--accent-rgb),.5);background:rgba(15,0,89,.55);color:#D6D5DE;font-size:13px;font-weight:600;white-space:nowrap}
.asst-chips button:hover{background:var(--accent);color:#fff}
.asst-form{display:flex;gap:8px;padding:10px 14px 12px;background:#161616}
.asst-form input{flex:1;min-width:0;height:44px;padding:0 14px;border-radius:12px;background:#0F0F12;border:1px solid #36363E;color:#fff;font-size:14.5px}
.asst-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.2)}
.asst-form button{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--accent);color:#fff;flex:0 0 auto}
.asst-form button svg{width:18px;height:18px;transform:scaleX(-1)}
.asst-foot{padding:0 14px 12px;background:#161616;display:flex;justify-content:space-between;align-items:center;color:#6C6B78;font-size:12px}
.asst-foot a{color:#8BE8B2;font-weight:600}
@media (max-width:520px){.dock{bottom:14px;inset-inline-end:14px}.asst{bottom:86px;inset-inline-end:16px}}
/* phones: smaller buttons tucked into the corner, so they cover less of the page */
@media (max-width:560px){
  .dock{bottom:14px;inset-inline-end:12px;gap:10px}
  .dock-wa{width:44px;height:44px;border-radius:13px}.dock-wa svg{width:21px;height:21px}
  .dock-btn{width:50px;height:50px;border-radius:15px}
  .dock-hint{inset-inline-end:62px;font-size:13px;padding:8px 12px}
  .asst{bottom:84px;inset-inline-end:12px}
}
