/* ===========================================================================
   AJMZ 询价单 + 附件上传 + 千人千面（quote.v5.css）
   ---------------------------------------------------------------------------
   逻辑全在 /assets/quote.v4.js（本轮未改逻辑），视觉全在这里一处。
   包含：
     A. 产品卡「收藏」心形按钮
     B. 产品详情页「加入询价单」按钮组
     C. 底部询价单计数条
     D. 右侧询价单抽屉
     E. 表单页：已选产品清单 + 附件上传区 + 缩略图
     F. 询盘助手里面的附件条（复用 .ajmz-bot- 前缀的一部分）
     G. 千人千面：首页「你浏览过的产品」
     H. 千人千面：询价页表单右侧的推荐栏（.raq-grid / .raq-aside / .ajmz-q-reco）
     I. 响应式
   所有类名以 ajmz-q- 开头，避免与站点既有样式冲突。
   ========================================================================== */

:root{
  --ajmz-q-copper:#9A6B3F;
  --ajmz-q-copper-d:#7A5432;
  --ajmz-q-ink:#16283C;
  --ajmz-q-line:#E2DDD5;
  --ajmz-q-paper:#FAF8F5;
  --ajmz-q-muted:#6B7280;
  --ajmz-q-ok:#1F7A4D;
  --ajmz-q-err:#A32D2D;
}

/* ---------------------------------------------------------------------------
   A. 产品卡收藏按钮
   --------------------------------------------------------------------------- */
article.card{ position:relative }
.ajmz-q-fav{
  position:absolute; top:10px; right:10px; z-index:3;
  width:34px; height:34px; border-radius:50%; cursor:pointer;
  border:1px solid var(--ajmz-q-line); background:rgba(255,255,255,.92);
  color:var(--ajmz-q-ink); display:flex; align-items:center; justify-content:center;
  padding:0; box-shadow:0 2px 8px rgba(20,26,33,.10);
  transition:background .16s ease, color .16s ease, transform .16s ease, border-color .16s ease;
}
.ajmz-q-fav:hover{ transform:translateY(-1px); border-color:var(--ajmz-q-copper); color:var(--ajmz-q-copper) }
.ajmz-q-fav svg{ width:17px; height:17px; display:block }
.ajmz-q-fav .ajmz-q-fav-fill{ display:none }
.ajmz-q-fav.is-on{ background:var(--ajmz-q-copper); border-color:var(--ajmz-q-copper); color:#fff }
.ajmz-q-fav.is-on .ajmz-q-fav-line{ display:none }
.ajmz-q-fav.is-on .ajmz-q-fav-fill{ display:block }
.ajmz-q-fav.is-on:hover{ background:var(--ajmz-q-copper-d) }
.ajmz-q-fav.busy{ opacity:.55; pointer-events:none }
/* 卡片右上角小浮标：已加入时给卡片加一圈铜色 */
article.card.is-picked{ border-color:var(--ajmz-q-copper) }

/* ---------------------------------------------------------------------------
   B. 产品详情页按钮组
   --------------------------------------------------------------------------- */
.ajmz-q-pdp{ display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 4px }
.ajmz-q-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:46px; padding:0 20px; border-radius:999px; cursor:pointer;
  font-size:15px; font-weight:600; line-height:1; text-decoration:none;
  border:1px solid transparent; font-family:inherit;
  transition:background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}
.ajmz-q-btn svg{ width:18px; height:18px; display:block; flex:none }
.ajmz-q-btn--add{ background:var(--ajmz-q-copper); border-color:var(--ajmz-q-copper); color:#fff }
.ajmz-q-btn--add:hover{ background:var(--ajmz-q-copper-d); border-color:var(--ajmz-q-copper-d); transform:translateY(-1px) }
.ajmz-q-btn--add.is-on{ background:#fff; border-color:var(--ajmz-q-copper); color:var(--ajmz-q-copper) }
.ajmz-q-btn--add.is-on .ajmz-q-add-icon{ display:none }
.ajmz-q-btn--ghost{ background:#fff; border-color:var(--ajmz-q-line); color:var(--ajmz-q-ink) }
.ajmz-q-btn--ghost:hover{ border-color:var(--ajmz-q-copper); color:var(--ajmz-q-copper) }
.ajmz-q-hero-note{
  margin:10px 0 0; font-size:14px; color:var(--ajmz-q-muted);
}
/* cta 区（深底）里的按钮 */
section.cta .ajmz-q-btn--ghost{ background:transparent; border-color:rgba(255,255,255,.5); color:#fff }
section.cta .ajmz-q-btn--ghost:hover{ background:rgba(255,255,255,.12); border-color:#fff; color:#fff }
section.cta .ajmz-q-pdp{ margin:22px 0 0 }

/* ---------------------------------------------------------------------------
   C. 底部计数条
   --------------------------------------------------------------------------- */
.ajmz-q-tray{
  position:fixed; left:0; right:0; bottom:0; z-index:390;
  background:rgba(22,40,60,.97); color:#fff;
  box-shadow:0 -8px 28px rgba(20,26,33,.22);
  transform:translateY(110%); transition:transform .24s ease;
  padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px));
}
.ajmz-q-tray.is-on{ transform:translateY(0) }
.ajmz-q-tray-in{
  max-width:1180px; margin:0 auto; padding:0 22px;
  display:flex; align-items:center; gap:16px;
}
.ajmz-q-thumbs{ display:flex; align-items:center; gap:8px; flex:none }
.ajmz-q-thumb{
  width:44px; height:44px; border-radius:8px; background:#fff; overflow:hidden;
  border:2px solid rgba(255,255,255,.35); flex:none;
}
.ajmz-q-thumb img{ width:100%; height:100%; object-fit:contain; display:block }
.ajmz-q-more{
  width:44px; height:44px; border-radius:8px; flex:none;
  background:rgba(255,255,255,.14); color:#fff; font-size:13px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.ajmz-q-tray-txt{ flex:1; min-width:0; font-size:14.5px; line-height:1.4 }
.ajmz-q-tray-txt b{ font-weight:700 }
.ajmz-q-tray-txt span{ color:rgba(255,255,255,.72); display:block; font-size:12.5px; margin-top:2px }
.ajmz-q-tray-btns{ display:flex; align-items:center; gap:10px; flex:none }
.ajmz-q-tray .ajmz-q-btn{ height:42px; padding:0 18px; font-size:14.5px }
.ajmz-q-tray .ajmz-q-btn--add{ background:#fff; border-color:#fff; color:var(--ajmz-q-ink) }
.ajmz-q-tray .ajmz-q-btn--add:hover{ background:var(--ajmz-q-paper) }
.ajmz-q-tray .ajmz-q-btn--ghost{ background:transparent; border-color:rgba(255,255,255,.45); color:#fff }
.ajmz-q-tray .ajmz-q-btn--ghost:hover{ background:rgba(255,255,255,.12); border-color:#fff; color:#fff }
.ajmz-q-tray-x{
  position:absolute; top:-13px; right:18px; width:26px; height:26px; border-radius:50%;
  border:1px solid var(--ajmz-q-line); background:#fff; color:var(--ajmz-q-muted);
  font-size:15px; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center; padding:0;
}
.ajmz-q-tray-x:hover{ color:var(--ajmz-q-ink); border-color:var(--ajmz-q-copper) }

/* 有底栏时右下角悬浮件自动让位。
   ⚠️ 这里**只声明底栏自己的尺寸**，抬多少由共享层 0.3 节的
      --ajmz-fab-bottom 公式算（底栏高 + 关闭按钮外伸 + 间隙）。
   以前两个文件各写一套硬编码，注释写「间隙 8px」实测却空出 36px —— 同一个
   数字散在两边就一定失衡，别再往这里写 bottom。
   高度实测：>820px 为 64，<=820px 为 62，<=520px 为 60。 */
body.ajmz-q-has-tray{
  --ajmz-tray-h: 64px;
  --ajmz-tray-protrude: 13px;   /* 右上角那个关闭按钮伸出底栏的高度 */
}

/* ---------------------------------------------------------------------------
   D. 询价单抽屉
   --------------------------------------------------------------------------- */
.ajmz-q-veil{
  position:fixed; inset:0; z-index:419; background:rgba(16,24,34,.42);
  opacity:0; pointer-events:none; transition:opacity .2s ease;
}
.ajmz-q-veil.is-on{ opacity:1; pointer-events:auto }
.ajmz-q-drawer{
  position:fixed; top:0; right:0; bottom:0; z-index:420;
  width:min(430px,100%); background:#fff; display:flex; flex-direction:column;
  box-shadow:-20px 0 60px rgba(20,26,33,.24);
  transform:translateX(102%); transition:transform .26s ease;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--ajmz-q-ink);
}
.ajmz-q-drawer.is-on{ transform:translateX(0) }
.ajmz-q-dhead{
  flex:none; display:flex; align-items:center; gap:10px;
  padding:15px 18px; background:var(--ajmz-q-ink); color:#fff;
}
.ajmz-q-dhead b{ font-size:15.5px; font-weight:700 }
.ajmz-q-dhead em{ font-style:normal; font-size:12.5px; color:rgba(255,255,255,.66); display:block; margin-top:2px }
.ajmz-q-dhead .ajmz-q-x{
  margin-left:auto; width:32px; height:32px; border-radius:8px; border:1px solid rgba(255,255,255,.3);
  background:transparent; color:#fff; font-size:18px; line-height:1; cursor:pointer;
}
.ajmz-q-dhead .ajmz-q-x:hover{ background:rgba(255,255,255,.14) }
.ajmz-q-dbody{ flex:1; overflow-y:auto; padding:14px 16px; -webkit-overflow-scrolling:touch }
.ajmz-q-row{
  display:flex; gap:12px; padding:12px 0; border-bottom:1px solid #F0EDE8; align-items:flex-start;
}
.ajmz-q-row:last-child{ border-bottom:0 }
.ajmz-q-row-img{
  width:62px; height:62px; border-radius:9px; border:1px solid var(--ajmz-q-line);
  background:var(--ajmz-q-paper); overflow:hidden; flex:none;
}
.ajmz-q-row-img img{ width:100%; height:100%; object-fit:contain; display:block }
.ajmz-q-row-main{ flex:1; min-width:0 }
.ajmz-q-row-main a{
  font-size:14.5px; font-weight:600; color:var(--ajmz-q-ink);
  text-decoration:none; display:block; line-height:1.35;
}
.ajmz-q-row-main a:hover{ color:var(--ajmz-q-copper); text-decoration:underline }
.ajmz-q-row-cat{ font-size:12px; color:var(--ajmz-q-muted); margin-top:3px }
.ajmz-q-row-qty{ display:flex; align-items:center; gap:8px; margin-top:9px }
.ajmz-q-row-qty label{ font-size:12px; color:var(--ajmz-q-muted) }
.ajmz-q-row-qty input{
  width:110px; height:32px; border:1px solid var(--ajmz-q-line); border-radius:7px;
  padding:0 9px; font-size:13px; font-family:inherit; color:var(--ajmz-q-ink); background:#fff;
}
.ajmz-q-row-qty input:focus{ outline:2px solid rgba(154,107,63,.35); border-color:var(--ajmz-q-copper) }
.ajmz-q-row-del{
  border:0; background:transparent; color:var(--ajmz-q-muted); cursor:pointer;
  font-size:19px; line-height:1; padding:2px 4px; border-radius:6px; flex:none;
}
.ajmz-q-row-del:hover{ color:var(--ajmz-q-err); background:#FDF2F2 }
.ajmz-q-empty{ text-align:center; padding:56px 20px; color:var(--ajmz-q-muted) }
.ajmz-q-empty svg{ width:46px; height:46px; opacity:.32; margin-bottom:12px }
.ajmz-q-empty p{ margin:0 0 6px; font-size:15px }
.ajmz-q-empty small{ font-size:13px; line-height:1.6; display:block }
.ajmz-q-dfoot{ flex:none; border-top:1px solid var(--ajmz-q-line); padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px)); background:var(--ajmz-q-paper) }
.ajmz-q-dfoot .ajmz-q-btn{ width:100%; height:48px; margin-bottom:9px; border-radius:10px }
.ajmz-q-dfoot .ajmz-q-btn:last-child{ margin-bottom:0 }
.ajmz-q-dnote{
  font-size:12px; color:var(--ajmz-q-muted); line-height:1.6; margin:0 0 11px; text-align:center;
}
.ajmz-q-clear{
  background:none; border:0; color:var(--ajmz-q-muted); font-size:12.5px;
  cursor:pointer; text-decoration:underline; padding:0; font-family:inherit;
}

/* ---------------------------------------------------------------------------
   E. 表单页：已选产品 + 附件上传
   --------------------------------------------------------------------------- */
.ajmz-q-picks{
  border:1px solid var(--ajmz-q-line); border-radius:12px; background:var(--ajmz-q-paper);
  padding:16px 18px; margin:0 0 26px;
}
/* 标题里那个袋子图标必须自己给尺寸：icon('basket') 没有 class，容器又是 flex，
   线上实测会被撑到 921x921px（询价单非空时买家可见）。 */
.ajmz-q-picks h3 svg{ width:17px; height:17px; flex:none }
.ajmz-q-picks h3{
  margin:0 0 4px; font-size:15px; font-weight:700; color:var(--ajmz-q-ink);
  display:flex; align-items:center; gap:8px;
}
.ajmz-q-picks h3 .ajmz-q-count{
  background:var(--ajmz-q-copper); color:#fff; font-size:12px; font-weight:700;
  min-width:20px; height:20px; border-radius:999px; display:inline-flex;
  align-items:center; justify-content:center; padding:0 6px;
}
.ajmz-q-picks > p{ margin:0 0 12px; font-size:12.5px; color:var(--ajmz-q-muted) }
.ajmz-q-pick{
  display:flex; align-items:center; gap:11px; padding:9px 0; border-top:1px dashed var(--ajmz-q-line);
}
.ajmz-q-pick:first-of-type{ border-top:0 }
.ajmz-q-pick img{
  width:46px; height:46px; object-fit:contain; border-radius:8px;
  border:1px solid var(--ajmz-q-line); background:#fff; flex:none;
}
.ajmz-q-pick-main{ flex:1; min-width:0 }
.ajmz-q-pick-main a{ font-size:14px; font-weight:600; color:var(--ajmz-q-ink); text-decoration:none }
.ajmz-q-pick-main a:hover{ color:var(--ajmz-q-copper) }
.ajmz-q-pick-main small{ display:block; font-size:12px; color:var(--ajmz-q-muted); margin-top:2px }
.ajmz-q-pick-main input{
  width:104px; height:30px; margin-top:6px; border:1px solid var(--ajmz-q-line);
  border-radius:6px; padding:0 8px; font-size:12.5px; font-family:inherit; color:var(--ajmz-q-ink);
}
.ajmz-q-pick-del{
  border:0; background:transparent; color:var(--ajmz-q-muted); cursor:pointer;
  font-size:18px; line-height:1; padding:2px 5px; border-radius:6px; flex:none;
}
.ajmz-q-pick-del:hover{ color:var(--ajmz-q-err); background:#FDF2F2 }

/* 附件上传 */
.ajmz-q-files{ margin:26px 0 4px }
.ajmz-q-files-head{
  display:flex; align-items:baseline; gap:9px; margin-bottom:9px; flex-wrap:wrap;
}
.ajmz-q-files-head h3{ margin:0; font-size:15px; font-weight:700; color:var(--ajmz-q-ink) }
.ajmz-q-files-head span{ font-size:12.5px; color:var(--ajmz-q-muted) }
.ajmz-q-drop{
  border:2px dashed var(--ajmz-q-line); border-radius:12px; background:var(--ajmz-q-paper);
  padding:22px 18px; text-align:center; cursor:pointer;
  transition:border-color .16s ease, background .16s ease;
}
.ajmz-q-drop:hover,.ajmz-q-drop.is-over{ border-color:var(--ajmz-q-copper); background:#FBF6F0 }
.ajmz-q-drop.is-busy{ opacity:.65; pointer-events:none }
.ajmz-q-drop svg{ width:26px; height:26px; color:var(--ajmz-q-copper); display:block; margin:0 auto 8px }
.ajmz-q-drop b{ display:block; font-size:14.5px; font-weight:600; color:var(--ajmz-q-ink) }
.ajmz-q-drop small{ display:block; font-size:12.5px; color:var(--ajmz-q-muted); margin-top:5px; line-height:1.6 }
.ajmz-q-list{ list-style:none; margin:12px 0 0; padding:0; display:grid; gap:8px }
.ajmz-q-file{
  display:flex; align-items:center; gap:11px; padding:9px 11px;
  border:1px solid var(--ajmz-q-line); border-radius:10px; background:#fff;
}
.ajmz-q-file img{
  width:42px; height:42px; object-fit:cover; border-radius:7px;
  border:1px solid var(--ajmz-q-line); background:var(--ajmz-q-paper); flex:none;
}
.ajmz-q-file-ico{
  width:42px; height:42px; border-radius:7px; flex:none; display:flex;
  align-items:center; justify-content:center; font-size:11px; font-weight:700;
  background:var(--ajmz-q-paper); border:1px solid var(--ajmz-q-line); color:var(--ajmz-q-copper);
}
.ajmz-q-file-main{ flex:1; min-width:0 }
.ajmz-q-file-main b{
  display:block; font-size:13.5px; font-weight:600; color:var(--ajmz-q-ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.ajmz-q-file-main small{ font-size:12px; color:var(--ajmz-q-muted) }
.ajmz-q-file-main small.is-err{ color:var(--ajmz-q-err) }
.ajmz-q-file-x{
  border:0; background:transparent; color:var(--ajmz-q-muted); cursor:pointer;
  font-size:18px; line-height:1; padding:2px 6px; border-radius:6px; flex:none;
}
.ajmz-q-file-x:hover{ color:var(--ajmz-q-err); background:#FDF2F2 }
.ajmz-q-hint{ font-size:12.5px; color:var(--ajmz-q-err); margin:9px 0 0 }

/* ---------------------------------------------------------------------------
   F. 询盘助手：附件按钮 + 气泡里的附件条
   --------------------------------------------------------------------------- */
.ajmz-bot-send{ display:flex; align-items:center; gap:6px }
.ajmz-bot-clip{
  flex:none; width:36px; height:36px; border-radius:9px; cursor:pointer;
  border:1px solid #E2DDD5; background:#fff; color:#6B7280; padding:0;
  display:flex; align-items:center; justify-content:center;
}
.ajmz-bot-clip:hover{ border-color:var(--ajmz-q-copper); color:var(--ajmz-q-copper) }
.ajmz-bot-clip svg{ width:18px; height:18px }
.ajmz-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px }
.ajmz-chip-file{
  display:inline-flex; align-items:center; gap:6px; max-width:100%;
  background:#F4F1EC; border:1px solid #E2DDD5; border-radius:7px;
  padding:4px 8px; font-size:12px; color:#16283C;
}
.ajmz-chip-file img{ width:22px; height:22px; object-fit:cover; border-radius:4px; display:block }
.ajmz-chip-file em{
  font-style:normal; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  max-width:150px; display:block;
}
.ajmz-chip-file b{ font-weight:600; color:var(--ajmz-q-copper); flex:none }
/* 对话里列出询价单 */
.ajmz-picks{
  list-style:none; margin:6px 0 0; padding:0; display:grid; gap:5px;
  counter-reset:pk;
}
.ajmz-picks li{
  position:relative; padding-left:20px; font-size:13.5px; line-height:1.45;
}
.ajmz-picks li::before{
  counter-increment:pk; content:counter(pk);
  position:absolute; left:0; top:0; width:14px; height:14px; margin-top:3px;
  border-radius:50%; background:var(--ajmz-q-copper); color:#fff;
  font-size:9.5px; font-weight:700; line-height:14px; text-align:center;
}
.ajmz-picks li a{ color:var(--ajmz-q-ink); font-weight:600; text-decoration:none }
.ajmz-picks li a:hover{ color:var(--ajmz-q-copper); text-decoration:underline }
.ajmz-picks li em{ font-style:normal; color:var(--ajmz-q-muted) }
.ajmz-picks-tip{ font-size:12px; color:var(--ajmz-q-muted); margin:9px 0 0; line-height:1.5 }

/* ---------------------------------------------------------------------------
   G. 千人千面：首页「你浏览过的产品」
   --------------------------------------------------------------------------
   占位元素在首页 HTML 里（<section id="recent" data-ajmz-ui="recent" hidden>），
   由 quote.v3.js 在「本地有浏览历史」时填内容并取消 hidden —— 新访客看不到这一块，
   所以首页对首次到访者仍然只有「材料与产能」，不会露出空货架。
   ========================================================================== */
[data-ajmz-ui="recent"][hidden]{ display:none }
.recent-head{
  display:flex; flex-wrap:wrap; gap:var(--space-4) var(--space-8);
  align-items:flex-end; justify-content:space-between; margin-bottom:var(--space-8);
}
.recent-head h2{ margin:0 }
.recent-head .eyebrow{ margin-bottom:var(--space-2) }
.recent-tools{ display:flex; align-items:center; gap:var(--space-6); font-size:.875rem }
.recent-tools a{ color:var(--color-copper-700); text-decoration:none }
.recent-tools a:hover{ text-decoration:underline }
.recent-clear{
  background:none; border:0; padding:0; cursor:pointer; font:inherit;
  color:var(--color-muted); text-decoration:underline;
}
.recent-clear:hover{ color:var(--color-ink) }
.recent-grid{ display:grid; gap:var(--space-6) }
@media (min-width:640px){ .recent-grid{ grid-template-columns:repeat(2,1fr) } }
@media (min-width:1024px){ .recent-grid{ grid-template-columns:repeat(4,1fr) } }
.recent-card{
  background:var(--color-card); border:1px solid var(--color-line);
  border-radius:var(--radius-card); overflow:hidden; box-shadow:var(--shadow-1);
  display:flex; flex-direction:column;
}
.recent-media{
  display:block; aspect-ratio:1/1; background:var(--color-paper-2);
  border-bottom:1px solid var(--color-line);
}
.recent-media img{ width:100%; height:100%; object-fit:contain; display:block; transition:opacity .18s ease }
.recent-media:hover img{ opacity:.88 }
.recent-body{ padding:var(--space-4); display:flex; flex-direction:column; gap:var(--space-2); flex:1 }
.recent-cat{
  margin:0; font-size:.6875rem; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--color-muted);
}
.recent-body h3{ margin:0; font-size:.9375rem; line-height:1.35 }
.recent-body h3 a{ color:inherit; text-decoration:none }
.recent-body h3 a:hover{ color:var(--color-copper-700); text-decoration:underline }
.recent-add{ margin-top:auto; padding-top:var(--space-3) }
.recent-add-btn{
  width:100%; min-height:38px; padding:8px 12px; cursor:pointer; font:inherit;
  font-size:.875rem; font-weight:600; border-radius:var(--radius-control);
  border:1px solid var(--color-copper-600); background:transparent; color:var(--color-copper-700);
  transition:background .16s ease, color .16s ease;
}
.recent-add-btn:hover{ background:var(--color-copper-600); color:#fff }
.recent-add-btn.is-on{
  background:var(--color-copper-100); border-color:var(--color-copper-600); color:var(--color-copper-900);
}

/* ---------------------------------------------------------------------------
   H. 千人千面：询价页表单右侧的推荐栏
   --------------------------------------------------------------------------
   版面上是 /request-a-quote/ 里「表单 | 侧栏」两栏：
     .raq-grid  把原来单列的内容切成两栏
     .raq-aside 右侧那一栏；里面 [data-ajmz-ui="reco"] 由 quote.v4.js 填内容
   >=1040px 才分栏：表单 720px（.inquiry-form 自己的 max-width）+ 侧栏 340px
   + 48px 间距 = 1108px < --wrap 1180px，刚好放得下。
   窄屏叠成一列，并把推荐栏提到表单之前（order:-1）—— 表单第一个字段就是
   「产品类目」，先给几个具体产品，比让买家对着空下拉框空想有用得多。
   ========================================================================== */
.raq-grid{ display:grid; gap:48px; align-items:start }
.raq-aside{ min-width:0 }
@media (min-width:1040px){
  .raq-grid{ grid-template-columns:minmax(0,1fr) 340px }
  /* 表单很长（约 1000px），让侧栏跟着滚 */
  .raq-aside{ position:sticky; top:88px }
}
@media (max-width:1039px){
  .raq-grid{ gap:36px }
  .raq-aside{ order:-1 }
}

.ajmz-q-reco{
  border:1px solid var(--ajmz-q-line); border-radius:6px;
  background:#fff; overflow:hidden;
}
.ajmz-q-reco-head{
  padding:20px 20px 16px; background:var(--ajmz-q-paper);
  border-bottom:1px solid var(--ajmz-q-line);
}
.ajmz-q-reco-eyebrow{
  margin:0 0 6px; font-size:11px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ajmz-q-copper);
}
.ajmz-q-reco-head h2{ margin:0; font-size:1.0625rem; line-height:1.3; color:var(--ajmz-q-ink) }
.ajmz-q-reco-sub{ margin:8px 0 0; font-size:12.5px; line-height:1.5; color:var(--ajmz-q-muted) }
.ajmz-q-reco-list{ list-style:none; margin:0; padding:0 }
.ajmz-q-item{
  display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:12px;
  align-items:start; padding:14px 20px; border-bottom:1px solid var(--ajmz-q-line);
}
.ajmz-q-item:last-child{ border-bottom:0 }
.ajmz-q-item-media{
  display:block; width:64px; height:64px; overflow:hidden;
  border:1px solid var(--ajmz-q-line); border-radius:4px; background:var(--ajmz-q-paper);
}
.ajmz-q-item-media img{
  width:100%; height:100%; object-fit:contain; display:block;
  transition:opacity .18s ease;
}
.ajmz-q-item-media:hover img{ opacity:.86 }
.ajmz-q-item-body{ min-width:0; padding-top:2px }
.ajmz-q-item-title{ margin:0; font-size:13.5px; line-height:1.35; font-weight:600 }
.ajmz-q-item-title a{ color:var(--ajmz-q-ink); text-decoration:none }
.ajmz-q-item-title a:hover{ color:var(--ajmz-q-copper); text-decoration:underline }
.ajmz-q-item-why{ margin:4px 0 0; font-size:11.5px; line-height:1.4; color:var(--ajmz-q-muted) }
.ajmz-q-item-add{
  width:30px; height:30px; padding:0; cursor:pointer; flex:none;
  border:1px solid var(--ajmz-q-line); border-radius:50%; background:#fff;
  color:var(--ajmz-q-ink); display:flex; align-items:center; justify-content:center;
  transition:background .16s ease, color .16s ease, border-color .16s ease;
}
.ajmz-q-item-add svg{ width:15px; height:15px; display:block }
.ajmz-q-item-add:hover{
  border-color:var(--ajmz-q-copper); color:var(--ajmz-q-copper); background:var(--ajmz-q-paper);
}
.ajmz-q-item-add.is-on{
  background:var(--ajmz-q-copper); border-color:var(--ajmz-q-copper); color:#fff;
}
/* 加号 / 对勾切换。注意：这两个 svg 不能带 inline style，
   inline 的优先级高于任何类选择器，带了就永远切不过来。 */
.ajmz-q-item-add .ajmz-q-check{ display:none }
.ajmz-q-item-add.is-on .ajmz-q-add-icon{ display:none }
.ajmz-q-item-add.is-on .ajmz-q-check{ display:block }
.ajmz-q-reco-foot{
  margin:0; padding:12px 20px; border-top:1px solid var(--ajmz-q-line);
  background:var(--ajmz-q-paper); font-size:12.5px;
}
.ajmz-q-reco-foot a{ color:var(--ajmz-q-copper); font-weight:600; text-decoration:none }
.ajmz-q-reco-foot a:hover{ text-decoration:underline }

/* ---------------------------------------------------------------------------
   I. 响应式
   --------------------------------------------------------------------------- */
@media (max-width:560px){
  .ajmz-q-item{ grid-template-columns:56px minmax(0,1fr) auto; gap:10px; padding:13px 16px }
  .ajmz-q-item-media{ width:56px; height:56px }
  .ajmz-q-reco-head, .ajmz-q-reco-foot{ padding-left:16px; padding-right:16px }
}
@media (max-width:820px){
  .ajmz-q-tray-in{ padding:0 14px; gap:11px }
  .ajmz-q-tray-txt span{ display:none }
  .ajmz-q-tray-btns .ajmz-q-btn--ghost{ display:none }
  .ajmz-q-thumb,.ajmz-q-more{ width:38px; height:38px }
  .ajmz-q-thumbs .ajmz-q-thumb:nth-child(n+3){ display:none }
  body.ajmz-q-has-tray{ --ajmz-tray-h: 62px }   /* 缩略图 44->38，底栏变矮 */
}
@media (max-width:520px){
  body.ajmz-q-has-tray{ --ajmz-tray-h: 60px }
  .recent-head{ margin-bottom:var(--space-6) }
  .recent-tools{ gap:var(--space-4) }
  .ajmz-q-pdp{ gap:8px }
  .ajmz-q-btn{ height:44px; padding:0 16px; font-size:14.5px; flex:1 1 auto }
  .ajmz-q-drawer{ width:100% }
  .ajmz-q-fav{ width:32px; height:32px; top:8px; right:8px }
  .ajmz-q-tray-btns .ajmz-q-btn{ height:40px; padding:0 14px; font-size:14px }
  .ajmz-q-picks{ padding:14px }
}
@media print{
  .ajmz-q-tray,.ajmz-q-drawer,.ajmz-q-veil,.ajmz-q-fav{ display:none !important }
}
