/* "Let's chat" button (assets/js/chat.js). Bottom-right; the cookie banner sits above it until a choice is made. */
.gx-chat-btn {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 9000;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 20px 0 16px;
  border: 2px solid #FFFFFF;
  border-radius: 999px;
  background: #1C1E21;
  color: #FFFFFF;
  font: 700 15px/1 "DM Sans", system-ui, sans-serif;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(0,0,0,0.25);
}
.gx-chat-btn[hidden] { display: none; }
.gx-chat-btn svg { width: 24px; height: 24px; fill: #39FF6A; flex-shrink: 0; }
.gx-chat-btn:hover { background: #000000; }
.gx-chat-btn.gx-chat-unread { background: #39FF6A; color: #000000; border-color: #000000; }
.gx-chat-btn.gx-chat-unread svg { fill: #000000; }

.gx-chat-btn[aria-busy="true"] { cursor: progress; }

/* Shown only if Crisp cannot load (blocked by an extension / privacy setting). */
.gx-chat-note {
  position: fixed;
  right: 16px;
  bottom: 84px;
  z-index: 9001;
  width: min(340px, calc(100vw - 32px));
  padding: 16px 18px;
  border: 2px solid #1C1E21;
  border-radius: 14px;
  background: #FFFFFF;
  color: #1C1E21;
  font: 400 15px/1.5 "DM Sans", system-ui, sans-serif;
  box-shadow: 0 8px 28px rgba(0,0,0,0.2);
}
.gx-chat-note[hidden] { display: none; }
.gx-chat-note p { margin: 0 0 10px; }
.gx-chat-note .gx-chat-note-title { font-weight: 700; }
.gx-chat-note a { color: #1C1E21; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.gx-chat-note-close {
  min-height: 44px;
  padding: 0 16px;
  border: 2px solid #1C1E21;
  border-radius: 10px;
  background: #FFFFFF;
  color: #1C1E21;
  font: 600 15px/1 "DM Sans", system-ui, sans-serif;
  cursor: pointer;
}

/* Leave room at the very end of each page so the button never covers footer links. */
html[data-gx-chat] .site-footer::after { content: ""; display: block; height: 76px; }

@media (max-width: 640px) {
  .gx-chat-btn { min-height: 52px; min-width: 52px; padding: 0 14px; }
  .gx-chat-btn:not(.gx-chat-unread) .gx-chat-text {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
  }
}
@media print { .gx-chat-btn { display: none !important; } }

html[data-gx-contrast="high"] body .gx-chat-btn { background-color: #000 !important; color: #FFE600 !important; border: 2px solid #FFE600 !important; }
html[data-gx-contrast="high"] body .gx-chat-btn svg { fill: #FFE600 !important; }
