.buy-together{margin:24px 0 12px;font-family:"Noto Sans JP",sans-serif}
.buy-together-card{display:grid;grid-template-columns:15px 100px 1fr;gap:12px;border:1px solid #e4e4e4;border-radius:14px;padding:16px;background:#fff;align-items:start;cursor:pointer;place-items: center;}
.buy-together-card:focus-visible{outline:2px solid #111;outline-offset:2px}
.buy-together-checkArea{display:flex;align-items:flex-start;justify-content:center;padding-top:8px;cursor:pointer}
.buy-together-checkArea input{position:absolute;opacity:0;pointer-events:none}
.buy-together-checkIcon{width:15px;height:15px;border:1.5px solid #bbb;border-radius:4px;display:block;position:relative;background:#fff}
.buy-together-checkArea input:checked+.buy-together-checkIcon{background:#111;border-color:#111}
.buy-together-checkArea input:checked+.buy-together-checkIcon::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.buy-together-media img{width:100%;height:auto;border-radius:8px;display:block}
.buy-together-heading{font-size:12px;color:#777;margin-bottom:6px}
.buy-together-name{font-size:14px;font-weight:700;line-height:1.5;margin-bottom:6px}
.buy-together-price{font-size:18px;font-weight:700;color:#cf0000;line-height:1}
.buy-together-price span{font-size:12px;color:#555;font-weight:400;margin-left:6px}
.buy-together-summary{margin:10px 0 10px;font-size:12px;line-height:1.7}
.buy-together-placeholder{color:#777}
.buy-together-picked{background:#f7f7f7;border-radius:8px;padding:6px 12px}
.buy-together-pickedMain{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.buy-together-summaryToggle{margin-top:6px;border:0;background:none;padding:0;color:#333;text-decoration:underline;font-size:12px;cursor:pointer}
.buy-together-pickedExtra{margin-top:8px;border-top:1px solid #e6e6e6;padding-top:8px;display:grid;gap:4px}
.buy-together-links a{font-size:13px;text-decoration:underline;color:#333}
#buyTogetherBtn{margin-top:14px;background:#000;color:#fff;width:100%;padding:15px 10px;border:0;border-radius:6px;font-weight:700;cursor:pointer}
#buyTogetherBtn[disabled]{opacity:.7;cursor:wait}
.buy-together-total{font-size:14px;margin:14px 0 0}
.buy-together-total .total-price strong{font-size:26px;font-weight:700;margin:0 10px;color:#006db8}
.buy-together-total .total-price span{font-size:12px;color:#555}
.buy-together-modal[hidden]{display:none}
.buy-together-modal{position:fixed;inset:0;z-index:100002}
.buy-together-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.48)}
.buy-together-dialog{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:20px 20px 0 0;padding:22px 18px 18px;max-height:88vh;overflow:auto;box-shadow:0 -8px 30px rgba(0,0,0,.18)}
.buy-together-step{display:none}.buy-together-step.is-active{display:block}
.buy-together-step-title{font-size:26px;font-weight:800;margin-bottom:16px}
.buy-together-optionGrid{display:grid;gap:10px}
.buy-together-optionGrid-size{grid-template-columns:1fr}
.bt-option{border:1px solid #ddd;border-radius:10px;padding:12px;display:block;cursor:pointer;background:#fff}
.bt-option input,.bt-colorOption input{display:none}
.bt-option.is-selected{border-color:#111;background:#f5f5f5;box-shadow:inset 0 0 0 1px #111}
.bt-option-main{display:block;font-weight:700;line-height:1.45;font-size:14px}
.bt-option-sub{display:block;font-size:11px;color:#666;margin-top:4px;line-height:1.5}
.buy-together-colorGroup+.buy-together-colorGroup{margin-top:18px}
.buy-together-colorGroupTitle{font-size:18px;font-weight:700;margin-bottom:10px}
.buy-together-optionRail{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.buy-together-optionRail::-webkit-scrollbar{height:6px}
.buy-together-optionRail::-webkit-scrollbar-thumb{background:#cfcfcf;border-radius:99px}
.bt-colorOption{min-width:124px;max-width:124px;display:block;cursor:pointer}
.bt-colorThumbWrap{position:relative;display:block;overflow:hidden;aspect-ratio:1/1}
.bt-colorThumb{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92)}
.bt-colorSwatch{position:absolute;left:8px;top:8px;width:18px;height:18px;border-radius:999px;border:2px solid rgba(255,255,255,.95);box-shadow:0 1px 4px rgba(0,0,0,.18)}
.bt-colorCheck{position:absolute;right:8px;top:8px;width:20px;height:20px;border-radius:999px;}
.bt-colorOption.is-selected .bt-colorThumbWrap{border-color:#111;box-shadow:inset 0 0 0 2px #111}
.bt-colorOption.is-selected .bt-colorCheck{background:#111}
.bt-colorOption.is-selected .bt-colorCheck::after{content:"";position:absolute;left:6px;top:3px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.bt-colorLabel{display:block;margin-top:8px;font-size:12px;line-height:1.45;font-weight:700;word-break:break-word}
.buy-together-stepActions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.buy-together-stepActions button{flex:1;appearance:none;border-radius:8px;padding:14px 16px;font-weight:700;cursor:pointer}
.buy-together-stepActions .plain{background:#fff;border:1px solid #ccc;color:#333}
.buy-together-stepActions .solid{background:#000;border:1px solid #000;color:#fff}
body.buy-together-lock{overflow:hidden}
.buy-together-body{width: 100%;}
@media (max-width:767px){.buy-together-card{grid-template-columns:26px 82px 1fr;gap:12px;padding:14px}.buy-together-name{font-size:16px}.buy-together-price{font-size:24px}.buy-together-step-title{font-size:22px}.bt-colorOption{min-width:108px;max-width:108px}}
@media (min-width:768px){.buy-together-dialog{left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,-50%);width:min(760px,92vw);max-height:86vh;border-radius:18px;padding:26px}}

.buy-together-pickedHead{display:flex;align-items:center;gap:8px}
.buy-together-summaryToggle{margin-top:0;margin-left:auto;border:0;background:none;padding:0;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}
.buy-together-summaryArrow{width:8px;height:8px;border-right:1.5px solid #333;border-bottom:1.5px solid #333;transform:rotate(45deg);display:block;margin-top:-2px;transition:transform .2s ease,margin-top .2s ease}
.buy-together-picked.is-open .buy-together-summaryArrow{transform:rotate(225deg);margin-top:2px}
.buy-together-pickedExtra[hidden]{display:none}
.buy-together-note{margin: 20px 0px;}

/* v5 image assets */
.bt-colorThumbWrap{background:#fff;}
.bt-colorThumb{object-fit:contain;background:#fff;filter:none;padding:0px;}
.bt-colorOption{min-width:132px;max-width:132px;}
@media (max-width:767px){.bt-colorOption{min-width:116px;max-width:116px;}.bt-colorThumb{padding:4px;}}
