/* ============ 全局基础样式 ============
   由 root layout 为每个页面加载。页面样式在
   src/app/[locale]/(v3)/v3.css —— 本文件只放 `.v3` 作用域之外的内容
   （html/body、reset）以及 v3 仍在复用的少量规则。 */

/* Poppins：只有 explore 地图的地名标签（`.v3-pin .lbl`）在用，常规字重 */
@font-face { font-family: 'Poppins'; src: url('../assets/fonts/Poppins-Regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }

/* ============ Tokens（页面级；`.v3` 会重新定义自己的一套） ============ */
:root {
  --ink: #1F1233;
  --ink-2: #4E4462;
  --pink: #F5308C;
  --base: #FBF8FE;
  --hairline: rgba(31, 18, 51, 0.08);
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; }
/* v3 页面挂载期间，components/body-scroll.tsx 会解除 overflow: hidden */
body {
  font-family: 'Poppins', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
  background: var(--base);
  color: var(--ink);
  overflow: hidden;
  height: 100dvh;
  -webkit-font-smoothing: antialiased;
}
::selection { background: rgba(245, 48, 140, 0.2); }
a { text-decoration: none; color: inherit; }
button { font-family: inherit; border: none; background: none; cursor: pointer; color: inherit; }
img { display: block; max-width: 100%; }

/* ============ 鼠标彩带拖尾（components/ribbon-trail.tsx） ============ */
#ribbon-trail { position: fixed; inset: 0; z-index: 85; pointer-events: none; width: 100%; height: 100%; }

/* ============ Contact Us 弹窗（components/v3/contact-modal.tsx） ============ */
.cc-left { display: flex; flex-direction: column; gap: 28px; padding-bottom: 10px; }
.cc-region h3 { font-size: clamp(16px, 1.41vw, 23px); font-weight: 600; color: var(--pink); margin-bottom: 10px; }
.cc-cols { display: flex; gap: 36px; flex-wrap: wrap; }
.cc-entry p { font-size: 14px; color: var(--ink-2); line-height: 1.85; white-space: nowrap; }
.cc-divider { background: var(--hairline); align-self: stretch; }
.cc-right { padding-top: 4px; }
.cc-social-title { font-size: clamp(16px, 1.41vw, 23px); font-weight: 700; color: var(--ink); margin-bottom: 20px; }
.cc-icons { display: flex; gap: 14px; margin-bottom: 20px; flex-wrap: wrap; }

@media (max-width: 960px) {
  /* 单列：总高度必须能在弹窗内放下，无需滚动 */
  .cc-divider { display: none; }
  .cc-left { gap: 16px; }
  .cc-cols { gap: 10px 24px; }
  .cc-entry p { line-height: 1.6; white-space: normal; overflow-wrap: anywhere; } /* 邮箱 / 电话号码允许换行 */
  .cc-social-title { margin-bottom: 10px; }
  .cc-icons { margin-bottom: 12px; }
}
