.cart-fab{position:fixed;right:18px;bottom:18px;z-index:60;background:#111;color:#fff;border:0;padding:14px 18px;font-weight:800;letter-spacing:.08em;font-size:12px;cursor:pointer;border-radius:2px;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.cart-fab:hover{background:#c8102e}
.cart-count{background:#c8102e;border-radius:999px;padding:1px 7px;margin-left:8px}
.cart-ovl{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:70}
.cart-dw{position:fixed;top:0;right:0;height:100%;width:min(420px,100%);background:#fff;z-index:80;display:flex;flex-direction:column;box-shadow:-8px 0 30px rgba(0,0,0,.2)}
.cart-dw[hidden],.cart-ovl[hidden]{display:none}
.cart-dw header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #eee}
.cart-dw header b{text-transform:uppercase;letter-spacing:.08em;font-size:14px}
.cart-x{border:0;background:none;font-size:26px;line-height:1;cursor:pointer}
.cart-items{flex:1;overflow:auto;padding:12px 20px}
.cart-empty{color:#777;font-size:14px;text-align:center;margin-top:40px}
.cart-row{display:grid;grid-template-columns:78px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid #f0f0f0}
.cart-row img{width:78px;aspect-ratio:3/4;object-fit:cover;background:#f3f3f3}
.cart-row .t{display:block;font-size:13px;font-weight:600}
.cart-row .s{display:block;font-size:12px;color:#777;margin-top:2px}
.cart-row .p{display:block;font-size:13px;color:#c8102e;font-weight:700;margin-top:4px}
.cart-row .q{display:flex;align-items:center;gap:8px;margin-top:8px}
.cart-row .q button{border:1px solid #ddd;background:#fff;width:26px;height:26px;cursor:pointer;font-size:14px}
.cart-row .q i{font-style:normal;font-size:13px;min-width:14px;text-align:center}
.cart-row .q .rm{width:auto;padding:0 8px;border:0;color:#888;font-size:12px;text-decoration:underline}
.cart-dw footer{border-top:1px solid #eee;padding:18px 20px}
.cart-sub{display:flex;justify-content:space-between;font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}
.cart-co{width:100%;background:#111;color:#fff;border:0;padding:16px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.cart-co:hover{background:#c8102e}
.cart-note{text-align:center;color:#888;font-size:11px;margin:10px 0 0}
