/* ============================================================
   便当格拼贴 Bento · dj_bento 模板样式
   浅灰底 + 白色圆角格子拼贴，一块深色商品视觉格，蓝色为行动主色。
   ============================================================ */
@import url("https://miaoda.feishu.cn/fonts/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap");

:root{
  --bg:#eef1f6; --cell:#fff; --cell-line:#e9ecf2;
  --ink:#141a28; --ink-2:#1d2740;
  --main:#2f6bff; --main-d:#1d4ed8; --main-l:#f0f5ff;
  --orange:#ff6b35; --green:#16a34a;
  --text:#1c2333; --muted:#5a6275; --weak:#8a90a0;
  --alipay:#1677ff; --wechat:#07c160; --danger:#e0463c;
  --font-num:"Space Grotesk","PingFang SC","Microsoft YaHei",sans-serif;
  --font-body:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
  --sh-cell:0 1px 2px rgba(20,30,60,.04);
}
/* 本模板接管整页：隐藏平台默认头部导航与回到顶部（使用自有导航/悬浮按钮），保留全局页脚 */
.site-header{display:none!important;}
.back-top{display:none!important;}
*,*::before,*::after{box-sizing:border-box;}
html,body{max-width:100%;overflow-x:hidden;}
body{font-family:var(--font-body);color:var(--text);background:var(--bg);font-size:14px;line-height:1.6;
  font-variant-numeric:tabular-nums;margin:0;}
.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.01em;}
button{font-family:inherit;cursor:pointer;}
input,textarea,select{font-family:inherit;color:inherit;outline:none;}

/* ===== 顶部导航 ===== */
.b-nav{height:60px;background:#fff;border-bottom:1px solid var(--cell-line);display:flex;align-items:center;
  padding:0 24px;gap:24px;position:sticky;top:0;z-index:90;}
.b-nav .brand{display:flex;align-items:center;}
.b-nav .brand-logo{height:38px;width:auto;display:block;}
.b-nav .nlinks{display:flex;gap:22px;font-size:13.5px;color:var(--muted);position:absolute;left:50%;transform:translateX(-50%);}
.b-nav .nlinks a{color:inherit;text-decoration:none;padding:4px 0;position:relative;transition:.18s;}
.b-nav .nlinks a:hover{color:var(--text);}
.b-nav .nlinks a.cur{color:var(--text);font-weight:600;}
.b-nav .nlinks a.cur::after{content:"";position:absolute;left:0;right:0;bottom:-21px;height:2.5px;background:var(--main);border-radius:2px;}
.b-nav .nright{margin-left:auto;display:flex;align-items:center;gap:10px;flex:none;}
.b-btn{height:38px;padding:0 16px;border-radius:10px;border:1px solid var(--main);background:var(--main);
  color:#fff;font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;text-decoration:none;
  white-space:nowrap;transition:.18s;}
.b-btn:hover{filter:brightness(1.05);color:#fff;}
.b-btn.ghost{background:#fff;color:var(--text);border-color:#d9deea;}
.b-btn.ghost:hover{border-color:var(--main);color:var(--main-d);}

/* ===== 便当网格 ===== */
.bento{padding:18px 0;}
.b-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;max-width:1280px;margin:0 auto;padding:0 22px;}
.b-cell{background:var(--cell);border:1px solid var(--cell-line);border-radius:18px;padding:16px;box-shadow:var(--sh-cell);min-width:0;}
.cell-tt{font-size:13px;color:var(--text);font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cell-tt .opt{font-size:11.5px;color:var(--weak);font-weight:500;margin-left:auto;}

/* 格子跨列 */
.b-visual{grid-column:span 5;grid-row:span 2;background:var(--ink);border-color:var(--ink);padding:18px;
  display:flex;flex-direction:column;}
.b-head{grid-column:span 7;}
.b-service{grid-column:span 7;}
.b-qty{grid-column:span 4;}
.b-contact{grid-column:span 4;}
.b-secure{grid-column:span 4;}
.b-secure.wide{grid-column:span 8;}
.b-coupon{grid-column:span 12;}
.b-pay{grid-column:span 12;}
.b-recv{grid-column:span 12;}
.b-checkout{grid-column:span 12;padding:0;overflow:hidden;}

/* ===== 视觉格 ===== */
.visual-stage{flex:1;border-radius:13px;overflow:hidden;background:var(--ink-2);position:relative;min-height:240px;
  display:flex;align-items:center;justify-content:center;}
.visual-stage img{width:100%;height:100%;object-fit:cover;}
/* 无封面：纯 CSS 通用数字凭证卡（虚拟卡密通用型） */
.b-cert{position:relative;width:100%;max-width:280px;aspect-ratio:1.586/1;border-radius:14px;padding:20px;
  background:linear-gradient(135deg,#1d3a6e,#14213f 55%,#101d38);border:1px solid rgba(255,255,255,.16);
  box-shadow:0 22px 50px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.18);overflow:hidden;}
.b-cert .bc-glow{position:absolute;top:-60%;right:-30%;width:80%;height:140%;pointer-events:none;
  background:radial-gradient(circle,rgba(47,107,255,.4),transparent 65%);}
.b-cert .bc-logo{height:26px;width:auto;position:relative;filter:brightness(0) invert(1);opacity:.92;}
.b-cert .bc-type{position:absolute;top:20px;right:20px;font-size:10px;color:#9cc0ff;border:1px solid rgba(156,192,255,.45);
  padding:2px 7px;border-radius:5px;}
.b-cert .bc-num{position:relative;margin-top:26px;font-family:var(--font-num);font-size:19px;letter-spacing:2.5px;
  color:#f2f6fc;font-weight:500;}
.b-cert .bc-line{position:relative;display:flex;justify-content:space-between;margin-top:16px;font-size:11px;color:#aab8d6;}
.b-cert .bc-line b{color:#7fb0ff;font-size:13px;}
.show-thumbs{display:flex;gap:8px;margin-top:12px;justify-content:center;}
.show-thumbs i{width:48px;height:34px;border-radius:9px;border:1.5px solid rgba(255,255,255,.14);
  background:var(--ink-2);font-style:normal;font-size:11px;color:#aab8d6;display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:.18s;}
.show-thumbs i.on,.show-thumbs i:hover{border-color:var(--main);color:#9cc0ff;}

/* ===== 信息格 ===== */
.b-cat{display:inline-block;font-size:11.5px;font-weight:600;color:var(--main-d);background:var(--main-l);
  border:1px solid #d8e4ff;padding:3px 10px;border-radius:6px;margin-bottom:10px;}
.b-title{font-size:21px;font-weight:800;line-height:1.4;margin:0;}
.b-sub{font-size:12.5px;color:var(--weak);margin:8px 0 13px;}
.b-price{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap;}
.b-price .pnow{font-family:var(--font-num);font-size:33px;font-weight:800;color:var(--main);line-height:1;}
.b-price .pnow .cur{font-size:18px;margin-right:1px;}
.b-price .ptag{font-size:11px;font-weight:600;color:var(--main-d);background:var(--main-l);padding:3px 9px;border-radius:6px;}
.b-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;}
.b-stats>div{background:#f6f8fc;border-radius:11px;padding:9px;text-align:center;}
.b-stats .k{display:block;font-size:11px;color:var(--weak);}
.b-stats b{font-family:var(--font-num);font-size:17px;font-weight:700;color:var(--text);margin-top:2px;display:block;}
.b-fav{margin-top:12px;border:1px solid #d9deea;background:#fff;color:var(--muted);padding:7px 14px;border-radius:10px;
  font-size:12.5px;font-weight:600;transition:.18s;}
.b-fav.on{color:var(--orange);border-color:var(--orange);}

/* ===== 客服格 ===== */
.svc-list{display:flex;gap:9px;flex-wrap:wrap;}
.svc-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #e2e6ef;border-radius:20px;padding:7px 13px;
  background:#fff;font-size:12.5px;color:var(--muted);text-decoration:none;transition:.18s;}
.svc-pill svg{width:16px;height:16px;}
.svc-pill b{color:var(--text);font-weight:700;}
.svc-pill:hover{border-color:var(--main);color:var(--main-d);}
.svc-pill svg{color:var(--main);}
.b-shoplink{display:inline-block;margin-top:11px;font-size:12.5px;color:var(--main-d);text-decoration:none;font-weight:600;}
.b-shoplink:hover{text-decoration:underline;}
/* ===== 数量步进 ===== */
.qty-stepper{display:inline-flex;align-items:center;border:1px solid #e0e5ef;border-radius:11px;overflow:hidden;background:#fff;}
.qty-stepper button{width:40px;height:40px;border:0;background:#fff;font-size:18px;color:var(--muted);transition:.15s;}
.qty-stepper button:hover:not(:disabled){background:#f2f5fb;color:var(--main);}
.qty-stepper button:disabled{opacity:.4;cursor:not-allowed;}
.qty-stepper input{width:58px;height:40px;border:0;text-align:center;font-size:15px;font-weight:700;background:#fff;}
.wholesale{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
.wh{flex:1;min-width:84px;border:1px solid #e6eaf2;border-radius:10px;padding:8px 9px;display:flex;flex-direction:column;
  gap:3px;background:#fff;transition:.15s;}
.wh .n{font-size:11px;color:var(--weak);}
.wh .p{font-family:var(--font-num);font-size:14px;font-weight:700;color:var(--text);}
.wh.on{border-color:var(--main);background:var(--main-l);}
.wh.on .p{color:var(--main-d);}

/* ===== 输入框 / 提示 ===== */
.input-group{display:flex;align-items:stretch;border:1px solid #e0e5ef;border-radius:11px;overflow:hidden;background:#fff;transition:.18s;}
.input-group:focus-within{border-color:var(--main);box-shadow:0 0 0 3px rgba(47,107,255,.12);}
.input-group .pre{display:flex;align-items:center;padding:0 12px;font-size:12.5px;color:var(--weak);background:#f6f8fc;border-right:1px solid #eef1f6;white-space:nowrap;}
.input-group input{flex:1;border:0;height:42px;padding:0 13px;font-size:14px;background:#fff;min-width:0;}
.cap-tip{font-size:11.5px;color:var(--weak);margin-top:9px;line-height:1.6;}
.cap-tip.ok{color:var(--green);}

/* ===== 安全验证 ===== */
.f-label{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-bottom:6px;}
.f-label .req{color:var(--danger);margin-left:2px;}
.pwd-wrap{position:relative;}
.pwd-wrap input{width:100%;height:42px;border:1px solid #e0e5ef;border-radius:11px;padding:0 42px 0 13px;
  font-size:14px;background:#fff;transition:.18s;}
.pwd-wrap input:focus{border-color:var(--main);box-shadow:0 0 0 3px rgba(47,107,255,.12);}
.pwd-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;background:none;
  display:flex;align-items:center;justify-content:center;color:var(--weak);transition:.15s;}
.pwd-eye:hover{color:var(--main);}
.pwd-eye.on{color:var(--main);}
.collapse-toggle{width:100%;text-align:left;border:1px dashed #d5dbe6;background:#f8fafd;color:var(--muted);
  padding:10px 13px;border-radius:10px;font-size:13px;font-weight:600;transition:.18s;}
.collapse-toggle:hover{border-color:var(--main);color:var(--main-d);}
.collapse-toggle .ar{float:right;transition:.2s;}
.collapse-toggle.open .ar{transform:rotate(180deg);}
.collapse-panel{display:none;margin-top:10px;}
.collapse-panel.open{display:block;animation:slideDown .2s ease;}
@keyframes slideDown{from{opacity:0;transform:translateY(-5px);}to{opacity:1;transform:none;}}
.collapse-foot{display:flex;gap:9px;margin-top:10px;}
.mini-btn{border:1px solid var(--main);background:var(--main);color:#fff;padding:8px 16px;border-radius:9px;
  font-size:13px;font-weight:600;transition:.15s;}
.mini-btn:hover{filter:brightness(1.06);}
.mini-btn.ghost{background:#fff;color:var(--muted);border-color:#d5dbe6;}
.mini-btn.ghost:hover{color:var(--main-d);border-color:var(--main);}

/* ===== 优惠券 ===== */
.coupon-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
.coupon-chip{display:inline-flex;align-items:center;gap:7px;background:var(--main-l);border:1px solid #d8e4ff;
  color:var(--main-d);font-size:12px;font-weight:700;padding:5px 8px 5px 11px;border-radius:8px;}
.coupon-chip button{border:0;background:none;color:var(--main-d);font-size:12px;line-height:1;padding:0;}

/* ===== 支付方式 ===== */
.pay-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:11px;}
.pay-opt{display:flex;align-items:center;gap:11px;border:1.5px solid #e2e6ef;border-radius:13px;padding:11px 13px;
  background:#fff;transition:.15s;position:relative;}
.pay-opt:hover{border-color:#b9cdfb;}
.pay-opt.on{border-color:var(--main);background:var(--main-l);}
.pay-opt .pico{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  font-size:20px;flex:none;}
.pay-opt .pico.wx{background:rgba(7,193,96,.12);color:var(--wechat);}
.pay-opt .pico.zfb{background:rgba(22,119,255,.1);color:var(--alipay);}
.pay-opt .pico.generic{background:#f1f4f9;color:var(--muted);}
.pay-opt .pname{font-size:13.5px;font-weight:700;color:var(--text);}
.pay-opt .pcheck{margin-left:auto;width:24px;height:24px;border-radius:50%;background:var(--main);
  display:none;align-items:center;justify-content:center;flex:none;}
.pay-opt.on .pcheck{display:flex;}

/* ===== 游客卡密接收 ===== */
.guest-card{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.guest-opt{display:flex;align-items:center;gap:11px;border:1.5px solid #e2e6ef;border-radius:13px;padding:11px 13px;
  background:#fff;transition:.15s;}
.guest-opt:hover{border-color:#b9cdfb;}
.guest-opt.on{border-color:var(--main);background:var(--main-l);}
.guest-opt .gico{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none;}
.guest-opt .gico.wx{background:rgba(7,193,96,.12);color:var(--wechat);}
.guest-opt .gico.sms{background:#f1f4f9;color:var(--muted);}
.guest-opt .gt{display:block;font-size:13px;font-weight:700;}
.guest-opt .gs{display:block;font-size:11px;color:var(--weak);margin-top:1px;}
.guest-opt .gchk{margin-left:auto;color:var(--main);display:none;}
.guest-opt.on .gchk{display:block;}

/* ===== 结算凭证 ===== */
.checkout-in{display:grid;grid-template-columns:1.1fr .9fr;}
.co-lines{padding:18px 20px;border-right:1px solid #eef1f6;}
.rline{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin-bottom:9px;}
.rline b{font-family:var(--font-num);color:var(--text);font-weight:600;}
.rline.minus b{color:var(--green);}
.co-pay{padding:18px 20px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#f3f7ff,#f8fbff);}
.co-amt{display:flex;align-items:baseline;justify-content:space-between;}
.co-amt .lab{font-size:13px;color:var(--muted);}
.co-amt .amt{font-family:var(--font-num);font-size:32px;font-weight:800;color:var(--main);line-height:1;}
.co-amt .amt .cur{font-size:18px;}
.btn-buy{margin-top:13px;height:50px;border:0;border-radius:13px;background:linear-gradient(135deg,#3b7bff,#2f6bff);
  color:#fff;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:9px;
  box-shadow:0 8px 20px rgba(47,107,255,.3);transition:.15s;position:relative;}
.btn-buy:hover{filter:brightness(1.05);}
.btn-buy:active{transform:translateY(1px);}
.btn-buy:disabled{opacity:.7;cursor:not-allowed;box-shadow:none;}
.btn-buy .spin{width:17px;height:17px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;
  display:none;animation:spin .7s linear infinite;}
.btn-buy.loading .spin{display:block;}
@keyframes spin{to{transform:rotate(360deg);}}
.receipt-safe{display:flex;gap:12px;margin-top:11px;font-size:11px;color:var(--weak);flex-wrap:wrap;}
.line-msg{font-size:12.5px;color:var(--muted);min-height:16px;margin-top:10px;text-align:center;}
.line-msg.err{color:var(--danger);}
.hide{display:none!important;}
/* ===== 详情 / 须知 / 评论 ===== */
.b-below{max-width:1280px;margin:0 auto;padding:6px 22px 30px;}
.info-tabs-wrap{margin-top:4px;}
.info-tabs{background:#fff;border:1px solid var(--cell-line);border-radius:18px;overflow:hidden;box-shadow:var(--sh-cell);}
.info-tabbar{display:flex;border-bottom:1px solid #eef0f5;padding:0 12px;gap:2px;overflow-x:auto;}
.info-tabbar button{padding:15px 18px;font-size:13.5px;color:var(--weak);font-weight:600;border:0;background:none;
  border-bottom:2px solid transparent;white-space:nowrap;transition:.15s;}
.info-tabbar button.on{color:var(--main);border-bottom-color:var(--main);}
.info-pane{display:none;padding:20px;font-size:13.5px;color:#4d5568;line-height:1.9;}
.info-pane.on{display:block;}
.rich img{max-width:100%;height:auto;border-radius:10px;}
.rich p{margin:0 0 10px;}
.empty-tip{color:var(--weak);}
.notice-box{background:#f8fafd;border:1px solid #eef1f6;border-radius:12px;padding:14px 16px;color:var(--muted);}
/* 评论 */
.cmt-sort{font-size:12px;color:var(--weak);margin-bottom:14px;}
.cmt-list{display:flex;flex-direction:column;gap:14px;}
.cmt-empty{color:var(--weak);padding:20px 0;text-align:center;}
.cmt{border-bottom:1px solid #f0f2f6;padding-bottom:14px;}
.cmt-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:7px;}
.cmt-ava{width:30px;height:30px;border-radius:50%;background:var(--main-l);color:var(--main-d);font-size:13px;
  display:flex;align-items:center;justify-content:center;font-weight:700;}
.cmt-name{font-size:13px;font-weight:700;}
.cmt-stars{color:#f5a623;font-size:12px;letter-spacing:1px;}
.cmt-time{font-size:11px;color:var(--weak);margin-left:auto;}
.cmt-txt{font-size:13px;color:#3f4757;line-height:1.8;}
.cmt-reply{margin-top:8px;background:#f6f8fc;border-radius:10px;padding:9px 12px;font-size:12.5px;color:var(--muted);}
.cmt-reply b{color:var(--main-d);margin-right:7px;}
.cmt-write{margin-top:18px;border-top:1px solid #eef1f6;padding-top:16px;}
.cmt-need{font-size:12.5px;color:var(--weak);background:#f8fafd;border-radius:10px;padding:11px 13px;}
.cw-title{font-size:13.5px;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.rating-input{display:inline-flex;gap:3px;}
.rating-input svg{width:22px;height:22px;cursor:pointer;transition:.12s;}
.cmt-write textarea{width:100%;min-height:84px;border:1px solid #e0e5ef;border-radius:11px;padding:11px 13px;
  font-size:13.5px;resize:vertical;line-height:1.7;transition:.18s;}
.cmt-write textarea:focus{border-color:var(--main);box-shadow:0 0 0 3px rgba(47,107,255,.12);}
.cw-foot{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap;}
.cw-foot .cap-tip{margin:0;}

/* ===== 相关推荐 ===== */
.b-rec{margin-top:20px;}
.rec-head{display:flex;align-items:baseline;gap:11px;margin-bottom:13px;}
.rec-head h3{font-size:16px;font-weight:800;margin:0;}
.rec-head span{font-size:12px;color:var(--weak);}
.rec-track{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.rec-card{border:1px solid var(--cell-line);border-radius:14px;overflow:hidden;background:#fff;text-decoration:none;
  transition:.18s;box-shadow:var(--sh-cell);}
.rec-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(20,30,60,.08);}
.rc-img{height:96px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eaf1ff,#f3f6fc);}
.rc-img img{width:100%;height:100%;object-fit:cover;}
.rc-ph{font-size:12px;color:#7a90b8;}
.rc-body{padding:10px 12px;}
.rc-name{font-size:12.5px;font-weight:600;line-height:1.4;color:var(--text);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:35px;}
.rc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:6px;}
.rc-price{font-family:var(--font-num);font-size:14px;font-weight:800;color:var(--main);}
.rc-sold{font-size:11px;color:var(--weak);}

/* ===== 悬浮按钮 ===== */
.fab{position:fixed;right:20px;bottom:24px;display:flex;flex-direction:column;gap:10px;z-index:80;}
.fab button{width:46px;height:46px;border-radius:50%;border:1px solid #e2e6ef;background:#fff;color:var(--muted);
  box-shadow:0 6px 18px rgba(20,30,60,.14);display:flex;align-items:center;justify-content:center;transition:.18s;}
.fab button:hover{color:#fff;background:var(--main);border-color:var(--main);}

/* ===== 弹窗 ===== */
.modal-mask{position:fixed;inset:0;background:rgba(15,22,38,.5);backdrop-filter:blur(3px);display:none;
  align-items:center;justify-content:center;z-index:200;padding:18px;}
.modal-mask.open{display:flex;animation:fadeIn .2s;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
.modal{background:#fff;border-radius:18px;width:100%;max-width:380px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.25);
  animation:popIn .22s cubic-bezier(.2,.9,.3,1.2);}
@keyframes popIn{from{opacity:0;transform:scale(.94) translateY(8px);}to{opacity:1;transform:none;}}
.modal-head{display:flex;align-items:center;padding:16px 18px;border-bottom:1px solid #eef1f6;}
.modal-head .mt{font-size:15px;font-weight:800;}
.modal-head .x{margin-left:auto;border:0;background:none;color:var(--weak);display:flex;padding:4px;}
.modal-head .x:hover{color:var(--danger);}
.modal-body{padding:18px;}
.qr-box{width:220px;height:220px;margin:0 auto;border:1px solid #eef1f6;border-radius:14px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;background:#fff;}
.qr-box img{width:100%;height:100%;}
.qr-loading{font-size:13px;color:var(--weak);}
.qr-tip{text-align:center;}
.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid #eef1f6;background:#fafbfd;}

/* ===== Toast ===== */
.dc-toast{position:fixed;top:74px;left:50%;transform:translate(-50%,-12px);background:rgba(20,26,40,.92);color:#fff;
  padding:10px 18px;border-radius:11px;font-size:13px;z-index:300;opacity:0;pointer-events:none;transition:.22s;max-width:88%;}
.dc-toast.show{opacity:1;transform:translate(-50%,0);}

/* ===== 移动端响应式（不影响 PC） ===== */
@media(max-width:920px){
  .b-nav{padding:0 11px;gap:8px;}
  .b-nav .nlinks{display:none;}
  .b-nav .brand{min-width:0;}
  .b-nav .brand-logo{height:30px;}
  .b-nav .nright{gap:6px;}
  .b-nav .b-btn{height:33px;padding:0 11px;font-size:12.5px;}
  .b-grid{grid-template-columns:1fr;gap:11px;padding:0 13px;}
  .b-cell{grid-column:1/-1!important;grid-row:auto!important;}
  .b-visual{grid-row:auto!important;}
  .visual-stage{min-height:200px;}
  .b-below{padding:0 13px 26px;}
  .checkout-in{grid-template-columns:1fr;}
  .co-lines{border-right:0;border-bottom:1px solid #eef1f6;}
  .guest-card{grid-template-columns:1fr;}
  .pay-grid{grid-template-columns:1fr;}
  .rec-track{grid-template-columns:repeat(2,1fr);}
  .fab{right:14px;bottom:18px;}
}
