/* EBON — contact widget (floating). Self-contained, no external assets.
   2026-10-29. Scoped under .cw so it never touches page styles. */

.cw{position:fixed;right:22px;bottom:22px;z-index:2147480000;font-family:var(--font,"Inter","Helvetica Neue",Arial,sans-serif)}

/* ---------- launcher ---------- */
.cw-launch{
  position:relative;width:58px;height:58px;border-radius:50%;
  border:0;padding:0;cursor:pointer;
  background:var(--accent,#8a5f2f);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 14px rgba(20,24,28,.18),0 16px 40px rgba(20,24,28,.22);
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.cw-launch:hover{transform:translateY(-2px);background:var(--accent-ink,#6d4a22);box-shadow:0 8px 18px rgba(20,24,28,.22),0 20px 48px rgba(20,24,28,.26)}
.cw-launch:focus-visible{outline:3px solid #b98d55;outline-offset:3px}
.cw-launch svg{width:26px;height:26px;display:block;transition:opacity .16s ease,transform .22s ease}
.cw-launch .cw-ico-close{position:absolute;opacity:0;transform:rotate(-90deg) scale(.7)}
.cw[data-open="true"] .cw-launch .cw-ico-chat{opacity:0;transform:rotate(90deg) scale(.7)}
.cw[data-open="true"] .cw-launch .cw-ico-close{opacity:1;transform:none}

/* online dot */
.cw-dot{
  position:absolute;right:1px;bottom:1px;width:14px;height:14px;border-radius:50%;
  background:#25d366;border:2.5px solid #fff;
}
.cw-dot::after{
  content:"";position:absolute;inset:-3px;border-radius:50%;
  border:2px solid rgba(37,211,102,.55);
  animation:cw-pulse 2.4s ease-out 3;
}
@keyframes cw-pulse{0%{transform:scale(.7);opacity:.9}70%{transform:scale(1.9);opacity:0}100%{opacity:0}}

/* ---------- panel ---------- */
.cw-panel{
  position:absolute;right:0;bottom:74px;width:344px;max-width:calc(100vw - 44px);
  background:#fff;border-radius:12px;overflow:hidden;
  border:1px solid rgba(20,24,28,.08);
  box-shadow:0 2px 6px rgba(20,24,28,.06),0 24px 60px rgba(20,24,28,.22);
  opacity:0;transform:translateY(10px) scale(.985);pointer-events:none;
  transition:opacity .2s ease,transform .22s cubic-bezier(.22,.61,.36,1);
  transform-origin:bottom right;
}
.cw[data-open="true"] .cw-panel{opacity:1;transform:none;pointer-events:auto}

.cw-head{
  background:linear-gradient(150deg,#1b2126 0%,#14181c 100%);
  color:#fff;padding:18px 20px 17px;position:relative;
}
.cw-head::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 90% at 100% 0%,rgba(138,95,47,.42) 0%,transparent 62%);
}
.cw-head-top{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative}
.cw-brand{font-weight:700;letter-spacing:.16em;font-size:.86rem}
.cw-brand span{display:block;font-weight:400;letter-spacing:.06em;font-size:.62rem;color:rgba(255,255,255,.56);text-transform:uppercase;margin-top:3px}
.cw-close{
  background:rgba(255,255,255,.1);border:0;color:#fff;width:26px;height:26px;border-radius:50%;
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex:none;
  transition:background .16s ease;
}
.cw-close:hover{background:rgba(255,255,255,.22)}
.cw-close svg{width:13px;height:13px}
.cw-status{
  display:flex;align-items:center;gap:7px;margin-top:13px;
  font-size:.76rem;color:rgba(255,255,255,.82);position:relative;
}
.cw-status i{width:7px;height:7px;border-radius:50%;background:#25d366;flex:none;box-shadow:0 0 0 3px rgba(37,211,102,.18)}

/* ---------- channels ---------- */
.cw-list{padding:7px 8px 4px}
.cw-item{
  display:flex;align-items:center;gap:13px;padding:11px 12px;border-radius:8px;
  text-decoration:none;color:inherit;transition:background .15s ease;
}
.cw-item:hover,.cw-item:focus-visible{background:#f7f5f1;outline:none}
.cw-ava{
  width:38px;height:38px;border-radius:50%;flex:none;
  display:flex;align-items:center;justify-content:center;
  background:#efece6;color:#14181c;
}
.cw-ava svg{width:18px;height:18px}
.cw-item[data-ch="wa"] .cw-ava{background:#e7f9ed;color:#128c4a}
.cw-item[data-ch="mail"] .cw-ava{background:#eef2f7;color:#2b4b6f}
.cw-item[data-ch="tel"] .cw-ava{background:#f4efe6;color:#8a5f2f}
.cw-item[data-ch="quote"] .cw-ava{background:#14181c;color:#fff}
.cw-txt{min-width:0;flex:1}
.cw-txt b{display:block;font-size:.875rem;font-weight:600;line-height:1.3;color:#14181c}
.cw-txt small{display:block;font-size:.755rem;color:#6b7680;line-height:1.35;margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cw-arrow{flex:none;color:#b3aea6;transition:transform .16s ease,color .16s ease}
.cw-arrow svg{width:14px;height:14px;display:block}
.cw-item:hover .cw-arrow{color:#14181c;transform:translateX(2px)}

.cw-foot{
  border-top:1px solid #efece6;padding:11px 20px 13px;
  font-size:.72rem;color:#8b857c;line-height:1.5;background:#fcfbf9;
}
.cw-foot b{color:#3b4650;font-weight:600}

/* ---------- mobile: bottom sheet ---------- */
@media (max-width:560px){
  .cw{right:16px;bottom:16px}
  .cw-launch{width:54px;height:54px}
  .cw-panel{
    position:fixed;left:0;right:0;bottom:0;width:100%;max-width:100%;
    border-radius:14px 14px 0 0;padding-bottom:env(safe-area-inset-bottom,0);
    transform:translateY(100%);
  }
  .cw[data-open="true"] .cw-panel{transform:none}
  .cw[data-open="true"] .cw-launch{transform:scale(.92)}
}

@media (prefers-reduced-motion:reduce){
  .cw-launch,.cw-panel,.cw-arrow{transition:none}
  .cw-dot::after{animation:none}
}

/* Arabic / RTL */
html[dir="rtl"] .cw{right:auto;left:22px}
html[dir="rtl"] .cw-panel{right:auto;left:0;transform-origin:bottom left}
html[dir="rtl"] .cw-item:hover .cw-arrow{transform:translateX(-2px)}
html[dir="rtl"] .cw-arrow svg{transform:scaleX(-1)}
@media (max-width:560px){
  html[dir="rtl"] .cw{left:16px;right:auto}
  html[dir="rtl"] .cw-panel{left:0;right:0}
}
