/* カートの引き出しと「カートに入れる」まわり。どのページでも同じ見た目にする */
.ys-scrim{position:fixed;inset:0;background:rgba(23,20,26,.38);z-index:90;opacity:0;pointer-events:none;transition:opacity .25s}
.ys-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;z-index:91;transform:translateX(100%);transition:transform .3s;display:flex;flex-direction:column;color:#2b292e;font-family:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;font-size:14px;line-height:1.7}
body.ys-open .ys-scrim{opacity:1;pointer-events:auto}
body.ys-open .ys-drawer{transform:none}
.ys-hd{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #e6e2de}
.ys-hd h2{margin:0;font-size:19px;font-weight:500;letter-spacing:.06em;font-family:"Shippori Mincho","Yu Mincho",serif}
.ys-x{background:none;border:0;font-size:26px;line-height:1;cursor:pointer;color:inherit}
.ys-body{flex:1;overflow-y:auto;padding:6px 22px}
.ys-line{display:grid;grid-template-columns:64px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid #e6e2de;font-size:13px}
.ys-line img{width:64px;height:64px;object-fit:cover;background:#f7f6f4}
.ys-line b{display:block;font-size:13.5px}
.ys-line span{color:#6b6670;display:block}
.ys-amt{font-weight:700;white-space:nowrap}
.ys-qty{display:flex;align-items:center;gap:4px;margin-top:6px}
.ys-qty button{width:28px;height:28px;border:1px solid #e6e2de;background:#fff;cursor:pointer;font-size:15px;color:inherit}
.ys-qty output{min-width:24px;text-align:center;font-weight:700}
.ys-qty .ys-rm{width:auto;border:0;background:none;text-decoration:underline;color:#6b6670;font-size:12px;margin-left:10px}
.ys-empty{color:#6b6670;text-align:center;padding:48px 0}
.ys-ft{border-top:1px solid #e6e2de;padding:18px 22px calc(18px + env(safe-area-inset-bottom,0px));display:grid;gap:10px}
.ys-sum{display:flex;justify-content:space-between;font-weight:700;font-size:16px}
.ys-ship{margin:0;font-size:12px;color:#6b6670}
.ys-btn{display:block;text-align:center;background:#2b292e;color:#fff;text-decoration:none;letter-spacing:.12em;padding:16px;border:1px solid #2b292e;transition:background .2s,color .2s}
.ys-btn:hover{background:#fff;color:#2b292e}
.ys-btn.off{background:#e6e2de;color:#9a949e;border-color:#e6e2de;pointer-events:none}
.ys-link{background:none;border:0;color:#6b6670;text-decoration:underline;cursor:pointer;font:inherit;font-size:13px}
.ys-cart{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid currentColor;border-radius:999px;padding:6px 14px;font:inherit;font-size:13px;cursor:pointer;color:inherit;text-decoration:none;white-space:nowrap}
.ys-cart [data-cart-count]{background:#2b292e;color:#fff;border-radius:999px;min-width:20px;height:20px;display:inline-grid;place-items:center;font-size:11px;font-weight:700;padding:0 5px}
@media (prefers-reduced-motion:reduce){.ys-scrim,.ys-drawer{transition:none}}
