/* =============================================================================
   琉软 · 舒适家居好物商城（深圳市励虞科技有限公司）
   源文件: figma.com/design/Ut5TMqoC6MsrRx514152gF  node 205045:6383
   画板: 1801 x 3524，底色 #e7eae1

   🔴 品牌名是「琉软」（王字旁），不是「硫软」（石字旁）—— 原稿 frame 名与
      画板内文本图层都是「琉」，2026-09-10 已与用户确认以原稿为准。

   >=1801px   完全按 Figma 绝对坐标渲染，像素级还原
   768-1800px 整体等比缩放（zoom），版式不变
   <768px     单栏流式布局（移动端适配，非原稿版式）

   注意：不引 Google Fonts —— 展示机在国内，fonts.googleapis.com 会被墙掉
   导致首屏阻塞。正文一律走系统 CJK 字体栈。
   原稿正文/标题标的是 Inter Regular（西文字体，中文由 Figma 回落到系统 CJK），
   导航项标的是 Source Han Sans CN Bold —— 这里对应 400 / 700 两档。

   🔴 导航「首页」的颜色不要照抄 Figma 导出的 #d9d9d9 ——
      那个值在 #e7eae1 底上几乎看不见，而 1:1 原稿渲染图里量到的实际墨色是
      rgb(21,21,21)。三个导航项里「首页」（当前项）比另两项（#282626）略深。

   🔴 行高实测 = 1.2（40px→48px、64px→76.8px，与 Figma 的 line-height:auto 一致），
      两行文本的墨迹 top 差在原稿里逐块都是 48px。
   🔴 正文一律不用 <br> 硬换行：换行点由「width + letter-spacing:1.2px + CJK 禁则」
      算出（每行 ≈ 宽度 ÷ 41.2，且「，」不能出现在行首）。**改 width 或字距换行点就跑。**
   🔴 .txt-2 / .txt-3 两段原稿文案**带一个前导空格**（实测约 13px），而这个空格是
      参与排版的：没有它，.txt-3 第一行会从 15 字变成 16 字（16×41.2=659.2 < 670），
      与原稿不符。这里**不写字面空格、改用 text-indent:13px** ——
      字面空格要靠 white-space:pre-wrap 才不被 HTML 吃掉，且浏览器的空格advance
      比 Figma 窄约 2px，实测正好让第 16 个字挤进 670 的框里（验收时 dRight 差了 39px
      ＝一个字宽）。text-indent 宽度确定，不受字体空格宽度影响。
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

/* html 也要 overflow-x:hidden —— 只给 body 设，缩放档位有零头时
   documentElement 仍会横向溢出 */
html { -webkit-text-size-adjust: 100%; overflow-x: hidden; }

body { margin: 0; background: #e7eae1; overflow-x: hidden; }

h1, h2, p { margin: 0; font-weight: inherit; }

img { display: block; }

a { color: inherit; text-decoration: none; }

:root {
  --f-han: "PingFang SC", "Source Han Sans SC", "Noto Sans SC", "Hiragino Sans GB",
           "Microsoft YaHei", sans-serif;

  --c-bg:      #e7eae1;   /* 画板底色 */
  --c-ink:     #000;
  --c-nav-cur: #151515;   /* 导航当前项「首页」（实测墨色，非导出的 #d9d9d9） */
  --c-nav-ink: #282626;   /* 导航其余项 */
  --c-cta-bg:  #10100e;   /* 「下载」胶囊按钮 */
  --c-cta-ink: #e7eae1;
}

.canvas { background: var(--c-bg); }

.stage { width: 1801px; margin: 0 auto; }

.page {
  position: relative;
  width: 1801px;
  height: 3524px;
}

/* section 不参与定位，子元素直接相对 .page 绝对定位 */
.page section { position: static; }

/* ============================== 顶部导航 ============================== */
/* 容器铺满画板宽，子元素直接用画板绝对坐标（原稿里 logo / 品牌字是画板的直接子节点，
   只有三个导航项 + 下载按钮在 frame 205045:6391 里） */
.nav {
  position: absolute;
  left: 0; top: 0;
  width: 1801px; height: 146px;
}

.nav-mark {
  position: absolute;
  left: 39px; top: 22px;
  width: 123px; height: 124px;
  object-fit: cover;
}

.nav-word {
  position: absolute;
  left: 222px; top: 33px;        /* 原稿 y=37，64px 字号的行盒 ascent 差 4px，见下方正文说明 */
  font-family: var(--f-han);
  font-size: 64px; font-weight: 400; line-height: 1.2;
  letter-spacing: 1.92px;
  color: var(--c-ink);
  white-space: nowrap;
}

/* 三个导航项 + 下载按钮是一条 gap:60 的 flex —— 与原稿 frame 205045:6391 一致，
   算出来的绝对位置正好是 530 / 635 / 785 / 935 */
.nav-links {
  position: absolute;
  left: 530px; top: 51.5px;
  height: 33px;
  display: flex;
  align-items: center;
  gap: 60px;
}

.nav-links a {
  font-family: var(--f-han);
  font-size: 22px; font-weight: 700; line-height: 33px;
  letter-spacing: 0.66px;
  color: var(--c-nav-ink);
  white-space: nowrap;
  transition: opacity .2s;
}

.nav-links a.is-current { color: var(--c-nav-cur); }

.nav-links a:hover { opacity: .6; }

.nav-cta {
  position: absolute;
  left: 935px; top: 40px;
  width: 120px; height: 56px;
  border-radius: 40px;
  background: var(--c-cta-bg);
  color: var(--c-cta-ink);
  font-family: var(--f-han);
  font-size: 20px; font-weight: 700; line-height: 56px;
  letter-spacing: 0.6px;
  text-align: center;
  transition: opacity .2s;
}

.nav-cta:hover { opacity: .85; }

/* ========================== 标题 / 正文 ========================== */
/* 本站画板内只有 40px 一档正文（没有 64px 标题，那是 jiaochun 才有的），
   .tt 只是把首段标成 h1 做语义，字号与 .txt 同 */
.tt, .txt {
  position: absolute;
  color: var(--c-ink);
  font-family: var(--f-han);
  font-size: 40px; font-weight: 400; line-height: 48px;
  letter-spacing: 1.2px;
}

/* width 决定换行点，别动（见文件头说明）。
   top 比 Figma 节点 y 少 2px：CSS 用系统 CJK 字体复现时行盒内的 ascent 与 Figma 的
   回退字体差 2px，照抄 y 会整体下坠 2px。这里的值是拿 1:1 原稿渲染图逐块量墨迹
   边界校准出来的（括号里是原稿 y）。 */
.tt-1  { left: 139px; top:  606px; width: 1172px; }   /* 原稿 y=608；26 字单行 */
.txt-2 { left: 101px; top: 1445px; width:  614px; text-indent: 13px; }  /* 原稿 y=1447；缩进 + 14 / 13 字 */
.txt-3 { left: 101px; top: 1699px; width:  670px; text-indent: 13px; }  /* 原稿 y=1701；缩进 + 15 /  7 字 */
.txt-4 { left: 121px; top: 2401px; width:  594px; }   /* 原稿 y=2403；14 / 10 字 */
.txt-5 { left: 104px; top: 2684px; width:  611px; }   /* 原稿 y=2686；14 / 14 字 */

/* ============================ App 截图 ============================ */
.ph { position: absolute; }

.ph-home   { left: 1263px; top:  398px; width: 331px; height: 596px; }
.ph-detail { left:  779px; top: 1328px; width: 380px; height: 685px; }
.ph-cart   { left: 1236px; top: 1316px; width: 386px; height: 697px; }
.ph-topup  { left:  879px; top: 2403px; width: 357px; height: 644px; }
.ph-mine   { left: 1311px; top: 2398px; width: 360px; height: 649px; }

/* ======================= 中屏：整体等比缩放 ======================= */
/* zoom 而非 transform:scale —— zoom 会带动布局高度，页面不会留白。
   每档的 zoom 按该区间**最窄**的视口算：(下界 − 20px 滚动条余量) ÷ 1801，
   否则档内最窄那几像素会横向溢出。
   第一档上界 1820 = 画板 1801 + 19px 滚动条余量：媒体查询比的是视口宽（含滚动条），
   而能不能放下画板取决于内容区宽，视口正好 1801 时内容区只剩 1786。 */
@media (max-width: 1820px) { .stage { zoom: .96; } }
@media (max-width: 1750px) { .stage { zoom: .90; } }
@media (max-width: 1650px) { .stage { zoom: .84; } }
@media (max-width: 1550px) { .stage { zoom: .79; } }
@media (max-width: 1450px) { .stage { zoom: .73; } }
@media (max-width: 1350px) { .stage { zoom: .68; } }
@media (max-width: 1250px) { .stage { zoom: .62; } }
@media (max-width: 1150px) { .stage { zoom: .57; } }
@media (max-width: 1050px) { .stage { zoom: .51; } }
@media (max-width:  950px) { .stage { zoom: .46; } }
@media (max-width:  850px) { .stage { zoom: .41; } }

/* ========================= 窄屏：单栏流式 ========================= */
/* 原稿是 1801 宽的桌面画板，手机上按 DOM 顺序重排，不再还原绝对坐标 */
@media (max-width: 767px) {
  .stage { zoom: 1; width: 100%; }

  .page {
    width: 100%;
    height: auto;
    padding: 96px 20px 48px;   /* 顶部留给绝对定位的 .nav（72px）+ 24px 呼吸 */
  }

  /* 导航压成固定高度的普通栏；窄屏放不下三个导航项，收起，只留下载按钮
     （联系方式在页脚，「关于我们」的内容本身就在下面） */
  .nav { width: 100%; height: 72px; }

  .nav-mark { left: 14px; top: 11px; width: 50px; height: 50px; }

  .nav-word {
    left: 76px; top: 11px;
    height: 50px;
    font-size: 28px; line-height: 50px; letter-spacing: .8px;
  }

  .nav-links { display: none; }

  .nav-cta {
    left: auto; right: 14px; top: 17px;
    width: 88px; height: 38px;
    font-size: 15px; line-height: 38px;
  }

  .page section {
    display: block;
    margin-bottom: 44px;
  }

  .tt, .txt, .ph {
    position: static;
    white-space: normal;
    width: auto;
  }

  .tt, .txt {
    font-size: 15px; line-height: 1.7; letter-spacing: .4px;
  }

  .tt {
    font-size: 24px; line-height: 1.5; letter-spacing: .6px;
    margin-bottom: 10px;
  }

  .ph {
    width: 100%; max-width: 240px; height: auto;
    margin: 20px auto 0;
    border-radius: 8px;
  }
}

/* ================================ 页脚 ================================ */
/* 与 jiaochun 站逐字节相同，改一处要两处一起改 */
.site-footer {
  background: #000;
  color: rgba(255, 255, 255, .72);
  font-family: var(--f-han);
  padding: 40px 24px;
}

.site-footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  line-height: 1.9;
}

.site-footer__corp {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

.site-footer__addr,
.site-footer__contact {
  font-size: 13px;
}

.site-footer__sep {
  margin: 0 10px;
  color: rgba(255, 255, 255, .35);
}

.site-footer__icp {
  margin-top: 8px;
  font-size: 13px;
}

.site-footer__icp a {
  color: rgba(255, 255, 255, .72);
  transition: color .2s;
}

.site-footer__icp a:hover { color: #fff; }

@media (max-width: 767px) {
  .site-footer { padding: 28px 16px; }
  .site-footer__corp { font-size: 15px; }
  .site-footer__addr,
  .site-footer__contact,
  .site-footer__icp { font-size: 12px; }
  /* 窄屏把「手机号 | 邮箱」拆成两行，竖线隐藏。
     🔴 隐藏那条必须写成 `.site-footer__contact .site-footer__sep`：
        单写 `.site-footer__sep`（0,1,0）打不过上一行的 `.site-footer__contact span`（0,1,1），
        竖线会变成 block 单占一行。 */
  .site-footer__contact span { display: block; }
  .site-footer__contact .site-footer__sep { display: none; }
}
