/*
 * 法国包车｜全站悬浮支持中心（方案 C）
 * 默认：收起，仅显示一个酒红金色圆形耳机按钮
 * 点击：展开 巴黎天气 / 在线咨询 / 微信咨询
 * Desktop + Mobile
 *
 * Scope is intentionally namespaced to .fbc-support-hub
 */

:root {
  --fbc-hub-burgundy: #7f1730;
  --fbc-hub-burgundy-deep: #4e0d1b;
  --fbc-hub-gold: #c8a96b;
  --fbc-hub-gold-deep: #9e7c3a;
  --fbc-hub-champagne: #f3dca4;
  --fbc-hub-ivory: #fff9f1;
  --fbc-hub-shadow: 0 14px 42px rgba(57, 14, 25, .22);
}

.fbc-support-hub {
  position: fixed;
  z-index: 2147482400;
  right: 24px;
  top: 50%;
  width: 56px;
  height: 56px;
  transform: translateY(-50%);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  pointer-events: none;
}

.fbc-support-hub *,
.fbc-support-hub *::before,
.fbc-support-hub *::after {
  box-sizing: border-box;
}

.fbc-support-hub button {
  font: inherit;
}

.fbc-support-hub__trigger,
.fbc-support-hub__panel,
.fbc-support-hub__panel button {
  pointer-events: auto;
}

/* Collapsed trigger */
.fbc-support-hub__trigger {
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  width: 82px;
  height: 82px;
  border-radius: 50%;
  border: 3px solid #D6B56A;
  background:
    radial-gradient(circle at 32% 26%, rgba(255,255,255,.16), transparent 34%),
    linear-gradient(145deg, #971f3e 0%, var(--fbc-hub-burgundy) 54%, var(--fbc-hub-burgundy-deep) 100%);
  color: var(--fbc-hub-champagne);
  box-shadow:
    0 0 0 4px rgba(214,181,106,.14),
    0 0 14px rgba(214,181,106,.44),
    0 0 26px rgba(200,169,107,.24),
    0 8px 22px rgba(55,12,22,.26),
    inset 0 0 0 1px rgba(255,249,225,.20);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .22s ease;
  animation: fbc-consult-glow 2.4s ease-in-out infinite;
}

.fbc-support-hub__trigger:hover {
  transform: scale(1.06);
}

.fbc-support-hub__trigger:active {
  transform: scale(.95);
}

.fbc-support-hub__trigger:focus-visible,
.fbc-support-hub__action:focus-visible,
.fbc-support-hub__close:focus-visible {
  outline: 2px solid var(--fbc-hub-champagne);
  outline-offset: 3px;
}

.fbc-support-hub__trigger svg {
  width: 35px;
  height: 35px;
}

/* Static inner highlight; the button shadow supplies one gentle pulse. */
.fbc-support-hub__trigger::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  border: 1px solid rgba(243,220,164,.42);
  box-shadow: inset 0 1px 2px rgba(255,255,255,.10);
  opacity: 1;
  pointer-events: none;
  animation: none;
}

/* Expanded panel */
.fbc-support-hub__panel {
  position: absolute;
  right: 0;
  top: 50%;
  width: 254px;
  min-height: 260px;
  padding: 18px 16px;
  border-radius: 24px;
  border: 1px solid rgba(200,169,107,.78);
  background:
    linear-gradient(rgba(255,249,241,.92), rgba(255,249,241,.92)),
    radial-gradient(circle at 84% 10%, rgba(200,169,107,.18), transparent 35%);
  box-shadow: var(--fbc-hub-shadow);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  transform: translateY(-50%) translateX(18px) scale(.94);
  transform-origin: right center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity .24s ease,
    transform .28s cubic-bezier(.2,.8,.2,1),
    visibility .24s linear;
}

.fbc-support-hub.is-open .fbc-support-hub__panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(-50%) translateX(-70px) scale(1);
}

/* Decorative orbit, inspired by selected Concept C */
.fbc-support-hub__panel::before {
  content: "";
  position: absolute;
  right: 18px;
  top: 24px;
  width: 122px;
  height: 212px;
  border-radius: 999px;
  border: 1px dashed rgba(158,124,58,.26);
  transform: rotate(-7deg);
  pointer-events: none;
}

.fbc-support-hub__actions {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 15px;
  padding-right: 46px;
}

.fbc-support-hub__action {
  position: relative;
  min-height: 48px;
  border: 0;
  border-radius: 999px;
  padding: 11px 48px 11px 17px;
  background:
    linear-gradient(135deg, #981f40 0%, var(--fbc-hub-burgundy) 55%, #671126 100%);
  color: #fffaf1;
  box-shadow:
    0 8px 20px rgba(91,20,37,.18),
    inset 0 1px 0 rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}

.fbc-support-hub__action:hover {
  transform: translateX(-2px);
  box-shadow: 0 11px 25px rgba(91,20,37,.25);
}

.fbc-support-hub__action-icon {
  position: absolute;
  right: -33px;
  top: 50%;
  translate: 0 -50%;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1.5px solid var(--fbc-hub-gold);
  background: linear-gradient(145deg, #971f3e, #671126);
  color: var(--fbc-hub-champagne);
  display: grid;
  place-items: center;
  box-shadow: 0 8px 22px rgba(91,20,37,.22);
}

.fbc-support-hub__action-icon svg {
  width: 24px;
  height: 24px;
}

.fbc-support-hub__action--online .fbc-support-hub__action-icon::after {
  content: "";
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #31b985;
  box-shadow: 0 0 0 4px rgba(49,185,133,.16);
}

.fbc-support-hub__close {
  position: absolute;
  right: 15px;
  bottom: 15px;
  z-index: 3;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1.5px solid var(--fbc-hub-gold);
  background: linear-gradient(145deg, #8e1c38, #5b1022);
  color: var(--fbc-hub-champagne);
  display: grid;
  place-items: center;
  cursor: pointer;
}

.fbc-support-hub__close svg {
  width: 20px;
  height: 20px;
}

.fbc-support-hub.is-open .fbc-support-hub__trigger {
  opacity: 0;
  pointer-events: none;
  transform: scale(.85);
}

@keyframes fbc-consult-glow {
  0%, 100% {
    box-shadow:
      0 0 0 4px rgba(214,181,106,.14),
      0 0 14px rgba(214,181,106,.44),
      0 0 26px rgba(200,169,107,.24),
      0 8px 22px rgba(55,12,22,.26),
      inset 0 0 0 1px rgba(255,249,225,.20);
  }
  50% {
    box-shadow:
      0 0 0 5px rgba(214,181,106,.20),
      0 0 20px rgba(214,181,106,.68),
      0 0 32px rgba(200,169,107,.34),
      0 9px 25px rgba(55,12,22,.30),
      inset 0 0 0 1px rgba(255,249,225,.24);
  }
}

/* Mobile: lower-right, clear of browser/UI safe area */
@media (max-width: 767px) {
  .fbc-support-hub {
    right: 14px;
    top: auto;
    bottom: calc(82px + env(safe-area-inset-bottom, 0px));
    transform: none;
  }

  .fbc-support-hub__trigger {
    right: -6px;
    top: auto;
    bottom: 2px;
    translate: none;
    width: 76px;
    height: 76px;
  }

  .fbc-support-hub__trigger svg {
    width: 32px;
    height: 32px;
  }

  .fbc-support-hub__panel {
    top: auto;
    right: 0;
    bottom: 0;
    width: min(78vw, 282px);
    min-height: 248px;
    transform: translateX(14px) translateY(14px) scale(.94);
    transform-origin: right bottom;
  }

  .fbc-support-hub.is-open .fbc-support-hub__panel {
    transform: translateX(-8px) translateY(-68px) scale(1);
  }

  .fbc-support-hub__actions {
    gap: 14px;
  }
}

/* Extra-small phones */
@media (max-width: 360px) {
  .fbc-support-hub {
    right: 10px;
  }

  .fbc-support-hub__trigger {
    right: -2px;
  }

  .fbc-support-hub__panel {
    width: min(82vw, 272px);
    padding-left: 14px;
  }

  .fbc-support-hub__action {
    font-size: 14px;
  }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  .fbc-support-hub *,
  .fbc-support-hub *::before,
  .fbc-support-hub *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* Integration only: native drawers keep their original content and handlers. */
.fbc-support-hub{z-index:980}
.fbc-support-hub.is-chat-open{visibility:hidden;pointer-events:none}
@media(min-width:768px){
 body.fbc-support-hub-ready>.fbc-weather,body.fbc-support-hub-ready>.c3-service-consultant__panel{left:auto!important;right:92px!important;top:50%!important;transform:translateY(-50%)!important}
 body.fbc-support-hub-ready>.fbc-weather{width:min(360px,calc(100vw - 116px))!important}
 body.fbc-support-hub-ready>.c3-service-consultant__panel{width:min(306px,calc(100vw - 116px))!important}
 body.fbc-support-hub-ready>.fbc-weather__bridge,body.fbc-support-hub-ready>.c3-service-consultant__bridge{left:auto!important;right:80px!important;top:50%!important;width:12px!important;transform:translateY(-50%)!important}
}
@media(max-width:767px){
 body.c3-consultation-open>.fbc-support-hub,body.fbc-weather-open>.fbc-support-hub,body.fbc-tools-suspended>.fbc-support-hub{visibility:hidden;pointer-events:none}
}
/* Desktop: center the 84px launcher at 75vw, independent of page content. */
@media (min-width: 1024px) {
  body > .fbc-support-hub {
    position: fixed;
    right: auto;
    left: calc(75vw - 42px);
    top: 58vh;
    bottom: auto;
    width: 84px;
    height: 84px;
    transform: translateY(-50%);
  }

  body > .fbc-support-hub > .fbc-support-hub__panel {
    top: 50%;
    right: 0;
    width: 254px;
    transform: translateY(-50%) translateX(10px) scaleX(.96);
    transform-origin: right center;
    transition: opacity .22s ease, transform .22s ease, visibility .22s linear;
  }

  body > .fbc-support-hub.is-open > .fbc-support-hub__panel {
    transform: translateY(-50%) translateX(0) scaleX(1);
  }

  body > .fbc-support-hub.is-open > .fbc-support-hub__trigger {
    transform: none;
  }

  body > .fbc-support-hub > .fbc-support-hub__trigger {
    top: 50%;
    right: 0;
    width: 84px;
    height: 84px;
    padding: 0;
    border: 3px solid #d6b56a;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #a02448 0%, #7d1236 45%, #5b0b25 100%);
    color: #f3dca4;
    box-shadow: 0 0 0 4px rgba(214,181,106,.14), 0 0 18px rgba(214,181,106,.38), 0 0 34px rgba(214,181,106,.24), 0 10px 24px rgba(33,8,16,.28);
    transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
    animation: fbcDesktopConsultPulse 2.6s ease-in-out infinite;
  }

  body > .fbc-support-hub > .fbc-support-hub__trigger svg {
    width: 38px;
    height: 38px;
  }

  body > .fbc-support-hub:not(.is-open) > .fbc-support-hub__trigger:hover {
    transform: scale(1.06);
    animation: none;
    box-shadow: 0 0 0 5px rgba(214,181,106,.18), 0 0 24px rgba(214,181,106,.56), 0 0 40px rgba(214,181,106,.30), 0 12px 26px rgba(33,8,16,.30);
  }

  body > .fbc-support-hub:not(.is-open) > .fbc-support-hub__trigger:active {
    transform: scale(.96);
    animation: none;
  }

  @keyframes fbcDesktopConsultPulse {
    0%, 100% {
      box-shadow: 0 0 0 4px rgba(214,181,106,.12), 0 0 16px rgba(214,181,106,.34), 0 0 28px rgba(214,181,106,.20), 0 10px 24px rgba(33,8,16,.26);
    }
    50% {
      box-shadow: 0 0 0 6px rgba(214,181,106,.18), 0 0 24px rgba(214,181,106,.48), 0 0 42px rgba(214,181,106,.28), 0 12px 28px rgba(33,8,16,.30);
    }
  }
}

@media (min-width: 1024px) and (prefers-reduced-motion: reduce) {
  body > .fbc-support-hub > .fbc-support-hub__trigger {
    animation: none !important;
    transition: none !important;
  }
}
