.website-chat-launcher {
  position: fixed; left: calc(var(--sbar-w, 52px) + 14px); bottom: 18px; z-index: 9998;
  display: grid; place-items: center; width: 54px; height: 54px; padding: 0;
  border: 1px solid #ffffff45; border-radius: 50%; background: #086f64; color: #fff;
  box-shadow: 0 5px 18px #12312f40; cursor: pointer;
}
.website-chat-launcher:hover { background: #075d55; }
.website-chat-launcher:focus-visible { outline: 3px solid #29b9a5; outline-offset: 3px; }
.website-chat-launcher svg { width: 27px; height: 27px; }
.website-chat-indicator {
  position: absolute; top: 1px; right: 1px; width: 13px; height: 13px;
  border: 2px solid #fff; border-radius: 50%; background: #2fd768;
}
@media (max-width: 768px) {
  .website-chat-launcher { left: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); }
  body:has(.pdp-mobile-buybar) .website-chat-launcher { bottom: calc(72px + env(safe-area-inset-bottom)); }
}
.website-chat {
  position: fixed; inset: auto auto 20px calc(var(--sbar-w, 52px) + 14px); margin: 0;
  width: min(380px, calc(100% - 40px)); max-height: calc(100dvh - 40px);
  border: 0; padding: 0; border-radius: 20px; color: #14272d;
  background: #fff; box-shadow: 0 16px 55px #15292e40; overflow: auto;
}
.website-chat::backdrop { background: #10232c24; }
.website-chat [hidden] { display: none !important; }
.website-chat-header { display: flex; align-items: center; gap: 12px; padding: 16px; background: #086f64; color: #fff; }
.website-chat-header h2, .website-chat-header p { margin: 0; color: inherit; }
.website-chat-header h2 { font-size: 16px; }
.website-chat-header p { margin-top: 3px; font-size: 12px; }
.website-chat-brand { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #ffffff29; }
.website-chat-brand svg { width: 21px; height: 21px; }
.website-chat-close { margin-left: auto; width: 36px; height: 36px; border: 0; background: transparent; color: inherit; font-size: 25px; cursor: pointer; }
.website-chat-body { display: grid; gap: 9px; padding: 14px 16px; background: #f4f8f7; }
.website-chat-body label { font-weight: 700; }
.website-chat-body small, .website-chat-note { font-weight: 400; color: #52636a; }
.website-chat-required, .website-chat-status { color: #a32232; }
.website-chat-note, .website-chat-status { font-size: 13px; margin: 0; }
.website-chat-status { padding: 8px 16px; overflow-wrap: anywhere; }
.website-chat-welcome { margin: 0 0 4px; padding: 13px; background: white; border-radius: 12px; }
.website-chat input, .website-chat textarea {
  width: 100%; min-width: 0; padding: 9px 10px; border: 1px solid #b8cbc8; border-radius: 10px;
  background: white; color: #14272d; font: inherit;
}
.website-chat textarea { resize: vertical; max-height: 120px; }
.website-chat-primary {
  min-height: 38px; padding: 7px 14px; border: 0; border-radius: 10px;
  background: #086f64; color: #fff; font: inherit; font-weight: 700; cursor: pointer;
}
.website-chat-primary:disabled { opacity: .55; cursor: wait; }
.website-chat-compose { display: flex; gap: 8px; align-items: end; }
.website-chat-log { display: flex; flex-direction: column; gap: 8px; height: clamp(108px, 36dvh, 280px); overflow: auto; }
.website-chat-bubble { align-self: start; max-width: 86%; background: white; padding: 8px 11px; border-radius: 11px; }
.website-chat-bubble[data-sender=visitor] { align-self: end; background: #d6eee8; }
.website-chat-bubble p { margin: 2px 0 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.website-chat-bubble small { font-size: 11px; }
.website-chat-suggestions, .website-chat-links { display: flex; flex-wrap: wrap; gap: 7px; }
.website-chat-suggestions button, .website-chat-links button { border: 1px solid #b8cbc8; background: white; color: #086f64; border-radius: 20px; padding: 5px 9px; cursor: pointer; }
.website-chat-links { padding: 10px 16px; gap: 16px; }
.website-chat-links a { color: #086f64; text-decoration: underline; }
@media (max-width: 600px) {
  .website-chat { inset: auto auto max(8px, env(safe-area-inset-bottom)) 8px; width: calc(100% - 16px); max-height: calc(100dvh - 16px); }
  .website-chat input, .website-chat textarea { font-size: 16px; }
}
