/* 全站基础样式（原 templates/default/header.php 内联 <style>） */
/* overflow-x 放在 html 而非 body：部分旧内核中 body overflow 会破坏 position:fixed 元素（导航栏被裁剪/不完整） */
html { scroll-behavior: smooth; overflow-x: hidden; }
/* 锚点定位时避开固定公告条与导航栏 */
section[id] { scroll-margin-top: 132px; }
body { font-family: 'Inter','Noto Sans SC',sans-serif; }
::selection { background: #cbeba0; color: #1f4213; }

/* 网点纹理 */
.dot-grid {
  background-image: radial-gradient(rgba(31,66,19,.16) 1px, transparent 1px);
  background-size: 22px 22px;
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ===== 页脚语言切换弹层 =====
 * 定位已内联在模板上；此处仅入场动画与展开态（装饰性增强）。
 */
@keyframes lang-panel-in {
  from { opacity: 0; transform: translateY(8px) scale(.96); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.lang-switch-panel { transform-origin: bottom right; animation: lang-panel-in .18s ease both; }
.lang-switch.open .lang-switch-chev { transform: rotate(180deg); }
@media (prefers-reduced-motion: reduce) { .lang-switch-panel { animation: none; } }

/* ===== 全站浮动客服图标（客服支持页自身不显示） =====
 * 定位为关键布局（内联兜底由 site.css 本身全站加载保证）；动画为装饰性增强。
 */
.support-fab{position:fixed;right:1.25rem;bottom:6rem;z-index:55;display:flex;flex-direction:column;align-items:flex-end;gap:.6rem;}
.support-fab-btn{position:relative;display:flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border-radius:9999px;
  background:linear-gradient(135deg,#34d399,#059669);color:#fff;box-shadow:0 10px 24px rgba(5,150,105,.38);
  transition:transform .18s ease,box-shadow .18s ease;}
.support-fab-btn>svg{display:block;width:1.5rem;height:1.5rem;margin:auto;flex-shrink:0;}
.support-fab-btn:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 14px 30px rgba(5,150,105,.5);}
.support-fab-dot{position:absolute;top:.35rem;right:.35rem;width:.55rem;height:.55rem;border-radius:9999px;background:#fbbf24;
  box-shadow:0 0 0 2px #fff;}
@keyframes support-fab-breathe{
  0%,100%{box-shadow:0 10px 24px rgba(5,150,105,.38),0 0 0 0 rgba(52,211,153,.5);}
  60%{box-shadow:0 10px 24px rgba(5,150,105,.38),0 0 0 12px rgba(52,211,153,0);}
}
.support-fab-btn{animation:support-fab-breathe 2.6s ease-in-out infinite;}
.support-fab-tip{display:flex;align-items:center;gap:.5rem;max-width:15rem;padding:.55rem .8rem;border-radius:.9rem;
  background:#fff;border:1px solid var(--tw-color-primary-100,#d1fae5);box-shadow:0 6px 18px rgba(6,95,70,.14);
  font-size:.75rem;font-weight:700;color:#374151;position:relative;}
.support-fab-tip::after{content:'';position:absolute;right:1.2rem;bottom:-.4rem;width:.8rem;height:.8rem;background:#fff;
  border-right:1px solid var(--tw-color-primary-100,#d1fae5);border-bottom:1px solid var(--tw-color-primary-100,#d1fae5);
  transform:rotate(45deg);}
.support-fab-close{display:flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;border-radius:9999px;background:#f3f4f6;
  color:#6b7280;font-size:.8rem;line-height:1;cursor:pointer;border:0;flex-shrink:0;}
.support-fab-close:hover{background:#e5e7eb;color:#374151;}
@media (max-width:640px){.support-fab{bottom:5rem;right:1rem;}.support-fab-tip{display:none;}}
@media (prefers-reduced-motion: reduce){.support-fab-btn{animation:none;}}

/* ===== 公告条轮播（首页同款头部页面共用：index / svip） ===== */
@keyframes notice-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.notice-item.animating { animation: notice-in .45s ease both; }

/* ===== 浮层（首页同款头部页面共用：index / svip） =====
 * 关键定位/遮罩样式直接内联自带，不依赖 Tailwind CDN：
 * CDN 在内嵌预览等环境加载受阻时，浮层仍能正常弹出。
 */
.modal-overlay {
  position: fixed; top: 0; right: 0; bottom: 0; left: 0; /* inset 兼容写法 */
  z-index: 70;
  display: grid; place-items: center;
  padding: 1rem;
  background: rgba(17, 24, 39, .6);
  /* visibility 参与过渡：打开时立即可见（插值期间映射为 visible），关闭时淡出完成后再隐藏 */
  transition: opacity .25s ease, visibility .25s linear;
}
.modal-panel   { transition: transform .25s ease, opacity .25s ease; }
/* visibility 兜底：即使过渡/渲染异常，closed 态也绝不可见、不可交互 */
.modal-overlay.closed { opacity: 0; visibility: hidden; pointer-events: none; }
.modal-overlay.closed .modal-panel { transform: translateY(16px) scale(.97); opacity: 0; }

@media (prefers-reduced-motion: reduce) {
  .notice-item.animating { animation: none !important; }
}

/* ===== 旧 Chromium 内核兼容（360 极速浏览器 X 等） ===== */
/* 1. backdrop-filter 需要厂商前缀 */
header nav { -webkit-backdrop-filter: blur(16px); }

/* 2. flex gap 在 Chromium < 84 不支持：用 margin 兜底，避免导航栏挤压溢出 */
@supports not (gap: 1rem) {
  #noticeBar .mx-auto > * + * { margin-left: 12px; }
  header nav > * + * { margin-left: 12px; }
  header nav > a > * + * { margin-left: 10px; }
  header nav > div > * + * { margin-left: 8px; }
  @media (min-width: 640px) { header nav > * + * { margin-left: 20px; } }
  @media (min-width: 1024px) { header nav div:first-of-type a + a { margin-left: 26px; } }
}

/* 3. 窄屏防挤压：导航项禁止收缩变形 */
header nav > a, header nav > div { flex-shrink: 0; }
header nav { min-width: 0; }

/* ===== 正文两端对齐（排版首选） =====
 * 覆盖 FAQ 答案（details）与文档/卡片正文（article）等流式文本；
 * 单行文本两端对齐无视觉差异，居中标题与按钮不受影响。 */
article > p, details > p { text-align: justify; text-justify: inter-ideograph; }
