/* ============================================================
   北京星知航 · 站点样式（本站唯一 CSS，骨架：货单册）
   纸色底 + 墨青主色 + 铜色点缀，清单行式布局，PC / 移动自适应
   ============================================================ */

:root {
  --ink: #16202a;
  --ink2: #47535f;
  --ink3: #7b8691;
  --line: #e2dbcd;
  --line2: #efe9dd;
  --paper: #f7f3ea;
  --card: #fffdf9;
  --brand: #0f4f4a;
  --brand2: #0a3b37;
  --copper: #b26a33;
  --copper2: #8f5224;
  --wrap: 1180px;
  --r: 3px;
  --sh: 0 1px 0 rgba(22, 32, 42, .04), 0 8px 24px rgba(22, 32, 42, .05);
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-size: 14px;
  line-height: 1.65;
}
img { max-width: 100%; display: block; border: 0; }
a { color: var(--ink); text-decoration: none; }
a:hover { color: var(--brand); }
h1, h2, h3, h4 { margin: 0; font-weight: 600; }
p { margin: 0; }
ul, ol, dl, dd { margin: 0; padding: 0; list-style: none; }
button, input, select, textarea { font-family: inherit; font-size: inherit; color: inherit; }
button { cursor: pointer; }
.g-in { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }
.mono { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; letter-spacing: .2px; }
.g-main { min-height: 60vh; padding-bottom: 56px; }

/* ---------- 顶部工具条 ---------- */
.g-bar { background: var(--ink); color: #cfd6da; font-size: 12px; }
.g-bar-in { display: flex; align-items: center; justify-content: space-between; height: 34px; }
.gb-l em { font-style: normal; color: #fff; border: 1px solid rgba(255, 255, 255, .35); padding: 1px 5px; margin-right: 10px; letter-spacing: 1px; }
.gb-r { display: flex; align-items: center; gap: 14px; }
.gb-r a { color: #cfd6da; }
.gb-r a:hover { color: #fff; }
.gb-tel { color: #9fb0b7; }

/* ---------- 品牌行 ---------- */
.g-hd { background: var(--card); border-bottom: 1px solid var(--line); }
.g-hd-in { display: flex; align-items: center; gap: 28px; height: 92px; }
.g-logo {
  font-family: "Songti SC", "Noto Serif SC", Georgia, serif;
  font-size: 30px; letter-spacing: 4px; color: var(--ink); line-height: 1.1; flex: none;
}
.g-logo i { display: block; font-style: normal; font-family: inherit; font-size: 11px; letter-spacing: 1px; color: var(--ink3); margin-top: 6px; }
.g-search { flex: 1; display: flex; height: 42px; border: 1px solid var(--brand); border-radius: var(--r); overflow: hidden; max-width: 560px; }
.g-search input { flex: 1; border: 0; padding: 0 14px; background: #fff; outline: none; }
.g-search button { width: 92px; border: 0; background: var(--brand); color: #fff; letter-spacing: 2px; }
.g-search button:hover { background: var(--brand2); }
.g-acts { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.g-cart { display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); background: #fff; height: 42px; padding: 0 16px; border-radius: var(--r); }
.g-cart b { min-width: 20px; height: 20px; line-height: 20px; text-align: center; background: var(--copper); color: #fff; border-radius: 50%; font-size: 12px; font-weight: 500; }
.g-orders { height: 42px; line-height: 42px; padding: 0 16px; border: 1px solid var(--line); background: #fff; border-radius: var(--r); }

/* ---------- 主导航 ---------- */
.g-nav { background: var(--brand); }
.g-nav-in { display: flex; align-items: center; gap: 2px; height: 46px; overflow-x: auto; scrollbar-width: none; }
.g-nav-in::-webkit-scrollbar { display: none; }
.g-nav a { color: #d8e6e2; padding: 0 14px; height: 46px; line-height: 46px; white-space: nowrap; font-size: 14px; }
.g-nav a:hover, .g-nav a.on { color: #fff; background: rgba(255, 255, 255, .1); }
.g-nav-all { font-weight: 600; background: var(--brand2); }
.g-nav-sep { width: 1px; height: 16px; background: rgba(255, 255, 255, .25); margin: 0 6px; flex: none; }
.g-nav-sp { flex: 1; }

/* ---------- 通用 ---------- */
.g-crumb { padding: 18px 0 0; font-size: 12px; color: var(--ink3); }
.g-crumb a { color: var(--ink3); }
.g-crumb i { font-style: normal; margin: 0 6px; color: #c3bcae; }
.g-crumb span { color: var(--ink2); }
.gbtn { display: inline-block; text-align: center; border: 1px solid transparent; background: var(--brand); color: #fff; height: 42px; line-height: 40px; padding: 0 22px; border-radius: var(--r); font-size: 14px; }
.gbtn:hover { background: var(--brand2); color: #fff; }
.gbtn-main { background: var(--copper); }
.gbtn-main:hover { background: var(--copper2); color: #fff; }
.gbtn-line { background: #fff; border-color: var(--line); color: var(--ink); }
.gbtn-line:hover { border-color: var(--brand); color: var(--brand); background: #fff; }
.gbtn-sm { height: 34px; line-height: 32px; padding: 0 14px; font-size: 13px; }
.gbtn-block { display: block; width: 100%; }
.g-err { background: #fdf3f1; border: 1px solid #f0d3cc; color: #a33524; padding: 10px 14px; margin: 14px 0; border-radius: var(--r); }
.g-ok { background: #eef6f1; border: 1px solid #cbe4d6; color: #1d6b4a; padding: 10px 14px; margin: 14px 0; border-radius: var(--r); }
.g-empty { text-align: center; padding: 80px 0; color: var(--ink3); background: var(--card); border: 1px solid var(--line); }
.g-empty p { font-size: 15px; margin-bottom: 14px; }
.g-empty a { color: var(--brand); }

/* ---------- 首页首屏 ---------- */
.g-hero { padding-top: 26px; }
.g-hero-in { display: grid; grid-template-columns: 232px minmax(0, 1fr) 264px; gap: 22px; align-items: stretch; }
.g-hero-in > * { min-width: 0; }

.g-idx { background: var(--brand); color: #e6f0ec; border-radius: var(--r); display: flex; flex-direction: column; }
.gi-h { padding: 15px 16px 12px; font-size: 13px; letter-spacing: 1px; color: #fff; border-bottom: 1px solid rgba(255, 255, 255, .16); }
.gi-h em { display: block; font-style: normal; font-size: 11px; letter-spacing: 0; color: #9fc2ba; margin-top: 3px; }
.gi-list { padding: 6px 0; max-width: 100%; }
.gi-list li a { display: flex; align-items: center; padding: 11px 16px; color: #dcebe6; border-left: 3px solid transparent; }
.gi-list li a:hover { background: rgba(255, 255, 255, .08); color: #fff; border-left-color: var(--copper); }
.gi-list i { font-style: normal; font-size: 11px; color: #7fa9a1; width: 24px; }
.gi-list span { flex: 1; }
.gi-list em { font-style: normal; font-size: 11px; color: #9fc2ba; }
.gi-foot { margin-top: auto; padding: 14px 16px; border-top: 1px solid rgba(255, 255, 255, .16); }
.gi-foot p { margin-bottom: 10px; }
.gi-foot p:last-child { margin-bottom: 0; }
.gi-foot b { display: block; font-size: 12px; color: #fff; letter-spacing: 1px; }
.gi-foot span { font-size: 11px; color: #a8c6bf; line-height: 1.5; }

.g-feature { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); padding: 18px 20px 6px; }
.gf-h { display: flex; align-items: baseline; justify-content: space-between; border-bottom: 2px solid var(--ink); padding-bottom: 10px; margin-bottom: 4px; }
.gf-h h1 { font-family: "Songti SC", "Noto Serif SC", Georgia, serif; font-size: 22px; letter-spacing: 2px; }
.gf-h h1 em { font-style: normal; font-size: 11px; letter-spacing: 0; color: var(--ink3); margin-left: 10px; font-family: -apple-system, sans-serif; }
.gf-h a { font-size: 12px; color: var(--ink3); }
.fn-list li { display: grid; grid-template-columns: 26px 92px 1fr 84px; gap: 14px; align-items: center; padding: 13px 0; border-bottom: 1px dashed var(--line2); }
.fn-list li:last-child { border-bottom: 0; }
.fn-no, .gr-no { font-family: Consolas, monospace; font-size: 12px; color: var(--copper); }
.fn-thumb { width: 92px; height: 66px; overflow: hidden; background: var(--paper); border-radius: 2px; }
.fn-thumb img, .gr-thumb img { width: 100%; height: 100%; object-fit: cover; }
.fn-t a.fn-name { font-size: 14px; display: block; }
.fn-t a.fn-name:hover { color: var(--brand); }
.fn-t p { font-size: 12px; color: var(--ink3); margin: 3px 0 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fn-tag { font-size: 11px; color: var(--brand); border: 1px solid #cfe0db; background: #f2f8f6; padding: 1px 6px; }
.fn-p { text-align: right; }
.fn-p b { display: block; font-size: 17px; color: var(--copper); font-family: Georgia, serif; letter-spacing: .3px; }
.fn-p a { font-size: 12px; color: var(--ink3); border-bottom: 1px solid var(--line); }

.g-steps { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); padding: 18px 18px 16px; }
.gs-h { font-size: 13px; letter-spacing: 2px; color: var(--ink); border-bottom: 1px solid var(--line); padding-bottom: 10px; margin-bottom: 12px; }
.gs-list li { display: grid; grid-template-columns: 22px 1fr; gap: 8px; margin-bottom: 12px; }
.gs-list i { grid-row: span 2; width: 22px; height: 22px; line-height: 22px; text-align: center; background: var(--brand); color: #fff; border-radius: 50%; font-size: 11px; font-style: normal; }
.gs-list b { font-size: 13px; font-weight: 600; }
.gs-list span { grid-column: 2; font-size: 12px; color: var(--ink3); line-height: 1.5; }
.gs-pay { border: 1px dashed #bcd2cd; background: #f3f8f6; padding: 10px; margin-top: 4px; border-radius: var(--r); }
.gs-pay-l { display: inline-block; background: #1677ff; color: #fff; font-size: 11px; padding: 1px 7px; border-radius: 2px; margin-bottom: 6px; }
.gs-pay p { font-size: 11px; color: var(--ink2); line-height: 1.5; }
.gs-tel { margin-top: 12px; font-size: 11px; color: var(--ink3); }
.gs-tel b { display: block; font-size: 16px; color: var(--ink); font-family: Georgia, serif; letter-spacing: .5px; }

/* ---------- 服务带 ---------- */
.g-band { margin-top: 22px; background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.g-band-in { display: grid; grid-template-columns: repeat(4, 1fr); }
.g-band-in p { padding: 16px 18px; border-right: 1px solid var(--line2); }
.g-band-in p:last-child { border-right: 0; }
.g-band-in b { display: block; font-size: 13px; letter-spacing: 1px; }
.g-band-in span { font-size: 12px; color: var(--ink3); }

/* ---------- 分类区块 + 清单行 ---------- */
.g-sec { margin-top: 34px; }
.gs-head { display: flex; align-items: baseline; justify-content: space-between; border-bottom: 1px solid var(--ink); padding-bottom: 10px; margin-bottom: 4px; }
.gs-head h2 { font-family: "Songti SC", "Noto Serif SC", Georgia, serif; font-size: 21px; letter-spacing: 2px; display: flex; align-items: baseline; gap: 12px; }
.gs-head h2 i { font-style: normal; font-family: Consolas, monospace; font-size: 11px; letter-spacing: 1px; color: #fff; background: var(--ink); padding: 2px 7px; }
.gs-head h2 em { font-style: normal; font-family: -apple-system, sans-serif; font-size: 11px; color: var(--ink3); letter-spacing: 0; }
.gs-head > a { font-size: 12px; color: var(--ink3); }
.gs-head > a:hover { color: var(--brand); }

.gr-list { background: var(--card); border: 1px solid var(--line); border-top: 0; }
.gr-list li { display: grid; grid-template-columns: 30px 104px 1fr 106px 96px; gap: 16px; align-items: center; padding: 14px 18px; border-bottom: 1px dashed var(--line2); }
.gr-list li:last-child { border-bottom: 0; }
.gr-list li:hover { background: #fffefa; }
.gr-thumb { width: 104px; height: 74px; overflow: hidden; background: var(--paper); border-radius: 2px; }
.gr-t a.gr-name { font-size: 14px; }
.gr-t a.gr-name:hover { color: var(--brand); }
.gr-t p { font-size: 12px; color: var(--ink3); margin: 3px 0 5px; }
.gr-meta { font-size: 11px; color: #9aa3ac; }
.gr-price { font-size: 17px; color: var(--copper); font-family: Georgia, serif; text-align: right; white-space: nowrap; }
.gr-price i { font-style: normal; font-size: 11px; color: var(--ink3); font-family: -apple-system, sans-serif; }
.gr-btn { display: block; text-align: center; height: 34px; line-height: 32px; border: 1px solid var(--brand); color: var(--brand); border-radius: 2px; font-size: 13px; }
.gr-btn:hover { background: var(--brand); color: #fff; }

.gp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 16px; }
.gp-card { display: block; background: var(--card); border: 1px solid var(--line); padding: 12px; border-radius: var(--r); }
.gp-card:hover { box-shadow: var(--sh); }
.gp-img { display: block; height: 210px; overflow: hidden; background: var(--paper); }
.gp-img img { width: 100%; height: 100%; object-fit: cover; }
.gp-name { display: block; font-size: 14px; margin: 10px 0 8px; line-height: 1.5; height: 42px; overflow: hidden; }
.gp-foot { display: flex; align-items: center; justify-content: space-between; border-top: 1px dashed var(--line2); padding-top: 8px; }
.gp-foot b { font-size: 17px; color: var(--copper); font-family: Georgia, serif; }
.gp-foot i { font-style: normal; font-size: 12px; color: var(--ink3); }

/* ---------- 首页关于 ---------- */
.g-about { margin-top: 34px; }
.g-about-in { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; background: var(--ink); color: #d6dde1; padding: 34px 36px; border-radius: var(--r); }
.ga-k { font-size: 11px; letter-spacing: 3px; color: #93a2ab; margin-bottom: 10px; }
.ga-l h2 { color: #fff; font-family: "Songti SC", "Noto Serif SC", serif; font-size: 24px; letter-spacing: 2px; margin-bottom: 12px; }
.ga-l p { font-size: 13px; line-height: 1.8; color: #b9c4ca; }
.ga-meta { margin-top: 12px; font-size: 12px; color: #8e9ba3; }
.ga-link { display: inline-block; margin-top: 14px; font-size: 12px; color: #e8ceb2; border-bottom: 1px solid rgba(232, 206, 178, .4); }
.ga-r dl { display: grid; grid-template-columns: 82px 1fr; row-gap: 8px; font-size: 13px; }
.ga-r dt { color: #8e9ba3; }
.ga-r dd { color: #cfd8dd; }

/* ---------- 页脚 ---------- */
.g-foot { background: #101820; color: #93a1aa; margin-top: 10px; }
.gf-in { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 30px; padding: 40px 24px 30px; }
.gf-logo { font-family: "Songti SC", "Noto Serif SC", serif; font-size: 24px; color: #fff; letter-spacing: 3px; margin-bottom: 12px; }
.gf-line { font-size: 12px; line-height: 2; }
.gf-h { color: #fff; font-size: 13px; letter-spacing: 1px; margin-bottom: 10px; }
.gf-col a { display: block; font-size: 12px; line-height: 2; color: #93a1aa; }
.gf-col a:hover { color: #fff; }
.gf-bot { border-top: 1px solid #1e2933; }
.gf-bot .g-in { display: flex; align-items: center; gap: 18px; height: 52px; font-size: 12px; color: #6f7d86; }
.gf-bot a { color: #93a1aa; }
.gf-bot-r { margin-left: auto; }

/* ---------- 列表页 ---------- */
.g-list-in { display: grid; grid-template-columns: 208px 1fr; gap: 26px; padding-top: 18px; }
.g-cl { position: sticky; top: 16px; align-self: start; background: var(--card); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.gcl-h { padding: 12px 14px; font-size: 13px; letter-spacing: 2px; border-bottom: 1px solid var(--line); background: #fbf8f1; }
.gcl-a { display: flex; justify-content: space-between; padding: 10px 14px; font-size: 13px; border-left: 3px solid transparent; color: var(--ink2); }
.gcl-a em { font-style: normal; font-size: 11px; color: var(--ink3); font-family: Consolas, monospace; }
.gcl-a:hover { background: #f7f4ec; color: var(--brand); }
.gcl-a.on { border-left-color: var(--copper); background: #f7f4ec; color: var(--ink); font-weight: 600; }
.gcl-help { padding: 14px; border-top: 1px solid var(--line); background: #fbf8f1; }
.gcl-help b { display: block; font-size: 12px; }
.gcl-help span { font-size: 11px; color: var(--ink3); display: block; margin-top: 6px; }
.gcl-help strong { font-size: 17px; font-family: Georgia, serif; color: var(--copper); }
.g-clr { min-width: 0; }
.g-lh { display: flex; align-items: flex-end; justify-content: space-between; border-bottom: 1px solid var(--ink); padding-bottom: 12px; }
.g-lh-simple { margin-top: 14px; }
.glh-l h1 { font-family: "Songti SC", "Noto Serif SC", serif; font-size: 26px; letter-spacing: 2px; }
.glh-l span { font-size: 12px; color: var(--ink3); }
.glh-l span b { color: var(--copper); }
.glh-sorts { display: flex; gap: 4px; }
.glh-sorts a { font-size: 12px; padding: 4px 10px; border: 1px solid var(--line); background: #fff; }
.glh-sorts a.on { background: var(--ink); border-color: var(--ink); color: #fff; }
.gr-list-lg { border-top: 1px solid var(--line); margin-top: 14px; }
.gr-list-lg li { grid-template-columns: 30px 112px 1fr 110px 100px; }
.gr-list-lg .gr-thumb { width: 112px; height: 80px; }

/* ---------- 详情页 ---------- */
.gd-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 468px; gap: 34px; margin-top: 18px; }
.gd-wrap > * { min-width: 0; }
.gd-gal { background: var(--card); border: 1px solid var(--line); padding: 16px; border-radius: var(--r); }
.gd-main { height: 420px; background: var(--paper); overflow: hidden; }
.gd-main img { width: 100%; height: 100%; object-fit: contain; }
.gd-thumbs { display: flex; gap: 8px; margin-top: 12px; overflow-x: auto; }
.gd-thumb { width: 66px; height: 66px; flex: none; padding: 0; border: 1px solid var(--line); background: #fff; overflow: hidden; }
.gd-thumb.on { border-color: var(--copper); }
.gd-thumb img { width: 100%; height: 100%; object-fit: cover; }
.gd-galnote { display: flex; justify-content: space-between; margin-top: 10px; font-size: 11px; color: var(--ink3); }
.gd-info { min-width: 0; }
.gd-kicker { font-size: 12px; letter-spacing: 1px; color: var(--copper); }
.gd-info h1 { font-size: 22px; line-height: 1.5; font-weight: 600; margin: 8px 0 6px; }
.gd-sub { font-size: 13px; color: var(--ink3); margin-bottom: 14px; }
.gd-price { display: flex; align-items: flex-end; gap: 10px; background: #fbf3e9; border-left: 3px solid var(--copper); padding: 14px 16px; flex-wrap: wrap; }
.gdp-now { font-size: 30px; color: var(--copper2); font-family: Georgia, serif; line-height: 1; }
.gdp-old { font-size: 13px; color: var(--ink3); text-decoration: line-through; }
.gdp-unit { font-size: 12px; color: var(--ink3); }
.gdp-tip { width: 100%; font-size: 12px; color: var(--ink2); }
.gd-params { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 13px; table-layout: fixed; }
.gd-params th, .gd-params td { word-break: break-word; }
.gd-params th, .gd-params td { border: 1px solid var(--line2); padding: 8px 10px; text-align: left; }
.gd-params th { background: #fbf8f1; color: var(--ink2); font-weight: 500; width: 82px; }
.gd-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.gd-tags span { font-size: 11px; color: var(--brand); border: 1px solid #cfe0db; background: #f2f8f6; padding: 2px 8px; }
.gd-buy { border: 1px solid var(--line); background: var(--card); padding: 16px; border-radius: var(--r); }
.gdb-qty { display: flex; align-items: center; gap: 12px; font-size: 13px; }
.gdb-num { display: flex; border: 1px solid var(--line); height: 36px; }
.gdb-num button { width: 34px; border: 0; background: #f8f5ee; font-size: 16px; }
.gdb-num input { width: 58px; border: 0; border-left: 1px solid var(--line); border-right: 1px solid var(--line); text-align: center; outline: none; }
.gdb-qty em { font-style: normal; font-size: 12px; color: var(--ink3); }
.gdb-acts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.gdb-acts .gbtn { height: 46px; line-height: 44px; font-size: 15px; }
.gdb-note { font-size: 12px; color: var(--ink3); margin-top: 10px; }
.gd-flash { margin-top: 10px; font-size: 13px; color: #1d6b4a; background: #eef6f1; border: 1px solid #cbe4d6; padding: 8px 12px; }
.gd-serv { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 14px; }
.gd-serv p { background: #fbf8f1; border: 1px solid var(--line2); padding: 10px; }
.gd-serv b { display: block; font-size: 12px; }
.gd-serv span { font-size: 11px; color: var(--ink3); line-height: 1.5; }
.gd-body { margin-top: 34px; background: var(--card); border: 1px solid var(--line); }
.gdb-h { display: flex; align-items: baseline; gap: 12px; padding: 14px 20px; border-bottom: 1px solid var(--line); background: #fbf8f1; }
.gdb-h h2 { font-size: 16px; letter-spacing: 2px; }
.gdb-h span { font-size: 12px; color: var(--ink3); }
.gdb-content { padding: 20px; }
.gdb-content img { width: 100%; max-width: 900px; margin: 0 auto 14px; }
.gdb-content p { margin-bottom: 10px; }

/* ---------- 登录弹窗 ---------- */
.gm-mask { display: none; position: fixed; inset: 0; background: rgba(16, 24, 32, .55); z-index: 99; align-items: center; justify-content: center; padding: 20px; }
.gm-mask.show { display: flex; }
.gm-box { width: 100%; max-width: 380px; background: #fff; padding: 26px 24px 20px; position: relative; border-radius: var(--r); border-top: 3px solid var(--copper); }
.gm-x { position: absolute; right: 10px; top: 8px; border: 0; background: none; font-size: 20px; color: var(--ink3); line-height: 1; }
.gm-h { font-size: 18px; font-weight: 600; letter-spacing: 1px; }
.gm-s { font-size: 12px; color: var(--ink3); margin: 4px 0 16px; }
.gm-form label { display: block; margin-bottom: 12px; font-size: 13px; color: var(--ink2); }
.gm-form input { width: 100%; height: 40px; border: 1px solid var(--line); padding: 0 12px; margin-top: 6px; outline: none; }
.gm-form input:focus { border-color: var(--brand); }
.gm-form .gbtn { width: 100%; margin-top: 4px; }
.gm-alt { font-size: 12px; color: var(--ink3); margin-top: 12px; text-align: center; }
.gm-alt a { color: var(--brand); }

/* ---------- 购物车 ---------- */
.gc-wrap { display: grid; grid-template-columns: 1fr 320px; gap: 24px; margin-top: 16px; align-items: start; }
.gc-list { background: var(--card); border: 1px solid var(--line); }
.gcl-head { display: grid; grid-template-columns: 1fr 100px 110px 100px 60px; gap: 10px; padding: 10px 16px; font-size: 12px; color: var(--ink3); border-bottom: 1px solid var(--line); background: #fbf8f1; }
.gcl-row { display: grid; grid-template-columns: 1fr 100px 110px 100px 60px; gap: 10px; padding: 14px 16px; border-bottom: 1px dashed var(--line2); align-items: center; }
.gcl-g { display: flex; gap: 12px; }
.gcl-g img { width: 96px; height: 72px; object-fit: cover; background: var(--paper); }
.gcl-name { font-size: 13px; display: block; }
.gcl-sub, .gcl-stock { display: block; font-size: 11px; color: var(--ink3); }
.gcl-price, .gcl-sub2 { font-size: 14px; }
.gcl-sub2 { color: var(--copper); font-family: Georgia, serif; }
.gcl-num input { width: 62px; height: 32px; border: 1px solid var(--line); text-align: center; }
.gcl-del button { border: 0; background: none; color: var(--ink3); font-size: 12px; }
.gcl-foot { display: flex; justify-content: space-between; padding: 14px 16px; }
.gc-sum, .gco-sum { background: var(--card); border: 1px solid var(--line); padding: 18px; position: sticky; top: 16px; }
.gcs-h { font-size: 14px; letter-spacing: 2px; border-bottom: 1px solid var(--line); padding-bottom: 10px; margin-bottom: 12px; }
.gc-sum dl, .gco-sum dl { display: flex; justify-content: space-between; font-size: 13px; color: var(--ink2); margin-bottom: 8px; }
.gcs-total { display: flex; justify-content: space-between; align-items: baseline; border-top: 1px dashed var(--line); padding-top: 12px; margin: 6px 0 14px; font-size: 13px; }
.gcs-total b { font-size: 24px; color: var(--copper2); font-family: Georgia, serif; }
.gcs-tip { font-size: 11px; color: var(--ink3); margin-top: 10px; text-align: center; }
.gcs-pay { margin-top: 12px; border-top: 1px dashed var(--line); padding-top: 10px; font-size: 11px; color: var(--ink3); text-align: center; }
.gcs-pay span { display: inline-block; background: #1677ff; color: #fff; padding: 1px 6px; border-radius: 2px; margin-right: 6px; }

/* ---------- 结算 ---------- */
.gco-wrap { display: grid; grid-template-columns: 1fr 320px; gap: 24px; margin-top: 16px; align-items: start; }
.gco-block { background: var(--card); border: 1px solid var(--line); padding: 18px 20px; margin-bottom: 16px; }
.gcb-h { font-size: 14px; letter-spacing: 1px; margin-bottom: 14px; display: flex; align-items: center; gap: 10px; }
.gcb-h i { font-style: normal; font-family: Consolas, monospace; font-size: 11px; background: var(--ink); color: #fff; padding: 2px 6px; }
.gcb-h span { font-size: 12px; color: var(--ink3); margin-left: auto; }
.gcb-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.gcb-grid label { font-size: 13px; color: var(--ink2); display: block; }
.gcb-grid label em { font-style: normal; color: #c0392b; }
.gcb-grid input { width: 100%; height: 40px; border: 1px solid var(--line); padding: 0 12px; margin-top: 6px; outline: none; }
.gcb-grid input:focus { border-color: var(--brand); }
.gcb-full { grid-column: 1 / -1; }
.gcog-row { display: grid; grid-template-columns: 96px 1fr 110px 90px; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px dashed var(--line2); }
.gcog-row:last-child { border-bottom: 0; }
.gcog-row img { width: 96px; height: 72px; object-fit: cover; }
.gcog-t a { font-size: 13px; display: block; }
.gcog-t span { font-size: 11px; color: var(--ink3); }
.gcog-p { font-size: 12px; color: var(--ink2); text-align: right; }
.gcog-s { font-size: 14px; color: var(--copper); text-align: right; font-family: Georgia, serif; }
.gcb-pay { display: flex; align-items: center; gap: 10px; border: 1px solid var(--brand); background: #f3f8f6; padding: 12px 14px; font-size: 13px; }
.gcb-pay-l { background: #1677ff; color: #fff; padding: 1px 7px; border-radius: 2px; font-size: 12px; }
.gcb-pay-d { font-size: 12px; color: var(--ink2); }
.gcb-pay-tip { font-size: 11px; color: var(--ink3); margin-top: 10px; }
.gcb-pay-tip a { color: var(--brand); }
.gcs-safe { margin-top: 14px; border-top: 1px dashed var(--line); padding-top: 10px; font-size: 11px; color: var(--ink3); text-align: center; }

/* ---------- 收银台 ---------- */
.gp-head { display: flex; align-items: flex-end; justify-content: space-between; margin: 18px 0 16px; border-bottom: 1px solid var(--ink); padding-bottom: 14px; }
.gp-head h1 { font-size: 22px; letter-spacing: 1px; font-family: "Songti SC", "Noto Serif SC", serif; }
.gp-head p { font-size: 13px; color: var(--ink2); margin-top: 6px; }
.gp-amt { font-size: 20px; color: var(--copper2); font-family: Georgia, serif; }
.gp-timer { font-size: 12px; color: var(--ink3); }
.gp-timer b { font-family: Consolas, monospace; font-size: 15px; color: var(--ink); }
.gp-cash { display: grid; grid-template-columns: 1fr 372px; gap: 24px; align-items: start; }
.gp-order { background: var(--card); border: 1px solid var(--line); }
.gpo-h { display: flex; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid var(--line); background: #fbf8f1; font-size: 13px; }
.gpo-h i { font-style: normal; letter-spacing: 2px; }
.gpo-h span { font-size: 12px; color: var(--ink3); }
.gpo-row { display: grid; grid-template-columns: 96px 1fr 90px; gap: 12px; align-items: center; padding: 12px 18px; border-bottom: 1px dashed var(--line2); }
.gpo-row img { width: 96px; height: 72px; object-fit: cover; }
.gpo-t a { font-size: 13px; }
.gpo-t span { display: block; font-size: 12px; color: var(--ink3); }
.gpo-s { text-align: right; font-size: 14px; color: var(--copper); font-family: Georgia, serif; }
.gpo-info { display: grid; grid-template-columns: 88px 1fr; row-gap: 8px; padding: 14px 18px; font-size: 13px; }
.gpo-info dt { color: var(--ink3); }
.gpo-info dd { color: var(--ink2); }
.gpo-steps { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.gpo-steps span { padding: 12px 6px; text-align: center; font-size: 12px; color: var(--ink3); border-right: 1px solid var(--line2); }
.gpo-steps span:last-child { border-right: 0; }
.gpo-steps span.on { color: var(--brand); font-weight: 600; }
.gpo-steps i { display: inline-block; width: 18px; height: 18px; line-height: 18px; border-radius: 50%; background: var(--line); color: #fff; font-style: normal; font-size: 11px; margin-right: 6px; }
.gpo-steps span.on i { background: var(--brand); }

.gp-qr { background: var(--card); border: 1px solid var(--line); padding: 20px; position: sticky; top: 16px; }
.gpq-h { text-align: center; font-size: 14px; letter-spacing: 1px; margin-bottom: 14px; }
.gpq-alipay { display: inline-block; background: #1677ff; color: #fff; font-size: 12px; padding: 2px 8px; border-radius: 2px; margin-right: 8px; }
.gpq-code { width: 216px; margin: 0 auto; padding: 8px; border: 1px solid var(--line); background: #fff; min-height: 216px; display: flex; align-items: center; justify-content: center; }
.gpq-code img, .gpq-code canvas { width: 200px; height: 200px; }
.gpq-none { color: var(--ink3); font-size: 12px; }
.gpq-amt { text-align: center; font-size: 26px; color: var(--copper2); font-family: Georgia, serif; margin: 14px 0 8px; }
.gpq-tip { font-size: 12px; color: var(--ink2); line-height: 1.8; text-align: center; }
.gpq-tip b { color: var(--ink); }
.gpq-warn { font-size: 11px; color: #a33524; background: #fdf3f1; border: 1px solid #f0d3cc; padding: 6px 8px; margin-top: 10px; }
.gpq-form { margin-top: 14px; }
.gpq-note { font-size: 11px; color: var(--ink3); text-align: center; margin-top: 12px; }
.gpq-cancel { display: block; text-align: center; font-size: 12px; color: var(--ink3); margin-top: 8px; text-decoration: underline; }
.gp-help { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 24px; }
.gp-help p { background: #fbf8f1; border: 1px solid var(--line2); padding: 14px; font-size: 12px; color: var(--ink2); line-height: 1.7; }
.gp-help b { display: block; color: var(--ink); margin-bottom: 4px; }
.gp-done { background: var(--card); border: 1px solid var(--line); padding: 44px 20px; text-align: center; margin-top: 18px; }
.gpd-ico { width: 54px; height: 54px; line-height: 54px; margin: 0 auto 14px; background: var(--brand); color: #fff; border-radius: 50%; font-size: 26px; }
.gp-done h1 { font-size: 20px; letter-spacing: 1px; }
.gpd-no { font-size: 13px; color: var(--ink2); margin-top: 8px; }
.gpd-s { font-size: 13px; color: var(--ink3); margin-top: 8px; }
.gpd-acts { margin-top: 20px; display: flex; gap: 12px; justify-content: center; }

/* ---------- 登录 / 注册 ---------- */
.ga-wrap { display: grid; grid-template-columns: 1fr 340px; gap: 24px; margin-top: 16px; align-items: start; }
.ga-form { background: var(--card); border: 1px solid var(--line); padding: 30px 32px 26px; }
.ga-form h1 { font-family: "Songti SC", "Noto Serif SC", serif; font-size: 24px; letter-spacing: 2px; }
.ga-sub { font-size: 12px; color: var(--ink3); margin: 6px 0 20px; }
.ga-form form label { display: block; font-size: 13px; color: var(--ink2); margin-bottom: 14px; }
.ga-form form input[type=text], .ga-form form input[type=password] { width: 100%; height: 42px; border: 1px solid var(--line); padding: 0 12px; margin-top: 6px; outline: none; }
.ga-form form input:focus { border-color: var(--brand); }
.ga-agree { font-size: 12px; color: var(--ink3); line-height: 1.7; }
.ga-agree input { margin-right: 6px; }
.ga-agree a { color: var(--brand); }
.ga-alt { font-size: 12px; color: var(--ink3); margin-top: 14px; }
.ga-alt a { color: var(--brand); }
.ga-side { background: var(--ink); color: #c3ccd2; padding: 24px 22px; }
.gas-h { color: #fff; font-size: 13px; letter-spacing: 2px; border-bottom: 1px solid #2a3742; padding-bottom: 10px; margin-bottom: 14px; }
.gas-list li { font-size: 12px; line-height: 1.7; margin-bottom: 10px; padding-left: 26px; position: relative; }
.gas-list i { position: absolute; left: 0; top: 2px; width: 18px; height: 18px; line-height: 18px; text-align: center; background: var(--copper); color: #fff; border-radius: 50%; font-style: normal; font-size: 11px; }
.gas-tel { margin-top: 16px; font-size: 11px; color: #8e9ba3; border-top: 1px solid #2a3742; padding-top: 12px; }
.gas-tel b { display: block; font-size: 17px; color: #fff; font-family: Georgia, serif; }

/* ---------- 关于 / 联系 ---------- */
.gab-hero { display: grid; grid-template-columns: 1fr 320px; gap: 30px; background: var(--card); border: 1px solid var(--line); padding: 34px 32px; margin-top: 16px; align-items: center; }
.gabh-k { font-size: 11px; letter-spacing: 3px; color: var(--copper); }
.gabh-l h1 { font-family: "Songti SC", "Noto Serif SC", serif; font-size: 34px; letter-spacing: 6px; margin: 8px 0 12px; }
.gabh-d { font-size: 13px; color: var(--ink2); line-height: 1.9; max-width: 620px; }
.gabh-m { font-size: 12px; color: var(--ink3); margin-top: 12px; }
.gabh-r { display: grid; grid-template-columns: repeat(3, 1fr); border-left: 1px solid var(--line); }
.gabh-r p { text-align: center; padding: 8px 6px; }
.gabh-r b { display: block; font-size: 24px; color: var(--brand); font-family: Georgia, serif; }
.gabh-r span { font-size: 11px; color: var(--ink3); }
.gab-sec { margin-top: 30px; }
.gab-sec h2 { font-size: 18px; letter-spacing: 2px; border-bottom: 1px solid var(--ink); padding-bottom: 9px; margin-bottom: 16px; font-family: "Songti SC", "Noto Serif SC", serif; }
.gab-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.gab-grid div { background: var(--card); border: 1px solid var(--line); padding: 18px; }
.gab-grid i { font-style: normal; font-family: Consolas, monospace; color: var(--copper); font-size: 12px; }
.gab-grid b { display: block; font-size: 14px; margin: 6px 0 8px; }
.gab-grid p { font-size: 12px; color: var(--ink2); line-height: 1.8; }
.gab-table { width: 100%; border-collapse: collapse; font-size: 13px; background: var(--card); }
.gab-table th, .gab-table td { border: 1px solid var(--line); padding: 11px 14px; text-align: left; }
.gab-table th { background: #fbf8f1; color: var(--ink2); font-weight: 500; width: 92px; }
.gab-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.gab-links li { background: var(--card); border: 1px solid var(--line); padding: 12px 16px; }
.gab-links a { font-size: 13px; }
.gab-links span { display: block; font-size: 11px; color: var(--ink3); margin-top: 2px; }

.gct-wrap { display: grid; grid-template-columns: 1fr 400px; gap: 24px; margin-top: 16px; align-items: start; }
.gct-l { background: var(--card); border: 1px solid var(--line); padding: 30px 32px; }
.gct-l h1 { font-family: "Songti SC", "Noto Serif SC", serif; font-size: 26px; letter-spacing: 3px; }
.gct-sub { font-size: 13px; color: var(--ink3); margin: 8px 0 20px; }
.gct-dl { display: grid; grid-template-columns: 92px 1fr; row-gap: 12px; font-size: 13px; }
.gct-dl dt { color: var(--ink3); }
.gct-dl dd { color: var(--ink); }
.gct-dl dd b { font-size: 18px; font-family: Georgia, serif; color: var(--copper2); }
.gct-note { margin-top: 20px; font-size: 12px; color: var(--ink3); background: #fbf8f1; border: 1px solid var(--line2); padding: 12px; line-height: 1.8; }
.gct-r { background: var(--card); border: 1px solid var(--line); padding: 24px; }
.gct-r h2 { font-size: 16px; letter-spacing: 1px; margin-bottom: 14px; }
.gct-r label { display: block; font-size: 13px; color: var(--ink2); margin-bottom: 12px; }
.gct-r label em { font-style: normal; color: #c0392b; }
.gct-r input, .gct-r textarea { width: 100%; border: 1px solid var(--line); padding: 9px 12px; margin-top: 6px; outline: none; }
.gct-r input { height: 40px; }
.gct-r input:focus, .gct-r textarea:focus { border-color: var(--brand); }
.g-search-page { max-width: none; margin-top: 16px; }

/* ---------- 会员中心 ---------- */
.dash { display: grid; grid-template-columns: 208px 1fr; gap: 24px; padding-top: 18px; align-items: start; }
.dash-side { background: var(--card); border: 1px solid var(--line); }
.ds-user { padding: 16px; border-bottom: 1px solid var(--line); background: #fbf8f1; }
.ds-user b { display: block; font-size: 14px; }
.ds-user span { font-size: 11px; color: var(--ink3); }
.dash-nav a { display: block; padding: 11px 16px; font-size: 13px; border-left: 3px solid transparent; color: var(--ink2); }
.dash-nav a.on { border-left-color: var(--copper); background: #f7f4ec; color: var(--ink); font-weight: 600; }
.ds-cta { display: block; padding: 11px 16px; font-size: 12px; color: var(--ink3); border-top: 1px solid var(--line); }
.dash-main { min-width: 0; }
.dash-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 18px; }
.dcard { background: var(--card); border: 1px solid var(--line); padding: 18px; text-align: center; }
.dcard b { display: block; font-size: 24px; color: var(--brand); font-family: Georgia, serif; }
.dcard span { font-size: 12px; color: var(--ink3); }
.dash-block { background: var(--card); border: 1px solid var(--line); padding: 18px; margin-bottom: 18px; }
.db-h { display: flex; align-items: baseline; justify-content: space-between; border-bottom: 1px solid var(--line); padding-bottom: 10px; margin-bottom: 6px; }
.db-h h2 { font-size: 15px; letter-spacing: 1px; }
.db-h a { font-size: 12px; color: var(--ink3); }
.db-empty { font-size: 13px; color: var(--ink3); padding: 24px 0; text-align: center; }
.db-empty a { color: var(--brand); }
.dtable { width: 100%; border-collapse: collapse; font-size: 13px; }
.dtable th, .dtable td { border-bottom: 1px solid var(--line2); padding: 10px 8px; text-align: left; }
.dtable th { font-size: 12px; color: var(--ink3); font-weight: 500; background: #fbf8f1; }
.dtable .ops a { margin-right: 10px; color: var(--brand); font-size: 12px; }
.ost { font-size: 11px; padding: 1px 7px; border: 1px solid var(--line); color: var(--ink2); }
.st-wait { color: #a33524; border-color: #f0d3cc; background: #fdf3f1; }
.st-pay { color: #1d6b4a; border-color: #cbe4d6; background: #eef6f1; }
.st-sent { color: #1f5f8b; border-color: #cfe0ee; background: #eef5fb; }
.st-done { color: var(--ink2); }
.st-audit { color: #8a5a1a; border-color: #efdcbf; background: #fdf7ec; }
.st-cancel { color: var(--ink3); }
.dash-tip p { font-size: 12px; color: var(--ink2); background: #fbf8f1; border: 1px solid var(--line2); padding: 12px 14px; margin-bottom: 10px; line-height: 1.8; }
.dash-tip b { display: block; color: var(--ink); }

.cate-tabs { display: flex; gap: 4px; flex-wrap: wrap; margin: 12px 0; }
.cate-tabs a { font-size: 12px; padding: 5px 12px; border: 1px solid var(--line); background: #fff; }
.cate-tabs a.on { background: var(--ink); border-color: var(--ink); color: #fff; }
.tab-n { font-style: normal; color: var(--copper); margin-left: 3px; }
.ord-card { border: 1px solid var(--line); margin-bottom: 12px; }
.oc-head { display: flex; align-items: center; gap: 14px; padding: 9px 14px; background: #fbf8f1; border-bottom: 1px solid var(--line2); font-size: 12px; color: var(--ink3); }
.oc-head .ost { margin-left: auto; }
.oc-body { display: flex; gap: 16px; padding: 14px; }
.oc-goods { flex: 1; display: flex; flex-wrap: wrap; gap: 12px; }
.oc-g { display: flex; align-items: center; gap: 10px; border: 1px solid var(--line2); padding: 6px 10px; max-width: 100%; }
.oc-g img { width: 60px; height: 46px; object-fit: cover; }
.oc-gname { font-size: 12px; }
.oc-gnum { font-size: 11px; color: var(--ink3); }
.oc-sum { text-align: right; min-width: 140px; }
.oc-total { font-size: 13px; }
.oc-total b { color: var(--copper2); font-size: 16px; font-family: Georgia, serif; }
.oc-pay { font-size: 11px; color: var(--ink3); }
.oc-foot { display: flex; gap: 8px; justify-content: flex-end; padding: 10px 14px; border-top: 1px solid var(--line2); align-items: center; }
.oc-tip { font-size: 11px; color: var(--ink3); }
.btn-mini { font-size: 12px; border: 1px solid var(--line); padding: 4px 12px; background: #fff; }
.btn-mini.main { background: var(--copper); border-color: var(--copper); color: #fff; }
.order-state { border: 1px solid var(--line2); padding: 14px; margin: 12px 0; background: #fbf8f1; }
.os-now { font-size: 18px; font-weight: 600; }
.os-no { font-size: 12px; color: var(--ink3); margin-top: 4px; }
.os-acts { margin-top: 10px; display: flex; gap: 10px; }
.order-total { margin-top: 12px; font-size: 13px; }
.order-total b { font-size: 18px; color: var(--copper2); font-family: Georgia, serif; }
.order-info { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 16px; }
.order-info div { border: 1px solid var(--line2); padding: 12px; font-size: 12px; }
.order-info b { display: block; margin-bottom: 4px; }
.pager { display: flex; gap: 6px; align-items: center; margin: 22px 0 8px; flex-wrap: wrap; font-size: 12px; }
.pager a, .pager span.cur { padding: 5px 11px; border: 1px solid var(--line); background: #fff; }
.pager span.cur { background: var(--ink); border-color: var(--ink); color: #fff; }
.pager .total { margin-left: auto; color: var(--ink3); }
.form-err { background: #fdf3f1; border: 1px solid #f0d3cc; color: #a33524; padding: 9px 12px; margin: 10px 0; }
.form-ok { background: #eef6f1; border: 1px solid #cbe4d6; color: #1d6b4a; padding: 9px 12px; margin: 10px 0; }
.empty { text-align: center; padding: 70px 0; color: var(--ink3); }
.art-box { background: var(--card); border: 1px solid var(--line); padding: 32px 36px; margin-top: 16px; }
.art-box h1 { font-size: 24px; letter-spacing: 1px; font-family: "Songti SC", "Noto Serif SC", serif; }
.art-meta { font-size: 12px; color: var(--ink3); margin: 8px 0 20px; border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.art-content { font-size: 14px; line-height: 1.95; color: #2c3742; }
.art-content h2 { font-size: 16px; margin: 22px 0 10px; }
.art-content h3 { font-size: 14px; margin: 16px 0 8px; }
.art-content p { margin-bottom: 10px; }
.art-content ul, .art-content ol { padding-left: 22px; list-style: disc; margin-bottom: 10px; }
.art-content table { width: 100%; border-collapse: collapse; margin: 12px 0; }
.art-content th, .art-content td { border: 1px solid var(--line); padding: 8px 10px; font-size: 13px; }

/* ---------- 响应式 ---------- */
@media (max-width: 1100px) {
  .g-hero-in { grid-template-columns: 200px 1fr; }
  .g-steps { display: none; }
  .gp-grid { grid-template-columns: repeat(3, 1fr); }
  .gd-wrap { grid-template-columns: 1fr 400px; gap: 22px; }
}
@media (max-width: 900px) {
  .g-hd-in { flex-wrap: wrap; height: auto; padding: 14px 0; gap: 12px; }
  .g-logo { font-size: 24px; }
  .g-search { order: 3; flex: 1 0 100%; max-width: none; }
  .g-acts { order: 2; }
  .g-hero-in { grid-template-columns: minmax(0, 1fr); }
  .g-idx { flex-direction: column; }
  .gi-list { display: flex; overflow-x: auto; padding: 8px; gap: 8px; }
  .gi-list li a { border: 1px solid rgba(255,255,255,.25); border-radius: 2px; padding: 6px 12px; white-space: nowrap; }
  .gi-foot { display: none; }
  .g-band-in { grid-template-columns: repeat(2, 1fr); }
  .g-band-in p:nth-child(2) { border-right: 0; }
  .g-band-in p { border-bottom: 1px solid var(--line2); }
  .g-list-in { grid-template-columns: 1fr; }
  .g-cl { position: static; }
  .gcl-h { display: none; }
  .g-cl .gcl-a { display: inline-flex; border: 1px solid var(--line); margin: 8px; padding: 6px 12px; }
  .g-cl { display: flex; flex-wrap: wrap; }
  .gcl-help { display: none; }
  .gd-wrap { grid-template-columns: minmax(0, 1fr); }
  .gd-main { height: 320px; }
  .gc-wrap, .gco-wrap, .ga-wrap, .gct-wrap, .gab-hero { grid-template-columns: minmax(0, 1fr); }
  .gc-sum, .gco-sum, .gp-qr { position: static; }
  .gp-cash { grid-template-columns: 1fr; }
  .gp-help { grid-template-columns: 1fr; }
  .gp-grid { grid-template-columns: repeat(2, 1fr); }
  .g-about-in { grid-template-columns: 1fr; gap: 22px; padding: 26px; }
  .gab-grid { grid-template-columns: 1fr; }
  .gab-links { grid-template-columns: 1fr; }
  .dash { grid-template-columns: 1fr; }
  .dash-side { display: flex; flex-wrap: wrap; align-items: center; }
  .ds-user { border-bottom: 0; border-right: 1px solid var(--line); }
  .dash-nav { display: flex; flex: 1; }
  .dash-nav a { border-left: 0; border-bottom: 3px solid transparent; }
  .dash-nav a.on { border-bottom-color: var(--copper); }
  .ds-cta { border-top: 0; }
  .dash-cards { grid-template-columns: repeat(2, 1fr); }
  .gabh-r { border-left: 0; border-top: 1px solid var(--line); padding-top: 14px; grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .g-in { padding: 0 12px; }
  body { font-size: 13px; }
  .g-bar-in { height: auto; padding: 6px 0; gap: 6px; flex-wrap: wrap; font-size: 11px; }
  .gb-l em { margin-right: 6px; }
  .gb-r { gap: 10px; }
  .gb-tel { display: none; }
  .g-logo { font-size: 21px; letter-spacing: 2px; }
  .g-logo i { font-size: 10px; letter-spacing: 0; }
  .g-cart span, .g-orders { display: none; }
  .g-nav-in { height: 42px; }
  .g-nav a { height: 42px; line-height: 42px; padding: 0 11px; font-size: 13px; }
  .gnav-sp { display: none; }
  .g-nav-sp { display: none; }
  .g-hero { padding-top: 14px; }
  .gi-list li a { padding: 5px 10px; font-size: 12px; }
  .g-feature { padding: 14px 12px 4px; }
  .gf-h h1 { font-size: 18px; }
  .fn-list li { grid-template-columns: 76px 1fr auto; gap: 10px; padding: 11px 0; }
  .fn-no { display: none; }
  .fn-thumb { width: 76px; height: 58px; }
  .fn-t a.fn-name { font-size: 13px; }
  .fn-t p { display: none; }
  .fn-p b { font-size: 15px; }
  .fn-p a { display: none; }
  .g-band-in { grid-template-columns: 1fr 1fr; }
  .g-band-in p { padding: 11px 12px; }
  .g-band-in span { font-size: 11px; }
  .gs-head { flex-wrap: wrap; gap: 6px; }
  .gs-head h2 { font-size: 17px; }
  .gs-head h2 em { display: none; }
  .gr-list li { grid-template-columns: 84px 1fr; grid-template-areas: "thumb t" "thumb price"; gap: 8px 10px; padding: 12px; }
  .gr-no { display: none; }
  .gr-thumb { grid-area: thumb; width: 84px; height: 64px; }
  .gr-t { grid-area: t; }
  .gr-t p { display: none; }
  .gr-meta { display: none; }
  .gr-price { grid-area: price; text-align: left; font-size: 15px; }
  .gr-btn { display: none; }
  .gr-list-lg li { grid-template-columns: 84px 1fr; }
  .gp-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .gp-img { height: 120px; }
  .gp-name { height: 38px; font-size: 12px; }
  .gp-foot { flex-direction: column; align-items: flex-start; gap: 2px; }
  .gp-foot b { font-size: 15px; }
  .glh-l h1 { font-size: 20px; }
  .g-lh { flex-direction: column; align-items: flex-start; gap: 8px; }
  .glh-sorts { flex-wrap: wrap; }
  .gd-main { height: 260px; }
  .gd-info h1 { font-size: 17px; }
  .gdp-now { font-size: 24px; }
  .gd-params th { width: 72px; font-size: 12px; }
  .gd-params td { font-size: 12px; }
  .gdb-acts { grid-template-columns: 1fr; }
  .gd-serv { grid-template-columns: 1fr; }
  .gcl-head { display: none; }
  .gcl-row { grid-template-columns: 1fr; gap: 8px; }
  .gcl-g { align-items: flex-start; }
  .gcl-price, .gcl-sub2 { display: inline-block; margin-right: 12px; }
  .gcb-grid { grid-template-columns: 1fr; }
  .gcog-row { grid-template-columns: 72px 1fr; }
  .gcog-row img { width: 72px; height: 56px; }
  .gcog-p, .gcog-s { grid-column: 2; text-align: left; }
  .gp-head { flex-direction: column; align-items: flex-start; gap: 8px; }
  .gp-head h1 { font-size: 18px; }
  .gpo-row, .gpo-info { padding: 10px 12px; }
  .gpo-steps span { font-size: 11px; padding: 9px 2px; }
  .gpq-code { width: 196px; min-height: 196px; }
  .gpq-code img, .gpq-code canvas { width: 180px; height: 180px; }
  .ga-form { padding: 22px 18px; }
  .gab-hero { padding: 22px 18px; }
  .gabh-l h1 { font-size: 26px; letter-spacing: 4px; }
  .gct-l { padding: 22px 18px; }
  .gf-in { grid-template-columns: 1fr; gap: 20px; padding: 28px 12px 22px; }
  .gf-bot .g-in { height: auto; padding: 12px 0; flex-wrap: wrap; gap: 6px; }
  .gf-bot-r { margin-left: 0; flex: 1 0 100%; font-size: 11px; }
  .art-box { padding: 20px 16px; }
  .dash-cards { gap: 10px; }
  .dcard { padding: 12px; }
  .dcard b { font-size: 20px; }
  .oc-body { flex-direction: column; }
  .oc-sum { text-align: left; }
  .dtable th:nth-child(4), .dtable td:nth-child(4) { display: none; }
}
