/* Tim: "change this to the icon with the plug from Glow", then "have chat say
   Ask Glow." The plug mark alone did not say "talk to us", so the FAB is now a
   PILL: the white plug in ring (alpha copied from the real artwork, nothing
   redrawn) at 32px, with the words "Ask Glow" beside it. The label is what
   carries the affordance now, so it is real text rather than an aria-label
   nobody sees, and it is the accessible name as well.
   The green online pip moved onto the icon itself, where it still reads as a
   status dot; on the corner of a wide pill it looked like a stray speck. */
.gc-fab{position:fixed;right:20px;bottom:24px;z-index:75;height:56px;padding:0 22px 0 13px;
  border-radius:100px;background:var(--blue);color:#fff;border:0;cursor:pointer;
  display:inline-flex;align-items:center;gap:11px;
  font-family:var(--disp);font-size:15px;font-weight:600;letter-spacing:.005em;
  box-shadow:0 14px 34px rgba(45,108,163,.42),0 0 0 0 rgba(var(--glow-rgb),0);
  transition:transform .25s ease,box-shadow .3s ease}
.gc-fab-ic{position:relative;flex:0 0 auto;display:block;line-height:0}
.gc-fab img{width:32px;height:32px;object-fit:contain;display:block}
/* Tim, 13 Sep: Michael's own face on the launcher and in the panel header. The
   photo is a square crop off the Ringwood East shoot, so it is masked to a
   circle and cover fitted rather than contained. The panel title stays the
   BUSINESS name, not Michael's, because the assistant answering is not him and
   the greeting says so. */
.gc-face{border-radius:50%;object-fit:cover!important;
  border:1.5px solid rgba(255,255,255,.55)}
.gc-fab .gc-face{width:34px;height:34px}
.gc-head .gc-face{height:36px;width:36px}
.gc-fab-lbl{white-space:nowrap}
.gc-fab:hover,.gc-fab:focus-visible{transform:translateY(-2px) scale(1.03);
  box-shadow:0 14px 34px rgba(45,108,163,.5),0 0 16px rgba(var(--glow-rgb),.75)}
.gc-fab:focus-visible{outline:2px solid rgba(var(--glow-rgb),.95);outline-offset:3px}
.gc-fab .dot{position:absolute;top:-2px;right:-3px;width:11px;height:11px;border-radius:50%;
  background:#3ccB78;border:2px solid var(--blue)}
@media(max-width:900px){.gc-fab{right:16px;bottom:calc(88px + env(safe-area-inset-bottom));
  height:52px;font-size:14.5px;padding:0 19px 0 11px}
  .gc-fab img{width:29px;height:29px}}
.gc-panel{position:fixed;right:20px;bottom:94px;z-index:76;width:min(376px,calc(100vw - 32px));
  max-height:min(560px,calc(100vh - 140px));display:none;flex-direction:column;
  background:var(--glass-bg);backdrop-filter:blur(26px) saturate(160%);
  border:1px solid var(--line-2);border-radius:16px;box-shadow:0 30px 70px rgba(0,0,0,.5);
  overflow:hidden}
.gc-panel::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent)}
.gc-panel.on{display:flex}
@media(max-width:900px){.gc-panel{right:16px;bottom:calc(88px + 68px + env(safe-area-inset-bottom));max-height:min(500px,calc(100vh - 200px))}}
.gc-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(45,108,163,.18),transparent)}
.gc-head img{height:26px;width:auto}
.gc-head div{flex:1 1 auto}
.gc-head b{display:block;font-family:var(--disp);font-size:14.5px;color:var(--fg)}
.gc-head span{display:block;font-size:11.5px;color:var(--fg-mute2)}
.gc-head span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;
  background:#3ccB78;margin-right:5px}
.gc-close{background:none;border:0;color:var(--fg-mute2);cursor:pointer;padding:8px;min-width:36px;min-height:36px}
.gc-close:hover{color:var(--fg)}
.gc-body{flex:1 1 auto;overflow-y:auto;padding:16px 16px 6px;display:flex;flex-direction:column;gap:10px}
.gc-msg{max-width:86%;font-size:14px;line-height:1.5;padding:11px 14px;border-radius:12px}
.gc-msg.bot{align-self:flex-start;background:var(--ink-2);border:1px solid var(--line);color:var(--fg-mute)}
.gc-msg.me{align-self:flex-end;background:var(--blue);color:#fff}
.gc-typing{align-self:flex-start;display:flex;gap:4px;padding:11px 14px}
.gc-typing span{width:6px;height:6px;border-radius:50%;background:var(--fg-mute2);animation:gct 1.1s ease-in-out infinite}
.gc-typing span:nth-child(2){animation-delay:.15s}.gc-typing span:nth-child(3){animation-delay:.3s}
@keyframes gct{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.gc-quick{display:flex;flex-wrap:wrap;gap:7px;padding:2px 16px 12px}
.gc-quick button{font-size:12px;color:var(--blue-dk);background:rgba(45,108,163,.12);
  border:1px solid rgba(45,108,163,.32);border-radius:100px;padding:8px 13px;cursor:pointer;min-height:0}
.gc-foot{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--line)}
.gc-foot input{flex:1 1 auto;font:inherit;font-size:14px;color:var(--fg);background:var(--ink-2);
  border:1.5px solid var(--line);border-radius:100px;padding:11px 16px;min-height:44px}
.gc-foot input:focus{outline:0;border-color:var(--blue)}
.gc-foot button{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--blue);
  color:#fff;border:0;cursor:pointer;display:grid;place-items:center;min-height:0}
.gc-foot button:disabled{opacity:.5;cursor:default}
.gc-fallback{padding:16px;font-size:13px;color:var(--fg-mute2);text-align:center}
.gc-fallback a{color:var(--blue-dk);font-weight:600;text-decoration:none}
@media(prefers-reduced-motion:reduce){.gc-fab:hover{transform:none}.gc-typing span{animation:none}}
/* --- 25 Sep 2026, the house chat standard (CHAT-STANDARD.md) ------------- */
/* the log hides its scrollbar */
.gc-body{scrollbar-width:none;-ms-overflow-style:none}
.gc-body::-webkit-scrollbar{display:none;width:0;height:0}
/* details card: name, email, mobile, rendered inline in the log after the
   second answer or whenever the bridge asks. Same skin as the bot bubble. */
.gc-card{align-self:stretch;display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:12px;
  background:var(--ink-2);border:1px solid rgba(45,108,163,.45)}
.gc-card b{font-family:var(--disp);font-size:14px;color:var(--fg)}
.gc-card span{font-size:12.5px;line-height:1.45;color:var(--fg-mute2);margin-bottom:2px}
.gc-card input{min-height:42px;font:inherit;font-size:14px;color:var(--fg);background:var(--ink-3,var(--ink-2));
  border:1.5px solid var(--line);border-radius:10px;padding:0 13px}
.gc-card input::placeholder{color:var(--fg-mute2)}
.gc-card input:focus{outline:0;border-color:var(--blue)}
.gc-card button{min-height:44px;border:0;border-radius:100px;cursor:pointer;font-family:var(--disp);font-weight:600;
  font-size:14px;color:#fff;background:var(--blue);margin-top:2px}
.gc-card button:disabled{opacity:.5;cursor:wait}
.gc-card i{font-style:normal;font-size:12px;color:#ffb4a8;min-height:0}
.gc-card i:empty{display:none}

/* 25 Sep 2026: chat scrolls visibly, and the call back card is one line, mobile only,
   so the conversation above it stays readable. Overrides the earlier card rules. */
.gc-body{scrollbar-width:thin;scrollbar-color:rgba(140,140,140,.45) transparent}
.gc-body::-webkit-scrollbar{display:block;width:6px;height:auto}
.gc-body::-webkit-scrollbar-thumb{background:rgba(140,140,140,.45);border-radius:6px}
.gc-body::-webkit-scrollbar-track{background:transparent}
.gc-card{flex:none;gap:7px;padding:10px 11px}
.gc-card b{font-size:13.5px;line-height:1.35;font-weight:700;letter-spacing:0}
.gc-card-row{display:flex;gap:7px;align-items:stretch}
.gc-card-row input{flex:1 1 auto;min-width:0;width:auto;min-height:42px;font-size:16px;margin:0}
.gc-card-row button{flex:none;width:auto;min-height:42px;padding:0 14px;margin:0;white-space:nowrap}
