/* ============================================================
 * 绿界网络科技 - 全局样式
 * 主题色：深空蓝 + 翠绿（合规、稳重、专业）
 * 设计风格：暗色基底、高对比、无多余装饰符号
 * ============================================================ */

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

:root{
  --bg-0:#0b1220;
  --bg-1:#0f1a2e;
  --bg-2:#142241;
  --bg-3:#1a2c4f;
  --line:#243b66;
  --line-2:#2d4a7d;
  --text-0:#f4f7fb;
  --text-1:#c7d2e2;
  --text-2:#8b9bbb;
  --text-3:#5d6e8a;
  --brand:#1f8a5b;
  --brand-2:#22a06b;
  --brand-3:#3dc78a;
  --brand-soft:rgba(34,160,107,0.12);
  --accent:#3b82b;
  --warn:#d97706;
  --danger:#dc2626;
  --shadow:0 6px 24px rgba(0,0,0,0.35);
  --radius:10px;
}

html,body{
  margin:0;padding:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  background:var(--bg-0);
  color:var(--text-0);
  font-size:14px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
button{ font-family:inherit; cursor:pointer; }
input,textarea,select{ font-family:inherit; font-size:14px; }

.container{ max-width:1200px; margin:0 auto; padding:0 24px; }

/* ============== 顶部导航 ============== */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(11,18,32,0.92);
  backdrop-filter:saturate(160%) blur(8px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  max-width:1200px; margin:0 auto; padding:0 24px;
  display:flex; align-items:center; gap:32px; height:64px;
}
.brand{ display:flex; align-items:center; gap:12px; }
.brand-mark{
  width:36px; height:36px; border-radius:8px;
  background:linear-gradient(135deg,#22a06b,#3dc78a);
  color:#fff; font-weight:700;
  display:grid; place-items:center; letter-spacing:0.5px;
}
.brand-text{ font-weight:600; font-size:17px; letter-spacing:0.5px; color:var(--text-0); }
.brand-sub{ font-size:11px; color:var(--text-2); font-weight:400; }

.nav-main{ display:flex; gap:6px; margin-left:24px; }
.nav-link{
  padding:8px 14px; border-radius:6px;
  color:var(--text-1); font-size:14px;
  transition:background .15s,color .15s;
}
.nav-link:hover{ background:var(--bg-2); color:var(--text-0); }
.nav-link.is-active{ color:var(--brand-3); background:var(--brand-soft); }
.nav-link-sub{ font-size:13px; color:var(--text-2); padding:6px 10px; }
.nav-link-sub:hover{ color:var(--text-0); background:transparent; }

.nav-right{ margin-left:auto; display:flex; align-items:center; gap:8px; }
/* 移动端汉堡按钮：桌面端隐藏 */
.nav-burger{
  display:none; width:40px; height:40px; border-radius:8px;
  border:1px solid var(--line); background:var(--bg-2); color:var(--text-1);
  align-items:center; justify-content:center; cursor:pointer; flex:none;
}
.nav-burger:hover{ color:var(--text-0); border-color:var(--line-2); }
/* 汉堡按钮激活态：菜单展开时高亮，避免用户找不到收起入口 */
.nav-burger.is-active{ color:var(--brand-3); border-color:var(--brand-3); background:var(--brand-soft); }
.nav-cart{
  position:relative; width:38px; height:38px; border-radius:8px;
  display:grid; place-items:center; color:var(--text-1);
}
.nav-cart:hover{ background:var(--bg-2); color:var(--text-0); }
.cart-badge{
  position:absolute; top:2px; right:2px;
  min-width:16px; height:16px; padding:0 4px; border-radius:8px;
  background:var(--brand-2); color:#fff; font-size:10px;
  display:inline-flex; align-items:center; justify-content:center; font-weight:600;
}
.nav-user{ display:flex; align-items:center; gap:8px; }
.nav-user-name{
  padding:6px 12px; border-radius:6px; background:var(--bg-2);
  color:var(--text-0); font-size:13px;
}

/* ============== 页脚 ============== */
.site-footer{
  background:var(--bg-1); border-top:1px solid var(--line);
  margin-top:64px; padding:48px 0 0;
}
.footer-inner{
  max-width:1200px; margin:0 auto; padding:0 24px 32px;
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1.3fr; gap:40px;
}
.footer-col{ display:flex; flex-direction:column; gap:10px; font-size:13px; color:var(--text-2); }
.footer-col a{ color:var(--text-2); }
.footer-col a:hover{ color:var(--brand-3); }
.footer-brand{ font-size:16px; color:var(--text-0); font-weight:600; margin-bottom:6px; }
.footer-desc{ line-height:1.7; }
.footer-title{ color:var(--text-0); font-size:14px; font-weight:600; margin-bottom:4px; }
.footer-line{ color:var(--text-2); }
.footer-bottom{
  border-top:1px solid var(--line);
  max-width:1200px; margin:0 auto;
  display:flex; justify-content:space-between; padding:16px 24px;
  color:var(--text-3); font-size:12px;
}

/* ============== 通用卡片/按钮 ============== */
.card{
  background:var(--bg-1); border:1px solid var(--line); border-radius:var(--radius);
  padding:20px;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 22px; border-radius:8px; border:1px solid transparent;
  background:var(--brand); color:#fff; font-weight:500; font-size:14px;
  transition:background .15s,transform .1s;
}
.btn:hover{ background:var(--brand-2); }
.btn:active{ transform:translateY(1px); }
.btn-ghost{ background:transparent; color:var(--text-0); border-color:var(--line-2); }
.btn-ghost:hover{ background:var(--bg-2); border-color:var(--text-2); }
.btn-block{ width:100%; }
.btn-lg{ padding:14px 28px; font-size:15px; }

.section-title{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:18px;
}
.section-title h2{
  margin:0; font-size:20px; font-weight:600; letter-spacing:0.5px;
}
.section-title .sub{ color:var(--text-2); font-size:13px; font-weight:400; }
.section-title a.more{ color:var(--brand-3); font-size:13px; }

/* ============== 通用区块 ============== */
section{ padding:48px 0; }
.section-tight{ padding:32px 0; }

/* ============== 表单 ============== */
.form-input{
  width:100%; padding:11px 14px;
  background:var(--bg-2); border:1px solid var(--line-2); border-radius:8px;
  color:var(--text-0); outline:none; transition:border-color .15s;
}
.form-input:focus{ border-color:var(--brand-3); }
.form-label{ display:block; font-size:13px; color:var(--text-1); margin-bottom:6px; }
.form-row{ margin-bottom:16px; }
.form-help{ font-size:12px; color:var(--text-3); margin-top:4px; }

.checkbox-line{ display:flex; align-items:flex-start; gap:8px; color:var(--text-1); font-size:13px; line-height:1.6; }
.checkbox-line input{ margin-top:3px; accent-color:var(--brand-2); }
.checkbox-line a{ color:var(--brand-3); }

/* ============== 提示框 ============== */
.toast{
  position:fixed; top:80px; left:50%; transform:translateX(-50%);
  background:var(--bg-3); border:1px solid var(--line-2);
  padding:12px 22px; border-radius:8px;
  color:var(--text-0); box-shadow:var(--shadow); z-index:200;
}
.toast.is-error{ border-color:var(--danger); }
.toast.is-success{ border-color:var(--brand-2); }

/* ============== 首页 Hero ============== */
.hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(circle at 80% 20%, rgba(34,160,107,0.18), transparent 50%),
    radial-gradient(circle at 10% 80%, rgba(31,138,91,0.14), transparent 50%),
    linear-gradient(180deg,#0f1a2e 0%,#0b1220 100%);
  border-bottom:1px solid var(--line);
}
.hero-inner{
  max-width:1200px; margin:0 auto; padding:72px 24px 80px;
  display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:center;
}
.hero-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--brand-soft); color:var(--brand-3);
  padding:6px 14px; border-radius:999px; font-size:12px; letter-spacing:0.5px;
}
.hero h1{
  margin:18px 0 14px; font-size:42px; font-weight:700; line-height:1.2;
}
.hero h1 .accent{ color:var(--brand-3); }
.hero p{ color:var(--text-1); font-size:15px; max-width:520px; line-height:1.8; margin:0 0 24px; }
.hero-actions{ display:flex; gap:14px; }
.hero-meta{
  margin-top:36px; display:flex; gap:32px; padding-top:24px;
  border-top:1px dashed var(--line-2); max-width:540px;
}
.hero-meta-item{ color:var(--text-2); font-size:13px; }
.hero-meta-item strong{ display:block; color:var(--text-0); font-size:22px; font-weight:600; margin-bottom:2px; }

.hero-visual{
  position:relative; min-height:380px;
}
.hero-visual-card{
  position:absolute; background:var(--bg-1);
  border:1px solid var(--line-2); border-radius:14px; padding:18px;
  box-shadow:var(--shadow);
}
.hero-visual-card.card-a{ top:0; right:0; width:280px; }
.hero-visual-card.card-b{ bottom:0; left:0; width:300px; }
.hero-visual-card.card-c{ top:40%; left:30%; width:240px; background:var(--brand); border-color:var(--brand-2); }
.hvc-icon{
  width:40px; height:40px; border-radius:10px; background:var(--brand-soft); color:var(--brand-3);
  display:grid; place-items:center; margin-bottom:10px;
}
.hvc-title{ font-weight:600; font-size:15px; margin-bottom:4px; }
.hvc-desc{ color:var(--text-2); font-size:12px; line-height:1.6; }

/* ============== 模块入口 ============== */
.modules{
  background:var(--bg-1); border-bottom:1px solid var(--line);
  padding:0;
}
.modules-inner{
  max-width:1200px; margin:0 auto; padding:0 24px;
  display:grid; grid-template-columns:1fr 1fr; gap:24px; transform:translateY(-36px);
}
.module-card{
  position:relative; padding:28px;
  background:var(--bg-1); border:1px solid var(--line-2); border-radius:14px;
  display:flex; gap:20px; align-items:flex-start;
  transition:transform .15s,border-color .15s;
}
.module-card:hover{ transform:translateY(-3px); border-color:var(--brand-3); }
.module-icon{
  flex:none; width:56px; height:56px; border-radius:14px;
  display:grid; place-items:center; color:#fff;
}
.module-card.mall .module-icon{ background:linear-gradient(135deg,#22a06b,#3dc78a); }
.module-card.publish .module-icon{ background:linear-gradient(135deg,#3b82b6,#5b9bff); }
.module-card.admin .module-icon{ background:linear-gradient(135deg,#d97706,#f59e0b); }
.module-card.admin{ border-style:dashed; }
.admin-entry-badge{
  font-size:11px; padding:2px 9px; border-radius:999px; font-weight:600; vertical-align:2px;
}
.admin-entry-badge.is-pending{ background:rgba(217,119,6,.18); color:#f59e0b; }
.admin-entry-badge.is-clean{ background:var(--bg-2); color:var(--text-3); }
.module-body{ flex:1; }
.module-body h3{ margin:0 0 6px; font-size:18px; }
.module-body p{ margin:0 0 14px; color:var(--text-2); font-size:13px; line-height:1.7; }
.module-tags{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:14px; }
.module-tag{ font-size:11px; padding:3px 8px; border-radius:4px; background:var(--bg-2); color:var(--text-2); }
.module-actions{ display:flex; gap:8px; }

/* ============== 商品卡片 ============== */
.product-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
}
.product-grid.cols-3{ grid-template-columns:repeat(3,1fr); }
.product-card{
  background:var(--bg-1); border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; transition:transform .15s,border-color .15s;
  display:flex; flex-direction:column;
}
.product-card:hover{ transform:translateY(-3px); border-color:var(--brand-3); }
.product-cover{ aspect-ratio:1/1; overflow:hidden; background:var(--bg-2); }
.product-cover img{ width:100%; height:100%; object-fit:cover; }
.product-body{ padding:14px; flex:1; display:flex; flex-direction:column; }
.product-title{
  font-size:14px; font-weight:500; margin:0 0 6px; line-height:1.5;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.product-sub{ font-size:12px; color:var(--text-3); margin-bottom:10px; }
.product-meta{ display:flex; justify-content:space-between; align-items:center; margin-top:auto; }
.product-price{ color:var(--brand-3); font-weight:600; font-size:18px; }
.product-price small{ font-size:11px; color:var(--text-2); font-weight:400; margin-left:2px; }
.product-sales{ font-size:12px; color:var(--text-3); }

/* ============== 商城筛选条 ============== */
.filter-bar{
  background:var(--bg-1); border:1px solid var(--line); border-radius:var(--radius);
  padding:18px 22px; margin-bottom:22px;
}
.filter-row{
  display:flex; align-items:center; gap:12px; padding:6px 0;
  border-top:1px dashed var(--line);
}
.filter-row:first-child{ border-top:none; }
.filter-label{ color:var(--text-2); width:60px; flex:none; font-size:13px; }
.filter-options{ display:flex; gap:8px; flex-wrap:wrap; }
.filter-option{
  padding:5px 12px; border-radius:6px; background:var(--bg-2); color:var(--text-1);
  font-size:13px; cursor:pointer; transition:background .15s,color .15s;
}
.filter-option.is-active{ background:var(--brand-2); color:#fff; }
.filter-option:hover:not(.is-active){ background:var(--bg-3); color:var(--text-0); }

/* ============== 信息发布卡片 ============== */
.info-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.info-card{
  background:var(--bg-1); border:1px solid var(--line); border-radius:var(--radius);
  padding:0; transition:border-color .15s,transform .15s;
  display:flex; flex-direction:row; overflow:hidden;
}
.info-card:hover{ border-color:var(--brand-3); transform:translateY(-2px); }
.info-card-img{
  width:200px; min-height:160px; flex:none; overflow:hidden;
  background:var(--bg-2); position:relative;
}
.info-card-img img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .3s;
}
.info-card:hover .info-card-img img{ transform:scale(1.05); }
.info-card-body{
  padding:18px 20px; flex:1; display:flex; flex-direction:column;
  min-width:0;
}
.info-head{ display:flex; gap:10px; align-items:center; margin-bottom:12px; flex-wrap:wrap; }
.info-tag{
  font-size:11px; padding:3px 10px; border-radius:4px; font-weight:500;
}
.info-tag.需求{ background:rgba(59,130,187,0.15); color:#5b9bff; }
.info-tag.服务{ background:rgba(34,160,107,0.15); color:var(--brand-3); }
.info-cat{ font-size:12px; color:var(--text-2); }
.info-region{ font-size:12px; color:var(--text-3); margin-left:auto; }

.info-title{
  font-size:16px; font-weight:600; margin:0 0 8px; color:var(--text-0);
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;
}
.info-summary{
  font-size:13px; color:var(--text-2); margin:0 0 14px; line-height:1.7;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.info-meta{
  margin-top:auto; padding-top:12px; border-top:1px dashed var(--line);
  display:flex; align-items:center; gap:14px; font-size:12px; color:var(--text-2);
  flex-wrap:wrap;
}
.info-pub{ display:flex; align-items:center; gap:6px; }
.info-phone{ display:flex; align-items:center; gap:6px; font-family:monospace; }
.info-time{ margin-left:auto; color:var(--text-3); }

/* ============== 详情页 ============== */
.detail-layout{
  display:grid; grid-template-columns:1.4fr 1fr; gap:32px;
  max-width:1200px; margin:32px auto; padding:0 24px;
}
.gallery{ background:var(--bg-1); border:1px solid var(--line); border-radius:var(--radius); padding:18px; }
.gallery-main{ aspect-ratio:1/1; background:var(--bg-2); border-radius:8px; overflow:hidden; margin-bottom:10px; }
.gallery-main img{ width:100%; height:100%; object-fit:cover; }
.gallery-thumbs{ display:flex; gap:8px; flex-wrap:wrap; }
.gallery-thumb{
  width:62px; height:62px; border-radius:6px; overflow:hidden;
  border:2px solid transparent; cursor:pointer; background:var(--bg-2);
}
.gallery-thumb.is-active{ border-color:var(--brand-3); }
.gallery-thumb img{ width:100%; height:100%; object-fit:cover; }

.detail-info{ background:var(--bg-1); border:1px solid var(--line); border-radius:var(--radius); padding:24px; }
.detail-title{ font-size:22px; font-weight:600; margin:0 0 6px; }
.detail-sub{ color:var(--text-2); font-size:13px; margin-bottom:18px; }
.detail-price-row{
  background:var(--bg-2); border-radius:8px; padding:18px;
  display:flex; align-items:center; gap:18px; margin-bottom:18px;
}
.detail-price{ font-size:32px; font-weight:700; color:var(--brand-3); }
.detail-price small{ font-size:13px; color:var(--text-2); font-weight:400; margin-left:4px; }
.detail-stats{ margin-left:auto; display:flex; gap:18px; color:var(--text-2); font-size:13px; }
.detail-stats strong{ display:block; color:var(--text-0); font-size:18px; }

.detail-tags{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px; }
.detail-tag{ font-size:12px; padding:4px 12px; border-radius:4px; background:var(--brand-soft); color:var(--brand-3); }

.detail-spec{ background:var(--bg-2); border-radius:8px; padding:16px; margin-bottom:18px; }
.spec-row{ display:flex; padding:6px 0; border-bottom:1px dashed var(--line); font-size:13px; }
.spec-row:last-child{ border-bottom:none; }
.spec-key{ color:var(--text-2); width:90px; flex:none; }
.spec-val{ color:var(--text-0); }

.detail-actions{ display:flex; gap:12px; }
.detail-actions .btn{ flex:1; }

.detail-section{ background:var(--bg-1); border:1px solid var(--line); border-radius:var(--radius); padding:24px; margin-top:18px; }
.detail-section h3{ margin:0 0 14px; font-size:16px; }
.detail-section p{ color:var(--text-1); line-height:1.85; margin:0; }
.detail-section img{ width:100%; border-radius:8px; margin-top:14px; }

.merchant-mini{
  display:flex; align-items:center; gap:14px;
  background:var(--bg-2); border-radius:8px; padding:16px; margin-bottom:18px;
}
.merchant-mini-logo{
  width:48px; height:48px; border-radius:8px; color:#fff;
  display:grid; place-items:center; font-weight:600; flex:none;
}
.merchant-mini-body{ flex:1; }
.merchant-mini-name{ font-weight:600; }
.merchant-mini-en{ font-size:11px; color:var(--text-3); margin-left:6px; font-weight:400; }
.merchant-mini-meta{ font-size:12px; color:var(--text-2); margin-top:2px; }
.merchant-mini-link{
  padding:6px 14px; border-radius:6px; background:var(--brand-soft); color:var(--brand-3);
  font-size:12px; flex:none;
}
.merchant-mini-link:hover{ background:var(--brand); color:#fff; }

/* ============== 店铺详情页 ============== */
.shop-banner{
  background:var(--bg-2);
  border-radius:var(--radius);
  padding:36px 40px;
  border:1px solid var(--line);
}
.shop-banner-inner{
  display:flex; gap:28px; align-items:flex-start;
}
.shop-logo{
  width:80px; height:80px; border-radius:12px;
  color:#fff; font-size:26px; font-weight:700;
  display:grid; place-items:center; flex:none;
}
.shop-info{ flex:1; }
.shop-name-row{ display:flex; align-items:center; gap:12px; margin-bottom:10px; flex-wrap:wrap; }
.shop-name{ font-size:24px; margin:0; color:var(--text-0); }
.shop-en{ font-size:13px; color:var(--text-3); background:var(--bg-3); padding:3px 10px; border-radius:4px; }
.shop-meta{ display:flex; gap:24px; flex-wrap:wrap; margin-bottom:14px; font-size:13px; color:var(--text-2); }
.shop-meta span::before{ content:''; display:inline-block; width:4px; height:4px; border-radius:50%; background:var(--brand-3); margin-right:8px; vertical-align:middle; }
.shop-intro{ font-size:14px; color:var(--text-1); line-height:1.8; max-width:720px; margin:0; }

@media(max-width:640px){
  .shop-banner{ padding:24px 20px; }
  .shop-banner-inner{ flex-direction:column; align-items:center; text-align:center; }
  .shop-meta{ justify-content:center; }
  .shop-intro{ max-width:100%; }
}

/* ============== 信息发布详情 ============== */
.info-detail{
  max-width:900px; margin:32px auto; padding:0 24px;
  background:var(--bg-1); border:1px solid var(--line); border-radius:var(--radius);
  padding:32px;
}
.info-detail-head{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.info-detail h1{ font-size:24px; font-weight:600; margin:0 0 18px; line-height:1.4; }
.info-detail-meta{
  display:flex; gap:24px; color:var(--text-2); font-size:13px;
  padding:14px 0; border-top:1px dashed var(--line); border-bottom:1px dashed var(--line);
  margin-bottom:20px;
}
.info-detail-meta span strong{ color:var(--text-0); font-weight:500; }
.info-detail p{ color:var(--text-1); line-height:1.9; font-size:14px; margin:0 0 16px; }
.info-detail-cover{
  margin-bottom:24px; aspect-ratio:16/9; background:var(--bg-2);
  border-radius:8px; overflow:hidden;
}
.info-detail-cover img{ width:100%; height:100%; object-fit:cover; }

.info-contact-card{
  margin-top:24px; padding:20px; background:var(--bg-2); border-radius:8px;
  border:1px dashed var(--line-2);
}
.info-contact-card h4{ margin:0 0 12px; font-size:14px; color:var(--text-1); }
.info-contact-row{ display:flex; justify-content:space-between; align-items:center; padding:8px 0; }
.info-contact-row + .info-contact-row{ border-top:1px dashed var(--line); }
.contact-name{ color:var(--text-0); font-size:15px; font-weight:500; }
.contact-phone{ font-family:monospace; font-size:14px; color:var(--text-0); }
.contact-action{
  padding:6px 14px; border-radius:6px; background:var(--brand);
  color:#fff; font-size:12px; border:none;
}
.contact-action:hover{ background:var(--brand-2); }

/* ============== 登录/注册 ============== */
.auth-page{
  min-height:calc(100vh - 64px - 200px);
  display:grid; place-items:center; padding:48px 24px;
}
.auth-card{
  width:100%; max-width:440px;
  background:var(--bg-1); border:1px solid var(--line); border-radius:var(--radius);
  padding:36px;
}
.auth-title{ font-size:22px; font-weight:600; margin:0 0 6px; }
.auth-sub{ color:var(--text-2); font-size:13px; margin-bottom:24px; }
.auth-foot{ text-align:center; margin-top:18px; font-size:13px; color:var(--text-2); }
.auth-foot a{ color:var(--brand-3); }
.auth-card .btn{ margin-top:8px; }

.tabs{ display:flex; gap:0; margin-bottom:24px; border-bottom:1px solid var(--line); }
.tab{
  flex:1; padding:12px 0; text-align:center; color:var(--text-2);
  border-bottom:2px solid transparent; margin-bottom:-1px; cursor:pointer;
  font-size:14px;
}
.tab.is-active{ color:var(--brand-3); border-bottom-color:var(--brand-3); }

/* ============== 关于我们 ============== */
.about-hero{
  background:linear-gradient(180deg,var(--bg-1) 0%,var(--bg-0) 100%);
  padding:72px 24px; text-align:center;
  border-bottom:1px solid var(--line);
}
.about-hero h1{ font-size:32px; margin:0 0 12px; }
.about-hero p{ color:var(--text-2); max-width:720px; margin:0 auto; line-height:1.8; }
.about-grid{
  max-width:1100px; margin:48px auto; padding:0 24px;
  display:grid; grid-template-columns:1fr 1fr; gap:36px;
}
.about-card{
  background:var(--bg-1); border:1px solid var(--line); border-radius:var(--radius);
  padding:28px;
}
.about-card h3{ margin:0 0 16px; font-size:18px; }
.about-card p{ color:var(--text-1); line-height:1.9; margin:0; }
.about-info-row{
  display:flex; padding:10px 0; border-bottom:1px dashed var(--line); font-size:14px;
}
.about-info-row:last-child{ border-bottom:none; }
.about-info-key{ color:var(--text-2); width:120px; flex:none; }
.about-info-val{ color:var(--text-0); }

/* ============== 协议/隐私 ============== */
.doc-page{ max-width:860px; margin:32px auto; padding:0 24px 48px; }
.doc-card{ background:var(--bg-1); border:1px solid var(--line); border-radius:var(--radius); padding:36px; }
.doc-card h1{ font-size:24px; margin:0 0 6px; }
.doc-meta{ color:var(--text-2); font-size:13px; margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.doc-card h2{ font-size:17px; margin:24px 0 12px; color:var(--brand-3); }
.doc-card p{ color:var(--text-1); line-height:1.9; margin:0 0 12px; font-size:14px; }
.doc-card ul{ color:var(--text-1); line-height:1.9; padding-left:22px; }
.doc-card li{ margin-bottom:6px; }

/* ============== 购物车 ============== */
.cart-list{ background:var(--bg-1); border:1px solid var(--line); border-radius:var(--radius); padding:8px; }
.cart-item{
  display:grid; grid-template-columns:80px 1fr auto auto; gap:18px; align-items:center;
  padding:18px; border-bottom:1px solid var(--line);
}
.cart-item:last-child{ border-bottom:none; }
.cart-cover{ aspect-ratio:1/1; border-radius:6px; overflow:hidden; background:var(--bg-2); }
.cart-cover img{ width:100%; height:100%; object-fit:cover; }
.cart-title{ font-weight:500; }
.cart-meta{ color:var(--text-2); font-size:12px; margin-top:4px; }
.cart-qty{ display:flex; align-items:center; gap:8px; }
.qty-btn{
  width:28px; height:28px; border-radius:6px; background:var(--bg-2);
  border:1px solid var(--line-2); color:var(--text-0);
}
.qty-btn:hover{ background:var(--bg-3); }
.qty-input{
  width:50px; text-align:center; padding:6px;
  background:var(--bg-2); border:1px solid var(--line-2); color:var(--text-0); border-radius:6px;
}
.cart-remove{ color:var(--text-2); font-size:13px; background:transparent; border:none; }
.cart-remove:hover{ color:var(--danger); }

.cart-summary{
  margin-top:18px; padding:24px; background:var(--bg-1);
  border:1px solid var(--line); border-radius:var(--radius);
  display:flex; justify-content:space-between; align-items:center;
}
.cart-total{ font-size:14px; color:var(--text-2); }
.cart-total strong{ color:var(--brand-3); font-size:24px; font-weight:700; margin-left:8px; }

.cart-empty{ padding:80px 24px; text-align:center; color:var(--text-2); }

/* ============== 发布信息表单 ============== */
.publish-page{ max-width:760px; padding:0 24px; margin:32px auto; }
.publish-card{ background:var(--bg-1); border:1px solid var(--line); border-radius:var(--radius); padding:32px; }
.publish-tip{
  background:var(--brand-soft); border:1px solid rgba(34,160,107,0.3);
  border-radius:8px; padding:14px 18px; color:var(--text-1);
  font-size:13px; line-height:1.7; margin-bottom:24px;
}
textarea.form-input{ min-height:120px; resize:vertical; }

/* ============== 通用响应式 ============== */
@media (max-width: 980px){
  .hero-inner{ grid-template-columns:1fr; }
  /* 手机/平板：服务卡片改为纵向堆叠完整展示，不再隐藏 */
  .hero-visual{ display:grid; grid-template-columns:1fr; gap:14px; min-height:0; }
  .hero-visual-card{ position:static; width:auto; }
  .modules-inner{ grid-template-columns:1fr; }
  .product-grid{ grid-template-columns:repeat(2,1fr); }
  .product-grid.cols-3{ grid-template-columns:repeat(2,1fr); }
  .info-grid{ grid-template-columns:1fr; }
  .info-card{ flex-direction:column; }
  .info-card-img{ width:100%; min-height:180px; }
  .detail-layout{ grid-template-columns:1fr; }
  .footer-inner{ grid-template-columns:1fr 1fr; }
  .about-grid{ grid-template-columns:1fr; }
}
@media (max-width: 600px){
  .nav-inner{ gap:12px; padding:0 16px; position:relative; }
  /* 手机端：导航收进汉堡菜单，避免挤爆顶栏 */
  .nav-burger{ display:inline-flex; }
  .nav-main{
    display:none; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; gap:2px; margin-left:0;
    background:var(--bg-1); border-bottom:1px solid var(--line);
    padding:8px 16px 14px; z-index:60;
    box-shadow:0 16px 32px rgba(4,8,16,.45);
  }
  .nav-main.is-open{ display:flex; }
  .nav-main .nav-link{ padding:12px 10px; font-size:15px; border-radius:8px; }
  .nav-main .nav-link.is-active{ background:var(--brand-soft); }
  .brand-text{ font-size:15px; }
  .nav-user-name{ display:none; }
  .container{ padding:0 16px; }
  .hero h1{ font-size:30px; }
  .product-grid, .product-grid.cols-3{ grid-template-columns:1fr; }
  .info-card-img{ min-height:150px; }
  .footer-inner{ grid-template-columns:1fr; }
}