/*
Theme Name: 高太花白事鲜花
Theme URI: https://www.gaotaihua.com/
Author: 小威
Description: 高太花白事鲜花网自建主题：米白 + 藏蓝配色，无第三方框架依赖，移动端优先，深度适配 WooCommerce。
Version: 1.0.36
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: gth
Tags: e-commerce, custom-colors, custom-menu
*/

/* ================= 变量与基础 ================= */
:root{
  --ink:#2b2f3a; --ink2:#6b7080; --accent:#2c3e5d; --accent2:#4a608c;
  --bg:#f7f6f3; --card:#fff; --line:#e5e3dd; --warm:#a8926b; --danger:#b03a2e; --ok:#2e7d4f;
  /* 正文字号档位：--fs 统一乘到所有 font-size 上。用乘法（而不是给祖先设百分比）
     是为了不会层层叠乘——嵌套再深也只放大一次，排版不会跟着变形。 */
  --fs:1;
}
html[data-fs="l"]{--fs:1.12}
html[data-fs="xl"]{--fs:1.24}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",sans-serif;color:var(--ink);background:var(--bg);line-height:1.7;font-size:15px;font-size:calc(15px * var(--fs))}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font-family:inherit;font-size:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* ================= 头部 ================= */
header.site-head{background:var(--accent);color:#fff}
.hwrap{max-width:1120px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.logo{display:flex;align-items:center;gap:0}
.logo .lmark{position:relative;display:block;flex:none;line-height:0}
.logo .lmark img{height:40px;width:auto;display:block}
.logo .lreg{position:absolute;top:3px;right:-15px;font-size:9px;font-size:calc(9px * var(--fs));font-style:normal;line-height:1;letter-spacing:0;opacity:.66}
.logo .lsep{width:1px;height:26px;background:rgba(255,255,255,.22);margin:0 15px 0 24px;flex:none}
.logo .lsub{font-size:13px;font-size:calc(13px * var(--fs));opacity:.76;letter-spacing:1.4px;line-height:1.2;white-space:nowrap}
/* 页头与导航是固定宽度的控件条，不参与字号放大——否则放大一档就换行。
   自定义属性会继承，这里把倍率重置回 1，正文照常放大。 */
.site-head,nav.site-nav{--fs:1}
/* 信任条与页脚是图标徽标和导航链接，不是读物：固定字号，放大也只放大要读的正文，
   这两处就不会因为字变大而挤成一团。 */
.trust,footer.site-foot{--fs:1}
.hright{display:flex;align-items:center;gap:18px}
.acct{display:flex;align-items:center;gap:8px;font-size:13.5px;font-size:calc(13.5px * var(--fs))}
.acct a{padding:5px 0;opacity:.92;color:#fff}
.acct a:hover{opacity:1;text-decoration:underline}
.acct .sep{opacity:.4}
.acct .reg{border:1px solid rgba(255,255,255,.55);border-radius:2px;padding:5px 14px;opacity:1}
.acct .reg:hover{background:rgba(255,255,255,.12);text-decoration:none}
.hphone{text-align:right;line-height:1.35;border-left:1px solid rgba(255,255,255,.22);padding-left:18px}
.hphone .num{font-size:19px;font-size:calc(19px * var(--fs));font-weight:700;letter-spacing:1px}
.hphone .num a{color:#fff}
.hphone small{font-size:12px;font-size:calc(12px * var(--fs));opacity:.72;display:block}


/* ================= 导航 =================
   三套方案，靠左对齐、纯文字（不用按钮块）。切换只改 functions.php 里 gth_nav_style() 的字母：
   a = 细线标签（底部细线跟随）｜b = 竖线分隔（目录感）｜c = 米色带 + 序号上标（年表感） */
nav.site-nav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
nav.site-nav ul{list-style:none;max-width:1120px;margin:0 auto;padding:0 20px;display:flex;gap:0;overflow-x:auto;justify-content:flex-start;align-items:stretch;-webkit-overflow-scrolling:touch}
nav.site-nav li{flex:none;display:flex}
nav.site-nav a{position:relative;display:flex;align-items:center;height:54px;padding:0 22px;font-size:14.5px;font-size:calc(14.5px * var(--fs));letter-spacing:2px;color:#5b6274;white-space:nowrap;transition:color .18s}
nav.site-nav .sub-menu{display:none}

/* --- 方案 A：细线标签 --- */
body.gth-nav-a nav.site-nav a::after{content:"";position:absolute;left:22px;right:22px;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .24s ease}
body.gth-nav-a nav.site-nav li:first-child a::after{left:0}
body.gth-nav-a nav.site-nav li:first-child a{padding-left:0}
body.gth-nav-a nav.site-nav a:hover{color:var(--accent)}
body.gth-nav-a nav.site-nav a:hover::after{transform:scaleX(1);background:rgba(44,62,93,.25)}
body.gth-nav-a nav.site-nav a.active,body.gth-nav-a nav.site-nav li.current-menu-item>a{color:var(--accent);font-weight:700}
body.gth-nav-a nav.site-nav a.active::after,body.gth-nav-a nav.site-nav li.current-menu-item>a::after{transform:scaleX(1)}

/* --- 方案 B：竖线分隔 --- */
body.gth-nav-b nav.site-nav ul{position:relative;padding-left:40px}
body.gth-nav-b nav.site-nav ul::before{content:"";position:absolute;left:20px;top:50%;transform:translateY(-50%);width:2px;height:16px;background:var(--warm)}
body.gth-nav-b nav.site-nav a{padding:0 26px;font-size:15px;font-size:calc(15px * var(--fs));letter-spacing:1.5px;color:#4a5164}
body.gth-nav-b nav.site-nav li+li a::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:12px;background:#d8d4c8}
body.gth-nav-b nav.site-nav a:hover{color:var(--accent)}
body.gth-nav-b nav.site-nav a.active,body.gth-nav-b nav.site-nav li.current-menu-item>a{color:var(--accent);font-weight:700;letter-spacing:2px}

/* --- 方案 C：米色带 + 序号上标 --- */
body.gth-nav-c nav.site-nav{background:#f6f4ee;border-bottom:1px solid #e2ded3}
body.gth-nav-c nav.site-nav a{padding:0 24px;font-size:13.5px;font-size:calc(13.5px * var(--fs));letter-spacing:3px;color:#6b7080}
body.gth-nav-c nav.site-nav a::before{content:attr(data-no);font-size:10px;font-size:calc(10px * var(--fs));letter-spacing:.5px;color:var(--warm);opacity:.7;margin-right:9px;position:relative;top:-6px}
body.gth-nav-c nav.site-nav li:first-child a{padding-left:0}
body.gth-nav-c nav.site-nav a:hover{color:var(--accent)}
body.gth-nav-c nav.site-nav a.active,body.gth-nav-c nav.site-nav li.current-menu-item>a{color:var(--accent);font-weight:700}
body.gth-nav-c nav.site-nav a.active::before,body.gth-nav-c nav.site-nav li.current-menu-item>a::before{opacity:1;color:var(--accent)}
nav.site-nav .hide-m{display:flex}

/* ================= Banner ================= */
.banner{position:relative;height:430px;overflow:hidden;background:#1d2735}
.banner picture{display:block;width:100%;height:100%}
.banner img{width:100%;height:100%;object-fit:cover;opacity:.62}
.banner .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,28,42,.86) 0%,rgba(20,28,42,.62) 46%,rgba(20,28,42,.15) 78%,rgba(20,28,42,.05) 100%)}
.banner .txt{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;color:#fff;max-width:1120px;margin:0 auto;padding:0 20px}
.banner .kicker{display:inline-block;align-self:flex-start;font-size:12.5px;font-size:calc(12.5px * var(--fs));letter-spacing:4px;color:#e8e2d4;border:1px solid rgba(232,226,212,.6);border-radius:2px;padding:4px 16px;margin-bottom:18px}
.banner h1,.banner h2{font-size:40px;font-size:calc(40px * var(--fs));line-height:1.35;letter-spacing:3px;margin-bottom:14px;text-shadow:0 2px 12px rgba(0,0,0,.35);color:#fff;font-weight:700}
.banner h2 em,.banner h1 em{font-style:normal;color:#e3cfa5}
.banner p{font-size:15.5px;font-size:calc(15.5px * var(--fs));max-width:520px;color:rgba(255,255,255,.86);margin-bottom:26px}
.banner .acts{display:flex;align-items:center;gap:16px}
.banner .cta{background:#c9b48a;color:#22303f;padding:13px 38px;border-radius:2px;font-size:15.5px;font-size:calc(15.5px * var(--fs));letter-spacing:2px;font-weight:600}
.banner .cta:hover{background:#d6c39c}
.banner .tel{font-size:14px;font-size:calc(14px * var(--fs));color:rgba(255,255,255,.9)}
.banner .tel b{font-size:20px;font-size:calc(20px * var(--fs));letter-spacing:1px;display:block;margin-top:2px}
.banner .hint{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:12px;font-size:calc(12px * var(--fs));color:rgba(255,255,255,.6)}

/* ================= 字号切换（页头 Aa） ================= */
.fsbtn{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 9px;margin-right:12px;
  border:1px solid rgba(255,255,255,.26);background:transparent;border-radius:3px;cursor:pointer;
  color:rgba(255,255,255,.82);line-height:1;transition:border-color .2s,color .2s}
.fsbtn .fsa{font-size:15px;font-weight:600;letter-spacing:0}
.fsbtn .fsb{font-size:10px;font-weight:600;opacity:.7;margin-left:-1px}
.fsbtn .fslvl{font-size:11px;letter-spacing:.5px;margin-left:2px;opacity:.85}
.fsbtn:hover{border-color:rgba(255,255,255,.55);color:#fff}
.fsbtn[data-lvl="l"],.fsbtn[data-lvl="xl"]{border-color:var(--warm);color:#e8dcc2}

/* ================= 信任条 ================= */
.trust{background:#fff;border-bottom:1px solid var(--line)}
.trust .inner{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);padding:20px}
.ti{display:flex;align-items:center;gap:11px;padding:0 14px;border-right:1px solid var(--line)}
.ti:last-child{border-right:none}
.ti svg{flex-shrink:0;width:26px;height:26px;stroke:var(--warm);fill:none;stroke-width:1.6}
.ti b{display:block;font-size:14.5px;font-size:calc(14.5px * var(--fs));letter-spacing:.5px;line-height:1.5;font-weight:600}
.ti span{display:block;font-size:12px;font-size:calc(12px * var(--fs));color:var(--ink2);line-height:1.4}
.ti .tbr{display:none}

/* ================= 区块通用 ================= */
main section{max-width:1120px;margin:0 auto;padding:40px 20px}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px;border-bottom:1px solid var(--line);padding-bottom:12px}
.sec-head h2{font-size:21px;font-size:calc(21px * var(--fs));letter-spacing:2px;font-weight:700}
.sec-head h2 i{font-style:normal;color:var(--warm);margin-right:8px;font-size:16px;font-size:calc(16px * var(--fs))}
.sec-head h2 i.ic{display:inline-flex;width:20px;height:20px;vertical-align:-3px;margin-right:9px;color:var(--warm)}
.sec-head h2 i.ic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.sec-head a{font-size:13.5px;font-size:calc(13.5px * var(--fs));color:var(--ink2)}
.sec-head a:hover{color:var(--accent)}

/* ================= 产品区 ================= */
.tabs{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.tab{background:#fff;border:1px solid var(--line);color:var(--ink);font-size:14.5px;font-size:calc(14.5px * var(--fs));letter-spacing:1px;padding:9px 22px;border-radius:2px;cursor:pointer;font-family:inherit}
.tab em{font-style:normal;font-size:12px;font-size:calc(12px * var(--fs));color:var(--ink2);margin-left:6px}
.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}
.tab.active em{color:rgba(255,255,255,.72)}
.panel{display:none}
.panel.active{display:block}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.prod{background:var(--card);border:1px solid var(--line);border-radius:3px;overflow:hidden;transition:.2s;display:block}
.prod:hover{box-shadow:0 4px 14px rgba(43,47,58,.1);transform:translateY(-2px)}
.prod .ph{aspect-ratio:1/1;overflow:hidden;background:#eef0f2}
.prod .ph img{width:100%;height:100%;object-fit:cover}
.prod .body{padding:13px 15px 15px}
.prod h3{font-size:14.8px;font-size:calc(14.8px * var(--fs));letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.prod p{font-size:12px;font-size:calc(12px * var(--fs));color:var(--ink2);margin:3px 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prod .row{display:flex;justify-content:space-between;align-items:center}
.prod .price{color:var(--accent);font-weight:700;font-size:15.5px;font-size:calc(15.5px * var(--fs))}
.prod .buy{font-size:12.5px;font-size:calc(12.5px * var(--fs));color:#fff;background:var(--accent2);border-radius:2px;padding:4px 13px}
.more{text-align:center;margin-top:24px}
.more a{display:inline-block;border:1px solid var(--accent);color:var(--accent);padding:9px 36px;border-radius:2px;font-size:14px;font-size:calc(14px * var(--fs));letter-spacing:2px}

/* ================= 下单流程 ================= */
.steps{background:var(--accent);color:#fff;padding:38px 20px}
.steps .inner{max-width:1120px;margin:0 auto}
.steps h2{text-align:center;font-size:21px;font-size:calc(21px * var(--fs));letter-spacing:2px;margin-bottom:26px;color:#fff}
.steps .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}
.st .no{width:36px;height:36px;border:1px solid rgba(255,255,255,.45);border-radius:50%;line-height:35px;margin:0 auto 10px;font-size:14px;font-size:calc(14px * var(--fs))}
.st h3{font-size:15px;font-size:calc(15px * var(--fs));margin-bottom:3px;color:#fff;font-weight:600}
.st p{font-size:12.5px;font-size:calc(12.5px * var(--fs));opacity:.78}

/* ================= 资讯 + 侧栏 ================= */
.news-wrap{display:grid;grid-template-columns:2fr 1fr;gap:28px}
.news a{padding:13px 4px;border-bottom:1px dashed var(--line);font-size:15px;font-size:calc(15px * var(--fs));display:flex;gap:10px}
.news a:hover{color:var(--accent)}
.news time{margin-left:auto;color:var(--ink2);font-size:13px;font-size:calc(13px * var(--fs));white-space:nowrap}
.side{background:var(--card);border:1px solid var(--line);border-radius:3px;padding:20px}
.side h3{font-size:15px;font-size:calc(15px * var(--fs));margin-bottom:10px;letter-spacing:1px;font-weight:600}
.side p{font-size:13px;font-size:calc(13px * var(--fs));color:var(--ink2);margin-bottom:8px}
.side .num{color:var(--accent);font-weight:700;font-size:19px;font-size:calc(19px * var(--fs))}

/* ================= 城市 ================= */
.cities{display:flex;flex-wrap:wrap;gap:9px 14px;font-size:13.5px;font-size:calc(13.5px * var(--fs))}
.cities a{color:var(--ink2);border:1px solid var(--line);background:#fff;padding:3px 12px;border-radius:2px}
.cities a:hover{color:var(--accent);border-color:var(--accent2)}
/* 未建独立页的城市：只作「这些城市也能送」的说明，不是链接（2026-11-02）
   外观与可点标签一致，但颜色压淡、鼠标保持箭头，避免让人以为点得动 */
.cities span.city-plain{color:#8b9099;border:1px solid var(--line);background:#fcfcfc;padding:3px 12px;border-radius:2px;cursor:default}
/* 服务城市板块下的一句说明：讲清「四个城市有本地页、其他城市同样能送」 */
.cities-note{margin:12px 0 0;color:#8b9099;font-size:13px;font-size:calc(13px * var(--fs));line-height:1.7}

/* ================= 页脚 ================= */
footer.site-foot{background:#23272e;color:#a8adb5;margin-top:22px;padding:34px 20px 18px;font-size:13px;font-size:calc(13px * var(--fs))}
.fwrap{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.7fr 1fr 1fr 1.3fr;gap:26px}
footer.site-foot h3{color:#fff;font-size:15px;font-size:calc(15px * var(--fs));margin:0 0 10px;font-weight:600;line-height:1.5}
footer.site-foot a:hover{color:#fff}
.copyright{max-width:1120px;margin:24px auto 0;padding-top:14px;border-top:1px solid #363b44;font-size:12px;font-size:calc(12px * var(--fs));color:#7d838c;text-align:center}

/* ================= 文章正文 ================= */
.art-wrap{max-width:820px;margin:0 auto;padding:34px 20px 10px}
.art-wrap h1{font-size:27px;font-size:calc(27px * var(--fs));line-height:1.45;letter-spacing:1px;margin-bottom:14px}
.art-meta{font-size:13px;font-size:calc(13px * var(--fs));color:var(--ink2);padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:22px}
.entry{font-size:16px;font-size:calc(16px * var(--fs));line-height:1.95}
.entry p{margin-bottom:14px}
.entry h2{font-size:20px;font-size:calc(20px * var(--fs));margin:26px 0 12px;letter-spacing:.5px}
.entry h3{font-size:17px;font-size:calc(17px * var(--fs));margin:20px 0 10px}
.entry ul,.entry ol{margin:0 0 14px 22px}
.entry li{margin-bottom:6px}
.entry a{color:var(--accent);text-decoration:underline}
/* 正文里手写的电话链接（文章、页面、商品详情）统一加电话图标：
   伪元素 content 为空、图形靠 mask，图标不会混进选中或复制的文本里 */
.entry a[href^="tel:"]::before{content:"";display:inline-block;width:.92em;height:.92em;
  margin-right:.3em;vertical-align:-.1em;background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.6 3.2h3.1l1.6 4.1-2.1 1.5a11.4 11.4 0 0 0 5.9 5.9l1.5-2.1 4.1 1.6v3.1c0 1.1-.9 2-2 2A16.6 16.6 0 0 1 4.6 5.2c0-1.1.9-2 2-2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.6 3.2h3.1l1.6 4.1-2.1 1.5a11.4 11.4 0 0 0 5.9 5.9l1.5-2.1 4.1 1.6v3.1c0 1.1-.9 2-2 2A16.6 16.6 0 0 1 4.6 5.2c0-1.1.9-2 2-2z'/%3E%3C/svg%3E") center/contain no-repeat}
.entry a[href^="tel:"]:has(svg)::before{display:none}

.entry img{margin:16px 0;border-radius:3px}
.entry table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px;font-size:calc(14px * var(--fs))}
.entry th,.entry td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.entry blockquote{border-left:3px solid var(--warm);padding-left:14px;color:var(--ink2);margin:16px 0}
.entry strong{font-weight:700}

/* ================= 通用页面 ================= */
.page-wrap{max-width:1120px;margin:0 auto;padding:34px 20px}
.page-wrap h1{font-size:27px;font-size:calc(27px * var(--fs));letter-spacing:1px;margin-bottom:20px}

/* ================= 表单通用 ================= */
input[type=text],input[type=tel],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{
  width:100%;padding:10px 12px;border:1px solid #d5d2ca;border-radius:3px;background:#fdfcfa;color:var(--ink);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent);background:#fff}
.btn,.button,button[type=submit],input[type=submit]{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:3px;padding:11px 26px;font-size:15px;font-size:calc(15px * var(--fs));letter-spacing:1px;cursor:pointer;text-align:center}
.btn:hover,.button:hover,button[type=submit]:hover{background:#233250;color:#fff}

/* ================= 移动端 ================= */
@media(max-width:860px){
  /* 五项按 3+2 居中排：网格只能是 2+2+1（最后一项孤零零挂在左下），
     用 flex 换行 + 居中，第二行两项自然居中，将来加项也不会再出现单吊。 */
  .trust .inner{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:12px 0;padding:15px 8px}
  .ti .tbr{display:inline}
  .ti{flex:0 0 33.3333%;flex-direction:column;align-items:center;justify-content:flex-start;
      text-align:center;gap:7px;padding:0 5px;border-right:none}
  .ti svg{width:23px;height:23px}
  .ti b{font-size:13.5px;font-size:calc(13.5px * var(--fs));letter-spacing:0;line-height:1.45}
  .ti span{font-size:11.5px;font-size:calc(11.5px * var(--fs));line-height:1.5}
}
@media(max-width:720px){
  .hwrap{padding:12px 16px}
  .logo .lmark img{height:30px}
  .logo .lreg{font-size:8px;font-size:calc(8px * var(--fs));right:-11px;top:2px}
  .logo .lsep{display:none}
  .logo .lsub{display:none}
}


@media(max-width:720px){
  .hphone{border:none;padding-left:0}
  .hphone .num{font-size:15px;font-size:calc(15px * var(--fs))}
  .hphone small{display:none}
  .acct{font-size:13px;font-size:calc(13px * var(--fs));gap:6px}
  .acct .reg{padding:4px 10px}
  .banner{height:352px}
  /* 手机上文字压在下半屏，遮罩改成竖向：上方留亮给山水，下方压暗保证白字可读 */
  .banner .veil{background:linear-gradient(180deg,rgba(20,28,42,.58) 0%,rgba(20,28,42,.42) 32%,rgba(20,28,42,.80) 78%,rgba(20,28,42,.90) 100%)}
  .banner img{opacity:.72}
  .banner .txt{padding:0 16px;justify-content:flex-end;padding-bottom:22px}
  .banner h1,.banner h2{font-size:25px;font-size:calc(25px * var(--fs));letter-spacing:2px}
  .banner p{font-size:13.5px;font-size:calc(13.5px * var(--fs));margin-bottom:16px}
  .banner .kicker{font-size:11px;font-size:calc(11px * var(--fs));letter-spacing:2px;margin-bottom:12px}
  .banner .acts{flex-direction:column;align-items:flex-start;gap:10px}
  .banner .cta{padding:11px 30px;font-size:14.5px;font-size:calc(14.5px * var(--fs))}
  .banner .tel{font-size:12.5px;font-size:calc(12.5px * var(--fs))}
  .banner .tel b{font-size:17px;font-size:calc(17px * var(--fs))}
  .banner .hint{display:none}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}
  .tab{flex-shrink:0;padding:8px 11px;font-size:13px;font-size:calc(13px * var(--fs));letter-spacing:.5px}
  .tab em{font-size:11px;font-size:calc(11px * var(--fs));margin-left:4px}
  .steps .grid{grid-template-columns:repeat(2,1fr)}
  .news-wrap{grid-template-columns:1fr}
  main section{padding:28px 16px}
  /* 页脚：品牌独占一行，「快捷导航」与「账户与帮助」并排两列（原来三行竖排太长） */
  .fwrap{grid-template-columns:1fr 1fr;gap:22px 16px}
  .fwrap > div:first-child{grid-column:1 / -1}
  .news time{display:none}
  .sec-head h2{font-size:18px;font-size:calc(18px * var(--fs))}
  .art-wrap h1{font-size:22px;font-size:calc(22px * var(--fs))}
  .entry{font-size:16px;font-size:calc(16px * var(--fs))}
}

/* ================= 面包屑 ================= */
.crumb{font-size:13px;font-size:calc(13px * var(--fs));color:var(--ink2);margin-bottom:14px;line-height:1.8}
.crumb a{color:var(--ink2)}
.crumb a:hover{color:var(--accent)}
.crumb span{color:var(--ink)}
/* 文章页面包屑：手机端只留「首页 / 分类」，末级标题交给下面的 H1，避免两行标题重复 */
@media(max-width:720px){.art-wrap .crumb-sep,.art-wrap .crumb-cur{display:none}}

/* ================= 分类页 ================= */
.cat-title{font-size:26px;font-size:calc(26px * var(--fs));letter-spacing:1px;margin-bottom:8px}
.cat-desc{font-size:14px;font-size:calc(14px * var(--fs));color:var(--ink2);margin-bottom:12px;max-width:780px}
.cat-tabs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.cat-tabs a.t{background:#fff;border:1px solid var(--line);color:var(--ink);font-size:14px;font-size:calc(14px * var(--fs));letter-spacing:1px;padding:8px 20px;border-radius:2px}
.cat-tabs a.t:hover{border-color:var(--accent);color:var(--accent)}
.cat-tabs a.t.on{background:var(--accent);border-color:var(--accent);color:#fff}
/* 分类页右上角的「全部商品 →」，与首页同款文字链，靠右对齐 */
.cat-tabs a.all{margin-left:auto;font-size:13.5px;font-size:calc(13.5px * var(--fs));color:var(--ink2);letter-spacing:.5px;padding:2px 0}
.cat-tabs a.all:hover{color:var(--accent)}
/* 排序按钮与价位按钮同属筛选区，并排右对齐 */
.price-chips .sort{margin-left:auto;font-size:13.5px;font-size:calc(13.5px * var(--fs));color:var(--accent);border:1px solid var(--accent);padding:6px 16px;border-radius:2px;background:#fff;letter-spacing:.5px}
.price-chips .sort:hover{background:var(--accent);color:#fff}
.cat-meta{font-size:13.5px;font-size:calc(13.5px * var(--fs));color:var(--ink2);background:#fff;border:1px solid var(--line);border-radius:3px;padding:10px 14px;margin-bottom:18px}
.cat-meta b{color:var(--accent);font-size:15px;font-size:calc(15px * var(--fs))}
.price-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-6px 0 18px}
.price-chips .pl{font-size:13px;font-size:calc(13px * var(--fs));color:var(--ink2);margin-right:2px}
.price-chips .chip{font-size:13.5px;font-size:calc(13.5px * var(--fs));color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:2px;padding:6px 14px;letter-spacing:.3px}
.price-chips .chip:hover{border-color:var(--accent);color:var(--accent)}
.price-chips .chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.cat-empty{padding:56px 0 48px;text-align:center;color:var(--ink2)}
.cat-empty p{font-size:15px;font-size:calc(15px * var(--fs));margin-bottom:14px}
.cat-empty .btn-line{display:inline-block;border:1px solid var(--accent);color:var(--accent);padding:9px 26px;border-radius:2px;font-size:14px;font-size:calc(14px * var(--fs))}
.cat-empty .btn-line:hover{background:var(--accent);color:#fff}
.cat-help{display:flex;justify-content:space-between;align-items:center;gap:24px;background:#fff;border:1px solid var(--line);border-radius:3px;padding:22px;margin-top:30px}
.cat-help h3{font-size:16px;font-size:calc(16px * var(--fs));margin-bottom:6px;font-weight:600}
.cat-help p{font-size:13.5px;font-size:calc(13.5px * var(--fs));color:var(--ink2);max-width:620px}
.btn-tel{display:inline-block;background:var(--accent);color:#fff;padding:10px 26px;border-radius:3px;font-size:17px;font-size:calc(17px * var(--fs));font-weight:700;letter-spacing:1px}
.btn-tel:hover{background:#233250;color:#fff}
.cat-help small{display:block;font-size:12px;font-size:calc(12px * var(--fs));color:var(--ink2);margin-top:6px}

/* ================= 文章聚合列表（/sszx，短代码 gth_news_list 输出） ================= */
/* 旧版条目只有一行标题 + 一大段灰摘要 + 另起一行的日期，条目之间没有分隔，
   手机上看着像散落的文字。这里改成白卡片：标题为主、摘要两行收口、日期与阅读入口压在同一行。 */
.entry .gth-news-list{display:grid;gap:10px;margin:4px 0 0}
.entry .gth-news-item{position:relative;cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:3px;
  padding:15px 16px 13px;transition:border-color .2s,box-shadow .2s}
/* 标题链接的伪元素铺满整张卡片：只有一条链接（不重复指向同一页），
   但点标题、点摘要、点「阅读全文」都能跳转，手机上不用瞄准小字。 */
.entry .gth-news-item h3 a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:3px}
.entry .gth-news-item:hover .gn-more{color:var(--accent)}
.entry .gth-news-item:hover{border-color:#d6d1c4;box-shadow:0 3px 12px rgba(43,47,58,.07)}
.entry .gth-news-item h3{font-size:16.5px;font-size:calc(16.5px * var(--fs));line-height:1.55;font-weight:600;letter-spacing:.2px;margin:0 0 6px}
.entry .gth-news-item h3 a{color:var(--ink);text-decoration:none}
.entry .gth-news-item h3 a:hover{color:var(--accent)}
.entry .gth-news-item p{font-size:13.5px;font-size:calc(13.5px * var(--fs));color:var(--ink2);line-height:1.8;margin:0 0 9px;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.gn-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gn-meta time{font-size:12px;font-size:calc(12px * var(--fs));color:#9aa0ac;letter-spacing:.4px}
.gn-meta .gn-more{font-size:12px;font-size:calc(12px * var(--fs));color:var(--warm);letter-spacing:.4px}
/* 电脑端两列：列表一列拉满 1120 宽时，摘要只剩一行、日期与「阅读全文」隔得老远，两列更紧凑 */
@media(min-width:900px){
  .entry .gth-news-list{grid-template-columns:1fr 1fr;gap:12px}
  .entry .gth-news-item{padding:16px 18px 14px}
  .entry .gth-news-item h3{font-size:17px;font-size:calc(17px * var(--fs))}
}

/* ================= 分页 ================= */
.pager{text-align:center;margin-top:26px;font-size:13.5px;font-size:calc(13.5px * var(--fs));line-height:1.4}
.pager a,.pager>span{display:inline-flex;align-items:center;justify-content:center;
  min-width:34px;min-height:34px;height:auto;padding:0 10px;border:1px solid var(--line);background:#fff;
  margin:3px 2px;border-radius:2px;color:var(--ink2);vertical-align:middle}
.pager a:hover{border-color:var(--accent);color:var(--accent)}
.pager .current{background:var(--accent);color:#fff;border-color:var(--accent)}
.pager .dots{border:0;background:none;min-width:18px;color:#9aa0ac}
.pager .gn-pg-info{display:block;width:auto;height:auto;min-width:0;border:0;background:none;
  padding:0;margin-top:10px;font-size:12px;font-size:calc(12px * var(--fs));color:#9aa0ac}

/* ================= 商品详情 ================= */
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:36px;background:#fff;border:1px solid var(--line);border-radius:3px;padding:26px}
.pdp-media img{width:100%;border-radius:2px;background:#eef0f2}
.pdp-info h1{font-size:24px;font-size:calc(24px * var(--fs));line-height:1.4;margin-bottom:12px;letter-spacing:.5px}
.pdp-price{font-size:26px;font-size:calc(26px * var(--fs));color:var(--accent);font-weight:700;margin-bottom:14px}
.pdp-price del{font-size:16px;font-size:calc(16px * var(--fs));color:var(--ink2);font-weight:400;margin-left:8px}
.pdp-short{font-size:14px;font-size:calc(14px * var(--fs));color:var(--ink2);margin-bottom:16px;padding-bottom:14px;border-bottom:1px dashed var(--line)}
.pdp-points{list-style:none;margin:0 0 20px;font-size:13.5px;font-size:calc(13.5px * var(--fs))}
.pdp-points li{padding-left:18px;position:relative;margin-bottom:7px;color:#4a4f5c}
.pdp-points li:before{content:"·";position:absolute;left:4px;color:var(--warm);font-weight:700;font-size:18px;font-size:calc(18px * var(--fs));line-height:1.2}
.pdp-buy{margin-bottom:18px}
.pdp-buy form.cart{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pdp-buy .quantity input{width:78px;height:46px;text-align:center;font-size:15px;font-size:calc(15px * var(--fs))}
.pdp-buy .single_add_to_cart_button{height:46px;padding:0 36px;font-size:15.5px;font-size:calc(15.5px * var(--fs));letter-spacing:2px;background:var(--accent);color:#fff;border:0;border-radius:3px;cursor:pointer}
.pdp-buy .single_add_to_cart_button:hover{background:#233250}
.pdp-buy .button.alt{background:var(--accent)}
.pdp-detail{margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:3px;padding:26px}
.pdp-detail h2{font-size:19px;font-size:calc(19px * var(--fs));margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
/* 商品说明正文限宽：整行铺满 1000px 时一行 60 多字，读起来累 */
.pdp-detail .entry{max-width:800px}

/* ================= WooCommerce 提示与按钮 ================= */
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;background:#fff;border:1px solid var(--line);border-left:3px solid var(--accent);padding:12px 16px;margin:0 0 18px;font-size:14px;font-size:calc(14px * var(--fs));border-radius:2px}
.woocommerce-error{border-left-color:var(--danger)}
/* 2026-11-07 结算页校验提示改弹窗：表单太长，页首那行红字根本看不见，客户以为按钮没反应。
   弹窗本体复用已有点击弹层的 .gth-modal 骨架，这里只补「错误专用」的图标、条目和遮罩。 */
body.gth-err-live form.checkout .woocommerce-error,
body.gth-err-live .woocommerce-notices-wrapper .woocommerce-error{display:none!important}
body.gth-modal-open{overflow:hidden}
.gth-err-modal .gth-modal-card{max-width:340px;padding:26px 22px 18px;text-align:center}
.gth-err-ico{display:flex;width:46px;height:46px;margin:0 auto 14px;align-items:center;justify-content:center;border-radius:50%;background:#fbeceb;color:var(--danger);font-size:24px;font-weight:700;line-height:1}
.gth-err-modal h2{margin:0 0 10px;font-size:17px;font-size:calc(17px * var(--fs));line-height:1.5;color:var(--ink);text-align:center;white-space:normal}
.gth-err-list{list-style:none;margin:0 0 20px;padding:0;text-align:left}
.gth-err-list li{position:relative;margin:7px 0;padding-left:13px;font-size:14px;font-size:calc(14px * var(--fs));line-height:1.7;color:#55564f}
.gth-err-list li::before{content:"";position:absolute;left:2px;top:.74em;width:5px;height:5px;border-radius:50%;background:var(--danger)}
.gth-err-modal .gth-modal-ok{width:100%;border:0;font-family:inherit;font-weight:600;cursor:pointer;-webkit-appearance:none;appearance:none}
/* 关掉弹窗后滚到第一个出错的字段，闪一下红框，不用自己从头找 */
.gth-field-flash{animation:gthFieldFlash 1.1s ease}
@keyframes gthFieldFlash{0%,100%{box-shadow:none}15%,55%{box-shadow:0 0 0 3px rgba(176,58,46,.30)}}
/* 2026-11-06 提示框按钮改弹性布局：原来 float:right 在窄屏压住文字、按钮溢出到提示框外 */
.woocommerce-message:has(> .button),.woocommerce-info:has(> .button){display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 18px}
.woocommerce-message .button,.woocommerce-info .button{float:none;font-size:13px;font-size:calc(13px * var(--fs));padding:6px 16px;height:auto;line-height:1.6}
.woocommerce-message:has(> .button) > .button,.woocommerce-info:has(> .button) > .button{order:2;margin:0;flex:0 0 auto;align-self:center}
@media(max-width:720px){
  .woocommerce-message:has(> .button),.woocommerce-info:has(> .button){flex-direction:column;align-items:stretch;gap:10px}
  .woocommerce-message:has(> .button) > .button,.woocommerce-info:has(> .button) > .button{width:auto;align-self:flex-start;text-align:center;padding:8px 18px;background:none;border:1px solid var(--accent);color:var(--accent)}
  .woocommerce-message:has(> .button) > .button:hover,.woocommerce-info:has(> .button) > .button:hover{background:var(--accent);color:#fff}
}
.quantity{display:inline-flex;align-items:center}
.quantity label{display:none}

@media(max-width:860px){
  .pdp{grid-template-columns:1fr;gap:20px;padding:16px}
  .cat-help{flex-direction:column;align-items:flex-start}
  .cat-title{font-size:21px;font-size:calc(21px * var(--fs))}
  .pdp-price{font-size:23px;font-size:calc(23px * var(--fs))}
  .cat-tabs{gap:8px}
  .cat-tabs a.t{padding:7px 15px;font-size:13.5px;font-size:calc(13.5px * var(--fs))}
  .price-chips .sort{margin-left:auto;width:auto;text-align:left;margin-top:0}
  nav.site-nav ul{padding:0 14px;justify-content:flex-start;overflow-x:auto}
  nav.site-nav a{height:46px;padding:0 11px;font-size:13.5px;font-size:calc(13.5px * var(--fs));letter-spacing:.8px}
  body.gth-nav-a nav.site-nav a::after{left:11px;right:11px}
  body.gth-nav-b nav.site-nav ul{padding-left:16px}
  body.gth-nav-b nav.site-nav ul::before{display:none}
  body.gth-nav-b nav.site-nav a{padding:0 12px;font-size:13.5px;font-size:calc(13.5px * var(--fs));letter-spacing:.8px}
  body.gth-nav-c nav.site-nav a{padding:0 10px;letter-spacing:1.5px}
  body.gth-nav-c nav.site-nav a::before{display:none}
}

@media(max-width:720px){
  /* 手机上 6 项一行放不下：关于我们移入页脚（页脚已有入口），留下 5 项铺满一行 */
  nav.site-nav .hide-m{display:none}
  nav.site-nav ul{padding:0 16px;justify-content:space-between;overflow:visible}
  nav.site-nav a{padding:0 2px}
  body.gth-nav-a nav.site-nav a::after{left:2px;right:2px}
  body.gth-nav-c nav.site-nav li:first-child a,body.gth-nav-a nav.site-nav li:first-child a{padding-left:0}
}

/* ================= 购物车 / 结账 ================= */
/* 🔴 注意：WooCommerce 会给 body 加 woocommerce 类，写成 .woocommerce{} 会连 body 一起套上 max-width 与 padding，
   导致全站（含页头、导航、题头）左右各缩进一截、上下露白。必须用 :not(body) 排除。 */
.woocommerce:not(body){max-width:1120px;margin:0 auto;padding:28px 20px 60px}
.woocommerce h1.page-title{font-size:24px;font-size:calc(24px * var(--fs));margin:0 0 20px;color:var(--ink)}

/* --- 表单控件 --- */
.woocommerce form .form-row{margin:0 0 14px;padding:0}
.woocommerce form .form-row label{display:block;font-size:13px;font-size:calc(13px * var(--fs));color:var(--ink2);margin-bottom:6px;font-weight:500;line-height:1.5}
.woocommerce form .form-row abbr.required{color:var(--danger);text-decoration:none;border:none;margin-left:2px}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea{
  width:100%;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:2px;
  background:#fff;color:var(--ink);font-size:15px;font-size:calc(15px * var(--fs));line-height:42px;
}
.woocommerce form .form-row select{appearance:none;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b7080' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:34px}
.woocommerce form .form-row textarea{height:88px;padding:10px 12px;line-height:1.6;resize:vertical}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(44,62,93,.07)}
.woocommerce form .form-row.woocommerce-invalid input,
.woocommerce form .form-row.woocommerce-invalid select{border-color:var(--danger)}
/* 自定义校验（手机号格式、时段）走不到 WooCommerce 的 invalid 标记，由弹窗脚本补这个类 */
.woocommerce form .form-row.gth-field-err input,
.woocommerce form .form-row.gth-field-err select,
.woocommerce form .form-row.gth-field-err textarea{border-color:var(--danger)}
.woocommerce form .form-row .description{font-size:12px;font-size:calc(12px * var(--fs));color:var(--ink2);margin-top:5px}

/* --- 结账页整体两栏 --- */
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr) 360px;column-gap:32px;align-items:start}
#customer_details{grid-column:1;grid-row:1 / span 2;background:var(--card);border:1px solid var(--line);padding:26px 26px 12px;border-radius:3px}
#customer_details h3{font-size:17px;font-size:calc(17px * var(--fs));margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line);color:var(--ink)}
#order_review_heading{grid-column:2;grid-row:1;margin:0 0 12px;font-size:17px;font-size:calc(17px * var(--fs));color:var(--ink);align-self:end}
#order_review{grid-column:2;grid-row:2;background:var(--card);border:1px solid var(--line);padding:20px;border-radius:3px;position:sticky;top:16px}
#customer_details .col-2{display:none}

/* --- 字段网格 --- */
.woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.woocommerce-billing-fields__field-wrapper > .form-row{grid-column:span 1;min-width:0}
.woocommerce-billing-fields__field-wrapper > .form-row-wide{grid-column:1 / -1}
.gth-sec{grid-column:1 / -1;font-size:14px;font-size:calc(14px * var(--fs));font-weight:600;color:var(--accent);
  margin:14px 0 14px;padding-left:10px;border-left:3px solid var(--warm);line-height:1.4}
.woocommerce-billing-fields__field-wrapper > .gth-sec:first-child{margin-top:0}
.gth-phone-group{grid-column:span 1;display:flex;gap:8px;align-items:flex-start;min-width:0}
.gth-phone-group > .form-row{margin:0;min-width:0}
.gth-phone-group > .form-row:first-child{flex:0 0 90px;width:90px}
.gth-phone-group > .form-row:last-child{flex:1 1 auto}
.gth-hide{display:none!important}

/* --- 订单摘要 --- */
.woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;font-size:14px;font-size:calc(14px * var(--fs))}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{padding:11px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.woocommerce-checkout-review-order-table thead th{font-size:12px;font-size:calc(12px * var(--fs));color:var(--ink2);font-weight:500;letter-spacing:.05em}
.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table .amount{text-align:right;white-space:nowrap}
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td{font-size:19px;font-size:calc(19px * var(--fs));font-weight:700;color:var(--danger);border-bottom:none;padding-top:16px}

/* --- 支付方式 --- */
#payment{background:transparent;border:none;padding:0;margin-top:6px}
#payment ul.payment_methods{list-style:none;margin:0 0 18px;padding:0;border:none}
#payment ul.payment_methods li{margin:0 0 10px;padding:13px 15px;border:1px solid var(--line);border-radius:3px;background:#fbfaf8;list-style:none}
#payment ul.payment_methods li label{font-size:15px;font-size:calc(15px * var(--fs));font-weight:600;color:var(--ink);cursor:pointer;display:inline;margin:0}
#payment ul.payment_methods li input{margin-right:8px}
#payment div.payment_box{background:transparent;border:none;margin:8px 0 0;padding:0;font-size:13px;font-size:calc(13px * var(--fs));color:var(--ink2);line-height:1.65}
#payment div.payment_box::before{display:none}
#place_order{width:100%;height:50px;background:var(--accent);color:#fff;border:none;border-radius:3px;font-size:16px;font-size:calc(16px * var(--fs));font-weight:600;cursor:pointer;letter-spacing:.03em}
#place_order:hover{background:var(--accent2)}
.woocommerce-terms-and-conditions-wrapper,.woocommerce-privacy-policy-text{font-size:12px;font-size:calc(12px * var(--fs));color:var(--ink2);margin-bottom:14px}

/* --- 购物车 --- */
.woocommerce table.shop_table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:3px;margin:0 0 24px}
.woocommerce table.shop_table th{padding:12px;text-align:left;font-size:12px;font-size:calc(12px * var(--fs));color:var(--ink2);font-weight:500;border-bottom:1px solid var(--line);letter-spacing:.05em}
.woocommerce table.shop_table td{padding:14px 12px;border-top:1px solid var(--line);vertical-align:middle;font-size:14px;font-size:calc(14px * var(--fs))}
.woocommerce table.shop_table img{width:74px;height:74px;object-fit:cover;border-radius:2px}
.woocommerce table.shop_table .product-name a{font-weight:600;color:var(--ink)}
.woocommerce a.remove{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;color:var(--ink2)!important;font-size:17px;font-size:calc(17px * var(--fs));line-height:1}
.woocommerce a.remove:hover{background:var(--danger);color:#fff!important}
.woocommerce .quantity input.qty{width:64px;height:38px;border:1px solid var(--line);text-align:center;border-radius:2px}
.woocommerce .cart_totals h2{font-size:17px;font-size:calc(17px * var(--fs));margin:0 0 12px}
.woocommerce .cart_totals table th{padding:10px 12px;font-size:14px;font-size:calc(14px * var(--fs));color:var(--ink2);border-bottom:1px solid var(--line)}
.woocommerce .cart_totals table td{padding:10px 12px;text-align:right;border-bottom:1px solid var(--line)}
.woocommerce .cart_totals .order-total td,.woocommerce .cart_totals .order-total th{font-size:18px;font-size:calc(18px * var(--fs));color:var(--danger);font-weight:700}
.woocommerce .wc-proceed-to-checkout{text-align:right;padding:6px 0}
.woocommerce .wc-proceed-to-checkout a.checkout-button{display:inline-block;text-align:center;height:50px;line-height:50px;padding:0 46px;min-width:260px;font-size:16px;font-size:calc(16px * var(--fs))}
.woocommerce table.shop_table.cart th.product-remove,
.woocommerce table.shop_table.cart td.product-remove{width:46px;text-align:center}
.woocommerce table.shop_table.cart th.product-thumbnail,
.woocommerce table.shop_table.cart td.product-thumbnail{width:96px}
.woocommerce table.shop_table.cart .product-price,
.woocommerce table.shop_table.cart .product-quantity,
.woocommerce table.shop_table.cart .product-subtotal{width:112px}
.woocommerce table.shop_table.cart td.actions{padding:12px}
.woocommerce table.shop_table.cart td.actions button.button{float:right}
/* 2026-11-06 购物车缩略图：<a> 是行内元素会带一行行高，把 img 往下顶 16px，被 64px 框裁掉底部 → 看起来是长方形且花束被切 */
.woocommerce table.shop_table.cart td.product-thumbnail{font-size:0;line-height:0}
.woocommerce table.shop_table.cart td.product-thumbnail a{display:block;line-height:0;font-size:0}
.woocommerce table.shop_table.cart td.product-thumbnail img{display:block;width:74px;height:74px;object-fit:cover;margin:0}

/* --- 通用按钮 --- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit{
  display:inline-block;padding:0 20px;height:40px;line-height:38px;background:var(--accent);color:#fff;
  border:1px solid var(--accent);border-radius:2px;font-size:14px;font-size:calc(14px * var(--fs));cursor:pointer;transition:background .15s;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--accent2);color:#fff}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--accent);color:#fff}
.woocommerce .return-to-shop{margin-top:18px}
.woocommerce-cart .cart-empty{font-size:16px;font-size:calc(16px * var(--fs));color:var(--ink2);padding:40px 0 0;text-align:center}

@media(max-width:900px){
  .woocommerce:not(body){padding:18px 14px 44px}
  .woocommerce-checkout form.checkout{display:block}
  #customer_details,#order_review{position:static;padding:16px}
  #order_review_heading{margin:22px 0 10px}
  .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr}
  .woocommerce-billing-fields__field-wrapper > .form-row,
  .woocommerce-billing-fields__field-wrapper > .gth-phone-group{grid-column:1 / -1}
  .woocommerce table.shop_table img{width:56px;height:56px}
  .woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:10px 8px;font-size:13px;font-size:calc(13px * var(--fs))}
}

/* ================= 窄屏（≤430px）页头紧凑化 ================= */
@media(max-width:430px){
  .hwrap{padding:10px 12px;gap:6px}
  .hright{gap:8px}
  .logo .lmark img{height:26px}
  .logo .lreg{font-size:7px;font-size:calc(7px * var(--fs));right:-9px;top:1px}
  .hphone .num{font-size:13.5px;font-size:calc(13.5px * var(--fs));letter-spacing:0}
  .acct{font-size:12px;font-size:calc(12px * var(--fs));gap:5px}
  .acct .reg{padding:3px 8px}
}

/* ================= 悬浮联系框（电脑端悬停展开 / 移动端电话按钮） ================= */
/* z-index 拉到很高：站内任何内容都不该压住它；再高的（浏览器扩展浮球）靠 JS 自动上下让位 */
.gth-cs{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:60}
.cs-bar{width:54px;background:var(--accent);border-radius:4px 0 0 4px;box-shadow:-2px 3px 14px rgba(20,28,42,.18);overflow:hidden;transition:width .24s ease}
.gth-cs:hover .cs-bar{width:214px}
.cs-item{display:flex;align-items:center;gap:12px;width:100%;height:54px;padding:0 16px;background:none;border:0;border-top:1px solid rgba(255,255,255,.14);color:#fff;cursor:pointer;text-align:left;transition:background .15s}
.cs-bar > .cs-item:first-child{border-top:0}
.cs-item:hover{background:var(--accent2)}
.cs-ic{flex:none;width:22px;height:22px;line-height:0}
.cs-ic svg{width:22px;height:22px;display:block}
.cs-tx{display:flex;flex-direction:column;line-height:1.35;white-space:nowrap;opacity:0;transition:opacity .18s}
.gth-cs:hover .cs-tx{opacity:1}
.cs-tx b{font-size:14px;font-size:calc(14px * var(--fs));font-weight:700;letter-spacing:.2px}
.cs-tx i{font-size:11.5px;font-size:calc(11.5px * var(--fs));font-style:normal;opacity:.72;margin-top:1px}
/* 二维码项：悬停时在框内向下展开 */
.cs-item.cs-qr{display:block;height:auto;padding:0}
.cs-qr:hover{background:none}
.cs-qr-head{display:flex;align-items:center;gap:12px;height:54px;padding:0 16px;transition:background .15s}
.cs-qr-head:hover{background:var(--accent2)}
.cs-qrbox{height:0;overflow:hidden;margin:0 16px;transition:height .24s ease}
.cs-qr:hover .cs-qrbox{height:172px}
.cs-qrbox .qr-in{background:#fff;border-radius:2px;padding:8px;width:166px;margin:0 auto}
.cs-qrbox img{width:150px;height:150px;object-fit:contain;margin:0 auto}
.cs-top .cs-tx b{font-size:13.5px;font-size:calc(13.5px * var(--fs));font-weight:400}

@media(max-width:860px){
  .gth-cs .cs-bar,.gth-cs:hover .cs-bar{width:48px;border-radius:24px 0 0 24px}
  .gth-cs .cs-item.cs-tel{width:48px;height:48px;padding:0;justify-content:center;border-top:0}
  .gth-cs .cs-item.cs-tel .cs-ic,.gth-cs .cs-item.cs-tel .cs-ic svg{width:24px;height:24px}
  .gth-cs .cs-item.cs-qr,.gth-cs .cs-item.cs-top{display:none}
  .gth-cs .cs-tx,.gth-cs:hover .cs-tx{display:none;opacity:0}
}

/* ================= 联系我们（内容页专用，样式集中在这里，不再写进正文） ================= */
#gth-contact .gth-tel a{color:inherit;text-decoration:none}
#gth-contact img{max-width:100%}
@media(max-width:520px){
  #gth-contact .gth-tel{font-size:24px;font-size:calc(24px * var(--fs))!important;letter-spacing:1px!important}
  #gth-contact .gth-tel svg{width:20px!important;height:20px!important;vertical-align:-4px!important;margin-right:6px!important}
  #gth-contact h2{font-size:19px;font-size:calc(19px * var(--fs))!important}
  /* 小屏上三张卡片改成一列一张，避免被挤成竖条 */
  #gth-contact div[style*="min-width:260px"],#gth-contact div[style*="min-width:220px"]{flex:1 1 100%!important;min-width:0!important}
}

/* ================= 页面题头（分类页 / 城市页 / 内容页） ================= */
/* 面包屑薄条：让题头上方有一条干净的分界，不占地方 */
.crumb-strip{background:#fff;border-bottom:1px solid var(--line)}
.crumb-strip .crumb{max-width:1120px;margin:0 auto;padding:9px 20px;margin-bottom:0}

/* 半幅题头：左文右图。左边是实底藏蓝，文字永远干净；右边只露器物局部 */
/* main section 有 1120 max-width，会把题头缩成一条卡片、两边露白，这里放回满宽；
   文字仍由 .phero-in 的 1120 版心控制，所以只是底色铺满，内容位置不变。 */
@media(min-width:721px){main section.phero{max-width:none;margin:0;padding:0}}
.phero{position:relative;height:216px;overflow:hidden;background:#22304a;color:#fff}
.phero-bg{position:absolute;inset:0;background-size:cover;background-position:right center;background-repeat:no-repeat}
.phero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#22304a 0%,#22304a 34%,rgba(34,48,74,.97) 42%,rgba(34,48,74,.74) 55%,rgba(34,48,74,.30) 72%,rgba(34,48,74,.05) 100%)}
.phero-in{position:relative;max-width:1120px;margin:0 auto;height:100%;padding:0 20px;display:flex;align-items:center;justify-content:flex-start;gap:30px}
.phero-tx{max-width:640px}
.phero-k{display:inline-block;font-size:11.5px;font-size:calc(11.5px * var(--fs));letter-spacing:4px;color:#c9b48a;margin-bottom:11px}
.phero h1{font-size:32px;font-size:calc(32px * var(--fs));letter-spacing:3px;line-height:1.3;font-weight:700;margin-bottom:9px;padding:0;color:#fff}
.phero p{font-size:14px;font-size:calc(14px * var(--fs));line-height:1.8;color:rgba(255,255,255,.76);max-width:560px}
.phero-tags{display:flex;gap:8px;margin-top:15px;flex-wrap:wrap}
.phero-tags span{font-size:12px;font-size:calc(12px * var(--fs));letter-spacing:.6px;color:#e8e2d4;border:1px solid rgba(232,226,212,.3);border-radius:2px;padding:3px 12px}
.phero-ic{flex:none;width:76px;height:76px;opacity:.5;margin-left:30px}
.phero-ic svg{width:100%;height:100%;fill:none;stroke:#c9b48a;stroke-width:1.05;stroke-linecap:round;stroke-linejoin:round}

/* 素纸题头：内容页用，无图，只有标题与一行说明 */
.phead{max-width:1120px;margin:0 auto;padding:36px 20px 24px}
.phead-k{display:block;font-size:11.5px;font-size:calc(11.5px * var(--fs));letter-spacing:4px;color:var(--warm);margin-bottom:11px}
.phead h1{font-size:30px;font-size:calc(30px * var(--fs));letter-spacing:3px;line-height:1.3;margin-bottom:12px}
.phead h1::after{content:"";display:block;width:44px;height:2px;background:var(--warm);margin-top:14px}
.phead p{font-size:14px;font-size:calc(14px * var(--fs));color:var(--ink2);max-width:680px;line-height:1.85}
.phead + .page-wrap{padding-top:6px}

@media(max-width:860px){
  .phero{height:196px}
  .phero h1{font-size:27px;font-size:calc(27px * var(--fs))}
  .phero-ic{width:64px;height:64px;margin-left:24px}
}
@media(max-width:720px){
  .phero{height:auto;padding:24px 0 26px}
  .phero-bg{opacity:.20;background-position:center 42%;filter:grayscale(1)}
  .phero-in{padding:0 16px;display:block}
  .phero-tx{max-width:none}
  .phero h1{font-size:22px;font-size:calc(22px * var(--fs));letter-spacing:2px}
  .phero p{font-size:13px;font-size:calc(13px * var(--fs));line-height:1.75}
  .phero-tags{margin-top:12px}
  .phero-tags span{font-size:11.5px;font-size:calc(11.5px * var(--fs));padding:3px 10px}
  .phero-ic{display:none}
  .phead{padding:24px 16px 16px}
  .phead h1{font-size:23px;font-size:calc(23px * var(--fs));letter-spacing:2px}
  .phead h1::after{margin-top:11px}
  .phead p{font-size:13.5px;font-size:calc(13.5px * var(--fs))}
}

/* 分类工具条：手机上挤进一行，排序按钮与最后一排价位按钮同行右对齐 */
@media(max-width:720px){
  /* 分类标签允许换行：原来写死不换行，字号放大后会顶出横向滚动条，
     而且末尾的「全部商品」被挤到屏幕外看不见。换成换行，「全部商品」自然落到下一行右侧。 */
  .cat-tabs{gap:8px;flex-wrap:wrap}
  .cat-tabs a.t{flex:none;white-space:nowrap;padding:7px 12px;font-size:13px;font-size:calc(13px * var(--fs));letter-spacing:.5px}
  .cat-tabs a.all{flex:none;font-size:12.5px;font-size:calc(12.5px * var(--fs));white-space:nowrap;padding:0}
  .price-chips{gap:7px}
  .price-chips .pl{font-size:12.5px;font-size:calc(12.5px * var(--fs));margin-right:0;white-space:nowrap}
  .price-chips .chip{flex:none;white-space:nowrap;font-size:13px;font-size:calc(13px * var(--fs));padding:6px 11px}
  .price-chips .sort{flex:none;font-size:12.5px;font-size:calc(12.5px * var(--fs));padding:6px 12px;white-space:nowrap}
  .cat-meta{font-size:12.5px;font-size:calc(12.5px * var(--fs));padding:9px 12px}
}

/* ================= 价位筛选下拉（手机端专用形态） =================
   电脑端照旧一排按钮；手机上按钮会占三行、把首屏商品全挤下去，
   所以收成「价位 ▾」+ 浮层。两种形态共用同一批链接（源码里都在，蜘蛛可爬）。 */
.price-dd{display:none;position:relative;flex:none}
.price-dd summary{display:flex;align-items:center;gap:2px;list-style:none;cursor:pointer;
  border:1px solid var(--accent);background:#fff;color:var(--accent);
  padding:7px 12px;border-radius:2px;font-size:13px;font-size:calc(13px * var(--fs));letter-spacing:.3px;white-space:nowrap;line-height:1.4}
.price-dd summary::-webkit-details-marker{display:none}
.price-dd summary::marker{content:""}
.price-dd .dd-t{color:var(--ink2);font-weight:400;margin-right:1px}
.price-dd summary b{font-weight:700}
.price-dd .dd-caret{width:0;height:0;margin-left:3px;
  border-left:4.5px solid transparent;border-right:4.5px solid transparent;border-top:5px solid var(--accent);
  transition:transform .18s ease}
.price-dd[open] .dd-caret{transform:rotate(180deg)}
.price-dd .dd-panel{position:absolute;left:0;top:calc(100% + 6px);z-index:40;
  background:#fff;border:1px solid var(--line);border-radius:3px;
  box-shadow:0 10px 26px rgba(20,28,42,.16);padding:9px;
  display:flex;flex-wrap:wrap;gap:7px;width:max-content;max-width:calc(100vw - 40px)}
.price-dd .dd-panel .chip{flex:none;font-size:13px;font-size:calc(13px * var(--fs));padding:7px 12px}
@media(max-width:720px){
  .price-chips{gap:8px;flex-wrap:nowrap;align-items:center;position:relative}
  .price-chips .pl,.price-chips .chips-body{display:none}
  .price-dd{display:block}
  .price-chips .sort{margin-left:auto;flex:none;font-size:12.5px;font-size:calc(12.5px * var(--fs));padding:7px 11px;white-space:nowrap}
}

/* ================= 手机端留白统一收窄 =================
   2026-10-29 Lion威：手机屏本来就窄，两侧各留半个字（约 8px）就够，多出来的白边全给内容。
   导航、页头、正文、产品、WooCommerce、页脚要一起对齐——只改正文不改导航，左边缘会参差不齐。 */
@media(max-width:720px){
  .page-wrap{padding:16px 8px 26px}
  .art-wrap{padding:22px 8px 8px}
  .banner .txt{padding-left:10px;padding-right:10px}
  .steps{padding:28px 10px}
  .trust .inner{padding:14px 10px}
  .hwrap{padding:12px 8px}
  .hright{gap:10px}
  .hphone{padding-left:10px}
  .hphone .num{font-size:17px;letter-spacing:0;white-space:nowrap}
  .acct a{white-space:nowrap}
  .acct .reg{padding:5px 9px}
  .fsbtn{padding:0 6px;margin-right:0;height:24px}
  .fsbtn .fslvl{display:none}
  .fsbtn .fsa{font-size:13px}
  .fsbtn .fsb{font-size:9px}
  /* 手机端导航是 gth-nav-b，原来靠 body.gth-nav-b 的 padding-left 压过通用规则，
     这里用同权重写法，左右都收成半个字，和页头 logo 对齐 */
  nav.site-nav ul,body.gth-nav-b nav.site-nav ul{padding:0 8px}
  main section{padding:28px 8px}
  .phero{padding:22px 0 24px}
  .phero-in{padding:0 8px}
  .phead{padding:22px 8px 14px}
  .crumb-strip .crumb{padding:8px}
  .woocommerce:not(body){padding:18px 8px 44px}
  footer.site-foot{padding:30px 12px 16px}
  .grid-4{gap:8px}
  .prod .body{padding:10px 10px 11px}
  .prod h3{font-size:14px;font-size:calc(14px * var(--fs))}
  .cat-help{padding:14px}
  .pdp{padding:12px}
  /* 购物车 / 结账 / 我的账户：短代码输出的 .woocommerce 套在 .page-wrap 里，
     两层左右留白会叠加，内层清零，只留外层那半个字 */
  .page-wrap .woocommerce:not(body),
  .entry > .woocommerce:not(body){padding-left:0;padding-right:0}
  /* 资讯列表：卡片更紧凑，摘要仍留两行 */
  .entry .gth-news-list{gap:8px}
  .entry .gth-news-item{padding:13px 13px 11px}
  .entry .gth-news-item h3{font-size:15.5px;font-size:calc(15.5px * var(--fs));line-height:1.5;margin-bottom:5px}
  .entry .gth-news-item p{font-size:13px;font-size:calc(13px * var(--fs));line-height:1.72;margin-bottom:8px}
  .pager a,.pager>span{min-width:30px;height:30px;padding:0 8px;font-size:12.5px;font-size:calc(12.5px * var(--fs))}
  .pager .gn-pg-info{height:auto;min-width:0;padding:0;border:0;background:none}
}

/* ================= 商品详情：手机端卡片通栏 =================
   2026-10-30 Lion威：商品说明正文被两层留白挤压（page-wrap 8px + 卡片 26px = 35px），
   一行只排到 20 字。手机端把「商品图＋价格」和「商品说明」两张卡片拉到视口边缘，
   正文距屏幕边只剩半个字（8px），一行排到 23 字；面包屑与同类款式仍是 8px，左边缘对齐。 */
@media(max-width:720px){
  body.single-product .pdp,
  body.single-product .pdp-detail{
    margin-left:-8px;margin-right:-8px;
    border-left:0;border-right:0;border-radius:0;
  }
  body.single-product .pdp{padding:12px 8px}
  body.single-product .pdp-detail{padding:18px 8px}
}

/* ================= 我的账户（登录 / 订单 / 地址 / 详情） =================
   2026-10-30 Lion威：手机版点「我的订单」进来是一张裸表单，输入框、小按钮、忘记密码散着放；
   登录后导航是圆点竖排列表、订单挤成 5 列表格（「查看」被压成一个「查」字）。
   整块按站内卡片风格重做：桌面两栏、手机单栏，订单改卡片，导航改两列方格。 */

body.woocommerce-account .page-wrap h1{margin-bottom:16px}
body.woocommerce-account .entry{font-size:15px;line-height:1.75}
body.woocommerce-account .entry a{text-decoration:none}

/* ---------- 未登录：居中登录卡 ---------- */
body.woocommerce-account:not(.logged-in) .woocommerce:not(body){max-width:420px;margin:0 auto;padding:8px 20px 40px}
.gth-login-head h2{font-size:20px;margin:0 0 6px;letter-spacing:.5px}
.gal-sub{margin:0 0 16px;font-size:13.5px;color:var(--ink2);line-height:1.7}
form.gth-login-card{margin:0;padding:20px 16px 14px;background:var(--card);border:1px solid var(--line);border-radius:4px}
.woocommerce form.gth-login-card .form-row{margin:0 0 14px;padding:0}
.woocommerce form.gth-login-card .form-row label{display:block;margin-bottom:7px;font-size:13.5px;font-weight:500;color:var(--ink2)}
.woocommerce form.gth-login-card .form-row input.input-text{
  width:100%;height:46px;padding:0 12px;border:1px solid #ddd9d1;border-radius:3px;
  background:#fbfaf7;color:var(--ink);font-size:15px;font-size:calc(15px * var(--fs));line-height:44px}
.woocommerce form.gth-login-card .form-row input.input-text:focus{outline:none;background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px rgba(44,62,93,.06)}
.woocommerce form.gth-login-card .form-row.gal-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:2px 0 0}
.woocommerce form.gth-login-card .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:6px;margin:0;font-size:13.5px;color:var(--ink2)}
.woocommerce form.gth-login-card .woocommerce-form-login__rememberme input{width:16px;height:16px;margin:0}
.woocommerce form.gth-login-card .woocommerce-form-login__submit{
  order:2;flex:0 0 100%;width:100%;height:48px;margin:4px 0 0;
  border:1px solid var(--accent);border-radius:3px;background:var(--accent);color:#fff;
  font-size:16px;font-size:calc(16px * var(--fs));letter-spacing:4px;cursor:pointer}
.woocommerce form.gth-login-card .woocommerce-form-login__submit:hover{background:#233250;border-color:#233250}
.woocommerce form.gth-login-card .lost_password{margin:10px 0 0;text-align:right;font-size:13.5px}
.woocommerce form.gth-login-card .lost_password a{color:var(--ink2)}
.woocommerce form.gth-login-card .gal-note{margin:0 0 14px;font-size:13px;color:var(--ink2)}
.gal-alt{margin:14px 0 0;text-align:center;font-size:13.5px;color:var(--ink2)}
.gal-alt a{color:var(--accent);font-weight:500;border-bottom:1px solid rgba(44,62,93,.28)}

/* ---------- 登录后：桌面两栏 ---------- */
@media(min-width:721px){
  body.woocommerce-account.logged-in .woocommerce:not(body){
    display:grid;grid-template-columns:212px minmax(0,1fr);column-gap:22px;align-items:start;
    padding:22px 20px 50px}
}
.woocommerce-MyAccount-content{min-width:0}

/* ---------- 侧边导航（卡片式） ---------- */
.gth-acc-nav{background:var(--card);border:1px solid var(--line);border-radius:4px;overflow:hidden}
.gth-acc-user{display:flex;align-items:center;gap:9px;padding:13px 12px;background:#fbfaf7;border-bottom:1px solid var(--line)}
.au-avatar{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}
.au-name{flex:1;min-width:0;font-size:14.5px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.au-out{flex:none;padding:4px 9px;border:1px solid var(--line);border-radius:2px;background:#fff;
  font-size:12.5px;color:var(--ink2);line-height:1.2}
.gth-acc-nav ul{list-style:none;margin:0;padding:0}
.gth-acc-nav li{margin:0;border-bottom:1px solid var(--line)}
.gth-acc-nav li:last-child{border-bottom:0}
.gth-acc-nav li a{display:flex;align-items:center;justify-content:space-between;padding:12px 13px;font-size:14.5px;color:var(--ink)}
.gth-acc-nav li a::after{content:"";flex:none;width:6px;height:6px;margin-left:8px;
  border-right:1.5px solid #b9bdc7;border-top:1.5px solid #b9bdc7;transform:rotate(45deg)}
.gth-acc-nav li.is-active a{background:#f4f7fb;color:var(--accent);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}
.gth-acc-nav li.is-active a::after{border-color:var(--accent)}

/* ---------- 控制面板 ---------- */
.gth-acc-dash{padding:18px 16px;background:var(--card);border:1px solid var(--line);border-radius:4px}
.gad-hello{margin:0 0 6px;font-size:16px;font-size:calc(16px * var(--fs));color:var(--ink)}
.gad-hello strong{font-size:17px;font-size:calc(17px * var(--fs))}
.gad-tip{margin:0 0 16px;font-size:13.5px;color:var(--ink2);line-height:1.75}
.gad-links{display:grid;gap:8px}
.gad-links a{position:relative;display:block;padding:12px 30px 12px 14px;border:1px solid var(--line);border-radius:3px;background:#fcfcfa}
.gad-links a::after{content:"";position:absolute;right:14px;top:50%;width:6px;height:6px;
  border-right:1.5px solid #b9bdc7;border-top:1.5px solid #b9bdc7;transform:translateY(-50%) rotate(45deg)}
.gad-links b{display:block;margin-bottom:3px;font-size:14.5px;font-weight:600;color:var(--ink)}
.gad-links i{font-style:normal;font-size:12.5px;color:var(--ink2)}

/* ---------- 订单列表：表格改卡片 ---------- */
.gth-order-list{display:flex;flex-direction:column;gap:10px}
.gth-order-card{padding:14px;background:var(--card);border:1px solid var(--line);border-radius:4px}
.goc-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.goc-no{font-size:13px;color:var(--ink2)}
.goc-no b{font-size:14.5px;color:var(--ink)}
.goc-status{flex:none;padding:3px 9px;border-radius:2px;background:#eef2f8;color:var(--accent);font-size:12px;white-space:nowrap}
.gth-order-card.st-processing .goc-status,
.gth-order-card.st-on-hold .goc-status,
.gth-order-card.st-pending .goc-status{background:#fdf3e6;color:#8a5a12}
.gth-order-card.st-completed .goc-status{background:#eaf5ee;color:#2e7d4f}
.gth-order-card.st-cancelled .goc-status,
.gth-order-card.st-failed .goc-status,
.gth-order-card.st-refunded .goc-status{background:#f7eded;color:#a0392f}
.goc-mid{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.goc-date{font-size:13px;color:var(--ink2)}
.goc-total{font-size:16px;font-size:calc(16px * var(--fs));font-weight:700;color:var(--accent);white-space:nowrap}
.goc-total i{margin-left:6px;font-style:normal;font-size:12px;font-weight:400;color:var(--ink2)}
.goc-act{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.goc-btn{flex:1;height:38px;line-height:36px;text-align:center;border:1px solid var(--line);border-radius:3px;
  background:#fff;font-size:13.5px;color:var(--ink)}
.goc-btn.view,.goc-btn.pay{background:var(--accent);border-color:var(--accent);color:#fff}
.goc-btn.cancel{color:var(--ink2)}
.gth-order-pager{display:flex;gap:8px;margin-top:16px}

/* ---------- 空状态 ---------- */
.gth-order-empty{padding:26px 18px;background:var(--card);border:1px solid var(--line);border-radius:4px;text-align:center}
.goe-t{margin:0 0 8px;font-size:16px;font-size:calc(16px * var(--fs));font-weight:600;color:var(--ink)}
.goe-s{margin:0 0 16px;font-size:13.5px;color:var(--ink2);line-height:1.75}
.goe-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.goe-links a{display:inline-block;padding:9px 16px;border:1px solid var(--line);border-radius:3px;background:#fff;font-size:13.5px;color:var(--ink)}

/* ---------- 订单详情 / 地址 ---------- */
body.woocommerce-account .woocommerce-MyAccount-content address{font-style:normal;font-size:14px;line-height:1.8}
body.woocommerce-account .woocommerce-Address{margin-bottom:18px}
body.woocommerce-account .woocommerce-Address h3{font-size:15px;margin:0 0 8px}
body.woocommerce-account .woocommerce-Address address{padding:12px 14px;background:#fbfaf7;border:1px solid var(--line);border-radius:3px}

/* ---------- 手机 ---------- */
@media(max-width:720px){
  body.woocommerce-account .page-wrap{padding-top:14px}
  body.woocommerce-account .page-wrap h1{font-size:21px;font-size:calc(21px * var(--fs));margin-bottom:12px}
  body.woocommerce-account:not(.logged-in) .woocommerce:not(body){padding:0 0 36px}
  body.woocommerce-account.logged-in .woocommerce:not(body){padding:0 0 36px}
  .gth-acc-nav{margin-bottom:10px}
  .gth-acc-nav ul{display:grid;grid-template-columns:1fr 1fr}
  .gth-acc-nav li{border-bottom:1px solid var(--line)}
  .gth-acc-nav li:nth-child(odd){border-right:1px solid var(--line)}
  .gth-acc-nav li:nth-last-child(-n+2):nth-child(odd),
  .gth-acc-nav li:last-child{border-bottom:0}
  .gth-acc-nav li a{justify-content:center;padding:12px 8px;font-size:14px;font-size:calc(14px * var(--fs))}
  .gth-acc-nav li a::after{display:none}
  .gth-acc-nav li.is-active a{box-shadow:inset 0 -3px 0 var(--accent)}
  .gal-alt{margin-top:12px}
}

/* ================= 我的账户：地址 / 账户详情两张表单 =================
   2026-10-30 第二轮。上一轮只重做了登录卡、导航格和订单卡片，地址页与详情页还是
   WooCommerce 原样：输入框描边 #e5e3dd 压在米白底上几乎看不见，整片发灰；
   「修改密码」被一个 1px 大边框圈住，三根框线糊成一团；姓名两个框还是「名字」在前。
   这一轮把这两页收进白色卡片，控件规格与登录卡对齐。 */

body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-address-fields,
body.woocommerce-account .woocommerce-MyAccount-content form.edit-account{
  margin:0;padding:18px 15px 8px;background:var(--card);border:1px solid var(--line);border-radius:4px}

body.woocommerce-account .woocommerce-MyAccount-content form .form-row{margin:0 0 13px;padding:0}
body.woocommerce-account .woocommerce-MyAccount-content form .form-row label{
  display:block;margin-bottom:6px;font-size:13px;font-size:calc(13px * var(--fs));
  font-weight:500;color:#585d6a;line-height:1.5}
body.woocommerce-account .woocommerce-MyAccount-content form .form-row label .required{
  color:var(--danger);text-decoration:none;border:0;margin-left:2px}
body.woocommerce-account .woocommerce-MyAccount-content form .form-row label .optional{
  color:#8f949f;font-weight:400}

/* 输入框：白底 + 深一档描边，跟卡片底色拉开层次 */
body.woocommerce-account .woocommerce-MyAccount-content form .form-row input.input-text,
body.woocommerce-account .woocommerce-MyAccount-content form .form-row select,
body.woocommerce-account .woocommerce-MyAccount-content form .form-row textarea{
  width:100%;height:44px;padding:0 12px;border:1px solid #d3cec3;border-radius:3px;
  background:#fff;color:var(--ink);font-size:15px;font-size:calc(15px * var(--fs));line-height:42px;
  -webkit-appearance:none;appearance:none}
body.woocommerce-account .woocommerce-MyAccount-content form .form-row select{
  padding-right:32px;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b7080' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center}
body.woocommerce-account .woocommerce-MyAccount-content form .form-row input.input-text:focus,
body.woocommerce-account .woocommerce-MyAccount-content form .form-row select:focus,
body.woocommerce-account .woocommerce-MyAccount-content form .form-row textarea:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(44,62,93,.07)}
body.woocommerce-account .woocommerce-MyAccount-content form .form-row em{
  display:block;margin-top:5px;font-style:normal;font-size:12.5px;color:var(--ink2);line-height:1.6}

/* 分节标题（收货人 / 联系与地址，由 inc/checkout.php 注入） */
body.woocommerce-account .woocommerce-address-fields .gth-sec{
  margin:18px 0 12px;padding-left:9px;border-left:3px solid var(--warm);
  font-size:14px;font-size:calc(14px * var(--fs));font-weight:600;color:var(--accent);line-height:1.4}
body.woocommerce-account .woocommerce-address-fields .gth-sec:first-child{margin-top:0}

/* 修改密码：从大边框改成一张浅底分组，标题压在边框上 */
body.woocommerce-account .woocommerce-MyAccount-content form.edit-account fieldset{
  margin:20px 0 4px;padding:6px 13px 4px;border:1px solid #ddd8cd;border-radius:4px;background:#fcfbf8}
body.woocommerce-account .woocommerce-MyAccount-content form.edit-account legend{
  padding:0 7px;margin-left:-2px;font-size:13.5px;font-size:calc(13.5px * var(--fs));
  font-weight:600;color:var(--accent);line-height:1.5}
body.woocommerce-account .woocommerce-MyAccount-content form.edit-account fieldset .form-row{margin-bottom:12px}

/* 保存按钮 */
body.woocommerce-account .woocommerce-MyAccount-content form .button{
  height:46px;padding:0 22px;border:1px solid var(--accent);border-radius:3px;
  background:var(--accent);color:#fff;font-size:15px;font-size:calc(15px * var(--fs));
  letter-spacing:.04em;cursor:pointer}
body.woocommerce-account .woocommerce-MyAccount-content form .button:hover{background:#233250;border-color:#233250}

/* 桌面：地址字段两列 */
@media(min-width:721px){
  body.woocommerce-account .woocommerce-address-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
  body.woocommerce-account .woocommerce-address-fields__field-wrapper > .form-row{grid-column:span 1;min-width:0;margin-bottom:13px}
  body.woocommerce-account .woocommerce-address-fields__field-wrapper > .form-row-wide,
  body.woocommerce-account .woocommerce-address-fields__field-wrapper > .gth-sec{grid-column:1 / -1}
}

/* 手机：按钮通栏，拇指好按 */
@media(max-width:720px){
  body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-address-fields,
  body.woocommerce-account .woocommerce-MyAccount-content form.edit-account{padding:15px 13px 6px}
  body.woocommerce-account .woocommerce-MyAccount-content form > p > .button,
  body.woocommerce-account .woocommerce-MyAccount-content form > .button{width:100%;display:block;margin:4px 0 8px}
  body.woocommerce-account .woocommerce-MyAccount-content form.edit-account fieldset{padding:6px 11px 2px}
}

/* --- 修正：地址编辑页的 <form> 没有 class，上一条卡片规则没命中 --- */
body.woocommerce-account .woocommerce-MyAccount-content > form{
  margin:0;padding:18px 15px 8px;background:var(--card);border:1px solid var(--line);border-radius:4px}
body.woocommerce-account .woocommerce-MyAccount-content .gth-sec{
  margin:18px 0 12px;padding-left:9px;border-left:3px solid var(--warm);
  font-size:14px;font-size:calc(14px * var(--fs));font-weight:600;color:var(--accent);line-height:1.4}
body.woocommerce-account .woocommerce-MyAccount-content .gth-sec:first-child{margin-top:0}

/* 地址列表：添加 / 编辑 从小灰字改成按钮 */
body.woocommerce-account .woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 9px}
body.woocommerce-account .woocommerce-Address-title h3{margin:0;font-size:15px;font-size:calc(15px * var(--fs))}
body.woocommerce-account .woocommerce-Address-title a{
  flex:none;padding:5px 12px;border:1px solid var(--accent);border-radius:3px;
  font-size:12.5px;font-size:calc(12.5px * var(--fs));color:var(--accent);line-height:1.5}
body.woocommerce-account .woocommerce-Address-title a:hover{background:var(--accent);color:#fff}
body.woocommerce-account .woocommerce-Address address{margin:0}

@media(max-width:720px){
  body.woocommerce-account .woocommerce-MyAccount-content > form{padding:15px 13px 6px}
}

/* 地址为空时的提示框：虚线，和已填地址的实线卡区分开 */
body.woocommerce-account .woocommerce-Address address{border-style:dashed;background:#fcfbf8}

/* WebP：picture 包一层后，图片仍要撑满卡片 */
.prod .ph picture{display:block;height:100%}

/* ===== 2026-10-30 账户页第三轮修正 ===== */

/* 登录页只保留一个标题（H1「我的账户」），说明文字直接接上去 */
body.woocommerce-account .gth-login-head{margin-top:2px}

/* 密码框右侧的「显示密码」按钮：WooCommerce 自动注入。默认样式在窄屏会掉到框外，
   图标字体缺失时更会渲染成一个孤立的小圆点。这里固定到框内右侧，图标改用内联 SVG 画眼睛 */
body.woocommerce-account .password-input,.gth-auth .password-input{position:relative;display:block}
body.woocommerce-account .password-input input,.gth-auth .password-input input{padding-right:46px !important}
body.woocommerce-account .password-input .show-password-input,
.gth-auth .password-input .show-password-input{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  display:block;width:36px;height:36px;margin:0;padding:0;border:0;background:none;
  box-shadow:none;cursor:pointer;font-size:0;line-height:0;overflow:hidden;opacity:.75;
}
body.woocommerce-account .password-input .show-password-input:hover,
.gth-auth .password-input .show-password-input:hover{opacity:1}
body.woocommerce-account .password-input .show-password-input::after,
.gth-auth .password-input .show-password-input::after{
  content:"";display:block;width:20px;height:20px;margin:8px auto;
  background:no-repeat center/20px 20px;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7080' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-6.4 10-6.4S22 12 22 12s-3.6 6.4-10 6.4S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}

/* 「显示名称」旁的问号：光标移上去或键盘聚焦才弹出说明，平时不占版面 */
.gth-tip{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:15px;height:15px;margin-left:5px;border-radius:50%;
  background:#c9c4b8;color:#fff;font-size:11px;font-weight:700;line-height:1;
  cursor:help;vertical-align:1px;-webkit-user-select:none;user-select:none;
}
.gth-tip:hover,.gth-tip:focus{background:#8a7a5c;outline:none}
.gth-tip-b{
  position:absolute;left:-12px;bottom:calc(100% + 9px);width:196px;
  padding:8px 10px;background:#2b2f3a;color:#fff;font-size:12px;font-weight:400;
  line-height:1.65;letter-spacing:0;text-align:left;border-radius:4px;
  opacity:0;visibility:hidden;transition:opacity .16s,visibility .16s;
  z-index:40;pointer-events:none;white-space:normal;
}
.gth-tip-b::after{
  content:"";position:absolute;top:100%;left:16px;margin-left:-5px;
  border:5px solid transparent;border-top-color:#2b2f3a;
}
.gth-tip:hover .gth-tip-b,.gth-tip:focus .gth-tip-b{opacity:1;visibility:visible}
@media(max-width:430px){.gth-tip-b{width:170px;font-size:11.5px}}

/* 订单卡片操作按钮：手机端通栏好点，桌面端不必占满一行 */
@media(min-width:721px){
  .goc-act{justify-content:flex-end;border-top:0;padding-top:0;margin-top:12px}
  .goc-btn{flex:none;min-width:108px;padding:0 20px;height:34px;line-height:32px}
}

/* ===== 2026-10-30 建议与报错：页面 + 页脚入口 ===== */

/* ---------- 页脚入口：挪到「高太花白事鲜花网」介绍之下，说明与按钮紧挨着 ---------- */
.foot-fb{margin-top:0;max-width:none}
.foot-fb-t{margin:0 0 11px;font-size:13px;font-size:calc(13px * var(--fs));color:rgba(255,255,255,.62);line-height:1.75}
.foot-fb-t b{color:#fff;font-weight:600}
/* 说明写全「footer.site-foot .foot-fb-btn」是因为 footer.site-foot a:hover 把文字刷成了白色，
   白底白字就是这个原因，只写 .foot-fb-btn:hover 压不住 */
footer.site-foot .foot-fb-btn{display:inline-block;height:36px;line-height:34px;padding:0 18px;
  border:1px solid rgba(255,255,255,.42);border-radius:3px;font-size:13.5px;color:#fff;
  text-decoration:none;white-space:nowrap;transition:background .18s,color .18s,border-color .18s}
footer.site-foot .foot-fb-btn:hover,
footer.site-foot .foot-fb-btn:focus{background:#fff;color:#22304a;border-color:#fff;text-decoration:none}
@media(max-width:720px){
  .foot-fb{max-width:none}
  footer.site-foot .foot-fb-btn{display:block;width:100%;box-sizing:border-box;text-align:center;line-height:34px}
}

/* ---------- 留言页 ---------- */
.fb-page{max-width:760px}
.fb-lead{margin:0 0 22px;font-size:14.5px;line-height:1.85;color:var(--ink2)}
.fb-lead a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(44,62,93,.3)}

.fb-form{background:var(--card);border:1px solid var(--line);border-radius:5px;padding:22px 22px 20px}
.fb-row{margin-bottom:18px}
.fb-row label{display:block;font-size:13.5px;color:var(--ink);font-weight:600;margin-bottom:7px}
.fb-row label em{font-style:normal;font-weight:400;color:var(--ink2);font-size:12.5px;margin-left:6px}
.fb-row select,
.fb-row input[type=text],
.fb-row textarea{
  width:100%;box-sizing:border-box;border:1px solid #d3cec3;border-radius:3px;background:#fff;
  padding:0 12px;font-size:14.5px;color:var(--ink);font-family:inherit;outline:none;transition:border-color .18s;
}
.fb-row select,.fb-row input[type=text]{height:46px;line-height:46px}
.fb-row textarea{padding:11px 12px;line-height:1.75;resize:vertical;min-height:132px}
.fb-row select:focus,.fb-row input[type=text]:focus,.fb-row textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(44,62,93,.07)}
.fb-count{margin-top:5px;text-align:right;font-size:12px;color:var(--ink2)}

/* 文件选择：原生 input 藏起来，用可见按钮触发 */
.fb-file{position:relative;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fb-file input[type=file]{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}
.fb-file-btn{flex:none;display:inline-block;height:38px;line-height:36px;padding:0 18px;border:1px solid #d3cec3;
  border-radius:3px;background:#fff;font-size:13.5px;color:var(--ink)}
.fb-file-tx{font-size:12.5px;color:var(--ink2)}
.fb-thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.fb-thumbs:empty{margin-top:0}
.fb-thumb{position:relative;width:82px;height:82px;border-radius:4px;overflow:hidden;border:1px solid var(--line)}
.fb-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.fb-thumb button{position:absolute;right:0;top:0;width:20px;height:20px;border:0;background:rgba(0,0,0,.55);color:#fff;
  font-size:14px;line-height:18px;padding:0;cursor:pointer}

.fb-submit{display:block;width:100%;height:48px;border:0;border-radius:3px;background:var(--accent);color:#fff;
  font-size:15.5px;letter-spacing:1px;cursor:pointer;font-family:inherit;transition:.2s}
.fb-submit:hover{background:#22304a}
.fb-note{margin:12px 0 0;font-size:12.5px;color:var(--ink2);line-height:1.7;text-align:center}

/* 蜜罐：正常人看不见，也不该被键盘聚焦 */
.fb-hp{position:absolute !important;left:-9999px !important;top:auto;width:1px;height:1px;overflow:hidden}

/* 结果提示 */
.fb-ok{background:#f2f7f3;border:1px solid #cfe3d6;border-radius:5px;padding:26px 22px;text-align:center}
.fb-ok-t{margin:0 0 8px;font-size:17px;font-weight:700;color:#2e7d4f}
.fb-ok-s{margin:0 0 18px;font-size:14px;color:var(--ink2);line-height:1.8}
.fb-ok-btn{display:inline-block;height:42px;line-height:40px;padding:0 26px;border:1px solid var(--accent);
  border-radius:3px;color:var(--accent);text-decoration:none;font-size:14px}
.fb-ok-btn:hover{background:var(--accent);color:#fff}
.fb-err{margin:0 0 18px;padding:12px 14px;background:#fdf3f2;border:1px solid #efd3d0;border-radius:4px;
  font-size:13.5px;color:#a0392f;line-height:1.7}

@media(max-width:720px){
  .fb-form{padding:18px 16px 16px}
  .fb-page{max-width:none}
  .fb-lead{font-size:14px}
}

/* ===== 2026-10-30 账户详情第四轮：姓名合一 / 邮箱选填 / 密码 6 位 ===== */

/* 姓名只占一行该有的宽度，别拉成整栏像要填长句 */
@media(min-width:721px){
  body.woocommerce-account form.edit-account #account_first_name{max-width:340px}
}
body.woocommerce-account form.edit-account input::placeholder{color:#b3aea2}

/* 新密码下的固定提示 */
.gth-pw-hint{display:block;margin-top:6px;font-size:12.5px;color:#8a8577;line-height:1.7}

/* WooCommerce 的强度条与「至少 12 个字符」提示：6 位就放行，再显示「非常弱」只会误导 */
body.woocommerce-account .woocommerce-password-strength,
body.woocommerce-account .woocommerce-password-hint{display:none !important}

/* 手机号账号：改密码区块换成一句说明 */
.gth-pw-none{margin:18px 0 4px;padding:12px 14px;border:1px solid var(--line,#e6e3dc);border-radius:4px;
  background:#fbfaf7;font-size:13px;color:var(--ink2,#6b6b6b);line-height:1.85}
.gth-pw-none b{display:block;margin-bottom:3px;font-size:13.5px;color:var(--ink,#2f3a35)}
.gth-pw-none a{color:var(--accent,#2c3e5d);text-decoration:none}

/* ===== 2026-10-30 订单页「确认邮箱」提示：按钮不再浮到右侧、不再悬出卡片 ===== */
/* WooCommerce 把按钮写成「先按钮后文字 + float:right」，按钮固定 40px 高、文字行高 27px，
   窄屏时会压住文字并向下溢出。改成弹性布局：文字在前、按钮在后，窄屏按钮通栏。 */
.woocommerce-MyAccount-content .woocommerce-info:has(> .button.wc-forward){
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 18px;
}
.woocommerce-MyAccount-content .woocommerce-info:has(> .button.wc-forward) > .button{
  float:none; order:2; margin:0; flex:0 0 auto; align-self:center; height:auto; line-height:1.6; padding:8px 16px;
}
@media(max-width:720px){
  .woocommerce-MyAccount-content .woocommerce-info:has(> .button.wc-forward){
    flex-direction:column; align-items:stretch; gap:12px;
  }
  .woocommerce-MyAccount-content .woocommerce-info:has(> .button.wc-forward) > .button{
    width:100%; text-align:center; padding:10px 16px;
  }
}

/* /sms-login 底部的地区说明 */
.gth-sms-note{margin:18px auto 0;max-width:400px;font-size:13px;font-size:calc(13px * var(--fs));
  line-height:1.8;color:var(--ink2,#6b6b6b);text-align:center}

/* ===== 2026-10-30 邮箱注册 / 登录 / 找回密码 ===== */

/* 登录 + 注册两列：桌面并排，窄屏上下叠 */
#customer_login.gth-auth-cols{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;margin:0}
#customer_login.gth-auth-cols .u-column1,#customer_login.gth-auth-cols .u-column2{
  float:none;width:auto;margin:0;padding:0;box-sizing:border-box}
@media(max-width:900px){
  #customer_login.gth-auth-cols{grid-template-columns:1fr;gap:26px}
}

/* 注册 / 找回密码的按钮跟登录按钮一样通栏 */
.woocommerce form.gth-login-card .gal-row .button,
.woocommerce form.gth-login-card .gal-row button[type="submit"]{
  flex:1 1 100%;height:42px;line-height:40px;padding:0 18px;margin:0;
  background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:3px;
  font-size:15px;letter-spacing:1px;cursor:pointer;transition:.2s}
.woocommerce form.gth-login-card .gal-row .button:hover,
.woocommerce form.gth-login-card .gal-row button[type="submit"]:hover{
  background:#233250;border-color:#233250;color:#fff}

/* 蜜罐字段：移出视口，正常用户看不见 */
.gth-hp{position:absolute !important;left:-9999px !important;top:auto;width:1px;height:1px;opacity:0;pointer-events:none}

/* 找回密码页 */
.gth-lost-wrap{max-width:420px}
.gth-lost-wrap .gth-login-head h2{font-size:20px}
.woocommerce-ResetPassword .gal-note{margin:0 0 14px;font-size:12.5px;color:var(--ink2);line-height:1.8}

/* 账户详情页底部「忘记密码」 */
.gth-pw-help{margin:26px 0 0;padding:16px 18px;border:1px solid var(--line,#e6e3dc);border-radius:4px;
  background:#fbfaf7;font-size:13px;color:var(--ink2,#6b6b6b);line-height:1.9}
.gth-pw-help b{display:block;margin-bottom:4px;font-size:14px;color:var(--ink,#2f3a35)}
.gth-pw-help-mail{margin:8px 0 12px;font-size:13px;color:var(--ink2,#6b6b6b)}
.gth-pw-help-mail strong{color:var(--ink,#2f3a35);font-weight:600;word-break:break-all}
.gth-pw-help-btn{display:inline-block;height:38px;line-height:36px;padding:0 20px;border:1px solid var(--accent,#2c3e5d);
  border-radius:3px;background:var(--accent,#2c3e5d);color:#fff;font-size:13.5px;text-decoration:none;transition:.2s}
.gth-pw-help-btn:hover{background:#233250;border-color:#233250;color:#fff}
.gth-pw-none-link{display:block;margin-top:8px;font-size:12.5px}

@media(max-width:720px){
  .gth-lost-wrap{max-width:none}
  .gth-pw-help{padding:14px 14px;margin-top:22px}
  .gth-pw-help-btn{display:block;text-align:center;width:100%}
}

/* 登录 + 注册并排时，账户卡要放宽，否则两列各只有 175px */
body.woocommerce-account:not(.logged-in) .woocommerce:has(#customer_login.gth-auth-cols){max-width:920px}
@media(max-width:900px){
  body.woocommerce-account:not(.logged-in) .woocommerce:has(#customer_login.gth-auth-cols){max-width:460px}
}

/* 账户页的 body.woocommerce-account a{color:accent} 特异性高于 .gth-pw-help-btn，
   把按钮文字压成深蓝深底看不见——这里提高特异性把字色拿回来 */
body.woocommerce-account .gth-pw-help a.gth-pw-help-btn{color:#fff;text-decoration:none}
body.woocommerce-account .gth-pw-help a.gth-pw-help-btn:hover{color:#fff;text-decoration:none}

/* ===== 2026-10-30 登录 / 注册分页 + 页脚建议块挪位 ===== */

/* 页脚：手机上「提建议 / 报错」排到「快捷导航」「账户与帮助」两列之下（桌面上仍在品牌介绍下方） */
@media(max-width:860px){
  .fwrap .foot-fb{grid-column:1 / -1;margin-top:2px}
}

/* 登录区放宽一点：Tab 横条 + 表单在 420px 里太挤 */
body.woocommerce-account:not(.logged-in) .woocommerce:not(body){max-width:460px}

/* 手机号登录 / 邮箱登录 两个 Tab：radio + CSS 切换，不依赖 JS，
   登录失败回到本页时也不会跳回另一个 Tab */
.gth-auth .gth-tab-in{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.gth-tabs{display:flex;border-bottom:1px solid var(--line,#e6e3dc);margin:0 0 20px}
.gth-tab{flex:1 1 0;display:block;margin:0 0 -1px;padding:11px 4px;text-align:center;
  font-size:15px;font-size:calc(15px * var(--fs));color:var(--ink2,#6b6b6b);
  cursor:pointer;border-bottom:2px solid transparent;transition:color .18s,border-color .18s;user-select:none}
.gth-tab:hover{color:var(--ink,#2f3a35)}
#gthTabSms:checked ~ .gth-tabs .gth-tab[for="gthTabSms"],
#gthTabEmail:checked ~ .gth-tabs .gth-tab[for="gthTabEmail"]{
  color:var(--accent,#2c3e5d);font-weight:600;border-bottom-color:var(--accent,#2c3e5d)}
.gth-auth .gth-tab-in:focus-visible ~ .gth-tabs{outline:2px solid rgba(44,62,93,.3);outline-offset:4px}
.gth-pane{display:none}
#gthTabSms:checked ~ .gth-pane-sms,
#gthTabEmail:checked ~ .gth-pane-email{display:block}

/* Tab 内的短信卡片去掉自身宽度限制，与邮箱登录卡片同宽同内距；
   「想用邮箱注册 / 登录？点这里」已被 Tab 取代，不再显示 */
.gth-auth .gth-sms-box{max-width:none;padding:20px 16px;border-radius:4px}
.gth-auth .gth-sms-alt{display:none}

/* 注册页（/register） */
.gth-auth-single{max-width:420px;margin:0 auto}
.gth-auth-h1{font-size:22px;font-size:calc(22px * var(--fs));margin:0 0 8px;letter-spacing:.5px}
.gth-auth-lead{margin:0 0 18px;font-size:13.5px;font-size:calc(13.5px * var(--fs));color:var(--ink2,#6b6b6b);line-height:1.8}
.gth-reg-closed h1{font-size:21px;margin:0 0 10px}
.gth-reg-closed p{margin:0;font-size:14px;line-height:1.85;color:var(--ink2,#6b6b6b)}
.gth-reg-closed a{color:var(--accent,#2c3e5d);text-decoration:none;border-bottom:1px solid rgba(44,62,93,.28)}
@media(max-width:720px){
  .gth-auth-single{max-width:none}
  .gth-tabs{margin-bottom:16px}
  .gth-tab{padding:10px 4px;font-size:14.5px}
}

/* 未登录时「我的账户」标题与登录卡片左对齐，别一个在左一个居中 */
@media(min-width:721px){
  body.woocommerce-account:not(.logged-in) .page-wrap h1{max-width:420px;margin-left:auto;margin-right:auto}
}

/* Tab 里手机号登录的控件与邮箱登录同尺寸同配色（插件默认是墨绿，两边并排看着像两套系统） */
.gth-auth .gth-sms-box input{height:46px;border-color:#ddd9d1;background:#fbfaf7;color:var(--ink,#2f3a35)}
.gth-auth .gth-sms-box input:focus{border-color:var(--accent,#2c3e5d);box-shadow:0 0 0 3px rgba(44,62,93,.06)}
.gth-auth .gth-sms-send{height:46px;border-color:var(--accent,#2c3e5d);color:var(--accent,#2c3e5d)}
.gth-auth .gth-sms-submit{height:48px;margin-top:8px;background:var(--accent,#2c3e5d);font-size:15px;letter-spacing:1px}
.gth-auth .gth-sms-submit:hover{background:#233250}
.gth-auth .gth-sms-tip{margin-top:9px}

/* 2026-10-30：不注册也能下单的提示统一标红（注册页说明 + 短信卡片海外说明），邮箱注册给链接 */
.gth-warn{display:block;margin-top:2px;color:#b3261e}
.gth-sms-tip-os a,
body.woocommerce-account .entry .gth-sms-tip-os a{color:#4a5d52;text-decoration:underline;text-underline-offset:2px}
.gth-sms-tip-os a:hover{color:#2f3d35}

/* 2026-10-30 「为什么不用注册也能下单」解释弹窗（两页各输出一个，触发链接 href="#gth-why"） */
.gth-modal{display:none;position:fixed;inset:0;z-index:99999;align-items:center;justify-content:center;padding:16px}
.gth-modal:target,.gth-modal.is-open{display:flex}
.gth-modal-bg{position:absolute;inset:0;background:rgba(20,24,22,.55)}
.gth-modal-card{position:relative;width:100%;max-width:430px;max-height:82vh;overflow:auto;-webkit-overflow-scrolling:touch;background:#fff;border-radius:10px;padding:22px 20px 16px;box-shadow:0 18px 50px rgba(0,0,0,.22);outline:none}
.gth-modal h2{margin:0 0 12px;padding:0;font-size:16px;font-size:calc(16px * var(--fs));line-height:1.5;color:#22304a}
.gth-modal p{margin:0 0 10px;font-size:13.5px;font-size:calc(13.5px * var(--fs));line-height:1.9;color:#55564f}
.gth-modal p.gth-modal-note{margin:14px 0 16px;padding-top:12px;border-top:1px solid #eee9df;color:#6b6b6b;font-size:12.5px;font-size:calc(12.5px * var(--fs))}
.gth-modal-x{position:absolute;top:8px;right:10px;display:block;width:34px;height:34px;line-height:32px;text-align:center;font-size:22px;color:#9a978f;text-decoration:none}
.gth-modal-ok{display:block;height:44px;line-height:44px;text-align:center;border-radius:4px;background:var(--accent,#2c3e5d);color:#fff;font-size:14.5px;text-decoration:none}
.gth-modal-ok:active{background:#233250}
/* 账户页 `body.woocommerce-account a` 会把按钮和关闭键染色，这里写死 */
body.woocommerce-account .gth-modal-ok{color:#fff;text-decoration:none}
body.woocommerce-account .gth-modal-x{color:#9a978f;text-decoration:none}
/* 「（为什么）」跟着所在文字的颜色走，只加下划线 */
a[href="#gth-why"]{color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
body.woocommerce-account .entry .gth-warn a[href="#gth-why"],
body.woocommerce-account .entry .gth-sms-tip-os a[href="#gth-why"]{color:inherit;text-decoration:underline}

/* 2026-10-31 解释弹窗正文精简：关键句加粗，其余留白靠 line-height 撑开 */
.gth-modal p strong{color:#22304a;font-weight:600}
/* 关键词不跨行拆开（「门槛」被折成两行很丑），整段仍可正常换行 */
.gth-modal p strong{white-space:nowrap}

/* ===== 2026-10-31 账户地址页：单张「常用收花地址」卡片 ===== */
body.woocommerce-account .woocommerce-MyAccount-content .gth-addr-one{margin:0}
body.woocommerce-account .woocommerce-MyAccount-content .gth-addr-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}
body.woocommerce-account .woocommerce-MyAccount-content .gth-addr-head h3{
  margin:0;font-size:15px;font-size:calc(15px * var(--fs));font-weight:600;color:var(--ink);line-height:1.5}
body.woocommerce-account .woocommerce-MyAccount-content .gth-addr-btn{
  flex:none;padding:5px 12px;border:1px solid var(--accent);border-radius:3px;
  font-size:12.5px;font-size:calc(12.5px * var(--fs));color:var(--accent);line-height:1.5;text-decoration:none}
body.woocommerce-account .woocommerce-MyAccount-content .gth-addr-btn:hover{background:var(--accent);color:#fff}
body.woocommerce-account .woocommerce-MyAccount-content .gth-addr-box{
  margin:0;padding:13px 15px;background:#fbfaf7;border:1px solid var(--line);border-radius:4px;
  font-style:normal;font-size:14px;font-size:calc(14px * var(--fs));line-height:1.85;color:var(--ink)}
body.woocommerce-account .woocommerce-MyAccount-content .gth-addr-box p{margin:0}
body.woocommerce-account .woocommerce-MyAccount-content .gth-addr-l1 b{font-weight:600}
body.woocommerce-account .woocommerce-MyAccount-content .gth-addr-tel{margin-left:10px;color:var(--ink2)}
body.woocommerce-account .woocommerce-MyAccount-content .gth-addr-note{color:var(--ink2);font-size:13.5px}
body.woocommerce-account .woocommerce-MyAccount-content .gth-addr-empty{
  margin:0;padding:16px 15px;border:1px dashed #ddd8cd;border-radius:4px;background:#fcfbf8;
  font-size:13.5px;font-size:calc(13.5px * var(--fs));color:var(--ink2);line-height:1.8}

/* 编辑页：标题与说明 */
body.woocommerce-account .woocommerce-MyAccount-content form.gth-addr-form > h2{
  margin:0 0 4px;padding:0;font-size:17px;font-size:calc(17px * var(--fs));
  font-weight:600;color:var(--ink);line-height:1.5}
body.woocommerce-account .woocommerce-MyAccount-content .gth-addr-lead{
  margin:0 0 14px;font-size:12.5px;font-size:calc(12.5px * var(--fs));color:var(--ink2);line-height:1.75}
body.woocommerce-account .woocommerce-MyAccount-content .gth-addr-submit{margin:16px 0 6px}

/* 悬浮电话按钮（移动端贴右中）会压住地址卡的「编辑」按钮，标题行右侧让出位置 */
@media(max-width:860px){
  body.woocommerce-account .woocommerce-MyAccount-content .gth-addr-head{padding-right:54px}
}
/* 编辑页说明段较长，移动端右侧给悬浮电话按钮让出一条，避免行尾被压住 */
@media(max-width:860px){
  body.woocommerce-account .woocommerce-MyAccount-content .gth-addr-lead{padding-right:50px}
}

/* ================= 2026-10-31 客服微信（全站一处配置）+ 占位文字变浅 ================= */

/* 输入框占位文字：比正文浅一档的灰，只作提示，不与用户填的内容抢注意力 */
input::placeholder,textarea::placeholder{color:#b3aea2;opacity:1}
input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#b3aea2}

/* 400 电话前的小图标：em 跟随字号，SVG 无文字节点，选中/复制号码不会带上图标 */
.tel-ic{width:1em;height:1em;display:inline-block;vertical-align:-.12em;margin-right:.26em;
  flex:none;-webkit-user-select:none;user-select:none;pointer-events:none}
a .tel-ic{color:inherit}

/* 页脚：一行客服微信（号码可点复制），呼应「先加微信发图」的咨询习惯 */
.foot-wx{max-width:1120px;margin:22px auto 0;padding:13px 0 0;border-top:1px solid #363b44;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px 9px;
  font-size:12.5px;font-size:calc(12.5px * var(--fs));color:#8b919a;text-align:center}
.foot-wx-l{color:#a8adb5}
.foot-wx-b{padding:0 0 1px;background:none;border:0;border-bottom:1px dashed #6b7280;color:#e8eaee;
  font-size:13px;font-size:calc(13px * var(--fs));font-weight:600;letter-spacing:.6px;cursor:pointer}
.foot-wx-b:hover{color:#fff;border-bottom-color:#fff}
.foot-wx-t{color:#7d838c;font-size:12px;font-size:calc(12px * var(--fs))}
footer.site-foot .foot-wx-qr{color:#cfd4db;text-decoration:underline;text-underline-offset:2px}
footer.site-foot .foot-wx-qr:hover{color:#fff}

/* 桌面端：微信号一行改成「号码 + 复制微信号」，不再写「扫码，或搜 xxx」 */
.cs-tx i.cs-tx-id{display:flex;align-items:center;gap:8px;opacity:1;color:rgba(255,255,255,.86);font-size:12.5px;font-size:calc(12.5px * var(--fs))}
.cs-wx-no{letter-spacing:.3px}
.cs-wx-copy{padding:0;background:none;border:0;border-bottom:1px dashed rgba(255,255,255,.55);
  color:rgba(255,255,255,.9);font-size:12px;font-size:calc(12px * var(--fs));
  font-family:inherit;font-weight:400;line-height:1.3;cursor:pointer;white-space:nowrap}
.cs-wx-copy:hover{color:#fff;border-bottom-color:#fff}

/* 移动端：两个圆钮合并成一个「联系」，点开是「电话 / 微信」两行 */
.cs-open{display:none}
.cs-mask,.cs-panel{display:none}

@media(max-width:860px){
  .gth-cs .cs-item.cs-tel{display:none}
  .gth-cs .cs-item.cs-open{display:flex;width:48px;height:48px;padding:0;justify-content:center;border-top:0}
  .gth-cs .cs-item.cs-open .cs-ic,.gth-cs .cs-item.cs-open .cs-ic svg{width:24px;height:24px}

  .gth-cs.is-open{z-index:120}
  .gth-cs.is-open .cs-bar{display:none}
  .gth-cs.is-open .cs-panel{display:block}
  /* 遮罩是 .gth-cs 的兄弟节点（不能放在里面：父级 transform 会让 fixed 只盖住悬浮条那一小块） */
  .gth-cs.is-open ~ .cs-mask{display:block;position:fixed;inset:0;background:rgba(20,24,22,.42);z-index:110}
  .cs-panel{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:2;
    width:252px;max-width:82vw;max-height:88vh;overflow:auto;background:#fff;
    border-radius:12px 0 0 12px;box-shadow:-6px 8px 30px rgba(20,28,42,.26);padding:13px 14px 15px}
}
.cs-p-head{display:flex;align-items:center;justify-content:space-between;
  font-size:12.5px;font-size:calc(12.5px * var(--fs));color:var(--ink2);font-weight:600;
  padding:0 0 8px;border-bottom:1px solid var(--line)}
.cs-p-x{display:block;width:26px;height:26px;line-height:24px;text-align:center;font-size:20px;color:#9a978f}
.cs-p-row{display:flex;align-items:center;gap:10px;padding:12px 0;color:inherit}
.cs-p-ic{flex:none;width:26px;height:26px;line-height:0;color:var(--accent)}
.cs-p-ic svg{width:26px;height:26px;display:block}
.cs-p-tx{display:flex;flex-direction:column;line-height:1.35}
.cs-p-tx b{font-size:14.5px;font-size:calc(14.5px * var(--fs));color:var(--ink);font-weight:600}
.cs-p-tx i{font-size:12px;font-size:calc(12px * var(--fs));font-style:normal;color:var(--ink2);margin-top:2px}
/* 微信在上、电话在下：客户首选微信，先微信后电话 */
.cs-p-wx{padding:0 0 10px;border-bottom:1px solid var(--line)}
.cs-p-row-wx{padding:11px 0 8px}
.cs-p-tel{padding:12px 0 0}
.cs-p-hr{margin-left:2px;font-size:11.5px;font-size:calc(11.5px * var(--fs));font-weight:400;color:#a8a49c;letter-spacing:0}
.cs-p-copy{display:block;width:100%;padding:2px 0 0 36px;border:0;background:none;text-align:left;
  color:var(--ink2);font-size:12.5px;font-size:calc(12.5px * var(--fs));cursor:pointer;font-family:inherit}
.cs-p-copy:active{opacity:.55}

/* 联系我们页：二维码下方的「微信号 + 复制」按钮（页面正文是内联样式，按钮样式放这里） */
#gth-contact .gth-copy{display:inline-block;margin-top:8px;padding:4px 14px;border:1px solid #cfd8dc;
  border-radius:3px;background:#fff;color:#1a237e;font-size:13px;line-height:1.6;cursor:pointer;
  font-family:inherit;transition:background .15s,border-color .15s}
#gth-contact .gth-copy:hover{border-color:#1a237e;background:#f5f7fa}
#gth-contact .gth-wx-no{color:#1a237e;font-weight:bold;letter-spacing:.6px}

/* 2026-10-31 删除 .pdp-wx：鲜花全部下单后才制作，没有现货实物图可发 */

/* 微信弹窗（#gth-wx，全站输出一个；复用 .gth-modal 的开关逻辑） */
.gth-modal .gth-wx-card{max-width:340px;text-align:center}
.gth-modal .gth-wx-lead{margin:0 0 14px;font-size:13px;font-size:calc(13px * var(--fs));color:var(--ink2);line-height:1.75}
.gth-wx-qrwrap{margin:0 auto 14px;width:200px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:8px}
.gth-wx-qrwrap img{width:184px;height:184px;object-fit:contain;display:block;margin:0 auto}
.gth-modal .gth-wx-id{margin:0 0 16px;font-size:13px;font-size:calc(13px * var(--fs));color:var(--ink2)}
.gth-wx-copy{padding:0 0 1px;background:none;border:0;border-bottom:1px dashed currentColor;
  color:var(--accent);font-size:14px;font-size:calc(14px * var(--fs));font-weight:700;cursor:pointer;letter-spacing:.5px}
.gth-wx-copy:hover{color:var(--accent2)}


/* ---------- 城市页商品卡：城市标（2026-11-02） ----------
   城市页复用首页商品卡（同一函数），标题前多一枚城市标，
   h3 文本仍是「北京 流芳百世 实惠花圈」，首页与列表页不受影响。 */
.prod h3 .cty{display:inline-block;font-size:11px;line-height:1.7;color:#8a5a1e;background:#f7f0e2;border:1px solid #e8d9bf;border-radius:2px;padding:0 4px;font-weight:400;letter-spacing:.5px;vertical-align:1px}

/* 城市页正文里嵌的展示区：去掉 section 的整页宽度与上下 40px，跟随正文排版 */
main section.showcase-inline{max-width:none;margin:0;padding:0}

/* 城市页卡片的「.entry 外溢」修复（2026-11-02 Lion威 指出：卡内有多余空白、标题/价格/按钮带下划线）
   城市页正文包在 .entry 里，而 .entry a / .entry h3 / .entry p / .entry img 都比 .prod 的规则「更靠后」，
   于是卡片的 a 被加了蓝色下划线、h3 变成 17px＋上下 20/10px 边距、img 被加 16px 外边距（图片被顶下去，
   卡片顶部露出白条）。这里用 .showcase-inline 提高一级优先级收回，首页不内嵌，不受影响。 */
.showcase-inline .prod{color:var(--ink);text-decoration:none}
.showcase-inline .prod h3,
.showcase-inline .prod p,
.showcase-inline .prod .price,
.showcase-inline .prod .buy{text-decoration:none}
.showcase-inline .prod img{margin:0;border-radius:0}
.showcase-inline .prod h3{margin:0;font-size:14.8px;font-size:calc(14.8px * var(--fs));line-height:1.7;letter-spacing:.4px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.showcase-inline .prod p{margin:3px 0 10px}

/* ---------- 城市页文章区（[gth_city_articles]，2026-11-02） ---------- */
.gth-city-arts{list-style:none;margin:0 0 12px 0;padding:0}
.gth-city-arts li{display:flex;gap:12px;align-items:baseline;justify-content:space-between;border-bottom:1px dashed #e3e6ee;padding:8px 0}
.gth-city-arts li a{color:#1565c0;text-decoration:none;line-height:1.7}
.gth-city-arts li a:hover{text-decoration:underline}
.gth-city-arts li time{flex:0 0 auto;font-size:13px;font-size:calc(13px * var(--fs));color:#8a8f9c}
.gth-city-arts-more{margin:0 0 14px 0;font-size:14px;font-size:calc(14px * var(--fs));color:#5a6172}
.gth-city-arts-more a{color:#1565c0;text-decoration:none;border-bottom:1px solid #90a4d8;white-space:nowrap}

/* 城市页文章区双栏（2026-11-02 Lion威 定）：分类多于 5 篇时出 10 篇，前 5 篇在左、后 5 篇在右。
   用 grid + grid-auto-flow:column 实现「先填满左列再进右列」的横读顺序；
   行数由短代码按篇数算好、以行内 grid-template-rows 下发（10 篇＝5 行），两列高度不会差太多。
   分类 ≤5 篇时短代码不加 .cols-2，仍是单列。 */
.gth-city-arts.cols-2{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:column;column-gap:36px}
.gth-city-arts.cols-2 li{padding:8px 0}
@media(max-width:720px){
  /* 手机窄屏两栏会把标题挤成碎片，回到单列（顺序仍是先上后下，左列在前） */
  .gth-city-arts.cols-2{display:block}
}

/* ================= 商品页规格表（2026-11-02） =================
   产品详情页正文里的「规格与送达」表：左列窄、浅底、不折行；
   手机端两列都放得下（table-layout:fixed 防止被长句撑破）。 */
.pdp-detail .entry table.spec{table-layout:fixed;margin:18px 0 8px}
.pdp-detail .entry table.spec td{padding:9px 12px;vertical-align:top;line-height:1.75}
.pdp-detail .entry table.spec td:first-child{width:5.2em;background:#f7f5ef;color:var(--ink2);white-space:nowrap}
.pdp-detail .entry table.spec tr:first-child td{border-top:1px solid var(--line)}
/* ================= 产品详情页正文排版 v2（2026-11-03） =================
   目的：正文读起来有节奏、有设计感；首段先给人印象，小标题带图标分板块，
   列表与问答各自成形。全部按 760px 正文栏与 390px 手机两档一起调。 */

/* 1. 首段：引子样式。字号略大、行高松，左侧一条暖色细线，
      让第一段与后面的段落一眼分开，也压住"这页很长"的心理预期。 */
.pdp-detail .entry p.intro{
  font-size:17px;font-size:calc(17px * var(--fs));
  line-height:2;color:#3c414d;
  padding:2px 0 2px 14px;
  border-left:3px solid var(--warm);
  margin-bottom:22px;
}
.pdp-detail .entry p{line-height:1.85;margin-bottom:22px}

/* 2. 小标题：图标 + 右侧渐隐细线。间距拉开，板块之间才分得清。 */
.pdp-detail .entry h3{
  display:flex;align-items:center;gap:9px;
  margin:32px 0 12px;
  font-size:17.5px;font-size:calc(17.5px * var(--fs));
  letter-spacing:.2px;
}
.pdp-detail .entry h3::after{
  content:"";flex:1 1 auto;height:1px;margin-left:6px;
  background:linear-gradient(90deg,var(--line),rgba(229,227,221,0));
}
.pdp-detail .entry h3.ic::before{
  content:"";flex:0 0 auto;width:20px;height:20px;
  background:var(--accent);opacity:.82;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
}

/* 3. 图标本体：线性小图，24 视框，笔画 1.7，跟正文同一墨色 */
.pdp-detail .entry h3.ic-spec::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M3 9.5h18M9.5 9.5V20'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M3 9.5h18M9.5 9.5V20'/%3E%3C/svg%3E")}
.pdp-detail .entry h3.ic-craft::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21V10'/%3E%3Cpath d='M12 13.5c0-3.2 2.1-5.2 5.4-5.2 0 3.2-2.1 5.2-5.4 5.2z'/%3E%3Cpath d='M12 17.2c0-3.2-2.1-5.2-5.4-5.2 0 3.2 2.1 5.2 5.4 5.2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21V10'/%3E%3Cpath d='M12 13.5c0-3.2 2.1-5.2 5.4-5.2 0 3.2-2.1 5.2-5.4 5.2z'/%3E%3Cpath d='M12 17.2c0-3.2-2.1-5.2-5.4-5.2 0 3.2 2.1 5.2 5.4 5.2z'/%3E%3C/svg%3E")}
.pdp-detail .entry h3.ic-place::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21.5s7-6 7-11.5a7 7 0 1 0-14 0c0 5.5 7 11.5 7 11.5z'/%3E%3Ccircle cx='12' cy='9.8' r='2.4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21.5s7-6 7-11.5a7 7 0 1 0-14 0c0 5.5 7 11.5 7 11.5z'/%3E%3Ccircle cx='12' cy='9.8' r='2.4'/%3E%3C/svg%3E")}
.pdp-detail .entry h3.ic-couplet::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round'%3E%3Crect x='5.2' y='3' width='4.6' height='18' rx='1.2'/%3E%3Crect x='14.2' y='3' width='4.6' height='18' rx='1.2'/%3E%3Cpath d='M15.9 8h1.2M15.9 12h1.2M6.9 8h1.2M6.9 12h1.2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round'%3E%3Crect x='5.2' y='3' width='4.6' height='18' rx='1.2'/%3E%3Crect x='14.2' y='3' width='4.6' height='18' rx='1.2'/%3E%3Cpath d='M15.9 8h1.2M15.9 12h1.2M6.9 8h1.2M6.9 12h1.2'/%3E%3C/svg%3E")}
.pdp-detail .entry h3.ic-notice::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4.5' width='14' height='16.5' rx='2'/%3E%3Cpath d='M9 4.5V3.4h6v1.1'/%3E%3Cpath d='M8.8 13.4l2.3 2.3 4.1-4.4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4.5' width='14' height='16.5' rx='2'/%3E%3Cpath d='M9 4.5V3.4h6v1.1'/%3E%3Cpath d='M8.8 13.4l2.3 2.3 4.1-4.4'/%3E%3C/svg%3E")}
.pdp-detail .entry h3.ic-why::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.3S4.5 15.7 4.5 10.4A4.3 4.3 0 0 1 12 7.6a4.3 4.3 0 0 1 7.5 2.8c0 5.3-7.5 9.9-7.5 9.9z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.3S4.5 15.7 4.5 10.4A4.3 4.3 0 0 1 12 7.6a4.3 4.3 0 0 1 7.5 2.8c0 5.3-7.5 9.9-7.5 9.9z'/%3E%3C/svg%3E")}
.pdp-detail .entry h3.ic-faq::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 11.6c0 4.1-3.8 7.2-8.5 7.2-1 0-2-.1-2.9-.4L4.5 19.6l1.3-3.6a6.8 6.8 0 0 1-2.3-4.9c0-4.1 3.8-7.2 8.5-7.2s8.5 3.6 8.5 7.7z'/%3E%3Cpath d='M10.2 9.6a1.9 1.9 0 1 1 2.5 1.8c-.4.2-.6.5-.6 1v.3M12.1 15.8h.01'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 11.6c0 4.1-3.8 7.2-8.5 7.2-1 0-2-.1-2.9-.4L4.5 19.6l1.3-3.6a6.8 6.8 0 0 1-2.3-4.9c0-4.1 3.8-7.2 8.5-7.2s8.5 3.6 8.5 7.7z'/%3E%3Cpath d='M10.2 9.6a1.9 1.9 0 1 1 2.5 1.8c-.4.2-.6.5-.6 1v.3M12.1 15.8h.01'/%3E%3C/svg%3E")}

/* 4. 列表：去掉默认黑点，换成暖色小圆点；订购须知整块做成浅底卡片 */
.pdp-detail .entry ul{list-style:none;margin:0 0 15px}
.pdp-detail .entry ul li{position:relative;padding-left:15px;margin-bottom:8px;line-height:1.8}
.pdp-detail .entry ul li::before{
  content:"";position:absolute;left:0;top:.72em;
  width:5px;height:5px;border-radius:50%;background:var(--warm);opacity:.85;
}
.pdp-detail .entry h3.ic-notice + ul{
  background:#fbfaf7;border:1px solid var(--line);border-radius:4px;
  padding:15px 18px 8px;
}
.pdp-detail .entry h3.ic-notice + ul li{margin-bottom:9px}

/* 5. 常见问题：每条做成一张浅底小卡，问答之间换行不挤 */
.pdp-detail .entry p.qa{
  background:#fbfaf7;border-left:2px solid var(--warm);border-radius:0 4px 4px 0;
  padding:11px 14px;margin-bottom:10px;line-height:1.8;
}

/* 6. 文末导流：虚线框，和正文分开，点进去是别的款 */
.pdp-detail .entry p.also{
  background:#fbfaf7;border:1px dashed var(--line);border-radius:4px;
  padding:14px 16px;margin-top:24px;line-height:1.85;
}

/* 7. 图片：细边框 + 圆角，白底图不至于"飘"在纸上；上下留白靠内联样式不管的部分补 */
.pdp-detail .entry img{border:1px solid var(--line);border-radius:4px;background:#fff}

/* 8. 表格：外圈圆角 + 极浅投影，读起来像一张卡 */
.pdp-detail .entry table.spec{border-radius:4px;overflow:hidden;box-shadow:0 1px 2px rgba(43,47,58,.04)}

/* 9. 手机端：把上面这套按 374px 实宽再校一遍，字号、留白、图标同步缩 */
@media (max-width:720px){
  .pdp-detail .entry p.intro{font-size:16px;line-height:1.95;padding-left:11px;border-left-width:2px}
  .pdp-detail .entry p{line-height:1.8;margin-bottom:18px}
  .pdp-detail .entry h3{margin:26px 0 10px;font-size:16.5px;font-size:calc(16.5px * var(--fs));gap:7px}
  .pdp-detail .entry h3.ic::before{width:18px;height:18px}
  .pdp-detail .entry ul li{padding-left:14px}
  .pdp-detail .entry h3.ic-notice + ul{padding:13px 13px 6px}
  .pdp-detail .entry p.qa{padding:10px 12px}
  .pdp-detail .entry p.also{padding:12px 13px;margin-top:20px}
}

/* 白底说明图（流程图等）不要卡片边框：图里的白底要与页面白底连成一片，
   否则「以下内容为选读」和下面的正文会被一道线切断 */
.pdp-detail .entry img.gth-plain{border:0;border-radius:0;background:transparent}

/* ---------- 分类页正文（2026-11-04） ----------
   产品列表之后的一段说明文。桌面 860px 限宽，手机满宽；
   段间距大于行距（22px vs 32px 行高走的是 1.95），小标题用左侧竖线，和产品页 intro 一致。 */
.cat-body{max-width:860px;margin:32px 0 10px;font-size:16.5px;line-height:1.95;color:inherit}
.cat-body p{margin:0 0 22px}
.cat-body h2{font-size:19px;line-height:1.55;margin:34px 0 14px}
.cat-body ul{margin:0 0 22px;padding:0;list-style:none}
.cat-body ul li{position:relative;padding-left:18px;margin-bottom:12px;line-height:1.9}
.cat-body ul li::before{content:"";position:absolute;left:2px;top:.75em;width:5px;height:5px;border-radius:50%;background:var(--warm)}
.cat-body a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#b9a582}
.cat-body a:hover{text-decoration-color:var(--warm)}
.cat-body p.cat-more{background:#fbfaf7;border:1px dashed var(--line);border-radius:4px;padding:14px 16px;margin-top:24px}
@media (max-width:720px){
  .cat-body{max-width:none;font-size:16px;line-height:1.85;margin:24px 0 8px}
  .cat-body p{margin-bottom:18px}
  .cat-body h2{font-size:17px;margin:26px 0 10px}
  .cat-body ul li{margin-bottom:10px}
  .cat-body p.cat-more{padding:12px 13px;margin-top:20px}
}


/* ================= 分类页正文板块 v2（2026-11-04） =================
   目的：① 与上方产品网格明确分离——产品是货架，下面是选购指南；
        ② UI 组件化，不再是一段纯文字：图标 / 数据条 / 卡片 / 表格 / 流程图 / 分割线 / 提示框。
   命名：外层卡 .cat-guide，正文 .cat-body，组件 .cg-*，图标 .ci-*（mask 自绘，不依赖图标库）。
   注意：本区块在 style.css 末尾，同名属性会覆盖 1557 行起的旧 .cat-body 规则，
        因此桌面与手机两套都要写全，不能只写一半。 */

/* ---------- 分隔条：产品区结束 → 指南开始 ---------- */
.cat-split{position:relative;display:flex;align-items:center;justify-content:center;margin:48px 0 26px}
.cat-split::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;
  background:linear-gradient(90deg,rgba(168,146,107,0),#dbd2bf 18%,#dbd2bf 82%,rgba(168,146,107,0))}
.cat-split span{position:relative;padding:5px 17px;background:var(--bg);border:1px solid #e0d6c2;border-radius:999px;
  font-size:12px;font-size:calc(12px * var(--fs));font-weight:500;letter-spacing:3px;color:#8a7550}

/* ---------- 板块卡 ---------- */
.cat-guide{position:relative;overflow:hidden;background:#fbf8f2;border:1px solid #e7dcc7;border-radius:14px;padding:46px 54px 40px;margin-bottom:6px}
.cat-guide::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--warm),#d9c9a6 55%,rgba(217,201,166,0))}

/* ---------- 指南头部 ---------- */
.cg-head{max-width:840px;margin:0 0 26px;padding:0 0 22px;border-bottom:1px solid #e9e0cf}
.cg-kicker{margin:0 0 12px;font-size:11.5px;font-size:calc(11.5px * var(--fs));letter-spacing:3.5px;color:var(--warm)}
.cg-title{margin:0 0 10px;font-size:25px;font-size:calc(25px * var(--fs));line-height:1.48;font-weight:600;letter-spacing:.5px;color:var(--ink)}
.cg-sub{margin:0;font-size:14.5px;font-size:calc(14.5px * var(--fs));line-height:1.9;color:var(--ink2)}

/* ---------- 正文基础 ---------- */
.cat-body{max-width:none;margin:0;font-size:16.5px;font-size:calc(16.5px * var(--fs));line-height:1.95;color:var(--ink)}
.cat-body > p{max-width:840px;margin:0 0 22px}
.cat-body h2{max-width:840px;display:flex;align-items:center;gap:10px;margin:40px 0 16px;font-size:20px;font-size:calc(20px * var(--fs));line-height:1.55;font-weight:600;color:var(--accent)}
.cat-body h2 .ci{flex:none;color:#8a7550}
.cat-body a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#b9a582}
.cat-body a:hover{text-decoration-color:var(--warm)}
.cat-body ul{margin:0 0 22px;padding:0;list-style:none;max-width:840px}
.cat-body ul li{position:relative;padding-left:18px;margin-bottom:12px;line-height:1.9}
.cat-body ul li::before{content:"";position:absolute;left:2px;top:.78em;width:5px;height:5px;border-radius:50%;background:var(--warm)}

/* ---------- 图标（mask 自绘 SVG） ---------- */
.ci{display:inline-block;width:19px;height:19px;flex:none;background-color:currentColor;vertical-align:-2px;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain}
.ci-layers{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.8 2.8 7.6 12 12.4l9.2-4.8L12 2.8Z'/%3E%3Cpath d='m2.8 12 9.2 4.8 9.2-4.8'/%3E%3Cpath d='m2.8 16.4 9.2 4.8 9.2-4.8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.8 2.8 7.6 12 12.4l9.2-4.8L12 2.8Z'/%3E%3Cpath d='m2.8 12 9.2 4.8 9.2-4.8'/%3E%3Cpath d='m2.8 16.4 9.2 4.8 9.2-4.8'/%3E%3C/svg%3E")}
.ci-flower{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='2.4'/%3E%3Cpath d='M12 9.6c0-3.2 1.3-5.2 3-5.2s3 2 3 5.2M12 14.4c0 3.2-1.3 5.2-3 5.2s-3-2-3-5.2M9.6 12c-3.2 0-5.2-1.3-5.2-3s2-3 5.2-3M14.4 12c3.2 0 5.2 1.3 5.2 3s-2 3-5.2 3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='2.4'/%3E%3Cpath d='M12 9.6c0-3.2 1.3-5.2 3-5.2s3 2 3 5.2M12 14.4c0 3.2-1.3 5.2-3 5.2s-3-2-3-5.2M9.6 12c-3.2 0-5.2-1.3-5.2-3s2-3 5.2-3M14.4 12c3.2 0 5.2 1.3 5.2 3s-2 3-5.2 3'/%3E%3C/svg%3E")}
.ci-place{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.2 12 3l9 7.2V20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V10.2Z'/%3E%3Cpath d='M9.2 21v-6.8h5.6V21'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.2 12 3l9 7.2V20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V10.2Z'/%3E%3Cpath d='M9.2 21v-6.8h5.6V21'/%3E%3C/svg%3E")}
.ci-stack3{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 19.5h17M6 15h12M8.5 10.5h7M10.5 6h3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 19.5h17M6 15h12M8.5 10.5h7M10.5 6h3'/%3E%3C/svg%3E")}
.ci-time{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.2V12l3.4 2.1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.2V12l3.4 2.1'/%3E%3C/svg%3E")}
.ci-hand{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.4S4.6 15.8 4.6 10.6a4 4 0 0 1 7.4-2.1 4 4 0 0 1 7.4 2.1c0 5.2-7.4 9.8-7.4 9.8Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.4S4.6 15.8 4.6 10.6a4 4 0 0 1 7.4-2.1 4 4 0 0 1 7.4 2.1c0 5.2-7.4 9.8-7.4 9.8Z'/%3E%3C/svg%3E")}
.ci-check{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.6 4.8 4.8L19.5 6.8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.5 12.6 4.8 4.8L19.5 6.8'/%3E%3C/svg%3E")}
.ci-list{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.5h16M4 12h16M4 17.5h9'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.5h16M4 12h16M4 17.5h9'/%3E%3C/svg%3E")}
.ci-couple{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='3' width='4' height='18' rx='1'/%3E%3Crect x='14' y='3' width='4' height='18' rx='1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='3' width='4' height='18' rx='1'/%3E%3Crect x='14' y='3' width='4' height='18' rx='1'/%3E%3C/svg%3E")}
.ci-scale{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M7.5 8.5 4 12l3.5 3.5M16.5 8.5 20 12l-3.5 3.5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M7.5 8.5 4 12l3.5 3.5M16.5 8.5 20 12l-3.5 3.5'/%3E%3C/svg%3E")}

/* ---------- 导语 ---------- */
.cat-body p.cg-lead{margin:0 0 28px!important;max-width:840px;padding:20px 22px;background:#fff;border-left:3px solid var(--warm);border-radius:0 8px 8px 0;font-size:17px;font-size:calc(17px * var(--fs));line-height:1.95;color:var(--ink)}

/* ---------- 数据条 ---------- */
.cg-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:26px 0 32px;background:#e7dfcd;border:1px solid #e7dfcd;border-radius:10px;overflow:hidden}
.cg-stat{background:#fff;padding:16px 10px;text-align:center}
.cg-stat b{display:block;font-size:23px;font-size:calc(23px * var(--fs));line-height:1.35;font-weight:600;letter-spacing:0;color:var(--accent)}
.cg-stat small{display:block;margin-top:5px;font-size:12.5px;font-size:calc(12.5px * var(--fs));line-height:1.5;color:var(--ink2)}

/* ---------- 卡片组 ---------- */
.cg-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0 30px}
.cg-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 18px 18px}
.cg-card h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:16px;font-size:calc(16px * var(--fs));line-height:1.5;font-weight:600;color:var(--ink)}
.cg-card h3 .ci{color:#8a7550}
.cg-card p{margin:0;font-size:14.5px;font-size:calc(14.5px * var(--fs));line-height:1.85;color:var(--ink2)}
.cg-card ul{margin:6px 0 0;padding:0;max-width:none}
.cg-card ul li{padding-left:14px;margin-bottom:5px;font-size:14px;font-size:calc(14px * var(--fs));line-height:1.8;color:var(--ink2)}
.cg-card ul li::before{left:0;top:.74em;width:4px;height:4px}

/* ---------- 表格 ---------- */
.cat-body table{width:100%;max-width:100%;margin:22px 0 28px;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;font-size:15px;font-size:calc(15px * var(--fs))}
.cat-body th{padding:12px 14px;background:#f2ece0;border:1px solid #e6dfd0;font-size:14.5px;font-size:calc(14.5px * var(--fs));font-weight:600;text-align:left;color:var(--ink)}
.cat-body td{padding:12px 14px;border:1px solid #e6dfd0;line-height:1.8;vertical-align:top}
.cat-body tbody tr:nth-child(even) td{background:#fdfbf7}
.cat-body td:first-child{font-weight:600;color:var(--accent)}
.cat-body th:first-child,.cat-body td:first-child{width:22%;white-space:nowrap}

/* ---------- 流程图 ---------- */
.cg-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:32px 0 30px}
.cg-step{position:relative;padding:28px 14px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;text-align:center}
.cg-step b{position:absolute;top:-13px;left:50%;transform:translateX(-50%);width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-size:12.5px;font-size:calc(12.5px * var(--fs));line-height:26px;font-weight:600;text-align:center}
.cg-step strong{display:block;margin-bottom:6px;font-size:14.5px;font-size:calc(14.5px * var(--fs));line-height:1.5;font-weight:600;color:var(--ink)}
.cg-step span{display:block;font-size:13px;font-size:calc(13px * var(--fs));line-height:1.7;color:var(--ink2)}
.cg-step:not(:last-child)::after{content:"";position:absolute;right:-9px;top:43%;width:0;height:0;border-left:5px solid #d6cbb4;border-top:4px solid transparent;border-bottom:4px solid transparent}

/* ---------- 提示框 ---------- */
.cg-note{max-width:840px;margin:22px 0 26px;padding:18px 20px;background:#fff;border-left:3px solid var(--warm);border-radius:0 8px 8px 0}
.cg-note p{margin:0 0 10px;font-size:15px;font-size:calc(15px * var(--fs));line-height:1.9;color:var(--ink2)}
.cg-note p:last-child{margin:0}
.cg-note b{color:var(--ink)}

/* ---------- 分割线 ---------- */
.cg-sep{display:flex;align-items:center;gap:12px;margin:42px 0}
.cg-sep::before,.cg-sep::after{content:"";flex:1;height:1px;background:#e3dac8}
.cg-sep i{flex:none;width:7px;height:7px;border:1px solid var(--warm);transform:rotate(45deg)}

/* ---------- 结尾内链 ---------- */
.cat-body p.cat-more{max-width:840px;margin-top:26px;padding:16px 18px;background:#fff;border:1px dashed #ddd3bf;border-radius:8px}

/* ---------- 手机 ---------- */
@media (max-width:820px){
  .cat-split{margin:34px 0 20px}
  .cat-split span{padding:4px 14px;font-size:11px;font-size:calc(11px * var(--fs));letter-spacing:2px}
  .cat-guide{padding:26px 18px 22px;border-radius:12px}
  .cat-guide::before{height:2px}
  .cg-head{margin-bottom:20px;padding-bottom:16px}
  .cg-kicker{margin-bottom:9px;font-size:10.5px;font-size:calc(10.5px * var(--fs));letter-spacing:2.5px}
  .cg-title{font-size:19px;font-size:calc(19px * var(--fs));line-height:1.5}
  .cg-sub{font-size:13.5px;font-size:calc(13.5px * var(--fs));line-height:1.8}
  .cat-body{font-size:16px;font-size:calc(16px * var(--fs));line-height:1.85}
  .cat-body > p{margin-bottom:18px}
  .cat-body h2{margin:30px 0 12px;gap:8px;font-size:17px;font-size:calc(17px * var(--fs))}
  .cat-body h2 .ci{width:16px;height:16px}
  .cat-body ul li{margin-bottom:10px}
  .cat-body p.cg-lead{padding:16px;margin-bottom:20px!important;font-size:15.5px;font-size:calc(15.5px * var(--fs))}
  .cg-stats{grid-template-columns:repeat(2,1fr);margin:20px 0 24px}
  .cg-stat{padding:14px 8px}
  .cg-stat b{font-size:20px;font-size:calc(20px * var(--fs))}
  .cg-stat small{font-size:12px;font-size:calc(12px * var(--fs))}
  .cg-cards{grid-template-columns:1fr;gap:10px;margin:18px 0 22px}
  .cg-card{padding:16px 15px}
  .cat-body table{font-size:13.5px;font-size:calc(13.5px * var(--fs))}
  .cat-body th,.cat-body td{padding:10px 9px;line-height:1.7}
  .cat-body th:first-child,.cat-body td:first-child{width:30%;white-space:normal}
  .cg-flow{grid-template-columns:1fr;gap:14px;margin:24px 0}
  .cg-step{padding:15px 14px 15px 46px;text-align:left}
  .cg-step b{top:14px;left:11px;transform:none;width:24px;height:24px;line-height:24px;font-size:12px;font-size:calc(12px * var(--fs))}
  .cg-step:not(:last-child)::after{right:auto;left:22px;top:auto;bottom:-13px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #d6cbb4;border-bottom:0}
  .cg-note{padding:15px 16px;margin:18px 0 22px}
  .cg-note p{font-size:14.5px;font-size:calc(14.5px * var(--fs))}
  .cg-sep{margin:28px 0}
  .cat-body p.cat-more{padding:13px 14px;margin-top:20px}
}


/* ================= 花束详情页组件 v1（2026-11-04） =================
   只在花束类产品正文里用。花圈/花篮靠「架高、层数」讲体量，花束没有架子，
   改用「四格规格条 + 三档量级阶梯」，版面与规格表明显错开。 */
.pdp-detail .entry .bq-strip{
  display:grid;grid-template-columns:repeat(4,1fr);
  margin:20px 0 4px;background:var(--card);border:1px solid var(--line);
  border-radius:6px;box-shadow:0 1px 2px rgba(43,47,58,.04);overflow:hidden;
}
.pdp-detail .entry .bq-strip .bq-cell{
  padding:15px 8px 14px;text-align:center;border-left:1px solid var(--line);
}
.pdp-detail .entry .bq-strip .bq-cell:first-child{border-left:0}
.pdp-detail .entry .bq-strip b{
  display:block;font-size:18px;font-size:calc(18px * var(--fs));line-height:1.35;
  color:var(--accent);font-weight:600;letter-spacing:.3px;
}
.pdp-detail .entry .bq-strip span{
  display:block;margin-top:5px;font-size:12.5px;font-size:calc(12.5px * var(--fs));
  color:var(--ink2);line-height:1.5;
}

.pdp-detail .entry .bq-tier{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 4px;
}
.pdp-detail .entry .bq-tier > div{
  position:relative;padding:14px 13px 12px;background:#faf8f4;
  border:1px solid var(--line);border-radius:5px;
}
.pdp-detail .entry .bq-tier b{
  display:block;font-size:15px;font-size:calc(15px * var(--fs));
  color:var(--ink);font-weight:600;line-height:1.4;
}
.pdp-detail .entry .bq-tier i{
  display:block;font-style:normal;font-size:12.5px;font-size:calc(12.5px * var(--fs));
  color:var(--warm);letter-spacing:.4px;margin:3px 0 6px;line-height:1.4;
}
.pdp-detail .entry .bq-tier p{
  margin:0;font-size:13.5px;font-size:calc(13.5px * var(--fs));
  line-height:1.7;color:var(--ink2);
}
.pdp-detail .entry .bq-tier > div.is-cur{
  background:#fff;border-color:var(--warm);box-shadow:0 1px 3px rgba(168,146,107,.18);
}
.pdp-detail .entry .bq-tier > div.is-cur::after{
  content:"本款";position:absolute;top:-1px;right:-1px;background:var(--warm);
  color:#fff;font-size:11px;font-size:calc(11px * var(--fs));line-height:1;
  padding:4px 7px;border-radius:0 5px 0 5px;letter-spacing:.5px;
}

@media (max-width:760px){
  .pdp-detail .entry .bq-strip{grid-template-columns:repeat(2,1fr);margin:16px 0 4px}
  .pdp-detail .entry .bq-strip .bq-cell{
    padding:12px 6px;border-left:0;border-top:1px solid var(--line);
  }
  .pdp-detail .entry .bq-strip .bq-cell:nth-child(1),
  .pdp-detail .entry .bq-strip .bq-cell:nth-child(2){border-top:0}
  .pdp-detail .entry .bq-strip .bq-cell:nth-child(even){border-left:1px solid var(--line)}
  .pdp-detail .entry .bq-strip b{font-size:16.5px;font-size:calc(16.5px * var(--fs))}
  .pdp-detail .entry .bq-tier{grid-template-columns:1fr;gap:8px;margin:14px 0 4px}
  .pdp-detail .entry .bq-tier > div{padding:12px 13px}
  .pdp-detail .entry .bq-tier p{font-size:13px;font-size:calc(13px * var(--fs))}
}


/* 花束详情页示意图 v2（2026-11-04 起改为单版，不再做双版） */
.gth-fig{margin:26px auto 28px;max-width:660px}
.gth-fig img{display:block;width:100%;height:auto;border:1px solid #EFE8DB;background:#FAF8F2;border-radius:2px}
@media (max-width:560px){
  .gth-fig{margin:20px auto 22px;max-width:100%}
}

/* 产品页提示块 v1（2026-11-04）：用于「尺寸/规格与常规款不同」这类必须提前说明的事 */
.pdp-note{margin:22px 0 26px;padding:18px 22px 18px 20px;background:#FAF7F0;border-left:3px solid #A8926B;border-radius:2px}
.pdp-note p{margin:0;font-size:16px;line-height:1.95;color:#3A3632}
.pdp-note p+p{margin-top:10px}
.pdp-note b{font-weight:600;color:#272325}
@media (max-width:560px){
  .pdp-note{margin:18px 0 22px;padding:14px 16px 14px 14px}
  .pdp-note p{font-size:15px;line-height:1.9}
}


/* ================= 2026-11-06 购物车：表头补字 + 手机端卡片化 ================= */
/* 表头原来只有给读屏器用的隐藏文字，眼睛看是空的：第一列补「移除」、图片列补「图片」 */
.woocommerce table.shop_table.cart th.product-remove::after{content:"移除"}
.woocommerce table.shop_table.cart th.product-thumbnail::after{content:"图片"}
.woocommerce table.shop_table.cart th.product-remove{width:56px;padding-left:6px;padding-right:6px}

/* 手机端：表格六列在 390px 宽里根本排不下，产品名被挤成竖排单字。
   改成大平台通用的「卡片式」：图左、名右（最多两行，超出省略）、单价/数量/小计一行、删除角标在上。 */
@media(max-width:720px){
  .woocommerce table.shop_table.cart{display:block;border:0;background:none;margin:0 0 16px}
  .woocommerce table.shop_table.cart thead{display:none}
  .woocommerce table.shop_table.cart tbody{display:block}
  .woocommerce table.shop_table.cart tbody tr{display:block;width:100%}
  .woocommerce table.shop_table.cart tr.woocommerce-cart-form__cart-item{
    display:flex;flex-wrap:wrap;align-items:center;position:relative;
    background:var(--card);border:1px solid var(--line);border-radius:3px;
    margin:0 0 12px;padding:14px 14px 14px 92px;min-height:92px}
  .woocommerce table.shop_table.cart td{border:0;padding:0;display:block;width:auto}
  .woocommerce table.shop_table.cart td.product-thumbnail{position:absolute;left:14px;top:14px;padding:0;width:64px;height:64px;overflow:hidden}
  .woocommerce table.shop_table.cart td.product-thumbnail img{display:block;width:64px;height:64px;object-fit:cover}
  .woocommerce table.shop_table.cart td.product-name{flex:1 1 100%;width:auto;padding-right:74px;margin-bottom:10px;font-size:14px;font-size:calc(14px * var(--fs));line-height:1.55}
  .woocommerce table.shop_table.cart td.product-name a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
  .woocommerce table.shop_table.cart td.product-remove{position:absolute;right:8px;top:8px;width:auto;padding:0;text-align:center}
  .woocommerce table.shop_table.cart td.product-remove a.remove{width:auto;height:auto;padding:3px 2px;border-radius:3px;font-size:14px;font-size:calc(14px * var(--fs))}
  .woocommerce table.shop_table.cart td.product-remove a.remove::after{content:"移除";font-size:12px;font-size:calc(12px * var(--fs));margin-left:2px;vertical-align:1px}
  .woocommerce table.shop_table.cart td.product-price{flex:0 0 auto;width:auto;margin-right:14px;color:var(--ink2);font-size:14px;font-size:calc(14px * var(--fs))}
  .woocommerce table.shop_table.cart td.product-price::before{content:"单价 ";font-size:12px;color:var(--ink2)}
  .woocommerce table.shop_table.cart td.product-quantity{flex:0 0 auto;width:auto;margin-right:12px;font-size:14px;font-size:calc(14px * var(--fs))}
  .woocommerce table.shop_table.cart td.product-quantity::before{content:"数量 ";font-size:12px;color:var(--ink2)}
  .woocommerce table.shop_table.cart td.product-subtotal{flex:0 0 auto;width:auto;margin-left:6px;font-weight:700;color:var(--danger);font-size:15px;font-size:calc(15px * var(--fs))}
  .woocommerce table.shop_table.cart td.product-subtotal::before{content:"小计 ";font-weight:400;font-size:12px;color:var(--ink2)}
  .woocommerce .quantity input.qty{width:52px;height:34px;font-size:14px;font-size:calc(14px * var(--fs))}
  .woocommerce table.shop_table.cart td.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;width:100%;padding:0 0 4px!important;background:none;border:0;border-radius:0}
  .woocommerce table.shop_table.cart td.actions .coupon{display:flex;gap:8px;flex:1 1 100%}
  .woocommerce table.shop_table.cart td.actions .coupon input.input-text{flex:1 1 auto;min-width:0}
  .woocommerce table.shop_table.cart td.actions button.button{float:none;width:auto;padding:0 18px}
  .woocommerce .wc-proceed-to-checkout{text-align:center;padding:4px 0 10px}
  .woocommerce .wc-proceed-to-checkout a.checkout-button{width:100%;min-width:0;padding:0;height:48px;line-height:48px}
  .woocommerce .cart_totals h2{text-align:center}
  /* 2026-11-07：手机端客服入口已并入底栏「联系」，悬浮球整体不再出现（见文件末尾）。
     这里不能整块 display:none——那会把底栏「联系」要打开的弹层一起藏掉。 */
}


/* ================= 2026-11-06 购物车「继续购物」移到底部，视觉与「去结算」一致 ================= */
/* 原来它是「已添加到购物车」提示条里的一个小按钮，提示条删掉后独立放到总计下方 */
.woocommerce .gth-continue-wrap{text-align:right;padding:14px 0 4px}
.woocommerce a.button.gth-continue-shopping{display:inline-block;text-align:center;height:50px;line-height:50px;padding:0 46px;min-width:260px;
  font-size:16px;font-size:calc(16px * var(--fs));letter-spacing:1px;background:var(--accent);border:1px solid var(--accent);color:#fff}
.woocommerce a.button.gth-continue-shopping:hover{background:var(--accent2);border-color:var(--accent2);color:#fff}
@media(max-width:720px){
  .woocommerce .gth-continue-wrap{text-align:left;padding:10px 0 8px}
  .woocommerce a.button.gth-continue-shopping{display:block;width:100%;min-width:0;padding:0;height:48px;line-height:48px;text-align:center}
}


/* ================= 2026-11-06 购物车删除不刷新 + 空车态 + 撤销 ================= */
.woocommerce a.restore-item{margin-left:5px;color:var(--accent);text-decoration:underline}
.gth-cart-empty{text-align:center;padding:10px 0 8px}
.gth-cart-empty .cart-empty{padding:26px 0 0}
.gth-cart-empty .return-to-shop{margin-top:14px}

/* 删除后的「已移除 撤销」做成悬浮条：不滚动页面也能看到结果，也不用把页面顶上去 */
.woocommerce-message.gth-toast{position:fixed;bottom:26px;top:auto;left:50%;transform:translateX(-50%);z-index:130;margin:0;width:auto;max-width:min(92vw,520px);box-shadow:0 8px 26px rgba(20,28,42,.22);transition:opacity .4s ease,transform .4s ease}
.woocommerce-message.gth-toast.gth-toast-out{opacity:0;transform:translateX(-50%) translateY(8px)}
@media(max-width:720px){
  .woocommerce-message.gth-toast{top:8px;bottom:auto;left:10px;right:10px;transform:none;max-width:none}
  .woocommerce-message.gth-toast.gth-toast-out{transform:translateY(-10px)}
  .woocommerce-message.gth-toast{box-shadow:0 6px 20px rgba(20,28,42,.20)}
}


/* ================= 2026-11-07 手机端：顶栏精简 + 客服入口并入底栏 ================= */
/* Lion威 2026-11-07：底栏「我的」已经覆盖了登录/注册的功能，手机顶栏不必再放这两个按钮。
   撤掉后顶栏只剩「logo ｜ 字号 ｜ 电话」，390px 下不再拥挤。桌面端一律不受影响。 */
@media(max-width:720px){
  .acct{display:none}
  .hright{gap:12px}
  .fsbtn{margin-right:0}
  .hphone{padding-left:12px}

  /* 右侧悬浮客服球在手机端整体撤掉，入口移到屏幕底部导航的第五项「联系」。
     .gth-cs 只留一个 0 尺寸的定位容器，弹层仍由它承载（底栏点「联系」加 .is-open）。 */
  .gth-cs{top:auto;bottom:0;transform:none;width:0;height:0;overflow:visible}
  .gth-cs .cs-bar{display:none}

  /* 弹层改成从底部升起的抽屉：拇指够得到，和底栏是一套交互语言 */
  .gth-cs.is-open .cs-panel{position:fixed;left:0;right:0;bottom:0;top:auto;transform:none;
    width:auto;max-width:none;max-height:80vh;border-radius:14px 14px 0 0;
    box-shadow:0 -8px 30px rgba(20,28,42,.26);
    padding:16px 18px calc(20px + env(safe-area-inset-bottom))}
  .gth-cs.is-open .cs-p-head{padding-bottom:10px}
}

/* ================= 2026-11-07 订单摘要：合计行加重，和大平台一致 ================= */
/* 表头「商品信息 | 金额」只说明这一列放什么；金额性质由行名说清楚（商品金额 / 应付总额），
   合计行加粗，客户一眼找到最终要付的数。 */
.woocommerce table.shop_table.woocommerce-checkout-review-order-table .order-total th,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table .order-total td{font-weight:700}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table .order-total th{color:var(--ink)}
.woocommerce table.shop_table.woocommerce-checkout-review-order-table .order-total td{font-size:17px}

/* ============ 2026-11-07 订单摘要金额列：表头与数字统一居中 ============ */
/* 原来是「表头左对齐 + 数字右对齐」，两行不在一根轴线上，看着像错位。
   金额列只有一列且数字很短（¥1、¥1,280），居中后表头正好压在数字上方。 */
.woocommerce table.shop_table.woocommerce-checkout-review-order-table thead th:last-child,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody td:last-child,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot th:last-child,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot td:last-child,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table .amount{text-align:center}
/* ================= 2026-11-07 订单成功页（五块重排） ================= */
.gth-ok{max-width:720px;margin:0 auto;padding-bottom:8px}
.gth-ok-hero{text-align:center;padding:26px 18px 22px;background:#faf9f6;border:1px solid var(--line);border-radius:10px;margin-bottom:14px}
.gth-ok-check{color:#3f6b52;margin-bottom:6px;line-height:0}
.gth-ok-title{font-size:21px;font-size:calc(21px * var(--fs));font-weight:700;color:var(--ink);margin:0 0 6px;letter-spacing:.5px}
.gth-ok-amount{font-size:30px;font-size:calc(30px * var(--fs));font-weight:700;color:var(--ink);line-height:1.2;margin-bottom:8px}
.gth-ok-amount .woocommerce-Price-currencySymbol{font-size:19px;font-size:calc(19px * var(--fs));font-weight:600;margin-right:2px}
.gth-ok-sub{color:var(--ink2);font-size:14px;font-size:calc(14px * var(--fs));margin:0 0 14px;line-height:1.7}
.gth-ok-no{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;background:#fff;border:1px solid var(--line);border-radius:6px;font-size:13px;font-size:calc(13px * var(--fs))}
.gth-ok-no-label{color:var(--ink2)}
.gth-ok-no strong{font-weight:600;color:var(--ink);letter-spacing:.5px}
.gth-ok-copy{border:1px solid var(--line);background:#f4f2ee;color:var(--ink);font-size:12px;font-size:calc(12px * var(--fs));padding:3px 9px;border-radius:4px;cursor:pointer;line-height:1.6}
.gth-ok-copy.is-done{background:#e9f2ec;border-color:#bcd6c5;color:#3f6b52}

.gth-ok-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:12px}
.gth-ok-card h2{font-size:15px;font-size:calc(15px * var(--fs));font-weight:700;color:var(--ink);margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.gth-ok-list{margin:0;padding:0}
.gth-ok-list > div{display:flex;gap:12px;padding:6px 0;font-size:14px;font-size:calc(14px * var(--fs));line-height:1.65}
.gth-ok-list dt{flex:0 0 76px;color:var(--ink2);margin:0}
.gth-ok-list dd{flex:1;min-width:0;margin:0;color:var(--ink);word-break:break-word}
.gth-ok-strong{font-weight:700}
.gth-ok-tel{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

.gth-ok-items{width:100%;border-collapse:collapse;font-size:14px;font-size:calc(14px * var(--fs))}
.gth-ok-items th,.gth-ok-items td{padding:10px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.gth-ok-items thead th{font-size:12px;font-size:calc(12px * var(--fs));color:var(--ink2);font-weight:500;letter-spacing:.05em}
.gth-ok-items thead th:last-child,
.gth-ok-items tbody td:last-child,
.gth-ok-items tfoot th:last-child,
.gth-ok-items tfoot td:last-child,
.gth-ok-items .amount{text-align:center}
.gth-ok-qty{color:var(--ink2);font-size:13px;font-size:calc(13px * var(--fs));margin-left:2px}
.gth-ok-items tfoot th{font-weight:500;color:var(--ink2)}
.gth-ok-items tfoot .gth-ok-total th,.gth-ok-items tfoot .gth-ok-total td{font-weight:700;color:var(--danger);font-size:18px;font-size:calc(18px * var(--fs));border-bottom:none;padding-top:14px}

.gth-ok-next{background:#faf9f6;border:1px solid var(--line);border-radius:10px;padding:16px 18px}
.gth-ok-next h2{font-size:15px;font-size:calc(15px * var(--fs));font-weight:700;color:var(--ink);margin:0 0 10px}
.gth-ok-next ol{margin:0 0 12px;padding-left:20px;color:var(--ink);font-size:14px;font-size:calc(14px * var(--fs));line-height:1.85}
.gth-ok-next li{margin-bottom:4px}
.gth-ok-help{color:var(--ink2);font-size:13px;font-size:calc(13px * var(--fs));line-height:1.75;margin:0 0 12px}
.gth-ok-help strong{color:var(--ink)}
.gth-ok-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0}
.gth-ok-btn{display:inline-flex;align-items:center;justify-content:center;flex:1 1 140px;min-height:46px;padding:0 16px;border:1px solid var(--ink);border-radius:6px;background:#fff;color:var(--ink);font-size:15px;font-size:calc(15px * var(--fs));text-decoration:none;box-sizing:border-box}
.gth-ok-btn-main{background:var(--ink);color:#fff}
.gth-ok-empty{font-size:15px;font-size:calc(15px * var(--fs));line-height:1.8;color:var(--ink)}
.gth-ok-fail h1{font-size:19px;font-size:calc(19px * var(--fs));margin:0 0 10px}
.gth-ok-fail p{font-size:14px;font-size:calc(14px * var(--fs));line-height:1.8;color:var(--ink)}

@media (max-width:720px){
  .gth-ok-hero{padding:22px 14px 18px;margin-bottom:12px}
  .gth-ok-card,.gth-ok-next{padding:14px 14px;border-radius:8px}
  .gth-ok-list > div{gap:10px}
  .gth-ok-list dt{flex:0 0 68px}
  .gth-ok-actions{flex-direction:column}
  .gth-ok-btn{flex:1 1 auto;width:100%}
}
