/* HS Live Chat widget — self-contained, brand palette (navy #1c3e60, gold #c8a24a, cream #f8f4ec).
 * z-index 9000: below the cart drawer (9999) so it never overlaps it; the widget also hides
 * itself (see .hs-chat-hidden) when the cart drawer, menu, or FPD designer is open. */
#hs-chat-root{
  --hsc-navy:#1c3e60;--hsc-gold:#c8a24a;--hsc-cream:#f8f4ec;--hsc-line:#e6dfd0;
  --hsc-ink:#243449;--hsc-muted:#8a94a6;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
/* Hide the whole widget when a higher-priority overlay owns the screen. */
body.hs-cartd-open #hs-chat-root,
body.hs-menu-open #hs-chat-root,
body.hs-designing #hs-chat-root{display:none !important;}

/* --- Launcher bubble --- */
.hsc-launch{
  position:fixed;right:20px;bottom:20px;z-index:9000;
  width:60px;height:60px;border-radius:50%;border:0;cursor:pointer;
  background:var(--hsc-navy);color:var(--hsc-cream);
  box-shadow:0 8px 24px rgba(28,62,96,.32);
  display:flex;align-items:center;justify-content:center;
  transition:transform .16s ease, box-shadow .16s ease;
}
.hsc-launch:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(28,62,96,.4);}
.hsc-launch:focus-visible{outline:3px solid var(--hsc-gold);outline-offset:2px;}
.hsc-launch svg{width:28px;height:28px;fill:var(--hsc-gold);}
.hsc-launch .hsc-badge{
  position:absolute;top:-3px;right:-3px;min-width:20px;height:20px;padding:0 5px;
  background:var(--hsc-gold);color:var(--hsc-navy);border-radius:999px;
  font-size:12px;font-weight:800;line-height:20px;text-align:center;display:none;
}
.hsc-launch.hsc-has-unread .hsc-badge{display:block;}

/* --- Panel --- */
.hsc-panel{
  position:fixed;right:20px;bottom:20px;z-index:9001;
  width:360px;max-width:calc(100vw - 32px);
  height:520px;max-height:calc(100vh - 40px);
  background:#fff;border:1px solid var(--hsc-line);border-radius:16px;
  box-shadow:0 18px 50px rgba(28,62,96,.28);
  display:none;flex-direction:column;overflow:hidden;
}
.hsc-panel.hsc-open{display:flex;}

.hsc-head{background:var(--hsc-navy);color:#fff;padding:14px 16px;display:flex;align-items:center;gap:10px;}
.hsc-head .hsc-title{font-weight:700;font-size:1rem;line-height:1.2;flex:1;}
.hsc-head .hsc-title small{display:block;font-weight:500;color:#bcd0e6;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;margin-top:2px;}
.hsc-head .hsc-close{background:transparent;border:0;color:#fff;cursor:pointer;font-size:22px;line-height:1;padding:4px 6px;border-radius:8px;}
.hsc-head .hsc-close:hover{background:rgba(255,255,255,.12);}

.hsc-body{flex:1;overflow-y:auto;padding:14px;background:var(--hsc-cream);}
.hsc-intro{color:var(--hsc-muted);font-size:.9rem;line-height:1.5;margin:2px 0 12px;}

.hsc-msg{margin:8px 0;max-width:82%;}
.hsc-msg .hsc-bubble{padding:9px 13px;border-radius:14px;line-height:1.42;font-size:.92rem;white-space:pre-wrap;word-wrap:break-word;}
.hsc-msg.hsc-customer{margin-left:auto;}
.hsc-msg.hsc-customer .hsc-bubble{background:var(--hsc-navy);color:#fff;border-bottom-right-radius:4px;}
.hsc-msg.hsc-owner .hsc-bubble{background:#fff;color:var(--hsc-ink);border:1px solid var(--hsc-line);border-bottom-left-radius:4px;}
.hsc-msg .hsc-time{font-size:11px;color:var(--hsc-muted);margin-top:3px;}
.hsc-msg.hsc-customer .hsc-time{text-align:right;}

/* --- Start form (name + email) --- */
.hsc-start label{display:block;font-weight:700;font-size:.82rem;margin:10px 0 4px;color:var(--hsc-ink);}
.hsc-start input{width:100%;box-sizing:border-box;border:1px solid #cbd3de;border-radius:10px;padding:11px 12px;font:inherit;}
.hsc-start .hsc-hint{color:var(--hsc-muted);font-size:.78rem;margin:4px 0 0;}

/* honeypot: visually + accessibly hidden but present in DOM */
.hsc-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}

/* --- Typing indicator (fixed-height slot so showing it never shifts layout) --- */
.hsc-typing{height:18px;padding:0 4px 2px;visibility:hidden;}
.hsc-typing.is-on{visibility:visible;}
.hsc-typing-txt{font-style:italic;font-size:.78rem;color:var(--hsc-muted);}
.hsc-typing-txt::after{content:"";display:inline-block;width:1.1em;text-align:left;
  animation:hsc-dots 1.2s steps(4,end) infinite;}
@keyframes hsc-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}100%{content:""}}

/* --- Composer --- */
.hsc-foot{border-top:1px solid var(--hsc-line);padding:10px;background:#fff;}
.hsc-composer{display:flex;gap:8px;align-items:flex-end;}
.hsc-composer textarea{flex:1;border:1px solid #cbd3de;border-radius:12px;padding:10px 12px;font:inherit;resize:none;max-height:120px;min-height:42px;line-height:1.35;}
.hsc-send{background:var(--hsc-gold);color:var(--hsc-navy);border:0;border-radius:12px;font-weight:800;padding:0 16px;height:42px;cursor:pointer;flex:none;}
.hsc-send:disabled{opacity:.5;cursor:default;}
.hsc-primary{display:block;width:100%;background:var(--hsc-gold);color:var(--hsc-navy);border:0;border-radius:12px;font-weight:800;padding:13px;cursor:pointer;font-size:.95rem;margin-top:14px;}
.hsc-err{background:#fde8e8;color:#8a1f1f;border:1px solid #f5b5b5;padding:9px 12px;border-radius:8px;font-size:.85rem;margin:8px 0;}

/* --- Mobile --- */
@media (max-width:480px){
  .hsc-panel{right:8px;left:8px;bottom:8px;width:auto;max-width:none;height:calc(100vh - 16px);max-height:calc(100vh - 16px);border-radius:14px;}
  .hsc-launch{right:14px;bottom:14px;width:56px;height:56px;}
}

/* marketing opt-in (2026-07-10) */
.hsc-optin{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--hsc-muted,#5d6878);margin:.4rem 0 .2rem;cursor:pointer}
.hsc-optin input{width:auto;margin:0}

/* after-hours notice (2026-07-10) */
.hsc-away{background:#fdf6e3;border:1px solid #ecd9a8;border-radius:8px;padding:.55rem .7rem;font-size:.82rem;color:#7a6420;margin:.5rem 0}
