@charset "UTF-8";
/* =========================================================================
   Concierge support widget — floating trigger + modal.
   Ported from the WebTrends AB tester (experiment CRO_164) into code.
   ========================================================================= */
/* ----- Floating trigger button ----- */
#cbConciergeWidget {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 999;
  height: 60px;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.2));
}

#cbConciergeWidget .cbConciergeWidget_icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #ffd400;
  color: #212529;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

#cbConciergeWidget .cbConciergeWidget_pullout {
  background: #ffffff;
  color: #212529;
  height: 60px;
  display: none;
  align-items: center;
  white-space: nowrap;
  border-radius: 0 30px 30px 0;
  padding: 0 24px 0 40px;
  margin-left: -30px;
  line-height: 1;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
}

@media (min-width: 768px) {
  #cbConciergeWidget .cbConciergeWidget_pullout {
    display: flex;
  }
}
.cbConciergeWidget_pulloutTitle {
  font-size: 18px;
  font-weight: 600;
}

.cbConciergeWidget_pulloutDesc {
  font-size: 12px;
  font-weight: 400;
}

/* ----- Native Omnichannel window <-> concierge button swap -----
   Driven by body[data-live-chat-status], which concierge.js keeps accurate.
   available/offline : hide the native chat window, show our button.
   active/minimised  : show the native chat window, hide our button. */
body[data-live-chat-status=available] #Microsoft_Omnichannel_LCWidget_Chat_Iframe_Window,
body[data-live-chat-status=offline] #Microsoft_Omnichannel_LCWidget_Chat_Iframe_Window {
  visibility: hidden;
  pointer-events: none;
}

body[data-live-chat-status=available] #cbConciergeWidget,
body[data-live-chat-status=offline] #cbConciergeWidget {
  display: flex !important;
}

body[data-live-chat-status=active] #Microsoft_Omnichannel_LCWidget_Chat_Iframe_Window,
body[data-live-chat-status=minimised] #Microsoft_Omnichannel_LCWidget_Chat_Iframe_Window {
  display: block !important;
}

body[data-live-chat-status=active] #cbConciergeWidget,
body[data-live-chat-status=minimised] #cbConciergeWidget {
  display: none !important;
}

/* ----- Calendly popup sizing fix ----- */
html .calendly-overlay .calendly-popup {
  max-height: 90% !important;
}

@media (min-width: 975px) {
  html .calendly-overlay .calendly-popup {
    max-width: 576px !important;
    min-width: unset;
  }
}
/* ----- Modal option cards ----- */
.conciergePopup_item > i {
  font-size: 4rem;
  color: #739199;
}

.conciergePopup_item svg {
  width: 4rem;
  height: 4rem;
  color: #739199;
}

/* Live-chat card state: offline hides the "Start chat" CTA;
   online (active/available) hides the "we're offline" fallback text. */
body[data-live-chat-status=offline] .conciergePopup_liveChat_inactiveHide {
  display: none;
}

body[data-live-chat-status=active] .conciergePopup_liveChat_activeHide,
body[data-live-chat-status=available] .conciergePopup_liveChat_activeHide {
  display: none;
}

.conciergePopup_title {
  font-size: 1.1rem;
}

.conciergePopup_item_content p {
  opacity: 0.8;
}

/* ----- Design tokens (dark theme) + link-style button -----
   Scoped custom-property palette inlined by the AB test. Kept as-is for
   fidelity; consolidation candidate with imports/_colours.scss. */
.conciergePopup {
  /* Backgrounds */
  --bg-primary: #040404;
  --bg-surface: #18181b;
  --bg-surface-2: #222226;
  /* Interactive (form/selection states) */
  --interactive-highlight: #0d6efd;
  --interactive-bg: #1d263c;
  --interactive-bg-dark: #2b3347;
  /* Accent - Primary (Yellow) */
  --accent-primary: #f1d000;
  --accent-primary-dark: #7b6803;
  --accent-primary-light: #fded6a;
  /* Accent - Secondary (Blue-grey) */
  --accent-secondary: #739199;
  --accent-secondary-dark: #49585c;
  --accent-secondary-light: #a4cdda;
  /* Text */
  --text-white: #ffffff;
  --text-body: #bbbbbb;
  --text-muted: #777777;
  /* Disabled — always grey, regardless of variant */
  --state-disabled-bg: #3a3a3a;
  --state-disabled-text: #666666;
  --text-green: #4caf7d;
  /* Typography */
  --font-base: 'Titillium Web', sans-serif;
  /* Radius */
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
}

.conciergePopup .btn-cb-link {
  background-color: transparent;
  border-color: transparent;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  color: var(--accent-primary);
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.conciergePopup .btn-cb-link:hover:not(:disabled) {
  border-bottom-color: var(--accent-primary) !important;
  color: var(--accent-primary);
  background: transparent;
}
