.stw-contact-dock { position:fixed; right:14px; bottom:76px; z-index:1200; font-family:inherit; }
.stw-contact-launcher { position:relative; z-index:2; width:48px; height:48px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; background:#0068ff; color:#fff; box-shadow:0 8px 22px rgba(0,63,153,.28); cursor:pointer; transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.stw-contact-launcher:hover { background:#005bd8; box-shadow:0 10px 26px rgba(0,63,153,.34); }
.stw-contact-launcher:focus-visible { outline:3px solid rgba(0,104,255,.3); outline-offset:3px; }
.stw-contact-launcher svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.stw-contact-launcher__close { display:none; }
.stw-contact-dock.is-open .stw-contact-launcher { background:#e11832; transform:rotate(90deg); }
.stw-contact-dock.is-open .stw-contact-launcher__chat { display:none; }
.stw-contact-dock.is-open .stw-contact-launcher__close { display:block; }
.stw-contact-backdrop { position:fixed; z-index:0; inset:0; background:rgba(7,18,33,.52); backdrop-filter:blur(1px); }
.stw-contact-menu { position:absolute; z-index:1; right:0; bottom:60px; width:max-content; display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
.stw-contact-menu[hidden],.stw-contact-backdrop[hidden] { display:none!important; }
.stw-contact-option { min-height:48px; display:flex; align-items:center; justify-content:flex-end; gap:10px; color:#fff; text-decoration:none; }
.stw-contact-option__label { min-height:36px; display:flex; align-items:center; padding:0 12px; border-radius:18px; background:#fff; color:#17324b; font-size:13px; font-weight:800; white-space:nowrap; box-shadow:0 5px 16px rgba(4,24,47,.22); }
.stw-contact-option__icon { width:48px; height:48px; display:grid; place-items:center; flex:0 0 48px; border-radius:50%; color:#fff; box-shadow:0 6px 18px rgba(4,24,47,.24); }
.stw-contact-option__icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.stw-contact-option--phone .stw-contact-option__icon { background:#f5a400; }
.stw-contact-option--zalo .stw-contact-option__icon { background:#0068ff; }
.stw-contact-option--email .stw-contact-option__icon { background:#07945c; }
.stw-contact-option__icon--word { font-size:12px; font-weight:900; letter-spacing:-.4px; }
.stw-contact-option:hover .stw-contact-option__label { color:#0068ff; }
.stw-contact-option:focus-visible { outline:3px solid rgba(255,255,255,.7); outline-offset:3px; border-radius:24px; }
body.stw-contact-open { overflow:hidden; }

@media (min-width:761px) {
  .stw-contact-dock { right:24px; bottom:24px; }
}

@media (max-width:760px) {
  body.product-detail-variant-b .stw-contact-launcher { display:none; }
  body.product-detail-variant-b .stw-contact-dock { right:7px; bottom:66px; }
  body.product-detail-variant-b .stw-contact-dock.is-open .stw-contact-launcher { display:grid; }
  .stw-contact-option,.stw-contact-launcher { min-width:48px; min-height:48px; }
}

@media (prefers-reduced-motion:reduce) {
  .stw-contact-launcher { transition:none; }
}
