/* =====================================================================
   酷美货运 · 响应式补充 + 弹窗
   文件：public/template/cms/default/css/custom.css
   ---------------------------------------------------------------------
   说明：设计稿 app.css 已自带“首页/内页响应式”（断点 67.4375em≈1079px、
   47.9375em≈767px）。本文件只补充设计稿未覆盖的部分（移动端导航、
   首页卡片、页脚、小屏内边距）以及微信弹窗，所有布局改动均在媒体查询内，
   不影响大屏（桌面）样式。
   ===================================================================== */

/* ---------- 移动端导航开关（默认隐藏，仅小屏显示） ---------- */
.nav-toggle { display: none; font-size: 22px; color: #004999; line-height: 70px; cursor: pointer; padding-left: 14px; }
@media (max-width: 900px) {
  .nav-toggle {
    display: block; position: absolute; right: 0; top: 0;
    width: 46px; height: 70px; line-height: 70px; text-align: center;
    padding: 0; z-index: 1000000;
  }
  .public-header .top-main { position: relative; }
  .logo { flex: 0 0 auto; }
  .top-main-content { width: auto; position: static; }
  .top-main-content .navBar {
    display: none;
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    background: #fff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .12);
    z-index: 999999;
  }
  .top-main-content .navBar.open { display: block; }
  .top-main-content .navBar > ul { display: block !important; }
  .top-main-content .nav_li { border-bottom: 1px solid #f0f0f0; }
  .top-main-content .nav_li h2 { line-height: 1.2; }
  .public-header .nav_li h2 a { display: block; line-height: 1.2; padding: 13px 20px; }
  .public-header .nav_li h2 a:after { display: none; }
  .top-main-content .nav_li .sub {
    position: static;
    display: block;
    min-height: 0;
    padding: 6px 0 10px;
    box-shadow: none;
    background: #f7faff;
  }
  .top-main-content .nav_li .sub .container { flex-wrap: wrap; justify-content: flex-start; padding: 0 20px; }
  .top-main-content .nav_li .sub h3 { display: block; }
}

/* ---------- 小屏内边距 ---------- */
@media (max-width: 767px) {
  .container { padding: 0 15px; }
}

/* ---------- 首页 Banner 文字（平板 / 手机） ---------- */
/* 平板：去掉 100vh 高度、文字改为纵向流式排版，避免绝对定位裁剪 */
@media (max-width: 1079px) {
  .home_banner { height: auto; min-height: 480px; padding: 120px 0 80px; }
  .home_banner video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
  .home_banner .banner_text { position: relative; left: auto; top: auto; transform: none; width: 100%; }
  .banner_slogan h2 { font-size: 2.2em; line-height: 1.2; }
  .banner_slogan h3 { font-size: 1.05em; }
  .banner_text p { width: 78%; font-size: 1.05em; line-height: 1.7; color: rgba(255, 255, 255, .9); }
}
/* 手机：进一步收紧字号与间距，段落占满宽度 */
@media (max-width: 767px) {
  .home_banner { min-height: 0; padding: 104px 0 64px; }
  .banner_slogan { margin-bottom: 18px; }
  .banner_slogan h2 { font-size: 1.7em; line-height: 1.3; letter-spacing: .5px; }
  .banner_slogan h3 { font-size: .95em; line-height: 1.6; margin-bottom: 14px; }
  .banner_text p { width: 100%; font-size: 1em; line-height: 1.75; }
  .banner_btns { margin-top: 22px; }
}
@media (max-width: 420px) {
  .banner_slogan h2 { font-size: 1.5em; }
  .banner_slogan h3 { font-size: .9em; }
}

/* ---------- 首页成功案例：三栏等高、底部对齐（三端一致） ---------- */
.home_case_list { align-items: stretch; }
.home_case_item { display: flex; flex-direction: column; height: auto; }
.home_case_custom { margin-top: auto; }

/* ---------- 首页卡片（设计稿未覆盖 32% 卡片的移动端） ---------- */
@media (max-width: 767px) {
  .home_service .service_item,
  .home_hexin .hexin_item,
  .fuwu_list .fuwu_item,
  .home_case_item,
  .home_new_item,
  .home_contact_item { width: 48% !important; }
}
@media (max-width: 520px) {
  .home_service .service_item,
  .home_hexin .hexin_item,
  .fuwu_list .fuwu_item,
  .home_case_item,
  .home_new_item,
  .home_contact_item { width: 100% !important; }
  .about_stats .flex { flex-wrap: wrap; }
  .about_stats_item { flex: 0 0 50% !important; max-width: 50% !important; margin-bottom: 14px; }
}

/* ---------- 页脚：平板 & 手机 ---------- */
/* 平板：公司简介占整行，下方三个链接栏等宽一行 */
@media (max-width: 1079px) {
  .footer_list { flex-wrap: wrap; gap: 26px 0; }
  .footer_item { width: 32% !important; margin-bottom: 6px; }
  .footer_item_1 { width: 100% !important; margin-bottom: 18px; }
}
/* 竖屏平板 / 大屏手机：链接栏两列 */
@media (max-width: 767px) {
  .footer_item { width: 48% !important; }
}
/* 手机：全部堆叠，版权居中 */
@media (max-width: 560px) {
  .footer_item { width: 100% !important; }
}
@media (max-width: 640px) {
  .footer_copy { display: block !important; text-align: center; }
  .footer_copy p { margin: 6px 0; }
}

/* =====================================================================
   微信弹窗
   ===================================================================== */
.km-wechat { position: fixed; z-index: 999999999; top: 0; left: 0; width: 100%; height: 100%; display: none; }
.km-wechat.open { display: block; }
.km-wechat__bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 9; background: rgba(0, 0, 0, .65); }
.km-wechat__box {
  background: #fff; position: relative; z-index: 19; width: 92%; max-width: 500px;
  margin: 0 auto; padding: 40px; top: 15%; border-radius: 10px; box-sizing: border-box;
}
.km-wechat__close {
  position: absolute; right: 8px; top: 8px; width: 30px; height: 30px; border-radius: 50%;
  line-height: 30px; text-align: center; font-size: 22px; color: #999; cursor: pointer;
}
.km-wechat__close:hover { color: #004999; }
.km-wechat__h3 { text-align: center; font-size: 18px; line-height: 1.75; color: #004999; font-weight: 600; }
.km-wechat__qr { margin-top: 28px; text-align: center; }
.km-wechat__qr img { max-width: 180px; width: 60%; display: inline-block; }
.km-wechat__list { display: flex; justify-content: space-between; margin-top: 28px; }
.km-wechat__item { text-align: center; flex: 0 0 25%; }
.km-wechat__item span { font-family: 'iconfont'; font-size: 24px; color: #004999; }
.km-wechat__title { margin-top: 10px; font-size: 14px; color: #4b5563; }
.km-wechat__tel { margin-top: 30px; font-size: 14px; text-align: center; color: #4b5563; }
.km-wechat__tel span { font-size: 18px; font-weight: 650; color: #004999; }

@media (max-width: 640px) {
  .km-wechat__box { padding: 26px 18px; top: 10%; }
  .km-wechat__h3 { font-size: 16px; }
}

/* 全局悬浮工具（微信咨询 + 返回顶部） */
.km-float-tools {
  position: fixed; right: 18px; bottom: 90px; z-index: 9999;
  display: flex; flex-direction: column; gap: 12px; align-items: flex-end;
}
.km-float-cta {
  background: #004999; color: #fff; border-radius: 24px; padding: 10px 18px;
  font-size: 14px; cursor: pointer; box-shadow: 0 8px 20px rgba(0, 73, 153, .35);
  display: inline-flex; align-items: center; gap: 6px; text-decoration: none; transition: .2s;
}
.km-float-cta:hover { background: #0066cc; color: #fff; }
.km-float-cta span.iconfont { font-size: 18px; }
.km-float-top {
  width: 44px; height: 44px; border-radius: 50%; background: #004999; color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 20px; line-height: 1;
  box-shadow: 0 8px 20px rgba(0, 73, 153, .35); cursor: pointer;
  opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; text-decoration: none;
}
.km-float-top.show { opacity: 1; visibility: visible; }
.km-float-top:hover { background: #0066cc; color: #fff; }
@media (max-width: 640px) {
  .km-float-tools { bottom: 70px; right: 12px; gap: 10px; }
  .km-float-cta { padding: 9px 14px; font-size: 13px; }
  .km-float-top { width: 40px; height: 40px; font-size: 18px; }
}
