/* FastFixCell chat orb â€” inlined SVG (#orb-core / #orb-rings) + float/pulse/glow */

.superchat-widget {
  --orb-size: 72px;
}

.superchat-launch.fastfix-orb,
button.fastfix-orb {
  --orb-size: 72px;
  position: relative;
  z-index: 9999;
  width: var(--orb-size);
  height: var(--orb-size);
  min-width: var(--orb-size);
  min-height: var(--orb-size);
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent !important;
  appearance: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
  outline: none;
  cursor: pointer;
  display: block;
  overflow: visible;
  contain: none;
  pointer-events: auto;
  animation:
    orb-float 3.5s ease-in-out infinite,
    orb-pulse 2.4s ease-in-out infinite;
  transition: transform 0.35s ease, filter 0.35s ease;
}

/* Hide leftover glass-orb HTML layers if any remain in markup.
   Class selectors only â€” do NOT target SVG #orb-core / #orb-rings IDs. */
.superchat-launch.fastfix-orb .orb-sphere,
.superchat-launch.fastfix-orb .orb-halo,
.superchat-launch.fastfix-orb .orb-atmosphere,
.superchat-launch.fastfix-orb .orb-ground,
.superchat-launch.fastfix-orb .orb-whisper,
.superchat-launch.fastfix-orb .orb-field,
.superchat-launch.fastfix-orb .orb-presence-wave,
.superchat-launch.fastfix-orb > .orb-rings,
.superchat-launch.fastfix-orb > .orb-core {
  display: none !important;
}

.fastfix-orb > svg,
.fastfix-orb > img {
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
  background: transparent;
  overflow: visible;
  transition: transform 0.35s ease, filter 0.35s ease;
}

.fastfix-orb > img {
  object-fit: contain;
  border-radius: 50%;
}

/* Rings only â€” core stays static */
.fastfix-orb #orb-rings {
  transform-box: fill-box;
  transform-origin: center;
  animation: orb-ring-spin 18s linear infinite;
}

.fastfix-orb #orb-core {
  transform: none;
}

.fastfix-orb:hover {
  animation-play-state: paused;
}

.fastfix-orb:hover > svg,
.fastfix-orb:hover > img {
  transform: scale(1.12) rotate(8deg);
  filter:
    brightness(1.2)
    drop-shadow(0 0 12px #31cfff)
    drop-shadow(0 0 28px #087fff);
}

.fastfix-orb:active > svg,
.fastfix-orb:active > img {
  transform: scale(0.92);
}

.fastfix-orb:focus-visible {
  outline: 2px solid #38bdf8;
  outline-offset: 4px;
  border-radius: 50%;
}

.fastfix-orb.has-message {
  animation:
    orb-float 3.5s ease-in-out infinite,
    orb-pulse 1.15s ease-in-out infinite;
}

.fastfix-orb.chat-open {
  animation: none;
  transform: none;
  filter:
    drop-shadow(0 0 10px rgba(49, 207, 255, 0.55))
    drop-shadow(0 6px 16px rgba(8, 127, 255, 0.35));
}

.fastfix-orb.chat-open > svg,
.fastfix-orb.chat-open > img {
  transform: none;
  filter: none;
}

@keyframes orb-float {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-14px) rotate(2deg); }
}

@keyframes orb-pulse {
  0%, 100% {
    filter:
      drop-shadow(0 0 8px rgba(49, 207, 255, 0.65))
      drop-shadow(0 0 20px rgba(8, 127, 255, 0.35));
  }
  50% {
    filter:
      drop-shadow(0 0 16px rgba(49, 207, 255, 1))
      drop-shadow(0 0 38px rgba(8, 127, 255, 0.75));
  }
}

@keyframes orb-ring-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.superchat-widget.open .superchat-launch.fastfix-orb {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  width: var(--orb-size) !important;
  height: var(--orb-size) !important;
  min-width: var(--orb-size) !important;
  min-height: var(--orb-size) !important;
}

.superchat-launch.fastfix-orb::before,
.superchat-launch.fastfix-orb::after {
  display: none !important;
  content: none !important;
  animation: none !important;
}

.superchat-widget .superchat-actions {
  right: calc(var(--orb-size) + 8px) !important;
  bottom: 16px !important;
  width: auto !important;
  height: 44px !important;
}

@media (max-width: 600px) {
  .superchat-widget,
  .superchat-launch.fastfix-orb,
  button.fastfix-orb {
    --orb-size: 68px;
  }

  .superchat-launch.fastfix-orb {
    width: 68px !important;
    height: 68px !important;
    min-width: 68px !important;
    min-height: 68px !important;
  }

  .superchat-widget .superchat-actions {
    right: 76px !important;
    bottom: 10px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fastfix-orb,
  .fastfix-orb.has-message,
  .fastfix-orb.chat-open,
  .superchat-widget.open .superchat-launch.fastfix-orb {
    animation: none !important;
  }

  .fastfix-orb #orb-rings {
    animation: none !important;
  }

  .fastfix-orb:hover > svg,
  .fastfix-orb:hover > img,
  .fastfix-orb:active > svg,
  .fastfix-orb:active > img {
    transform: none !important;
  }

  .fastfix-orb {
    filter:
      drop-shadow(0 0 10px rgba(49, 207, 255, 0.55))
      drop-shadow(0 6px 14px rgba(8, 127, 255, 0.35));
  }
}
/* Phone/map quick-actions removed from markup; keep hidden if any remnant remains */
.superchat-actions {
  display: none !important;
}

/* ---- Compact chips / Fast Quote GUI 2026-08-23 ---- */
.superchat-quick {
  gap: 6px !important;
  padding: 8px 10px !important;
}
.sc-chip {
  padding: 5px 10px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  min-height: 28px;
  line-height: 1.2;
  border-radius: 16px !important;
  box-shadow: none !important;
}
.sc-chip-suggest {
  font-size: 10px !important;
  min-height: 26px;
  padding: 4px 9px !important;
}
.sc-topic-chips {
  gap: 5px !important;
}
.sc-topic-chips .sc-chip {
  font-size: 11px !important;
  min-height: 28px;
}
.sc-topic-chips-label {
  font-size: 11px !important;
}
.superchat-send {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  font-size: 15px !important;
}
.superchat-contact-actions {
  gap: 6px !important;
  padding: 8px 10px !important;
}
.superchat-contact-actions a {
  padding: 7px 6px !important;
  font-size: 11px !important;
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px !important;
}
.superchat-input-row {
  gap: 6px !important;
  padding: 10px 12px !important;
}
.superchat-input-btn {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  font-size: 14px !important;
}
.superchat-input {
  padding: 9px 12px !important;
  font-size: 13px !important;
}

/* Fast Quote block inside orb panel */
.sc-fast-quote {
  padding: 8px 10px 6px;
  border-top: 1px solid rgba(226, 232, 240, 0.55);
  background: linear-gradient(180deg, rgba(239, 246, 255, 0.75), rgba(255, 255, 255, 0.55));
}
.sc-fq-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #1d4ed8;
  margin-bottom: 6px;
}
.sc-fq-hint {
  font-size: 11px;
  color: #64748b;
  margin: 0 0 6px;
  line-height: 1.35;
}
.sc-fq-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 6px;
}
.sc-fq-row:last-child { margin-bottom: 0; }
.sc-chip.sc-fq-chip {
  background: #fff;
  border-color: #bfdbfe;
  color: #1e40af;
}
.sc-chip.sc-fq-active {
  background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
  color: #fff !important;
  border-color: transparent !important;
}
.sc-fq-reset {
  font-size: 10px;
  color: #64748b;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 2px 4px;
  text-decoration: underline;
  font-family: inherit;
}
html:not([data-theme="light"]) .sc-fast-quote {
  background: linear-gradient(180deg, rgba(30, 58, 95, 0.55), rgba(15, 23, 42, 0.55));
  border-top-color: rgba(51, 65, 85, 0.55);
}
html:not([data-theme="light"]) .sc-fq-label { color: #93c5fd; }
html:not([data-theme="light"]) .sc-fq-hint { color: #94a3b8; }
html:not([data-theme="light"]) .sc-chip.sc-fq-chip {
  background: #1e293b;
  border-color: #334155;
  color: #93c5fd;
}
@media (max-width: 480px), (max-device-width: 480px) {
  .sc-chip {
    padding: 5px 9px !important;
    font-size: 10px !important;
    min-height: 28px;
  }
  .superchat-send {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }
  .sc-fast-quote { padding: 7px 8px 5px; }
}

/* ---- First-visit welcome (2026-08-25) ---- */
.sc-welcome-bubble { padding-bottom: 2px; }
.sc-welcome-hello {
  margin: 0 0 8px;
  font-weight: 800;
  font-size: 13.5px;
  line-height: 1.4;
}
.sc-welcome-title {
  margin: 0 0 6px;
  font-weight: 800;
  font-size: 13.5px;
  line-height: 1.35;
}
.sc-welcome-title.sc-welcome-fade {
  animation: scWelcomeFadeIn 0.5s ease;
}
@keyframes scWelcomeFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.sc-welcome-cycle {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.45;
  min-height: 1.45em;
}
.sc-welcome-prefix { font-weight: 500; }
.sc-welcome-service {
  font-weight: 800;
  color: #1d4ed8;
}
.sc-welcome-caret {
  display: inline-block;
  width: 2px;
  height: 0.95em;
  margin-left: 1px;
  vertical-align: -2px;
  background: currentColor;
  animation: scWelcomeCaret 1s steps(1) infinite;
}
.sc-welcome-stopped .sc-welcome-caret {
  display: none;
}
@keyframes scWelcomeCaret {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}
.sc-welcome-list {
  display: none;
  margin: 6px 0 0;
  padding-left: 0;
  font-size: 12.5px;
  line-height: 1.45;
}
.sc-welcome-list li { margin: 2px 0; }

.fastfix-orb.orb-welcome-pulse {
  animation: orbWelcomeGlow 0.72s ease-in-out 2;
  filter:
    drop-shadow(0 0 14px rgba(49, 207, 255, 0.85))
    drop-shadow(0 0 28px rgba(8, 127, 255, 0.5));
}

@keyframes orbWelcomeGlow {
  0%, 100% {
    transform: scale(1);
    filter:
      drop-shadow(0 0 8px rgba(8, 127, 255, 0.35))
      drop-shadow(0 0 16px rgba(49, 207, 255, 0.28));
  }
  50% {
    transform: scale(1.08);
    filter:
      drop-shadow(0 0 22px rgba(49, 207, 255, 0.95))
      drop-shadow(0 0 40px rgba(8, 127, 255, 0.62));
  }
}

.superchat-widget.welcome-open .superchat-panel {
  animation: panelIn 0.42s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@media (prefers-reduced-motion: reduce) {
  .fastfix-orb.orb-welcome-pulse,
  .superchat-widget.welcome-open .superchat-panel {
    animation: none !important;
    transform: none !important;
  }
  .sc-welcome-cycle,
  .sc-welcome-caret {
    display: none !important;
    animation: none !important;
  }
  .sc-welcome-title.sc-welcome-fade {
    animation: none !important;
  }
  .sc-welcome-list {
    display: block;
    padding-left: 0;
    list-style: none;
  }
}

/* ---- Menu collapse after first chip / typed send (2026-08-25) ---- */
.sc-menu-toggle {
  display: none;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 5px 10px;
  min-height: 32px;
  border: 0;
  border-top: 1px solid rgba(226, 232, 240, 0.55);
  background: rgba(248, 250, 252, 0.92);
  color: #334155;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
}
.sc-menu-toggle:hover,
.sc-menu-toggle:focus-visible {
  background: #eff6ff;
  color: #1d4ed8;
  outline: none;
}
.sc-menu-toggle-chevron {
  font-size: 12px;
  line-height: 1;
}
.superchat-widget.menu-collapsed .sc-menu-toggle,
.superchat-widget.menu-expanded .sc-menu-toggle {
  display: flex;
}
.superchat-widget.menu-collapsed .superchat-contact-actions,
.superchat-widget.menu-collapsed #scFastQuote:not(.fq-in-progress) {
  display: none !important;
}
/* Shortcut chip row stays visible after welcome/menu collapse so IMEI/Book/Prepaid remain reachable */
.superchat-widget.menu-collapsed .superchat-quick,
.superchat-widget.menu-collapsed #superchatQuick {
  display: flex !important;
}
.superchat-widget.welcome-list-collapsed .sc-welcome-list,
.superchat-widget.welcome-list-collapsed .sc-welcome-cycle {
  display: none !important;
}
.superchat-widget.menu-collapsed .orb-appt-card,
.superchat-widget.welcome-list-collapsed .orb-appt-card {
  display: block !important;
}
html:not([data-theme="light"]) .sc-menu-toggle {
  background: rgba(15, 23, 42, 0.92);
  border-top-color: rgba(51, 65, 85, 0.55);
  color: #93c5fd;
}
html:not([data-theme="light"]) .sc-menu-toggle:hover,
html:not([data-theme="light"]) .sc-menu-toggle:focus-visible {
  background: #1e3a5f;
  color: #bfdbfe;
}
@media (max-width: 480px), (max-device-width: 480px) {
  .sc-menu-toggle {
    min-height: 28px;
    padding: 6px 8px;
  }
}

/* ---- Usable orb fix 2026-08-25 (after night-glass revert) ---- */
/* Beat leftover glass-orb geometry: 100px/92px/94px launch boxes */
.superchat-widget,
.superchat-launch.fastfix-orb,
button.superchat-launch.fastfix-orb,
.superchat-widget .superchat-launch.fastfix-orb {
  --orb-size: 72px;
}
.superchat-launch.fastfix-orb,
button.superchat-launch.fastfix-orb,
.superchat-widget .superchat-launch.fastfix-orb,
.superchat-widget.open .superchat-launch.fastfix-orb {
  width: var(--orb-size) !important;
  height: var(--orb-size) !important;
  min-width: var(--orb-size) !important;
  min-height: var(--orb-size) !important;
  max-width: var(--orb-size) !important;
  max-height: var(--orb-size) !important;
  padding: 0 !important;
  display: block !important;
  contain: none !important;
  overflow: visible !important;
  background: transparent !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.superchat-launch.fastfix-orb::before,
.superchat-launch.fastfix-orb::after,
.superchat-launch.fastfix-orb .orb-sphere,
.superchat-launch.fastfix-orb .orb-halo,
.superchat-launch.fastfix-orb .orb-atmosphere,
.superchat-launch.fastfix-orb .orb-ground,
.superchat-launch.fastfix-orb .orb-whisper,
.superchat-launch.fastfix-orb .orb-field,
.superchat-launch.fastfix-orb .orb-presence-wave,
.superchat-launch.fastfix-orb .orb-glass-body,
.superchat-launch.fastfix-orb .orb-glass-lens,
.superchat-launch.fastfix-orb .orb-glass-caustic,
.superchat-launch.fastfix-orb .orb-glass-streak,
.superchat-launch.fastfix-orb .orb-glass-fresnel {
  display: none !important;
  content: none !important;
}

/* Keep type bar always visible — never collapse it */
.superchat-widget .superchat-input-row,
.superchat-widget.menu-collapsed .superchat-input-row,
.superchat-widget.menu-expanded .superchat-input-row,
.superchat-widget.welcome-open .superchat-input-row {
  display: flex !important;
}

/* Landing: chips + type. Hide bulky Fast Quote / contacts until needed */
#scFastQuote { display: none; }
.superchat-widget.menu-expanded #scFastQuote,
#scFastQuote.fq-in-progress { display: block; }
.superchat-widget.menu-collapsed #scFastQuote:not(.fq-in-progress) {
  display: none !important;
}
.superchat-contact-actions { display: none; }
.superchat-widget.menu-expanded .superchat-contact-actions {
  display: grid !important;
}
.superchat-widget.menu-collapsed .superchat-contact-actions {
  display: none !important;
}

/* Compact Fast Quote when shown */
.sc-fast-quote {
  padding: 6px 10px 5px !important;
}
.sc-fq-label {
  margin-bottom: 4px !important;
  font-size: 10px !important;
}
.sc-fq-hint { display: none; }
#scFastQuote.fq-in-progress .sc-fq-hint {
  display: block;
  margin: 0 0 4px !important;
  font-size: 10px !important;
}
.sc-fq-row { gap: 4px !important; margin-bottom: 4px !important; }

/* Compact chips (beat leftover 36px min-height) */
.sc-chip,
.sc-chip.sc-fq-chip,
.sc-topic-chips .sc-chip {
  min-height: 28px !important;
  padding: 4px 9px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}
.superchat-quick {
  gap: 5px !important;
  padding: 6px 10px !important;
}

/* Show-menu must beat the HTML [hidden] { display:none !important } UA rule */
.superchat-widget.menu-collapsed .sc-menu-toggle,
.superchat-widget.menu-expanded .sc-menu-toggle {
  display: flex !important;
}
.sc-menu-toggle[hidden] {
  display: none !important;
}
.superchat-widget.menu-collapsed .sc-menu-toggle[hidden],
.superchat-widget.menu-expanded .sc-menu-toggle[hidden] {
  display: flex !important;
}

/* Appointment card stays readable after collapse */
.orb-appt-card,
#orbApptCard {
  display: block !important;
  font-size: 12px;
  line-height: 1.4;
  padding: 10px !important;
}

/* Light theme contrast — leftover night-glass must not wash out the panel */
html[data-theme="light"] .superchat-panel {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: rgba(191, 219, 254, 0.7) !important;
}
html[data-theme="light"] .superchat-body {
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%) !important;
}
html[data-theme="light"] .sc-msg.bot .sc-bubble {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #e2e8f0 !important;
}
html[data-theme="light"] .sc-bubble b { color: #1d4ed8 !important; }
html[data-theme="light"] .sc-msg.user .sc-bubble b { color: #ffffff !important; }
html[data-theme="light"] .sc-chip {
  background: #ffffff !important;
  color: #1d4ed8 !important;
  border-color: #bfdbfe !important;
}
html[data-theme="light"] .sc-chip:hover,
html[data-theme="light"] .sc-chip.sc-fq-active {
  background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
  color: #ffffff !important;
}
html[data-theme="light"] .superchat-quick,
html[data-theme="light"] .superchat-contact-actions,
html[data-theme="light"] .superchat-input-row {
  background: #ffffff !important;
  border-top-color: rgba(226, 232, 240, 0.7) !important;
}
html[data-theme="light"] .superchat-contact-actions a {
  background: #f8fafc !important;
  color: #0f172a !important;
  border-color: #e2e8f0 !important;
}
html[data-theme="light"] .superchat-input {
  background: #f8fafc !important;
  color: #0f172a !important;
  border-color: #e2e8f0 !important;
}
html[data-theme="light"] .superchat-input-btn {
  background: #f1f5f9 !important;
  color: #334155 !important;
}
html[data-theme="light"] .sc-menu-toggle {
  background: #f8fafc !important;
  color: #334155 !important;
}
html[data-theme="light"] .sc-fast-quote {
  background: #f8fbff !important;
  border-top-color: #dbeafe !important;
}
html[data-theme="light"] .sc-fq-label { color: #1d4ed8 !important; }
html[data-theme="light"] .sc-fq-hint,
html[data-theme="light"] .sc-fq-reset { color: #475569 !important; }
html[data-theme="light"] .orb-appt-card,
html[data-theme="light"] #orbApptCard {
  background: #f8fbff !important;
  color: #0f172a !important;
  border-color: #bfdbfe !important;
}

/* Dark theme stays readable if user actually chose it */
html:not([data-theme="light"]) .sc-msg.bot .sc-bubble { color: #e2e8f0 !important; }
html:not([data-theme="light"]) .superchat-input { color: #e2e8f0 !important; }

@media (max-width: 600px) {
  .superchat-widget,
  .superchat-launch.fastfix-orb,
  button.superchat-launch.fastfix-orb {
    --orb-size: 68px;
  }
}

html[data-theme="light"] .sc-welcome-service { color: #1d4ed8 !important; }
html:not([data-theme="light"]) .sc-welcome-service { color: #93c5fd; }
html:not([data-theme="light"]) .sc-welcome-title { color: #e2e8f0; }
html:not([data-theme="light"]) .sc-welcome-hello { color: #e2e8f0; }

/* ---- Orb panel shrink + shortcut-row scroll (2026-08-25) ---- */
/* Audit: Check IMEI / Book Repair / Prepaid live in #superchatQuick.superchat-quick
   (also injected by scShowQuickReplies). Flex item min-width:auto was growing the
   row past the panel; panel overflow:hidden clipped the chips. Scroll THIS row. */
.superchat-widget.open .superchat-panel {
  width: min(380px, calc(100vw - 24px)) !important;
  max-width: min(380px, calc(100vw - 24px)) !important;
  height: min(56vh, 400px) !important;
  max-height: min(56vh, 400px) !important;
  min-height: 220px !important;
  overflow: hidden !important;
}
.superchat-widget.open .superchat-head,
.superchat-widget.open .superchat-input-row,
.superchat-widget.open .superchat-contact-actions,
.superchat-widget.open .sc-fast-quote,
.superchat-widget.open .sc-menu-toggle {
  flex-shrink: 0;
  min-width: 0;
}
.superchat-widget.open .superchat-body,
.superchat-widget.open #superchatMessages {
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
}

#superchatQuick.superchat-quick,
.superchat-quick,
#superchatQuick {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  flex: 0 0 auto !important;
  align-items: center;
  gap: 6px !important;
  padding: 6px 10px !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x;
  scrollbar-width: thin;
  mask-image: none !important;
  -webkit-mask-image: none !important;
}
#superchatQuick .sc-chip,
.superchat-quick .sc-chip,
.superchat-quick a.sc-chip {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  min-height: 32px !important;
  min-width: 44px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-sizing: border-box;
}
.sc-fq-row {
  display: flex !important;
  flex-wrap: wrap !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  touch-action: manipulation;
}
.sc-fq-row .sc-chip,
.sc-fq-row .sc-fq-reset {
  flex: 0 0 auto !important;
}

@media (max-width: 480px), (max-device-width: 480px) {
  .superchat-widget.open .superchat-panel {
    width: min(320px, calc(100vw - 16px)) !important;
    max-width: min(320px, calc(100vw - 16px)) !important;
    height: min(52vh, 340px) !important;
    max-height: min(52vh, 340px) !important;
  }
  #superchatQuick .sc-chip,
  .superchat-quick .sc-chip,
  .superchat-quick a.sc-chip {
    min-height: 36px !important;
    padding: 7px 12px !important;
  }
}
@media (min-width: 481px) and (max-width: 768px) {
  .superchat-widget.open .superchat-panel {
    width: min(340px, calc(100vw - 24px)) !important;
    max-width: min(340px, calc(100vw - 24px)) !important;
    height: min(54vh, 380px) !important;
    max-height: min(54vh, 380px) !important;
  }
}

/* ---- Future-proof message GUI 2026-08-26 ---- */
/* Typed rows: data-role + data-kind. New kinds reuse this row chrome. */

/* Decorative leftover .orb blobs stay unclickable */
.superchat-widget .orb,
.superchat-launch .orb,
.fastfix-orb .orb {
  pointer-events: none;
}

/* Header: Orb + one status word */
.superchat-head .sc-head-copy {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}
.superchat-head .sc-head-copy strong {
  display: inline;
}
.superchat-head .sc-head-status-word {
  display: inline !important;
  margin-top: 0 !important;
  font-size: 11px !important;
  font-weight: 700;
  color: #bfdbfe;
  letter-spacing: 0.02em;
}
.superchat-head .sc-head-subtitle-sr {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}

/* Stream geometry — list scrolls, type bar stays pinned */
.superchat-widget.open .superchat-panel,
.superchat-widget .superchat-panel,
.superchat-body,
#superchatMessages {
  overflow-x: clip;
}
#superchatMessages,
.superchat-widget.open #superchatMessages {
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0;
}
.superchat-widget.open .superchat-input-row {
  flex-shrink: 0 !important;
}
#superchatTyping { display: none !important; }

/* Shared row chrome — kinds only change inner payload */
.sc-msg[data-role] {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  max-width: 88%;
}
.sc-msg-col {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.sc-avatar {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  flex: 0 0 18px;
  margin-top: 4px;
}
.sc-avatar-orb {
  background: radial-gradient(circle at 35% 32%, #e8fbff 0%, #31cfff 28%, #087fff 62%, #0456c2 100%);
  box-shadow: 0 0 6px rgba(49, 207, 255, 0.65);
}
.sc-avatar-shop {
  background: #475569;
  box-shadow: 0 0 0 2px #e2e8f0;
}
.sc-msg-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #475569;
  margin: 0 0 2px 2px;
}

/* Orb: left, glass-blue */
.sc-msg[data-role="orb"] {
  align-self: flex-start;
}
.sc-msg[data-role="orb"] .sc-bubble {
  background: linear-gradient(180deg, rgba(232, 251, 255, 0.94), rgba(239, 246, 255, 0.9)) !important;
  border: 1px solid rgba(8, 127, 255, 0.22) !important;
  color: #0f172a !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* Visitor: right, solid/neutral */
.sc-msg[data-role="visitor"],
.sc-msg.user[data-role="visitor"] {
  align-self: flex-end;
  flex-direction: row-reverse;
  margin-left: auto;
}
.sc-msg[data-role="visitor"] .sc-bubble {
  background: #e2e8f0 !important;
  color: #0f172a !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: none !important;
}
.sc-msg[data-role="visitor"] .sc-bubble b,
.sc-msg[data-role="visitor"] .sc-bubble a {
  color: #0f172a !important;
}

/* Shop / Libby: left, labeled, distinct from orb */
.sc-msg[data-role="shop"] {
  align-self: flex-start;
}
.sc-msg[data-role="shop"] .sc-bubble {
  background: #ffffff !important;
  border: 1px solid #94a3b8 !important;
  color: #0f172a !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

/* Cards: full-width in the thread */
.sc-msg[data-kind="quote"],
.sc-msg[data-kind="booking"],
.sc-msg[data-kind="tips"],
.sc-msg[data-kind="welcome"] {
  max-width: 100%;
  width: 100%;
  align-self: stretch;
}
.sc-msg[data-kind="quote"] .sc-bubble,
.sc-msg[data-kind="booking"] .sc-bubble,
.sc-msg[data-kind="tips"] .sc-bubble,
.sc-card-bubble {
  width: 100%;
  box-sizing: border-box;
  border-radius: 12px !important;
}
.sc-msg[data-kind="quote"] .sc-bubble {
  background: #f8fbff !important;
  border: 1px solid #bfdbfe !important;
}

/* System / waiting: compact, muted, in-place via data-status-id */
.sc-msg[data-role="system"],
.sc-msg[data-kind="status"] {
  max-width: 100%;
  width: 100%;
  align-self: stretch;
  justify-content: center;
}
.sc-msg[data-kind="status"] .sc-bubble {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #64748b !important;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 8px !important;
  text-align: center;
}

html[data-theme="light"] .sc-msg[data-role="orb"] .sc-bubble {
  background: linear-gradient(180deg, rgba(232, 251, 255, 0.96), rgba(239, 246, 255, 0.92)) !important;
  color: #0f172a !important;
  border-color: rgba(8, 127, 255, 0.22) !important;
}
html[data-theme="light"] .sc-msg[data-role="visitor"] .sc-bubble {
  background: #e2e8f0 !important;
  color: #0f172a !important;
}
html[data-theme="light"] .sc-msg[data-role="shop"] .sc-bubble {
  background: #ffffff !important;
  color: #0f172a !important;
}
html:not([data-theme="light"]) .sc-msg[data-role="orb"] .sc-bubble {
  background: linear-gradient(180deg, rgba(8, 127, 255, 0.24), rgba(15, 23, 42, 0.72)) !important;
  color: #e2e8f0 !important;
  border-color: rgba(49, 207, 255, 0.28) !important;
}
html:not([data-theme="light"]) .sc-msg[data-role="visitor"] .sc-bubble {
  background: #334155 !important;
  color: #f8fafc !important;
  border-color: #475569 !important;
}
html:not([data-theme="light"]) .sc-msg[data-role="shop"] .sc-bubble {
  background: #1e293b !important;
  color: #e2e8f0 !important;
  border-color: #64748b !important;
}
html:not([data-theme="light"]) .sc-msg-label { color: #94a3b8; }
html:not([data-theme="light"]) .sc-msg[data-kind="status"] .sc-bubble { color: #94a3b8 !important; }
html:not([data-theme="light"]) .sc-avatar-shop { box-shadow: 0 0 0 2px #334155; }

@media (max-width: 480px), (max-device-width: 480px) {
  .sc-msg[data-role] { max-width: 92%; }
}


/* ---- Closed-orb floating service words 2026-08-26 ---- */
.superchat-widget .orb-float-services {
  pointer-events: none;
}
.superchat-widget .orb-float-word.is-live {
  pointer-events: auto !important;
}

.orb-float-services {
  position: absolute;
  right: 0;
  bottom: calc(var(--orb-size, 72px) + 10px);
  width: min(160px, calc(100vw - 40px));
  height: 40px;
  z-index: 10051;
  pointer-events: none;
  overflow: visible;
  max-width: calc(100vw - 32px);
}

.superchat-widget.open .orb-float-services,
.superchat-widget.minimizing .orb-float-services {
  display: none !important;
}

.orb-float-word {
  position: absolute;
  right: 6px;
  bottom: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-family: inherit;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 0.02em;
  line-height: 1.2;
  color: #087fff;
  text-shadow:
    0 0 10px rgba(49, 207, 255, 0.55),
    0 1px 2px rgba(255, 255, 255, 0.9),
    0 0 1px rgba(15, 23, 42, 0.45);
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  pointer-events: none;
  opacity: 0;
  transform: translateY(4px);
  will-change: transform, opacity;
}

.orb-float-word[data-slot="1"] {
  right: 22px;
  color: #31cfff;
}

.orb-float-word.is-live {
  pointer-events: auto;
  animation: orbFloatWordRise 3s ease-in-out forwards;
}

.orb-float-word.is-live:hover,
.orb-float-word.is-live:focus-visible {
  outline: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  color: #087fff;
}

@keyframes orbFloatWordRise {
  0% { opacity: 0; transform: translateY(6px); }
  16% { opacity: 1; transform: translateY(-2px); }
  52% { opacity: 1; transform: translateY(-18px); }
  100% { opacity: 0; transform: translateY(-32px); }
}

@media (prefers-reduced-motion: reduce) {
  .orb-float-word.is-live {
    animation: orbFloatWordFade 3s ease-in-out forwards;
  }
}

@keyframes orbFloatWordFade {
  0% { opacity: 0; transform: none; }
  18% { opacity: 1; transform: none; }
  78% { opacity: 1; transform: none; }
  100% { opacity: 0; transform: none; }
}

@media (max-width: 480px), (max-device-width: 480px) {
  .orb-float-services {
    width: min(140px, calc(100vw - 28px));
    bottom: calc(var(--orb-size, 68px) + 8px);
    height: 36px;
  }
  .orb-float-word {
    font-size: 12px;
    right: 4px;
  }
  .orb-float-word[data-slot="1"] {
    right: 16px;
  }
}


/* Paid IMEI result card in the orb */
.sc-bubble.sc-card-bubble .sc-imei-card,
.sc-imei-card {
  text-align: left;
  font-size: 13px;
  line-height: 1.45;
}
.sc-imei-card h3 { margin: 0 0 8px; font-size: 15px; }
.sc-imei-assist { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.sc-imei-assist button {
  border: 0; border-radius: 10px; padding: 10px 12px; font: inherit; font-weight: 800; cursor: pointer;
}
.sc-imei-assist .sc-imei-ts { background: #2563eb; color: #fff; }
.sc-imei-assist .sc-imei-book { background: #f59e0b; color: #0f172a; }

.sc-ah-quote {
  border: 1px solid #86efac;
  border-radius: 12px;
  padding: 12px;
  background: #f0fdf4;
}
.sc-ah-quote-kicker {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #166534;
  margin-bottom: 4px;
}
.sc-ah-quote-price {
  font-size: 28px;
  font-weight: 900;
  color: #166534;
  margin: 4px 0 8px;
}
.sc-ah-quote-body { font-size: 13px; margin-bottom: 10px; }
.sc-ah-book { background: #166534 !important; color: #fff !important; }
.sc-ah-ask { display: flex; flex-wrap: wrap; gap: 6px; }

/* Closed-orb online dot + first-visit whisper (not a full auto-open) */
.superchat-launch.fastfix-orb::after {
  content: "";
  position: absolute;
  right: 6px;
  bottom: 8px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #22c55e;
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 1px rgba(8, 127, 255, 0.25);
  z-index: 3;
  pointer-events: none;
}
.superchat-widget.open .superchat-launch.fastfix-orb::after,
.superchat-widget.minimizing .superchat-launch.fastfix-orb::after {
  opacity: 0;
}

.orb-auto-whisper {
  position: absolute;
  right: calc(var(--orb-size, 72px) + 10px);
  bottom: 14px;
  z-index: 5;
  max-width: min(220px, calc(100vw - 120px));
  margin: 0;
  padding: 8px 12px;
  border: 1px solid rgba(191, 219, 254, 0.95);
  border-radius: 14px 14px 4px 14px;
  background: rgba(255, 255, 255, 0.96);
  color: #0f172a;
  font: 700 12px/1.35 inherit;
  letter-spacing: 0.01em;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16);
  pointer-events: auto;
  opacity: 0;
  transform: translateX(8px);
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.orb-auto-whisper.is-visible {
  opacity: 1;
  transform: none;
}
.orb-auto-whisper:hover,
.orb-auto-whisper:focus-visible {
  background: #eff6ff;
  outline: 2px solid #087fff;
  outline-offset: 2px;
}
.superchat-widget.open .orb-auto-whisper,
.superchat-widget.minimizing .orb-auto-whisper {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .orb-auto-whisper {
    transition: none;
    transform: none;
  }
}

/* ---- Messenger GUI 2026-08-31 ---- */
.superchat-widget {
  --ffc-blue: #0066FF;
  --ffc-blue-2: #004FD8;
  --ffc-online: #21D07A;
  --ffc-chat-bg: #F5F7FA;
  --ffc-assist: #F4F7FB;
  --ffc-text: #111827;
}

.superchat-widget.open .superchat-launch,
.superchat-widget.open .superchat-launch.fastfix-orb,
.superchat-widget.open button.superchat-launch.fastfix-orb,
.superchat-widget.minimizing .superchat-launch,
.superchat-widget.minimizing .superchat-launch.fastfix-orb,
.superchat-widget.open #orbWhisperChip,
.superchat-widget.open .orb-auto-whisper,
.superchat-widget.open .orb-float-services,
.superchat-widget.open .orb-closed-chip,
.superchat-widget.open #orbClosedChip {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.superchat-widget .superchat-panel,
.superchat-widget.open .superchat-panel {
  display: none;
  width: min(400px, calc(100vw - 24px)) !important;
  max-width: min(420px, calc(100vw - 24px)) !important;
  height: var(--sc-panel-height, 410px) !important;
  max-height: min(70vh, 600px) !important;
  border-radius: 22px !important;
  border: 0 !important;
  background: #ffffff !important;
  color: #111827 !important;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15) !important;
  overflow: hidden !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}
.superchat-widget.open .superchat-panel {
  display: flex !important;
  flex-direction: column !important;
}

.superchat-head {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 8px !important;
  padding: 10px 10px 8px 12px !important;
  background: linear-gradient(135deg, #0066FF 0%, #004FD8 100%) !important;
  color: #ffffff !important;
  border-bottom: 0 !important;
  flex-shrink: 0;
}
.sc-head-top {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  width: 100%;
}
.superchat-head-status {
  display: flex !important;
  align-items: center;
  gap: 10px;
  min-width: 0 !important;
  flex: 1 1 auto;
  overflow: hidden;
  position: relative;
}
.sc-head-orb {
  display: block !important;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 50%;
  margin: 0 !important;
  color: transparent !important;
  background:
    radial-gradient(circle at 35% 32%, #e8fbff 0%, #31cfff 28%, #087fff 62%, #0456c2 100%);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35), 0 0 10px rgba(49, 207, 255, 0.55);
}
.superchat-head-status .superchat-dot {
  position: absolute;
  left: 26px;
  bottom: 2px;
  width: 10px !important;
  height: 10px !important;
  background: #21D07A !important;
  box-shadow: 0 0 0 2px #0066FF !important;
  z-index: 1;
}
.superchat-head-status .superchat-dot.ok { background: #21D07A !important; }
.superchat-head-status .superchat-dot.bad { background: #f87171 !important; }
.superchat-head .sc-head-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 1px !important;
  min-width: 0 !important;
}
.superchat-head .sc-head-copy strong {
  display: block !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.superchat-head .sc-head-status-word,
.superchat-head span.sc-head-status-word {
  display: block !important;
  margin-top: 1px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.88) !important;
  letter-spacing: 0 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.superchat-widget[data-orb-head="Checking shop"] .sc-head-status-word { color: #fde68a !important; }
.superchat-widget[data-orb-head="Offline"] .sc-head-status-word { color: #fecaca !important; }

.sc-head-actions {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-left: auto;
  flex-shrink: 0;
}
.sc-overflow { position: relative; }
.superchat-more,
.superchat-minimize,
.superchat-close,
.superchat-clear {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px;
  min-height: 36px;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #ffffff !important;
  cursor: pointer;
  font-size: 18px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-shadow: none !important;
}
.superchat-close { font-size: 22px !important; }
.superchat-more:hover,
.superchat-minimize:hover,
.superchat-close:hover,
.superchat-more:focus-visible,
.superchat-minimize:focus-visible,
.superchat-close:focus-visible {
  background: rgba(255, 255, 255, 0.16) !important;
  transform: none !important;
  outline: 2px solid #ffffff;
  outline-offset: 1px;
}
.sc-overflow-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 6;
  min-width: 188px;
  padding: 6px;
  border: 0;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
}
.sc-overflow-menu[hidden] { display: none !important; }
.sc-overflow-menu button,
.sc-overflow-menu a {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 10px 12px;
  min-height: 40px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #111827;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.sc-overflow-menu button:hover,
.sc-overflow-menu a:hover,
.sc-overflow-menu button:focus-visible,
.sc-overflow-menu a:focus-visible {
  background: #EFF6FF;
  color: #0066FF;
  outline: none;
}

.sc-head-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}
.sc-head-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 0;
  min-height: 32px;
  padding: 5px 6px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
  font: inherit;
  font-size: 11px;
  font-weight: 650;
  cursor: pointer;
  white-space: nowrap;
}
.sc-head-nav-btn:hover,
.sc-head-nav-btn:focus-visible {
  background: rgba(255, 255, 255, 0.26);
  outline: 2px solid #ffffff;
  outline-offset: 1px;
}
.superchat-head .sc-head-nav-btn span {
  display: inline-flex !important;
  margin-top: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}
.sc-head-nav-ico {
  display: inline-flex !important;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.sc-head-nav-ico svg { display: block; }
.sc-head-nav-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.superchat-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  background: #F5F7FA !important;
  overflow: hidden !important;
}
#superchatMessages,
.superchat-widget.open #superchatMessages {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 14px 12px 10px !important;
  gap: 2px !important;
  background: #F5F7FA !important;
}

.sc-msg[data-role],
.sc-msg {
  max-width: 86%;
  margin: 6px 0 0;
}
.sc-msg-continue { margin-top: 2px; }
.sc-msg-continue .sc-avatar {
  visibility: hidden;
}
.sc-avatar {
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px !important;
  margin-top: 2px;
}
.sc-copy-btn { display: none !important; }

.sc-msg[data-role="orb"] .sc-bubble,
.sc-msg.bot .sc-bubble,
.sc-welcome-bubble,
.sc-msg[data-kind="welcome"] .sc-welcome-bubble,
html[data-theme="light"] .sc-msg[data-role="orb"] .sc-bubble,
html:not([data-theme="light"]) .sc-msg[data-role="orb"] .sc-bubble {
  background: #F4F7FB !important;
  color: #111827 !important;
  border: 0 !important;
  border-radius: 16px 16px 16px 5px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 10px 12px !important;
  font-size: 14px;
  line-height: 1.45;
}
.sc-msg[data-role="visitor"] .sc-bubble,
.sc-msg.user .sc-bubble,
html[data-theme="light"] .sc-msg[data-role="visitor"] .sc-bubble,
html:not([data-theme="light"]) .sc-msg[data-role="visitor"] .sc-bubble {
  background: #0066FF !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 16px 16px 5px 16px !important;
  box-shadow: none !important;
}
.sc-msg[data-role="visitor"] .sc-bubble b,
.sc-msg[data-role="visitor"] .sc-bubble a,
.sc-msg.user .sc-bubble b,
.sc-msg.user .sc-bubble a {
  color: #ffffff !important;
}
.sc-msg[data-role="shop"] .sc-bubble {
  background: #ffffff !important;
  color: #111827 !important;
  border: 1px solid #E5E7EB !important;
  border-radius: 16px 16px 16px 5px !important;
}

.sc-welcome-hello {
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  color: #111827 !important;
  white-space: pre-line;
}
.sc-welcome-title,
.sc-welcome-cycle,
.sc-welcome-list,
.sc-welcome-choices { display: none !important; }

.sc-time {
  font-size: 10px !important;
  color: #9CA3AF !important;
  margin-top: 3px !important;
  opacity: 1 !important;
}
.sc-msg[data-role="visitor"] .sc-time,
.sc-msg.user .sc-time {
  color: #9CA3AF !important;
  text-align: right;
}
.sc-ticks {
  margin-left: 4px;
  color: #0066FF;
  letter-spacing: -2px;
  font-size: 11px;
}

.sc-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
  max-width: 100%;
}
.sc-inline-chip {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 5px 10px;
  border: 1px solid #D6E4FF;
  border-radius: 999px;
  background: #ffffff;
  color: #0066FF;
  font: inherit;
  font-size: 12px;
  font-weight: 650;
  cursor: pointer;
  white-space: nowrap;
}
.sc-inline-chip:hover,
.sc-inline-chip:focus-visible {
  background: #EFF6FF;
  outline: 2px solid #0066FF;
  outline-offset: 1px;
}

.sc-appt-msg,
.orb-appt-card,
#orbApptCard {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  font-size: 14px;
  line-height: 1.45;
  color: #111827;
}

.sc-menu-toggle,
.superchat-widget.menu-collapsed .sc-menu-toggle,
.superchat-widget.menu-expanded .sc-menu-toggle,
.superchat-widget.menu-collapsed .sc-menu-toggle[hidden],
.superchat-widget.menu-expanded .sc-menu-toggle[hidden],
.superchat-contact-actions,
.superchat-widget.menu-expanded .superchat-contact-actions,
.superchat-widget.menu-collapsed .superchat-contact-actions,
#superchatQuick,
#superchatQuick.superchat-quick,
.superchat-quick,
.superchat-widget.menu-collapsed .superchat-quick,
.superchat-widget.menu-collapsed #superchatQuick,
.superchat-widget.menu-expanded .superchat-quick,
.superchat-widget.menu-expanded #superchatQuick,
#scFastQuote,
.superchat-widget.menu-expanded #scFastQuote,
.sc-fast-quote {
  display: none !important;
}
#scFastQuote.fq-in-progress,
#scFastQuote.fq-in-progress[hidden],
.sc-fast-quote.fq-in-progress {
  display: block !important;
  flex-shrink: 0;
  padding: 8px 12px 10px !important;
  border-top: 1px solid #EEF2F6;
  background: #ffffff !important;
  overflow: hidden;
}
#scFastQuote.fq-in-progress .sc-fq-row,
.sc-fast-quote.fq-in-progress .sc-fq-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  overflow: hidden !important;
  max-width: 100%;
}
#scFastQuote.fq-in-progress .sc-chip,
.sc-fast-quote.fq-in-progress .sc-chip {
  flex: 0 1 auto !important;
  white-space: nowrap;
  min-height: 32px !important;
}

.superchat-widget .superchat-input-row,
.superchat-widget.menu-collapsed .superchat-input-row,
.superchat-widget.menu-expanded .superchat-input-row,
.superchat-widget.welcome-open .superchat-input-row,
.superchat-input-row {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) 40px 40px;
  align-items: end;
  gap: 6px !important;
  padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
  background: #ffffff !important;
  border-top: 1px solid #EEF2F6 !important;
  box-shadow: none !important;
  flex-shrink: 0 !important;
  overflow: hidden;
}
.superchat-input-btn {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #64748B !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.superchat-input-btn:hover,
.superchat-input-btn:focus-visible {
  background: #F1F5F9 !important;
  color: #0066FF !important;
  outline: 2px solid #0066FF;
  outline-offset: 1px;
}
.sc-voice-btn:disabled {
  opacity: 0.38;
  cursor: default !important;
}
.superchat-input,
html[data-theme="light"] .superchat-input,
html:not([data-theme="light"]) .superchat-input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 9px 14px !important;
  min-height: 40px;
  max-height: 72px;
  border: 0 !important;
  border-radius: 20px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  background: #F3F6FA !important;
  color: #111827 !important;
  box-shadow: none !important;
}
.superchat-input:focus,
html[data-theme="light"] .superchat-input:focus {
  background: #EEF3F9 !important;
  box-shadow: 0 0 0 2px rgba(0, 102, 255, 0.18) !important;
  border-color: transparent !important;
}
.superchat-send {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  border-radius: 50% !important;
  background: #0066FF !important;
  color: #ffffff !important;
  box-shadow: none !important;
}
.superchat-send:hover { transform: none !important; background: #0052D9 !important; }
.superchat-char-count { display: none; }
.superchat-char-count.near-limit { display: block; right: 96px; bottom: 6px; }

.orb-booking-card input,
.orb-booking-card textarea {
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .superchat-head .sc-head-nav-btn .sc-head-nav-label {
    display: none !important;
  }
  .sc-head-nav-btn {
    width: auto;
    min-width: 0;
    min-height: 40px;
    padding: 0;
    border-radius: 12px;
  }
}

@media (max-width: 767px) {
  .superchat-widget.open {
    right: 12px !important;
    left: auto !important;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    top: auto !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
  }
  .superchat-widget.open .superchat-panel {
    left: auto !important;
    right: 0 !important;
    top: auto !important;
    bottom: 0 !important;
    width: calc(100vw - 24px) !important;
    max-width: 420px !important;
    height: var(--sc-panel-height, 400px) !important;
    max-height: min(65dvh, 560px) !important;
    border-radius: 18px !important;
    padding-top: 0 !important;
  }
  .superchat-head { padding-top: 8px !important; }
  .superchat-more,
  .superchat-minimize,
  .superchat-close {
    width: 40px !important;
    height: 40px !important;
  }
  .superchat-send,
  .superchat-input-btn {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
  .superchat-widget .superchat-input-row,
  .superchat-input-row {
    grid-template-columns: 44px minmax(0, 1fr) 44px 44px !important;
  }
  .superchat-input { font-size: 16px !important; }
}

html:not([data-theme="light"]) .superchat-widget.open .superchat-panel,
html:not([data-theme="light"]) .superchat-body,
html:not([data-theme="light"]) #superchatMessages {
  background: #F5F7FA !important;
  color: #111827 !important;
}
html:not([data-theme="light"]) .superchat-input-row { background: #ffffff !important; }
html:not([data-theme="light"]) .sc-welcome-hello { color: #111827 !important; }

@media (prefers-reduced-motion: reduce) {
  .sc-head-nav-btn,
  .sc-inline-chip,
  .superchat-more,
  .superchat-minimize,
  .superchat-close,
  .superchat-send {
    transition: none !important;
  }
}

/* ============================================================
   FastFix Assistant — floating card size & chat flow (2026-09-17)
   Never full-screen. Messages scroll inside. Website stays visible.
   ============================================================ */
.superchat-widget {
  pointer-events: none !important;
  max-width: none !important;
  max-height: none !important;
}
.superchat-widget .superchat-panel,
.superchat-widget .superchat-launch,
.superchat-widget .superchat-actions,
.superchat-widget .orb-float-services,
.superchat-widget .orb-float-word,
.superchat-widget .orb-auto-whisper {
  pointer-events: auto;
}

.superchat-widget.open .superchat-panel {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  height: var(--sc-panel-height, 410px) !important;
  max-height: var(--sc-panel-max-height, min(70vh, 600px)) !important;
  min-height: 220px !important;
  width: var(--sc-panel-width, 380px) !important;
  max-width: min(420px, calc(100vw - 24px)) !important;
  right: var(--sc-panel-right, 24px) !important;
  bottom: var(--sc-panel-bottom, 24px) !important;
  left: auto !important;
  top: auto !important;
  transition: height 0.26s cubic-bezier(0.22, 1, 0.36, 1),
              max-height 0.26s cubic-bezier(0.22, 1, 0.36, 1);
}

.superchat-widget.open .superchat-head,
.superchat-widget.open .sc-menu-toggle,
.superchat-widget.open .sc-fast-quote,
.superchat-widget.open .superchat-quick,
.superchat-widget.open .superchat-contact-actions,
.superchat-widget.open .superchat-input-row {
  flex: 0 0 auto !important;
  min-height: 0;
}

.superchat-widget.open .superchat-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}
.superchat-widget.open .superchat-body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 22px;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, #F5F7FA 0%, rgba(245, 247, 250, 0) 100%);
}
.superchat-widget.open #superchatMessages {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.sc-msg,
.sc-msg[data-role],
.sc-bubble {
  max-width: 85% !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  box-sizing: border-box;
}
.sc-msg { min-width: 0; }

.superchat-head {
  padding: 8px 10px 6px 12px !important;
  gap: 6px !important;
}
.sc-head-orb {
  width: 28px !important;
  height: 28px !important;
  flex-basis: 28px !important;
}
.superchat-head-status .superchat-dot {
  left: 20px !important;
}

.sc-new-msg-btn {
  position: absolute;
  left: 50%;
  bottom: 8px;
  transform: translateX(-50%);
  z-index: 4;
  border: 0;
  border-radius: 999px;
  padding: 6px 12px;
  min-height: 32px;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background: #2563eb;
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.35);
  cursor: pointer;
}
.sc-new-msg-btn[hidden] { display: none !important; }

@media (max-width: 600px) {
  .superchat-widget.open {
    right: 12px !important;
    left: auto !important;
    top: auto !important;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    width: auto !important;
    height: auto !important;
  }
  .superchat-widget.open .superchat-panel {
    width: calc(100vw - 24px) !important;
    max-width: 420px !important;
    height: var(--sc-panel-height, 400px) !important;
    max-height: min(65dvh, 560px) !important;
    right: 0 !important;
    left: auto !important;
    top: auto !important;
    bottom: 0 !important;
    border-radius: 18px !important;
  }
}

@media (min-width: 601px) and (max-width: 1024px) {
  .superchat-widget.open .superchat-panel {
    width: min(400px, calc(100vw - 32px)) !important;
    max-height: min(65vh, 560px) !important;
  }
}

@media (min-width: 1025px) {
  .superchat-widget.open .superchat-panel {
    width: 380px !important;
    max-width: 400px !important;
    max-height: min(70vh, 600px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .superchat-widget.open .superchat-panel {
    transition: none !important;
  }
}
