/* ═══════════════════════════════════════════════════════════════════════════
   方案 A · 综合平台版（Amazon 结构 + 浅色头 + 橙）
   令牌来源: github.com/GodModeAI2025/design-ai → design-md/amazon/DESIGN.md
     Amazon Orange #FF9900 · Navy #232F3E(仅文字/边框, 不用作大面积底色) · 底 #EAEDED/#F3F3F3
     文字 #0F1111 / #565959 / #767676 · 链接蓝 #007185 · 链接 hover #C7511F
     星标金 #FFA41C · 成功绿 #067D62 · 促销价 #C7511F(避开纯红)
     字体 Amazon Ember → 开源替代 Source Sans 3 / 系统无衬线
   纪律：不引入黑色大色块（用户明确不要黑）；不用渐变/阴影/玻璃拟态（与 taste-skill 门禁一致）。
   ═══════════════════════════════════════════════════════════════════════════ */
:root{
  /* 地面：平台是白底 + 浅灰分区，不是彩底 */
  --navy:#ffffff;
  --navy-2:#f3f3f3;
  --steel:#e7e7e7;
  --bone:#0f1111;          /* 墨色（Amazon 正文色，非纯黑但足够深） */
  --ink:#0f1111;
  --cool:#eef3f7;          /* 原黑色面 → 浅蓝灰面 */
  --bone-2:#ffffff;        /* 卡片面 */
  --accent:#ff9900;        /* 品牌橙 */
  --accent-ink:#c7511f;    /* 深橙：促销价/链接 hover（避开纯红） */
  --cta:#ff9900;
  --on-cta:#111111;        /* 橙底配深字（Amazon 式：橙/黄按钮+深色字） */
  --on-accent:#111111;
  --deal:#c7511f;
  --slate:#565959;         /* 次级正文 */
  --serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  /* 平台的信息密度：字级比品牌站更小、更密 */
  --t-display:clamp(26px,2.6vw,34px);
  --t-head:clamp(19px,1.7vw,23px);
  --t-sub:17px;
  --t-body:15px;
  --t-small:14px;
  --t-micro:13px;
  --t-nano:12.5px;
  --gap:14px;
  --pad:24px;
}
body{background:#ffffff;color:var(--bone);font-size:15px;line-height:1.5}
a{color:#007185}
a:not(.button):hover{color:var(--accent-ink);text-decoration:underline}

/* ── 顶部：浅色工具条 + 白底头部 ───────────────────────────────── */
.announcement{background:#f3f3f3;border-bottom:1px solid #e7e7e7;color:#565959;font-size:13px}
.site-header{background:#ffffff;border-bottom:1px solid #e7e7e7}
.nav{padding-top:12px;padding-bottom:10px;align-items:center;gap:14px}
.brand-logo{height:38px;width:auto}
.nav-toggle{border:1px solid #d5d9d9;border-radius:6px;background:#fff;color:#0f1111;font-size:13px;padding:6px 10px}
.nav-links{gap:2px}
.nav-links a{font-size:13.5px;font-weight:500;padding:7px 10px;border:1px solid transparent;border-radius:6px;color:#0f1111}
.nav-links a:hover{background:#f3f3f3;text-decoration:none;border-color:#e7e7e7}
.language-select select{border:1px solid #d5d9d9;border-radius:6px;font-size:13px;padding:6px 8px;background:#f3f3f3}

/* 搜索：平台的主角，整行放大 */
.search-pill{flex:1 1 100%;display:flex;border:1px solid #d5d9d9;border-radius:8px;overflow:hidden;background:#fff}
.search-pill:focus-within{border-color:#ff9900;box-shadow:0 0 0 2px rgba(255,153,0,.25)}
.search-pill input{flex:1 1 auto;min-width:0;border:0;padding:11px 14px;font-size:15px;background:#fff;color:#0f1111}
.search-submit{background:#ff9900;color:#111;font-weight:700;border:0;padding:0 20px;font-size:14px;letter-spacing:.01em}
.search-submit:hover{background:#f08804}
.login-cta{border-radius:8px;font-size:13.5px;padding:8px 14px}

/* ── 按钮 ─────────────────────────────────────────────────────── */
.button{border-radius:8px;font-weight:600;font-size:14px;padding:10px 16px;border:1px solid transparent;box-shadow:none}
.button.primary{background:var(--cta);color:var(--on-cta);border-color:#e88b00}
.button.primary:hover{background:#f08804;color:#111}
.button.ghost,.button.secondary{background:#fff;color:#0f1111;border-color:#d5d9d9}
.button.ghost:hover{background:#f7f7f7;border-color:#c9c9c9}
.button.on-accent{background:#fff;color:#0f1111;border-color:#d5d9d9}

/* ── 标题与分区：平台式小标题 + 浅灰分区带 ─────────────────────── */
h1,.hero-title{font-family:var(--serif);font-weight:700;letter-spacing:-.01em;line-height:1.2}
h2,.section-title,#head-row h2,.head-row h2{font-size:var(--t-head);font-weight:700;letter-spacing:-.01em}
h3{font-size:16px;font-weight:600}
.section-lead,.hero-claim,p{color:#565959}
section{padding-top:22px;padding-bottom:22px}
.band-accent,.band-a,.band-b,.band-black{background:#f7f7f7;color:#0f1111;border-top:1px solid #ededed;border-bottom:1px solid #ededed}
.band-accent a,.band-black a{color:#007185}
#view-link{color:#007185;font-size:14px;font-weight:600}

/* ── 商品网格：平台密度（宽屏 5 列 → 4 → 3 → 2）────────────────── */
#productGrid,#recommendedGrid,#review-grid,.quick-grid{
  display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))
}
@media (min-width:700px){#productGrid,#recommendedGrid,.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1000px){#productGrid,#recommendedGrid,.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1320px){#productGrid,#recommendedGrid{grid-template-columns:repeat(5,minmax(0,1fr))}}
#review-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}

/* ── 商品卡：白底细边、无阴影、方形图、密信息 ───────────────────── */
.product-card{background:#fff;border:1px solid #e7e7e7;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .12s}
.product-card:hover{border-color:#c9c9c9}
.product-media{position:relative;background:#fff;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:10px}
.product-media img{width:100%;height:100%;object-fit:contain;border-radius:0}
.badge-corner{position:absolute;top:8px;left:8px;background:#ff9900;color:#111;font-size:11.5px;font-weight:700;letter-spacing:.02em;padding:3px 7px;border-radius:4px}
.heart{position:absolute;top:6px;right:6px;background:#fff;border:1px solid #e7e7e7;border-radius:999px;width:30px;height:30px;font-size:15px;line-height:1;color:#565959}
.heart.saved{color:#c7511f;border-color:#f0c1a9}
.product-body{display:flex;flex-direction:column;gap:6px;padding:10px 12px 13px}
.product-body h3{font-size:14.5px;font-weight:500;line-height:1.35;color:#0f1111;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-meta{display:flex;gap:8px;font-size:12px;color:#767676;text-transform:none}
.result-fit,.product-body .result-fit{font-size:12.5px;color:#565959;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.specs.result-specs{display:flex;flex-wrap:wrap;gap:6px;font-size:11.5px;color:#565959}
.specs.result-specs span{background:#f3f3f3;border:1px solid #ededed;border-radius:4px;padding:2px 6px}
.result-price-row{display:flex;align-items:baseline;gap:8px;margin-top:2px}
.price{display:flex;align-items:baseline;gap:6px}
.price span{color:#767676;text-decoration:line-through;font-size:12.5px}
.price strong{font-size:21px;font-weight:700;color:#0f1111;letter-spacing:-.02em}
.deal,.sale-price,.price .deal{background:#c7511f;color:#fff;font-size:11px;font-weight:700;border-radius:4px;padding:2px 6px}
.small-note{font-size:11.5px;color:#767676}
.result-promises{display:flex;flex-wrap:wrap;gap:8px;font-size:11.5px;color:#067d62}
.result-promises span{color:#067d62}
/* 星级：金色的星（app.js 若输出 .stars/.rating 则自动套用） */
.stars,.rating,.rating-stars{color:#ffa41c;font-size:13px;letter-spacing:1px}
.stars .empty,.rating .empty{color:#dddddd}
.product-card .button,.product-card .button.primary{margin-top:auto;font-size:13.5px;padding:8px 12px;width:100%}

/* ── 品类瓷砖 / 快捷入口：平台式方块 ───────────────────────────── */
.quick-grid>a,.category-tile,.collection-card{background:#fff;border:1px solid #e7e7e7;border-radius:8px;overflow:hidden}
.quick-grid>a:hover,.collection-card:hover{border-color:#c9c9c9}
.quick-grid>a img,.collection-card img{border-radius:0}
.quick-grid figcaption,.quick-grid h3{font-size:14px;font-weight:600;color:#0f1111}

/* ── 备注块 / FAQ / 联系：平台式白卡 ───────────────────────────── */
.note-grid,.faq-grid,.benefit-grid,#account-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.faq-item,.note-grid>div,.benefit-grid>div,#account-grid>a{background:#fff;border:1px solid #e7e7e7;border-radius:8px;padding:14px 16px}
.faq-item h3,.note-grid h3{font-size:15px;margin-bottom:6px}
.contact-band,.split-media,.hero-frame{background:#f7f7f7;border:1px solid #e7e7e7;border-radius:8px}
input,select,textarea{border:1px solid #d5d9d9;border-radius:6px;font-size:14px;padding:9px 11px;background:#fff;color:#0f1111}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(255,153,0,.35);border-color:#ff9900}

/* ── 页脚：浅灰 + 多列链接 ─────────────────────────────────────── */
.site-footer{background:#f3f3f3;border-top:1px solid #e7e7e7;padding-top:26px}
.footer-grid{gap:26px}
.site-footer h3{font-size:14px;font-weight:700;color:#0f1111;margin-bottom:8px}
.site-footer a{display:block;color:#565959;font-size:13.5px;padding:3px 0}
.site-footer a:hover{color:#c7511f}
.foot-logo{height:44px;width:auto}

/* ── 平台式品类条（浅色，不用近黑底）─────────────────────────────── */
.dept-strip{background:#f7f7f7;border-bottom:1px solid #e7e7e7}
.dept-strip-inner{display:flex;align-items:center;gap:2px;overflow-x:auto;padding:7px 0;scrollbar-width:none}
.dept-strip-inner::-webkit-scrollbar{display:none}
.dept-strip a{flex:0 0 auto;font-size:13.5px;font-weight:500;color:#0f1111;padding:6px 11px;border:1px solid transparent;border-radius:6px;text-decoration:none;white-space:nowrap}
.dept-strip a:hover{background:#fff;border-color:#e0e0e0;color:#c7511f;text-decoration:none}
.dept-strip .dept-all{font-weight:700;background:#fff;border-color:#e0e0e0}
@media (max-width:700px){.dept-strip-inner{padding:6px 0}.dept-strip a{font-size:13px;padding:6px 9px}}

/* ── 修正轮 1（提高特异性，压过基础样式）───────────────────────── */
/* 1) 价格要像平台那样醒目（21px） */
.product-card .price strong,
.result-price-row .price strong,
.product-body .price strong{font-size:21px;font-weight:700;color:#0f1111;letter-spacing:-.02em}
.product-card .price span,.result-price-row .price span{font-size:12.5px;color:#767676}
/* 2) 促销带：收敛成浅橙底 + 深字，避免整块橙色压场 */
.band-accent{background:#fff6e8;border-top:1px solid #ffe3bd;border-bottom:1px solid #ffe3bd}
.band-accent h2,.band-accent h3,.band-accent p{color:#0f1111}
.band-accent .button.primary{background:#ff9900;color:#111;border-color:#e88b00}
/* 3) 下半页信息块收敛：更小标题、更紧内边距、四列 */
.note-grid,.faq-grid,.benefit-grid,#account-grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
.faq-item,.note-grid>div,.benefit-grid>div,#account-grid>a{padding:12px 14px;border-radius:6px}
.faq-item h3,.note-grid h3,.benefit-grid h3,#account-grid h3{font-size:14px;font-weight:600;margin-bottom:5px}
.faq-item p,.note-grid p,.benefit-grid p,#account-grid p{font-size:13px;line-height:1.5;color:#565959}
section>.container>h2,#head-row h2,.section-title{font-size:20px}
/* 4) 区块间距收紧（平台是密排，不是杂志留白） */
section{padding-top:18px;padding-bottom:18px}
.container{padding-left:18px;padding-right:18px}
/* 5) 商品网格更紧，卡片信息更密 */
#productGrid,#recommendedGrid{gap:12px}
.product-body{padding:9px 11px 12px;gap:5px}
.product-body h3{font-size:14px}
.product-card .button{border-radius:6px;font-size:13px;padding:7px 10px}
/* 6) 分区标题行像平台：标题 + 右侧“查看全部” */
.head-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.head-row h2{margin:0}

/* ── 修正轮 2：头部改成平台式三行（品牌行 / 搜索行 / 品类行）─────────── */
.nav{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"brand links tools" "search search search";row-gap:10px;column-gap:14px;padding-top:14px;padding-bottom:12px}
.brand{grid-area:brand}
.nav-links{grid-area:links;justify-self:start;align-self:center}
.nav-tools{grid-area:search;display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:flex-end}
/* 搜索独占整行、放大（平台主角） */
.search-pill{order:3;flex:1 1 100%;border-radius:8px}
.search-pill input{padding:12px 16px;font-size:15.5px}
.search-submit{padding:0 24px;font-size:15px}
/* 语言/登录/购物车留在品牌行右侧 */
.nav-tools .language-select{order:1;margin-right:auto}
.nav-tools .login-cta{order:2}
@media (max-width:1000px){
  .nav{grid-template-columns:auto 1fr;grid-template-areas:"brand toggle" "links links" "search search"}
  .nav-toggle{grid-area:toggle;justify-self:end}
  .nav-links{justify-self:stretch}
}
/* logo 放大一点，品牌行更醒目 */
.brand-logo{height:46px}
/* 购物车按钮化（平台感） */
.cart-button{border:1px solid #d5d9d9;border-radius:8px;background:#fff;color:#0f1111;font-size:13.5px;font-weight:600;padding:8px 12px;display:inline-flex;align-items:center;gap:6px}
.cart-button:hover{background:#f7f7f7}
/* 首屏营销区收敛：标题降到平台尺度，图文更紧凑 */
.hero{padding-top:14px}
.hero-title{font-size:clamp(24px,2.4vw,32px)}
.hero-claim,.hero-stand{font-size:14.5px}
.hero-actions{margin-top:14px}
.hero-facts{font-size:13.5px;margin-top:16px}

/* ── 修正轮 3：真正的平台式头部（logo | 搜索 | 账号·购物车，一行）──────── */
@media (min-width:1001px){
  .nav{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:none;align-items:center;gap:16px;padding-top:14px;padding-bottom:14px}
  .brand{grid-column:1;justify-self:start}
  .nav-links{display:none}                 /* 顶部链接与品类条重复 → 桌面隐藏（移动端菜单仍可用） */
  .nav-toggle{display:none}
  .nav-tools{grid-column:2;display:flex;flex-wrap:nowrap;align-items:center;gap:12px;justify-content:flex-end}
  .search-pill{order:1;flex:1 1 auto;min-width:0;max-width:820px}
  .nav-tools .language-select{order:2;margin-right:0}
  .nav-tools .login-cta{order:3}
  .cart-button{order:4;white-space:nowrap}
}
@media (max-width:1000px){
  .search-pill{order:5;flex:1 1 100%}
  .nav-tools{justify-content:space-between}
}

/* ── 修正轮 4：收藏按钮图标化（app.js 在按钮内渲染 i18n 文字 "Save"，30px 装不下）── */
.heart{
  font-size:0;line-height:0;color:transparent;      /* 隐藏文字，保留 aria-label 无障碍 */
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23565959' stroke-width='1.9' stroke-linecap='round'><path d='M12 20.5S3.8 15.4 2.6 10.9C1.6 7.2 4 4.5 6.9 4.5c2.3 0 4.1 1.5 5.1 3.4 1-1.9 2.8-3.4 5.1-3.4 2.9 0 5.3 2.7 4.3 6.4C20.2 15.4 12 20.5 12 20.5z'/></svg>");
  background-repeat:no-repeat;background-position:center;background-size:17px 17px;
  width:30px;height:30px;padding:0;
}
.heart.saved{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c7511f' stroke='%23c7511f' stroke-width='1.2'><path d='M12 20.5S3.8 15.4 2.6 10.9C1.6 7.2 4 4.5 6.9 4.5c2.3 0 4.1 1.5 5.1 3.4 1-1.9 2.8-3.4 5.1-3.4 2.9 0 5.3 2.7 4.3 6.4C20.2 15.4 12 20.5 12 20.5z'/></svg>");
  border-color:#f0c1a9;
}

/* ── 修正轮 5：手机端账号区靠右（平台惯例：logo 左、账号/购物车右）────── */
@media (max-width:1000px){
  .nav-tools{justify-content:flex-end;flex-wrap:wrap;row-gap:8px}
  .nav-tools .language-select{order:0;margin-right:auto}
  .nav-tools .login-cta{order:1}
  .cart-button{order:2}
  .search-pill{order:3}
  .brand{align-self:center}
}

/* ═══════════════════════════════════════════════════════════════════════════
   账户门户（account.html）平台化：登录卡 / 侧栏导航 / 面板 / 表格
   仅作用于 .portal-shell 相关类，不影响首页与其它页面。
   ═══════════════════════════════════════════════════════════════════════════ */
.portal-shell{padding-top:18px}
.portal-hero{background:#f7f7f7;border:1px solid #e7e7e7;border-radius:8px;padding:16px 20px}
.portal-hero h1,.portal-hero h2{font-size:24px}

/* 登录/注册/找回密码：居中白卡 + 满宽字段 + 橙色主按钮 */
#loginPanel .portal-login,#portalResetPanel .portal-login,
.portal-login{max-width:430px;margin:0 auto;background:#fff;border:1px solid #e7e7e7;border-radius:8px;padding:20px 22px}
.portal-login h2,.portal-login h3{font-size:19px;margin-bottom:4px}
.checkout-form .form-row{display:block;margin-bottom:12px}
.checkout-form .form-row>label,.checkout-form label{display:block;font-size:13px;font-weight:600;color:#0f1111;margin-bottom:5px}
.checkout-form input,.checkout-form select,.checkout-form textarea{width:100%;box-sizing:border-box;padding:10px 12px;font-size:14.5px;background:#fff}
.checkout-form button[type="submit"]{width:100%;background:#ff9900;color:#111;border:1px solid #e88b00;border-radius:8px;font-weight:700;font-size:14.5px;padding:11px 16px;cursor:pointer}
.checkout-form button[type="submit"]:hover{background:#f08804}
.checkout-form button[type="button"]{width:100%;margin-top:8px;background:#fff;border:1px solid #d5d9d9;border-radius:8px;color:#0f1111;font-weight:600;font-size:14px;padding:10px 14px}
.checkout-form button[type="button"]:hover{background:#f7f7f7}
.portal-login .small-note,.portal-login p.small-note{font-size:12.5px;color:#565959;margin-top:10px}

/* 仪表盘：左侧账号导航（Amazon “Your Account” 那种）+ 右侧白卡面板 */
.account-layout{display:grid;grid-template-columns:232px minmax(0,1fr);gap:20px;align-items:start}
.account-sidebar{position:sticky;top:12px}
.account-nav-group{background:#fff;border:1px solid #e7e7e7;border-radius:8px;overflow:hidden}
.account-nav a{display:block;padding:9px 13px;font-size:14px;color:#0f1111;border-bottom:1px solid #f2f2f2;text-decoration:none}
.account-nav a:last-child{border-bottom:0}
.account-nav a:hover,.account-nav a.active{background:#f7f7f7;color:#c7511f}
.account-section-panel{background:#fff;border:1px solid #e7e7e7;border-radius:8px;padding:16px 18px;margin-bottom:14px}
.account-section-panel h3,.account-section-panel h2{font-size:16px;margin-bottom:8px}
.memberBand,#memberBand{background:#fff6e8;border:1px solid #ffe3bd;border-radius:8px;padding:12px 16px}
.portal-cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.portal-card{background:#fff;border:1px solid #e7e7e7;border-radius:8px;padding:14px 16px}
.portal-card h4,.portal-card h3{font-size:14px;margin-bottom:5px}
.portal-table,.portal-table th,.portal-table td{font-size:13.5px}
.table-wrap{border:1px solid #e7e7e7;border-radius:8px;overflow:auto;background:#fff}
.portal-table{width:100%;border-collapse:collapse}
.portal-table th{text-align:left;background:#f7f7f7;border-bottom:1px solid #e7e7e7;padding:9px 11px;font-size:12.5px;color:#565959;font-weight:600}
.portal-table td{border-bottom:1px solid #f2f2f2;padding:10px 11px;color:#0f1111}
.portal-table tr:last-child td{border-bottom:0}
@media (max-width:900px){
  .account-layout{grid-template-columns:1fr}
  .account-sidebar{position:static}
  .portal-login{max-width:none}
}

/* ═══════════════════════════════════════════════════════════════════════════
   ui-craft 评审修复轮 1（2026-10-17）
   依据：线上实测 —— 手机 14 个触控目标 <44px（Fitts FAIL）、登录表单无行内错误
        （错误预防 2/5）。规则出处：references/accessibility.md（触控目标 ≥44px、
        错误用 aria-describedby 关联；<24px 元素用伪元素扩热区）
   ═══════════════════════════════════════════════════════════════════════════ */

/* ① 触控目标：视觉尺寸不动，用伪元素把热区扩到 ≥44px（accessibility.md 推荐手法） */
.nav-toggle,.cart-button,.login-cta,.dept-strip a,.site-footer a,.account-nav a{position:relative}
.nav-toggle::after,.cart-button::after,.login-cta::after,.dept-strip a::after{
  content:"";position:absolute;left:-4px;right:-4px;top:50%;transform:translateY(-50%);height:44px;min-width:44px;
}
/* 主要控件在手机上直接给足高度（更好按，也更醒目） */
@media (max-width:1000px){
  .nav-toggle,.cart-button,.login-cta{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
}
/* 账户页左侧导航：行高 23px → 44px 热区 */
.account-nav a,.account-sidebar a{min-height:44px;display:flex;align-items:center}
/* 页脚链接：视觉紧凑，热区 44px */
@media (max-width:700px){.site-footer a{padding:9px 0}}

/* ② 表单行内错误（纯 CSS，不碰 account.js 的提交逻辑）
     用 :user-invalid（用户交互后才生效，Chrome 119+），降级为不显示、不影响提交 */
.field-error{display:none;margin-top:5px;font-size:12.5px;line-height:1.4;color:#c7511f}
.field-error::before{content:"⚠ ";font-size:11px}
.checkout-form input:user-invalid,.checkout-form select:user-invalid{border-color:#c7511f;background:#fffaf6}
.checkout-form input:user-invalid~.field-error,.checkout-form select:user-invalid~.field-error{display:block}
/* 必填标记（无障碍：文字而非仅颜色） */
.checkout-form label .req{color:#c7511f;margin-left:3px}

/* ③ 搜索提交后的即时反馈：按钮进入加载态（由 ui-feedback.js 置 aria-busy） */
.search-pill[data-pending="1"]{border-color:#ff9900}
/* 加载态：按无障碍清单「spinner + 保留 label」，文字仍在，spinner 在前 */
.search-submit[aria-busy="true"]{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:progress}
.search-submit[aria-busy="true"]::before{
  content:"";width:14px;height:14px;flex:0 0 14px;
  border:2px solid rgba(17,17,17,.3);border-top-color:#111;border-radius:999px;animation:etspin .6s linear infinite;
}
@keyframes etspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.search-submit[aria-busy="true"]::before{animation:none;border-top-color:rgba(17,17,17,.3)}}

/* ── 修复轮 2：剩余小触控目标（轮 1 后实测仍有 73 个 <44px）
     策略：整行类控件直接给 min-height；点状/文字链接用伪元素扩热区（accessibility.md 手法）── */
@media (max-width:1000px){
  /* 品类条：直接给足高度（比伪元素可靠；实测伪元素在 overflow 容器里命中不稳定） */
  .dept-strip-inner{padding:6px 0}
  .dept-strip a{min-height:44px;display:inline-flex;align-items:center;padding:8px 12px}
  /* 分区标题右侧“查看全部”类小链接 */
  #view-link,.head-row a,.section-lead a{min-height:44px;display:inline-flex;align-items:center}
  /* 页脚链接 */
  .site-footer a{min-height:44px;display:flex;align-items:center;padding:6px 0}
}
/* 轮播点/指示灯：10×10 的视觉，热区扩到 44×44 */
.hero-dots button,[data-hero-dot],.hero-arrow{position:relative}
.hero-dots button::after,[data-hero-dot]::after,.hero-arrow::after{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;
}
/* 筛选芯片/工具栏小按钮：高度补到 36，热区再扩到 44 */
.chip,.filter-chip,.catalog-actions button,.catalog-actions a,[class*=filter] button{min-height:36px;position:relative}
.chip::after,.filter-chip::after,.catalog-actions button::after,.catalog-actions a::after{
  content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:44px;
}
/* 面包屑/返回类小链接（手机上不足 44px 命中不稳） */
.breadcrumb a,.back-link,a[href="#products"]{min-height:44px;display:inline-flex;align-items:center}

/* ── 修复轮 3：长尾小目标（轮 2 后实测仍 48 个 <44px）
     实测样例：英雄区 CTA 39px、筛选芯片 36px、轮播点 10px ── */
@media (max-width:1000px){
  /* 英雄区主按钮 */
  .hero-actions .button,.hero-actions a,.hero-actions button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:11px 18px}
  /* 筛选芯片：手机上整行 44px（原来 36px） */
  .chip,.filter-chip,[class*=chip],#trend-filters button,#trend-filters a,.catalog-toolbar button,.catalog-toolbar a{min-height:44px;display:inline-flex;align-items:center;padding:9px 14px}
  /* 品类瓷砖/快捷入口（点整块） */
  .quick-grid>a,.category-tile{min-height:44px}
}
/* 轮播点：把间距拉到 44px（视觉点仍小），避免相邻热区互相盖住造成误点 */
.hero-dots{gap:14px}
.hero-dots button,.hero-dots [data-hero-dot]{width:16px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;padding:0}
.hero-dots button::before,.hero-dots [data-hero-dot]::before{content:"";width:10px;height:10px;border-radius:999px;background:currentColor;opacity:.45}
.hero-dots button.active::before,.hero-dots [data-hero-dot].active::before{opacity:1;background:#ff9900}
.hero-arrow{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}

/* ── 修复轮 4（终轮）：按实测类名精确命中 ── */
@media (max-width:1000px){
  /* 筛选芯片真实类名是 .filter（实测 “All/Physical/Digital…” 40×36） */
  .filter{min-height:44px;display:inline-flex;align-items:center;padding:9px 14px}
  /* 品类条 “☰ All” 宽度只有 41px */
  .dept-strip a{padding:8px 16px}
}
/* 轮播点：视觉 9px 圆点 + 44×44 透明热区（V4-L01：整块 44px 实心会盖住商品图） */
.hero-dots button,.hero-dots [data-hero-dot]{width:16px;height:44px;background:none}
/* 收藏按钮 30×30 → 热区扩到 44×44（卡片右上角有空间） */
.heart{position:relative}
.heart::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px}

/* ── 修复轮 5：提高特异性压过 base styles.css（实测：加了 min-height 仍被压成 38px）── */
body .dept-strip a{min-height:44px;display:inline-flex;align-items:center;padding:9px 16px}
body .filter,body #trend-filters .filter,body #trend-filters button,body #trend-filters a{min-height:44px;display:inline-flex;align-items:center;padding:9px 14px}
body .hero-actions a,body .hero-actions .button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
body .hero-dots button,body .hero-dots [data-hero-dot]{width:16px;height:44px;background:none;display:inline-flex;align-items:center;justify-content:center}
body .heart{width:30px;height:30px;min-width:0;min-height:0;position:relative}  /* 视觉 30px，热区由 ::after 扩到 44px */
body .site-footer a{min-height:44px;display:flex;align-items:center}
body .account-nav a{min-height:44px;display:flex;align-items:center}
body .cart-button,body .nav-toggle,body .login-cta{min-height:44px;display:inline-flex;align-items:center;justify-content:center}

/* ── 修复轮 6（收尾）：卡片 CTA 与输入框补到 44px；差 2px 的一并补齐 ── */
body .product-card .button,body .product-card button,body .product-card a.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 12px}
body .search-pill input,body #siteSearch{min-height:44px;padding:12px 16px}
body .dept-strip a,body .dept-strip .dept-all{padding:9px 18px}
body .band-accent .button,body .section a.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}

/* ── 修复轮 7（收尾）：卡片 CTA 实测仍是 79×36 —— 它是 <a>/[data-add]，不是 button ── */
body .product-card a,body .product-card [data-add],body .product-card .quick-add,
body .product-card .result-actions a,body .product-card .result-actions button{
  min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 12px
}

/* ==== ET-POLISH-R3: 数据可读性 + 屏幕阅读器辅助 ==== */
/* 数字等宽：价格、价目表、表格、购物车汇总（实测仅 7/46 处有 tabular-nums） */
.price,.price strong,.price s,.product-meta,.price-ladder td,.price-ladder th,
table td,table th,.cart-total,.cart-summary dd,.order-total,[class*="total"],[class*="amount"]{
  font-variant-numeric:tabular-nums
}
/* 屏幕阅读器专用文本（#gridStatus 等）：视觉隐藏但可被朗读 */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ==== ET-POLISH-R4: 文字排版收尾 ==== */
/* 标题避免孤字换行（实测 0/50 标题有 balance） */
h1,h2,h3,.section-title,.hero-title,.product-card h3,.panel h2,.panel h3{text-wrap:balance}
/* 段落避免末行孤字（Chrome 117+，不支持则自然回退） */
p,li,.section-lead{text-wrap:pretty}

/* ==== ET-POLISH-R5: 交互三态 / 触控 / 抽屉 / 跳过导航 / 系统级 ==== */
/* 消除移动端双击缩放延迟（实测 0/174 个控件声明 touch-action） */
button,a[href],input,select,textarea,[role=button],summary{touch-action:manipulation}
/* 按下反馈：交互元素至少三态（实测 :active 规则 0 条） */
button:active,a.button:active,.button:active,.product-card:active,.nav-toggle:active,
.cart-button:active,.filter:active,.dept-strip a:active,.heart:active,.hero-dots button:active{transform:scale(.98)}
a.button.primary:active,.button.primary:active{filter:brightness(.94)}
/* 抽屉内滚动不外溢到页面（实测两处 overscroll 均为 auto） */
.cart-drawer,.filter-drawer{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
/* 跳过导航链接（键盘/读屏用户免于逐个 tab 过 40+ 个导航项） */
.skip-link{position:absolute;left:-9999px;top:0;z-index:10000;background:#fff;color:#0f1111;
  border:1px solid #e7e7e7;border-bottom-right-radius:8px;padding:10px 14px;font-weight:600;font-size:.9rem}
.skip-link:focus{left:0;outline:3px solid #ff9900;outline-offset:2px}
/* 系统级：颜色方案声明 + macOS 字体平滑（ui-craft Design Audit 明确要求） */
html{color-scheme:light;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* ==== ET-POLISH-R6: hero 图防拖 + 导航当前页标记 ==== */
/* 轮播/主视觉内的图片禁止原生拖动（实测 draggable=true，拖拽会打断滑动手势） */
[class*=hero] img,[class*=carousel] img,[class*=slider] img,[data-hero] img,
.hero img,.hero-media img{-webkit-user-drag:none;user-drag:none;-webkit-user-select:none;user-select:none}
/* 当前页标记（实测子页面导航无任何 current 状态） */
header a[aria-current="page"],nav a[aria-current="page"],
header a.is-current,nav a.is-current{color:#0f1111;font-weight:600;border-bottom:2px solid #ff9900;padding-bottom:2px}

/* ===== ET-NAV-TOGGLE-FIX-20261017 =====
   桌面必须隐藏移动端 Menu 按钮。
   原因：早前补 44px 触控目标时，后出现的
   `.nav-toggle,.cart-button,.login-cta{min-height:44px;display:inline-flex;...}`
   把前面的 `.nav-toggle{display:none}` 同权重覆盖掉 → 桌面左上角多出一个"Menu"并独占一行。 */
@media (min-width:1001px){ .nav-toggle{ display:none !important } }
@media (max-width:1000px){ .nav-toggle{ display:inline-flex; align-items:center; min-height:44px } }

/* ===== ET-CATALOG-CONTROLS-20261017 =====
   手机端 "Sort & filters" 折叠（此前 .catalog-toggle / .catalog-actions / .controls-open
   在样式表里一条规则都没有 → 开关点了没有任何视觉变化，筛选面板一直摊开） */
.catalog-toggle{ display:none }
.catalog-empty{ margin:0;padding:18px 4px;color:#565959 }
.catalog-empty .filter{ margin-inline-start:.5em }
@media (max-width:1000px){
  .catalog-toggle{ display:inline-flex; align-items:center; gap:6px; min-height:44px;
    border:1px solid #d5d9d9; border-radius:6px; background:#fff; color:#0f1111; padding:0 12px; font-size:13px; cursor:pointer }
  .catalog-toggle:active{ transform:scale(.99) }
  .catalog-toolbar .catalog-actions{ display:none }
  .catalog-toolbar.controls-open .catalog-actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:10px 0 }
  .filter-drawer{ display:none }
  body.catalog-controls-open .filter-drawer{ display:block; max-height:60vh; overflow:auto }
}

/* ===== ET-TOUCH-TARGETS-20261017 =====
   触控目标补到 44px（实测残留：Quick Add 36、Login/Join the List/Send Enquiry/Logout/Ask AI 39、
   筛选芯片 All 宽 42）。内联文字链接按 WCAG 2.2 target-size 有 inline 例外，不在此处理。 */
body .button,body .small-button,body .button.primary,body .button.secondary,body .button.ghost{
  min-height:44px; display:inline-flex; align-items:center; justify-content:center
}
body .filter{ min-height:44px; min-width:44px; display:inline-flex; align-items:center; justify-content:center }
body #siteSearch,body .catalog-actions select,body .sort-control select{ min-height:44px }

/* ===== ET-MOBILE-DETAIL-ORDER-20261017 =====
   手机端把"价格+数量+加购"提到前面（实测原顺序：价格 top=1476、加购 top=1637，视口仅 844）：
   顺序改为 主图 → 购买面板 → 说明/政策/搭售 */
@media (max-width:820px){
  #productDetail .product-detail-grid > .detail-gallery{ order:1 }
  #productDetail .product-detail-grid > .detail-purchase-card{ order:2; margin-top:0 }
  #productDetail .product-detail-grid > .detail-copy{ order:3 }
  #productDetail .detail-main-img{ max-height:240px }
  #productDetail .product-detail-shell{ padding:12px; gap:10px }
}
.catalog-loading{ margin:0;padding:24px 4px;color:#565959 }
@media (max-width:1000px){
  /* 分页独立于筛选折叠，始终可见（V3-02） */
  .catalog-page-controls{ display:flex; gap:8px; align-items:center; justify-content:center; margin:8px 0 0 }
  .catalog-page-controls button{ min-height:44px; min-width:44px }
}

/* ===== ET-IMAGE-NOTE-20261017 =====
   系列示意图说明（目录共用少量图片，图上重量印字可能与当前规格不同）*/
#productDetail .detail-image-note{ margin:6px 0 10px; font-size:.82rem; line-height:1.45; color:#565959;
  background:#f3f3f3; border-radius:8px; padding:8px 10px }

/* ===== ET-V4-BATCH-A-20261017 =====
    L01 轮播：箭头/指示点锚定在图片容器内，不再跑到 hero 外面压住快捷入口 */
.hero-frame{position:relative;display:flex;flex-direction:column}
.hero-frame .hero-photo{display:block;width:100%}
.hero-arrow{top:50%;transform:translateY(-50%);z-index:3}
.hero-arrow.prev{left:8px}
.hero-arrow.next{right:8px}
/* 指示点改到图片下方独立一行（不再盖在商品图上） */
.hero-dots,.hero-dots[data-hero-dots]{position:static;left:auto;top:auto;bottom:auto;transform:none;
  display:flex;justify-content:center;align-items:center;gap:4px;padding:6px 0 0;z-index:2}
.hero-dots button::before,.hero-dots [data-hero-dot]::before{width:9px;height:9px}
.hero-dots button.active::before,.hero-dots [data-hero-dot].active::before{background:#ff9900;opacity:1;box-shadow:0 0 0 2px rgba(255,153,0,.25)}
@media (max-width:1000px){
  .hero-dots,.hero-dots[data-hero-dots]{padding:4px 0 0}
}

/*   L08 表单：输入区在白底页面必须可见（实测 border:0px、白底白框） */
body #home form input[type=email],body #home form input[type=password],body #home form input[type=text],
body #home form input[type=tel],body #home form select,body #home .account-tools input,body #home .account-tools select,
body #cartDrawer input,body #cartDrawer select,body #cartDrawer textarea{
  border:1px solid #9aa0a6!important;border-radius:8px;background:#fff;min-height:44px;padding:10px 12px;width:100%;box-sizing:border-box}
body #home form input:focus,body #home form select:focus,body #home .account-tools input:focus,
body #cartDrawer input:focus,body #cartDrawer select:focus{outline:2px solid #ff9900;outline-offset:1px;border-color:#ff9900!important}
body #home form input::placeholder{color:#6b7280}
/* 三列表单的主按钮统一宽度与基线 */
body #home .account-tools form button[type=submit],body #home .account-tools form .button{width:100%;min-height:44px}
body #home .account-tools article,body #home .account-tools form{display:flex;flex-direction:column;gap:8px}
body #home .account-tools form button[type=submit]{margin-top:auto}

/*   L12 账户页/全站桌面页头：导航不换行（实测 1280 下 Account 掉到第二行） */
@media (min-width:801px){
  body header nav,body header .nav-links,body header .header-nav,body .account-page header nav{
    flex-wrap:nowrap;white-space:nowrap;gap:14px}
  body header .nav-links a,body header nav a{white-space:nowrap}
}

/* ===== ET-V4-BATCH-A2-20261017 =====
   ① L01：.hero-arrow 被早前的补漏规则改成了 position:relative（实测 pos=relative、y=889 掉到 hero 外面）→ 强制回 absolute */
.hero-arrow{position:absolute!important;top:50%;transform:translateY(-50%);z-index:4}
.hero-arrow.prev{left:8px}
.hero-arrow.next{right:8px}
.hero-frame{position:relative;overflow:visible}

/*   ② L12：账户页/全站页头的 nav 是 display:grid（3 项挤 2 列 → Account 掉第二行）→ 桌面改回单行 flex */
@media (min-width:801px){
  body header nav.nav,body header nav{display:flex!important;flex-wrap:nowrap!important;gap:18px!important;
    grid-template-columns:none!important;align-items:center}
  body header nav.nav a{white-space:nowrap}
}

/*   ③ L08：首页账户表单真实结构是 .account-grid > form.tool-card（不是 #home）*/
body .account-grid .tool-card{display:flex;flex-direction:column;gap:10px;height:100%}
body .account-grid .tool-card input,body .account-grid .tool-card select,body .account-grid .tool-card textarea{
  border:1px solid #9aa0a6!important;border-radius:8px;background:#fff;min-height:44px;padding:10px 12px;
  width:100%;box-sizing:border-box;color:#0f1111}
body .account-grid .tool-card input:focus,body .account-grid .tool-card select:focus,body .account-grid .tool-card textarea:focus{
  outline:2px solid #ff9900;outline-offset:1px;border-color:#ff9900!important}
body .account-grid .tool-card input::placeholder{color:#6b7280}
body .account-grid .tool-card .field{display:flex;flex-direction:column;gap:4px}
body .account-grid .tool-card .field>span{font-size:.82rem;color:#3f4448;font-weight:600}
body .account-grid .tool-card .tool-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto}
body .account-grid .tool-card .tool-actions .button{width:100%;min-height:44px;justify-content:center}
body .account-grid .tool-card>.button,body .account-grid .tool-card button[type=submit]{width:100%;min-height:44px}
/* 购物车/结账抽屉里的输入同样要有边框（报告提到优惠码输入也不能白底白框） */
body #cartDrawer input,body #cartDrawer select,body #cartDrawer textarea{border:1px solid #9aa0a6!important;border-radius:8px;background:#fff}

/*   ④ L07：手机页头三行 217px（占 26%）→ 两行。真实结构：nav.nav.container > [a.brand, button.nav-toggle, div.nav-tools]
       .nav-tools 里装着 search-pill + 登录 + 购物车，用 display:contents 把子元素提升到同一 grid，搜索独占第二行 */
@media (max-width:800px){
  body header.site-header nav.nav{
    display:grid!important;grid-template-columns:auto auto 1fr auto auto;
    column-gap:8px;row-gap:6px;align-items:center;min-height:0;padding:8px 12px}
  body header.site-header .nav-tools{display:contents!important}
  body header.site-header a.brand{grid-column:1/3;grid-row:1;align-self:center}
  body header.site-header button.nav-toggle{grid-column:3;grid-row:1;justify-self:start;width:auto;min-width:44px;min-height:44px}
  body header.site-header .nav-tools a.button.primary{grid-column:4;grid-row:1;padding:9px 12px;min-height:44px;font-size:.8rem;white-space:nowrap}
  body header.site-header .nav-tools .cart-button{grid-column:5;grid-row:1;justify-self:end;min-height:44px;white-space:nowrap}
  body header.site-header .nav-tools .search-pill{grid-column:1/-1;grid-row:2;width:100%;margin:0}
  body header.site-header .nav-tools .search-pill input{min-height:44px}
}

/*   ⑤ L05 手机：把加购压进首屏（实测 958 > 844），主图与承诺区收紧 */
@media (max-width:820px){
  #productDetail .detail-main-img{max-height:170px}
  #productDetail .product-detail-shell{padding:8px;gap:8px}
  #productDetail .detail-copy h1{font-size:1.22rem;margin:.1rem 0 .3rem}
  #productDetail .detail-image-note{padding:6px 8px;margin:4px 0 6px;font-size:.78rem}
  #productDetail .detail-price-card strong{font-size:1.5rem}
  #productDetail .purchase-promises{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.75rem}
  #productDetail .purchase-promises>span{white-space:nowrap}
  #productDetail .detail-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
}

/* ===== ET-V4-BATCH-B-20261017 =====
   ① L03 商品卡骨架：图/标题/规格/价格/按钮各有固定槽位，价格与按钮在同排同一基线 */
.product-card{display:flex;flex-direction:column;height:100%;overflow:hidden}
.product-card .product-media{display:flex;align-items:center;justify-content:center;background:#fff;aspect-ratio:1/1;padding:10px}
.product-card .product-media img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.product-card .product-body{display:flex;flex-direction:column;gap:6px;flex:1 1 auto;padding:10px 12px 12px}
.product-card h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em;margin:0;font-size:.95rem;line-height:1.25}
.product-card .result-fit{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;margin:0;font-size:.8rem;line-height:1.3}
.product-card .result-specs{min-height:20px;display:flex;flex-wrap:wrap;gap:4px}
.product-card .product-meta{min-height:18px}
/* 价格行贴到底部动作区之上 → 同排价格基线一致 */
.product-card .result-price-row{margin-top:auto;padding-top:6px}
.product-card .result-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:stretch}
.product-card .result-actions .small-button{min-height:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;justify-content:center}

/*   ② L11 同一操作同一视觉语言：所有 Quick Add（[data-add]）统一主色 */
body .product-card [data-add],body .result-actions [data-add],body .recommended-card [data-add]{
  background:#ff9900!important;border:1px solid #e88b00!important;color:#111!important;font-weight:700;border-radius:8px}
body .product-card [data-add]:hover,body .result-actions [data-add]:hover{background:#e88b00!important}
body .result-actions [data-detail],body .product-card [data-detail]{background:#fff;border:1px solid #d5d9d9;color:#0f1111;
  font-weight:600;border-radius:8px}

/*   ③ 列表顶部全局信任说明 */
.catalog-trust-line{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 10px;padding:8px 12px;background:#f3f8f3;
  border:1px solid #d5e3d5;border-radius:8px;font-size:.8rem;color:#2b4a2b}
.catalog-trust-line span{white-space:nowrap}

/*   ④ L03 手机：一个清晰主按钮，详情降为次要文字入口；不再塞信任文案 */
@media (max-width:600px){
  .product-card .result-actions{grid-template-columns:1fr;gap:4px}
  .product-card .result-actions [data-detail]{
    order:2;background:none!important;border:0!important;color:#007185!important;font-weight:600;
    min-height:0;padding:2px 0;text-decoration:underline;font-size:.78rem;justify-content:flex-start}
  .product-card .result-fit{-webkit-line-clamp:2;font-size:.76rem}
  .product-card h3{font-size:.88rem}
  .product-card .product-body{padding:8px 9px 10px;gap:4px}
  .catalog-trust-line{font-size:.72rem;gap:2px 10px;padding:6px 8px}
  .catalog-trust-line span{white-space:normal}
}

/* ===== ET-V4-BATCH-C-20261017 =====
   ① L02 内容基线：详情页与广告块内文对齐到同一条 1200px 中轴（背景可全宽，内文必须对齐） */
/* 与 .container 的内容基线对齐：容器 1220 宽 + 两侧 18px → 内容左边界 128px */
#productDetail .product-detail-shell{max-width:1216px;margin:0 auto;padding:8px 16px 32px}
.ad-placement,.ad-slot{padding-left:max(12px,calc((100% - 1220px)/2 + 2px));padding-right:max(12px,calc((100% - 1220px)/2 + 2px))}
@media (min-width:1001px){
  #productDetail .product-detail-shell{padding:12px 16px 40px}
}
.active-filter-summary.is-empty{display:none}

/*   ② L06 详情标签：原生灰按钮（实测 75x29、radius 0、border 2px）→ 与全站控件一致 */
#productDetail .detail-tab-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
#productDetail .detail-tab-buttons button,#productDetail [data-detail-tab]{
  min-height:44px;padding:10px 16px;border:1px solid #d5d9d9;border-radius:8px;background:#fff;
  color:#0f1111;font-weight:600;font-size:.92rem;cursor:pointer;transition:background-color .15s,border-color .15s}
#productDetail .detail-tab-buttons button:hover,#productDetail [data-detail-tab]:hover{background:#f7f8f8;border-color:#c1c5c5}
#productDetail .detail-tab-buttons button.active,#productDetail [data-detail-tab].active{
  background:#fff4e5;border-color:#ff9900;color:#0f1111;box-shadow:inset 0 -2px 0 #ff9900}
#productDetail .detail-tab-panel{max-width:80ch;line-height:1.55}

/*   ③ L06 规格表：原来单元格内边距只有 1px（Weight 40g 贴在一起） */
#productDetail .detail-tab-panel table{width:100%;border-collapse:collapse;margin:6px 0 0}
#productDetail .detail-tab-panel th,#productDetail .detail-tab-panel td{
  padding:9px 12px;border-bottom:1px solid #e7e7e7;text-align:left;vertical-align:top;font-size:.9rem}
#productDetail .detail-tab-panel th{width:36%;color:#565959;font-weight:600;background:#fafafa}
#productDetail .detail-tab-panel tr:last-child th,#productDetail .detail-tab-panel tr:last-child td{border-bottom:0}

/*   ④ L06 信任项：原来四段文字直接连在一起 */
#productDetail .purchase-promises{display:flex;flex-direction:column;gap:6px;margin:8px 0 4px}
#productDetail .purchase-promises>span{display:flex;align-items:flex-start;gap:6px;font-size:.84rem;line-height:1.4;color:#3f4448}
@media (min-width:821px){
  #productDetail .purchase-promises{flex-direction:row;flex-wrap:wrap;gap:6px 16px}
}

/*   ⑤ L10 分类网格：3 张卡原来只占内容区左半边 */
.category-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;align-items:stretch}
.category-tiles>a,.category-tiles>article,.category-tile{
  display:flex;flex-direction:column;min-width:0;border:1px solid #e7e7e7;border-radius:10px;overflow:hidden;background:#fff}
.category-tiles img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
@media (max-width:600px){
  .category-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}

/* ===== ET-V4-L10-TILES-20261017 =====
   分类卡：无对应图片时用中性标签卡，避免用鱼饵图代表「Chinese vintage / 变形金刚」*/
.category-tiles .category-tile{position:relative;text-align:left;cursor:pointer;font:inherit;color:inherit}
.category-tiles .category-tile img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.category-tiles .category-tile-glyph{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/10;
  font-size:2rem;background:linear-gradient(135deg,#f7f8f8,#eef3f7);border-bottom:1px solid #e7e7e7}
.category-tiles .category-tile-name{display:block;padding:10px 12px;font-weight:700;font-size:.92rem;line-height:1.3}
.category-tiles .category-tile:hover{border-color:#ff9900;box-shadow:0 2px 8px rgba(0,0,0,.06)}

/* ===== ET-V4-L11-UNIFY-20261017 =====
   L11 同一操作同一视觉语言：新品区用的是 .recommended-card（实测灰底 rgb(238,243,247)、radius 0）
   → 与热门区商品卡统一：白卡 + 8px 圆角 + 橙色主按钮 */
.recommended-card{border:1px solid #e7e7e7;border-radius:8px;background:#fff;overflow:hidden}
body .recommended-card [data-add],body .recommended-card [data-rec-add],body #new [data-rec-add]{
  background:#ff9900!important;border:1px solid #e88b00!important;color:#111!important;
  font-weight:700;border-radius:8px;min-height:44px;padding:10px 14px}
body .recommended-card [data-add]:hover,body .recommended-card [data-rec-add]:hover{background:#e88b00!important}
body .recommended-card [data-detail]{
  background:#fff;border:1px solid #d5d9d9;color:#0f1111;font-weight:600;border-radius:8px;min-height:44px}
/* 列表价格统一：主价格粗体同字号，划线价统一小号灰 */
.recommended-card .price strong,.product-card .price strong{font-size:1.05rem;font-weight:800;color:#0f1111}
.recommended-card .price span,.product-card .price span{font-size:.8rem;color:#6b7280;text-decoration:line-through;margin-right:6px}

/* ===== ET-V5-QUOTE-NOTE-20261017 =====
   询价商品在购物车里的提示（V5-01）：不能让人以为总额已经确定 */
.quote-cart-note{margin:8px 0;padding:10px 12px;border:1px solid #ffd28a;background:#fff8ec;border-radius:8px;
  font-size:.82rem;line-height:1.45;color:#5a4200}
.quote-cart-note strong{display:block;margin-bottom:2px}
.quote-cart-note.hidden{display:none}

/* ===== ET-V5-BATCH-E-20261017 =====
   ① V5-11 信任徽章不能连成一串（实测 "Australian dispatchGST invoice availableManual stock…"）*/
#productTrustBox .trust-badges, .detail-lower .trust-badges{display:flex;flex-wrap:wrap;gap:8px 18px;margin:8px 0}
#productTrustBox .trust-badges span, .detail-lower .trust-badges span{display:inline-flex;align-items:center;gap:6px;
  font-size:.84rem;line-height:1.45;color:#3f4448}
#productTrustBox .small-note, .detail-lower .small-note{line-height:1.55}
/* 访客不该看到 Logout */
body:not(.customer-logged-in) #customerLogoutBtn{display:none!important}

/*   ② V5-12 桌面页头：Logo / 弹性搜索 / 账户购物车 三段布局 */
@media (min-width:1001px){
  body header.site-header nav.nav{display:grid!important;grid-template-columns:auto minmax(320px,1fr) auto;
    align-items:center;column-gap:18px;row-gap:8px}
  body header.site-header .brand{grid-column:1;white-space:nowrap}
  body header.site-header .nav-toggle{display:none!important}
  body header.site-header .nav-tools{grid-column:2/4;display:flex!important;align-items:center;gap:12px;justify-content:flex-end;min-width:0}
  body header.site-header .nav-tools .search-pill{flex:1 1 auto;min-width:260px;max-width:none;order:1}
  body header.site-header .nav-tools .search-pill input{width:100%;min-height:44px}
  body header.site-header .nav-tools a.button.primary,body header.site-header .nav-tools .cart-button{order:2;white-space:nowrap}
  body header.site-header .nav-tools .cart-button{order:3}
}

/*   ③ V5-07 当前结果集里没有可用值时，隐藏该筛选组（例如古董类不该出现渔具重量） */
.filter-group.is-empty,.catalog-filter-group.is-empty{display:none!important}

/*   ④ V5-10 目录 H1 */
.catalog-heading{margin:.2rem 0 .6rem;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2;font-weight:800;color:#0f1111}

/*   ⑤ V5-11 首页三列表单：动作区贴底对齐，视觉节奏一致 */
.account-grid{align-items:stretch}
.account-grid .tool-card{height:100%}
.account-grid .tool-card .tool-actions{margin-top:auto}

/* ===== ET-V5-BATCH-E2-20261017 =====
   V5-11 信任徽章真实容器是 #productTrustBox .front-badges
   （实测文字粘成 "Australian dispatchGST invoice availableManual stock…"）*/
#productTrustBox .front-badges,.detail-lower .front-badges{display:flex!important;flex-wrap:wrap;gap:8px 14px;align-items:center}
#productTrustBox .front-badges span,.detail-lower .front-badges span{
  display:inline-flex;align-items:center;font-size:.82rem;line-height:1.4;color:#3f4448;
  background:#f7f8f8;border:1px solid #e7e7e7;border-radius:999px;padding:5px 11px;white-space:nowrap}
@media (max-width:600px){ #productTrustBox .front-badges span{white-space:normal} }

/* V5-11 首页三列表单：说明在上、动作贴底 → 三列主动作底部对齐 */
body .account-grid .tool-card{display:flex!important;flex-direction:column}
/* 所有子元素先归位到 1，动作类（按钮/动作组）排最后贴底 → 三列主动作底部对齐 */
body .account-grid .tool-card>*{order:1}
body .account-grid .tool-card>.small-note,body .account-grid .tool-card>.tool-note,body .account-grid .tool-card>.order-result{order:1}
body .account-grid .tool-card>button,body .account-grid .tool-card>.tool-actions{order:2;margin-top:auto!important}

/* V5-08 详情里的规格/数字标签不再粘连 */
#productDetail .result-specs,#productDetail .specs,#productDetail .detail-specs{
  display:flex!important;flex-wrap:wrap;gap:6px 10px;align-items:center}
#productDetail .result-specs>span,#productDetail .specs>span,#productDetail .detail-specs>span{
  background:#f3f4f6;border-radius:999px;padding:3px 9px;font-size:.8rem;line-height:1.35}

/* 空筛选组隐藏 */
.is-empty{display:none!important}

/* 所有信任徽章容器都要有间距（数字商品曾出现 DigitalNo Shipping 粘连） */
.product-detail-grid .front-badges,#productDetail .front-badges{display:flex!important;flex-wrap:wrap;gap:6px 10px}
.product-detail-grid .front-badges span,#productDetail .front-badges span{white-space:nowrap}

/* ===== ET-V6-BATCH-F-20261017 =====
   R02 价格不裁切：长金额（A$150.00 + A$100.00）允许换行，绝不裁切 */
.product-card .result-price-row,.recommended-card .result-price-row{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;min-width:0}
.product-card .price,.recommended-card .price{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;min-width:0;overflow:visible}
.product-card .price strong,.recommended-card .price strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.product-card .price span,.recommended-card .price span{white-space:nowrap}
/* 卡片内标签/数字说明不粘连，且只保留必要信息 */
.product-card .result-specs{display:flex;flex-wrap:wrap;gap:4px 6px}
.product-card .result-specs>span{background:#f3f4f6;border-radius:999px;padding:2px 8px;font-size:.72rem;white-space:nowrap;line-height:1.3}
.product-card .digital-licence-card{display:none}   /* 数字交付长说明进详情，卡内不再塞 */
.product-card .front-badges{display:flex;flex-wrap:wrap;gap:4px 6px}

/*   R05 公开咨询表单：输入区域必须有可见边界（与登录框一致）*/
#support input,#support textarea,#support select,.account-card input,.account-card textarea,.account-card select{
  border:1px solid #9aa0a6!important;border-radius:8px;background:#fff;min-height:44px;padding:10px 12px;
  width:100%;box-sizing:border-box;color:#0f1111}
#support textarea{min-height:96px}
#support input:focus,#support textarea:focus,.account-card input:focus,.account-card textarea:focus{
  outline:2px solid #ff9900;outline-offset:1px;border-color:#ff9900!important}
#support .field>span{display:block;margin-bottom:4px;font-size:.82rem;font-weight:600;color:#3f4448}
/* 账户页桌面导航保持同一行（V5 修过，V6 又变三行）*/
@media (min-width:801px){
  body header nav.nav,body .site-header nav{display:flex!important;flex-flow:row nowrap!important;
    align-items:center!important;gap:18px!important;height:auto!important;min-height:0!important}
  body header nav.nav a{display:inline-flex;align-items:center;white-space:nowrap;min-height:44px}
}

/*   R08 radio / checkbox 不能被通用 input 规则拉成整行 */
input[type=radio],input[type=checkbox]{
  width:auto!important;min-width:18px;min-height:18px!important;height:18px;margin:0 8px 0 0;
  padding:0!important;border-radius:50%;accent-color:#ff9900;flex:0 0 auto;vertical-align:middle}
label>input[type=radio],label>input[type=checkbox]{position:static}
.payment-option,p.payment-option,label.payment-option{display:flex;align-items:center;gap:8px;min-height:44px}

/*   R06 分类树按行缩进呈现，而不是横向散排 */
.category-tree{display:flex;flex-direction:column;gap:2px}
.category-tree .tree-node{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:8px;min-height:44px}
.category-tree .tree-node:hover{background:#f7f8f8}
.category-tree .tree-depth-1{padding-left:28px}
.category-tree .tree-depth-2{padding-left:48px}
.category-tree .tree-depth-3{padding-left:68px}

/* ===== ET-V6-NAV-FINAL-20261017 =====
   R05：账户页导航被 V5-12 的桌面三段 grid 规则压成竖排（实测 3 行 y=26/88/150）。
   账户页的 nav 没有 .nav-tools（只有 3 个链接）→ 用 :has() 精确区分，前台页面仍保留三段布局。 */
@media (min-width:801px){
  body header.site-header nav.nav:not(:has(.nav-tools)),
  body header.site-header nav.nav:not(:has(.nav-tools))>a{
    display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
    grid-template-columns:none!important;align-items:center!important;
    height:auto!important;min-height:0!important;gap:18px!important;white-space:nowrap}
}

/* ===== ET-V6-R06-CATTREE-20261017 =====
   R06：分类树原来是横向 span 散排（靠 — / — — 表示层级）→ 改为每节点独占一行 + 固定缩进 */
#categoryFilters{display:flex!important;flex-direction:column;align-items:stretch;gap:2px}
#categoryFilters .cat-filter-row{display:flex!important;align-items:center;gap:4px;width:100%}
#categoryFilters .cat-filter-row>button{flex:0 0 auto}
#categoryFilters .cat-filter-row[data-depth="1"]{padding-left:0}
#categoryFilters .cat-filter-row[data-depth="2"]{padding-left:18px}
#categoryFilters .cat-filter-row[data-depth="3"]{padding-left:36px}
#categoryFilters .cat-filter-row[data-depth="4"]{padding-left:54px}
#categoryFilters .cat-filter-row[data-depth="5"]{padding-left:72px}
#categoryFilters .cat-filter-caret{min-width:28px;min-height:28px;padding:0 6px}

/* ===== ET-V6-VISUAL-BATCH-G-20261017 =====
   V01 卡片四条基线：图片框 / 名称首行 / 主价格 / 主动作
   实测问题：分类+库存行 18px vs 54px 使名称起点相差 36px → 该信息区固定两行高度、各占一行 */
.product-card .product-meta{
  display:flex!important;flex-direction:column!important;gap:1px!important;
  min-height:36px;height:36px;overflow:hidden;justify-content:flex-start}
.product-card .product-meta>span{
  display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-size:.72rem;line-height:1.35}
.product-card .product-meta>span:last-child{color:#565959;font-weight:600}
/* 名称：固定两行空间，首行永远从同一位置开始 */
.product-card h3{min-height:2.5em!important;max-height:2.5em;overflow:hidden}
/* 主价格线：折扣卡统一「上行旧价、下行现价」；无旧价也保留同高价格区 */
.product-card .price{flex-direction:column!important;align-items:flex-start!important;gap:0!important;min-height:2.6em}
.product-card .price span{order:1;font-size:.76rem;line-height:1.3}
.product-card .price strong{order:2;line-height:1.3}

/*   V03 手机栅格：外侧 16px、列间距 12px（实测原外边距 32px、文字区仅 114px）*/
@media (max-width:640px){
  /* 实测：main 有 14px 内边距 + container 16px → 商品距左侧 30px。先清掉外层，再统一 16px */
  body main,body main>section{padding-left:0!important;padding-right:0!important}
  /* 实测 .container 还有 margin-left/right:14px → 与 16px 内边距叠加成 30px，清掉 margin */
  body main .container{margin-left:0!important;margin-right:0!important}
  body main .container{padding-left:16px!important;padding-right:16px!important}
  .product-grid,.product-results,.catalog-grid{gap:12px!important;padding-left:0!important;padding-right:0!important}
  .product-card{min-width:0}
  .product-card .product-body{padding:8px 8px 10px}
}

/*   V02 手机目录首屏：去掉重复标题/长导语/大块提示，让第一排商品进首屏 */
@media (max-width:820px){
  /* 已经有 catalogHeading 时，隐藏重复的 Popular products 标题 */
  #products.has-catalog-heading .head-row h2,
  #products.has-catalog-heading .section-lead{display:none!important}
  /* 数字交付大提示收敛成一行 */
  .digital-cart-note{display:block;padding:8px 10px;font-size:.76rem}
  .digital-cart-note strong{display:inline;margin-right:6px}
  .digital-cart-note span{display:inline}
  /* 绿色承诺条在手机只留一行横向滚动，不占多行 */
  .catalog-trust-line{flex-wrap:nowrap;overflow-x:auto;padding:6px 8px;gap:0 14px;scrollbar-width:none}
  .catalog-trust-line::-webkit-scrollbar{display:none}
  .catalog-trust-line span{white-space:nowrap;font-size:.72rem}
  /* 类型芯片：单行横向滚动，Sale 不再孤立成第二行 */
  #trend-filters{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;gap:8px;
    padding-bottom:2px;scrollbar-width:none}
  #trend-filters::-webkit-scrollbar{display:none}
  #trend-filters .filter{flex:0 0 auto}
  /* 目录页标题与工具条更紧凑 */
  .catalog-heading{margin:0 0 .5rem;font-size:1.5rem}
}

/*   V04 重复的交付标签只留一个 */
.product-card .result-specs>span:empty{display:none}
@media (max-width:820px){
  .product-card .result-specs>span:nth-child(n+3){display:none}   /* 卡片最多两个属性标签 */
}

/*   V05 详情下半部节奏：同级区块统一间距（手机 32px / 桌面 48px），组内更紧 */
#productDetail .detail-tabs{margin:32px 0}
#productDetail .detail-tab-panel>h3{margin:0 0 10px;font-size:1.05rem}
#productDetail .detail-tab-panel>p,#productDetail .detail-tab-panel>ul{margin:0 0 16px}
#productDetail #productTrustBox{margin:32px 0;padding:16px;border:1px solid #e7e7e7;border-radius:10px;background:#fff}
#productDetail #productTrustBox .toolbar{margin-bottom:12px}
#productDetail #productTrustBox .front-badges{margin:10px 0 0;padding-top:10px;border-top:1px solid #f0f0f0}
#productDetail .detail-lower{display:grid;gap:20px;margin:16px 0 0}
#productDetail .detail-lower>article{padding:14px;border:1px solid #f0f0f0;border-radius:10px}
#productDetail .section-head.compact{margin:28px 0 12px}
@media (min-width:1001px){
  #productDetail .detail-tabs,#productDetail #productTrustBox{margin:48px 0}
  #productDetail .detail-lower{grid-template-columns:1fr 1fr}
}

/*   V06 咨询区宽度收束：登录 426px / 咨询 700px 居中，桌面姓名邮箱两列 */
#support{max-width:760px;margin:24px auto 0}
#support form{display:grid;gap:12px}
#support .field>span{display:block;margin-bottom:4px}
@media (min-width:821px){
  #support form{grid-template-columns:1fr 1fr;column-gap:16px}
  #support form>.field:nth-of-type(3),#support form>.field:nth-of-type(4),
  #support form>.tool-actions,#support form>#supportStatus{grid-column:1/-1}
}

/*   V07 首页左右两组的关系明确：文案组与媒体组顶对齐，媒体框高度稳定 */
@media (min-width:1001px){
  .hero-grid,.hero-inner{align-items:start!important}
  .hero-media,.hero-frame{align-self:start}
  .hero-frame .hero-photo{aspect-ratio:4/3;max-height:520px}
  .hero-frame img{width:100%;height:100%;object-fit:contain}
}

/* ===== ET-V7-R11-QUOTE-20261017 =====
   R11 询价购物车里的可执行动作：直接发起询价（带商品与数量）*/
.quote-cart-note .quote-request-btn{display:inline-flex;align-items:center;justify-content:center;
  margin-top:8px;min-height:44px;padding:10px 16px;width:100%;font-weight:700}
.quote-cart-note .quote-request-btn:hover{filter:brightness(.95)}

/* ===== ET-V7-BATCH-I-20261017 =====
   R01 语言入口：桌面固定在第顶部工具条最右；窄屏从主行隐藏但在菜单里可见 */
header .nav-tools>.language-select,#frontendLangSwitcher.lang-top-right{
  order:99;margin-left:12px;flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px}
#frontendLangSwitcher.lang-top-right select{min-height:44px;padding:6px 10px;border:1px solid #d5d9d9;border-radius:8px;background:#fff}
.mobile-lang-wrap{display:none}
@media (max-width:1000px){
  /* 主行放不下时隐藏，但菜单里有可见副本 */
  /* 只隐藏主行里的那个；菜单内的副本（.lang-in-menu）必须保留 */
  header .nav-tools>#frontendLangSwitcher:not(.lang-in-menu),header .nav-tools>.language-select:not(.lang-in-menu),header .nav-links .mobile-lang-wrap .language-select{display:revert!important}
  .mobile-lang-wrap{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid #eee;margin-top:8px;width:100%}
  .mobile-lang-label{font-size:.82rem;color:#565959;font-weight:600}
  .mobile-lang-wrap select{min-height:44px;padding:8px 10px;border:1px solid #9aa0a6;border-radius:8px;background:#fff}
}

/*   R07 手机菜单展开时不能被搜索框覆盖：菜单在文档流里独占一块，搜索留在上方主行 */
@media (max-width:1000px){
  header nav.nav.nav-open,header nav.nav[data-open="true"]{position:relative;z-index:60}
  body.nav-open .nav-tools{position:relative;z-index:5}
  header nav.nav a{display:flex;min-height:44px;align-items:center}
}

/*   R09 信任条：手机改为可换行（原来横向滚动把第三条藏起来） */
@media (max-width:820px){
  .catalog-trust-line{flex-wrap:wrap!important;overflow:visible!important;
    background:#f3f8f3;border:1px solid #d5e3d5;border-radius:8px;padding:8px 10px;gap:4px 12px}
  .catalog-trust-line span{white-space:normal;font-size:.74rem;line-height:1.4}
}

/*   R18 购物车抽屉的模态样式（不改视觉，只补语义所需）*/
#cartDrawer[aria-modal="true"]{outline:none}
#cartDrawer:focus{outline:none}

/* ===== ET-V7-BATCH-I2-20261017 =====
   R07：菜单链接独占第 3 行（搜索在第 2 行），展开时不再被搜索框覆盖 */
@media (max-width:800px){
  body header.site-header .nav-links{
    grid-column:1/-1!important;grid-row:3!important;display:none;flex-direction:column;
    width:100%;gap:0;margin-top:6px;background:#fff;border-radius:10px}
  body header.site-header .nav-links.open{display:flex!important}
  body header.site-header .nav-links a{width:100%;justify-content:flex-start;padding:10px 12px;border-bottom:1px solid #f0f0f0}
  body header.site-header .nav-links a:last-child{border-bottom:0}
  .mobile-lang-wrap{display:flex!important;align-items:center;gap:10px;padding:10px 12px;width:100%;border-top:1px solid #f0f0f0}
  .mobile-lang-wrap select{min-height:44px;padding:8px 10px;border:1px solid #9aa0a6;border-radius:8px;background:#fff;flex:1}
}

/* 菜单内语言副本始终可见 */
.mobile-lang-wrap,.mobile-lang-wrap .language-select,.mobile-lang-wrap select{display:flex!important;visibility:visible!important}
.mobile-lang-wrap select{display:block!important;min-height:44px}

/* ===== ET-V7-BATCH-J-20261017 =====
   R08 手机商品栅格：实测左 16px / 右 44px —— 网格没有占满内容宽度 */
@media (max-width:640px){
  body .product-grid,body .product-results{
    width:100%!important;max-width:none!important;box-sizing:border-box;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;padding-right:0!important;margin-right:0!important}
}

/*   R13 FAQ：独立问答布局（桌面两列、手机单列），展开一项不拉高同排其它项 */
.faq-grid{display:grid;grid-template-columns:1fr;gap:10px;align-items:start}
.faq-item{border:1px solid #e7e7e7;border-radius:10px;background:#fff;padding:0;overflow:hidden}
.faq-item>summary{cursor:pointer;padding:14px 16px;font-weight:700;list-style:none;min-height:44px;display:flex;align-items:center;gap:8px}
.faq-item>summary::-webkit-details-marker{display:none}
.faq-item>summary::after{content:"+";margin-left:auto;font-weight:700;color:#565959}
.faq-item[open]>summary::after{content:"–"}
.faq-item>p{margin:0;padding:0 16px 14px;line-height:1.55;color:#3f4448}
@media (min-width:1001px){
  .faq-grid{grid-template-columns:1fr 1fr;gap:12px 16px}
}

/*   R14 首页联系/AI 输入：与账户页同一套可见边界 */
#home #contact input,#home #contact textarea,#home #contact select,
#home .contact-card input,#home .contact-card textarea,#aiAssistant input,#aiAssistant textarea,#aiAssistant text{
  border:1px solid #9aa0a6!important;border-radius:8px;background:#fff;min-height:44px;padding:10px 12px;width:100%;box-sizing:border-box}
#home #contact input:focus,#home #contact textarea:focus,#aiAssistant input:focus{outline:2px solid #ff9900;outline-offset:1px}

/*   R12 数字商品：不再显示泛化的 Format 占位与实体承诺 */
.digital-generic-note{display:none!important}

/* ===== ET-V7-BATCH-J2-20261017 =====
   R08 实测：.container 在手机上宽 362px（390-28）→ 右侧多出 28px，商品区变成左16/右44 */
@media (max-width:640px){
  body main .container,body .container{width:100%!important;max-width:100%!important;
    padding-left:16px!important;padding-right:16px!important;margin:0!important}
  body .product-grid,body .product-results{width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ===== ET-V7-R14-20261017 =====
   R14 首页联系表单（真实表单 id 是 #contactForm，原来规则写成了 #contact）*/
#contactForm input,#contactForm textarea,#contactForm select{
  border:1px solid #9aa0a6!important;border-radius:8px;background:#fff;min-height:44px;padding:10px 12px;
  width:100%;box-sizing:border-box;color:#0f1111}
#contactForm textarea{min-height:110px}
#contactForm input:focus,#contactForm textarea:focus{outline:2px solid #ff9900;outline-offset:1px;border-color:#ff9900!important}
#contactForm label>span,#contactForm .field>span{display:block;margin-bottom:4px;font-size:.82rem;font-weight:600;color:#3f4448}

/* R14 补充：newsletter 与其余公开表单文本域统一可见边界 */
#newsletterForm input,#newsletterForm select,.newsletter input,#home textarea:not([data-no-border]){
  border:1px solid #9aa0a6!important;border-radius:8px;background:#fff;min-height:44px;padding:10px 12px;box-sizing:border-box}

/* R14 收尾：页面上所有公开文本域都应有可见边界（含无 form 包裹的 AI 助手）*/
body main textarea,body main input[type=text]:not(.search-pill input),body main input[type=email],body main input[type=search]:not(#siteSearch){
  border:1px solid #9aa0a6!important;border-radius:8px;background:#fff;padding:10px 12px;box-sizing:border-box}
body main textarea{min-height:96px}
