/* ===== 来自 shop.html ===== */

.shop-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;}
.shop-modal.on{display:flex;}
.shop-modal-mask{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(2px);}
.shop-modal-dialog{position:relative;z-index:1;width:92%;max-width:560px;max-height:88vh;background:#fff;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.25);overflow:hidden;display:flex;flex-direction:column;animation:shopModalIn .25s ease;}
@keyframes shopModalIn{from{transform:translateY(-20px) scale(.97);opacity:0;}to{transform:translateY(0) scale(1);opacity:1;}}
.shop-modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #eee;}
.shop-modal-head h3{margin:0;font-size:17px;font-weight:600;color:#222;display:flex;align-items:center;gap:8px;}
.shop-modal-head h3 i{color:#8f7040;}
.shop-modal-close{width:32px;height:32px;border:none;background:transparent;font-size:24px;color:#999;cursor:pointer;border-radius:50%;transition:.2s;line-height:1;}
.shop-modal-close:hover{background:#f5f5f5;color:#333;}
.shop-modal-body{padding:20px 22px;overflow:auto;}
.shop-q-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;}
.shop-q-row{flex:1;min-width:160px;display:flex;flex-direction:column;gap:6px;}
.shop-q-form-single .shop-q-row{flex:1 1 auto;min-width:0;}
.shop-q-row label{font-size:13px;color:#666;}
.shop-q-row input{height:40px;border:1px solid #ddd;border-radius:8px;padding:0 12px;font-size:14px;outline:none;transition:.2s;background:#fff;}
.shop-q-row input:focus{border-color:#8f7040;box-shadow:0 0 0 3px rgba(143,112,64,.12);}
.shop-q-or{color:#999;font-size:12px;padding-bottom:8px;}
.shop-q-btn{height:40px;padding:0 22px;border:none;border-radius:8px;background:#8f7040;color:#fff;font-size:14px;cursor:pointer;transition:.2s;font-weight:600;}
.shop-q-btn:hover{background:#6f5630;}
.shop-q-tip{flex:1 1 100%;font-size:12px;color:#999;margin-top:4px;}
.shop-q-result{margin-top:16px;display:flex;flex-direction:column;gap:12px;}
.shop-q-empty{padding:14px;background:#fff8e6;border:1px solid #ffe0a3;border-radius:8px;color:#a16700;font-size:14px;text-align:center;}
.shop-q-card{background:#fafbfc;border:1px solid #eee;border-radius:10px;padding:14px 16px;}
.shop-q-card-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed #e5e5e5;padding-bottom:8px;margin-bottom:10px;gap:8px;}
.shop-q-card-head .sn{font-weight:600;color:#222;font-size:14px;word-break:break-all;}
.shop-q-st{font-size:12px;padding:2px 10px;border-radius:20px;background:#eee;color:#666;white-space:nowrap;}
.shop-q-st-0{background:#f1f1f1;color:#888;}
.shop-q-st-1{background:#f6f1e6;color:#8f7040;}
.shop-q-st-2{background:#fff1e0;color:#d97706;}
.shop-q-st-3{background:#e8f8ee;color:#16a34a;}
.shop-q-st-4{background:#fde8e8;color:#dc2626;}
.shop-q-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 14px;font-size:14px;color:#333;}
.shop-q-grid>div span{display:inline-block;min-width:54px;color:#999;margin-right:4px;}
.shop-q-ship{margin-top:10px;padding:8px 10px;background:#fff;border-radius:6px;font-size:13px;color:#444;border:1px dashed #eee;}
.shop-q-ship strong{color:#8f7040;}
.shop-q-load{padding:18px;text-align:center;color:#999;font-size:14px;}
@media (max-width:520px){.shop-q-grid{grid-template-columns:1fr;}.shop-modal-head h3{font-size:16px;}.shop-modal-body{padding:16px;}}

/* ===== 来自 shop.html ===== */

/* ===== 购物车弹窗（基于 .shop-modal 基础样式扩展） ===== */
.shop-cart-dialog{ max-width:720px; }
/* ===== 购物车空白态美化 ===== */
.shop-c-load{ padding:46px 20px; text-align:center; color:#999; font-size:14px; }
.shop-c-empty{ padding:56px 24px 48px; text-align:center; }
.shop-c-empty-icon{
  width:110px; height:110px; margin:0 auto 22px;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(143,112,64,.08) 0%,rgba(143,112,64,.20) 100%);
  box-shadow:0 8px 24px rgba(143,112,64,.12);
}
.shop-c-empty-icon i{ font-size:48px; color:var(--nx-primary,#6f5630); }
.shop-c-empty-title{ margin:0 0 8px; font-size:17px; font-weight:700; color:var(--nx-text,#1f2937); letter-spacing:.5px; }
.shop-c-empty-sub{ margin:0 0 26px; font-size:13.5px; color:var(--nx-text-light,#6b7280); }
.shop-c-empty .shop-c-btn-primary{ min-width:140px; padding:11px 30px; }
/* 黑夜模式：购物车空白态 */
body.dark-mode .shop-c-empty-icon{
  background:linear-gradient(135deg,rgba(96,165,250,.14) 0%,rgba(96,165,250,.28) 100%);
  box-shadow:0 8px 24px rgba(0,0,0,.35);
}
body.dark-mode .shop-c-empty-icon i{ color:#d8c29a; }
body.dark-mode .shop-c-empty-title{ color:#e2e8f0; }
body.dark-mode .shop-c-empty-sub{ color:#94a3b8; }
.shop-c-list{ display:flex; flex-direction:column; gap:10px; }
.shop-c-item{ display:flex; align-items:center; gap:12px; background:#fafbfc; border:1px solid #eee; border-radius:10px; padding:12px 14px; }
.shop-c-thumb{
  width:60px; height:60px; flex-shrink:0;
  border-radius:8px; overflow:hidden;
  background:linear-gradient(135deg,#f1f5f9,#e2e8f0);
  display:flex; align-items:center; justify-content:center;
}
.shop-c-thumb a{ display:flex; width:100%; height:100%; align-items:center; justify-content:center; text-decoration:none; color:#94a3b8; font-size:22px; }
.shop-c-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.shop-c-thumb:hover img{ transform:scale(1.08); }
body.dark-mode .shop-c-thumb{ background:linear-gradient(135deg,#0f172a,#1e293b); }
body.dark-mode .shop-c-thumb a{ color:#475569; }
.shop-c-name{ flex:1; min-width:0; }
.shop-c-name a{ display:block; color:#1f2937; font-size:14px; font-weight:500; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.shop-c-name a:hover{ color:#8f7040; }
.shop-c-spec{ margin-top:3px; display:inline-block; font-size:12px; color:#6b7280; background:#eef1f6; border-radius:5px; padding:1px 8px; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.dark-mode .shop-c-spec{ background:#334155; color:#cbd5e1; }
.shop-c-meta{ margin-top:3px; font-size:12px; color:#999; }
.shop-c-meta em{ font-style:normal; color:#8f7040; font-weight:700; font-size:14px; margin-left:10px; }
.shop-c-meta .shop-c-orig{ color:#999; font-size:12px; margin-left:6px; text-decoration:line-through; }
.shop-c-qty{ display:inline-flex; align-items:center; border:1px solid #d8dee6; border-radius:8px; background:#fff; overflow:hidden; }
.shop-c-qty button{ width:30px; height:32px; border:none; background:#f1f5f9; color:#475569; font-size:16px; line-height:1; cursor:pointer; transition:background .15s,color .15s; }
.shop-c-qty button:hover{ background:#8f7040; color:#fff; }
.shop-c-qty button:disabled{ opacity:.5; cursor:not-allowed; }
.shop-c-qty input{ width:46px; height:32px; border:none; border-left:1px solid #eef1f5; border-right:1px solid #eef1f5; text-align:center; font-size:14px; color:#1f2937; background:#fff; -moz-appearance:textfield; appearance:textfield; }
.shop-c-qty input::-webkit-outer-spin-button,.shop-c-qty input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.shop-c-del{ color:#8f7040; text-decoration:none; font-size:13px; padding:5px 12px; border:1px solid #e6d9c2; border-radius:7px; transition:all .15s; white-space:nowrap; }
.shop-c-del:hover{ background:#f6f1e6; text-decoration:none; }
.shop-c-foot{ margin-top:16px; padding-top:14px; border-top:1px dashed #e5e5e5; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.shop-c-total{ font-size:15px; color:#333; }
.shop-c-total strong{ color:#8f7040; font-size:22px; font-weight:800; margin-left:4px; }
.shop-c-actions{ display:flex; gap:10px; }
.shop-c-btn{ display:inline-flex; align-items:center; justify-content:center; padding:10px 24px; border-radius:9px; text-decoration:none; font-weight:600; font-size:14px; cursor:pointer; border:none; transition:background .2s,transform .15s; }
.shop-c-btn-ghost{ background:#fff; color:#334155; border:1px solid #d8dee6; }
.shop-c-btn-ghost:hover{ background:#f1f5f9; }
.shop-c-btn-primary{ background:linear-gradient(135deg,#b3955c,#8f7040); color:#fff; box-shadow:0 4px 12px rgba(143,112,64,.28); }
.shop-c-btn-primary:hover{ background:linear-gradient(135deg,#8f7040,#6f5630); transform:translateY(-1px); }
body.dark-mode .shop-c-item{ background:#1e293b; border-color:#273449; }
body.dark-mode .shop-c-name a{ color:#e2e8f0; }
body.dark-mode .shop-c-qty{ background:#0f172a; border-color:#334155; }
body.dark-mode .shop-c-qty button{ background:#1e293b; color:#cbd5e1; }
body.dark-mode .shop-c-qty input{ background:#0f172a; color:#e2e8f0; border-color:#334155; }
body.dark-mode .shop-c-btn-ghost{ background:#1e293b; border-color:#334155; color:#cbd5e1; }
body.dark-mode .shop-c-btn-ghost:hover{ background:#273449; }
/* 黑夜模式：弹窗外壳（之前在暗色下还是白底，需整体重染） */
body.dark-mode .shop-modal-dialog{ background:#1e293b; box-shadow:0 20px 50px rgba(0,0,0,.55); }
body.dark-mode .shop-modal-head{ border-bottom-color:#334155; }
body.dark-mode .shop-modal-head h3{ color:#e2e8f0; }
body.dark-mode .shop-modal-head h3 i{ color:#d8c29a; }
body.dark-mode .shop-modal-close{ color:#94a3b8; }
body.dark-mode .shop-modal-close:hover{ background:#334155; color:#e2e8f0; }
/* 黑夜模式：购物车底栏 */
body.dark-mode .shop-c-foot{ border-top-color:#334155; }
body.dark-mode .shop-c-total{ color:#e2e8f0; }
body.dark-mode .shop-c-meta{ color:#94a3b8; }
body.dark-mode .shop-c-meta .shop-c-orig{ color:#94a3b8; }
body.dark-mode .shop-c-del{ color:#d8c29a; border-color:#6f5630; }
body.dark-mode .shop-c-del:hover{ background:rgba(30,58,138,.25); }
/* 黑夜模式：主按钮（红色在深底下保持亮度） */
body.dark-mode .shop-c-btn-primary{ background:#b3955c; box-shadow:0 4px 12px rgba(179,149,92,.32); }
body.dark-mode .shop-c-btn-primary:hover{ background:#8f7040; color:#fff; }
@media(max-width:560px){
  .shop-c-item{ flex-wrap:wrap; }
  .shop-c-qty input{ width:40px; }
  .shop-c-foot{ flex-direction:column; align-items:stretch; }
  .shop-c-actions{ flex-direction:column; }
  .shop-c-btn{ width:100%; }
}

/* ===== 来自 shop_success.html ===== */

.xqm-shop{ --p:#8f7040; --pd:#6f5630; --green:#16a34a; --text:#111827; --muted:#6b7280; --line:#e5e7eb; --card:#fff; }
.xqm-shop,.xqm-shop *{ box-sizing:border-box; }
/* 主体：电脑端固定 1200px 居中，主题容器更窄时以主题为准；上下留白加大 */
.xqm-shop-center{ width:100%; max-width:min(1200px,var(--container,1200px)); min-width:0; margin:0 auto; padding:clamp(36px,4.4vw,64px) clamp(15px,2vw,24px); }
.xqm-success{ position:relative; overflow:hidden; width:100%; max-width:640px; margin:0 auto; padding:clamp(36px,5vw,64px) clamp(18px,3vw,32px); text-align:center; background:var(--card); border:1px solid var(--line); border-radius:20px; box-shadow:0 1px 2px rgba(15,23,42,.04),0 26px 50px -40px rgba(15,23,42,.6); }
/* 角落氛围光斑（纯装饰，不占位不遮挡） */
.xqm-success::before,.xqm-success::after{ content:''; position:absolute; border-radius:50%; pointer-events:none; }
.xqm-success::before{ width:200px; height:200px; left:-80px; top:-80px; background:radial-gradient(circle at 35% 35%, rgba(179,149,92,.16), transparent 70%); }
.xqm-success::after{ width:240px; height:240px; right:-100px; bottom:-100px; background:radial-gradient(circle at 65% 65%, rgba(34,197,94,.18), transparent 70%); }
.xqm-success > *{ position:relative; z-index:1; }

/* 成功图标 */
.xqm-success-icon{ position:relative; width:88px; height:88px; margin:0 auto 28px; }
.xqm-circle{ position:absolute; inset:0; border-radius:50%; background:linear-gradient(135deg,#22c55e,#16a34a); opacity:0; transform:scale(.3); animation:xqm-pop .45s cubic-bezier(.18,.89,.32,1.28) forwards; box-shadow:0 12px 32px rgba(22,163,74,.42); }
.xqm-circle::after{ content:''; position:absolute; inset:-8px; border-radius:50%; border:2px solid rgba(34,197,94,.22); animation:xqm-ring 1.4s ease-out .5s infinite; }
.xqm-success-icon i{ position:relative; z-index:1; display:flex; align-items:center; justify-content:center; width:88px; height:88px; font-size:42px; color:#fff; }
.xqm-success-title{ margin:0 0 18px; font-size:clamp(18px,1.9vw,22px); color:var(--text); font-weight:700; letter-spacing:.4px; }

/* 信息区 */
.xqm-success-info{ margin:18px auto 0; max-width:440px; display:flex; flex-direction:column; gap:10px; }
.xqm-success-line{ display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; margin:0; padding:12px 16px; background:#f8fafc; border:1px solid var(--line); border-radius:12px; font-size:14px; }
.xqm-success-label{ color:var(--muted); font-size:13px; }
.xqm-success-value{ color:var(--text); font-weight:600;  font-size:14px; }
.xqm-success-amt{ color:var(--green); font-weight:800; font-size:19px; font-variant-numeric:tabular-nums; }

/* 复制按钮 */
.xqm-copy-btn{ display:inline-flex; align-items:center; gap:5px; padding:5px 11px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--p); font-size:12px; font-weight:500; cursor:pointer; font-family:inherit; transition:all .15s; }
.xqm-copy-btn:hover{ background:#f6f1e6; border-color:var(--p); }
.xqm-copy-btn:focus-visible{ outline:2px solid var(--p); outline-offset:2px; }
.xqm-copy-btn.copied{ background:#dcfce7; border-color:#22c55e; color:#16a34a; }
.xqm-copy-btn i{ font-size:11px; }

.xqm-success-warn{ max-width:480px; margin:16px auto 0; display:flex; align-items:flex-start; gap:8px; text-align:left; background:#fef2f2; border:1px solid #fecaca; color:#991b1b; padding:12px 14px; border-radius:12px; font-size:13px; line-height:1.65; }
.xqm-success-warn i{ color:#dc2626; margin-top:2px; font-size:13px; }
.xqm-success-tip{ color:var(--muted); margin:22px 28px 0; padding-top:18px; border-top:1px dashed var(--line); font-size:13px; line-height:1.7; }
.xqm-success-actions{ margin-top:28px; display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.xqm-btn{ display:inline-flex; align-items:center; justify-content:center; padding:10px 28px; border-radius:8px; text-decoration:none; font-weight:600; font-size:14px; cursor:pointer; border:none; transition:all .2s; }
.xqm-btn-primary{ background:var(--p); color:#fff !important; box-shadow:0 2px 8px rgba(143,112,64,.25); }
.xqm-btn-primary:hover{ background:var(--pd); transform:translateY(-1px); box-shadow:0 4px 12px rgba(143,112,64,.3); }
.xqm-btn-ghost{ background:#fff; color:var(--text) !important; border:1px solid var(--line); }
.xqm-btn-ghost:hover{ background:#f9fafb; }

@keyframes xqm-pop{ 0%{opacity:0;transform:scale(.3);} 60%{opacity:1;transform:scale(1.08);} 100%{opacity:1;transform:scale(1);} }
@keyframes xqm-ring{ 0%{transform:scale(1);opacity:.8;} 100%{transform:scale(1.4);opacity:0;} }

body.dark-mode .xqm-shop{ --line:#374151; --text:#f3f4f6; --muted:#9ca3af; --card:#1f2937; }
body.dark-mode .xqm-success{ background:#1f2937; border-color:#374151; box-shadow:none; }
body.dark-mode .xqm-success-title{ color:#f3f4f6; }
body.dark-mode .xqm-success-line{ background:#111827; border-color:#374151; }
body.dark-mode .xqm-success-amt{ color:#4ade80; }
body.dark-mode .xqm-success-label{ color:#9ca3af; }
body.dark-mode .xqm-success-value{ color:#f3f4f6; }
body.dark-mode .xqm-success-tip{ color:#6b7280; }
body.dark-mode .xqm-success-warn{ background:#3a1517; border-color:#5c1a1e; color:#fca5a5; }
body.dark-mode .xqm-success-warn i{ color:#fca5a5; }
body.dark-mode .xqm-btn-ghost{ background:#1f2937; border-color:#374151; color:#f3f4f6 !important; }
body.dark-mode .xqm-btn-ghost:hover{ background:#111827; }
body.dark-mode .xqm-copy-btn{ background:#1f2937; border-color:#374151; color:#d8c29a; }
body.dark-mode .xqm-copy-btn:hover{ background:#1e293b; border-color:#8f7040; }
body.dark-mode .xqm-copy-btn.copied{ background:#064e3b; border-color:#059669; color:#6ee7b7; }

@media(max-width:768px){
  .xqm-shop-center{ padding:24px 12px; }
  .xqm-success{ padding:36px 18px; border-radius:16px; }
  .xqm-success-icon{ width:76px; height:76px; margin-bottom:22px; }
  .xqm-success-icon i{ width:76px; height:76px; font-size:36px; }
  .xqm-success-actions{ flex-direction:column; align-items:center; }
  .xqm-btn{ width:100%; max-width:260px; }
  .xqm-success-line{ flex-direction:column; gap:6px; padding:12px 14px; }
  .xqm-success-tip{ margin:18px 4px 0; padding-top:16px; }
}

/* ===== 成功页细节美化：信息行悬浮、金额行高亮、提示卡化、图标投影 ===== */
.xqm-success-line{ transition:border-color .2s, box-shadow .2s; }
.xqm-success-line:hover{ border-color:#e6d9c2; box-shadow:0 4px 14px -8px rgba(143,112,64,.35); }
.xqm-success-line:last-child{ background:linear-gradient(90deg,#f0fdf4,#f8fffb); border-color:#bbf7d0; }
.xqm-success-amt{ text-shadow:0 1px 0 rgba(22,163,74,.12); }
.xqm-success-tip{ max-width:460px; margin:22px auto 0; padding:14px 18px; background:#f8fafc; border:1px dashed #cbd5e1; border-radius:12px; }
.xqm-success-icon{ filter:drop-shadow(0 10px 22px rgba(22,163,74,.30)); }

/* ===== 来自 shop_pay.html ===== */

.xqm-shop{ --p:#8f7040; --pd:#6f5630; --pl:#f6f1e6; --line:#e5e7eb; --text:#111827; --muted:#6b7280; --card:#fff; }
.xqm-shop,.xqm-shop *{ box-sizing:border-box; }
/* 主体：电脑端固定 1200px 居中，主题容器更窄时以主题为准；上下留白加大 */
.xqm-shop-center{ width:100%; max-width:min(1200px,var(--container,1200px)); min-width:0; margin:0 auto; padding:clamp(44px,4.5vw,76px) clamp(15px,2vw,24px); }
/* 标题居中（本页只有标题，居中与下方支付卡片同轴） */
.xqm-shop-head{ display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; margin-bottom:24px; }
.xqm-shop-title{ display:flex; align-items:center; gap:12px; font-size:clamp(18px,1.5vw,22px); font-weight:700; color:var(--text); margin:0; letter-spacing:.3px; }
.xqm-shop-title i{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:12px; flex:0 0 auto;
  font-size:17px; color:#fff;
  background:linear-gradient(135deg,#b3955c,#8f7040);
  box-shadow:0 8px 18px -9px rgba(143,112,64,.9);
}

.xqm-paybox{ position:relative; overflow:hidden; width:100%; max-width:900px; margin:0 auto; padding:clamp(22px,3.2vw,36px); background:var(--card); border:1px solid var(--line); border-radius:18px; box-shadow:0 1px 2px rgba(15,23,42,.04),0 22px 44px -36px rgba(15,23,42,.6); }
.xqm-paybox::before{ content:''; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,#b3955c,#d8c29a 45%,#b3955c); }

/* 金额区（干净简洁，无大色块） */
.xqm-pay-amount-area{ text-align:center; padding:8px 0 18px; }
.xqm-pay-amount-label{ display:inline-flex; align-items:center; gap:12px; font-size:13px; color:var(--muted); letter-spacing:3px; margin-bottom:8px; }
.xqm-pay-amount-label::before,.xqm-pay-amount-label::after{ content:''; width:32px; height:1px; }
.xqm-pay-amount-label::before{ background:linear-gradient(90deg,transparent,#cbd5e1); }
.xqm-pay-amount-label::after{ background:linear-gradient(90deg,#cbd5e1,transparent); }
.xqm-pay-amount-value{ font-size:clamp(34px,5.4vw,46px); font-weight:800; color:var(--pd); letter-spacing:.5px; line-height:1.15; font-variant-numeric:tabular-nums; }

/* 订单号行 */
.xqm-pay-sn-row{ display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.xqm-pay-sn-label{ font-size:13px; color:var(--muted); }
.xqm-pay-sn-value{ font-size:14px; font-weight:600; color:var(--text);  letter-spacing:.5px; }
.xqm-copy-btn{ display:inline-flex; align-items:center; gap:5px; padding:5px 12px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--p); font-size:12px; font-weight:500; cursor:pointer; font-family:inherit; transition:all .15s; }
.xqm-copy-btn:hover{ background:var(--pl); border-color:var(--p); }
.xqm-copy-btn:focus-visible{ outline:2px solid var(--p); outline-offset:2px; }
.xqm-copy-btn.copied{ background:#dcfce7; border-color:#22c55e; color:#16a34a; }
.xqm-copy-btn i{ font-size:11px; }

/* 分割线 */
.xqm-divider{ height:1px; background:var(--line); margin:6px 0 22px; }

/* 选择支付方式标题 */
.xqm-pay-section-title{ display:flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:var(--text); margin-bottom:14px; }
.xqm-pay-section-title::before{ content:''; width:3px; height:14px; border-radius:2px; background:linear-gradient(180deg,#c9ab74,var(--p)); }

/* 支付方式：grid 自适应个数 —— 1~5 个都平分整行宽度，超出自动换行 */
.xqm-pay-methods{ display:grid; grid-template-columns:repeat(auto-fit, minmax(150px,1fr)); gap:14px; align-items:stretch; }
.xqm-pay-card{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; width:100%; min-width:0; padding:20px 12px 18px; border:1px solid var(--line); border-radius:14px; background:var(--card); box-shadow:0 1px 2px rgba(15,23,42,.04); cursor:pointer; font-family:inherit; transition:transform .2s, border-color .2s, box-shadow .2s, background .2s; }
.xqm-pay-card i{ display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:14px; font-size:26px; line-height:1; background:#f3f4f6; transition:transform .2s, background .2s; }
.xqm-pay-card span{ text-align:center; line-height:1.3; }
.xqm-pay-card-name{ font-size:14px; color:var(--text); font-weight:600; display:block; }
.xqm-pay-card-desc{ font-size:11.5px; color:var(--muted); display:none; }
.xqm-pay-card:hover{ transform:translateY(-3px); box-shadow:0 16px 32px -18px rgba(15,23,42,.65); }
.xqm-pay-card:hover i{ transform:scale(1.06); }
.xqm-pay-card:active{ transform:translateY(-1px); }
.xqm-pay-card:focus-visible{ outline:2px solid var(--p); outline-offset:3px; }
/* 品牌色 */
.xqm-pay-weixin i{ color:#07c160; background:#e8f9ef; }
.xqm-pay-weixin:hover{ border-color:#07c160; background:linear-gradient(180deg,#f2fdf7,var(--card)); }
.xqm-pay-alipay i{ color:#1677ff; background:#eaf2ff; }
.xqm-pay-alipay:hover{ border-color:#1677ff; background:linear-gradient(180deg,#f2f7ff,var(--card)); }
.xqm-pay-paypal i{ color:#003087; background:#eef2ff; }
.xqm-pay-paypal:hover{ border-color:#003087; background:linear-gradient(180deg,#f3f5ff,var(--card)); }
.xqm-pay-cod i{ color:#f97316; background:#fff3e8; }
.xqm-pay-cod:hover{ border-color:#f97316; background:linear-gradient(180deg,#fff8f2,var(--card)); }

.xqm-pay-test{ width:100%; margin-top:12px; display:flex; align-items:center; justify-content:center; gap:8px; padding:14px; border:none; border-radius:10px; color:#fff; font-size:15px; font-weight:600; cursor:pointer; background:linear-gradient(135deg,#f59e0b,#d97706); box-shadow:0 2px 8px rgba(217,119,6,.25); transition:all .2s; }
.xqm-pay-test:hover{ transform:translateY(-1px); box-shadow:0 4px 12px rgba(217,119,6,.3); }

/* 提示条 */
.xqm-tip{ display:flex; align-items:flex-start; gap:10px; background:#fffbeb; border:1px solid #fde68a; color:#92400e; padding:12px 14px; border-radius:10px; margin:12px 0; font-size:13px; line-height:1.6; }
.xqm-tip i{ margin-top:2px; color:#d97706; font-size:14px; }
.xqm-tip-warn{ background:#fef2f2; border-color:#fecaca; color:#991b1b; }
.xqm-tip-warn i{ color:#dc2626; }

/* 微信二维码区 */
.xqm-wx{ margin-top:16px; padding:18px; background:#f9fafb; border:1px dashed var(--line); border-radius:10px; text-align:center; }
.xqm-wx-head{ font-size:14px; font-weight:600; color:var(--text); margin-bottom:12px; }
.xqm-wx-head i{ color:#07c160; margin-right:6px; }
.xqm-wx-qr{ display:flex; flex-direction:column; align-items:center; gap:10px; }
.xqm-wx-qr #wxQrBox{ padding:12px; background:#fff; border-radius:10px; box-shadow:0 2px 12px rgba(0,0,0,.06); display:inline-block; }
.xqm-wx-qr #wxQrBox img, .xqm-wx-qr #wxQrBox canvas{ display:block; }
.xqm-wx-hint{ font-size:12px; color:var(--muted); margin:4px 0 0; }
.xqm-wx-code{ display:flex; align-items:center; gap:8px; justify-content:center; margin-top:14px; padding:10px 12px; background:#fff; border-radius:8px; border:1px solid var(--line); }
.xqm-wx-code code{ word-break:break-all; color:var(--text); font-size:12px;  text-align:left; flex:1; }
.xqm-btn{ display:inline-flex; align-items:center; justify-content:center; padding:9px 16px; border-radius:8px; text-decoration:none; font-weight:500; font-size:13px; cursor:pointer; border:none; transition:all .15s; }
.xqm-btn-ghost{ background:#fff; color:var(--text) !important; border:1px solid var(--line); }
.xqm-btn-ghost:hover{ background:#f9fafb; }
.xqm-btn-sm{ padding:6px 12px; font-size:12px; white-space:nowrap; }

/* 暗色模式 */
body.dark-mode .xqm-shop{ --line:#374151; --text:#f3f4f6; --pl:#1e293b; --card:#1f2937; --muted:#9ca3af; }
body.dark-mode .xqm-paybox::before{ background:linear-gradient(90deg,#8f7040,#c9ab74 45%,#8f7040); }
body.dark-mode .xqm-pay-amount-label::before{ background:linear-gradient(90deg,transparent,#475569); }
body.dark-mode .xqm-pay-amount-label::after{ background:linear-gradient(90deg,#475569,transparent); }
body.dark-mode .xqm-paybox{ background:var(--card); box-shadow:none; }
body.dark-mode .xqm-shop-title i{ box-shadow:none; }
body.dark-mode .xqm-pay-amount-value{ color:#d8c29a; }
body.dark-mode .xqm-tip{ background:#3a2f12; border-color:#5c4a1a; color:#f0c674; }
body.dark-mode .xqm-tip i{ color:#f0c674; }
body.dark-mode .xqm-tip-warn{ background:#3a1517; border-color:#5c1a1e; color:#fca5a5; }
body.dark-mode .xqm-wx{ background:#111827; border-color:var(--line); }
body.dark-mode .xqm-wx-head{ color:var(--text); }
body.dark-mode .xqm-wx-code{ background:var(--card); border-color:var(--line); }
body.dark-mode .xqm-wx-code code{ color:var(--text); }
body.dark-mode .xqm-pay-sn-value{ color:var(--text); }
body.dark-mode .xqm-copy-btn{ background:var(--card); border-color:var(--line); color:#d8c29a; }
body.dark-mode .xqm-copy-btn:hover{ background:var(--pl); border-color:#8f7040; }
body.dark-mode .xqm-copy-btn.copied{ background:#064e3b; border-color:#059669; color:#6ee7b7; }
body.dark-mode .xqm-pay-card{ background:var(--card); border-color:var(--line); }
body.dark-mode .xqm-pay-card:hover{ box-shadow:0 16px 32px -18px rgba(0,0,0,.9); }
body.dark-mode .xqm-pay-card i{ background:#111827; }
body.dark-mode .xqm-pay-card-name{ color:var(--text); }
body.dark-mode .xqm-pay-card-desc{ color:var(--muted); }
body.dark-mode .xqm-pay-weixin i{ background:rgba(7,193,96,.16); }
body.dark-mode .xqm-pay-alipay i{ background:rgba(22,119,255,.18); }
body.dark-mode .xqm-pay-paypal i{ background:rgba(99,132,255,.18); color:#8fb0ff; }
body.dark-mode .xqm-pay-cod i{ background:rgba(249,115,22,.18); }
body.dark-mode .xqm-pay-weixin:hover{ border-color:#07c160; background:linear-gradient(180deg,#0f2e20,var(--card)); }
body.dark-mode .xqm-pay-alipay:hover{ border-color:#1677ff; background:linear-gradient(180deg,#0f2137,var(--card)); }
body.dark-mode .xqm-pay-paypal:hover{ border-color:#3b5bdb; background:linear-gradient(180deg,#111c2e,var(--card)); }
body.dark-mode .xqm-pay-cod:hover{ border-color:#f97316; background:linear-gradient(180deg,#2b1a0e,var(--card)); }
body.dark-mode .xqm-btn-ghost{ background:var(--card); border-color:var(--line); }
body.dark-mode .xqm-btn-ghost:hover{ background:#111827; }
body.dark-mode .xqm-divider{ background:#374151; }
body.dark-mode .xqm-pay-section-title{ color:var(--text); }

/* 响应式：支付方式个数由 flex 自动适配，这里只做尺寸收窄 */
@media(max-width:992px){
  .xqm-pay-card{ max-width:100%; }
}
@media(max-width:768px){
  .xqm-shop-center{ padding:20px 12px; }
  .xqm-paybox{ padding:20px 16px; border-radius:14px; }
  .xqm-pay-amount-value{ font-size:34px; }
  .xqm-pay-methods{ flex-direction:column; gap:10px; }
  .xqm-pay-card{ flex:0 0 auto; width:100%; max-width:100%; flex-direction:row; justify-content:flex-start; padding:14px 16px; gap:14px; }
  .xqm-pay-card i{ width:44px; height:44px; border-radius:12px; font-size:22px; }
  .xqm-pay-card span{ text-align:left; }
  .xqm-pay-card-name{ font-size:14px; }
  .xqm-pay-card-desc{ display:block; flex:1 1 auto; text-align:left; font-size:12px; }
  .xqm-wx{ padding:14px; }
  .xqm-shop-title{ font-size:18px; }
  .xqm-shop-title i{ width:34px; height:34px; font-size:15px; border-radius:10px; }
}

/* ===== 支付页细节美化：金额渐变字、角落光斑、卡片错峰入场、分割线/按钮质感 ===== */
.xqm-paybox::after{ content:''; position:absolute; width:260px; height:260px; right:-120px; top:-120px; border-radius:50%; background:radial-gradient(circle at 65% 35%, rgba(179,149,92,.10), transparent 70%); pointer-events:none; }
.xqm-pay-amount-value{ background:linear-gradient(135deg,#6f5630 10%,#b3955c 55%,#c9ab74); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:var(--pd); }
@keyframes xqm-fadeup{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:translateY(0); } }
.xqm-pay-card{ animation:xqm-fadeup .4s ease backwards; }
.xqm-pay-card:nth-child(2){ animation-delay:.05s; }
.xqm-pay-card:nth-child(3){ animation-delay:.1s; }
.xqm-pay-card:nth-child(4){ animation-delay:.15s; }
.xqm-pay-card i{ box-shadow:inset 0 0 0 1px rgba(15,23,42,.03), 0 3px 8px rgba(15,23,42,.05); }
.xqm-copy-btn{ border-radius:999px; }
.xqm-divider{ background:linear-gradient(90deg,transparent,var(--line) 15%,var(--line) 85%,transparent); }

/* ===== 来自 shop_checkout.html ===== */

.xqm-shop{ --p:#8f7040; --pd:#6f5630; --pl:#f6f1e6; --danger:#ef4444; --line:#e5e7eb; --text:#111827; --muted:#6b7280; --card:#fff; }
.xqm-shop,.xqm-shop *{ box-sizing:border-box; }
/* 主体：电脑端固定 1200px 居中（不跟随屏幕无限变宽），主题容器更窄时以主题为准；上下留白加大 */
.xqm-shop-center{ width:100%; max-width:min(1200px,var(--container,1200px)); min-width:0; margin:0 auto; padding:clamp(44px,4.5vw,76px) clamp(15px,2vw,24px); }
.xqm-shop-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:20px; }
/* 支付页标题居中 + 加大标题与下方卡片的间距（覆盖上面的 space-between） */
.xqm-shop-head--center{ justify-content:center; margin-bottom:40px; }
.xqm-shop-title{
  display:flex; align-items:center; gap:12px;
  font-size:clamp(18px,1.5vw,22px); font-weight:700; color:var(--text); margin:0; letter-spacing:.3px;
}
.xqm-shop-title i{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:12px; flex:0 0 auto;
  font-size:17px; color:#fff;
  background:linear-gradient(135deg,#b3955c,#8f7040);
  box-shadow:0 8px 18px -9px rgba(143,112,64,.9);
}

.xqm-order{ display:grid; grid-template-columns:minmax(280px,320px) minmax(0,1fr); gap:20px; align-items:start; }
.xqm-order-col{ min-width:0; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:22px; box-shadow:0 1px 2px rgba(15,23,42,.04),0 18px 34px -28px rgba(15,23,42,.5); transition:box-shadow .25s ease, transform .25s ease; }
.xqm-order-col:hover{ box-shadow:0 1px 2px rgba(15,23,42,.06),0 26px 44px -30px rgba(15,23,42,.65); }
.xqm-order-subtitle{ display:flex; align-items:center; gap:9px; font-size:15px; font-weight:600; color:var(--text); margin:0 0 18px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.xqm-order-subtitle::before{ content:''; width:3px; height:16px; border-radius:2px; background:linear-gradient(180deg,#c9ab74,var(--p)); }
.xqm-order-subtitle i{ color:var(--p); font-size:14px; }

/* 表格 */
.xqm-cart-table{ width:100%; border-collapse:separate; border-spacing:0; background:var(--card); border-radius:14px; overflow:hidden; border:1px solid var(--line); }
.xqm-cart-table th{ background:linear-gradient(180deg,#f8fafc,#f1f5f9); color:#64748b; font-weight:600; font-size:12.5px; padding:13px 14px; text-align:center; border-bottom:1px solid var(--line); white-space:nowrap; }
.xqm-cart-table td{ padding:14px; font-size:14px; text-align:center; border-bottom:1px solid var(--line); vertical-align:middle; color:var(--text); }
.xqm-cart-table tbody tr{ transition:background .15s ease; }
.xqm-cart-table tbody tr:last-child td{ border-bottom:none; }
.xqm-cart-table tbody tr:nth-child(even){ background:#faf8f3; }
.xqm-cart-table tbody tr:hover{ background:var(--pl); }
.xqm-cart-table tfoot tr:last-child td{ border-bottom:none; }
.xqm-col-name{ text-align:left !important; }
.xqm-goods{ display:flex; align-items:center; gap:12px; }
.xqm-goods-name{ display:block; }
.xqm-goods-spec{ display:inline-block; margin-top:4px; font-size:12px; color:#6b7280; background:#eef1f6; border-radius:5px; padding:1px 8px; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.dark-mode .xqm-goods-spec{ background:#334155; color:#cbd5e1; }
.xqm-goods-thumb{ flex:0 0 56px; width:56px; height:56px; border-radius:8px; overflow:hidden; background:#f3f4f6; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; transition:transform .2s; }
.xqm-goods-thumb:hover{ transform:translateY(-2px); }
.xqm-goods-thumb-none:hover{ transform:none; }
.xqm-goods-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.xqm-goods-thumb-none{ color:#9ca3af; font-size:18px; }
.xqm-col-name a{ color:var(--text); text-decoration:none; font-weight:500; }
.xqm-col-name a:hover{ color:var(--p); }
.xqm-col-price,.xqm-col-sub{ color:var(--p); font-weight:600; }
.xqm-col-price,.xqm-col-sub{ width:100px; }
.xqm-col-qty{ width:80px; }
.xqm-col-op{ width:50px; }

/* 步进器 */
.xqm-stepper{ display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:9px; overflow:hidden; height:34px; background:#fff; }
.xqm-stepper-btn{ width:30px; height:100%; border:none; background:#f9fafb; color:#374151; font-size:15px; cursor:pointer; transition:background .15s, color .15s; }
.xqm-stepper-btn:hover:not(:disabled){ background:var(--p); color:#fff; }
.xqm-stepper-btn:disabled{ opacity:.4; cursor:not-allowed; }
.xqm-stepper-input{ width:44px; height:100%; border:none; border-left:1px solid var(--line); border-right:1px solid var(--line); text-align:center; font-size:13px; color:var(--text); background:#fff; -moz-appearance:textfield; appearance:textfield; }
.xqm-stepper-input::-webkit-outer-spin-button,.xqm-stepper-input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.xqm-stepper-input:focus{ outline:none; background:var(--pl); }

/* 删除按钮 */
.xqm-del-inline{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:6px; color:var(--danger); background:#fef2f2; border:1px solid #fecaca; text-decoration:none; font-size:12px; transition:all .15s; }
.xqm-del-inline:hover:not(.is-loading){ background:#fee2e2; transform:translateY(-1px); }
.xqm-del-inline.is-loading{ opacity:.4; pointer-events:none; }

/* 合计 */
.xqm-cart-subtotal, .xqm-cart-freight{ color:#475569; font-size:13.5px; text-align:right !important; padding:10px 18px !important; background:#f8fafc; }
.xqm-cart-freight #freightText{ color:#d97706; font-weight:700; }
/* 满额包邮提示 */
.xqm-free-tip{ display:inline-block; margin-left:8px; padding:1px 9px; border-radius:20px; font-size:11.5px; font-weight:600; color:#b45309; background:#fef3c7; border:1px solid #fde68a; vertical-align:1px; }
.xqm-free-tip:empty{ display:none; }
.xqm-free-tip.is-free{ color:#15803d; background:#dcfce7; border-color:#bbf7d0; }
.xqm-cart-total{ color:var(--pd); font-size:17px; font-weight:800; letter-spacing:.2px; background:var(--pl); text-align:right !important; padding:16px 18px !important; }
.xqm-cart-total i{ margin-right:6px; }
.xqm-cart-total span{ color:var(--pd); font-variant-numeric:tabular-nums; }

/* 表单 */
.xqm-field{ margin-bottom:16px; }
.xqm-field:last-of-type{ margin-bottom:0; }
.xqm-field label{ display:block; margin-bottom:7px; font-size:13px; color:#374151; font-weight:500; }
.xqm-field label span{ color:var(--danger); margin-left:2px; }
.xqm-field input,.xqm-field textarea{
  width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:10px;
  font-size:14px; color:var(--text); background:#fff; font-family:inherit;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.03);
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.xqm-field input::placeholder,.xqm-field textarea::placeholder{ color:#9ca3af; }
.xqm-field input:hover,.xqm-field textarea:hover{ border-color:#cbd5e1; }
.xqm-field input:focus,.xqm-field textarea:focus{ outline:none; border-color:var(--p); box-shadow:0 0 0 3px rgba(143,112,64,.12); }
.xqm-field textarea{ resize:vertical; min-height:96px; line-height:1.65; background:#fbfaf6; }

/* 国家/地区 自定义两级下拉（点洲即展开国家，无需二次点击） */
.xqm-select-wrap{ position:relative; }
.xqm-select-wrap .xqm-country-trigger{
  width:100%; height:42px; padding:0 12px 0 38px;
  border:1px solid var(--line); border-radius:8px; background:#fff; color:#9ca3af;
  font-size:14px; font-family:inherit; cursor:pointer; line-height:42px;
  transition:border-color .2s, box-shadow .2s;
}
.xqm-select-wrap .xqm-country-trigger::placeholder{ color:#9ca3af; }
.xqm-select-wrap .xqm-country-trigger.is-filled{ color:var(--text); }
.xqm-select-wrap .xqm-country-trigger:hover{ border-color:#e0d3b8; }
.xqm-select-wrap .xqm-country-trigger:focus{ outline:none; }
.xqm-select-wrap .xqm-country-trigger.is-open{ border-color:var(--p); box-shadow:0 0 0 3px rgba(143,112,64,.1); }
.xqm-select-ico{ position:absolute; left:13px; top:50%; transform:translateY(-50%); font-size:14px; color:var(--p); pointer-events:none; }
.xqm-select-caret{ position:absolute; right:14px; top:50%; transform:translateY(-50%); font-size:12px; color:#94a3b8; pointer-events:none; transition:color .2s, transform .25s; }
.xqm-select-wrap:focus-within .xqm-select-caret{ color:var(--p); transform:translateY(-50%) rotate(180deg); }
.xqm-country-trigger.is-open + .xqm-select-caret{ color:var(--p); transform:translateY(-50%) rotate(180deg); }

/* 下拉面板 */
.xqm-country-panel{
  position:absolute; z-index:30; top:calc(100% + 6px); left:0; right:0;
  background:#fff; border:1px solid var(--line); border-radius:10px; overflow:hidden;
  box-shadow:0 12px 32px rgba(15,23,42,.16); max-height:300px; overflow-y:auto;
}
/* 下方空间不足时向上弹出，避免被页面下方内容遮挡 */
.xqm-country-panel.is-up{ top:auto; bottom:calc(100% + 6px); }
.xqm-cp-body{ padding:6px; }
.xqm-cp-item{
  display:flex; align-items:center; gap:8px; width:100%; padding:10px 12px;
  border:none; background:transparent; cursor:pointer; font-size:14px; color:var(--text);
  text-align:left; border-radius:8px; font-family:inherit; transition:background .15s;
}
.xqm-cp-item:hover{ background:var(--pl); }
.xqm-cp-item span{ flex:1; }
.xqm-cp-arrow{ font-size:12px; color:#94a3b8; }
.xqm-cp-back{ color:var(--p); font-weight:600; }
.xqm-cp-title{ padding:8px 12px 4px; font-size:12px; font-weight:700; color:#94a3b8; letter-spacing:.04em; }

/* 字段提示文字 */
.xqm-field-hint{ display:flex; align-items:center; gap:6px; margin-top:6px; font-size:12px; color:#94a3b8; line-height:1.5; }
.xqm-field-hint i{ color:var(--p); font-size:11px; }

/* 按钮 */
.xqm-btn{ display:inline-flex; align-items:center; justify-content:center; padding:11px 28px; border-radius:10px; text-decoration:none; font-weight:600; font-size:14px; cursor:pointer; border:none; font-family:inherit; transition:all .2s; }
.xqm-btn i{ margin-right:8px; }
.xqm-btn:focus-visible{ outline:2px solid var(--p); outline-offset:2px; }
.xqm-btn-primary{ position:relative; overflow:hidden; background:linear-gradient(135deg,#b3955c,#8f7040); color:#fff !important; box-shadow:0 10px 22px -12px rgba(143,112,64,.95); }
.xqm-btn-primary::after{ content:''; position:absolute; top:0; left:-70%; width:45%; height:100%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent); transform:skewX(-20deg); transition:left .55s ease; pointer-events:none; }
.xqm-btn-primary:hover::after{ left:130%; }
.xqm-btn-primary:hover{ background:linear-gradient(135deg,#8f7040,#6f5630); transform:translateY(-1px); box-shadow:0 14px 26px -12px rgba(143,112,64,1); }
.xqm-btn-primary:active{ transform:translateY(0); }
.xqm-btn-block{ width:100%; padding:14px; font-size:15px; letter-spacing:.5px; }
.xqm-submit-area{ margin-top:18px; padding:14px; background:linear-gradient(180deg,#f8fafc,#f1f5f9); border:1px dashed var(--line); border-radius:12px; }
.xqm-submit-area .xqm-btn-block{ margin-top:0; }

/* 暗色模式 */
body.dark-mode .xqm-shop{ --line:#374151; --text:#f3f4f6; --pl:#1e293b; --card:#1f2937; }
body.dark-mode .xqm-order-col{ background:var(--card); border-color:var(--line); }
body.dark-mode .xqm-order-subtitle{ border-bottom-color:var(--line); }
body.dark-mode .xqm-cart-table{ background:var(--card); border-color:var(--line); }
body.dark-mode .xqm-cart-table th{ background:#1a1f2e; color:#d1d5db; border-bottom-color:#374151; }
body.dark-mode .xqm-cart-table tbody tr:nth-child(even){ background:#1a2332; }
body.dark-mode .xqm-cart-table tbody tr:hover{ background:#17283f; }
body.dark-mode .xqm-field input,body.dark-mode .xqm-field textarea{ background:#111827; border-color:var(--line); color:var(--text); }
body.dark-mode .xqm-field label{ color:#d1d5db; }
body.dark-mode .xqm-select-wrap .xqm-country-trigger{ background:#111827; border-color:var(--line); color:#94a3b8; }
body.dark-mode .xqm-select-wrap .xqm-country-trigger.is-filled{ color:var(--text); }
body.dark-mode .xqm-country-panel{ background:#1f2937; border-color:var(--line); }
body.dark-mode .xqm-cp-item{ color:var(--text); }
body.dark-mode .xqm-cp-item:hover{ background:#17283f; }
body.dark-mode .xqm-cp-back{ color:#d8c29a; }
body.dark-mode .xqm-cp-arrow{ color:#64748b; }
body.dark-mode .xqm-cp-title{ color:#94a3b8; }
body.dark-mode .xqm-select-ico{ color:#d8c29a; }
body.dark-mode .xqm-select-caret{ color:#64748b; }
body.dark-mode .xqm-field-hint{ color:#94a3b8; }
body.dark-mode .xqm-cart-total{ color:#d8c29a; }
body.dark-mode .xqm-goods-thumb{ background:#111827; border-color:var(--line); }
body.dark-mode .xqm-goods-thumb-none{ color:#4b5563; }
body.dark-mode .xqm-stepper{ background:#111827; border-color:var(--line); }
body.dark-mode .xqm-stepper-btn{ background:#1f2937; color:#d1d5db; }
body.dark-mode .xqm-stepper-btn:hover:not(:disabled){ background:var(--p); color:#fff; }
body.dark-mode .xqm-stepper-input{ background:#111827; color:var(--text); border-color:var(--line); }
body.dark-mode .xqm-stepper-input:focus{ background:var(--pl); }
body.dark-mode .xqm-del-inline{ background:rgba(127,29,29,.2); border-color:#7f1d1d; color:#fca5a5; }
body.dark-mode .xqm-del-inline:hover:not(.is-loading){ background:rgba(127,29,29,.35); }
body.dark-mode .xqm-order-col{ box-shadow:none; }
body.dark-mode .xqm-shop-title i{ box-shadow:none; }
body.dark-mode .xqm-submit-area{ background:#111827; border-color:var(--line); }
body.dark-mode .xqm-cart-subtotal,body.dark-mode .xqm-cart-freight{ background:#111827; color:#cbd5e1; }
body.dark-mode .xqm-cart-freight #freightText{ color:#fbbf24; }
body.dark-mode .xqm-free-tip{ color:#fbbf24; background:rgba(180,83,9,.18); border-color:rgba(251,191,36,.35); }
body.dark-mode .xqm-free-tip.is-free{ color:#4ade80; background:rgba(21,128,61,.2); border-color:rgba(74,222,128,.35); }
body.dark-mode .xqm-cart-total{ color:#d8c29a; background:#1e293b; }
body.dark-mode .xqm-cart-total span{ color:#d8c29a; }
body.dark-mode .xqm-field textarea{ background:#111827; }

/* 响应式：主体永远跟随容器宽度，不产生横向溢出 */
@media(max-width:1200px){
  .xqm-order{ grid-template-columns:minmax(260px,300px) minmax(0,1fr); gap:16px; }
}
@media(max-width:992px){
  .xqm-order{ grid-template-columns:minmax(0,1fr); gap:16px; }
}
@media(max-width:768px){
  .xqm-shop-center{ padding:20px 12px; }
  .xqm-order-col{ padding:16px; border-radius:12px; }
  .xqm-shop-title{ font-size:18px; }
  .xqm-shop-title i{ width:34px; height:34px; font-size:15px; border-radius:10px; }

  /* 表格转卡片 */
  .xqm-cart-table{ border:none; }
  .xqm-cart-table thead{ display:none; }
  .xqm-cart-table tbody tr{ display:block; border:1px solid var(--line); border-radius:10px; padding:12px; margin-bottom:10px; background:var(--card); }
  .xqm-cart-table tbody tr:nth-child(even){ background:var(--card); }
  .xqm-cart-table td{ display:flex; align-items:center; padding:4px 0; border:none; font-size:13px; text-align:left !important; }
  .xqm-cart-table td::before{ content:attr(data-label); flex:0 0 56px; font-size:12px; color:var(--muted); }
  .xqm-col-name::before{ display:none !important; }
  .xqm-col-name{ margin-bottom:6px; }
  .xqm-col-name .xqm-goods{ gap:8px; }
  .xqm-goods-thumb{ flex-basis:48px; width:48px; height:48px; }
  .xqm-col-price,.xqm-col-sub{ width:auto; }
  .xqm-col-qty{ width:auto; }
  .xqm-col-op{ width:auto; justify-content:flex-end; }
  .xqm-col-op::before{ content:''; flex:0 0 0; }
  .xqm-cart-total{ display:flex !important; justify-content:space-between; align-items:center; padding:12px !important; font-size:15px; border-radius:8px; margin-top:6px; }
  .xqm-stepper{ height:30px; }
  .xqm-stepper-btn{ width:26px; font-size:14px; }
  .xqm-stepper-input{ width:38px; }
  .xqm-field input,.xqm-field textarea,.xqm-select-wrap .xqm-country-trigger{ font-size:16px; }
}

/* ===== 结算页细节美化：卡片入场、顶部光条、输入高亮、表格质感、提交区 ===== */
@keyframes xqm-fadeup{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:translateY(0); } }
.xqm-order-col{ position:relative; animation:xqm-fadeup .45s ease backwards; }
.xqm-order-col:nth-child(2){ animation-delay:.08s; }
/* 右侧订单信息：去掉外层卡片外框，只保留内部表格与提交按钮 */
.xqm-order-col:nth-child(2){ background:none; border:none; border-radius:0; padding:0; box-shadow:none; }
.xqm-order-col:nth-child(2)::before{ display:none; }
.xqm-order-col:nth-child(2):hover{ transform:none; box-shadow:none; }
body.dark-mode .xqm-order-col:nth-child(2){ background:none; border-color:transparent; box-shadow:none; }
/* 右侧订单信息：去掉标题后，表格顶端与左侧卡片顶部对齐 */
.xqm-order-col:nth-child(2) .xqm-cart-table{ margin-top:0; }
.xqm-order-col:nth-child(2) .xqm-submit-area{ margin-top:20px; }
/* 简洁化：与左侧卡片观感一致（白底细边、去渐变/色块/虚线） */
.xqm-order-col:nth-child(2) .xqm-cart-table th{ background:#f8fafc; color:#6b7280; font-weight:500; letter-spacing:0; }
.xqm-order-col:nth-child(2) .xqm-cart-table tbody tr:nth-child(even){ background:transparent; }
.xqm-order-col:nth-child(2) .xqm-cart-table tbody tr:hover{ background:#f8fafc; }
.xqm-order-col:nth-child(2) .xqm-cart-subtotal,
.xqm-order-col:nth-child(2) .xqm-cart-freight{ background:transparent; color:#6b7280; }
.xqm-order-col:nth-child(2) .xqm-cart-total{ background:transparent; color:var(--pd); font-size:16px; font-weight:700; letter-spacing:0; padding:14px 16px !important; }
.xqm-order-col:nth-child(2) .xqm-submit-area{ background:transparent; border:none; padding:0; }
/* 暗色模式同步简化 */
body.dark-mode .xqm-order-col:nth-child(2) .xqm-cart-table th{ background:#1a1f2e; color:#d1d5db; }
body.dark-mode .xqm-order-col:nth-child(2) .xqm-cart-table tbody tr:nth-child(even){ background:transparent; }
body.dark-mode .xqm-order-col:nth-child(2) .xqm-cart-table tbody tr:hover{ background:#17283f; }
body.dark-mode .xqm-order-col:nth-child(2) .xqm-cart-subtotal,
body.dark-mode .xqm-order-col:nth-child(2) .xqm-cart-freight{ background:transparent; color:#cbd5e1; }
body.dark-mode .xqm-order-col:nth-child(2) .xqm-cart-total{ background:transparent; color:#d8c29a; }
body.dark-mode .xqm-order-col:nth-child(2) .xqm-submit-area{ background:transparent; border:none; }
/* 右侧订单信息：行距/尺寸与左侧卡片密度协调（仅桌面，移动端仍走“表格转卡片”） */
@media(min-width:769px){
  .xqm-order-col:nth-child(2) .xqm-cart-table th{ padding:19px 18px; }
  .xqm-order-col:nth-child(2) .xqm-cart-table td{ padding:28px 18px; }
  .xqm-order-col:nth-child(2) .xqm-goods{ gap:13px; }
  .xqm-order-col:nth-child(2) .xqm-goods-thumb{ flex-basis:56px; width:56px; height:56px; border-radius:10px; }
  .xqm-order-col:nth-child(2) .xqm-goods-name{ font-size:14.5px; font-weight:600; }
  .xqm-order-col:nth-child(2) .xqm-cart-table tbody tr:hover{ box-shadow:0 6px 18px -14px rgba(15,23,42,.5); }
  .xqm-order-col:nth-child(2) .xqm-cart-table tfoot tr:first-child td{ border-top:1px solid var(--line); }
  .xqm-order-col:nth-child(2) .xqm-cart-subtotal,
  .xqm-order-col:nth-child(2) .xqm-cart-freight{ padding:17px 18px !important; }
  .xqm-order-col:nth-child(2) .xqm-cart-total{ padding:22px 18px !important; font-size:16.5px; }
  .xqm-order-col:nth-child(2) .xqm-submit-area{ margin-top:24px; }
  .xqm-order-col:nth-child(2) .xqm-submit-area .xqm-btn-block{ padding:14px; font-size:15px; }
}
.xqm-order-col::before{ content:''; position:absolute; top:0; left:24px; right:24px; height:3px; border-radius:0 0 4px 4px; background:linear-gradient(90deg,#b3955c,#d8c29a); }
.xqm-order-col:hover{ transform:translateY(-2px); }
.xqm-order-subtitle i{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:8px; font-size:12px; color:var(--p); background:var(--pl); }
.xqm-field input:focus,.xqm-field textarea:focus{ box-shadow:0 0 0 3px rgba(143,112,64,.12), 0 2px 10px rgba(143,112,64,.10); }
.xqm-cart-table th{ letter-spacing:1px; }
.xqm-cart-table tbody tr{ transition:background .15s ease, box-shadow .15s ease; }
.xqm-goods-thumb{ box-shadow:0 2px 8px rgba(15,23,42,.07); }
.xqm-goods-thumb img{ transition:transform .35s ease; }
.xqm-goods-thumb:hover img{ transform:scale(1.08); }
.xqm-cart-total{ background:linear-gradient(90deg,var(--pl),#efe4cd); font-size:18px; }
.xqm-submit-area{ padding:16px; background:linear-gradient(180deg,#f6f1e6,#f8fafc); border:1px solid #efe4cd; border-radius:14px; }
.xqm-btn-block{ padding:15px; }

/* ===== 移动端：右侧订单区细节修复 ===== */
@media(max-width:768px){
  /* 商品卡片重排：删除按钮固定到右上角，不再单独占一行 */
  .xqm-order-col:nth-child(2) .xqm-cart-table td.xqm-col-op::before{ display:none; }
  .xqm-order-col:nth-child(2) .xqm-cart-table tbody tr{ position:relative; }
  .xqm-order-col:nth-child(2) .xqm-col-op{ position:absolute; top:12px; right:12px; justify-content:flex-end; }
  .xqm-order-col:nth-child(2) .xqm-col-name{ padding-right:44px; }
  /* 底部合计区：整块右对齐；满减气泡恢复自适应宽度（不全屏） */
  .xqm-order-col:nth-child(2) .xqm-cart-subtotal,
  .xqm-order-col:nth-child(2) .xqm-cart-freight,
  .xqm-order-col:nth-child(2) .xqm-cart-total{ display:block !important; text-align:right !important; white-space:normal; padding:10px 2px !important; margin:0 !important; }
  .xqm-order-col:nth-child(2) .xqm-cart-freight #freightText{ margin-left:6px; }
  .xqm-order-col:nth-child(2) .xqm-cart-total{ padding-top:14px !important; }
  .xqm-order-col:nth-child(2) .xqm-cart-total i{ margin-right:6px; }
  .xqm-order-col:nth-child(2) .xqm-free-tip{ display:inline-block; margin:6px 0 0; }
  /* 提交按钮：自适应宽度并居中 */
  .xqm-order-col:nth-child(2) .xqm-submit-area{ text-align:center; }
  .xqm-order-col:nth-child(2) .xqm-submit-area .xqm-btn-block{ width:auto; min-width:220px; padding:14px 30px; }
}