/* Site-wide support launcher: a black circle with a white chat mark. */
.support-widget { --support-bottom:24px; --support-keyboard:0px; --support-available-height:calc(100dvh - 32px); position:fixed; right:24px; bottom:calc(var(--support-bottom) + env(safe-area-inset-bottom) + var(--support-keyboard)); z-index:1100; font-family:var(--font-body); color:#171b18; }
.support-launcher { position:relative; width:58px; height:58px; border-radius:50%; border:1px solid #111; background:#111; color:#fff; display:grid; place-items:center; box-shadow:0 5px 20px #0003; cursor:pointer; }
.support-launcher:hover { background:#000; }
.support-launcher:focus-visible,.support-window button:focus-visible { outline:2px solid #5b7463; outline-offset:4px; }
/* The launcher and dialog share the same lower-right anchor. */
.support-launcher { transition:opacity 160ms ease 400ms,transform 200ms ease 360ms,visibility 0s 360ms; }
.support-widget.is-open .support-launcher { opacity:0; transform:scale(.7); visibility:hidden; pointer-events:none; transition:opacity 120ms ease,transform 300ms cubic-bezier(.22,1,.36,1),visibility 0s 120ms; }
.support-unread { position:absolute; right:-3px; top:-3px; min-width:21px; height:21px; padding:0 5px; border-radius:50%; background:white; border:1px solid #111; color:#111; font-size:11px; line-height:19px; font-weight:700; }
.support-unread[hidden],.support-window[hidden],.support-notice[hidden] { display:none; }
.support-window { position:absolute; right:0; bottom:0; width:360px; height:min(550px,calc(var(--support-available-height) - 86px)); display:flex; flex-direction:column; background:white; border:1px solid #dfe3dd; border-radius:16px; box-shadow:0 15px 65px #0003; overflow:hidden; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(8px); clip-path:inset(calc(100% - 58px) 0 0 calc(100% - 58px) round 29px); transition:clip-path 520ms cubic-bezier(.4,0,.2,1),transform 520ms cubic-bezier(.4,0,.2,1),opacity 160ms ease 360ms,visibility 0s 520ms; }
.support-widget.is-open .support-window { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); clip-path:inset(0 round 16px); transition:clip-path 360ms cubic-bezier(.22,1,.36,1),transform 360ms cubic-bezier(.22,1,.36,1),opacity 180ms ease,visibility 0s; }
.support-header { display:flex; justify-content:space-between; align-items:flex-start; padding:22px 18px 18px 22px; background:#111; color:white; flex-shrink:0; }
.support-brand { display:block; font-size:10px; font-weight:600; letter-spacing:2px; color:#c0c6c1; margin-bottom:8px; }
.support-header h2 { font:600 18px/1.3 var(--font-body); margin-bottom:8px; }
.support-presence { display:flex; align-items:center; gap:6px; font-size:11px; color:#cdd2cd; }
.support-status-dot { width:6px; height:6px; border-radius:50%; background:#8a8d89; }
.support-status-dot.is-online { background:#a5c8b1; }
.support-close { width:36px; height:36px; display:grid; place-items:center; color:white; margin:-8px -5px 0 0; }
.support-thread { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:22px 18px; background:#fbfcfa; scroll-behavior:smooth; }
.support-hello { font-size:17px; font-weight:600; margin-bottom:8px; }
.support-description { font-size:12px; line-height:1.8; color:#727a72; margin-bottom:15px; }
.support-topics { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:22px; }
.support-topics button { padding:8px 11px; min-height:36px; border:1px solid #dbe1d9; border-radius:18px; background:white; font-size:11px; }
.support-log { display:flex; flex-direction:column; gap:14px; }
.support-message { max-width:88%; align-self:flex-start; min-width:76px; }
.support-message.from-customer { align-self:flex-end; }
.support-author { display:block; color:#838b83; font-size:10px; margin:0 3px 5px; }
.from-customer .support-author { text-align:right; }
.support-message p { margin:0; padding:11px 13px; background:#ecf0e9; font-size:13px; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; border-radius:11px 11px 11px 2px; }
.support-message.from-customer p { background:#171d18; color:white; border-radius:11px 11px 2px 11px; }
.support-message time { display:block; font-size:9px; color:#979d96; padding:5px 3px 0; }
.from-customer time { text-align:right; }
.support-notice { padding:9px 18px; font-size:11px; line-height:1.6; color:#667165; background:#f0f3ed; flex-shrink:0; }
.support-notice.is-error { color:#98442f; background:#fff2ed; cursor:pointer; }
.support-compose { display:flex; align-items:flex-end; gap:10px; padding:13px 14px 13px 18px; background:white; border-top:1px solid #e6eae2; flex-shrink:0; }
.support-compose textarea { flex:1; min-width:0; resize:none; min-height:42px; max-height:110px; padding:10px 0; border:0; background:none; font:400 13px/1.6 var(--font-body); color:#171d18; outline-offset:3px; }
.support-compose textarea::placeholder { color:#969e95; }
.support-send { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#111; color:white; flex-shrink:0; }
.support-send:disabled { opacity:.3; cursor:default; }
@media(max-width:700px) {
  .support-widget { --support-bottom:18px; right:16px; }
  body:has(.pdp) .support-widget { --support-bottom:96px; }
  .support-launcher { width:54px; height:54px; }
  .support-window { width:var(--support-window-width,min(360px,calc(100vw - 48px))); height:min(530px,calc(var(--support-available-height) - 80px)); max-height:calc(100dvh - 100px - env(safe-area-inset-bottom)); bottom:0; border-radius:14px; }
  body:has(.pdp) .support-window { height:min(500px,calc(var(--support-available-height) - 160px)); }
  .support-header { padding:20px 18px 16px; }
  .support-close { width:44px; height:44px; }
  .support-compose textarea { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .support-thread { scroll-behavior:auto; } .support-launcher,.support-widget.is-open .support-launcher,.support-window,.support-widget.is-open .support-window { transition:none; transform:none; } }

.support-notice button { margin-left:8px; min-height:28px; padding:2px 4px; text-decoration:underline; text-underline-offset:3px; font:inherit; }

.support-email-link { display:inline-block; color:inherit; font-weight:600; text-decoration:underline; text-underline-offset:3px; min-height:28px; padding-top:4px; }
