.spchat{ position:fixed; right:20px; bottom:20px; z-index:99998; font-family:"Manrope",-apple-system,"Segoe UI",Arial,sans-serif; }
.spchat[hidden]{ display:none; }
.spchat *{ box-sizing:border-box; }

.spchat-fab{ position:absolute; right:0; bottom:0; width:58px; height:58px; border-radius:50%; border:none; cursor:pointer; background:var(--spc-accent,#1e3a44); color:#fff; box-shadow:0 10px 28px -8px rgba(20,40,50,.5); display:flex; align-items:center; justify-content:center; transition:transform .18s; }
.spchat-fab:hover{ transform:scale(1.05); }
.spchat-fab svg{ width:26px; height:26px; }
.spchat-fab .spc-i-close{ display:none; }
.spchat.open .spchat-fab .spc-i-chat{ display:none; }
.spchat.open .spchat-fab .spc-i-close{ display:block; }

.spchat-panel{ position:absolute; right:0; bottom:72px; width:380px; max-width:calc(100vw - 32px); height:560px; max-height:calc(100vh - 120px); background:#fff; border-radius:20px; border:1px solid #e3e9ec; box-shadow:0 24px 60px -16px rgba(20,40,50,.4); display:flex; flex-direction:column; overflow:hidden; opacity:0; transform:translateY(14px) scale(.98); pointer-events:none; transition:opacity .22s,transform .22s; }
.spchat.open .spchat-panel{ opacity:1; transform:none; pointer-events:auto; }

.spchat-head{ background:var(--spc-accent,#1e3a44); color:#fff; padding:15px 16px; display:flex; align-items:center; justify-content:space-between; }
.spchat-head-l{ display:flex; align-items:center; gap:11px; }
.spchat-dot{ width:9px; height:9px; border-radius:50%; background:#5fd08a; box-shadow:0 0 0 3px rgba(95,208,138,.25); flex:none; }
.spchat-head strong{ font-size:15px; font-weight:800; display:block; }
.spchat-head em{ font-style:normal; font-size:11.5px; opacity:.8; }
.spchat-min{ background:transparent; border:none; color:#fff; cursor:pointer; padding:4px; opacity:.85; } .spchat-min svg{ width:20px; height:20px; }

.spchat-msgs{ flex:1; overflow-y:auto; padding:18px 16px; display:flex; flex-direction:column; gap:12px; background:#f4f6f7; }
.spc-msg{ max-width:84%; padding:11px 14px; border-radius:15px; font-size:14px; line-height:1.5; white-space:pre-wrap; word-wrap:break-word; }
.spc-msg.bot{ align-self:flex-start; background:#fff; color:#22343c; border:1px solid #e3e9ec; border-bottom-left-radius:5px; }
.spc-msg.user{ align-self:flex-end; background:var(--spc-accent,#1e3a44); color:#fff; border-bottom-right-radius:5px; }
.spc-typing{ align-self:flex-start; background:#fff; border:1px solid #e3e9ec; border-radius:15px; padding:13px 16px; display:flex; gap:5px; }
.spc-typing span{ width:7px; height:7px; border-radius:50%; background:#9bb0b8; animation:spcb 1.1s infinite; }
.spc-typing span:nth-child(2){ animation-delay:.18s; } .spc-typing span:nth-child(3){ animation-delay:.36s; }
@keyframes spcb{ 0%,60%,100%{ transform:translateY(0); opacity:.5; } 30%{ transform:translateY(-5px); opacity:1; } }

.spc-card{ align-self:flex-start; max-width:84%; display:flex; gap:11px; padding:10px; background:#fff; border:1px solid #e3e9ec; border-radius:15px; text-decoration:none; }
.spc-card-img{ width:56px; height:56px; flex:none; border-radius:10px; border:1px solid #eef0f1; background:#fff; object-fit:contain; padding:4px; }
.spc-card-b{ display:flex; flex-direction:column; justify-content:center; min-width:0; }
.spc-card-name{ font-size:13.5px; font-weight:700; color:#1e3a44; line-height:1.25; }
.spc-card-price{ font-size:12.5px; color:#52666e; margin-top:2px; }
.spc-card-cta{ font-size:12px; font-weight:700; color:var(--spc-accent,#1e3a44); margin-top:4px; }

.spchat-form{ display:flex; gap:8px; padding:12px; border-top:1px solid #e3e9ec; background:#fff; }
.spchat-input{ flex:1; border:1px solid #d8e0e4; border-radius:999px; padding:11px 16px; font-size:14px; font-family:inherit; outline:none; }
.spchat-input:focus{ border-color:var(--spc-accent,#1e3a44); }
.spchat-send{ width:42px; height:42px; flex:none; border:none; border-radius:50%; background:var(--spc-accent,#1e3a44); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.spchat-send svg{ width:18px; height:18px; }
.spchat-send:disabled{ opacity:.5; cursor:default; }
.spchat-foot{ font-size:10.5px; color:#90a3ab; text-align:center; padding:0 12px 10px; background:#fff; }

@media(max-width:480px){
	.spchat{ right:14px; bottom:14px; }
	.spchat-panel{ bottom:70px; height:70vh; }
}
