.item[data-cid]{position:relative;cursor:pointer;padding-bottom:16px}.item[data-cid]:active{transform:scale(.99)}
.addbtn{position:absolute;right:12px;bottom:12px;width:44px;height:44px;border-radius:50%;border:0;background:#C0181E;color:#fff;font-size:1.6rem;line-height:1;font-weight:700;box-shadow:0 2px 6px rgba(0,0,0,.3);cursor:pointer}
body.hascart main{padding-bottom:96px}
.cbar{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(transparent,rgba(0,0,0,.25))}
.cbar button{display:flex;width:100%;max-width:640px;margin:0 auto;align-items:center;gap:12px;background:#C0181E;color:#fff;border:0;border-radius:14px;padding:14px 16px;font-size:1rem;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.35);cursor:pointer}
.cbar .cnt{background:#fff;color:#C0181E;border-radius:999px;min-width:28px;padding:2px 8px;text-align:center}.cbar .lbl{flex:1;text-align:left}
.ov{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center}
.sheet{background:#FFFAF0;width:100%;max-width:640px;max-height:90vh;border-radius:18px 18px 0 0;display:flex;flex-direction:column;overflow:hidden;animation:up .2s ease-out}
@keyframes up{from{transform:translateY(40px);opacity:.5}}
.shd{display:flex;align-items:flex-start;gap:10px;padding:16px 16px 8px;border-bottom:1px solid #eadcc0}.shd h3{flex:1;font-size:1.15rem;margin:0;color:#2a1a14}
.x{border:0;background:#f0e4cc;border-radius:50%;width:36px;height:36px;font-size:1.2rem;cursor:pointer;flex:none}
.sbd{overflow-y:auto;padding:8px 16px 16px;flex:1}.sbd .simg{width:100%;max-height:200px;object-fit:cover;border-radius:12px;margin-top:8px}
.grp{margin-top:14px}.grp h4{margin:0 0 6px;font-size:.95rem;display:flex;justify-content:space-between;color:#2a1a14}
.grp h4 small{font-weight:600;font-size:.72rem;padding:2px 8px;border-radius:999px;background:#eee;color:#555}.grp h4 small.req{background:#C0181E;color:#fff}.grp.err h4 small.req{background:#000}
.opt{display:flex;align-items:center;gap:10px;padding:11px 4px;border-bottom:1px solid #f0e4cc;font-size:.92rem;color:#2a1a14;cursor:pointer}.opt input{width:20px;height:20px;accent-color:#C0181E}.opt span{flex:1}.opt em{font-style:normal;color:#777}
.sft{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #eadcc0;display:flex;gap:12px;align-items:center;background:#FFFAF0}
.qty{display:flex;align-items:center;gap:6px}.qty button{width:38px;height:38px;border-radius:50%;border:2px solid #C0181E;background:#fff;color:#C0181E;font-size:1.2rem;font-weight:700;cursor:pointer}.qty b{min-width:22px;text-align:center}
.go{flex:1;background:#C0181E;color:#fff;border:0;border-radius:12px;padding:14px;font-size:1rem;font-weight:700;cursor:pointer}.go:disabled{background:#c9a7a7}
.cl{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #eadcc0;align-items:center}.cl .ci{flex:1;min-width:0}.cl .cn{font-weight:700;color:#2a1a14}.cl .co{font-size:.8rem;color:#888;margin-top:2px}.cl .cp{font-weight:700;color:#C0181E;white-space:nowrap}
.rm{border:0;background:none;color:#888;text-decoration:underline;font-size:.8rem;cursor:pointer;padding:4px 0}
.tot{display:flex;justify-content:space-between;font-size:1.15rem;font-weight:700;padding:14px 0;color:#2a1a14}
.disc{background:#fff3cd;border:2px solid #C0181E;color:#5a1010;border-radius:12px;padding:12px;font-weight:700;font-size:.92rem;margin:8px 0}
.empty{color:#777;padding:20px 0;text-align:center}.abn{font-size:.78rem;color:#8a1c1c;margin-top:8px}
.clrw{padding:4px 0 6px}.clr{display:block;width:100%;background:transparent;color:#C0181E;border:1.5px solid #C0181E;border-radius:12px;padding:11px;font-size:.95rem;font-weight:600;cursor:pointer}.clr:hover{background:#fff}
.clrc{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1.5px solid #C0181E;border-radius:12px;padding:10px 12px;background:#fff}.clrc span{flex:1;font-weight:700;color:#2a1a14}
.clrc button{border-radius:10px;padding:9px 16px;font-weight:700;cursor:pointer;font-size:.92rem}.clry{background:#C0181E;color:#fff;border:0}.clrn{background:transparent;color:#2a1a14;border:1.5px solid #bbb}
