/* V2 상세 주문 모달 — 사이즈 프로필 / 주문 확인 */
.v2om-lock{overflow:hidden !important}
.v2om-overlay{position:fixed;inset:0;z-index:12000;display:none;align-items:flex-end;justify-content:center;background:rgba(17,17,17,.5);opacity:0;transition:opacity .2s ease}
.v2om-overlay.open{display:flex;opacity:1}
.v2om-sheet{width:100%;max-width:560px;max-height:92vh;background:#fff;border-radius:22px 22px 0 0;display:flex;flex-direction:column;transform:translateY(24px);transition:transform .22s ease;box-shadow:0 -8px 40px rgba(0,0,0,.16)}
.v2om-overlay.open .v2om-sheet{transform:translateY(0)}
.v2om-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 10px;flex:0 0 auto}
.v2om-head h3{font-size:17px;font-weight:900;margin:0}
.v2om-x{width:40px;height:40px;border:none;background:none;font-size:24px;color:#888;cursor:pointer;line-height:1}
.v2om-body{overflow-y:auto;padding:4px 18px 8px;-webkit-overflow-scrolling:touch}
.v2om-foot{flex:0 0 auto;display:flex;gap:9px;padding:12px 18px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid #eee}
.v2om-btn{flex:1;min-height:52px;border-radius:14px;font-size:15px;font-weight:800;cursor:pointer;border:1px solid #111;display:flex;align-items:center;justify-content:center}
.v2om-btn.primary{background:#111;color:#fff}
.v2om-btn.ghost{background:#fff;color:#111;border-color:#ddd}
.v2om-btn:disabled{opacity:.45;cursor:not-allowed}

/* 프로필 칩 */
.v2om-sec-title{font-size:13px;font-weight:800;color:#3a3d44;margin:14px 0 8px}
.v2om-profiles{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.v2om-prof{border:1px solid #dcdce2;border-radius:12px;padding:10px 12px;min-width:96px;cursor:pointer;background:#fff;text-align:left}
.v2om-prof.on{border-color:#111;background:#111;color:#fff}
.v2om-prof .pn{font-size:13px;font-weight:800}
.v2om-prof .pm{font-size:11px;color:#999;margin-top:3px}
.v2om-prof.on .pm{color:#cfcfcf}
.v2om-prof.add{display:flex;align-items:center;justify-content:center;color:#111;font-weight:800;border-style:dashed}

/* 폼 */
.v2om-form{margin-top:8px}
.v2om-row{display:flex;gap:8px;margin-bottom:9px}
.v2om-fld{flex:1}
.v2om-fld label{display:block;font-size:11.5px;font-weight:700;color:#555;margin-bottom:5px}
.v2om-fld input,.v2om-fld select{width:100%;height:44px;border:1px solid #dcdce2;border-radius:10px;padding:0 11px;font-size:14px;background:#fff}
.v2om-fld input:focus,.v2om-fld select:focus{outline:none;border-color:#111}

/* 사이즈 선택 */
.v2om-sizes{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.v2om-size{min-width:52px;height:44px;padding:0 12px;border:1px solid #dcdce2;border-radius:10px;background:#fff;font-weight:800;font-size:14px;cursor:pointer}
.v2om-size.on{background:#111;color:#fff;border-color:#111}

/* 확인 모달 상품 */
.v2om-item{display:flex;gap:12px;padding:10px 0 14px;border-bottom:1px solid #eee;margin-bottom:12px}
.v2om-item img{width:76px;height:76px;object-fit:cover;border-radius:12px;border:1px solid #eee;background:#fafafa}
.v2om-item .b{min-width:0}
.v2om-item .brand{font-size:11px;font-weight:800;color:#8f6d39}
.v2om-item .name{font-size:14px;font-weight:800;line-height:1.4;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v2om-item .opt{font-size:12px;color:#71757e;margin-top:5px}
.v2om-qty{display:flex;align-items:center;gap:0;border:1px solid #dcdce2;border-radius:10px;overflow:hidden;width:max-content;margin:2px 0 14px}
.v2om-qty button{width:40px;height:40px;border:none;background:#fff;font-size:19px;font-weight:800;cursor:pointer}
.v2om-qty span{min-width:48px;text-align:center;font-weight:800;font-size:15px}
.v2om-pricing .r{display:flex;justify-content:space-between;padding:7px 0;font-size:13.5px;color:#3a3d44}
.v2om-pricing .r b{font-weight:800;color:#111}
.v2om-pricing .r.total{border-top:1px solid #eee;margin-top:6px;padding-top:11px;font-size:15px}
.v2om-pricing .r.total b{font-size:19px}
.v2om-note{font-size:11.5px;color:#9a9a9a;margin-top:10px;line-height:1.5}

/* 토스트 */
.v2om-toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%) translateY(10px);z-index:13000;background:rgba(17,17,17,.94);color:#fff;padding:12px 18px;border-radius:12px;font-size:13.5px;font-weight:700;opacity:0;transition:all .25s ease;pointer-events:none;max-width:88vw;text-align:center}
.v2om-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

@media (min-width:768px){
  .v2om-overlay{align-items:center}
  .v2om-sheet{border-radius:20px;max-height:86vh}
  .v2om-foot{padding-bottom:16px}
}
