/* CheckNow 浮动工具栏：微信 | 客服 | 返回顶部 */
.checknow-floating-widgets {
  position: fixed;
  right: 24px;
  bottom: 96px;
  z-index: 1100;
  display: flex;
  flex-direction: column;
  gap: 16px;
  pointer-events: none;
}

.checknow-float-item {
  position: relative;
  pointer-events: auto;
}
.checknow-float-item[hidden]{display:none}

.checknow-float-btn {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--checknow-accent);
  border-radius: 50%;
  background: var(--cn-surface-dark);
  color: var(--cn-accent);
  box-shadow: 0 4px 16px rgba(0, 0, 0, .2); /* ponytail: 黑色阴影 */
  cursor: pointer;
  pointer-events: auto;
  transition: background .2s, color .2s;
}

.checknow-float-btn:hover,
.checknow-float-btn:focus-visible,
.cn-tawk-trigger.cn-tawk-active {
  background: var(--cn-accent);
  color: var(--cn-surface-dark);
}

.checknow-float-icon {
  width: 22px;
  height: 22px;
  line-height: 1;
}
.checknow-float-notice__badge{position:absolute;top:-5px;right:-5px;display:grid;min-width:20px;height:20px;padding:0 5px;place-items:center;border:2px solid var(--cn-surface);border-radius:999px;background:#dc2626;color:#fff;font-size:11px;font-weight:700;line-height:1}.checknow-float-notice{position:relative;text-decoration:none}

/* 微信按钮左侧二维码 */
.checknow-float-qr {
  position: absolute;
  right: calc(100% + 14px);
  top: 50%;
  z-index: 1110;
  width: 176px;
  padding: 8px;
  transform: translateY(-50%);
  border: 1px solid rgba(212, 175, 55, .35); /* ponytail: 金色透明边框 */
  border-radius: 10px;
  background: var(--cn-surface);
  box-shadow: var(--cn-shadow-qr);
  pointer-events: auto;
}

.checknow-float-qr[hidden] {
  display: none !important;
  pointer-events: none;
}

.checknow-float-qr img {
  width: 160px;
  height: 160px;
  display: block;
  object-fit: contain;
}

@media (max-width: 768px) {
  .checknow-floating-widgets {
    right: 16px;
    bottom: 80px;
    gap: 12px;
  }

  .checknow-float-btn {
    width: 42px;
    height: 42px;
  }

  .checknow-float-icon {
    width: 19px;
    height: 19px;
  }

  .checknow-float-qr {
    right: calc(100% + 10px);
    width: 156px;
  }

  .checknow-float-qr img {
    width: 140px;
    height: 140px;
  }
}

/* ═══════════════════════════════════════════
   Chatwoot Widget 品牌化覆盖
   隐藏默认 bubble，匹配 CheckNow 深蓝配色
   ═══════════════════════════════════════════ */

/* 隐藏 Chatwoot 默认气泡（我们用自定义 launcher） */
.woot-widget-bubble,
.woot--bubble,
.woot-widget-bubble--expanded {
  display: none !important;
}

/* Chatwoot 对话窗口容器 */
.woot-widget-holder {
  z-index: 99990 !important;
}

.woot-widget--expanded {
  box-shadow: 0 8px 40px rgba(0,0,0,0.18) !important; /* ponytail: 黑色阴影，第三方 Chatwoot */
  border-radius: 12px !important;
}

/* ═══════════════════════════════════════════
   CheckNow Premium Chat Window
/* ═══════════════════════════════════════════
   CheckNow Premium Chat — Compact Business
   ═══════════════════════════════════════════ */

/* ═══════════════════════════════════════════
   CheckNow Premium Chat — Compact Business
   ═══════════════════════════════════════════ */

/* ═══════════════════════════════════════════
   CheckNow Premium Chat — Compact Business
   ═══════════════════════════════════════════ */

/* ═══════════════════════════════════════════
   CheckNow Chat — v2
   ═══════════════════════════════════════════ */
.cn-chat-window-premium {
  position:fixed;right:24px;bottom:88px;z-index:99999;
  width:340px;max-width:calc(100vw - 16px);
  height:540px;max-height:calc(100dvh - 110px);
  background:var(--cn-surface);border-radius:6px;
  box-shadow:var(--cn-shadow-md);
  display:flex;flex-direction:column;overflow:hidden;
}
.cn-chat-window-premium[hidden]{display:none!important}

/* Header — CheckNow深蓝 */
.cn-chat-premium__header {
  display:flex;align-items:center;gap:10px;padding:12px 14px;
  background:var(--cn-primary);color:var(--cn-text-inverse);flex-shrink:0;height:64px;box-sizing:border-box;
}
.cn-chat-premium__logo {
  width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12); /* ponytail: 白色透明 */
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:700;flex-shrink:0;color:var(--cn-accent);
}
.cn-chat-premium__title{flex:1;min-width:0}
.cn-chat-premium__title strong{display:block;font-size:14px;font-weight:600;line-height:1.3}
.cn-chat-premium__title small{font-size:11px;opacity:.72}
.cn-chat-premium__actions{display:flex;gap:2px;flex-shrink:0}
.cn-chat-premium__action{
  width:28px;height:28px;border:none;background:transparent;
  color:rgba(255,255,255,.75);cursor:pointer;font-size:14px;
  border-radius:4px;display:flex;align-items:center;justify-content:center;
}
.cn-chat-premium__action:hover{background:rgba(255,255,255,.12);color:var(--cn-text-inverse)}

/* Body */
.cn-chat-premium__body{
  flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;
  background:var(--cn-surface-soft, #f0f2f5);padding:12px 14px;
}
.cn-chat-premium__msg{margin-bottom:10px;display:flex;flex-direction:column;max-width:75%}
.cn-chat-premium__msg--agent{align-items:flex-start}
.cn-chat-premium__msg--user{align-items:flex-end;margin-left:auto}
.cn-chat-premium__msg-meta{font-size:11px;color:var(--cn-text-muted);margin-top:4px;padding:0 2px;order:2}
.cn-chat-premium__msg-meta--user{text-align:right}
.cn-chat-premium__time{margin-left:6px}
.cn-chat-premium__notice{margin:4px 0 10px;padding:7px 12px;border-radius:6px;background:#fef3c7;color:#92400e;font-size:12px;text-align:center}
.cn-chat-premium__bubble{
  font-size:13px;line-height:1.45;padding:9px 12px;border-radius:6px;overflow-wrap:anywhere;width:fit-content;max-width:100%;min-width:0;
}
.cn-chat-premium__msg--agent .cn-chat-premium__bubble{
  background:var(--cn-surface);color:var(--cn-text);border:1px solid var(--cn-chat-border);border-radius:4px 8px 8px 8px;
}
.cn-chat-premium__msg--user .cn-chat-premium__bubble{
  background:var(--cn-surface);color:var(--cn-text);border:1px solid var(--cn-chat-border);border-radius:8px 4px 8px 8px;
}

/* Images */
.cn-chat-premium__img{
  max-width:100%;border-radius:4px;display:block;margin-top:4px;cursor:pointer;border:1px solid var(--cn-chat-divider);order:1;
}
.cn-chat-premium__img-fallback{
  display:inline-block;padding:6px 10px;background:#f0f0f0;border-radius:4px;color:var(--cn-private-text);font-size:12px;order:1;
}

/* Typing */
.cn-chat-premium__typing{font-size:11px;color:var(--cn-text-muted);padding:2px 0;font-style:italic}

/* Compose — edge to edge */
.cn-chat-premium__compose{position:relative;
  border-top:1px solid var(--cn-chat-divider);background:var(--cn-surface);flex-shrink:0;padding:0;margin:0;
}
.cn-chat-premium__input{
  width:100%;border:none;outline:none;border-radius:0;padding:10px 14px;
  font-size:13px;resize:none;box-sizing:border-box;
  font-family:inherit;line-height:1.45;min-height:56px;max-height:80px;
  background:transparent;
}
.cn-chat-premium__input:focus{border:none;outline:none;box-shadow:none}
.cn-chat-premium__input::placeholder{color:var(--cn-text-muted)}
.cn-chat-premium__bar{
  display:flex;align-items:center;gap:2px;padding:0 12px 10px;
}
.cn-chat-premium__tool{
  width:32px;height:32px;border:none;background:transparent;
  color:var(--cn-icon-secondary);cursor:pointer;border-radius:6px;
  display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s;
}
.cn-chat-premium__tool:hover{color:var(--cn-accent);background:var(--cn-warning-bg)}
.cn-chat-premium__tool svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cn-chat-premium__spacer{flex:1}
.cn-chat-premium__send{
  padding:5px 14px;border:none;border-radius:4px;
  background:var(--cn-primary);color:var(--cn-text-inverse);font-size:13px;font-weight:500;
  cursor:pointer;transition:background .15s;
}
.cn-chat-premium__send:hover{background:var(--cn-chat-hover)}

/* Emoji Panel */
.cn-chat-premium__emoji-panel{
  position:absolute;bottom:100%;left:8px;width:252px;max-height:180px;
  overflow-y:auto;background:var(--cn-surface);border:1px solid var(--cn-border-dark);border-radius:6px;
  box-shadow:var(--cn-shadow-md);padding:6px;z-index:10;
  display:grid;grid-template-columns:repeat(7,1fr);gap:2px;
}
.cn-chat-premium__emoji-panel button{
  width:30px;height:30px;font-size:16px;border:none;background:transparent;cursor:pointer;border-radius:4px;
}
.cn-chat-premium__emoji-panel button:hover{background:var(--cn-primary-light)}
.cn-chat-premium__emoji-panel[hidden]{display:none!important}

@media(max-width:480px){
  .cn-chat-window-premium{right:0;bottom:0;width:100%;height:100%;max-height:100dvh;border-radius:0}
}

/* ═══ 位置紧贴底部 ═══ */
.cn-chat-window-premium { right: 84px !important; bottom: 0 !important; }
.cn-chat-launcher { right: 84px !important; bottom: 16px !important; }

/* 最终移动端覆盖必须位于桌面强制定位之后，避免聊天窗被向左推出视口。 */
@media (max-width: 480px) {
  .cn-chat-window-premium {
    inset: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    border-radius: 0 !important;
  }
  .cn-chat-premium__header {
    padding-top: max(12px, env(safe-area-inset-top));
    height: calc(64px + env(safe-area-inset-top));
  }
  .cn-chat-premium__compose {
    padding-bottom: env(safe-area-inset-bottom);
  }
  .cn-chat-premium__emoji-panel {
    width: min(252px, calc(100vw - 16px));
  }
}

/* 未读徽章 */
.cn-badge {
  position: absolute; top: -4px; right: -4px;
  min-width: 18px; height: 18px; border-radius: 9px;
  background: var(--cn-badge-unread); color: var(--cn-text-inverse); font-size: 10px; font-weight: 700;
  display: flex; align-items: center; justify-content: center; padding: 0 4px;
  line-height: 1; pointer-events: none;
}
.cn-chat-launcher { position: relative; }

/* ═══ 声音按钮 SVG toggle ═══ */
.cn-chat-sound[aria-pressed="false"] .cn-sound-on { display: none; }
.cn-chat-sound[aria-pressed="true"] .cn-sound-off { display: none; }

/* ═══ 最小化横条 ═══ */
.cn-chat-minibar {
  position: fixed; bottom: 0; right: 84px; z-index: 99996;
  display: flex; align-items: center; gap: 10px;
  border-top: 2px solid var(--cn-accent); padding: 10px 16px; background: var(--cn-primary); color: var(--cn-text-inverse);
  border-radius: 8px 8px 0 0; box-shadow: 0 -2px 12px rgba(0,0,0,0.12); /* ponytail: 黑色阴影 */
  cursor: pointer; border-left: 2px solid var(--checknow-accent); border-right: 2px solid var(--checknow-accent); font-family: inherit; font-size: 14px;
  transition: background .2s; white-space: nowrap;
}
.cn-chat-minibar:hover { background: var(--cn-chat-hover); }
.cn-chat-minibar[hidden] { display: none !important; }
.cn-chat-minibar__icon { position: relative; display: flex; }
.cn-chat-minibar__icon svg { color: var(--cn-accent); }
.cn-chat-minibar__badge {
  position: absolute; top: -6px; right: -8px;
  min-width: 16px; height: 16px; border-radius: 8px;
  background: var(--cn-badge-unread); color: var(--cn-text-inverse); font-size: 10px; font-weight: 700;
  display: none; align-items: center; justify-content: center; padding: 0 3px;
}
.cn-chat-minibar__badge:not(:empty) { display: flex; }
.cn-chat-minibar__label { font-weight: 500; }

/* ═══════════════════════════════════════════
   Consult Modal & WeChat Modal (全站统一弹窗)
   视觉风格与登录弹窗 (cn-auth-modal) 保持一致
   ═══════════════════════════════════════════ */

body.cn-modal-open {
  overflow: hidden;
}

.cn-consult-modal {
  position: fixed;
  inset: 0;
  z-index: 99995;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.cn-consult-modal[hidden] {
  display: none;
}

.cn-consult-modal__overlay {
  position: absolute;
  inset: 0;
  background: var(--cn-modal-overlay);
  backdrop-filter: blur(6px);
}

.cn-consult-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(520px, 100%);
  max-height: calc(100dvh - 40px);
  overflow-y: auto;
  padding: 30px 36px 28px;
  border: 1px solid rgba(212, 175, 55, .3); /* ponytail: 金色透明边框 */
  border-radius: 16px;
  background: var(--cn-surface);
  box-shadow: var(--cn-shadow-heavy);
  color: var(--cn-surface-dark);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.cn-consult-modal__dialog--wechat {
  width: min(360px, 100%);
  text-align: center;
}

.cn-consult-modal__close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--cn-control-muted);
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
}

.cn-consult-modal__header {
  margin-bottom: 22px;
  text-align: center;
}

.cn-consult-modal__label {
  margin: 0 0 4px;
  color: var(--cn-accent-text);
  font-size: 12px;
  letter-spacing: .08em;
}

.cn-consult-modal__title {
  margin: 0;
  color: var(--cn-surface-dark);
  font-size: 22px;
  font-weight: 700;
}

/* ── 表单样式（与 cn-auth-modal__form 一致） ── */

.cn-consult-modal .cn-consult-form {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  border: 0;
}

.cn-consult-modal .cn-consult-form__field {
  display: grid;
  gap: 7px;
  margin: 0;
}

.cn-consult-modal .cn-consult-form__field-label {
  color: #334155;
  font-size: 12px;
  font-weight: 600;
}

.cn-consult-modal .cn-consult-form__field-label .cn-required {
  color: var(--cn-error);
}

.cn-consult-modal .cn-consult-form__input {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--cn-border-subtle);
  border-radius: 8px;
  background: var(--cn-surface);
  color: var(--cn-surface-dark);
  font: inherit;
  font-size: 14px;
  box-sizing: border-box;
}

.cn-consult-modal .cn-consult-form__input::placeholder {
  color: var(--cn-text-muted);
}

.cn-consult-modal .cn-consult-form__input:focus {
  border-color: var(--cn-accent);
  outline: 2px solid rgba(212, 175, 55, .22); /* ponytail: 金色透明焦点环 */
  outline-offset: 1px;
}

.cn-consult-modal .cn-consult-form__input--error {
  border-color: var(--cn-error);
}

.cn-consult-modal .cn-consult-form__textarea {
  min-height: 90px;
  resize: vertical;
}

.cn-consult-modal .cn-consult-form__phone-wrap {
  display: flex;
}

.cn-consult-modal .cn-consult-form__phone-wrap .iti {
  width: 100%;
}

.cn-consult-modal .cn-consult-form__field-error {
  font-size: 12px;
  color: var(--cn-error);
  margin: 0;
  min-height: 0;
}

.cn-consult-modal .cn-consult-form__privacy {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--cn-text-secondary);
  font-size: 13px;
  margin: 0;
}

.cn-consult-modal .cn-consult-form__privacy-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
}

.cn-consult-modal .cn-consult-form__checkbox {
  -webkit-appearance: checkbox;
  appearance: auto;
  display: inline-block;
  visibility: visible;
  opacity: 1;
  width: 17px;
  min-width: 17px;
  height: 17px;
  min-height: 17px;
  flex: 0 0 17px;
  margin: 2px 0 0;
  padding: 0;
  border: initial;
  border-radius: 3px;
  background: initial;
  cursor: pointer;
  accent-color: var(--cn-primary);
}

.cn-consult-modal .cn-consult-form__privacy-text {
  font-size: 13px;
  color: var(--cn-text-secondary);
  line-height: 1.5;
}

.cn-consult-modal .cn-consult-form__privacy-text a {
  color: var(--cn-accent-text);
  text-decoration: none;
}

.cn-consult-modal .cn-consult-form__btn--submit {
  width: 100%;
  min-height: 46px;
  padding: 11px 18px;
  border: 1px solid var(--checknow-accent);
  border-radius: 8px;
  background: var(--cn-surface-dark);
  color: var(--cn-text-inverse);
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  font-size: 15px;
  transition: opacity 0.15s;
}

.cn-consult-modal .cn-consult-form__btn--submit:hover {
  opacity: 0.9;
}

.cn-consult-modal .cn-consult-form__btn--submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.cn-consult-modal .cn-consult-form__status {
  font-size: 13px;
  text-align: center;
  margin: 4px 0 0;
  min-height: 20px;
}

.cn-consult-modal .cn-consult-form__status--success {
  color: var(--cn-success-strong);
}

.cn-consult-modal .cn-consult-form__status--error {
  color: var(--cn-error);
}

.cn-consult-modal__qr {
  padding: 10px 0;
}

.cn-consult-modal__qr img {
  display: block;
  margin: 0 auto 16px;
  border-radius: 8px;
}

.cn-consult-modal__qr-desc {
  font-size: 14px;
  color: var(--cn-text-secondary);
  margin: 0;
}

@media (max-width: 480px) {
  .cn-consult-modal__dialog {
    padding: 24px 20px 20px;
  }
}

/* ═══════════════════════════════════════════
   Unified CTA Section — 全站统一咨询转化区
   深蓝背景 · 居中 · 金色强调
   ═══════════════════════════════════════════ */

.cn-cta-unified {
  padding: 80px 24px;
  text-align: center;
  background: var(--cn-surface-dark);
}

.cn-cta-unified__inner {
  max-width: 700px;
  margin: 0 auto;
}

.cn-cta-unified__eyebrow {
  margin: 0 0 8px;
  color: var(--cn-accent, var(--checknow-accent));
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.cn-cta-unified__title {
  margin: 0 0 12px;
  color: var(--cn-text-inverse);
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  line-height: 1.3;
}

.cn-cta-unified__desc {
  margin: 0 auto 28px;
  max-width: 600px;
  color: rgba(255,255,255,0.7); /* ponytail: 白色透明度描述文字 */
  font-size: 16px;
  line-height: 1.7;
}

.cn-cta-unified__actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.cn-button {
  word-break: break-word;
  hyphens: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 32px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 6px;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.2s, box-shadow 0.2s;
  text-decoration: none;
  border: none;
  line-height: 1.2;
}

.cn-button--primary {
  background: linear-gradient(135deg, var(--checknow-accent) 0%, #F0D495 50%, var(--checknow-accent) 100%);
  color: #0A192F;
}

.cn-button--primary:hover,.cn-button--primary:focus {
  opacity: 0.9;
  box-shadow: 0 4px 16px rgba(212,175,55,0.3);
  color: #0A192F;
}

.cn-button--outline {
  background: transparent;
  color: var(--cn-accent);
  border: 1px solid var(--cn-accent);
}

.cn-button--outline:hover {
  background: var(--cn-accent);
  color: var(--cn-primary);
}

.cn-button--secondary {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,0.4);
}

.cn-button--secondary:hover,.cn-button--secondary:focus {
  border-color: #fff;
  background: rgba(255,255,255,0.06);
  color: #fff;
}
.cn-button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

@media (max-width: 640px) {
  .cn-cta-unified {
    padding: 48px 20px;
  }
  .cn-cta-unified .cn-button {
    width: 100%;
  }
}

/* ── 右侧栏 CTA 统一按钮 ──
 * 资讯/求职/职位等页面的右侧 CTA 区共用同一套按钮。
 * 复用语言切换按钮（.checknow-lang-active）的品牌金渐变 + 胶囊圆角 + 深色文字。 */
.cn-sidebar-cta-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 7px;
  min-height: 44px;
  padding: 11px 18px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--cn-accent), var(--cn-accent-light), var(--cn-accent));
  color: var(--cn-surface-hero) !important;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: filter .2s ease, transform .2s ease, box-shadow .2s ease;
  box-shadow: 0 2px 6px rgba(10, 25, 47, .14);
}
.cn-sidebar-cta-btn:hover {
  color: var(--cn-surface-hero) !important;
  filter: brightness(1.05);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(10, 25, 47, .20);
}
.cn-sidebar-cta-btn span {
  transition: transform .2s ease;
}
.cn-sidebar-cta-btn:hover span {
  transform: translateX(4px);
}
