.fcb-root{--fcb-c1:#0ea5e9;--fcb-c2:#2563eb;--fcb-grad:linear-gradient(135deg,var(--fcb-c1),var(--fcb-c2));font-family:inherit;line-height:1.6}
.fcb-root *,.fcb-root *::before,.fcb-root *::after{box-sizing:border-box}
.fcb-root svg{display:block;flex:none}
.fcb-root button{font-family:inherit}

/* ---------- Floating button (desktop) ---------- */
.fcb-fab{position:fixed;bottom:26px;z-index:99990;display:flex;align-items:center;gap:0;height:60px;padding:0;border:0;border-radius:999px;background:var(--fcb-grad);color:#fff;cursor:pointer;box-shadow:0 12px 30px -8px var(--fcb-c2);transition:transform .25s ease,box-shadow .25s ease}
.fcb-pos-left .fcb-fab{left:26px;flex-direction:row-reverse}
.fcb-pos-right .fcb-fab{right:26px}
.fcb-fab-icon{position:relative;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%}
.fcb-fab-icon::before,.fcb-fab-icon::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--fcb-c1);animation:fcb-ring 2.4s ease-out infinite;pointer-events:none}
.fcb-fab-icon::after{animation-delay:1.2s}
.fcb-fab-icon svg{animation:fcb-shake 3s ease-in-out infinite}
.fcb-fab-label{max-width:0;overflow:hidden;white-space:nowrap;font-size:15px;font-weight:700;opacity:0;transition:max-width .35s ease,opacity .25s ease,padding .35s ease}
.fcb-fab:hover,.fcb-fab:focus-visible{transform:translateY(-3px);box-shadow:0 18px 36px -10px var(--fcb-c2);outline:none}
.fcb-fab:hover .fcb-fab-label,.fcb-fab:focus-visible .fcb-fab-label{max-width:180px;opacity:1;padding:0 6px 0 20px}
.fcb-pos-right .fcb-fab:hover .fcb-fab-label,.fcb-pos-right .fcb-fab:focus-visible .fcb-fab-label{padding:0 20px 0 6px}

@keyframes fcb-ring{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}
@keyframes fcb-shake{0%,70%,100%{transform:rotate(0)}74%{transform:rotate(-14deg)}78%{transform:rotate(12deg)}82%{transform:rotate(-10deg)}86%{transform:rotate(8deg)}90%{transform:rotate(0)}}

/* ---------- Modal ---------- */
.fcb-modal{position:fixed;inset:0;z-index:99995;display:flex;align-items:center;justify-content:center;padding:16px}
.fcb-modal[hidden]{display:none}
.fcb-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;transition:opacity .25s ease}
.fcb-card{position:relative;width:100%;max-width:380px;padding:26px 24px 22px;border-radius:22px;background:#fff;color:#0f172a;text-align:right;box-shadow:0 30px 70px -20px rgba(15,23,42,.45);opacity:0;transform:translateY(24px) scale(.97);transition:opacity .28s ease,transform .28s cubic-bezier(.2,.9,.3,1.2);overflow:hidden}
.fcb-card::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--fcb-grad)}
.fcb-modal.fcb-open .fcb-backdrop{opacity:1}
.fcb-modal.fcb-open .fcb-card{opacity:1;transform:none}
.fcb-close{position:absolute;top:14px;left:14px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:10px;background:#f1f5f9;color:#475569;cursor:pointer;transition:background .2s}
.fcb-close:hover{background:#e2e8f0;color:#0f172a}
.fcb-head{display:flex;align-items:center;gap:14px;margin:4px 0 14px;padding-left:40px}
.fcb-head-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:var(--fcb-grad);color:#fff;flex:none}
.fcb-head h3{margin:0 0 2px;font-size:19px;font-weight:800;color:#0f172a;line-height:1.4}
.fcb-online{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#16a34a;font-weight:600}
.fcb-online i{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:fcb-dot 1.8s infinite}
@keyframes fcb-dot{70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.fcb-text{margin:0 0 16px;font-size:14px;color:#64748b;line-height:1.9}
.fcb-number{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;padding:10px 10px 10px 16px;border:1.5px dashed #cbd5e1;border-radius:14px;background:#f8fafc}
.fcb-number a{order:2;font-size:22px;font-weight:800;letter-spacing:1px;color:#0f172a;text-decoration:none}
.fcb-copy{order:1;display:flex;align-items:center;gap:6px;padding:8px 12px;border:0;border-radius:10px;background:#fff;color:#334155;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 1px 3px rgba(15,23,42,.12);transition:color .2s,background .2s}
.fcb-copy:hover{color:var(--fcb-c2)}
.fcb-copy.fcb-copied{background:#dcfce7;color:#15803d}
.fcb-actions{display:flex;gap:10px}
.fcb-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 16px;border-radius:14px;font-size:15px;font-weight:700;text-decoration:none!important;transition:transform .2s,filter .2s}
.fcb-btn svg{width:20px;height:20px}
.fcb-btn:hover{transform:translateY(-2px);filter:brightness(1.05)}
.fcb-btn-call{background:var(--fcb-grad);color:#fff!important;box-shadow:0 10px 24px -10px var(--fcb-c2)}
.fcb-btn-wa{flex:0 0 auto;background:#ecfdf5;color:#16a34a!important}

/* ---------- Mobile bar ---------- */
.fcb-bar{position:fixed;left:12px;right:12px;bottom:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:99990;display:none;gap:8px;transform:translateY(140%);transition:transform .45s cubic-bezier(.2,.9,.3,1.1)}
.fcb-bar.fcb-show{transform:none}
.fcb-bar-call{flex:1;display:flex;align-items:center;gap:10px;min-height:62px;padding:8px 8px 8px 16px;border-radius:20px;background:var(--fcb-grad);color:#fff!important;text-decoration:none!important;box-shadow:0 14px 30px -12px var(--fcb-c2)}
.fcb-bar-icon{position:relative;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:15px;background:rgba(255,255,255,.2);flex:none}
.fcb-bar-icon svg{width:22px;height:22px;animation:fcb-shake 3s ease-in-out infinite}
.fcb-bar-text{flex:1;display:flex;flex-direction:column;line-height:1.35;min-width:0;white-space:nowrap}
.fcb-bar-text strong{font-size:15px;font-weight:800;color:#fff;overflow:hidden;text-overflow:ellipsis}
.fcb-bar-text small{font-size:11.5px;opacity:.85;color:#fff;overflow:hidden;text-overflow:ellipsis}
.fcb-bar-num{flex:none;padding:6px 10px;border-radius:12px;background:rgba(255,255,255,.16);font-size:14px;font-weight:800;letter-spacing:.3px;white-space:nowrap;color:#fff}
.fcb-bar-call{min-width:0}
.fcb-bar-wa{flex:none;display:flex;align-items:center;justify-content:center;width:62px;border-radius:20px;background:#22c55e;color:#fff!important;box-shadow:0 14px 30px -12px #16a34a}
.fcb-bar-wa svg{width:28px;height:28px}

/* ---------- Responsive switching ---------- */
@media (max-width:767px){
	.fcb-has-mobile .fcb-fab,.fcb-has-mobile .fcb-modal{display:none!important}
	.fcb-has-mobile .fcb-bar{display:flex}
	body.fcb-pad{padding-bottom:calc(86px + env(safe-area-inset-bottom))!important}
	.fcb-fab{bottom:16px}
	.fcb-pos-left .fcb-fab{left:16px}
	.fcb-pos-right .fcb-fab{right:16px}
}
@media (max-width:420px){
	.fcb-with-wa .fcb-bar-num{display:none}
}
@media (max-width:340px){
	.fcb-bar-num{display:none}
}
@media (prefers-reduced-motion:reduce){
	.fcb-root *,.fcb-root *::before,.fcb-root *::after{animation:none!important;transition:none!important}
}
