:root{--brand:#E8467F;--deep:#C62B62;--btn:#B83A62;--tint:#FDEEF5;--canvas:#F4F6F8;--ink:#17222B;--ink2:#5B6871;--ink3:#8A959C;--line:#EEF2F5;--hair:#E9E3E6;--gold:#E3A81B;--r:16px;--sh:0 1px 7px rgba(46,26,38,.05);--shr:0 8px 24px rgba(46,26,38,.08)}
*{box-sizing:border-box;margin:0;padding:0}body{background:var(--canvas);color:var(--ink);font:15px/1.45 -apple-system,"PingFang SC","Noto Sans CJK SC",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;cursor:pointer}.din{font-family:"DIN Alternate","DIN Condensed","Roboto Condensed",Bahnschrift,sans-serif;font-weight:700;letter-spacing:-.02em}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.top{position:sticky;top:0;z-index:30;background:rgba(244,246,248,.85);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.topin{display:flex;align-items:center;height:64px;gap:40px}.brand{display:flex;align-items:center;gap:8px}.logo{width:32px;height:32px;flex:0 0 32px;border-radius:9px;object-fit:contain;display:block}.brand b{font-size:18px}.brand small{color:var(--ink3);font-size:12px;border:1px solid var(--hair);padding:0 6px;border-radius:99px}
.tnav{display:flex;gap:28px;flex:1}.tnav a{position:relative;color:var(--ink2);padding:20px 0;font-weight:500}.tnav a:hover{color:var(--ink)}.tnav a.on{color:var(--ink);font-weight:700}.tnav a.on:after{content:"";position:absolute;left:50%;bottom:12px;width:18px;height:3px;border-radius:2px;background:var(--brand);transform:translateX(-50%)}.tnav i{font-style:normal;font-size:10px;color:var(--brand);background:var(--tint);padding:1px 5px;border-radius:99px;margin-left:4px;vertical-align:2px}
.btn-brand{display:inline-flex;align-items:center;justify-content:center;background:var(--btn);color:#fff;font-weight:700;border-radius:99px;padding:10px 22px;transition:.2s;box-shadow:0 4px 12px rgba(232,70,127,.22)}.btn-brand:hover{background:var(--deep);transform:translateY(-1px)}.btn-brand.sm{padding:8px 18px;font-size:14px}.btn-brand.block{display:flex;margin-top:14px}
.btn-ghost{border:1.5px solid var(--ink);border-radius:99px;padding:7px 16px;font-weight:600;font-size:14px;transition:.2s;white-space:nowrap}.btn-ghost:hover{background:var(--ink);color:#fff}.btn-ghost.sm{padding:4px 12px;font-size:13px}
.grid{display:grid;grid-template-columns:1fr 320px;gap:28px;padding-top:28px;padding-bottom:60px}
.head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px}.head h1{font-size:34px;font-weight:800;letter-spacing:.02em}.head p{color:var(--ink2)}.head b{color:var(--ink);font-size:17px;margin:0 2px}
.card{background:#fff;border-radius:var(--r);box-shadow:var(--sh);transition:box-shadow .25s,transform .25s}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vip{display:flex;align-items:center;gap:12px;padding:18px 18px;background:linear-gradient(100deg,#FFFDF8,#FBF4E6);border:1px solid #EFE2C6;cursor:pointer}.vip:hover{box-shadow:var(--shr)}
.vipbadge{font:italic 800 13px/1 Georgia,serif;color:#5b4520;background:linear-gradient(135deg,#E9D29A,#C9A55A);padding:7px 10px;border-radius:6px}.vt{flex:1}.vt b{display:block;font-size:16px}.vt small{color:var(--ink2);font-size:13px}
.vp{color:var(--ink)}.vp .yen{color:var(--brand);font-size:13px}.vp b{font-size:26px}.vp small{color:var(--ink2);font-size:12px}
.arrive{position:relative;padding:16px 18px 16px 20px;border-left:4px solid var(--brand)}.arrive .an{display:block;font-size:17px;margin:6px 0 2px}.arrive p{font-size:13px;color:var(--ink2)}.arrive small{font-size:12px;color:var(--ink3)}.arrive .btn-ghost{position:absolute;right:16px;top:50%;transform:translateY(-50%)}.arrive .btn-ghost:hover{transform:translateY(-50%)}
.pinktag{display:inline-block;font-size:12px;color:var(--deep);background:var(--tint);padding:2px 8px;border-radius:6px}
.toolbar{position:sticky;top:64px;z-index:20;background:var(--canvas);padding:16px 0 6px;margin-top:6px}.toolbar.stuck{box-shadow:0 10px 16px -14px rgba(46,26,38,.25)}
.search{display:flex;align-items:center;gap:10px;background:#fff;border-radius:14px;padding:12px 16px;box-shadow:var(--sh);border:1px solid transparent;transition:.2s}.search:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px var(--tint)}.search svg{width:18px;fill:none;stroke:var(--ink2);stroke-width:2}.search input{border:0;outline:0;flex:1;font-size:15px;background:none}
.tbrow{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.cats{display:flex;gap:22px}.cats a{position:relative;padding:6px 0 10px;color:var(--ink2);font-size:16px}.cats a.on{color:var(--ink);font-weight:700}.cats a.on:after{content:"";position:absolute;left:50%;bottom:2px;width:20px;height:3px;border-radius:2px;background:var(--brand);transform:translateX(-50%)}
.tbr{display:flex;align-items:center;gap:20px}.storepill{background:#fff;border-radius:99px;padding:8px 16px;font-weight:600;box-shadow:var(--sh);font-size:14px}.storepill small{color:var(--ink2);font-weight:400}.sort{color:var(--ink2);font-size:14px;user-select:none}.sort.asc span{display:inline-block;transform:rotate(180deg)}
.stores{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}
.sg{padding:18px 20px 6px}.sg:hover{box-shadow:var(--shr);transform:translateY(-2px)}.sgh{display:flex;align-items:center;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.sgh b{font-size:19px}.sgh small{color:var(--ink2);font-size:13px}.ex{font-size:11px;color:var(--ink3);border:1px dashed var(--hair);padding:0 5px;border-radius:4px}
.pk{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer}.pk:last-child{border:0}.pk:hover .pn{color:var(--deep)}.pkm{flex:1;min-width:0}.pn{font-weight:700;font-size:16px;transition:.15s}.pd{font-size:13px;color:var(--ink2);margin-top:3px}.pd .lim{color:var(--deep);background:var(--tint);padding:1px 6px;border-radius:4px;margin-right:6px}
.pr{color:var(--ink);white-space:nowrap}.pr .yen{color:var(--brand);font-size:14px;margin-right:2px}.pr b{font-size:28px}.pk .arr{color:var(--ink3);font-size:20px}
.foot{text-align:center;color:var(--ink2);font-size:13px;margin-top:28px}.foot small{color:var(--ink3)}
.side{display:flex;flex-direction:column;gap:16px;position:sticky;top:92px;align-self:start}.sidec{padding:18px}.sh{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.sh b{font-size:17px}.sh a{color:var(--ink2);font-size:13px}
.party{display:grid;grid-template-columns:1fr auto;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.party small{grid-column:1;color:var(--ink2);font-size:12px}.party .btn-ghost{grid-row:1/3;grid-column:2}.mini{color:var(--ink3);font-size:12px;margin-top:8px}.ann{font-size:14px;color:var(--ink2)}.ann small{color:var(--ink3);margin-left:6px}
.ask{position:fixed;right:28px;bottom:40px;background:var(--btn);color:#fff;font-weight:700;padding:14px 22px;border-radius:99px;box-shadow:0 8px 20px rgba(184,58,98,.35);z-index:25;transition:.2s}.ask:hover{transform:translateY(-2px)}
.tabbar{display:none}
.scrim{position:fixed;inset:0;background:rgba(46,26,38,.45);opacity:0;pointer-events:none;transition:.25s;z-index:40}.scrim.on{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:50%;bottom:0;width:min(520px,100%);transform:translate(-50%,100%);background:#fff;border-radius:22px 22px 0 0;padding:12px 20px 28px;z-index:41;transition:transform .32s cubic-bezier(.2,.8,.2,1)}.sheet.on{transform:translate(-50%,0)}
.sheet .grab{width:40px;height:4px;background:var(--hair);border-radius:2px;margin:0 auto 14px}.sheet h3{font-size:19px;margin-bottom:4px}.sheet .x{position:absolute;right:18px;top:16px;width:30px;height:30px;border-radius:50%;background:var(--canvas);display:grid;place-items:center}
.sheet .sub{color:var(--ink2);font-size:13px;margin-bottom:14px}.sheet .fld{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.sheet .fld span{color:var(--ink2)}.sheet .btn-brand{display:flex;margin-top:18px;padding:14px}
.allst{background:var(--ink);color:#fff;border-radius:12px;padding:13px 16px;font-weight:700;margin-bottom:12px;display:block}.stgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:50vh;overflow:auto}.stgrid a{border:1px solid var(--hair);border-radius:12px;padding:10px 12px}.stgrid a:hover{border-color:var(--brand)}.stgrid small{display:block;color:var(--ink2);font-size:12px}
.toast{position:fixed;left:50%;top:90px;transform:translate(-50%,-20px);background:var(--ink);color:#fff;padding:10px 18px;border-radius:99px;opacity:0;transition:.3s;z-index:50;font-size:14px}.toast.on{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.grid{grid-template-columns:1fr}.side{position:static}.stores{grid-template-columns:1fr}}
@media(max-width:640px){
.wrap{padding:0 16px}.top{background:var(--canvas);border:0}.topin{height:52px}.tnav,.top .btn-brand{display:none}
.grid{padding-top:10px;padding-bottom:110px}.head{margin-bottom:12px}.head h1{font-size:28px}.head p{font-size:13px}.head b{font-size:15px}
.row2{grid-template-columns:1fr;gap:12px}.vip{padding:14px}.vt b{font-size:15px}.vt small{font-size:12px}.vp b{font-size:22px}.vip .btn-brand{padding:8px 16px}
.toolbar{top:52px;padding-top:12px}.tbrow{flex-direction:column;align-items:stretch;gap:10px}.tbr{justify-content:space-between}.cats a{font-size:15px}
.sg{padding:16px 16px 4px}.sgh b{font-size:17px}.pn{font-size:15px}.pr b{font-size:25px}
.side{display:none}.ask{right:14px;bottom:86px;padding:12px 18px}
.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:6px 0 calc(6px + env(safe-area-inset-bottom));z-index:30}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--ink3)}.tabbar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6}.tabbar a.on{color:var(--ink);font-weight:600}.tabbar a.on svg{stroke:var(--ink)}.tabbar a.on svg path:first-child{fill:none}}
.vt small{white-space:nowrap}.sgh{flex-wrap:nowrap}.sgh small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sgh .pinktag,.sgh .ex{white-space:nowrap;flex-shrink:0}.sort.act{color:var(--deep);font-weight:600}
@media(max-width:1200px) and (min-width:641px){.vt small{white-space:normal}}
.vip .btn-brand,.vp,.sgh b{white-space:nowrap;flex-shrink:0}.vt{min-width:0}.vt small{display:block;overflow:hidden;text-overflow:ellipsis}.sgh small{min-width:0}
.row2>*,main,.main{min-width:0}@media(max-width:640px){.vt small{white-space:normal}}
.maincol{min-width:0}.arrive .an,.arrive p{overflow:hidden;text-overflow:ellipsis}
#list{grid-template-columns:repeat(2,minmax(0,1fr))}.sg{min-width:0}@media(max-width:640px){#list{grid-template-columns:minmax(0,1fr)}.vt small{font-size:12px;letter-spacing:0}.vip .vt small{white-space:normal;overflow:visible;display:block;-webkit-line-clamp:unset;max-height:none}}
.lockp{font-size:13px;color:var(--ink-3,#8A959C);white-space:nowrap}.xn{color:#8A959C}.annr{padding:8px 0;border-top:1px solid #EEF2F5}.annr:first-child{border:0}.annr b{display:block;font-size:13px;font-weight:600}.annr small{font-size:11px;color:#8A959C}
.inp,.fld input{border:1px solid #E9E3E6;border-radius:10px;padding:10px 12px;font:inherit;width:100%;box-sizing:border-box;margin:6px 0}.fld input{width:auto;margin:0;padding:6px 8px;text-align:right}
.topin .btn-ghost.sm{margin-left:auto}
.more{display:block;text-align:center;padding:12px 0 2px;font-size:13px;color:var(--brand,#E8467F);border-top:1px solid #EEF2F5;cursor:pointer}
.vt small{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35}
.err{color:#D9364F;font-size:12px;min-height:16px;margin:2px 0 6px}
.mpguide{display:flex;gap:14px;align-items:center;margin:12px 0}.mpqr{width:96px;height:96px;flex-shrink:0;border:1px dashed #D9CFD4;border-radius:12px;display:grid;place-items:center;text-align:center;font-size:12px;color:#8A959C}.mpqr img{width:100%;height:100%;object-fit:contain;border-radius:12px;background:#fff}.mpguide ol{margin:0;padding-left:18px;font-size:13px;line-height:1.7;color:#3A4448}
/* ===== v11 门店页 / 订台 / 成功页 ===== */
.sgh .sgn{color:inherit;text-decoration:none}.sgh .sgn:hover b{color:var(--deep)}.sgmore{margin-left:auto;font-size:12px;color:var(--ink3);text-decoration:none;white-space:nowrap}.sgmore:hover{color:var(--deep)}
#view{padding-top:18px;padding-bottom:90px}.crumb{font-size:13px;color:var(--ink3);margin:4px 0 14px;display:flex;gap:6px;flex-wrap:wrap}.crumb a{color:var(--ink2);text-decoration:none}.crumb a:hover{color:var(--deep)}
.sd,.od{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.sdside,.odside{position:sticky;top:84px}
.sdhead{padding:0;overflow:hidden}.sdcover{height:180px;background:#EDE7EA center/cover}.sdti{display:flex;align-items:center;gap:10px;padding:18px 20px 0}.sdti h1{font-size:26px;margin:0}
.sdmeta{padding:4px 20px 0;margin:0;color:var(--ink2);font-size:13px}.sdmeta b{color:var(--deep)}.sdsum{padding:8px 20px 18px;margin:0;font-size:14px;color:var(--ink2);line-height:1.6}
.lockbar{display:flex;justify-content:space-between;align-items:center;margin:0 20px 18px;padding:12px 14px;border-radius:12px;background:linear-gradient(100deg,#FFFDF8,#FBF4E6);border:1px solid #EFE2C6;font-size:13px;color:#5b4520;cursor:pointer;text-decoration:none}.lockbar b{color:var(--deep)}
.sdpk{margin-top:16px;padding:16px 18px}.sh small{color:var(--ink3);font-size:12px;margin-left:6px}
/* 特价酒水：照小程序门店卡片，整行可点、粉价靠右、灰箭头收尾 */
.pk2{display:flex;align-items:center;gap:12px;padding:16px 0;border-top:1px solid #F3F5F7;text-decoration:none;color:inherit;transition:background .15s}
.pk2:first-of-type{border-top:0}.pk2:hover{background:#FFF9FC}
.pk2 .pkm{flex:1;min-width:0}.pk2 .pn{font-size:15px;font-weight:700;color:#17222B;line-height:1.35}
.pk2 .pd{font-size:12px;color:#8A959C;margin-top:4px;line-height:1.45}
.pk2 .xn{font-size:11px;color:#8A959C;margin-top:3px}
.pk2 .pr{white-space:nowrap;flex:none;font-variant-numeric:tabular-nums}
.pk2 .pr .yen{color:#E8467F;font-size:12px;font-weight:700;margin-right:1px}
.pk2 .pr b,.pk2 .pr .din{color:#E8467F;font-size:22px;font-weight:700;letter-spacing:-.5px}
.pk2 .pr .lockp{font-size:12px;color:#8A959C}
.pk2 .pk-arr{flex:none;font-size:18px;color:#C0C7CC;line-height:1}
.sdinfo,.odside{padding:18px}.kv{margin-top:12px}.kv small{font-size:12px;color:var(--ink3)}.kv p{margin:4px 0 0;font-size:14px;color:var(--ink)}
.acts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 6px}.acts>a{flex:1 1 auto;text-align:center;text-decoration:none}.floor{width:100%;border-radius:12px;margin-top:6px}.ph{margin-top:6px;background:#F4F4F5;border-radius:12px;padding:22px;text-align:center;color:var(--ink2);font-size:13px}.ph small{color:var(--ink3)}
.odform{padding:22px}.odk small{color:var(--deep);font-size:13px;font-weight:600}.odk h1{font-size:20px;margin:4px 0 16px}
.dealsum{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--tint)}.dealsum small{font-size:12px;color:var(--ink2);display:block}.dealsum b{display:block;font-size:16px;margin:2px 0 4px}.dp{text-align:right;white-space:nowrap}.din.big{font-size:30px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fl{display:block;margin-top:14px}.fl>span{display:block;font-size:13px;color:var(--ink2);margin-bottom:6px}.req,.opt{font-style:normal;font-size:11px;margin-left:6px;padding:1px 6px;border-radius:6px;background:var(--tint);color:var(--deep)}.opt{background:#F1F3F5;color:var(--ink3)}
.fl input{width:100%;box-sizing:border-box;border:1px solid var(--hair);border-radius:12px;padding:12px 14px;font:inherit;font-size:15px;background:#fff}.fl input:focus{outline:2px solid var(--tint);border-color:var(--brand)}.fl em{display:block;font-style:normal;font-size:12px;color:var(--ink3);margin-top:4px}
.step{display:flex;align-items:center;gap:0;border:1px solid var(--hair);border-radius:12px;width:max-content;overflow:hidden}.step a{width:46px;height:44px;display:grid;place-items:center;font-size:20px;cursor:pointer;user-select:none;color:var(--deep)}.step a.off{color:#CCD2D6;pointer-events:none}.step b{min-width:70px;text-align:center;font-size:15px}
.btn-brand.big{display:block;text-align:center;margin-top:22px;padding:14px;font-size:16px;cursor:pointer}.btn-brand.busy{opacity:.6;pointer-events:none}.foot2{text-align:center;font-size:12px;color:var(--ink3);margin:10px 0 0}.pvw{text-align:center;font-size:12px;color:#B7791F;margin:6px 0 0}
.odside .btn-ghost{display:block;text-align:center;margin-top:10px}
.donewrap{max-width:560px;margin:0 auto;display:grid;gap:14px}.donehero{text-align:center;padding:26px 22px}.donehero .ok{width:56px;height:56px;border-radius:50%;background:var(--tint);color:var(--deep);font-size:28px;display:grid;place-items:center;margin:0 auto 10px}.donehero h1{margin:0 0 8px;font-size:22px}.donehero p{margin:4px 0;color:var(--ink2);font-size:14px;line-height:1.6}
.arrcard{padding:18px}.arrh{display:flex;justify-content:space-between;align-items:center}.arrh small{color:var(--ink2);font-size:13px}.waittag{font-size:12px;padding:3px 8px;border-radius:6px;background:#FFF4E0;color:#B7791F}.arrcard h2{font-size:22px;margin:8px 0 12px}
.arrkv{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:12px}.arrkv small,.arrpk small{display:block;font-size:12px;color:var(--ink3)}.arrkv b{font-size:15px}.arrpk{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;display:flex;gap:10px;align-items:baseline}.arrcard .btn-brand{display:block;text-align:center;margin-top:12px}
.doneacts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.doneacts a{text-align:center;text-decoration:none;padding:12px}.done{padding:28px;text-align:center}.menuimgs img{width:100%;border-radius:10px;margin-top:8px}
@media(max-width:900px){.sd,.od{grid-template-columns:1fr}.sdside,.odside{position:static}.sdcover{height:150px}.sdti h1{font-size:22px}.pk2{flex-wrap:nowrap;gap:10px}.pk2 .pkm{flex:1 1 auto;min-width:0}.pk2 .pr{margin-right:0}.pk2 .pr b,.pk2 .pr .din{font-size:20px}}
.dp>div{display:flex;align-items:baseline;justify-content:flex-end;gap:2px}
[hidden]{display:none!important}
.sheet{visibility:hidden}.sheet.on{visibility:visible}
.sdcover{display:block;width:100%;object-fit:cover}
.btn-brand.off,.btn-brand.off:hover{background:#C9CFD4!important;box-shadow:none;pointer-events:none;cursor:not-allowed}
.btn-ghost.block{display:block;text-align:center}.rowlink{cursor:pointer}.fld b.warn{color:var(--deep)}.notice{background:#FFF4E0;color:#8A5A00;border-radius:10px;padding:10px 12px;font-size:13px;margin:10px 0 0}
.pwdnote{display:block;background:#FFF4E0;color:#8A5A00;text-align:center;font-size:13px;padding:8px 12px;cursor:pointer;position:relative;z-index:31}
/* —— v11c 组局 / 发起拼桌 / 拼桌详情 / 公告 —— */
#view{padding-top:20px;padding-bottom:70px}
.gwrap{max-width:880px;margin:0 auto}.ghd{display:flex;align-items:baseline;gap:12px;margin:6px 0 16px}.ghd h1{font-size:30px;letter-spacing:-.01em}.ghd small{color:var(--ink3)}.ghd small b{color:var(--deep);font-size:18px}
.tghero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;margin-bottom:16px}.tghero .k{letter-spacing:.2em;font-size:11px;color:var(--ink3);font-weight:700}.tghero b{display:block;font-size:19px;margin:4px 0}.tghero p{color:var(--ink2);font-size:13px}.tghero .acts{display:flex;align-items:center;gap:18px;flex-shrink:0}
.weak{font-size:14px;font-weight:600;color:var(--ink)}
.gstate{text-align:center;padding:38px 24px;display:flex;flex-direction:column;align-items:center;gap:8px}.gstate .mk{width:52px;height:52px;border-radius:50%;background:var(--tint);color:var(--deep);display:grid;place-items:center;font-weight:800;font-size:20px;margin-bottom:4px}.gstate b{font-size:17px}.gstate p{color:var(--ink2);font-size:14px;margin-bottom:8px}.gstate .weak{color:var(--ink2);font-size:13px;margin-top:4px}
.gsec{font-weight:700;margin:18px 2px 10px}.gsec small{font-weight:400;color:var(--ink3);margin-left:6px}
.ggrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gsc{display:block;padding:18px;transition:.2s}.gsc:hover{box-shadow:var(--shr);transform:translateY(-1px)}
.tgtop{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink2)}.tgtime{font-weight:700;color:var(--ink)}.tgtop small{color:var(--ink3);margin-left:auto}
.gtag{font-size:11px;font-weight:700;color:var(--deep);background:var(--tint);border-radius:99px;padding:2px 8px}.gtag.lk{color:#8a6a10;background:#FDF4DC}.gtag.sbx{color:#3b6ea8;background:#E7F0FA}
.gtag.offi{color:#fff;background:var(--brand);font-weight:800}
.mini.offi-tip{color:var(--deep);background:var(--tint);display:inline-block;padding:4px 10px;border-radius:8px;margin:6px 0 2px}
.mine-tags{display:inline-flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;flex:none;max-width:46%}
.mine-st.offi{color:#fff;background:var(--brand)}
.mine-arr{display:inline-flex;margin-top:10px;font-size:13px;font-weight:700;color:var(--brand);text-decoration:none}
.mine-arr:hover{text-decoration:underline}
.gname{display:block;font-size:17px;margin:8px 0 2px}.gplace{color:var(--ink2);font-size:13px}
.tgchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tgchips span{font-size:12px;color:var(--ink2);background:var(--canvas);border-radius:6px;padding:3px 8px}
.tgprog{margin-top:12px}.tgprog i{display:block;height:6px;border-radius:3px;background:var(--line);overflow:hidden}.tgprog s{display:block;height:100%;background:linear-gradient(90deg,#F0548F,#D62A63);border-radius:3px}.tgprog small{display:block;font-size:12px;color:var(--ink3);margin-top:5px}
.gfoot{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--ink2)}.gfoot b{color:var(--deep);font-size:18px}.gfoot u{text-decoration:none;color:var(--ink3);margin-left:4px}.gfoot em{font-style:normal;font-weight:700;color:var(--ink)}
.pd2{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.pdmain{display:flex;flex-direction:column;gap:14px}.pdmain>.card,.pdside>.card{padding:18px 20px}.pdside{position:sticky;top:84px}.pdside .c{text-align:center;margin-top:10px}
.pdhead h1{font-size:24px;margin:8px 0 4px}.pdhead p{color:var(--ink2)}.pdkv{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.pdkv div{background:var(--canvas);border-radius:12px;padding:10px 12px}.pdkv small{display:block;font-size:12px;color:var(--ink3)}.pdkv b{font-size:15px}
.seatrow{display:flex;align-items:center;gap:14px;margin:8px 0}.seatrow>span{width:36px;font-size:13px;color:var(--ink2)}.seats{display:flex;gap:8px}.seats i{width:26px;height:26px;border-radius:50%;border:2px solid #D5DADF}.seats.m i.on{background:#4A7FC1;border-color:#4A7FC1}.seats.f i.on{background:var(--brand);border-color:var(--brand)}.seats i.ex{border-style:dashed}
.fee{margin-top:12px}.fee b{color:var(--deep)}.rules{white-space:pre-wrap;color:var(--ink2);line-height:1.7}
.okline{color:#2F8F5B;font-weight:700;margin:6px 0}
.seg{display:flex;gap:8px}.seg a{flex:1;border:1.5px solid var(--hair);border-radius:12px;padding:10px 8px;text-align:center;font-weight:600;background:#fff}.seg a small{display:block;font-weight:400;font-size:11px;color:var(--ink3)}.seg a.on{border-color:var(--brand);background:var(--tint);color:var(--deep)}.seg a.full small{color:#B07A00}
.frow{display:flex;align-items:center;gap:10px}.frow>span{font-size:13px;color:var(--ink2)}.step.sm a{width:34px;height:34px;font-size:17px}.step.sm b{min-width:30px}
.ck{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--ink2);margin-top:12px;line-height:1.5}.ck input{margin-top:3px;accent-color:var(--brand)}
.btn-brand.big{padding:14px;font-size:16px;margin-top:18px}.btn-brand.busy{opacity:.6;pointer-events:none}
.pnew{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.pnew>.gstate{grid-column:1/-1;max-width:560px;margin:0 auto;width:100%}.pnform{padding:22px 24px}
.fl select,.fl textarea{width:100%;box-sizing:border-box;border:1px solid var(--hair);border-radius:12px;padding:12px 14px;font:inherit;font-size:15px;background:#fff;resize:vertical}.fl select:disabled{background:var(--canvas);color:var(--ink3)}
.fl i.opt{font-weight:400}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chips a{font-size:13px;border:1px solid var(--hair);border-radius:99px;padding:5px 12px;background:#fff;color:var(--ink2)}.chips a.on{border-color:var(--brand);color:var(--deep);background:var(--tint);font-weight:600}
.seatset{display:grid;grid-template-columns:1fr 1fr;gap:10px}.seatset>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--canvas);border-radius:12px;padding:10px 12px;font-size:13px;color:var(--ink2)}.seatset b{color:var(--ink);margin-right:4px}.seatset .step{background:#fff}
.howto{padding-left:20px;color:var(--ink2);font-size:14px;line-height:1.9;margin-bottom:10px}
.ncard{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;margin-bottom:10px;transition:.2s}.ncard:hover{box-shadow:var(--shr)}.nidx{width:26px;height:26px;border-radius:50%;background:var(--canvas);color:var(--ink3);display:grid;place-items:center;font-size:12px;font-weight:700;flex-shrink:0}.ncard.isnew{border:1.5px solid #F6C7DA}.ncard.isnew .nidx{background:var(--brand);color:#fff}
.nmain{flex:1;min-width:0}.nmeta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink3)}.tnnew,.tnpin{font-size:11px;font-weight:700;color:#fff;background:var(--brand);border-radius:6px;padding:1px 6px}.tnpin{background:var(--gold)}.ntype{font-size:11px;color:var(--deep);background:var(--tint);border-radius:6px;padding:1px 6px;margin-right:6px;vertical-align:2px}
.ncard b{display:block;font-size:16px;margin:4px 0}.ncard p{color:var(--ink2);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ncard em{font-style:normal;color:var(--ink3);font-size:20px;align-self:center}
.ndwrap{max-width:760px;margin:0 auto}.nd{padding:28px 30px}.nd h1{font-size:26px;margin:10px 0 14px;line-height:1.35}.ntime{display:inline-flex;gap:10px;align-items:center;background:var(--tint);border-radius:10px;padding:8px 14px;margin-bottom:16px}.ntime small{color:var(--ink3)}.ntime b{color:var(--deep)}
.nbody p{font-size:16px;line-height:1.85;margin-bottom:10px}.nacts{display:flex;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.npn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.npn a{padding:14px 16px}.npn a:last-child{text-align:right}.npn small{display:block;color:var(--ink3);font-size:12px}.npn b{font-size:14px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
a.annr{display:block}a.annr:hover b{color:var(--deep)}
@media(max-width:900px){.pd2,.pnew{grid-template-columns:1fr}.pdside{position:static}.pdkv{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.ggrid{grid-template-columns:1fr}.tghero{flex-direction:column;align-items:flex-start;padding:18px}.ghd h1{font-size:26px}.seatset{grid-template-columns:1fr}.nd{padding:20px 18px}.nd h1{font-size:22px}.pnform{padding:18px 16px}.npn{grid-template-columns:1fr}.npn a:last-child{text-align:left}#view{padding-bottom:100px}}
@media(max-width:640px){.pnform .pair:first-of-type{grid-template-columns:1fr}.pnform .pair:first-of-type select{font-size:14px}}

/* ===== v11k visual QA ===== */

/* arrive: no absolute overlap — flex row */
.arrive{display:flex;align-items:center;gap:12px;padding:16px 18px;border-left:4px solid var(--brand);position:relative}
.arrive .abody{flex:1;min-width:0}
.arrive .an{display:block;font-size:17px;margin:6px 0 2px}
.arrive p{font-size:13px;color:var(--ink2);overflow:visible;text-overflow:clip;white-space:normal}
.arrive small{font-size:12px;color:var(--ink3)}
.arrive .btn-ghost{position:static;transform:none;flex-shrink:0;align-self:center}
.arrive .btn-ghost:hover{transform:none}

/* store card header: wrap + ellipsis, never clip page */
.sgh{flex-wrap:wrap;align-items:center;row-gap:6px;column-gap:8px}
.sgh .sgn{flex:1 1 auto;min-width:0;max-width:100%}
.sgh .sgn b,.sgh>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.sgh small{flex:0 1 auto;min-width:0;max-width:42%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sgh .pinktag,.sgh .ex{flex-shrink:0}
.sgh .sgmore{margin-left:auto;flex-shrink:0}

/* package row: name can wrap 2 lines, price never crushed */
.pk{align-items:flex-start;gap:8px}
.pk .pkm{flex:1;min-width:0;padding-right:4px}
.pn{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}
.pk .pr,.pk .arr{flex-shrink:0;align-self:center}
.pk .arr{padding-top:2px}

/* VIP strip */
.vip{align-items:center;gap:10px}
.vip .vt{flex:1;min-width:0}
.vip .vt b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vip .vt small{display:block;white-space:normal;overflow:visible;line-height:1.35}
.vip .vp,.vip .btn-brand,.vipbadge{flex-shrink:0}

/* head title vs stats */
.head{gap:8px;flex-wrap:wrap}
.head h1{min-width:0}
.head p{flex-shrink:0}

/* store detail title */
.sdti{flex-wrap:wrap;align-items:flex-start}
.sdti h1{flex:1 1 180px;min-width:0;line-height:1.25;word-break:break-word}
.sdti .pinktag{flex-shrink:0;margin-top:6px}

/* order dealsum */
.dealsum{align-items:flex-start}
.dealsum>div:first-child{min-width:0;flex:1}
.dealsum b{word-break:break-word;white-space:normal;line-height:1.35}
.dp{flex-shrink:0}

/* sheets: long account / identity */
.sheet .fld{gap:12px;align-items:flex-start}
.sheet .fld span{flex-shrink:0}
.sheet .fld b{text-align:right;max-width:68%;word-break:break-word;font-weight:600;line-height:1.4}
.sheet h3{padding-right:36px;word-break:break-word}

/* FAB: don't cover CTAs / tabbar */
.ask{z-index:24}
body:has(.odform) .ask,
body:has(.donewrap) .ask,
body:has(.done) .ask,
body:has(.sheet.on) .ask,
body:has(.scrim.on) .ask,
body:has(#view:not([hidden])) .ask{display:none}
@media(max-width:640px){
  .ask{right:12px;left:auto;bottom:96px;padding:11px 16px;font-size:13px}
  .arrive{padding:14px 14px}
  .arrive .an{font-size:16px}
  .sgh .sgn b{font-size:16px}
  .sgh small{max-width:38%;font-size:12px}
  .pr b{font-size:22px}
  .pk2{flex-wrap:wrap}
  .pk2 .btn-brand.sm{margin-top:4px}
  .pk2 .pr{margin-right:auto}
  .head{flex-direction:column;align-items:flex-start}
  .head p{font-size:13px}
  .odform,.sdpk,.sdinfo{padding-bottom:8px}
  .btn-brand.big{margin-bottom:4px}
  .lockbar{flex-wrap:wrap;gap:6px}
  .vip{flex-wrap:wrap}
  .vip .btn-brand{margin-left:auto}
}
@media(max-width:900px) and (min-width:641px){
  .sgh .sgn b{font-size:16px}
  .sgh small{max-width:36%}
  .pr b{font-size:24px}
  /* ask hidden on #view; home keeps default right */
}
/* kill page horizontal scroll from any leftover */
html,body{overflow-x:hidden;max-width:100%}
.wrap,.sg,.card,.maincol,#list,.pk,.sgh{max-width:100%}
#list{overflow:hidden}

/* ===== v11l: FAB 不压内容 ===== */
.topask{display:none;margin-left:auto;font-size:14px;font-weight:600;color:var(--deep);padding:6px 10px;border-radius:99px;background:var(--tint);white-space:nowrap}
.topask+.btn-ghost.sm{margin-left:8px}
@media(max-width:1399px){.ask{display:none!important}.topask{display:inline-block}}
@media(max-width:900px) and (min-width:641px){.tnav{gap:16px}.topin{gap:20px}}
@media(max-width:380px){.brand small{display:none}.topask{padding:5px 9px;font-size:13px}}
.tnav a,.topin a,.topin b{white-space:nowrap}
@media(max-width:1000px) and (min-width:641px){.tnav{gap:14px}.topin{gap:14px}.tnav i,.brand small{display:none}.top .btn-brand{padding-left:12px;padding-right:12px}}
/* ===== preview-single: desktop 单列居中（本地预览，未上线） ===== */
/* 顶栏稍宽，内容列 ~820 居中；隐藏右侧组局/公告栏 */
.top > .wrap{max-width:1100px}
#home.wrap,
#view.wrap{max-width:820px}
.grid{grid-template-columns:1fr;gap:0}
.side{display:none!important}
/* 820 内容宽仍够两列门店卡；窄于 720 再收成 1 列 */
@media(max-width:719px) and (min-width:641px){
  .stores,#list{grid-template-columns:minmax(0,1fr)}
}
/* 手机规则保持原样（≤640 已有 .side{display:none} 等） */
/* preview-single r2: 桌面门店单列，头部一行 */
.stores,#list{grid-template-columns:minmax(0,1fr)!important}
@media(min-width:641px){.sgh small{max-width:none}.sgh{flex-wrap:nowrap}}

/* ===== polish (11n preview) ===== */
:root{--ink3:#7A858C}
/* 顶栏与内容列对齐 820 */
.top > .wrap{max-width:820px}
.topin{gap:24px}.tnav{gap:22px}
/* 卡片节奏 */
.stores,#list{gap:14px;margin-top:8px}
.sg{padding:16px 20px 4px}
.sg:hover{transform:none;box-shadow:0 6px 18px rgba(46,26,38,.07)}
.sgh{padding-bottom:10px}
.sgh .sgn b{font-size:18px;font-weight:700}
.sgh small{color:var(--ink2)}
.pk{padding:12px 0}
.pn{font-size:15px;line-height:1.35}
.pk .pkm .pd{color:var(--ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}
.pk .pr{min-width:76px;text-align:right}
.pk .pr.lockp{font-size:13px;color:var(--ink2)}
.pk:hover{background:linear-gradient(90deg,transparent,#FDF6F9 20%,#FDF6F9 80%,transparent)}
.more{border-top:1px solid var(--line);padding:11px 0 10px;font-weight:600;font-size:13px;color:var(--deep)}
.more:hover{color:var(--brand)}
.foot{margin-top:24px}
/* VIP 条：标题完整显示，价+按钮靠右 */
.vip{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;column-gap:10px}
.vip .vt b{white-space:nowrap;overflow:visible;text-overflow:clip}
.vip .vt small{white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;line-height:1.35;max-height:2.7em}
.vip .vp b{font-size:22px}
.vip .btn-brand{padding:7px 14px;font-size:14px}
/* 中屏/桌面两卡并排较窄：VIP 两行（徽章+标题 / 价格+按钮） */
@media(min-width:641px){
  .vip{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"bd vt vt" "bd vp btn";row-gap:6px}
  .vipbadge{grid-area:bd}.vip .vt{grid-area:vt}.vip .vp{grid-area:vp;justify-self:end}.vip .btn-brand{grid-area:btn}
}
/* 会员态：并排时两行（文案完整 + 去我的），副标题不跟按钮抢宽 */
@media(min-width:641px){
  .vip.vip-on{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"bd vt" "bd go";align-items:center;column-gap:12px;row-gap:8px}
  .vip.vip-on .vt{grid-area:vt;min-width:0}
  .vip.vip-on .vt b{white-space:nowrap}
  .vip.vip-on .vt small{display:block;white-space:normal;overflow:visible;-webkit-line-clamp:unset;max-height:none;text-overflow:clip;line-height:1.4;word-break:keep-all}
  .vip.vip-on>.btn-ghost{grid-area:go;justify-self:start;align-self:center;flex:0 0 auto;width:auto;max-width:max-content;white-space:nowrap}
}
.vip.vip-on>.btn-ghost{flex:0 0 auto;width:auto;max-width:max-content;white-space:nowrap}
.vip .vt small{word-break:keep-all}
.vip.vip-on .vt small{line-height:1.45}
.vip.vip-on #vipSub{display:block}
/* 手机：门店头部固定两行 */
@media(max-width:640px){
  .vip{flex-wrap:nowrap;padding:14px}
  .vip .vt b{font-size:15px}
  .vip .vp b{font-size:20px}
  .vip .btn-brand{margin-left:0;padding:7px 13px}
  .sgh{display:grid!important;grid-template-columns:minmax(0,auto) auto minmax(0,1fr) auto;grid-template-areas:"nm nm nm mo" "mt tg . .";row-gap:4px;column-gap:8px;align-items:center}
  .sgh .sgn{grid-area:nm;min-width:0}.sgh .sgmore{grid-area:mo;margin:0}
  .sgh small{grid-area:mt;max-width:none}.sgh .pinktag{grid-area:tg;justify-self:start;font-size:11px;padding:1px 7px}
  .sg{padding:14px 16px 2px}
  .pk .pr{min-width:68px}
}
@media(max-width:380px){.vip .vt small{font-size:11px}.vipbadge{padding:6px 8px}}

/* ===== ui-preview: sheet→modal on desktop; destination pages ===== */
@media(min-width:768px){
  .sheet{left:50%;top:50%;bottom:auto;width:min(440px,92vw);max-height:min(86vh,720px);overflow:auto;
    border-radius:18px;transform:translate(-50%,-46%) scale(.96);opacity:0;pointer-events:none;padding:22px 24px 26px}
  .sheet.on{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:auto}
  .sheet .grab{display:none}
  .sheet .x{top:14px;right:14px}
}
/* phone page header with back */
.phbar{display:none;align-items:center;gap:8px;padding:8px 0 4px;position:sticky;top:52px;z-index:15;background:var(--canvas)}
.phbar a.back{width:34px;height:34px;border-radius:50%;background:#fff;box-shadow:var(--sh);display:grid;place-items:center;font-size:18px;color:var(--ink2);flex-shrink:0}
.phbar b{font-size:17px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:640px){.phbar{display:flex}.crumb{display:none}}
/* 我的 page */
.mewrap{max-width:560px;margin:0 auto;display:grid;gap:14px;padding-bottom:40px}
.mehero{padding:22px 20px;display:flex;align-items:center;gap:14px}
.meav{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--tint),#fff);color:var(--deep);display:grid;place-items:center;font-weight:800;font-size:20px;flex-shrink:0;border:1px solid var(--hair)}
.mehero .mi{flex:1;min-width:0}.mehero .mi b{display:block;font-size:18px}.mehero .mi small{color:var(--ink2);font-size:13px}
.meid{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;font-weight:700;padding:3px 10px;border-radius:99px}
.meid.vip{background:linear-gradient(135deg,#FFF6E0,#F3E0B0);color:#6A4E18}
.meid.svip{background:linear-gradient(135deg,#FDEEF5,#F8D5E4);color:var(--deep)}
.meid.norm{background:var(--canvas);color:var(--ink2);border:1px solid var(--hair)}
.melist{padding:4px 0}.merow{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.merow:last-child{border:0}.merow:hover{background:#FDF6F9}
.merow .ic{width:34px;height:34px;border-radius:10px;background:var(--tint);color:var(--deep);display:grid;place-items:center;font-size:15px;flex-shrink:0}
.merow b{flex:1;font-size:15px;font-weight:600}.merow small{color:var(--ink3);font-size:12px}.merow em{color:var(--ink3);font-style:normal}
.melogin{text-align:center;padding:36px 22px}.melogin .mk{width:64px;height:64px;border-radius:50%;background:var(--tint);color:var(--deep);display:grid;place-items:center;font-size:28px;font-weight:800;margin:0 auto 14px}
.melogin h1{font-size:22px;margin:0 0 8px}.melogin p{color:var(--ink2);font-size:14px;line-height:1.6;margin:0 0 18px}
.melogin .btn-brand{display:inline-flex;min-width:180px;justify-content:center}
.soon{text-align:center;padding:48px 24px}.soon .mk{width:72px;height:72px;border-radius:20px;background:var(--tint);color:var(--deep);display:grid;place-items:center;font-size:28px;font-weight:800;margin:0 auto 16px}
.soon h1{font-size:24px;margin:0 0 8px}.soon p{color:var(--ink2);font-size:14px;line-height:1.6;max-width:320px;margin:0 auto 18px}
.soon .pinktag{margin-bottom:14px}

/* 11o-ui r2 */
.pghead{margin:4px 0 14px}
.mewrap{max-width:820px}
.mehero{padding:24px 22px;gap:18px}
.mehero .mtop{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mehero .mtop .meid{margin-top:0;font-size:13px;padding:4px 12px}
.mehero .mexp{margin:8px 0 0;font-size:13px;color:var(--ink2)}.mehero .mexp b{color:var(--ink);font-size:14px}
.mevip{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#FFF8E8,#F6E6BE);color:#5A4214;box-shadow:var(--sh)}
.mevip .vipmk{font-style:italic;font-weight:800;font-family:Georgia,serif;background:linear-gradient(135deg,#C9A45C,#8E6B2A);color:#fff;border-radius:8px;padding:6px 10px;flex-shrink:0}
.mevip div{flex:1;min-width:0}.mevip div b{display:block;font-size:15px}.mevip div small{font-size:12px;opacity:.75}
.mevip .vipp{font-size:13px;white-space:nowrap}.mevip .vipp b{font-size:20px}
.mevip .vipgo{font-style:normal;background:var(--deep);color:#fff;border-radius:99px;padding:8px 16px;font-weight:700;white-space:nowrap}
@media(min-width:768px){.meav{width:76px;height:76px;font-size:28px}.mehero{padding:30px 28px}.mehero .mi b{font-size:22px}.pghead h1{font-size:34px}}
@media(max-width:400px){.mevip .vipp{display:none}}
.sheet .err:empty{min-height:0;margin:0}
.sheet .inp+.err{margin:4px 0 0}
.sheet #lbtn{margin-top:12px}
.mehero .mexp b{display:inline}

/* ===== premium me + dialogs (11o-ui3) ===== */
.pghead{margin:6px 0 18px;align-items:flex-start;flex-direction:column;gap:4px}
.pghead h1{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.pghead p{color:var(--ink3);font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
@media(min-width:768px){.pghead h1{font-size:36px}}

.mewrap{max-width:820px;margin:0 auto;display:grid;gap:18px;padding-bottom:48px}
.me-anim{animation:meIn .28s cubic-bezier(.2,.8,.2,1) both}
@keyframes meIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.me-top{display:grid;gap:16px}
@media(min-width:820px){.me-top{grid-template-columns:1.15fr .85fr;gap:20px;align-items:stretch}}

/* membership card */
.mcard{position:relative;overflow:hidden;border-radius:22px;padding:22px 22px 18px;min-height:200px;display:flex;flex-direction:column;justify-content:space-between;
  color:#3A1F2C;box-shadow:0 18px 40px -18px rgba(46,26,38,.35),0 1px 0 rgba(255,255,255,.5) inset;isolation:isolate}
.mcard.norm{background:
  radial-gradient(120% 80% at 100% 0%,rgba(255,255,255,.65),transparent 55%),
  linear-gradient(145deg,#FFF7FA 0%,#F8E6EE 42%,#F0D0DD 100%);
  border:1px solid rgba(232,70,127,.18)}
.mcard.vip{background:
  radial-gradient(90% 70% at 0% 100%,rgba(255,255,255,.35),transparent 50%),
  linear-gradient(145deg,#FFF9E8 0%,#F3E0A8 45%,#D4B15A 100%);
  color:#4A3810;border:1px solid rgba(180,140,50,.35);
  box-shadow:0 20px 44px -16px rgba(140,100,20,.4),0 1px 0 rgba(255,255,255,.55) inset}
.mcard.svip{background:
  radial-gradient(80% 60% at 100% 0%,rgba(232,70,127,.35),transparent 55%),
  linear-gradient(145deg,#2A1520 0%,#4A1F32 48%,#1A0E14 100%);
  color:#F8E7C8;border:1px solid rgba(212,177,90,.35);
  box-shadow:0 22px 48px -14px rgba(20,8,14,.55),0 1px 0 rgba(255,255,255,.08) inset}
.mcard.out{opacity:.98}
.mc-sheen{position:absolute;inset:-40% -20%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.45) 48%,transparent 62%);transform:translateX(-30%) rotate(8deg);pointer-events:none;animation:shine 6s ease-in-out infinite;z-index:1}
.mcard.svip .mc-sheen{background:linear-gradient(115deg,transparent 35%,rgba(232,70,127,.25) 48%,transparent 62%)}
@keyframes shine{0%,100%{transform:translateX(-40%) rotate(8deg)}50%{transform:translateX(30%) rotate(8deg)}}
.mc-noise{position:absolute;inset:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none;z-index:0;mix-blend-mode:overlay}
.mc-top,.mc-mid,.mc-bot{position:relative;z-index:2}
.mc-top{display:flex;justify-content:space-between;align-items:center}
.mc-brand{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.mc-brand img{width:22px;height:22px;border-radius:6px;object-fit:contain;background:rgba(255,255,255,.55);padding:2px}
.mcard.svip .mc-brand img{background:rgba(255,255,255,.12)}
.mc-tier{font:italic 800 13px/1 Georgia,"Times New Roman",serif;letter-spacing:.06em;padding:7px 12px;border-radius:8px;
  background:rgba(255,255,255,.45);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.35)}
.mcard.vip .mc-tier{background:linear-gradient(135deg,#F5E6B0,#C9A55A);color:#4A3810;border-color:rgba(120,90,20,.2)}
.mcard.svip .mc-tier{background:linear-gradient(135deg,#E9D29A,#C9A55A);color:#3A2810;border:0}
.mc-mid{margin:28px 0 18px}
.mc-name{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.mc-sub{margin-top:6px;font-size:13px;opacity:.72;font-weight:500}
.mc-bot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.mc-num{font-size:18px;letter-spacing:.18em;opacity:.9}
.mc-exp{text-align:right}.mc-exp span{display:block;font-size:9px;letter-spacing:.14em;opacity:.55;font-weight:600}.mc-exp b{font-size:15px}

.me-side{display:grid;gap:12px;align-content:start}
.me-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mst{background:#fff;border-radius:16px;padding:14px 12px;box-shadow:var(--sh);border:1px solid rgba(46,26,38,.04);text-align:center}
.mst small{display:block;font-size:11px;color:var(--ink3);letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin-bottom:4px}
.mst b{font-size:15px;font-weight:700}
.me-bens{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ben{background:#fff;border-radius:14px;padding:12px 10px;text-align:center;box-shadow:var(--sh);border:1px solid rgba(46,26,38,.04)}
.ben .ic{width:28px;height:28px;margin:0 auto 6px;border-radius:50%;background:var(--tint);color:var(--deep);display:grid;place-items:center}
.ben .ic .lico{width:14px;height:14px}
.ben b{display:block;font-size:12px;font-weight:700}.ben small{font-size:11px;color:var(--ink3)}
.me-upsell{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:18px;
  background:linear-gradient(110deg,#FFFDF8,#F7E9C4);border:1px solid #EFE2C6;box-shadow:0 10px 28px -16px rgba(140,100,20,.35);transition:.2s}
.me-upsell:hover{transform:translateY(-1px);box-shadow:0 14px 32px -14px rgba(140,100,20,.45)}
.me-upsell .mu-l{display:flex;align-items:center;gap:12px;min-width:0}.me-upsell .mu-l b{display:block;font-size:15px}.me-upsell .mu-l small{color:#7A6230;font-size:12px}
.me-upsell .mu-r{display:flex;align-items:baseline;gap:2px;flex-shrink:0;color:#5b4520}.me-upsell .mu-r .din{font-size:24px}.me-upsell .mu-r em{font-style:normal;margin-left:10px;background:var(--deep);color:#fff;border-radius:99px;padding:7px 14px;font-size:13px;font-weight:700}

.me-invite{padding:28px 24px;display:flex;flex-direction:column;justify-content:center;gap:10px;
  background:linear-gradient(180deg,#fff,#FFF8FA);border:1px solid rgba(232,70,127,.1)}
.me-invite h2{font-size:22px;font-weight:800;letter-spacing:-.02em}.me-invite p{color:var(--ink2);font-size:14px;line-height:1.6;margin:0}
.me-invite .btn-grad{align-self:flex-start;margin-top:6px;min-width:148px}
.me-invite .mini{margin-top:4px}

.me-mp{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:18px 20px;align-items:center}
.mmp-qr{width:92px;height:92px;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line);padding:6px;box-shadow:var(--sh)}
.mmp-qr img{width:100%;height:100%;object-fit:cover;display:block}
.mmp-r h3{font-size:16px;font-weight:700;margin:4px 0 6px}.mmp-r p{font-size:13px;color:var(--ink2);line-height:1.55;margin:0 0 10px}
@media(max-width:480px){.me-mp{grid-template-columns:1fr;text-align:center}.mmp-qr{margin:0 auto}.mmp-r .btn-ghost{margin:0 auto}}

.mesect{padding:6px 0 2px;overflow:hidden}
.msec-lab{padding:12px 18px 4px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.merow{display:flex;align-items:center;gap:14px;padding:14px 18px;border-top:1px solid var(--line);transition:background .15s}
.mesect .merow:first-of-type{border-top:0}
.merow:hover{background:#FDF6F9}.merow:active{background:#FAEEF3}
.merow .ic{width:38px;height:38px;border-radius:12px;background:linear-gradient(180deg,#fff,#F8F0F4);border:1px solid var(--line);color:var(--deep);display:grid;place-items:center;flex-shrink:0;box-shadow:0 1px 0 rgba(255,255,255,.8) inset}
.lico{width:18px;height:18px}
.merow .mr{flex:1;min-width:0}.merow .mr b{display:block;font-size:15px;font-weight:600}.merow .mr small{display:block;color:var(--ink3);font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.merow em{display:inline-flex;align-items:center;gap:4px;color:var(--ink3);font-style:normal;font-size:12px;font-weight:600;flex-shrink:0}
.merow .chev{width:16px;height:16px;opacity:.55}

.me-out{display:block;margin:8px auto 0;background:none;border:0;color:var(--ink3);font:inherit;font-size:13px;font-weight:500;padding:10px 16px;cursor:pointer;transition:.15s}
.me-out:hover{color:var(--deep)}.me-foot{text-align:center;margin-top:-4px}

.btn-grad{background:linear-gradient(135deg,var(--btn),var(--deep));box-shadow:0 8px 20px -8px rgba(184,58,98,.55)}
.btn-grad:hover{background:linear-gradient(135deg,var(--deep),#8E2A4A)}
.btn-gold{background:linear-gradient(135deg,#E9D29A,#C9A55A)!important;color:#3A2810!important;box-shadow:0 8px 20px -8px rgba(140,100,20,.5)!important}
.btn-gold:hover{filter:brightness(1.04)}

/* premium dialogs */
.scrim{background:rgba(28,14,22,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:opacity .28s}
.sheet{padding:14px 22px calc(28px + env(safe-area-inset-bottom,0px));border-radius:24px 24px 0 0;
  box-shadow:0 -20px 50px rgba(20,8,14,.18);transition:transform .34s cubic-bezier(.2,.8,.2,1),opacity .28s}
.sheet .grab{width:36px;height:4px;background:rgba(46,26,38,.12);border-radius:2px;margin:2px auto 16px}
.sheet .x{right:16px;top:14px;width:32px;height:32px;border-radius:50%;background:rgba(46,26,38,.05);color:var(--ink2);font-size:14px;transition:.15s}
.sheet .x:hover{background:rgba(46,26,38,.1)}
.dlg-head{text-align:center;padding:4px 12px 16px}
.dlg-head h3{font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0 0 6px;padding:0}
.dlg-head .sub{margin:0;color:var(--ink2);font-size:13px;line-height:1.5}
.dlg-mark{width:52px;height:52px;border-radius:16px;margin:0 auto 12px;display:grid;place-items:center;
  background:linear-gradient(180deg,#fff,#F8F0F4);border:1px solid var(--line);box-shadow:var(--sh);color:var(--deep)}
.dlg-mark img{width:28px;height:28px;object-fit:contain}
.dlg-mark .lico{width:22px;height:22px}
.dlg-mark.gold{background:linear-gradient(135deg,#FFF8E0,#F0D98A);border-color:#E8D59A}
.dlg-head.gold h3{background:linear-gradient(135deg,#8A6A20,#C9A55A);-webkit-background-clip:text;background-clip:text;color:transparent}

.flab{display:block;position:relative;margin:10px 0 0}
.flab span{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--ink3);pointer-events:none;transition:.18s;background:transparent;padding:0 4px}
.flab .inp{margin:0;padding:16px 14px 10px;border-radius:14px;border:1.5px solid #E9E3E6;background:#FAFAFB;font-size:16px;transition:.18s}
.flab .inp:focus{outline:0;border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px var(--tint)}
.flab .inp:focus+span,.flab .inp:not(:placeholder-shown)+span,
.flab:focus-within span,.flab .inp:not(:placeholder-shown)~span{top:0;font-size:11px;color:var(--deep);font-weight:600;background:#fff}
/* floating label: span is BEFORE input in markup — adjust */
.flab span{top:18px}
.flab:focus-within span,.flab .inp:not(:placeholder-shown)+*{}
.flab .inp:focus ~ span,.flab .inp:not(:placeholder-shown) ~ span{top:0}
/* span is before input — use :has / sibling from input via order */
.flab{display:flex;flex-direction:column}
.flab span{position:relative;left:auto;top:auto;transform:none;order:0;font-size:12px;font-weight:600;color:var(--ink2);margin:0 0 6px 2px;padding:0;pointer-events:auto;transition:.15s}
.flab .inp{order:1}
.flab:focus-within span{color:var(--deep)}
.sheet .err{min-height:0;margin:8px 0 0}.sheet .err:empty{display:none;margin:0}
.sheet .btn-brand.block{margin-top:14px;padding:14px;border-radius:14px}

.vip-plan{background:linear-gradient(145deg,#FFFDF8,#F8ECC8);border:1px solid #EFE2C6;border-radius:18px;padding:18px;margin-bottom:14px}
.vip-plan>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}
.vip-plan small{font-size:13px;color:#7A6230;font-weight:600}.vip-plan b{font-size:28px;color:#4A3810;font-weight:800}.vip-plan b .din{font-size:32px}.vip-plan b em{font-style:normal;font-size:13px;font-weight:600;opacity:.7}
.vip-bens{list-style:none;display:grid;gap:8px}.vip-bens li{display:flex;align-items:center;gap:8px;font-size:13px;color:#5b4520;font-weight:550}
.vip-bens .lico{width:16px;height:16px;color:#8E6B2A;flex-shrink:0}
.mpguide.premium{display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:center;padding:12px;background:var(--canvas);border-radius:16px;margin-bottom:4px}
.mpguide.premium .mpqr{width:88px;height:88px;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-size:11px;color:var(--ink3);text-align:center;padding:4px}
.mpguide.premium .mpqr img{width:100%;height:100%;object-fit:cover}
.mpguide.premium ol{margin:0;padding-left:18px;font-size:12px;color:var(--ink2);line-height:1.7}

.ask-steps{display:grid;gap:8px;margin:4px 0 14px}
.ask-steps>div{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--canvas)}
.ask-steps b{font-family:"DIN Alternate","Roboto Condensed",sans-serif;font-size:16px;color:var(--brand);width:28px}
.ask-steps span{font-size:14px;font-weight:600}

.sheet .allst{display:block;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,var(--tint),#fff);border:1px solid rgba(232,70,127,.15);font-weight:700;margin-bottom:10px;transition:.15s}
.sheet .allst:hover{border-color:var(--brand)}
.sheet .stgrid{display:grid;gap:6px;max-height:min(48vh,420px);overflow:auto;-webkit-overflow-scrolling:touch}
.sheet .stgrid a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;transition:.15s}
.sheet .stgrid a:hover{background:var(--canvas)}.sheet .stgrid b{font-size:14px}.sheet .stgrid small{color:var(--ink3);font-size:12px;flex-shrink:0}

@media(min-width:768px){
  .scrim{background:rgba(20,8,14,.38)}
  .sheet{left:50%;top:50%;bottom:auto;width:min(440px,92vw);max-height:min(86vh,720px);overflow:auto;
    border-radius:22px;padding:28px 26px 26px;transform:translate(-50%,-46%) scale(.96);opacity:0;pointer-events:none;
    box-shadow:0 30px 80px -20px rgba(20,8,14,.45)}
  .sheet.on{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:auto}
  .sheet .grab{display:none}
  .me-bens{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:420px){
  .me-bens{grid-template-columns:1fr;}.ben{display:flex;align-items:center;gap:10px;text-align:left}
  .ben .ic{margin:0}.mc-name{font-size:22px}.mc-num{font-size:15px;letter-spacing:.12em}
  .me-upsell{flex-wrap:wrap}.me-upsell .mu-r{width:100%;justify-content:flex-end}
}
.sheet .err:empty{display:none!important;height:0;margin:0;padding:0}
.sheet .btn-brand.block,.sheet #lbtn{margin-top:10px!important}
.flab{margin:8px 0 0}
.dlg-head{padding-bottom:10px}
.sheet{padding-top:10px}

/* ===== MP-matched member card (11o-ui6) ===== */
:root{--th-ink:#1D1418;--th-ink2:#6B5F64;--th-gold-hi:#F3DFAE;--th-gold:#D8B878;--th-gold-lo:#A9813F;--th-pink:#E8467F}
.mehello{display:flex;align-items:center;gap:14px;margin:8px 2px 4px}
.mh-av{width:52px;height:52px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:20px;font-weight:800;color:var(--th-gold-hi);
 background:linear-gradient(150deg,#2A221C,#120E0B);box-shadow:inset 0 0 0 1.5px rgba(216,184,120,.45),0 6px 14px rgba(18,14,11,.18)}
.mh-t{min-width:0}.mh-t h1{font-size:24px;font-weight:800;letter-spacing:-.01em;line-height:1.25;word-break:break-word}
.mh-t small{display:block;margin-top:3px;font-size:13px;color:var(--th-ink2)}
@media(min-width:768px){.mh-av{width:64px;height:64px;font-size:24px}.mh-t h1{font-size:30px}}
.me-top{display:grid;gap:16px}
@media(min-width:820px){.me-top{grid-template-columns:1.2fr .8fr;align-items:start}}
.me-cardcol{display:grid;gap:12px}
.thc{position:relative;display:block;overflow:hidden;border-radius:22px;padding:18px 18px 16px;aspect-ratio:1.8;min-height:182px;box-sizing:border-box;color:var(--th-ink);isolation:isolate;transition:transform .16s ease-out}
.thc:active{transform:scale(.985)}
.thc-buy{background:linear-gradient(140deg,#FFFFFF 0%,#F7F2EA 100%);box-shadow:inset 0 0 0 1px rgba(216,184,120,.45),0 12px 26px rgba(58,40,18,.08)}
.thc-vip{color:#fff;background:radial-gradient(80% 70% at 100% 0%,rgba(216,184,120,.22),rgba(216,184,120,0) 60%),linear-gradient(150deg,#2A221C 0%,#120E0B 100%);box-shadow:inset 0 0 0 1px rgba(216,184,120,.38),0 18px 36px rgba(18,14,11,.34)}
.thc-svip{color:#fff;background:radial-gradient(90% 80% at 105% -10%,rgba(140,28,58,.55),rgba(140,28,58,0) 62%),radial-gradient(60% 50% at 0% 110%,rgba(216,184,120,.16),rgba(216,184,120,0) 70%),linear-gradient(150deg,#1E1418 0%,#0B0709 100%);box-shadow:inset 0 0 0 1.5px rgba(243,223,174,.55),0 18px 36px rgba(11,7,9,.4)}
.thc-sheen{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,rgba(255,255,255,0) 35%,rgba(255,255,255,.45) 48%,rgba(255,255,255,0) 60%);transform:translateX(-120%);animation:thsheen 5s ease-in-out 1.6s infinite}
@keyframes thsheen{0%,65%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@media(prefers-reduced-motion:reduce){.thc-sheen{animation:none;display:none}}
.thc-emboss{position:absolute;right:14px;bottom:-23px;font-family:"DIN Alternate","DIN Condensed","Roboto Condensed",Bahnschrift,sans-serif;font-size:115px;font-weight:700;font-style:italic;letter-spacing:-3px;line-height:1;color:rgba(169,129,63,.09);pointer-events:none;z-index:0}
.thc-vip .thc-emboss{color:rgba(216,184,120,.10)}.thc-svip .thc-emboss{color:rgba(243,223,174,.12);font-size:100px}
.thc-top,.thc-copy,.thc-bot{position:relative;z-index:1}
.thc-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:2px}
.thc-brand{display:flex;align-items:center;gap:7px}
.thc-title{opacity:.62}.thc-on .thc-title{color:var(--th-gold-hi);opacity:.75}
.thc-badge{padding:2px 7px;border-radius:4px;background:linear-gradient(135deg,var(--th-gold-hi) 0%,var(--th-gold) 50%,var(--th-gold-lo) 100%);color:#3A2812;font-family:"DIN Alternate","Roboto Condensed",sans-serif;font-size:11px;font-weight:700;font-style:italic;letter-spacing:1.5px;line-height:1.4}
.thc-svip .thc-badge{padding:2px 8px;box-shadow:0 0 0 1px rgba(243,223,174,.6),0 3px 9px rgba(216,184,120,.35)}
.thc-badge.sub{margin-left:-2px;background:transparent;box-shadow:inset 0 0 0 1px rgba(243,223,174,.7)!important;color:#F3DFAE}
.thc-chip{position:relative;width:34px;height:26px;border-radius:6px;background:linear-gradient(135deg,var(--th-gold-hi),var(--th-gold) 55%,var(--th-gold-lo))}
.thc-chip:before,.thc-chip:after{content:"";position:absolute;left:5px;right:5px;height:1px;background:rgba(58,40,18,.3)}.thc-chip:before{top:9px}.thc-chip:after{top:16px}
.thc-copy{margin-top:14px}
.thc-name,.thc-main{display:block;font-size:17px;font-weight:800;letter-spacing:.5px;line-height:1.35}
.thc-note{display:block;margin-top:3px;font-size:12px;color:var(--th-ink2)}
.thc-sub{display:block;margin-top:3px;font-size:12px;color:rgba(255,255,255,.6)}
.thc-bot{position:absolute;left:18px;right:16px;bottom:16px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.thc-price{display:flex;align-items:baseline;line-height:1}
.thc-price i{font-style:normal;font-family:"DIN Alternate","Roboto Condensed",sans-serif;font-size:14px;font-weight:700;color:var(--th-pink);margin-right:1px}
.thc-price b{font-size:28px;color:var(--th-ink)}.thc-price em{font-style:normal;margin-left:3px;font-size:12px;color:var(--th-ink2)}
.thc-go{padding:9px 16px;border-radius:999px;background:var(--th-pink);color:#fff;font-size:13px;font-weight:800;line-height:1.2;box-shadow:0 8px 18px rgba(232,70,127,.35);white-space:nowrap}
.thc-buy:hover .thc-go{background:#B83A62}
.thc-holder{font-size:16px;font-weight:700;letter-spacing:2px;color:var(--th-gold-hi);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thc-dates{display:flex;align-items:flex-end;flex-shrink:0}
.thc-exp{display:flex;flex-direction:column;align-items:flex-end;font-size:11px;color:rgba(255,255,255,.6);letter-spacing:1px}
.thc-exp+.thc-exp{margin-left:14px;padding-left:14px;border-left:1px solid rgba(216,184,120,.35)}
.thc-exp b{margin-top:2px;font-size:15px;color:var(--th-gold-hi);letter-spacing:1.5px}
@media(min-width:768px){.thc{padding:24px 24px 20px}.thc-bot{left:24px;right:22px;bottom:20px}.thc-name,.thc-main{font-size:20px}.thc-price b{font-size:34px}.thc-emboss{font-size:140px}}
.me-chips{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.me-chips span{flex:none;display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px rgba(216,184,120,.45);font-size:12px;font-weight:600;color:#5b4520}
.me-chips .lico{width:13px;height:13px;color:var(--th-gold-lo)}
.me-mp{grid-template-columns:auto 1fr}
@media(min-width:820px){.me-mp{grid-template-columns:1fr;text-align:left;align-self:stretch}.me-mp .mmp-qr{width:104px;height:104px}}
@media(max-width:480px){.me-mp{grid-template-columns:auto 1fr;text-align:left}.mmp-qr{width:76px;height:76px;margin:0}}
@media(min-width:600px) and (max-width:819px){.me-top{grid-template-columns:minmax(0,480px) 1fr;align-items:start}.me-mp{grid-template-columns:1fr}}
.me-mp .mmp-r{text-align:left}.me-mp .msec-lab{display:block;text-align:left}

/* forgot-password recovery */
.flog{display:flex;justify-content:flex-end;margin:4px 2px 0}
.flink{font-size:13px;color:var(--deep);font-weight:600;cursor:pointer}
.flink:hover{text-decoration:underline}
.rec-info{font-size:13px;color:var(--ink2);line-height:1.45;margin:8px 0 0;padding:0 2px}
.rec-ok{font-size:13px;color:var(--deep);background:var(--tint);border-radius:12px;padding:10px 12px;margin:0 0 8px;line-height:1.45}
.rec-send{display:flex!important;align-items:center;justify-content:center;margin-top:10px!important;padding:12px 14px;border-radius:14px;font-weight:700}
.btn-ghost.off,.btn-ghost.off:hover{background:#EEF1F3!important;color:#9AA3AB!important;border-color:#E2E6EA!important;pointer-events:none;cursor:not-allowed;box-shadow:none}

/* —— 11p3：我的拼桌 + 到店卡只读 + 最近看过（细节对齐现网） —— */

/* 首页今晚到店薄卡 */
.arrive{overflow:hidden}
.arrive .pinktag{margin-bottom:2px}
.arrive.has-hist{
  cursor:default;
  padding:14px 16px 14px 18px;
  border-left-width:3px;
  box-shadow:0 1px 6px rgba(46,26,38,.05);
}
.arrive.has-hist .pinktag{
  display:inline-block;
  margin-bottom:6px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
  padding:3px 9px;
  border-radius:99px;
  color:var(--deep);
  background:var(--tint);
}
.arrive.has-hist .abody{padding-right:10px;min-width:0}
.arrive.has-hist .an{
  font-size:16px;
  font-weight:800;
  letter-spacing:-.015em;
  line-height:1.3;
  margin:0 0 4px;
}
.arrive.has-hist p{
  margin:0;
  font-size:12.5px;
  color:var(--ink2);
  line-height:1.45;
}
.arrive.has-hist .btn-ghost{
  flex-shrink:0;
  white-space:nowrap;
  padding:7px 14px;
  font-size:13px;
  font-weight:600;
  border-width:1.5px;
}

/* 我的 · 最近看过到店卡 */
.ah-card{padding:18px 18px 6px}
.ah-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:8px;
}
.ah-head b{
  flex:1;
  font-size:15px;
  font-weight:800;
  letter-spacing:-.01em;
  line-height:1.35;
}
.ah-head .btn-ghost.sm{
  flex:none;
  padding:4px 12px;
  font-size:12px;
  font-weight:600;
}
.ah-note{
  display:block;
  color:var(--ink3);
  font-size:12px;
  line-height:1.65;
  margin:0 0 10px;
}
.ah-row{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 0;
  border-top:1px solid var(--line);
}
.ah-open{flex:1;min-width:0;text-decoration:none;color:inherit}
.ah-open b{
  display:block;
  font-size:15px;
  font-weight:800;
  line-height:1.35;
  color:var(--ink);
}
.ah-open small{
  display:block;
  margin-top:5px;
  color:var(--ink2);
  font-size:12.5px;
  line-height:1.5;
}
.ah-open em{
  display:inline-block;
  margin-top:9px;
  color:var(--brand);
  font-style:normal;
  font-size:13px;
  font-weight:700;
}
.ah-rm{
  flex:none;
  align-self:flex-start;
  margin-top:1px;
  font-size:12px;
  font-weight:600;
  padding:5px 12px;
  border-radius:999px;
}
.ah-empty{padding-bottom:18px}
.ah-empty .btn-ghost{margin-top:10px}

/* 我的拼桌（一比一对齐小程序 join/mine · party-tonight.wxss） */
.gwrap-mine{
  max-width:560px;
  margin:0 auto;
  background:#F6F5F6;
  min-height:calc(100vh - 64px);
  padding:0 12px 28px;
  box-sizing:border-box;
}
.mine-pagehd{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:10px 0 14px;
  position:sticky;
  top:0;
  z-index:5;
  background:#F6F5F6;
}
.mine-pagehd h1{
  flex:1;
  text-align:center;
  font-size:17px;
  font-weight:700;
  color:#1D1418;
  letter-spacing:.02em;
  line-height:1.2;
  margin:0;
}
.mine-back,.mine-back-ph{
  width:28px;
  height:28px;
  flex:none;
  display:grid;
  place-items:center;
  text-decoration:none;
  color:#A69CA1;
  font-size:22px;
  line-height:1;
  border-radius:50%;
}
.mine-back:hover{color:#1D1418;background:#EFEAEC}
.mine-back-ph{visibility:hidden;pointer-events:none}
.minegrid{
  display:grid;
  gap:12px;
  max-width:560px;
  margin:0 auto;
}
.gwrap .gsec{max-width:560px;margin-left:auto;margin-right:auto}
.minec{
  padding:16px;
  border:0;
  border-radius:20px;
  box-shadow:0 1px 2px rgba(29,20,24,.04),0 10px 26px rgba(29,20,24,.06);
  display:flex;
  flex-direction:column;
  gap:7px;
  background:#fff;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.minec:active{transform:scale(.995)}
.mine-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  text-decoration:none;
  color:inherit;
}
.mine-title{
  min-width:0;
  flex:1;
  font-size:16px;
  font-weight:800;
  color:#1D1418;
  line-height:1.35;
  letter-spacing:.5px;
}
.mine-st{
  flex:none;
  font-size:11px;
  font-weight:800;
  color:#E8467F;
  background:#FDEEF4;
  border-radius:999px;
  padding:2px 8px;
  letter-spacing:0;
  line-height:1.4;
}
.mine-st.lk{color:#E8467F;background:#FDEEF4}
.mine-st.off{color:#8A7F84;background:#F4F1F2}
.mine-body{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.mine-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  font-size:12px;
  color:#A69CA1;
  line-height:1.45;
}
.mine-row b{
  flex:1;
  min-width:0;
  font-weight:500;
  color:#1D1418;
  text-align:right;
}
.mine-note{
  font-size:11px;
  line-height:1.5;
  margin:0;
  padding:6px 8px;
  border-radius:6px;
  background:#FDEEF4;
  color:#C62B62;
}
.mine-note.ok{background:#EEF7F0;color:#2F6B3A}
.mine-acts{
  margin-top:8px;
  padding-top:12px;
  border-top:1px solid #EFEAEC;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.mine-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  padding:7px 14px;
  border-radius:999px;
  text-decoration:none;
  cursor:pointer;
  border:1px solid transparent;
  -webkit-tap-highlight-color:transparent;
}
.mine-btn.danger{
  background:#E8467F;
  color:#fff;
  box-shadow:0 4px 12px rgba(232,70,127,.22);
}
.mine-btn.soft{
  background:#F4F1F2;
  color:#1D1418;
}
.mine-btn.ghost{
  background:#fff;
  color:#8A7F84;
  border-color:#EFEAEC;
}
.mine-btn:active{opacity:.85}
.mine-foot{
  text-align:center;
  font-size:12px;
  color:#A69CA1;
  line-height:1.65;
  margin:18px auto 8px;
  max-width:560px;
  padding:0 8px;
}
/* 我的拼桌页：压住站点顶栏灰底，贴近小程序页底 */
body:has(.gwrap-mine){
  background:#F6F5F6;
}
body:has(.gwrap-mine) .top{
  background:rgba(246,245,246,.88);
}
@media(max-width:640px){
  .gwrap-mine{padding:0 12px 24px;min-height:calc(100vh - 56px)}
  body:has(.gwrap-mine) .top{display:none}
  .gwrap-mine{padding-top:4px}
}

/* 到店卡只读页 */
.avwrap{max-width:560px;margin:0 auto;display:grid;gap:14px;padding-bottom:48px}
.av-main,.av-guide,.av-seat,.av-note{
  padding:20px 18px;
  box-shadow:var(--sh);
  border-radius:16px;
}
.av-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.av-k{font-size:12px;color:var(--ink3);letter-spacing:.02em}
.av-st{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:700;
  border-radius:99px;
  padding:4px 10px;
  background:#F3F4F6;
  color:#6B7280;
  letter-spacing:.01em;
  flex:none;
  white-space:nowrap;
  width:auto;
  height:auto;
  margin:0;
}
.av-st.ok{background:#E8F6EC;color:#1F7A3A;width:auto;height:auto;margin:0;display:inline-flex;align-items:center;justify-content:center;font-size:11px;border-radius:99px;place-items:unset}
.av-st.wait{background:#FFF3E6;color:#B25A12}
.av-st.off{background:#F3F4F6;color:#6B7280}
.av-store{
  margin:2px 0 18px;
  font-size:24px;
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1.25;
  color:var(--ink);
}
.av-table{margin:0 0 18px}
.av-table small{display:block;font-size:12px;color:var(--ink3);margin-bottom:6px}
.av-table-no{
  display:block;
  font-size:40px;
  font-weight:800;
  letter-spacing:.06em;
  line-height:1.05;
  color:var(--brand);
}
.av-table-no.plain{
  color:var(--ink);
  letter-spacing:-.01em;
  font-size:28px;
}
.av-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.av-grid>div{padding:14px 0}
.av-grid>div:first-child{padding-right:14px;border-right:1px solid var(--line)}
.av-grid>div:last-child{padding-left:14px}
.av-grid small{display:block;font-size:12px;color:var(--ink3);margin-bottom:6px}
.av-grid b{font-size:15px;font-weight:700;color:var(--ink);line-height:1.35}
.av-pkg{display:flex;align-items:baseline;gap:10px;padding-top:14px}
.av-pkg small{font-size:12px;color:var(--ink3);flex:none}
.av-pkg b{font-size:15px;font-weight:700}
.av-warn{margin:12px 0 0;font-size:13px;color:#B25A12;line-height:1.55}
.av-cancel-tip{margin:8px 0 0;font-size:14px;color:var(--ink2);line-height:1.55}
.av-guide h2,.av-seat h2,.av-note h2{
  margin:0 0 14px;
  font-size:16px;
  font-weight:800;
  letter-spacing:-.01em;
}
.av-block{margin-bottom:14px}
.av-block small{display:block;font-size:12px;color:var(--ink3);margin-bottom:6px}
.av-block b{display:block;font-size:15px;font-weight:700;line-height:1.45;color:var(--ink)}
.av-copy{
  margin-top:2px;
  padding:13px 18px;
  border-radius:12px;
  font-size:15px;
  box-shadow:0 6px 16px rgba(232,70,127,.26);
}
.av-hint{margin:10px 0 0;font-size:12px;color:var(--ink3);line-height:1.6}
.av-who{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.av-who small{display:block;font-size:12px;color:var(--ink3);margin-bottom:6px}
.av-who b{font-size:15px;font-weight:700}
.av-seat-ph{
  display:grid;
  place-items:center;
  gap:8px;
  text-align:center;
  min-height:132px;
  padding:28px 18px;
  border-radius:12px;
  background:#F6F7F9;
  color:var(--ink3);
  border:1px dashed #E4E7EB;
}
.av-seat-ph b{font-size:14px;font-weight:600;color:var(--ink2);letter-spacing:.01em}
.av-seat-ph span{font-size:12px;line-height:1.5}
.av-note ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.av-note li{
  font-size:14px;
  color:var(--ink);
  line-height:1.5;
  padding-left:12px;
  position:relative;
}
.av-note li:before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--brand);
}
.av-foot{
  text-align:center;
  font-size:12px;
  color:var(--ink3);
  line-height:1.65;
  margin:4px 0 0;
  padding:0 8px;
}
.btn-ghost.block.off,.btn-ghost.block.off:hover{
  display:flex;
  justify-content:center;
  pointer-events:none;
  opacity:.75;
  background:#F3F4F6;
  color:#9AA3AB;
  border-color:#E5E7EB;
  box-shadow:none;
}

@media(max-width:480px){
  .av-store{font-size:22px}
  .av-table-no{font-size:36px}
  .av-table-no.plain{font-size:24px}
}

/* 11p7：登录后「我的」不再并排小程序推送卡，会员卡单列 */
.me-top-solo{grid-template-columns:1fr!important;max-width:560px}
@media(min-width:820px){.me-top-solo{max-width:640px}}
/* 11p14 会员收款码 */
.paybox{background:var(--canvas,#F5F5F7);border-radius:16px;padding:14px;margin-top:2px}
.paytabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#fff;border:1px solid var(--line,#ECECEF);border-radius:12px;padding:4px;margin-bottom:12px}
.paytabs a{text-align:center;padding:8px 0;border-radius:9px;font-size:14px;font-weight:600;color:var(--ink2,#555);cursor:pointer;user-select:none}
.paytabs a.on{background:linear-gradient(135deg,#E9D29A,#C9A55A);color:#3A2810}
.payqr{width:min(220px,62vw);aspect-ratio:1;margin:0 auto;border-radius:14px;background:#fff;border:1px solid var(--line,#ECECEF);overflow:hidden;display:grid;place-items:center}
.payqr img{width:100%;height:100%;object-fit:contain;display:block;-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto}
.payph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;padding:16px;text-align:center;background:repeating-linear-gradient(45deg,#FBF8F1 0 10px,#fff 10px 20px);color:#7A6230}
.payph span{font-size:14px;font-weight:700}.payph small{font-size:12px;color:#8A959C;line-height:1.5}
.payhint{text-align:center;font-size:12px;color:var(--ink3,#8A959C);margin:8px 0 10px}
.paysteps{margin:0 0 12px;padding-left:20px;font-size:13px;line-height:1.75;color:var(--ink2,#3A4448)}
.paysteps b{color:#4A3810}
.payacts{display:grid;grid-template-columns:1fr 1.3fr;gap:10px}
.payacts a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;margin:0;white-space:nowrap}
.payacts{align-items:stretch}
.payacts a.btn-ghost,.payacts a.btn-brand{height:46px;min-height:46px;padding:0 12px!important;margin:0!important;border-radius:999px;font-size:15px;box-sizing:border-box;width:100%}
.payacts a.btn-ghost{background:#fff;border:1px solid #E3D6B5;color:#6B5320}
.payacts a{position:static!important;transform:none!important;display:flex!important}
.payqr:has(img){aspect-ratio:auto;height:auto;padding:6px}
.payqr img{height:auto!important;border-radius:10px}


/* 11p15 me + package pay */
:root{--th-ink:#1D1418;--th-pink:#E8467F;--th-gold:#D8B878;--th-gold-hi:#F3DFAE;--th-gold-lo:#A9813F}
.payamt{text-align:center;margin:0 0 12px}
.payamt small{display:block;font-size:12px;color:var(--ink3);margin-bottom:4px}
.payamt b{font-size:28px;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.payamt b .din{font-size:34px}
.odpay{display:none;margin-top:18px;padding-top:16px;border-top:1px dashed var(--line)}
.odpay.on{display:block}
.odpay-hd{margin-bottom:12px}
.odpay-hd b{display:block;font-size:16px}
.odpay-hd small{color:var(--ink3);font-size:12px}
.mehello{margin:4px 2px 8px}
.mehello .mh-av{width:52px;height:52px;border-radius:50%;background:linear-gradient(145deg,#2A221C,#120E0B);color:var(--th-gold-hi);font-size:20px;font-weight:800;display:grid;place-items:center;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(232,70,127,.28)}
.mehello .mh-t h1{font-size:22px;letter-spacing:-.01em;color:var(--th-ink)}
.mehello .mh-t small{color:var(--ink2);font-size:13px}
.me-top-solo{max-width:560px}
.me-cardcol{gap:14px}
.thc{border-radius:22px;min-height:182px;aspect-ratio:1.86}
.thc-buy{background:linear-gradient(140deg,#FFFFFF 0%,#F7F2EA 100%);box-shadow:inset 0 0 0 1px rgba(216,184,120,.45),0 12px 26px rgba(58,40,18,.08)}
.thc-buy .thc-go{background:var(--th-pink);box-shadow:0 8px 18px rgba(232,70,127,.35)}
.thc-buy .thc-price i{color:var(--th-pink)}
.thc-vip{box-shadow:inset 0 0 0 1px rgba(216,184,120,.38),0 16px 32px rgba(18,14,11,.28)}
.thc-svip{box-shadow:inset 0 0 0 1.5px rgba(243,223,174,.55),0 16px 32px rgba(11,7,9,.34)}
.thc-on .thc-title{color:var(--th-gold-hi);opacity:.9;letter-spacing:2px}
.thc-holder{color:var(--th-gold-hi)}
.thc-exp b{color:var(--th-gold-hi)}
.mesect{border-radius:16px}
.merow .ic{background:var(--tint);border:0;box-shadow:none}
.me-foot{color:var(--ink3);font-size:12px;line-height:1.6;padding:0 8px}
.me-tier-vip .mehello .mh-av,.me-tier-svip .mehello .mh-av{box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(216,184,120,.45)}
/* 11p20/11p21 正价酒水单 A 版：门店入口 + 左侧分类；11p21 桌面加宽、首页去正价入口 */
.dmchip{display:flex;align-items:center;gap:10px;margin:2px 0 10px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--line);color:var(--ink);min-width:0;text-decoration:none;box-shadow:var(--sh)}
.dmchip .dmi,.dmentry .dmi{flex:none;width:26px;height:26px;border-radius:8px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700}
.dmchip b{flex:none;font-size:14px}.dmchip small{flex:1;min-width:0;color:var(--ink3);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dmchip em{flex:none;font-style:normal;font-size:12px;color:var(--deep)}
/* 正价酒水入口：照小程序 B 主题（粉底方标 + 粉字胶囊） */
.dmentry{display:flex;align-items:center;gap:12px;margin-top:16px;padding:14px;text-decoration:none;color:var(--ink);border:1px solid #EEF2F5;border-radius:16px}
.dmentry:hover{box-shadow:0 8px 28px rgba(46,26,38,.07)}
.dmentry .dmi{width:40px;height:40px;border-radius:12px;background:#FDEEF5;color:#E8467F;font-size:15px;box-shadow:inset 0 0 0 1px rgba(232,70,127,.12)}
.dme-t{flex:1;min-width:0}.dme-t b{display:block;font-size:15px;font-weight:700;color:#17222B}.dme-t small{display:block;margin-top:3px;color:#8A959C;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dmentry em{flex:none;font-style:normal;font-size:12px;color:#E8467F;font-weight:700;background:#FDEEF5;padding:6px 10px;border-radius:999px}
#view:has(.dma){padding:0;max-width:820px}
body:has(.dma) .top,body:has(.dma) .tabbar,body:has(.dma) .ask{display:none!important}
/* 正价酒水单 · 小程序 2026-11 的 B 主题：近白侧栏、选中粉底圆角、粉价 */
.dma{display:flex;flex-direction:column;height:100dvh;background:#F7F8FA;overflow:hidden;--dm-brand:#E8467F;--dm-tint:#FDEEF5;--dm-ink:#17222B;--dm-ink2:#5B6871;--dm-ink3:#8A959C;--dm-line:#EEF2F5}
.dmhint{display:flex;align-items:center;justify-content:space-between;margin:4px 0 2px;padding:12px 14px;border-radius:12px;background:var(--tint,#FDF2F5);color:var(--deep);font-size:14px;font-weight:650;text-decoration:none;border:1px solid rgba(196,58,94,.12)}
.dmhint:hover{box-shadow:var(--shr)}
.dmempty{margin:0;padding:14px 2px 6px;color:var(--ink3);font-size:13px;line-height:1.55}
.dma-top{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:10px 12px 10px 8px;background:#fff;border-bottom:1px solid var(--dm-line)}
.dma-back{flex:0 0 auto;width:32px;height:32px;border:0;background:transparent;font-size:24px;line-height:30px;color:#333;text-decoration:none;text-align:center}
.dma-titles{flex:1;min-width:0}.dma-titles h1{font-size:16px;font-weight:700;line-height:1.25;color:var(--dm-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dma-titles p{font-size:11px;color:var(--dm-ink3);margin-top:2px;line-height:1.3}
.dma-badge{flex:0 0 auto;font-size:10px;font-weight:700;color:var(--dm-brand);background:var(--dm-tint);padding:4px 9px;border-radius:999px;white-space:nowrap}
.dma-body{flex:1;display:flex;min-height:0;overflow:hidden;background:#F7F8FA}
.dma-cats{width:92px;flex:0 0 92px;background:#FAFBFC;border-right:1px solid var(--dm-line);padding:8px 6px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.dma-cat{display:block;width:100%;border:0;background:transparent;text-align:left;padding:11px 8px 11px 10px;margin-bottom:2px;border-radius:10px;font-size:12px;line-height:1.35;color:var(--dm-ink2);cursor:pointer;position:relative;word-break:break-all;font-family:inherit}
.dma-cat.on{background:var(--dm-tint);color:var(--dm-brand);font-weight:700;box-shadow:inset 0 0 0 1px rgba(232,70,127,.1)}
.dma-cat.on::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--dm-brand)}
.dma-panel{flex:1;min-width:0;background:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.dma-sec{padding:12px 14px 8px;position:sticky;top:0;background:rgba(255,255,255,.96);z-index:1;border-bottom:1px solid var(--dm-line)}
.dma-sec strong{font-size:14px;font-weight:700;color:var(--dm-ink)}.dma-sec span{font-size:11px;color:var(--dm-ink3);margin-left:6px}
.dma-item{display:flex;gap:10px;padding:13px 14px;border-bottom:1px solid #F3F5F7;align-items:flex-start}
.dma-item:last-of-type{border-bottom:0}
.dma-main{flex:1;min-width:0}.dma-name{font-size:14px;font-weight:650;line-height:1.35;color:var(--dm-ink);word-break:break-word}
.dma-meta{font-size:11px;color:var(--dm-ink3);margin-top:4px;line-height:1.4;word-break:break-word}
.dma-hint{display:inline-block;margin-top:6px;font-size:10px;color:var(--dm-brand);background:var(--dm-tint);padding:2px 7px;border-radius:999px;line-height:1.4;font-weight:700;text-decoration:none}
.dma-price{flex:0 0 auto;font-size:17px;font-weight:700;color:var(--dm-brand);padding-top:1px;font-variant-numeric:tabular-nums}
.dma-price em{font-style:normal;font-size:12px;font-weight:600;margin-right:1px}
.dma-empty{padding:40px 16px;text-align:center;color:var(--ink3);font-size:13px}
.dma-foot{padding:16px 14px 28px;font-size:11px;color:#bbb;text-align:center;line-height:1.5}
@media(min-width:761px){
  .dma-cats{width:108px;flex-basis:108px}
  .dma-cat{font-size:13px;padding:15px 10px 15px 12px}
  .dma-titles h1{font-size:18px}
  .dma-titles p{font-size:12px}
  .dma-name{font-size:15px}
  .dma-meta{font-size:12px}
  .dma-price{font-size:18px}
  .dma-sec strong{font-size:15px}
  .dma-item{padding:14px 18px}
  .dma-sec{padding:14px 18px 10px}
  .dma-top{padding:12px 16px 10px}
}
@media(max-width:760px){
  .dma{height:100dvh}
  #view:has(.dma){max-width:none}
}

/* —— youju embed=1（品牌壳 iframe）—— */
html.youju-embed,
body.youju-embed{
  background:#F4F6F8!important;
  margin:0;
  min-height:0;
}
body.youju-embed{
  overflow:hidden!important;
  padding-bottom:0!important;
}
body.youju-embed>header.top,
body.youju-embed>nav.tabbar,
body.youju-embed>a.ask{
  display:none!important;
}
body.youju-embed main.wrap,
body.youju-embed .grid{
  padding-top:4px!important;
  padding-bottom:8px!important;
}
body.youju-embed .head h1{font-size:22px}
body.youju-embed aside.side{display:none!important}
body.youju-embed #home[hidden],
body.youju-embed #view[hidden]{display:none!important}
body.youju-embed #home.grid:not([hidden]){display:block!important}
body.youju-embed .maincol{max-width:100%}
body.youju-embed .wrap,
body.youju-embed #home.wrap,
body.youju-embed #view.wrap{
  max-width:none!important;
  width:auto!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
@media(max-width:760px){
  body.youju-embed .wrap{padding-left:0;padding-right:0}
}

/* 我的订台（11p23） */
.oh-card{margin-top:14px}
.ohst{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:700}
.oh-wait{background:#fff4e5;color:#b26a00}
.oh-ok{background:#e7f7ec;color:#1d7a3d}
.oh-done{background:#eef0f5;color:#4a5160}
.oh-closed{background:#f3f4f6;color:#8a8f99}

/* 细则里的「+¥x/套」不被折行拆开 */
.pd .nw{white-space:nowrap}
