/* 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-chipgroup{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.v2om-chip{
  min-width:48px;min-height:44px;padding:0 15px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #dcdce2;border-radius:12px;background:#fff;
  color:#26272c;font-weight:800;font-size:14px;line-height:1;cursor:pointer;
  transition:transform .14s cubic-bezier(.2,.8,.3,1),background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease;
  -webkit-tap-highlight-color:transparent;user-select:none;
}
.v2om-chip:hover{border-color:#b9b9c2}
.v2om-chip.on{
  background:#111;color:#fff;border-color:#111;
  transform:scale(1.06);box-shadow:0 6px 16px rgba(17,17,17,.22);
}
.v2om-chip:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(17,17,17,.18);border-color:#111}
.v2om-chip.on:focus-visible{box-shadow:0 6px 16px rgba(17,17,17,.22),0 0 0 3px rgba(17,17,17,.3)}
.v2om-chip-etc{border-style:dashed;color:#3a3d44;font-weight:800;gap:3px}
.v2om-chip-etc .ic{font-size:15px;font-weight:900;line-height:1}
.v2om-chip-etc.on{background:#111;color:#fff;border-style:solid;border-color:#111}

/* 직접입력 펼침 */
.v2om-etcwrap{overflow:hidden;max-height:64px;margin-top:9px;transition:max-height .22s ease,margin-top .22s ease,opacity .18s ease;opacity:1}
.v2om-etcwrap[hidden]{display:block;max-height:0;margin-top:0;opacity:0;pointer-events:none}
.v2om-etc-input{
  width:100%;height:48px;border:1.5px solid #111;border-radius:12px;
  padding:0 13px;font-size:15px;font-weight:700;background:#fff;
}
.v2om-etc-input:focus{outline:none;box-shadow:0 0 0 3px rgba(17,17,17,.1)}

@media (prefers-reduced-motion: reduce){
  .v2om-chip,.v2om-etcwrap{transition:none}
  .v2om-chip.on{transform:none}
}

/* 확인 모달 상품 */
.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-jw-sub{font-size:12.5px;color:#71757e;margin:2px 0 10px;line-height:1.5}
.v2om-jw-rec{display:flex;align-items:center;gap:8px;background:#f6f4ef;border:1px solid #eadfce;border-radius:12px;padding:11px 12px;margin-bottom:10px}
.v2om-jw-rec span{font-size:11.5px;font-weight:800;color:#8f6d39}
.v2om-jw-rec b{font-size:14px;font-weight:800;color:#111;flex:1}
.v2om-jw-rec button{border:1px solid #111;background:#111;color:#fff;border-radius:9px;padding:7px 11px;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}
.v2om-jw-rec.none{display:block;background:#fafafa;border-color:#eee;color:#8a8f98;font-size:12.5px;font-weight:600}
.v2om-jw-input{width:100%;height:50px;border:1.5px solid #111;border-radius:12px;padding:0 13px;font-size:15px;font-weight:700;margin-bottom:9px}
.v2om-jw-input:focus{outline:none;border-color:#111;box-shadow:0 0 0 3px rgba(17,17,17,.08)}
.v2om-jw-guide{border:1px solid #eee;border-radius:12px;padding:2px 12px;background:#fff}
.v2om-jw-guide summary{cursor:pointer;font-size:13px;font-weight:800;color:#3a3d44;padding:11px 0;list-style:none}
.v2om-jw-guide summary::-webkit-details-marker{display:none}
.v2om-jw-guide summary::after{content:'⌄';float:right;color:#999}
.v2om-jw-guide[open] summary::after{content:'⌃'}
.v2om-jw-gtable{padding:2px 0 6px}
.v2om-jw-grow{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px dashed #eee;font-size:13px}
.v2om-jw-grow:first-child{border-top:none}
.v2om-jw-grow b{font-weight:800;color:#111;white-space:nowrap}
.v2om-jw-grow span{color:#71757e;text-align:right}

/* 토스트 */
.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}
}
/* 2026-10-17 주문정보(키·몸무게·평소 사이즈·색상) */
.v2om-req{font-size:11px;font-weight:700;color:#e5484d;margin-left:4px}
.v2om-opt{font-weight:500;color:#9a9a9a;margin-left:4px}
.v2om-fld input.v2om-bad{border-color:#e5484d;background:#fff6f6}
@media (max-width:767px){.v2om-fld input,.v2om-fld select{font-size:16px}}
