@charset "utf-8";

/* ========================================================
   ONCAP24 이사 견적 1/2차 물량 계산 CSS
======================================================== */

body {
  background-color: #f7f8fb;
}

.zim-req-container {
    padding: 60px 24px;
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.zim-step-indicator {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 40px;
    padding: 14px;
    border-radius: 22px;
    background: linear-gradient(180deg, #f8fbff 0%, #eef4ff 100%);
    border: 1px solid #d9e4f7;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.06);
}

.zim-step {
    position: relative;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 12px;
    border-radius: 16px;
    border: 1px solid #d7e2f3;
    background: rgba(255,255,255,0.94);
    color: #64748b;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    text-align: center;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}

.zim-step::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 10px;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: linear-gradient(135deg, #cbd5e1, #94a3b8);
    box-shadow: 0 0 0 4px rgba(148,163,184,0.14);
}

.zim-step.active {
    color: #0f2f6b;
    border-color: #7aa7ff;
    background: linear-gradient(180deg, #ffffff 0%, #eaf2ff 100%);
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.12);
}

.zim-step.active::before {
    background: linear-gradient(135deg, #2563eb, #22c55e);
    box-shadow: 0 0 0 4px rgba(37,99,235,0.14);
}

.zim-step-arrow { display: none; }

.zim-header { text-align: center; margin-bottom: 40px; }
.zim-header h2 { font-size: 32px; font-weight: 800; color: #1e293b; margin-bottom: 12px; letter-spacing: -0.5px; }
.zim-header p { font-size: 17px; color: #64748b; }

.move-form {
  max-width: 1200px;
  margin: 0 auto;
}

.intro-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin: 20px 0 36px;
  flex-wrap: wrap;
}

.step-open-btn {
  min-width: 240px;
  height: 56px;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
  color: #fff;
  font-size: 17px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 14px 28px rgba(37, 99, 235, 0.18);
}

.step-open-btn.secondary {
  background: #fff;
  color: #1e293b;
  border: 2px solid #dbe4f0;
  box-shadow: none;
}

.step-open-btn.secondary:hover {
  border-color: #94a3b8;
}

.step-container {
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.05);
  padding: 40px 48px;
  margin-bottom: 24px;
}

.step-header {
  border-bottom: 2px solid #f1f5f9;
  padding-bottom: 16px;
  margin-bottom: 30px;
}

.step-header h3 {
  font-size: 20px;
  font-weight: 800;
  color: #1e293b;
  margin: 0;
}

/* 1단계 폼 그리드 */
.form-grid.top-grid { display: grid; grid-template-columns: 1fr 1fr 1.45fr 1.45fr; gap: 22px; }
.address-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; margin-top: 30px; }
.bottom-grid { margin-top: 30px; }

.form-field label, .address-head label {
  display: block; font-weight: 700; color: #374151; margin-bottom: 10px;
}
.address-head label { margin-bottom: 0; }
.form-field b, .address-head b { color: #ef4444; }

.move-form input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),
.move-form select,
.move-form textarea {
  width: 100%; height: 52px; border: 1px solid #d7dce5; border-radius: 10px;
  padding: 0 16px; font-size: 15px; box-sizing: border-box;
}

.move-form input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):focus, 
.move-form select:focus, 
.move-form textarea:focus {
  outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.move-form textarea { height: 72px; padding-top: 14px; resize: vertical; }

.address-head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.addr-btn {
  height: 42px; padding: 0 22px; border: 0; border-radius: 9px;
  background: #475569; color: #fff; font-weight: 700; cursor: pointer; transition: background 0.2s;
}
.addr-btn:hover { background: #334155; }
.address-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

.option-row { display: flex; align-items: center; gap: 12px; margin-top: 12px; color: #4b5563; font-weight: 600; }
.option-row select { width: 92px; padding: 0 10px; }
.compact-select { height: 42px !important; }

.addr-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  width:100%;
  max-width:1200px;
  margin:20px auto;
  box-sizing:border-box;
}

.addr-card{
  min-width:0;
  background:#fff;
  border:1px solid #dbe5f4;
  border-radius:20px;
  padding:24px;
  box-sizing:border-box;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}

.addr-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.addr-head h3{
  margin:0;
  font-size:20px;
  font-weight:900;
  color:#111827;
}

.addr-search-btn{
  flex:0 0 auto;
  height:42px;
  padding:0 22px;
  border:0;
  border-radius:999px;
  background:#2563eb;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

.addr-row{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);
  gap:10px;
  margin-bottom:16px;
}

.addr-row input{
  width:100%;
  min-width:0;
  height:52px;
  border:1px solid #cfd9e8;
  border-radius:10px;
  padding:0 16px;
  box-sizing:border-box;
}

.type-tabs{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:7px;
  margin-bottom:18px;
}

.type-tabs button{
  width:100%;
  min-width:0;
  height:28px;
  border:1px solid #d7e0ec;
  border-radius:7px;
  background:#eef3f8;
  color:#334155;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}

.type-tabs button.active{
  background:#2563eb;
  border-color:#2563eb;
  color:#fff;
}

.addr-select-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}

.addr-select-row label{
  display:block;
  min-width:0;
  font-size:14px;
  font-weight:900;
  color:#1e293b;
}

.addr-select-row select{
  width:100%;
  min-width:0;
  height:52px;
  margin-top:8px;
  border:1px solid #cfd9e8;
  border-radius:10px;
  padding:0 14px;
  box-sizing:border-box;
  background:#fff;
}

.addr-toggle-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 10px;
}

.addr-toggle-row label{
  font-size:14px;
  font-weight:800;
  color:#334155;
  margin-right:2px;
}

.toggle{
  height:34px;
  min-width:52px;
  border:1px solid #d7e0ec;
  background:#f1f5f9;
  border-radius:999px;
  font-weight:900;
  color:#64748b;
  cursor:pointer;
}

.toggle.active{
  background:#2563eb;
  border-color:#2563eb;
  color:#fff;
}

@media(max-width:1024px){
  .addr-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  .addr-card{
    padding:18px;
    border-radius:16px;
  }

  .addr-row,
  .addr-select-row{
    grid-template-columns:1fr;
  }

  .type-tabs{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .addr-search-btn{
    height:38px;
    padding:0 16px;
  }
}

.step-2 {
  width: 100%;
  max-width: 1160px;
  margin: 14px auto 0;
  padding: 24px;
  border: 1px solid #dbe5f4;
  border-radius: 24px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.step-2 h3 {
  margin: 0;
  font-size: 22px;
  font-weight: 900;
  color: #0f172a;
  letter-spacing: -0.03em;
}

.step-desc {
  margin: 8px 0 18px;
  color: #64748b;
  line-height: 1.6;
}

.step-2 .room-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 16px;
}

.step-2 .room-tab {
  border: 1px solid #dbe5f4;
  background: #f8fafc;
  color: #334155;
  border-radius: 999px;
  padding: 10px 18px;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.2s ease;
}

.step-2 .room-tab.active,
.step-2 .room-tab:hover {
  background: #2563eb;
  color: #fff;
  border-color: #2563eb;
}

.step-2 .item-select-box {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}

.step-2 .item-card {
  min-height: 96px;
  padding: 14px 10px;
  border: 1px solid #dbe5f4;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.step-2 .item-card:hover,
.step-2 .item-card.active {
  border-color: #2563eb;
  background: #eff6ff;
  transform: translateY(-1px);
}

.step-2 .item-card .item-icon {
  font-size: 24px;
  line-height: 1;
}

.step-2 .item-card .item-name {
  margin: 0;
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
}

.step-2 .item-card small {
  font-size: 12px;
  color: #64748b;
}

.selected-item-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) 300px 260px;
  gap: 18px;
  align-items: start;
}

.selected-item-main h4,
.cbm-panel h4,
.photo-panel h4 {
  margin: 0 0 14px;
  font-size: 18px;
  font-weight: 900;
  color: #0f172a;
}

.selected-items {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 0;
  border-top: 0;
  padding-top: 0;
}

.step-2 .selected-items .empty-text {
  color: #94a3b8;
  font-size: 13px;
  margin: 0;
}

.step-2 .selected-item-card {
  display: grid;
  grid-template-columns: 42px minmax(92px, 1fr) 108px minmax(270px, 1.2fr) 72px;
  gap: 10px;
  align-items: center;
  width: 100%;
  padding: 12px;
  border: 1px solid #dbe5f4;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.step-2 .selected-item-card .item-thumb {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #eff6ff;
  font-size: 20px;
}

.step-2 .selected-item-card .item-name {
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.step-2 .qty-control {
  display: flex;
  align-items: center;
  gap: 6px;
}

.qty-control button,
.step-2 .item-remove {
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 800;
}

.step-2 .qty-control button {
  width: 30px;
  height: 30px;
  background: #e2e8f0;
  color: #334155;
}

.step-2 .qty-control input {
  width: 42px;
  height: 30px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  text-align: center;
  font-weight: 800;
}

.step-2 .size-inputs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.step-2 .size-inputs label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  font-weight: 700;
  color: #64748b;
}

.step-2 .size-inputs input {
  width: 100%;
  height: 30px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 0 8px;
}

.step-2 .item-remove {
  width: 64px;
  height: 34px;
  justify-self: end;
  background: #fee2e2;
  color: #b91c1c;
}

.cbm-panel,
.photo-panel {
  border: 1px solid #dbe5f4;
  border-radius: 16px;
  padding: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.step-2 .cbm-panel p {
  margin: 0 0 10px;
  color: #475569;
  line-height: 1.6;
}

.step-2 .cbm-panel strong {
  color: #0f172a;
}

.step-2 .photo-panel label {
  display: block;
  margin: 12px 0 8px;
  font-size: 14px;
  font-weight: 800;
  color: #334155;
}

.step-2 .photo-panel input[type="file"] {
  width: 100%;
  padding: 10px 12px;
  border: 1px dashed #cbd5e1;
  border-radius: 12px;
  background: #f8fafc;
}

@media (max-width: 1100px) {
  .step-2 .item-select-box {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .selected-item-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .step-2 {
    padding: 18px;
    border-radius: 18px;
  }

  .step-2 .item-select-box {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .step-2 .selected-item-card {
    grid-template-columns: 1fr;
  }

  .step-2 .size-inputs {
    grid-template-columns: 1fr;
  }
}

/* 엘리베이터 세그먼트 콤보 버튼 */
.transport-option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.transport-option-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid #dbe5f4;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.transport-option-card > span {
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -0.02em;
}

.elevator-toggle {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  width: 100%;
  padding: 5px;
  border: 1px solid #d7dce5;
  border-radius: 999px;
  background: #f8fafc;
  box-sizing: border-box;
}
.elevator-toggle input { display: none; }
.elevator-toggle label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 28px;
  line-height: 1;
  text-align: center;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  color: #64748b;
  cursor: pointer;
  margin: 0;
  transition: all 0.2s ease;
}
.elevator-toggle label:hover {
  background: #eaf1ff;
  color: #2563eb;
}
.elevator-toggle input:checked + label {
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 100%);
  color: #fff;
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.22);
}

.transport-option-card .elevator-toggle {
  margin-top: 0;
}

.transport-option-card .elevator-toggle label {
  min-width: 0;
}

.move-form input[type="radio"], .move-form input[type="checkbox"] {
  width: 18px; height: 18px; accent-color: #2563eb; cursor: pointer; margin: 0;
}

.step-action-wrap { text-align: center; margin-top: 40px; }
.next-step-btn {
  width: 100%; max-width: 400px; height: 58px; border: 0; border-radius: 13px;
  background: #f1f5f9; color: #2563eb; font-size: 18px; font-weight: 800;
  cursor: pointer; transition: all 0.2s; border: 2px solid #e2e8f0;
}
.next-step-btn:hover { background: #e2e8f0; border-color: #cbd5e1; }

/* 2단계 물량 계산 UI */
.space-type-select {
  display: flex; gap: 16px; margin-bottom: 30px;
}
.space-card {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px;
  height: 60px; border: 2px solid #e2e8f0; border-radius: 12px; cursor: pointer;
  font-weight: 700; font-size: 16px; color: #64748b; transition: all 0.2s;
}
.space-card input:checked + span { color: #2563eb; }
.space-card:has(input:checked) { border-color: #2563eb; background: #eff6ff; }
.space-card input { display: none; }

.room-tabs {
  display: flex; gap: 10px; margin-bottom: 24px; overflow-x: auto; padding-bottom: 8px;
}
.room-tab {
  padding: 10px 20px; background: #f8fafc; border: 1px solid #e2e8f0;
  border-radius: 30px; font-weight: 600; color: #475569; cursor: pointer;
  white-space: nowrap; transition: all 0.2s;
}
.room-tab.active { background: #1e293b; color: #fff; border-color: #1e293b; }

.item-grid {
  display: grid; grid-template-columns: repeat(8, 1fr); gap: 8px;
}
.item-card {
  height: 58px; border: 1px solid #dbe3ee; border-radius: 10px; padding: 6px 4px; text-align: center;
  cursor: pointer; transition: all 0.2s; background: #fff;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  font-size: 12px;
}
.item-card.active { border-color: #2563eb; background: #eff6ff; }
.item-card:hover { border-color: #94a3b8; background: #f8fafc; }
.item-icon { display: block; font-size: 20px; line-height: 1; }
.item-name { display: block; margin-top: 4px; font-size: 13px; font-weight: 700; color: #334155; }

/* Option panel */
.item-option-panel {
  background: #f8fafc; border: 1px solid #dbe3ee; border-radius: 12px; padding: 16px; margin-bottom: 20px;
}
.item-option-row {
  display: grid; grid-template-columns: 90px 120px auto 70px; gap: 8px; align-items: center;
}
.opt-unit-label {
  display: inline-flex;
  align-items: center;
  height: 38px;
  padding: 0 10px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: #475569;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.qty-box { display: flex; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; overflow: hidden; height: 38px; }
.qty-box button { width: 32px; border: 0; background: transparent; cursor: pointer; font-size: 18px; color: #475569; }
.qty-box input { width: 40px; text-align: center; border: 0; border-left: 1px solid #cbd5e1; border-right: 1px solid #cbd5e1; font-weight: 700; }
.add-item-btn { height: 38px; border: 0; border-radius: 8px; background: #2563eb; color: #fff; font-weight: 700; cursor: pointer; }
.photo-upload-btn { height: 38px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; font-weight: 600; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 13px; color: #475569; padding: 0 12px; margin: 0; }

.cat-title { font-size: 15px; font-weight: 800; color: #475569; margin: 24px 0 12px; }
.item-alert { font-size: 13px; font-weight: 600; color: #ef4444; background: #fef2f2; border-radius: 8px; padding: 10px; margin-bottom: 12px; }

.selected-items { margin-top: 40px; border-top: 2px dashed #e2e8f0; padding-top: 30px; }
.selected-header h4 { font-size: 18px; font-weight: 800; color: #1e293b; margin: 0 0 16px; }

/* 추가된 물품 영역 최소 공간화 (미니 컴팩트 태그 칩) */
.selected-items-mini {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 6px 0;
}
.mini-chip {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: #f1f5f9;
  border: 1px solid #dbe3ee;
  font-size: 13px;
  font-weight: 600;
  color: #334155;
  white-space: nowrap;
}
.mini-chip button {
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  color: #64748b;
  padding: 0;
  margin-left: 6px;
}
.mini-chip button:hover {
  color: #ef4444;
}

.selected-item-row {
  display: grid;
  grid-template-columns: 1.4fr 90px 60px 58px 58px 34px;
  gap: 6px;
  align-items: center;
  min-height: 38px;
  padding: 6px 8px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
  font-size: 13px;
  margin-bottom: 6px;
}
.selected-item-row .row-title { font-weight: 700; color: #1e293b; }
.row-select, .row-qty { height: 32px; border: 1px solid #cbd5e1; border-radius: 8px; padding: 0 8px; background: #fff; }
.row-qty { width: 60px; text-align: center; }
.row-btn, .row-del { height: 32px; border: 0; border-radius: 8px; cursor: pointer; font-size: 12px; font-weight: 700; }
.row-btn { background: #e2e8f0; color: #334155; }
.row-del { background: #fee2e2; color: #b91c1c; }
.row-custom { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 6px; }
.row-custom input { height: 32px; border: 1px solid #cbd5e1; border-radius: 8px; padding: 0 8px; }
.empty-msg { color:#94a3b8; padding:8px; font-size:13px; }

/* 사진 업로드 영역 */
.photo-section { margin-top: 40px; }
.photo-section h4 { font-size: 18px; font-weight: 800; color: #1e293b; margin: 0 0 8px; }
.photo-help { font-size: 14px; color: #64748b; margin: 0 0 20px; }
.photo-upload-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.photo-box { background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 12px; padding: 20px; text-align: center; position: relative; }
.photo-box label { font-size: 14px; font-weight: 700; color: #475569; display: block; margin-bottom: 12px; }
.photo-box input[type="file"] { font-size: 13px; color: #64748b; width: 100%; cursor: pointer; }
.photo-box-wide { grid-column: 1 / -1; text-align: left; }
.photo-box-wide label { text-align: left; }
.photo-box-wide input[type="file"] { padding-top: 6px; }

/* 결과 바 */
.cbm-result-bar {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;
  background: #1e293b; color: #fff; border-radius: 16px; padding: 24px 32px; margin-top: 40px; gap: 20px;
}
.cbm-info { display: flex; flex-direction: column; gap: 6px; }
.cbm-title { font-size: 14px; color: #94a3b8; font-weight: 600; }
.cbm-val { font-size: 24px; font-weight: 800; color: #38bdf8; }
.recommend-car { color: #10b981; }

/* 약관동의 체크박스 버그 수정 */
.agree-box, .agree-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
}

.agree-box input[type="checkbox"],
.agree-check input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin-top: 3px;
  opacity: 1 !important;
  visibility: visible !important;
  display: inline-block !important;
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  accent-color: #2563eb;
  position: static !important;
  z-index: 2 !important;
}

.agree-box:hover input[type="checkbox"],
.agree-check:hover input[type="checkbox"] {
  opacity: 1 !important;
  visibility: visible !important;
}

.btn-final-submit, .submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 34px;
  border: 0;
  border-radius: 14px;
  background: #2563eb;
  color: #fff;
  font-size: 17px;
  font-weight: 800;
  cursor: pointer;
}

.btn-final-submit:hover, .submit-btn:hover {
  background: #1d4ed8;
  color: #fff;
}

.submit-wrap { display: flex; gap: 16px; margin-top: 40px; }
.back-step-btn {
  flex: 1; max-width: 200px; height: 58px; border: 2px solid #e2e8f0; border-radius: 13px;
  background: #fff; color: #64748b; font-size: 18px; font-weight: 800; cursor: pointer;
}
.submit-btn {
  flex: 3; height: 58px; border: 0; border-radius: 13px; background: #2563eb; color: #fff;
  font-size: 18px; font-weight: 800; cursor: pointer; transition: all 0.3s;
}
.submit-btn:hover { background: #1d4ed8; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(37, 99, 235, 0.25); }

@media (max-width: 768px) {
  .step-container { padding: 28px 20px 40px; }
  .form-grid.top-grid, .address-grid { grid-template-columns: 1fr; }
  .address-row { grid-template-columns: 1fr; }
  .cbm-result-bar { flex-direction: column; align-items: flex-start; }
  .item-grid { grid-template-columns: repeat(4, 1fr); gap: 6px; }
  .item-card { height: 54px; font-size: 11px; }
  .item-option-row { grid-template-columns: 1fr 1fr; }
  .add-item-btn, .photo-upload-btn { grid-column: 1 / -1; }
  .selected-item-row { grid-template-columns: 1fr 70px 52px; }
  .row-custom { grid-column: 1 / -1; grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .step-header h3 { font-size: 18px; }
  .cbm-result-bar { flex-direction: column; align-items: flex-start; gap: 16px; padding: 20px; }
  .cbm-val { font-size: 20px; }
}

/* =========================================
   Smart UX Redesign Styles
========================================= */

/* Mode Select */
.mode-select-wrap {
  text-align: center;
  padding: 40px 20px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  margin-bottom: 30px;
}
.mode-select-wrap h2 {
  font-size: 24px;
  font-weight: 800;
  color: #1e293b;
  margin-bottom: 24px;
}
.mode-cards {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.mode-card {
  flex: 1;
  min-width: 240px;
  max-width: 320px;
  padding: 30px 20px;
  background: #f8fafc;
  border: 2px solid #e2e8f0;
  border-radius: 16px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.mode-card:hover {
  background: #eff6ff;
  border-color: #3b82f6;
  transform: translateY(-4px);
  box-shadow: 0 10px 15px -3px rgba(59,130,246,0.1);
}
.mode-icon {
  font-size: 32px;
  margin-bottom: 12px;
}
.mode-title {
  font-size: 20px;
  font-weight: 800;
  color: #1e293b;
  margin-bottom: 8px;
}
.mode-desc {
  font-size: 14px;
  color: #64748b;
}

/* Chip Group */
.chip-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.chip-group label {
  cursor: pointer;
}
.chip-group input[type="radio"],
.chip-group input[type="checkbox"] {
  display: none;
}
.chip-group span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  height: 34px;
  border-radius: 17px;
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  color: #475569;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.2s;
  user-select: none;
}
.chip-group input:checked + span {
  background: #2563eb;
  border-color: #2563eb;
  color: #ffffff;
}
.chip-group.multi-select span {
  border-radius: 8px;
}

/* Space Type Select */
.space-type-select {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}
.space-card {
  flex: 1;
  cursor: pointer;
}
.space-card input {
  display: none;
}
.space-card span {
  display: block;
  text-align: center;
  padding: 16px;
  background: #f8fafc;
  border: 2px solid #e2e8f0;
  border-radius: 12px;
  font-weight: 700;
  color: #475569;
  transition: all 0.2s;
}
.space-card input:checked + span {
  background: #eff6ff;
  border-color: #3b82f6;
  color: #1e293b;
}

/* Choice Grid */
.choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
  margin: 8px 0 24px;
}
.choice-panel {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 16px;
}
.choice-panel > label {
  display: block;
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 800;
  color: #0f172a;
}
.choice-chip-grid {
  gap: 8px;
}
.choice-chip-grid label span {
  min-height: 40px;
  padding: 0 14px;
}

/* Summary Sidebar */
.estimate-summary {
  position: sticky;
  top: 24px;
  align-self: start;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
  padding: 20px;
}
.summary-head,
.summary-progress-text,
.summary-progress-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.summary-head {
  margin-bottom: 14px;
  gap: 12px;
}
.summary-head span,
.summary-progress-text span,
.summary-block h4 {
  font-size: 13px;
  font-weight: 800;
  color: #334155;
}
.summary-head strong,
.summary-progress-text strong {
  font-size: 15px;
  font-weight: 900;
  color: #2563eb;
}
.summary-progress-wrap {
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  margin-bottom: 16px;
}
.summary-progress-track {
  height: 10px;
  background: #e2e8f0;
  border-radius: 999px;
  overflow: hidden;
}
.summary-progress-bar {
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, #2563eb 0%, #38bdf8 100%);
  border-radius: inherit;
}
.summary-block {
  border-top: 1px solid #eef2f7;
  padding-top: 14px;
  margin-top: 14px;
}
.summary-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.summary-pill {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #eff6ff;
  border: 1px solid #dbeafe;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 700;
}
.summary-empty {
  color: #94a3b8;
  font-size: 13px;
}

/* Room Photos */
.photo-room-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.photo-room-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  background: #f8fafc;
  cursor: pointer;
}
.photo-room-card input[type="file"] {
  width: 100%;
  font-size: 13px;
  color: #64748b;
}
.photo-room-card-wide {
  grid-column: 1 / -1;
}
.photo-room-title {
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
}
.photo-count {
  font-size: 12px;
  color: #64748b;
}

/* Final Review */
.final-review-card {
  margin-top: 24px;
  padding: 20px;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border: 1px solid #dbeafe;
}
.review-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.review-box {
  min-height: 72px;
  padding: 14px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #e2e8f0;
}
.review-box-full {
  grid-column: 1 / -1;
}
.review-box > span {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 800;
  color: #64748b;
}
.review-box > strong {
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
}

@media (max-width: 1024px) {
  .choice-grid,
  .review-grid,
  .photo-room-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .estimate-summary {
    position: static;
    margin-top: 24px;
  }
  .choice-panel {
    padding: 14px;
  }
  .photo-room-card {
    padding: 14px;
  }
}
/* Detail Estimate Layout */
.detail-estimate {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 20px 40px;
}
.detail-top-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
  margin-bottom: 20px;
}
.detail-top-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px 18px;
}
.detail-top-grid .form-field-wide {
  grid-column: 1 / -1;
}
.detail-address-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}
.detail-workspace {
  display: grid;
  grid-template-columns: minmax(320px, 1.1fr) minmax(320px, 1fr) minmax(340px, 1fr);
  gap: 18px;
  align-items: start;
}
.detail-column {
  min-width: 0;
}
.detail-column-right {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.detail-panel,
.estimate-summary,
.final-review-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}
.detail-panel {
  padding: 20px;
}
.detail-panel-sticky {
  position: sticky;
  top: 20px;
}
.detail-panel-head h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 900;
  color: #0f172a;
}
.detail-panel-head p {
  margin: 6px 0 0;
  font-size: 13px;
  color: #64748b;
}
.search-bar {
  margin: 16px 0 18px;
}
.search-bar input {
  width: 100%;
  height: 44px;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  padding: 0 14px;
  font-size: 14px;
}
.selected-items-editor {
  margin-top: 18px;
}
.selected-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.selected-item-row {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) 110px 120px 54px;
  gap: 10px;
  align-items: center;
  min-height: 56px;
  padding: 12px 14px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #f8fafc;
}
.selected-item-row .row-title {
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.4;
}
.row-select {
  width: 100%;
  height: 40px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding: 0 10px;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
}
.qty-box {
  display: flex;
  align-items: center;
  height: 40px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.qty-box button {
  width: 36px;
  height: 100%;
  border: 0;
  background: transparent;
  font-size: 18px;
  font-weight: 800;
  color: #334155;
  cursor: pointer;
}
.row-qty {
  width: 44px;
  height: 100%;
  border: 0;
  border-left: 1px solid #cbd5e1;
  border-right: 1px solid #cbd5e1;
  text-align: center;
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
  background: #fff;
}
.row-del {
  width: 54px;
  height: 40px;
  border: 0;
  border-radius: 10px;
  background: #fee2e2;
  color: #b91c1c;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.detail-summary {
  padding: 20px;
  margin-bottom: 0;
}
.detail-summary .summary-block h4 {
  margin: 0 0 4px;
}
.detail-photo-section {
  padding: 20px;
}
.detail-photo-section h4 {
  margin-top: 0;
}
.final-review-card {
  margin-top: 0;
  padding: 20px;
}
.review-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.review-box {
  min-height: 74px;
  padding: 14px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
.review-box span {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 800;
  color: #64748b;
}
.review-box strong {
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
}
.review-box-full {
  grid-column: 1 / -1;
}
.privacy-row {
  margin-top: 18px;
  display: flex;
  justify-content: flex-start;
}
.detail-submit-wrap {
  margin-top: 18px;
  display: flex;
  justify-content: flex-end;
}
.detail-submit-wrap .submit-btn {
  min-width: 220px;
}

@media (max-width: 1280px) {
  .detail-top-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .detail-workspace {
    grid-template-columns: 1fr;
  }
  .detail-panel-sticky {
    position: static;
  }
}

@media (max-width: 768px) {
  .detail-estimate {
    padding: 0 16px 28px;
  }
  .detail-top-card,
  .detail-panel,
  .detail-summary,
  .detail-photo-section,
  .final-review-card {
    padding: 16px;
    border-radius: 16px;
  }
  .detail-top-grid,
  .detail-address-grid,
  .review-grid {
    grid-template-columns: 1fr;
  }
  .final-review-card .review-box-full {
    display: none;
  }
  .final-review-card .review-box {
    min-height: auto;
  }
  .final-review-card .review-box span {
    margin-bottom: 4px;
  }
  .selected-item-row {
    grid-template-columns: 1fr;
  }
  .detail-submit-wrap {
    justify-content: stretch;
  }
  .detail-submit-wrap .submit-btn {
    width: 100%;
    min-width: 0;
  }
}
/* Request page layout refinement */
#step2_container .step-content,
#step3_container .step-content {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) 360px 280px;
  gap: 24px;
  align-items: start;
}

#step2_container .cbm-dashboard,
#step2_container .selected-items-mini,
#step3_container .photo-section,
#step3_container .final-review-card {
  border-radius: 18px;
  border: 1px solid #dbe5f4;
  background: #fff;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

#step2_container .cbm-dashboard {
  padding: 20px;
  background: linear-gradient(180deg, #0f172a 0%, #122b5a 100%);
  color: #fff;
}

#step2_container .cbm-dashboard strong,
#step2_container .cbm-dashboard span {
  color: #fff;
}

#step2_container .selected-header h4,
#step3_container .photo-section h4,
#step3_container .final-review-card .summary-head span {
  color: #0f172a;
}

#step2_container .selected-items-mini {
  padding: 16px;
  min-height: 220px;
}

#step2_container .selected-items-mini .empty-msg {
  padding: 12px 0;
}

#step3_container .photo-section,
#step3_container .final-review-card {
  padding: 20px;
}

#step3_container .photo-section {
  grid-column: 1 / 2;
}

#step3_container .final-review-card {
  grid-column: 2 / 4;
}

.step-2 .selected-item-card {
  display: grid;
  grid-template-columns: 48px minmax(80px, 1fr) 108px minmax(250px, 1.2fr) 72px;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid #dbe5f4;
  border-radius: 12px;
  background: #fff;
}

.selected-item-card .item-thumb img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 10px;
}

.step-2 .selected-item-card .item-name {
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.selected-item-card .qty-control,
.selected-item-card .step-2 .size-inputs {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.selected-item-card .qty-control input,
.selected-item-card .step-2 .size-inputs input {
  height: 34px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 0 8px;
  width: 70px;
  font-size: 13px;
}

.selected-item-card .step-2 .qty-control button {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid #dbe5f4;
  background: #f8fafc;
  font-weight: 800;
}

@media (max-width: 1200px) {
  #step2_container .step-content,
  #step3_container .step-content {
    grid-template-columns: 1fr 320px;
  }
  #step3_container .photo-section,
  #step3_container .final-review-card {
    grid-column: auto;
  }
}

@media (max-width: 768px) {
  #step2_container .step-content,
  #step3_container .step-content {
    grid-template-columns: 1fr;
  }
  .step-2 .selected-item-card {
    grid-template-columns: 48px minmax(0, 1fr);
  }
}
/* ========================================================
   ONCAP24 UI OVERHAUL CSS
======================================================== */
.request-wrap {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 30px 20px 80px;
    font-family: 'Pretendard', 'Noto Sans KR', sans-serif;
    box-sizing: border-box;
}

.req-header {
    text-align: center;
    margin-bottom: 40px;
}
.req-header .req-title {
    font-size: 32px;
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 12px;
}
.req-header p {
    font-size: 17px;
    color: #64748b;
}

.req-layout {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.req-form-section {
    width: 66%;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.req-dashboard-section {
    width: 34%;
}

.req-card {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
    padding: 24px;
    border: 1px solid #e2e8f0;
}

.req-card-title {
    font-size: 20px;
    font-weight: 800;
    color: #1e293b;
    margin-top: 0;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 2px solid #f1f5f9;
}

.req-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.req-grid-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.req-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
}

.req-field label {
    font-weight: 700;
    color: #374151;
}

.req-field input[type='text'],
.req-field input[type='tel'],
.req-field input[type='number'],
.req-field input[type='date'],
.req-field select,
.req-field textarea {
    width: 100%;
    height: 52px;
    border: 1px solid #d7dce5;
    border-radius: 10px;
    padding: 0 16px;
    font-size: 15px;
    box-sizing: border-box;
    transition: all 0.2s;
}

.req-field textarea {
    height: 100px;
    padding-top: 14px;
    resize: vertical;
}

.req-field input:focus,
.req-field select:focus,
.req-field textarea:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.addr-field {
    margin-bottom: 14px;
}

.addr-field input {
    margin-bottom: 10px;
}

.addr-field input:last-child {
    margin-bottom: 0;
}

.input-addr {
    background: #f8fafc;
    cursor: pointer;
}

.radio-group {
    display: flex;
    gap: 16px;
    height: 52px;
    align-items: center;
}

.sticky-dash {
    position: sticky;
    top: 20px;
}

.cbm-display {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 20px;
    text-align: center;
    font-size: 18px;
    color: #475569;
    margin-bottom: 20px;
}

.cbm-display strong {
    font-size: 28px;
    color: #2563eb;
}

.req-summary p {
    font-size: 14px;
    color: #64748b;
    text-align: center;
    margin-bottom: 20px;
}

.btn-submit {
    width: 100%;
    height: 54px;
    border: none;
    border-radius: 10px;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(37, 99, 235, 0.15);
    transition: all 0.2s;
}

.btn-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.25);
}

@media (max-width: 768px) {
    .req-layout {
        flex-direction: column;
    }
    .req-form-section,
    .req-dashboard-section {
        width: 100%;
    }
    .req-grid-2,
    .req-grid-3 {
        grid-template-columns: 1fr;
    }
}


/* Classic request page restore */
.classic-request {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px 48px;
}

.classic-request .zim-header {
  margin-bottom: 24px;
}

.classic-request .zim-header h2 {
  margin-bottom: 10px;
}

.classic-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.classic-section {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
  padding: 24px;
}

.classic-top-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px 18px;
}

.classic-request .form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 0;
}

.classic-request .form-field label {
  display: block;
  font-size: 14px;
  font-weight: 800;
  color: #334155;
}

.classic-address-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.address-box {
  min-width: 0;
}

.address-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.address-head label {
  font-size: 18px;
  font-weight: 900;
  color: #0f172a;
  margin-bottom: 0;
}

.addr-btn {
  min-width: 96px;
  height: 40px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 10px 20px rgba(37, 99, 235, 0.16);
}

.address-row {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 10px;
  margin-bottom: 14px;
}

.address-row input {
  height: 52px;
}

.building-chip-group {
    margin-bottom: 14px;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px; /* Space for scrollbar if any */
}

/* Hide scrollbar for a cleaner look while keeping it scrollable */
.building-chip-group::-webkit-scrollbar {
    display: none;
}
.building-chip-group {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.building-chip-group span {
  min-width: 72px;
}

.address-attr-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.elevator-row {
  justify-content: flex-start;
}

.elevator-row > span {
  font-size: 15px;
  font-weight: 800;
  color: #334155;
}

.request-extra-card .chip-group span {
  min-width: 0;
}

.request-extra-card .chip-group.multi-select span {
  border-radius: 10px;
}

.memo-field textarea {
  height: 60px !important;
  min-height: 60px;
  max-height: 60px;
  resize: none;
  border-radius: 10px;
}

.classic-submit-wrap {
  display: flex;
  justify-content: center;
  margin-top: 4px;
}

.classic-submit-wrap .submit-btn {
  width: 380px;
  max-width: 100%;
  height: 58px;
  flex: none;
}

@media (max-width: 1100px) {
  .classic-top-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .classic-address-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .classic-request {
    padding: 0 16px 36px;
  }

  .classic-section {
    padding: 18px;
    border-radius: 16px;
  }

  .classic-top-grid,
  .address-row,
  .address-attr-grid {
    grid-template-columns: 1fr;
  }

  .address-head {
    flex-direction: column;
    align-items: stretch;
  }

  .addr-btn {
    width: 100%;
  }

  .elevator-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .addr-grid {
    grid-template-columns: 1fr;
  }

  .addr-card {
    padding: 18px;
  }

  .addr-row,
  .addr-select-row {
    grid-template-columns: 1fr;
  }

  .type-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .addr-toggle-row {
    grid-template-columns: auto 1fr 1fr;
  }

  .classic-submit-wrap .submit-btn {
    width: 100%;
  }
}
/* Make date picker icon larger */
input[type='date']::-webkit-calendar-picker-indicator {
    width: 24px;
    height: 24px;
    cursor: pointer;
}

/* STEP 2 room-wise item summary overrides */
.step-2 .selected-room-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.step-2 .selected-room-head h4 {
  margin: 0;
}

.step-2 .selected-room-head p {
  margin: 6px 0 0;
  font-size: 13px;
  color: #64748b;
}

.step-2 .selected-room-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.step-2 .selected-items {
  display: grid;
  gap: 10px;
}

.step-2 .selected-item-card {
  display: grid;
  grid-template-columns: 42px minmax(92px, 1fr) 108px minmax(270px, 1.2fr) 64px;
  gap: 10px;
  align-items: center;
  width: 100%;
  padding: 12px;
  border: 1px solid #dbe5f4;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
  box-sizing: border-box;
}

.step-2 .selected-item-card .item-thumb {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #eff6ff;
  font-size: 20px;
}

.step-2 .selected-item-card .item-name {
  min-width: 0;
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.step-2 .qty-control {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.step-2 .qty-control button,
.step-2 .item-remove {
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 800;
}

.step-2 .qty-control button {
  width: 30px;
  height: 30px;
  background: #e2e8f0;
  color: #334155;
}

.step-2 .qty-control input {
  width: 42px;
  height: 30px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  text-align: center;
  font-weight: 800;
}

.step-2 .size-inputs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}

.step-2 .size-inputs .size-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  font-weight: 700;
  color: #64748b;
  min-width: 0;
}

.step-2 .size-inputs .size-field input {
  width: 100%;
  height: 30px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 0 8px;
  box-sizing: border-box;
}

.step-2 .item-remove {
  width: 64px;
  height: 34px;
  justify-self: end;
  background: #fee2e2;
  color: #b91c1c;
}

.step-2 .room-summary-panel {
  margin-top: 14px;
  border: 1px solid #dbe5f4;
  border-radius: 16px;
  background: #fff;
  padding: 14px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.step-2 .room-summary-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.step-2 .room-summary-head h4 {
  margin: 0;
  font-size: 17px;
}

.step-2 .room-summary-head span {
  font-size: 12px;
  font-weight: 800;
  color: #64748b;
  white-space: nowrap;
}

.step-2 .room-summary-list {
  display: grid;
  gap: 8px;
}

.step-2 .room-summary-row {
  display: grid;
  grid-template-columns: minmax(80px, 1.1fr) repeat(3, minmax(0, 1fr));
  gap: 8px;
  align-items: center;
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f8fafc;
  font-size: 13px;
}

.step-2 .room-summary-row strong {
  color: #2563eb;
}

.step-2 .cbm-panel hr {
  border: 0;
  border-top: 1px dashed #dbe5f4;
  margin: 14px 0;
}

.step-2 .current-room-summary,
.step-2 .total-summary {
  background: #f8fafc;
  border-radius: 12px;
  padding: 12px;
}

.step-2 .current-room-summary strong,
.step-2 .total-summary strong {
  display: block;
  margin-bottom: 8px;
  font-size: 15px;
  color: #0f172a;
}

.step-2 .current-room-summary p,
.step-2 .total-summary p {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin: 6px 0;
  font-size: 14px;
}

@media (max-width: 1024px) {
  .step-2 .selected-item-card {
    grid-template-columns: 42px minmax(0, 1fr) 92px 1fr 64px;
  }

  .step-2 .size-inputs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .step-2 .selected-room-head,
  .step-2 .room-summary-head,
  .step-2 .current-room-summary p,
  .step-2 .total-summary p {
    flex-direction: column;
    align-items: flex-start;
  }

  .step-2 .selected-item-card {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .step-2 .qty-control,
  .step-2 .size-inputs,
  .step-2 .item-remove {
    grid-column: 1 / -1;
  }

  .step-2 .size-inputs {
    grid-template-columns: 1fr;
  }

  .step-2 .item-remove {
    justify-self: start;
  }

  .step-2 .room-summary-row {
    grid-template-columns: 1fr 1fr;
  }
}
/* Premium STEP 2 item cards */
.step-2 .selected-item-main {
  min-width: 0;
}

.step-2 .selected-room-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.step-2 .selected-room-head h4 {
  margin: 0;
}

.step-2 .selected-room-head p {
  margin: 6px 0 0;
  font-size: 13px;
  color: #64748b;
}

.step-2 .selected-room-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
  color: #2563eb;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}

.step-2 .selected-items {
  display: grid;
  gap: 12px;
}

.step-2 .selected-item-card {
  display: grid;
  grid-template-columns: 48px minmax(220px, 1.25fr) 118px minmax(300px, 1.25fr) 64px;
  gap: 12px;
  align-items: center;
  width: 100%;
  padding: 14px 16px;
  border: 1px solid #dbe5f4;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
  box-sizing: border-box;
}

.step-2 .selected-item-card .item-thumb {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
  font-size: 22px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

.step-2 .item-meta {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.step-2 .item-name-row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex-wrap: wrap;
}

.step-2 .selected-item-card .item-name {
  min-width: 0;
  font-size: 15px;
  font-weight: 900;
  color: #0f172a;
  letter-spacing: -0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.step-2 .item-room-badge {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.step-2 .item-selects {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.step-2 .item-select-block {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  font-size: 12px;
  font-weight: 800;
  color: #64748b;
}

.step-2 .item-select-block select {
  width: 100%;
  min-width: 0;
  height: 36px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding: 0 10px;
  background: #fff;
  color: #0f172a;
  font-weight: 800;
  box-sizing: border-box;
}

.step-2 .qty-control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 8px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  min-width: 0;
}

.step-2 .qty-control button,
.step-2 .item-remove {
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 900;
}

.step-2 .qty-control button {
  width: 34px;
  height: 34px;
  background: #e2e8f0;
  color: #334155;
}

.step-2 .qty-control input {
  width: 48px;
  height: 34px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  text-align: center;
  font-weight: 900;
  color: #0f172a;
  background: #fff;
}

.step-2 .size-inputs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}

.step-2 .size-inputs .size-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  font-weight: 800;
  color: #64748b;
  min-width: 0;
}

.step-2 .size-inputs .size-field input {
  width: 100%;
  height: 36px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding: 0 10px;
  box-sizing: border-box;
}

.step-2 .item-remove {
  width: 64px;
  height: 36px;
  justify-self: end;
  background: linear-gradient(180deg, #fecaca 0%, #fee2e2 100%);
  color: #b91c1c;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}

.step-2 .room-summary-panel {
  margin-top: 14px;
  border: 1px solid #dbe5f4;
  border-radius: 16px;
  background: #fff;
  padding: 14px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.step-2 .room-summary-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.step-2 .room-summary-head h4 {
  margin: 0;
  font-size: 17px;
}

.step-2 .room-summary-head span {
  font-size: 12px;
  font-weight: 800;
  color: #64748b;
  white-space: nowrap;
}

.step-2 .room-summary-list {
  display: grid;
  gap: 8px;
}

.step-2 .room-summary-row {
  display: grid;
  grid-template-columns: minmax(80px, 1.1fr) repeat(3, minmax(0, 1fr));
  gap: 8px;
  align-items: center;
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #f8fafc;
  font-size: 13px;
}

.step-2 .room-summary-row strong {
  color: #2563eb;
}

.step-2 .cbm-panel hr {
  border: 0;
  border-top: 1px dashed #dbe5f4;
  margin: 14px 0;
}

.step-2 .current-room-summary,
.step-2 .total-summary {
  background: #f8fafc;
  border-radius: 12px;
  padding: 12px;
}

.step-2 .current-room-summary strong,
.step-2 .total-summary strong {
  display: block;
  margin-bottom: 8px;
  font-size: 15px;
  color: #0f172a;
}

.step-2 .current-room-summary p,
.step-2 .total-summary p {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin: 6px 0;
  font-size: 14px;
}

@media (max-width: 1200px) {
  .step-2 .selected-item-card {
    grid-template-columns: 48px minmax(0, 1fr) 108px minmax(240px, 1fr) 64px;
  }
}

@media (max-width: 768px) {
  .step-2 .selected-room-head,
  .step-2 .room-summary-head,
  .step-2 .current-room-summary p,
  .step-2 .total-summary p {
    flex-direction: column;
    align-items: flex-start;
  }

  .step-2 .selected-item-card {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 10px;
  }

  .step-2 .item-meta,
  .step-2 .qty-control,
  .step-2 .size-inputs,
  .step-2 .item-remove {
    grid-column: 1 / -1;
  }

  .step-2 .item-selects {
    grid-template-columns: 1fr;
  }

  .step-2 .size-inputs {
    grid-template-columns: 1fr;
  }

  .step-2 .item-remove {
    justify-self: start;
  }

  .step-2 .room-summary-row {
    grid-template-columns: 1fr 1fr;
  }
}
/* Photo accordion slots for ONCAP request */
.step-2 .photo-panel {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.step-2 .photo-help {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #64748b;
}

.step-2 .photo-accordion-wrap {
  display: grid;
  gap: 10px;
}

.step-2 .photo-accordion {
  border: 1px solid #dbe5f4;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.step-2 .photo-accordion[open] {
  border-color: #bfdbfe;
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.08);
}

.step-2 .photo-accordion summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  cursor: pointer;
  background: #f8fafc;
  color: #0f172a;
  font-weight: 900;
}

.step-2 .photo-accordion summary::-webkit-details-marker {
  display: none;
}

.step-2 .photo-accordion .photo-count {
  display: inline-flex;
  align-items: center;
  min-width: 54px;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 900;
  justify-content: center;
}

.step-2 .photo-accordion .room-photo-grid,
.step-2 .photo-accordion .product-photo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
}

.step-2 .photo-slot {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  padding: 10px;
  border: 1px dashed #cbd5e1;
  border-radius: 12px;
  background: #f8fafc;
  font-size: 13px;
  font-weight: 800;
  color: #334155;
}

.step-2 .photo-slot input[type="file"] {
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 12px;
  color: #64748b;
}

.step-2 .photo-accordion.has-file summary {
  background: #eff6ff;
}

@media (max-width: 768px) {
  .step-2 .photo-accordion .room-photo-grid,
  .step-2 .photo-accordion .product-photo-grid {
    grid-template-columns: 1fr;
  }
}
/* STEP 2 row card v2 */
.step-2 .selected-items-v2{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.step-2 .selected-items-v2 .selected-item-row.compact{
  display:grid;
  grid-template-columns:44px minmax(120px,1fr) 82px 104px minmax(156px,1fr) 60px;
  gap:8px;
  align-items:center;
  min-height:62px;
  padding:9px 10px;
  border:1px solid #dbe5f4;
  border-radius:16px;
  background:#fff;
  box-sizing:border-box;
}

.step-2 .selected-items-v2 .item-icon{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#eff6ff;
  font-size:20px;
}

.step-2 .selected-items-v2 .item-info{
  min-width:0;
}

.step-2 .selected-items-v2 .item-info strong{
  display:block;
  font-size:15px;
  font-weight:900;
  color:#0f172a;
  line-height:1.15;
}

.step-2 .selected-items-v2 .item-info span{
  display:block;
  margin-top:2px;
  font-size:12px;
  color:#64748b;
}

.step-2 .selected-items-v2 .size-grade{
  width:100%;
  height:34px;
  border:1px solid #cfd9e8;
  border-radius:9px;
  padding:0 8px;
  font-size:13px;
  font-weight:800;
  background:#fff;
}

.step-2 .selected-items-v2 .qty-control{
  display:grid;
  grid-template-columns:30px 38px 30px;
  gap:3px;
}

.step-2 .selected-items-v2 .qty-control button,
.step-2 .selected-items-v2 .qty-control input{
  height:34px;
  border:1px solid #dbe5f4;
  border-radius:8px;
  text-align:center;
  font-weight:900;
  background:#fff;
}

.step-2 .selected-items-v2 .qty-control button{
  background:#f1f5f9;
  cursor:pointer;
}

.step-2 .selected-items-v2 .qty-control input{
  padding:0 4px;
}

.step-2 .selected-items-v2 .dim-group{
  display:grid;
  grid-template-columns:repeat(3,48px);
  gap:6px;
}

.step-2 .selected-items-v2 .dim-group input{
  width:48px;
  height:34px;
  border:1px solid #cfd9e8;
  border-radius:8px;
  text-align:center;
  font-size:12px;
}

.step-2 .selected-items-v2 .delete-item{
  height:34px;
  border:0;
  border-radius:999px;
  background:#fee2e2;
  color:#dc2626;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}

.step-2 .selected-items-v2 .delete-item:hover{
  background:#dc2626;
  color:#fff;
}

@media(max-width:640px){
  .step-2 .selected-items-v2 .selected-item-row.compact{
    grid-template-columns:40px minmax(0,1fr) 58px;
    gap:7px;
    min-height:auto;
    align-items:start;
  }

  .step-2 .selected-items-v2 .item-icon{
    width:36px;
    height:36px;
    font-size:18px;
  }

  .step-2 .selected-items-v2 .item-info strong{
    font-size:14px;
  }

  .step-2 .selected-items-v2 .size-grade{
    grid-column:1 / 2;
    grid-row:2;
    width:100%;
  }

  .step-2 .selected-items-v2 .qty-control{
    grid-column:2 / 3;
    grid-row:2;
  }

  .step-2 .selected-items-v2 .delete-item{
    grid-column:3 / 4;
    grid-row:1;
  }

  .step-2 .selected-items-v2 .dim-group{
    grid-column:1 / -1;
    grid-row:3;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .step-2 .selected-items-v2 .dim-group input{
    width:100%;
  }
}
/* STEP 2 row card v3 - screenshot aligned */
.step-2 .selected-items-header{
  display:grid;
  grid-template-columns:56px minmax(160px,1fr) 152px 152px minmax(240px,1fr) 76px;
  gap:12px;
  align-items:center;
  padding:0 20px 12px;
  color:#64748b;
  font-size:14px;
  font-weight:900;
  letter-spacing:-0.02em;
  box-sizing:border-box;
}

.step-2 .selected-items-header span{
  text-align:center;
}

.step-2 .selected-items-header .header-item-wide{
  text-align:left;
  padding-left:12px;
}

.step-2 .selected-items-v2 .selected-item-row.compact{
  display:grid;
  grid-template-columns:56px minmax(160px,1fr) 152px 152px minmax(240px,1fr) 76px;
  gap:12px;
  align-items:center;
  min-height:126px;
  padding:16px 18px;
  border:1px solid #dbe5f4;
  border-radius:20px;
  background:#fff;
  box-sizing:border-box;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}

.step-2 .selected-items-v2 .item-icon{
  width:64px;
  height:64px;
  border-radius:18px;
  font-size:28px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}

.step-2 .selected-items-v2 .item-info strong{
  font-size:18px;
  line-height:1.1;
}

.step-2 .selected-items-v2 .item-info span{
  margin-top:4px;
  font-size:13px;
}

.step-2 .selected-items-v2 .size-grade{
  height:56px;
  border-radius:14px;
  padding:0 14px;
  font-size:16px;
  font-weight:900;
}

.step-2 .selected-items-v2 .qty-control{
  grid-template-columns:44px 56px 44px;
  gap:4px;
}

.step-2 .selected-items-v2 .qty-control button,
.step-2 .selected-items-v2 .qty-control input{
  height:56px;
  border-radius:14px;
  font-size:18px;
}

.step-2 .selected-items-v2 .qty-control input{
  font-size:17px;
}

.step-2 .selected-items-v2 .dim-group{
  grid-template-columns:repeat(3,72px);
  gap:8px;
}

.step-2 .selected-items-v2 .dim-group input{
  width:72px;
  height:56px;
  border-radius:14px;
  font-size:16px;
}

.step-2 .selected-items-v2 .delete-item{
  height:56px;
  padding:0 18px;
  border-radius:16px;
  font-size:15px;
}

@media(max-width:640px){
  .step-2 .selected-items-header{
    display:none;
  }

  .step-2 .selected-items-v2 .selected-item-row.compact{
    grid-template-columns:44px minmax(0,1fr) 60px;
    grid-template-rows:auto auto auto;
    gap:8px 8px;
    min-height:auto;
    padding:14px 14px 16px;
    align-items:start;
  }

  .step-2 .selected-items-v2 .item-icon{
    width:40px;
    height:40px;
    font-size:20px;
    grid-column:1;
    grid-row:1;
  }

  .step-2 .selected-items-v2 .item-info{
    grid-column:2;
    grid-row:1;
  }

  .step-2 .selected-items-v2 .item-info strong{
    font-size:15px;
  }

  .step-2 .selected-items-v2 .item-info span{
    font-size:12px;
  }

  .step-2 .selected-items-v2 .size-grade{
    grid-column:1 / 2;
    grid-row:2;
    width:100%;
    height:40px;
    font-size:14px;
  }

  .step-2 .selected-items-v2 .qty-control{
    grid-column:2 / 3;
    grid-row:2;
    grid-template-columns:32px 1fr 32px;
  }

  .step-2 .selected-items-v2 .qty-control button,
  .step-2 .selected-items-v2 .qty-control input{
    height:40px;
    border-radius:12px;
    font-size:15px;
  }

  .step-2 .selected-items-v2 .delete-item{
    grid-column:3 / 4;
    grid-row:1;
    height:40px;
    padding:0 10px;
    border-radius:14px;
    font-size:13px;
  }

  .step-2 .selected-items-v2 .dim-group{
    grid-column:1 / -1;
    grid-row:3;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }

  .step-2 .selected-items-v2 .dim-group input{
    width:100%;
    height:40px;
    border-radius:12px;
    font-size:14px;
  }
}
/* STEP 2 selected detail wrap v4 */
.step-2 .selected-detail-wrap{
  width:100%;
  max-width:1280px;
  margin:20px auto;
  padding:24px;
  border:1px solid #dbe5f4;
  border-radius:22px;
  background:#fff;
  box-sizing:border-box;
}

.step-2 .selected-detail-head{
  display:grid;
  grid-template-columns:minmax(220px,1.4fr) 160px 210px 130px 130px 130px 90px;
  gap:18px;
  align-items:center;
  margin-bottom:14px;
  padding:0 20px;
  color:#475569;
  font-size:17px;
  font-weight:900;
  text-align:center;
  box-sizing:border-box;
}

.step-2 .selected-detail-head span:first-child{
  text-align:left;
}

.step-2 .selected-item-row{
  display:grid;
  grid-template-columns:minmax(220px,1.4fr) 160px 210px 130px 130px 130px 90px;
  gap:18px;
  align-items:center;
  min-height:86px;
  padding:16px 20px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#fff;
  box-sizing:border-box;
}

.step-2 .selected-item-row .item-main{
  display:flex;
  align-items:center;
  gap:18px;
}

.step-2 .selected-item-row .item-icon{
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:#eff6ff;
  font-size:28px;
}

.step-2 .selected-item-row .item-main strong{
  display:block;
  font-size:22px;
  font-weight:900;
  color:#0f172a;
}

.step-2 .selected-item-row .item-main em{
  display:block;
  margin-top:4px;
  font-style:normal;
  font-size:16px;
  color:#64748b;
}

.step-2 .selected-item-row .size-grade,
.step-2 .selected-item-row .dim-input{
  width:100%;
  height:54px;
  border:1px solid #cfd9e8;
  border-radius:12px;
  background:#fff;
  text-align:center;
  font-size:18px;
  font-weight:800;
  box-sizing:border-box;
}

.step-2 .selected-item-row .qty-control{
  display:grid;
  grid-template-columns:58px 74px 58px;
}

.step-2 .selected-item-row .qty-control button,
.step-2 .selected-item-row .qty-control input{
  height:54px;
  border:1px solid #dbe5f4;
  background:#fff;
  text-align:center;
  font-size:20px;
  font-weight:900;
  box-sizing:border-box;
}

.step-2 .selected-item-row .qty-control button:first-child{
  border-radius:12px 0 0 12px;
}

.step-2 .selected-item-row .qty-control button:last-child{
  border-radius:0 12px 12px 0;
}

.step-2 .selected-item-row .qty-control button{
  background:#f8fafc;
  cursor:pointer;
}

.step-2 .selected-item-row .dim-input{
  width:100%;
}

.step-2 .selected-item-row .delete-item{
  height:46px;
  border:0;
  border-radius:999px;
  background:#fee2e2;
  color:#dc2626;
  font-size:17px;
  font-weight:900;
  cursor:pointer;
}

.step-2 .selected-item-row .delete-item:hover{
  background:#dc2626;
  color:#fff;
}

@media(max-width:768px){
  .step-2 .selected-detail-head{
    display:none;
  }

  .step-2 .selected-detail-wrap{
    padding:16px;
    border-radius:18px;
  }

  .step-2 .selected-item-row{
    grid-template-columns:1fr 72px;
    grid-template-rows:auto auto auto;
    gap:10px;
    min-height:auto;
    padding:14px 14px 16px;
  }

  .step-2 .selected-item-row .item-main{
    grid-column:1 / 2;
    grid-row:1;
  }

  .step-2 .selected-item-row .delete-item{
    grid-column:2;
    grid-row:1;
    height:42px;
    margin-top:6px;
  }

  .step-2 .selected-item-row .size-grade,
  .step-2 .selected-item-row .qty-control,
  .step-2 .selected-item-row .dim-input{
    height:42px;
    font-size:14px;
  }

  .step-2 .selected-item-row .size-grade{
    grid-column:1;
    grid-row:2;
  }

  .step-2 .selected-item-row .qty-control{
    grid-column:2;
    grid-row:2;
    grid-template-columns:32px 1fr 32px;
  }

  .step-2 .selected-item-row .qty-control button,
  .step-2 .selected-item-row .qty-control input{
    height:42px;
    font-size:15px;
  }

  .step-2 .selected-item-row .dim-input{
    grid-column:1 / -1;
    grid-row:3;
  }
}
/* STEP 2 polish v5 */
.step-2 .selected-detail-wrap{
  max-width:1280px;
  padding:20px;
  border-color:#d7e4f6;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}

.step-2 .selected-detail-head{
  grid-template-columns:minmax(210px,1.35fr) 140px 188px 118px 118px 118px 86px;
  gap:12px;
  margin-bottom:10px;
  padding:0 10px 10px;
  color:#1e3a8a;
  font-size:15px;
  font-weight:900;
}

.step-2 .selected-item-row{
  grid-template-columns:minmax(210px,1.35fr) 140px 188px 118px 118px 118px 86px;
  gap:12px;
  min-height:76px;
  padding:12px 14px;
  border-color:#dbe5f4;
  border-radius:18px;
  box-shadow:0 6px 16px rgba(15,23,42,.035);
}

.step-2 .selected-item-row .item-main{
  gap:14px;
}

.step-2 .selected-item-row .item-icon{
  width:48px;
  height:48px;
  border-radius:14px;
  background:linear-gradient(180deg,#eff6ff 0%,#e0ecff 100%);
  font-size:24px;
}

.step-2 .selected-item-row .item-main strong{
  font-size:18px;
}

.step-2 .selected-item-row .item-main em{
  margin-top:2px;
  font-size:13px;
}

.step-2 .selected-item-row .size-grade,
.step-2 .selected-item-row .dim-input{
  height:46px;
  border-radius:11px;
  font-size:15px;
}

.step-2 .selected-item-row .qty-control{
  grid-template-columns:44px 58px 44px;
}

.step-2 .selected-item-row .qty-control button,
.step-2 .selected-item-row .qty-control input{
  height:46px;
  font-size:17px;
}

.step-2 .selected-item-row .delete-item{
  height:42px;
  font-size:15px;
  background:#ffe4e6;
  color:#b91c1c;
}

.step-2 .selected-item-row .delete-item:hover{
  background:#dc2626;
  color:#fff;
}

@media(max-width:768px){
  .step-2 .selected-detail-wrap{
    padding:14px;
    border-radius:18px;
  }

  .step-2 .selected-detail-head{
    display:none;
  }

  .step-2 .selected-item-row{
    grid-template-columns:42px minmax(0,1fr) 56px 1fr 1fr 1fr 60px;
    grid-template-rows:auto auto;
    gap:8px 8px;
    padding:12px;
    min-height:auto;
    align-items:center;
  }

  .step-2 .selected-item-row .item-main{
    grid-column:1 / 3;
    grid-row:1;
    gap:10px;
  }

  .step-2 .selected-item-row .item-icon{
    width:42px;
    height:42px;
    border-radius:12px;
    font-size:20px;
  }

  .step-2 .selected-item-row .item-main strong{
    font-size:15px;
  }

  .step-2 .selected-item-row .item-main em{
    font-size:12px;
  }

  .step-2 .selected-item-row .delete-item{
    grid-column:7;
    grid-row:1;
    height:38px;
    padding:0 10px;
    border-radius:14px;
    font-size:13px;
  }

  .step-2 .selected-item-row .size-grade{
    grid-column:1;
    grid-row:2;
    height:38px;
    font-size:13px;
    padding:0 8px;
  }

  .step-2 .selected-item-row .qty-control{
    grid-column:2 / 5;
    grid-row:2;
    grid-template-columns:30px 1fr 30px;
    gap:2px;
  }

  .step-2 .selected-item-row .qty-control button,
  .step-2 .selected-item-row .qty-control input{
    height:38px;
    font-size:14px;
  }

  .step-2 .selected-item-row .dim-input{
    height:38px;
    font-size:13px;
  }

  .step-2 .selected-item-row .dim-width{
    grid-column:5;
    grid-row:2;
  }

  .step-2 .selected-item-row .dim-depth{
    grid-column:6;
    grid-row:2;
  }

  .step-2 .selected-item-row .dim-height{
    grid-column:7;
    grid-row:2;
  }
}
/* CBM panel width tighten */
.step-2 .selected-item-layout{
  grid-template-columns:minmax(0,1.95fr) 240px 250px;
  gap:14px;
}

.step-2 .cbm-panel{
  padding:14px;
}

.step-2 .cbm-panel h4{
  font-size:17px;
}

.step-2 .current-room-summary,
.step-2 .total-summary{
  padding:10px;
}

@media (max-width: 1200px){
  .step-2 .selected-item-layout{
    grid-template-columns:minmax(0,1fr);
  }
}
/* STEP 2 screenshot fit */
.step-2 .selected-detail-wrap{
  max-width:1280px;
  padding:18px;
  border:1px solid #d7e4f6;
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}

.step-2 .selected-detail-head,
.step-2 .selected-item-row{
  grid-template-columns:minmax(210px,1.3fr) 118px 158px 86px 86px 86px 70px;
  gap:10px;
}

.step-2 .selected-detail-head{
  padding:0 8px 10px;
  margin-bottom:10px;
  color:#64748b;
  font-size:15px;
  font-weight:900;
}

.step-2 .selected-item-row{
  min-height:92px;
  padding:12px 14px;
  border:1px solid #dbe5f4;
  border-radius:16px;
  background:#fff;
  box-shadow:0 4px 12px rgba(15,23,42,.035);
}

.step-2 .selected-item-row .item-main{
  gap:12px;
}

.step-2 .selected-item-row .item-icon{
  width:54px;
  height:54px;
  border-radius:14px;
  font-size:25px;
  background:linear-gradient(180deg,#eff6ff 0%,#dbeafe 100%);
}

.step-2 .selected-item-row .item-main strong{
  font-size:17px;
}

.step-2 .selected-item-row .item-main em{
  margin-top:2px;
  font-size:12px;
}

.step-2 .selected-item-row .size-grade,
.step-2 .selected-item-row .dim-input{
  height:40px;
  border-radius:10px;
  font-size:14px;
}

.step-2 .selected-item-row .qty-control{
  grid-template-columns:28px 44px 28px;
}

.step-2 .selected-item-row .qty-control button,
.step-2 .selected-item-row .qty-control input{
  height:40px;
  font-size:15px;
}

.step-2 .selected-item-row .dim-input{
  width:100%;
}

.step-2 .selected-item-row .delete-item{
  height:40px;
  padding:0 10px;
  border-radius:12px;
  font-size:14px;
}

@media (max-width: 768px){
  .step-2 .selected-detail-wrap{
    padding:12px;
    border-radius:16px;
  }

  .step-2 .selected-detail-head{
    display:none;
  }

  .step-2 .selected-item-row{
    grid-template-columns:42px minmax(0,1fr) 62px;
    grid-template-rows:auto auto auto;
    gap:8px;
    padding:12px;
    align-items:start;
  }

  .step-2 .selected-item-row .item-main{
    grid-column:1 / 3;
    grid-row:1;
  }

  .step-2 .selected-item-row .delete-item{
    grid-column:3;
    grid-row:1;
  }

  .step-2 .selected-item-row .size-grade{
    grid-column:1;
    grid-row:2;
  }

  .step-2 .selected-item-row .qty-control{
    grid-column:2 / 4;
    grid-row:2;
    grid-template-columns:30px 1fr 30px;
  }

  .step-2 .selected-item-row .dim-width{
    grid-column:1;
    grid-row:3;
  }

  .step-2 .selected-item-row .dim-depth{
    grid-column:2;
    grid-row:3;
  }

  .step-2 .selected-item-row .dim-height{
    grid-column:3;
    grid-row:3;
  }
}
/* STEP 2 compact tune final */
.step-2 .selected-detail-wrap{
  padding:16px;
}

.step-2 .selected-detail-head,
.step-2 .selected-item-row{
  grid-template-columns:minmax(200px,1.25fr) 108px 150px 78px 78px 78px 62px;
  gap:8px;
}

.step-2 .selected-detail-head{
  padding:0 6px 8px;
  margin-bottom:8px;
  font-size:14px;
}

.step-2 .selected-item-row{
  min-height:82px;
  padding:10px 12px;
  border-radius:14px;
}

.step-2 .selected-item-row .item-main{
  gap:10px;
}

.step-2 .selected-item-row .item-icon{
  width:48px;
  height:48px;
  border-radius:12px;
  font-size:22px;
}

.step-2 .selected-item-row .item-main strong{
  font-size:16px;
}

.step-2 .selected-item-row .item-main em{
  font-size:11px;
}

.step-2 .selected-item-row .size-grade,
.step-2 .selected-item-row .dim-input{
  height:38px;
  border-radius:10px;
  font-size:13px;
}

.step-2 .selected-item-row .qty-control{
  grid-template-columns:26px 40px 26px;
}

.step-2 .selected-item-row .qty-control button,
.step-2 .selected-item-row .qty-control input{
  height:38px;
  font-size:14px;
}

.step-2 .selected-item-row .delete-item{
  height:36px;
  padding:0 8px;
  border-radius:12px;
  font-size:13px;
  justify-self:end;
}

@media (max-width: 768px){
  .step-2 .selected-detail-wrap{
    padding:12px;
    border-radius:16px;
  }

  .step-2 .selected-detail-head{
    display:none;
  }

  .step-2 .selected-item-row{
    grid-template-columns:42px minmax(0,1fr) 56px;
    grid-template-rows:auto auto auto;
    gap:7px 7px;
    padding:10px;
    min-height:auto;
    align-items:center;
  }

  .step-2 .selected-item-row .item-main{
    grid-column:1 / 3;
    grid-row:1;
    gap:8px;
  }

  .step-2 .selected-item-row .item-icon{
    width:40px;
    height:40px;
    border-radius:12px;
    font-size:18px;
  }

  .step-2 .selected-item-row .item-main strong{
    font-size:14px;
  }

  .step-2 .selected-item-row .item-main em{
    margin-top:1px;
    font-size:11px;
  }

  .step-2 .selected-item-row .delete-item{
    grid-column:3;
    grid-row:1;
    width:56px;
    height:36px;
    padding:0 6px;
    border-radius:12px;
    font-size:12px;
    justify-self:end;
  }

  .step-2 .selected-item-row .size-grade{
    grid-column:1;
    grid-row:2;
    height:36px;
    font-size:12px;
  }

  .step-2 .selected-item-row .qty-control{
    grid-column:2 / 4;
    grid-row:2;
    grid-template-columns:28px 1fr 28px;
    gap:2px;
  }

  .step-2 .selected-item-row .qty-control button,
  .step-2 .selected-item-row .qty-control input{
    height:36px;
    font-size:13px;
  }

  .step-2 .selected-item-row .dim-width{
    grid-column:1;
    grid-row:3;
  }

  .step-2 .selected-item-row .dim-depth{
    grid-column:2;
    grid-row:3;
  }

  .step-2 .selected-item-row .dim-height{
    grid-column:3;
    grid-row:3;
  }

  .step-2 .selected-item-row .dim-input{
    height:36px;
    font-size:12px;
  }
}
/* STEP 2 delete visibility fix */
.step-2 .selected-item-layout{
  grid-template-columns:minmax(0,2.25fr) 220px 220px;
  gap:12px;
}

.step-2 .selected-detail-wrap,
.step-2 .selected-item-row{
  overflow:visible;
}

.step-2 .selected-detail-head,
.step-2 .selected-item-row{
  grid-template-columns:minmax(160px,1.15fr) 96px 126px 60px 60px 60px 54px;
  gap:6px;
}

.step-2 .selected-item-row .item-main{
  gap:8px;
  min-width:0;
}

.step-2 .selected-item-row .item-icon{
  width:42px;
  height:42px;
  border-radius:12px;
  font-size:20px;
}

.step-2 .selected-item-row .item-main strong{
  font-size:15px;
}

.step-2 .selected-item-row .item-main em{
  font-size:11px;
}

.step-2 .selected-item-row .size-grade,
.step-2 .selected-item-row .dim-input{
  height:36px;
  font-size:12px;
  border-radius:9px;
}

.step-2 .selected-item-row .qty-control{
  grid-template-columns:24px 34px 24px;
}

.step-2 .selected-item-row .qty-control button,
.step-2 .selected-item-row .qty-control input{
  height:36px;
  font-size:13px;
}

.step-2 .selected-item-row .delete-item{
  width:54px;
  height:36px;
  padding:0 6px;
  border-radius:11px;
  font-size:12px;
  justify-self:end;
}

@media (max-width: 768px){
  .step-2 .selected-item-layout{
    grid-template-columns:1fr;
  }

  .step-2 .selected-item-row{
    grid-template-columns:42px minmax(0,1fr) 56px;
    grid-template-rows:auto auto auto;
    gap:7px 7px;
    padding:10px;
  }

  .step-2 .selected-item-row .item-main{
    grid-column:1 / 3;
    grid-row:1;
  }

  .step-2 .selected-item-row .delete-item{
    grid-column:3;
    grid-row:1;
  }

  .step-2 .selected-item-row .size-grade{
    grid-column:1;
    grid-row:2;
  }

  .step-2 .selected-item-row .qty-control{
    grid-column:2 / 4;
    grid-row:2;
    grid-template-columns:28px 1fr 28px;
  }

  .step-2 .selected-item-row .dim-width{
    grid-column:1;
    grid-row:3;
  }

  .step-2 .selected-item-row .dim-depth{
    grid-column:2;
    grid-row:3;
  }

  .step-2 .selected-item-row .dim-height{
    grid-column:3;
    grid-row:3;
  }
}
/* STEP 2 fit to main width */
.step-2 .selected-item-main{
  min-width:0;
  overflow:visible;
}

.step-2 .selected-detail-wrap{
  overflow:visible;
}

.step-2 .selected-item-layout{
  grid-template-columns:minmax(0,2.5fr) 210px 210px;
  gap:10px;
}

.step-2 .selected-detail-head,
.step-2 .selected-item-row{
  grid-template-columns:minmax(160px,1fr) 84px 104px 54px 54px 54px 52px;
  gap:6px;
}

.step-2 .selected-detail-head{
  padding:0 6px 8px;
  margin-bottom:8px;
  font-size:13px;
}

.step-2 .selected-item-row{
  min-height:78px;
  padding:10px 12px;
}

.step-2 .selected-item-row .item-main{
  gap:8px;
  min-width:0;
}

.step-2 .selected-item-row .item-icon{
  width:42px;
  height:42px;
  border-radius:12px;
  font-size:20px;
}

.step-2 .selected-item-row .item-main strong{
  font-size:14px;
}

.step-2 .selected-item-row .item-main em{
  font-size:11px;
}

.step-2 .selected-item-row .size-grade,
.step-2 .selected-item-row .dim-input{
  height:34px;
  font-size:12px;
  border-radius:9px;
}

.step-2 .selected-item-row .qty-control{
  grid-template-columns:24px 34px 24px;
}

.step-2 .selected-item-row .qty-control button,
.step-2 .selected-item-row .qty-control input{
  height:34px;
  font-size:12px;
}

.step-2 .selected-item-row .delete-item{
  width:50px;
  height:34px;
  padding:0 4px;
  border-radius:11px;
  font-size:12px;
  justify-self:end;
}

@media (max-width: 768px){
  .step-2 .selected-item-layout{
    grid-template-columns:1fr;
    gap:12px;
  }

  .step-2 .selected-detail-wrap{
    padding:12px;
    border-radius:16px;
  }

  .step-2 .selected-detail-head{
    display:none;
  }

  .step-2 .selected-item-row{
    grid-template-columns:42px minmax(0,1fr) 54px;
    grid-template-rows:auto auto auto;
    gap:6px;
    padding:10px;
  }

  .step-2 .selected-item-row .item-main{
    grid-column:1 / 3;
    grid-row:1;
    gap:8px;
  }

  .step-2 .selected-item-row .delete-item{
    grid-column:3;
    grid-row:1;
    width:54px;
    height:34px;
    padding:0 4px;
  }

  .step-2 .selected-item-row .size-grade{
    grid-column:1;
    grid-row:2;
  }

  .step-2 .selected-item-row .qty-control{
    grid-column:2 / 4;
    grid-row:2;
    grid-template-columns:28px 1fr 28px;
    gap:2px;
  }

  .step-2 .selected-item-row .dim-width{
    grid-column:1;
    grid-row:3;
  }

  .step-2 .selected-item-row .dim-depth{
    grid-column:2;
    grid-row:3;
  }

  .step-2 .selected-item-row .dim-height{
    grid-column:3;
    grid-row:3;
  }

  .step-2 .selected-item-row .size-grade,
  .step-2 .selected-item-row .dim-input,
  .step-2 .selected-item-row .qty-control button,
  .step-2 .selected-item-row .qty-control input{
    height:34px;
    font-size:12px;
  }
}
/* STEP 2 final tighten */
.step-2 .selected-detail-wrap,
.step-2 .selected-item-main{
  overflow:visible;
}

.step-2 .selected-item-layout{
  grid-template-columns:minmax(0,2.9fr) 190px 190px;
  gap:10px;
}

.step-2 .selected-detail-head,
.step-2 .selected-item-row{
  grid-template-columns:minmax(145px,1fr) 72px 96px 52px 52px 52px 54px;
  gap:5px;
}

.step-2 .selected-detail-head{
  padding:0 4px 8px;
  margin-bottom:8px;
  font-size:12px;
}

.step-2 .selected-item-row{
  min-height:74px;
  padding:9px 10px;
}

.step-2 .selected-item-row .item-main{
  gap:6px;
}

.step-2 .selected-item-row .item-icon{
  width:38px;
  height:38px;
  font-size:18px;
}

.step-2 .selected-item-row .item-main strong{
  font-size:13px;
}

.step-2 .selected-item-row .item-main em{
  font-size:10px;
}

.step-2 .selected-item-row .size-grade,
.step-2 .selected-item-row .dim-input{
  height:32px;
  font-size:11px;
  line-height:32px;
  padding:0 5px;
  border-radius:8px;
  min-width:0;
}

.step-2 .selected-item-row .qty-control{
  grid-template-columns:22px 30px 22px;
}

.step-2 .selected-item-row .qty-control button,
.step-2 .selected-item-row .qty-control input{
  height:32px;
  font-size:11px;
  padding:0;
  min-width:0;
}

.step-2 .selected-item-row .delete-item{
  width:46px;
  height:32px;
  padding:0 2px;
  font-size:11px;
  justify-self:end;
}

.step-2 .selected-item-row .dim-width,
.step-2 .selected-item-row .dim-depth,
.step-2 .selected-item-row .dim-height{
  width:100%;
  min-width:0;
  text-align:center;
}

@media (max-width: 768px){
  .step-2 .selected-item-layout{
    grid-template-columns:1fr;
    gap:10px;
  }

  .step-2 .selected-detail-wrap{
    padding:10px;
    border-radius:14px;
  }

  .step-2 .selected-detail-head{
    display:none;
  }

  .step-2 .selected-item-row{
    grid-template-columns:40px minmax(0,1fr) 50px;
    grid-template-rows:auto auto auto;
    gap:5px;
    padding:9px;
  }

  .step-2 .selected-item-row .item-main{
    grid-column:1 / 3;
    grid-row:1;
    gap:7px;
  }

  .step-2 .selected-item-row .item-icon{
    width:36px;
    height:36px;
    font-size:18px;
  }

  .step-2 .selected-item-row .item-main strong{
    font-size:13px;
  }

  .step-2 .selected-item-row .item-main em{
    font-size:10px;
  }

  .step-2 .selected-item-row .delete-item{
    grid-column:3;
    grid-row:1;
    width:50px;
    height:32px;
    font-size:11px;
  }

  .step-2 .selected-item-row .size-grade{
    grid-column:1;
    grid-row:2;
  }

  .step-2 .selected-item-row .qty-control{
    grid-column:2 / 4;
    grid-row:2;
    grid-template-columns:24px 1fr 24px;
    gap:2px;
  }

  .step-2 .selected-item-row .dim-width{
    grid-column:1;
    grid-row:3;
  }

  .step-2 .selected-item-row .dim-depth{
    grid-column:2;
    grid-row:3;
  }

  .step-2 .selected-item-row .dim-height{
    grid-column:3;
    grid-row:3;
  }

  .step-2 .selected-item-row .size-grade,
  .step-2 .selected-item-row .dim-input,
  .step-2 .selected-item-row .qty-control button,
  .step-2 .selected-item-row .qty-control input{
    height:32px;
    font-size:11px;
  }
}
.step-2 .photo-slot{
  position:relative;
}

.step-2 .photo-slot-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:52px;
  height:24px;
  padding:0 8px;
  border-radius:999px;
  background:#eef6ff;
  border:1px solid #bfdbfe;
  color:#1d4ed8;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}

.step-2 .photo-slot.has-file{
  border-color:#93c5fd;
  background:#f0f7ff;
}

.step-2 .photo-slot.has-file .photo-slot-state{
  background:#dbeafe;
  color:#1d4ed8;
}
.step-2 .photo-slot-file{
  min-height:16px;
  font-size:11px;
  color:#64748b;
  line-height:1.4;
  word-break:break-all;
}

.step-2 .photo-slot.has-file .photo-slot-file{
  color:#1d4ed8;
  font-weight:700;
}

.step-2 .photo-slot.has-file .photo-slot-state{
  background:#dbeafe;
  color:#1d4ed8;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.step-2 .photo-slot{
  min-height:96px;
  justify-content:flex-start;
}

.step-2 .photo-slot span:first-child{
  font-size:12px;
}

.step-2 .photo-slot input[type="file"]{
  margin-top:2px;
}

.step-2 .photo-slot-state{
  margin-top:2px;
}

.step-2 .photo-slot-file{
  margin-top:auto;
}
/* STEP 2 header tighten */
.step-2 .selected-detail-head,
.step-2 .selected-item-row{
  grid-template-columns:minmax(132px,1fr) 72px 110px 54px 54px 54px 54px;
  gap:4px;
}

.step-2 .selected-detail-head{
  padding:0 2px 8px;
}

.step-2 .selected-item-row{
  padding:10px 10px;
}

.step-2 .selected-item-row .item-main{
  gap:6px;
}

.step-2 .selected-item-row .item-icon{
  width:38px;
  height:38px;
  font-size:18px;
}

.step-2 .selected-item-row .size-grade,
.step-2 .selected-item-row .dim-input{
  height:34px;
  font-size:11px;
}

.step-2 .selected-item-row .qty-control{
  grid-template-columns:22px 30px 22px;
}

.step-2 .selected-item-row .qty-control button,
.step-2 .selected-item-row .qty-control input{
  height:34px;
  font-size:11px;
}

.step-2 .selected-item-row .delete-item{
  width:48px;
  height:34px;
  font-size:11px;
}
/* STEP 2 header closer fit */
.step-2 .selected-detail-head,
.step-2 .selected-item-row{
  grid-template-columns:minmax(120px,0.9fr) 66px 104px 52px 52px 52px 54px;
  gap:4px;
}

.step-2 .selected-detail-head{
  padding:0 0 8px;
  margin-bottom:6px;
}

.step-2 .selected-detail-head span:first-child{
  padding-left:4px;
}

.step-2 .selected-item-row{
  padding:10px 10px;
}

.step-2 .selected-item-row .item-main{
  gap:6px;
}

.step-2 .selected-item-row .item-main strong,
.step-2 .selected-item-row .item-main em{
  max-width:100%;
}

.step-2 .selected-item-row .size-grade{
  width:100%;
  min-width:0;
}
/* STEP 2 final screenshot override */
.step-2 .selected-item-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1.72fr) 220px 280px !important;
  gap:12px !important;
  align-items:start !important;
  width:100% !important;
  max-width:1180px !important;
  margin:18px auto 0 !important;
}

.step-2 .selected-item-main,
.step-2 .cbm-panel,
.step-2 .photo-panel{
  min-width:0 !important;
  width:100% !important;
  box-sizing:border-box !important;
}

.step-2 .selected-detail-wrap{
  width:100% !important;
  max-width:none !important;
  padding:14px !important;
  border-radius:16px !important;
  overflow:visible !important;
}

.step-2 .selected-detail-head,
.step-2 .selected-item-row{
  display:grid !important;
  grid-template-columns:minmax(120px,0.95fr) 66px 96px 58px 58px 58px 54px !important;
  gap:4px !important;
  align-items:center !important;
}

.step-2 .selected-detail-head{
  padding:0 2px 8px !important;
  margin-bottom:6px !important;
  font-size:12px !important;
}

.step-2 .selected-detail-head span:first-child{
  padding-left:4px !important;
}

.step-2 .selected-item-row{
  padding:10px 10px !important;
  min-height:72px !important;
}

.step-2 .selected-item-row .item-main{
  gap:6px !important;
  min-width:0 !important;
}

.step-2 .selected-item-row .item-icon{
  width:36px !important;
  height:36px !important;
  font-size:18px !important;
}

.step-2 .selected-item-row .item-main strong{
  font-size:13px !important;
}

.step-2 .selected-item-row .item-main em{
  font-size:10px !important;
}

.step-2 .selected-item-row .size-grade,
.step-2 .selected-item-row .dim-input{
  width:100% !important;
  min-width:0 !important;
  height:34px !important;
  font-size:11px !important;
  border-radius:9px !important;
  padding:0 4px !important;
  box-sizing:border-box !important;
}

.step-2 .selected-item-row .qty-control{
  display:grid !important;
  grid-template-columns:22px 30px 22px !important;
  gap:0 !important;
}

.step-2 .selected-item-row .qty-control button,
.step-2 .selected-item-row .qty-control input{
  height:34px !important;
  font-size:11px !important;
  padding:0 !important;
}

.step-2 .selected-item-row .delete-item{
  width:48px !important;
  height:34px !important;
  font-size:11px !important;
  padding:0 2px !important;
}

.step-2 .cbm-panel{
  padding:14px !important;
}

.step-2 .photo-panel{
  padding:14px !important;
}

.step-2 .photo-panel .photo-guide{
  font-size:12px !important;
}

.step-2 .photo-accordion-wrap{
  gap:12px !important;
}

.step-2 .photo-accordion .room-photo-grid,
.step-2 .photo-accordion .product-photo-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  padding:10px !important;
}

.step-2 .photo-slot{
  min-height:104px !important;
  padding:10px 8px !important;
}

.step-2 .photo-slot strong{
  font-size:12px !important;
}

.step-2 .photo-slot input[type="file"]{
  width:100% !important;
  max-width:none !important;
  font-size:11px !important;
}

.step-2 .photo-slot-state,
.step-2 .photo-slot-file{
  width:100% !important;
}

.step-2 .photo-slot-state{
  min-width:0 !important;
  height:24px !important;
}

@media (max-width: 1024px){
  .step-2 .selected-item-layout{
    grid-template-columns:1fr !important;
    max-width:100% !important;
  }

  .step-2 .selected-detail-wrap,
  .step-2 .cbm-panel,
  .step-2 .photo-panel{
    width:100% !important;
  }

  .step-2 .photo-accordion .room-photo-grid,
  .step-2 .photo-accordion .product-photo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width: 768px){
  .step-2 .selected-detail-wrap{
    padding:12px !important;
  }

  .step-2 .selected-detail-head{
    display:none !important;
  }

  .step-2 .selected-item-row{
    grid-template-columns:40px minmax(0,1fr) 52px !important;
    grid-template-rows:auto auto auto !important;
    gap:6px !important;
    padding:10px !important;
  }

  .step-2 .selected-item-row .item-main{
    grid-column:1 / 3 !important;
    grid-row:1 !important;
  }

  .step-2 .selected-item-row .delete-item{
    grid-column:3 !important;
    grid-row:1 !important;
    width:52px !important;
  }

  .step-2 .selected-item-row .size-grade{
    grid-column:1 !important;
    grid-row:2 !important;
  }

  .step-2 .selected-item-row .qty-control{
    grid-column:2 / 4 !important;
    grid-row:2 !important;
    grid-template-columns:24px 1fr 24px !important;
  }

  .step-2 .selected-item-row .dim-width{
    grid-column:1 !important;
    grid-row:3 !important;
  }

  .step-2 .selected-item-row .dim-depth{
    grid-column:2 !important;
    grid-row:3 !important;
  }

  .step-2 .selected-item-row .dim-height{
    grid-column:3 !important;
    grid-row:3 !important;
  }

  .step-2 .photo-accordion .room-photo-grid,
  .step-2 .photo-accordion .product-photo-grid{
    grid-template-columns:1fr !important;
  }

  .step-2 .photo-slot input[type="file"]{
    font-size:12px !important;
  }
}
/* STEP2 final panel width override */
.step-2 .step2-bottom,
.step-2 .selected-item-layout{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) 190px 300px !important;
  gap:12px !important;
  align-items:start !important;
  width:100% !important;
  max-width:1240px !important;
  margin:18px auto 0 !important;
  box-sizing:border-box !important;
}

.step-2 .selected-item-main,
.step-2 .cbm-panel,
.step-2 .photo-panel{
  min-width:0 !important;
  width:100% !important;
  box-sizing:border-box !important;
}

.step-2 .photo-panel{
  min-width:300px !important;
  padding:14px !important;
}

.step-2 .photo-panel h4{
  margin:0 0 10px !important;
  font-size:18px !important;
  font-weight:900 !important;
  color:#0f172a !important;
}

.step-2 .photo-panel .photo-guide{
  margin:0 0 12px !important;
  font-size:12px !important;
  line-height:1.5 !important;
  color:#64748b !important;
}

.step-2 .photo-accordion-wrap{
  display:grid !important;
  gap:12px !important;
}

.step-2 .photo-accordion{
  border:1px solid #dbe5f4 !important;
  border-radius:16px !important;
  overflow:hidden !important;
  background:#fff !important;
}

.step-2 .photo-accordion .room-photo-grid,
.step-2 .photo-accordion .product-photo-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:10px !important;
  padding:10px !important;
  box-sizing:border-box !important;
}

.step-2 .photo-slot{
  min-width:0 !important;
  min-height:104px !important;
  padding:10px 8px !important;
  border:1px dashed #cbd5e1 !important;
  border-radius:12px !important;
  background:#fff !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

.step-2 .photo-slot strong{
  display:block !important;
  margin-bottom:6px !important;
  font-size:13px !important;
  font-weight:900 !important;
  color:#334155 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.step-2 .photo-slot input[type="file"]{
  width:100% !important;
  max-width:112px !important;
  display:block !important;
  margin:0 auto !important;
  font-size:11px !important;
  line-height:1.2 !important;
  box-sizing:border-box !important;
}

.step-2 .photo-slot-state,
.step-2 .photo-slot-file{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

.step-2 .photo-slot-state{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:54px !important;
  height:23px !important;
  margin-top:6px !important;
  padding:0 8px !important;
  border-radius:999px !important;
  background:#eff6ff !important;
  color:#2563eb !important;
  font-size:11px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

.step-2 .photo-slot-file{
  min-height:16px !important;
  margin-top:4px !important;
  font-size:11px !important;
  color:#64748b !important;
  line-height:1.4 !important;
  word-break:break-all !important;
}

.step-2 .photo-slot.has-file{
  border-color:#93c5fd !important;
  background:#f0f7ff !important;
}

.step-2 .photo-slot.has-file .photo-slot-state{
  background:#dbeafe !important;
  color:#1d4ed8 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8) !important;
}

.step-2 .photo-slot.has-file .photo-slot-file{
  color:#1d4ed8 !important;
  font-weight:700 !important;
}

@media (max-width: 1100px){
  .step-2 .step2-bottom,
  .step-2 .selected-item-layout{
    grid-template-columns:1fr !important;
    max-width:100% !important;
  }

  .step-2 .photo-panel{
    min-width:0 !important;
    width:100% !important;
  }
}

@media (max-width: 640px){
  .step-2 .photo-accordion .room-photo-grid,
  .step-2 .photo-accordion .product-photo-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }

  .step-2 .photo-slot input[type="file"]{
    max-width:120px !important;
    font-size:11px !important;
  }
}
/* 3-Column Layout Overrides */
.layout-3col {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 280px 300px !important;
  gap: 20px !important;
  align-items: start;
}
.room-tabs-horizontal {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
  background: #f1f5f9;
  padding: 12px;
  border-radius: 12px;
}
.room-tabs-horizontal .room-tab {
  padding: 8px 14px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  color: #4b5563;
  transition: all 0.2s;
}
.room-tabs-horizontal .room-tab:hover {
  background: #f8fafc;
  border-color: #94a3b8;
}
.room-tabs-horizontal .room-tab.active {
  border-color: #2563eb;
  background: #2563eb;
  color: #fff;
}
@media (max-width: 1100px) {
  .layout-3col {
    grid-template-columns: 1fr !important;
  }
}

/* ONCAP STEP 2 compact final override - 2026-07-03 */
.step-2 .step2-layout,
.step-2 .step2-bottom,
.step-2 .selected-item-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr) !important;
  gap:12px !important;
  align-items:start !important;
  width:100% !important;
  max-width:1280px !important;
  margin:18px auto 0 !important;
  box-sizing:border-box !important;
}
.step-2 .step2-left,
.step-2 .step2-right,
.step-2 .selected-item-main{min-width:0 !important;width:100% !important;box-sizing:border-box !important}
.step-2 .step2-right{display:flex !important;flex-direction:column !important;gap:10px !important;min-width:0 !important}
.step-2 .cbm-panel,
.step-2 .photo-panel{min-width:0 !important;width:100% !important;box-sizing:border-box !important;padding:14px !important}
.step-2 .photo-accordion,
.step-2 .photo-accordion-wrap,
.step-2 .photo-accordion details,
.step-2 .photo-room-grid,
.step-2 .room-photo-grid,
.step-2 .product-photo-grid{width:100% !important;max-width:100% !important;box-sizing:border-box !important}
.step-2 .photo-accordion summary{list-style:none !important;display:flex !important;align-items:center !important;justify-content:space-between !important;gap:2px !important;padding:5px !important;cursor:pointer !important;background:#f8fafc !important;color:#0f172a !important;font-weight:900 !important}
.step-2 .photo-accordion summary span{font-size:14px !important;line-height:1.2 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important}
.step-2 .photo-accordion summary .photo-count{font-size:13px !important;line-height:1.2 !important;flex:0 0 auto !important}
.step-2 .photo-room-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:6px !important}
.step-2 .photo-accordion .room-photo-grid,
.step-2 .photo-accordion .product-photo-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:6px !important;padding:6px !important}
.step-2 .photo-upload-box,
.step-2 .room-photo-box,
.step-2 .photo-slot{min-width:0 !important;min-height:72px !important;padding:6px !important;box-sizing:border-box !important}
.step-2 .photo-upload-box label,
.step-2 .room-photo-box label,
.step-2 .photo-slot label,
.step-2 .photo-slot strong,
.step-2 .photo-slot span{font-size:12px !important;line-height:1.25 !important}
.step-2 .photo-slot input[type="file"]{width:100% !important;max-width:100% !important;font-size:11px !important}
.step-2 .selected-detail-head,
.step-2 .selected-item-row,
.step-2 .item-detail-row{display:grid !important;grid-template-columns:minmax(90px,1.4fr) 58px 76px 50px 50px 50px 46px !important;gap:4px !important;align-items:center !important;width:100% !important;max-width:100% !important;box-sizing:border-box !important}
.step-2 .selected-item-row,
.step-2 .item-detail-row{min-height:auto !important;padding:8px 10px !important}
.step-2 .selected-item-row .item-main{min-width:0 !important;gap:6px !important}
.step-2 .selected-item-row .item-main strong,
.step-2 .selected-item-row .item-main em{max-width:100% !important;white-space:normal !important;word-break:keep-all !important;overflow-wrap:break-word !important}
.step-2 .selected-item-row input,
.step-2 .selected-item-row select,
.step-2 .item-detail-row input,
.step-2 .item-detail-row select,
.step-2 .selected-item-row .size-grade,
.step-2 .selected-item-row .dim-input{width:100% !important;min-width:0 !important;height:32px !important;padding:3px 5px !important;font-size:12px !important;box-sizing:border-box !important}
.step-2 .selected-item-row .qty-control{display:grid !important;grid-template-columns:18px minmax(0,1fr) 18px !important;gap:0 !important;width:100% !important;min-width:0 !important}
.step-2 .selected-item-row .qty-control button,
.step-2 .selected-item-row .qty-control input{height:32px !important;min-width:0 !important;padding:0 !important;font-size:12px !important;box-sizing:border-box !important}
.step-2 .selected-item-row .btn-delete,
.step-2 .item-detail-row .btn-delete,
.step-2 .selected-item-row .delete-item,
.step-2 .remove-item-btn{width:42px !important;min-width:42px !important;height:32px !important;padding:0 !important;font-size:12px !important;box-sizing:border-box !important}
.step-2 .item-card{min-width:0 !important;overflow:hidden !important;padding:8px 5px !important;box-sizing:border-box !important}
.step-2 .item-card .item-name{display:block !important;max-width:100% !important;font-size:13px !important;line-height:1.25 !important;white-space:normal !important;word-break:keep-all !important;overflow-wrap:break-word !important;text-align:center !important}
.step-2 .item-card .item-cbm{display:block !important;font-size:11px !important;line-height:1.2 !important;white-space:nowrap !important}
.step-2 .selected-items-list,
.step-2 .selected-all-list,
.step-2 .room-volume-list,
.step-2 .volume-room-list,
.step-2 .room-summary-list{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:6px !important}
.step-2 .selected-all-tools{display:grid !important;grid-template-columns:minmax(0,1fr) 110px !important;gap:6px !important;margin:8px 0 !important}
.step-2 .selected-all-tools input,
.step-2 .selected-all-tools select{width:100% !important;min-width:0 !important;height:34px !important;padding:4px 8px !important;font-size:12px !important;box-sizing:border-box !important}
@media (max-width:900px){
  .step-2 .step2-layout,
  .step-2 .step2-bottom,
  .step-2 .selected-item-layout{grid-template-columns:1fr !important;gap:10px !important;max-width:100% !important}
}
@media (max-width:768px){
  .step-2 .photo-room-grid,
  .step-2 .photo-accordion .room-photo-grid,
  .step-2 .photo-accordion .product-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:6px !important}
  .step-2 .selected-detail-head{display:none !important}
  .step-2 .selected-item-row,
  .step-2 .item-detail-row{grid-template-columns:minmax(80px,1.5fr) 48px 58px 44px 44px 44px 40px !important;grid-template-rows:auto !important;gap:3px !important;padding:7px !important}
  .step-2 .selected-item-row .item-main,
  .step-2 .selected-item-row .delete-item,
  .step-2 .selected-item-row .size-grade,
  .step-2 .selected-item-row .qty-control,
  .step-2 .selected-item-row .dim-width,
  .step-2 .selected-item-row .dim-depth,
  .step-2 .selected-item-row .dim-height{grid-column:auto !important;grid-row:auto !important}
  .step-2 .selected-item-row input,
  .step-2 .selected-item-row select,
  .step-2 .item-detail-row input,
  .step-2 .item-detail-row select,
  .step-2 .selected-item-row .size-grade,
  .step-2 .selected-item-row .dim-input{height:30px !important;font-size:11px !important;padding:2px 4px !important}
  .step-2 .selected-item-row .qty-control{grid-template-columns:16px minmax(0,1fr) 16px !important}
  .step-2 .selected-item-row .qty-control button,
  .step-2 .selected-item-row .qty-control input{height:30px !important;font-size:11px !important}
  .step-2 .selected-item-row .delete-item,
  .step-2 .remove-item-btn,
  .step-2 .btn-delete{width:38px !important;min-width:38px !important;height:30px !important;font-size:11px !important}
  .step-2 .selected-items-list,
  .step-2 .selected-all-list,
  .step-2 .room-volume-list,
  .step-2 .volume-room-list,
  .step-2 .room-summary-list{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:4px !important}
}
@media (max-width:380px){
  .step-2 .selected-item-row,
  .step-2 .item-detail-row{grid-template-columns:minmax(64px,1.4fr) 40px 48px 36px 36px 36px 34px !important;padding:5px !important;gap:3px !important}
  .step-2 .selected-item-row .item-icon{display:none !important}
  .step-2 .selected-item-row .item-main strong{font-size:11px !important}
  .step-2 .selected-item-row .item-main em{display:none !important}
  .step-2 .selected-item-row .qty-control{grid-template-columns:14px minmax(0,1fr) 14px !important}
  .step-2 .selected-item-row .delete-item{width:34px !important;min-width:34px !important}
}
/* ONCAP STEP2 PC photo/detail wide fix - 2026-07-03 */
.step-2 .step2-layout,
.step-2 .step2-bottom,
.step-2 .selected-item-layout{
display:grid !important;
grid-template-columns:minmax(520px,1fr) 170px minmax(520px,.9fr) !important;
gap:12px !important;
align-items:start !important;
width:100% !important;
max-width:1280px !important;
box-sizing:border-box !important;
}
.step-2 .step2-right{
display:contents !important;
}
.step-2 .cbm-panel{
min-width:0 !important;
width:100% !important;
padding:10px !important;
box-sizing:border-box !important;
overflow:hidden !important;
}
.step-2 .photo-panel{
min-width:285px !important;
padding:5px !important;
box-sizing:border-box !important;
overflow:hidden !important;
}
@media (min-width:1101px){
.step-2 .photo-panel{
  min-width:520px !important;
  width:520px !important;
}
}
@media (max-width:1280px){
.step-2 .step2-layout,
.step-2 .step2-bottom,
.step-2 .selected-item-layout{
  grid-template-columns:1fr !important;
}
.step-2 .step2-right{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}
}
@media (max-width:1100px){
.step-2 .photo-panel{
  min-width:0 !important;
  width:100% !important;
}
}
.step-2 .photo-accordion{
border:1px solid #dbe5f4 !important;
border-radius:8px !important;
overflow:hidden !important;
background:#fff !important;
}
.step-2 .photo-accordion summary{
list-style:none !important;
display:flex !important;
flex-direction:column !important;
align-items:flex-start !important;
justify-content:center !important;
gap:2px !important;
padding:12px 14px !important;
cursor:pointer !important;
background:#f8fafc !important;
color:#0f172a !important;
font-weight:900 !important;
min-height:54px !important;
box-sizing:border-box !important;
}
.step-2 .photo-accordion summary::-webkit-details-marker{display:none !important}
.step-2 .photo-accordion summary span{
display:block !important;
width:100% !important;
font-size:14pt !important;
line-height:1.2 !important;
font-weight:900 !important;
word-break:keep-all !important;
white-space:normal !important;
overflow:visible !important;
text-overflow:clip !important;
}
.step-2 .photo-accordion summary .photo-count{
display:block !important;
font-size:13px !important;
line-height:1.2 !important;
font-weight:900 !important;
color:#2563eb !important;
}
.step-2 .photo-room-grid,
.step-2 .photo-accordion .room-photo-grid,
.step-2 .photo-accordion .product-photo-grid{
width:100% !important;
max-width:100% !important;
display:grid !important;
grid-template-columns:repeat(2,minmax(0,1fr)) !important;
gap:8px !important;
box-sizing:border-box !important;
}
.step-2 .photo-accordion .room-photo-grid,
.step-2 .photo-accordion .product-photo-grid{
padding:8px !important;
}
.step-2 .photo-slot{
min-width:0 !important;
min-height:82px !important;
padding:7px !important;
box-sizing:border-box !important;
overflow:hidden !important;
}
.step-2 .photo-slot-actions,
.step-2 .photo-btn-group{
display:flex !important;
flex-direction:row !important;
align-items:center !important;
justify-content:center !important;
gap:4px !important;
width:100% !important;
min-width:0 !important;
box-sizing:border-box !important;
}
.step-2 .photo-slot-actions button,
.step-2 .photo-slot-actions label,
.step-2 .photo-btn-group button,
.step-2 .photo-btn-group label,
.step-2 .photo-btn{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
min-width:56px !important;
height:32px !important;
padding:0 8px !important;
white-space:nowrap !important;
font-size:12px !important;
line-height:1 !important;
box-sizing:border-box !important;
}
.step-2 .selected-detail-wrap{
box-sizing:border-box !important;
overflow:hidden !important;
}
.step-2 .selected-detail-head,
.step-2 .selected-detail-row,
.step-2 .selected-item-row,
.step-2 .item-detail-row{
display:grid !important;
grid-template-columns:minmax(110px,1.2fr) 64px 92px 64px 64px 64px 44px !important;
gap:4px !important;
align-items:center !important;
width:100% !important;
max-width:100% !important;
box-sizing:border-box !important;
overflow:hidden !important;
}
.step-2 .selected-detail-row input[type="number"],
.step-2 .selected-detail-row input[type="text"],
.step-2 .selected-item-row input[type="number"],
.step-2 .selected-item-row input[type="text"],
.step-2 .item-detail-row input[type="number"],
.step-2 .item-detail-row input[type="text"]{
width:100% !important;
min-width:0 !important;
height:34px !important;
padding:0 6px !important;
box-sizing:border-box !important;
font-size:13px !important;
}
.step-2 .selected-detail-row select,
.step-2 .selected-item-row select,
.step-2 .item-detail-row select{
width:100% !important;
min-width:0 !important;
height:34px !important;
padding:0 4px !important;
box-sizing:border-box !important;
font-size:13px !important;
}
.step-2 .selected-item-row .qty-control{
display:grid !important;
grid-template-columns:24px minmax(0,1fr) 24px !important;
width:92px !important;
min-width:0 !important;
gap:0 !important;
box-sizing:border-box !important;
}
.step-2 .selected-item-row .qty-control button,
.step-2 .selected-item-row .qty-control input{
height:34px !important;
min-width:0 !important;
padding:0 !important;
font-size:13px !important;
box-sizing:border-box !important;
}
.step-2 .selected-item-row .dim-input,
.step-2 .selected-detail-row .dim-input{
width:64px !important;
max-width:64px !important;
}
.step-2 .delete-btn,
.step-2 .delete-item,
.step-2 .remove-item-btn{
flex:0 0 36px !important;
width:36px !important;
min-width:36px !important;
max-width:36px !important;
height:34px !important;
padding:0 !important;
box-sizing:border-box !important;
font-size:12px !important;
overflow:hidden !important;
}
@media (max-width:768px){
.step-2 .photo-accordion summary span{
  font-size:14pt !important;
}
.step-2 .selected-detail-head{display:none !important}
.step-2 .selected-detail-row,
.step-2 .selected-item-row,
.step-2 .item-detail-row{
  grid-template-columns:minmax(84px,1fr) 54px 82px 48px 48px 48px 38px !important;
  gap:3px !important;
  padding:6px !important;
}
.step-2 .selected-item-row .qty-control{
  width:82px !important;
  grid-template-columns:20px minmax(0,1fr) 20px !important;
}
.step-2 .selected-item-row .dim-input,
.step-2 .selected-detail-row .dim-input{
  width:48px !important;
  max-width:48px !important;
}
.step-2 .delete-btn,
.step-2 .delete-item,
.step-2 .remove-item-btn{
  width:36px !important;
  min-width:36px !important;
  max-width:36px !important;
}
}
@media (max-width:420px){
.step-2 .selected-detail-row,
.step-2 .selected-item-row,
.step-2 .item-detail-row{
  grid-template-columns:minmax(70px,1fr) 46px 70px 40px 40px 40px 34px !important;
}
.step-2 .selected-item-row .item-icon{display:none !important}
.step-2 .selected-item-row .qty-control{width:70px !important;grid-template-columns:17px minmax(0,1fr) 17px !important}
.step-2 .selected-item-row .dim-input,
.step-2 .selected-detail-row .dim-input{width:40px !important;max-width:40px !important}
.step-2 .delete-btn,
.step-2 .delete-item,
.step-2 .remove-item-btn{width:34px !important;min-width:34px !important;max-width:34px !important;font-size:11px !important}
}
/* ONCAP STEP2 compact two-column final override - 2026-07-03 */
.step-2 .step2-layout,
.step-2 .step2-bottom,
.step-2 .selected-item-layout{
display:grid !important;
grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr) !important;
gap:12px !important;
align-items:start !important;
width:100% !important;
max-width:1280px !important;
margin:18px auto 0 !important;
box-sizing:border-box !important;
}
.step-2 .step2-left,
.step-2 .step2-right,
.step-2 .selected-item-main{
min-width:0 !important;
width:100% !important;
box-sizing:border-box !important;
}
.step-2 .step2-right{
display:flex !important;
flex-direction:column !important;
gap:10px !important;
}
.step-2 .cbm-panel,
.step-2 .photo-panel{
min-width:0 !important;
width:100% !important;
box-sizing:border-box !important;
overflow:hidden !important;
}
.step-2 .photo-panel{
padding:8px !important;
}
.step-2 .photo-accordion,
.step-2 .photo-accordion details,
.step-2 .photo-accordion .photo-room-grid,
.step-2 .photo-accordion .room-photo-grid,
.step-2 .photo-accordion .product-photo-grid,
.step-2 .photo-room-grid,
.step-2 .room-photo-grid,
.step-2 .product-photo-grid{
width:100% !important;
max-width:100% !important;
box-sizing:border-box !important;
}
.step-2 .photo-accordion{
border:1px solid #dbe5f4 !important;
border-radius:8px !important;
overflow:hidden !important;
background:#fff !important;
}
.step-2 .photo-accordion summary{
list-style:none !important;
display:flex !important;
flex-direction:row !important;
align-items:center !important;
justify-content:space-between !important;
gap:2px !important;
padding:5px !important;
min-height:0 !important;
cursor:pointer !important;
background:#f8fafc !important;
color:#0f172a !important;
font-weight:900 !important;
box-sizing:border-box !important;
}
.step-2 .photo-accordion summary span{
display:block !important;
width:auto !important;
max-width:calc(100% - 42px) !important;
font-size:14px !important;
line-height:1.2 !important;
font-weight:900 !important;
word-break:keep-all !important;
white-space:nowrap !important;
overflow:hidden !important;
text-overflow:ellipsis !important;
}
.step-2 .photo-accordion summary .photo-count{
display:block !important;
flex:0 0 auto !important;
font-size:13px !important;
line-height:1.2 !important;
font-weight:900 !important;
color:#2563eb !important;
}
.step-2 .photo-room-grid,
.step-2 .photo-accordion .room-photo-grid,
.step-2 .photo-accordion .product-photo-grid{
display:grid !important;
grid-template-columns:repeat(2,minmax(0,1fr)) !important;
gap:6px !important;
width:100% !important;
box-sizing:border-box !important;
}
.step-2 .photo-accordion .room-photo-grid,
.step-2 .photo-accordion .product-photo-grid{
padding:6px !important;
}
.step-2 .photo-upload-box,
.step-2 .room-photo-box,
.step-2 .photo-slot{
min-width:0 !important;
min-height:72px !important;
padding:6px !important;
box-sizing:border-box !important;
overflow:hidden !important;
}
.step-2 .photo-upload-box label,
.step-2 .room-photo-box label,
.step-2 .photo-slot label,
.step-2 .photo-slot strong,
.step-2 .photo-slot span{
font-size:12px !important;
line-height:1.25 !important;
}
.step-2 .photo-slot-actions,
.step-2 .photo-btn-group{
display:flex !important;
flex-direction:row !important;
align-items:center !important;
justify-content:center !important;
gap:4px !important;
width:100% !important;
min-width:0 !important;
box-sizing:border-box !important;
}
.step-2 .photo-slot-actions button,
.step-2 .photo-slot-actions label,
.step-2 .photo-btn-group button,
.step-2 .photo-btn-group label,
.step-2 .photo-btn{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
min-width:52px !important;
height:30px !important;
padding:0 6px !important;
white-space:nowrap !important;
font-size:12px !important;
line-height:1 !important;
box-sizing:border-box !important;
}
.step-2 .selected-detail-wrap{
width:100% !important;
max-width:100% !important;
box-sizing:border-box !important;
overflow:hidden !important;
}
.step-2 .selected-detail-head,
.step-2 .selected-item-row,
.step-2 .selected-detail-row,
.step-2 .item-detail-row{
display:grid !important;
grid-template-columns:minmax(90px,1.4fr) 58px 44px 50px 50px 50px 46px !important;
gap:4px !important;
align-items:center !important;
width:100% !important;
max-width:100% !important;
box-sizing:border-box !important;
overflow:hidden !important;
}
.step-2 .selected-item-row,
.step-2 .selected-detail-row,
.step-2 .item-detail-row{
min-height:auto !important;
padding:8px 10px !important;
}
.step-2 .selected-item-row .item-main{
min-width:0 !important;
gap:6px !important;
}
.step-2 .selected-item-row .item-main strong,
.step-2 .selected-item-row .item-main em{
max-width:100% !important;
white-space:normal !important;
word-break:keep-all !important;
overflow-wrap:break-word !important;
}
.step-2 .selected-item-row input,
.step-2 .selected-item-row select,
.step-2 .selected-detail-row input,
.step-2 .selected-detail-row select,
.step-2 .item-detail-row input,
.step-2 .item-detail-row select,
.step-2 .selected-item-row .size-grade,
.step-2 .selected-item-row .dim-input{
width:100% !important;
min-width:0 !important;
height:32px !important;
padding:3px 5px !important;
font-size:12px !important;
box-sizing:border-box !important;
}
.step-2 .selected-item-row .qty-control{
display:grid !important;
grid-template-columns:12px minmax(0,1fr) 12px !important;
width:44px !important;
min-width:0 !important;
gap:0 !important;
box-sizing:border-box !important;
}
.step-2 .selected-item-row .qty-control button,
.step-2 .selected-item-row .qty-control input{
height:32px !important;
min-width:0 !important;
padding:0 !important;
font-size:11px !important;
box-sizing:border-box !important;
}
.step-2 .selected-item-row .dim-input,
.step-2 .selected-detail-row .dim-input{
width:50px !important;
max-width:50px !important;
}
.step-2 .selected-item-row .btn-delete,
.step-2 .item-detail-row .btn-delete,
.step-2 .selected-item-row .delete-item,
.step-2 .delete-btn,
.step-2 .remove-item-btn{
flex:0 0 42px !important;
width:42px !important;
min-width:42px !important;
max-width:42px !important;
height:32px !important;
padding:0 !important;
font-size:12px !important;
box-sizing:border-box !important;
overflow:hidden !important;
}
.step-2 .item-card{
min-width:0 !important;
overflow:hidden !important;
padding:8px 5px !important;
box-sizing:border-box !important;
}
.step-2 .item-card .item-name{
display:block !important;
max-width:100% !important;
font-size:13px !important;
line-height:1.25 !important;
white-space:normal !important;
word-break:keep-all !important;
overflow-wrap:break-word !important;
text-align:center !important;
}
.step-2 .item-card .item-cbm{
display:block !important;
font-size:11px !important;
line-height:1.2 !important;
white-space:nowrap !important;
}
.step-2 .selected-items-list,
.step-2 .selected-all-list,
.step-2 .room-volume-list,
.step-2 .volume-room-list,
.step-2 .room-summary-list{
display:grid !important;
grid-template-columns:repeat(2,minmax(0,1fr)) !important;
gap:6px !important;
}
@media (max-width:900px){
.step-2 .step2-layout,
.step-2 .step2-bottom,
.step-2 .selected-item-layout{
  grid-template-columns:1fr !important;
  gap:10px !important;
  max-width:100% !important;
}
}
@media (max-width:768px){
.step-2 .photo-room-grid,
.step-2 .photo-accordion .room-photo-grid,
.step-2 .photo-accordion .product-photo-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:6px !important;
}
.step-2 .photo-accordion summary span{
  font-size:14px !important;
}
.step-2 .selected-detail-head{display:none !important}
.step-2 .selected-item-row,
.step-2 .selected-detail-row,
.step-2 .item-detail-row{
  grid-template-columns:minmax(80px,1.5fr) 48px 38px 44px 44px 44px 40px !important;
  gap:3px !important;
  padding:7px !important;
}
.step-2 .selected-item-row .qty-control{
  width:38px !important;
  grid-template-columns:10px minmax(0,1fr) 10px !important;
}
.step-2 .selected-item-row input,
.step-2 .selected-item-row select,
.step-2 .selected-detail-row input,
.step-2 .selected-detail-row select,
.step-2 .item-detail-row input,
.step-2 .item-detail-row select,
.step-2 .selected-item-row .size-grade,
.step-2 .selected-item-row .dim-input{
  height:30px !important;
  font-size:11px !important;
  padding:2px 4px !important;
}
.step-2 .selected-item-row .dim-input,
.step-2 .selected-detail-row .dim-input{
  width:44px !important;
  max-width:44px !important;
}
.step-2 .remove-item-btn,
.step-2 .btn-delete,
.step-2 .delete-btn,
.step-2 .delete-item{
  width:38px !important;
  min-width:38px !important;
  max-width:38px !important;
  height:30px !important;
  font-size:11px !important;
}
}
@media (max-width:480px){
.step-2 .selected-items-list,
.step-2 .selected-all-list,
.step-2 .room-volume-list,
.step-2 .volume-room-list,
.step-2 .room-summary-list{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:4px !important;
}
}
/* ONCAP STEP2 selected item PC item-size gap tighten - 2026-07-03 */
@media (min-width:901px){
.step-2 .selected-detail-head,
.step-2 .selected-item-row,
.step-2 .selected-detail-row,
.step-2 .item-detail-row{
  grid-template-columns:minmax(112px,170px) 58px 44px 50px 50px 50px 46px !important;
  justify-content:start !important;
  column-gap:3px !important;
}
.step-2 .selected-item-row .item-main{
  width:100% !important;
  max-width:170px !important;
}
.step-2 .selected-item-row .item-main strong,
.step-2 .selected-item-row .item-main em{
  max-width:110px !important;
}
}
/* ONCAP STEP2 photo upload UI v2 - 2026-07-03 */
.step-2 .photo-panel,
.step-2 .photo-panel *{
box-sizing:border-box !important;
}
.step-2 .photo-panel{
min-width:0 !important;
width:100% !important;
padding:6px !important;
overflow:hidden !important;
}
.step-2 .photo-room-grid{
display:grid !important;
grid-template-columns:repeat(2,minmax(0,1fr)) !important;
gap:6px !important;
width:100% !important;
}
.step-2 .photo-accordion,
.step-2 .photo-accordion[open],
.step-2 .photo-accordion details,
.step-2 .photo-accordion .photo-room-grid,
.step-2 .photo-accordion .room-photo-grid,
.step-2 .photo-accordion .product-photo-grid{
width:100% !important;
max-width:100% !important;
box-sizing:border-box !important;
}
.step-2 .photo-accordion{
border:1px solid #dbe5f4 !important;
border-radius:8px !important;
overflow:hidden !important;
background:#fff !important;
}
.step-2 .photo-accordion summary{
list-style:none !important;
display:flex !important;
align-items:center !important;
justify-content:space-between !important;
gap:2px !important;
padding:5px !important;
min-height:0 !important;
background:#f8fafc !important;
color:#0f172a !important;
font-weight:900 !important;
cursor:pointer !important;
}
.step-2 .photo-accordion summary::-webkit-details-marker{display:none !important}
.step-2 .photo-accordion summary span{
max-width:calc(100% - 42px) !important;
font-size:14px !important;
line-height:1.2 !important;
font-weight:900 !important;
word-break:keep-all !important;
white-space:nowrap !important;
overflow:hidden !important;
text-overflow:ellipsis !important;
}
.step-2 .photo-accordion summary .photo-count{
flex:0 0 auto !important;
font-size:13px !important;
line-height:1.2 !important;
color:#2563eb !important;
}
.step-2 .photo-accordion .room-photo-grid,
.step-2 .photo-accordion .product-photo-grid{
display:grid !important;
grid-template-columns:repeat(2,minmax(0,1fr)) !important;
gap:5px !important;
width:100% !important;
padding:5px !important;
}
.step-2 .photo-slot{
display:flex !important;
flex-direction:column !important;
align-items:stretch !important;
justify-content:flex-start !important;
min-width:0 !important;
min-height:104px !important;
padding:5px !important;
gap:3px !important;
overflow:hidden !important;
border:1px dashed #cbd5e1 !important;
border-radius:8px !important;
background:#fff !important;
}
.step-2 .photo-slot > span:first-child{
display:block !important;
margin:0 !important;
font-size:12px !important;
line-height:1.2 !important;
font-weight:900 !important;
text-align:center !important;
color:#334155 !important;
}
.step-2 .photo-slot-actions,
.step-2 .photo-btn-group{
display:flex !important;
flex-direction:column !important;
gap:3px !important;
width:100% !important;
min-width:0 !important;
}
.step-2 .photo-slot-actions button,
.step-2 .photo-slot-actions label,
.step-2 .photo-btn-group button,
.step-2 .photo-btn-group label,
.step-2 .photo-btn{
display:flex !important;
align-items:center !important;
justify-content:center !important;
width:100% !important;
min-width:0 !important;
max-width:100% !important;
height:28px !important;
padding:0 4px !important;
border:1px solid #cbd5e1 !important;
border-radius:6px !important;
background:#f8fafc !important;
color:#0f172a !important;
font-size:11px !important;
line-height:1 !important;
font-weight:800 !important;
white-space:nowrap !important;
overflow:hidden !important;
text-overflow:ellipsis !important;
}
.step-2 .photo-btn input[type="file"],
.step-2 .photo-slot input[type="file"]{
display:none !important;
width:100% !important;
max-width:100% !important;
min-width:0 !important;
overflow:hidden !important;
font-size:10px !important;
}
.step-2 .photo-preview{
display:block !important;
width:100% !important;
height:46px !important;
object-fit:cover !important;
border-radius:6px !important;
border:1px solid #dbe5f4 !important;
background:#eef2f7 !important;
}
.step-2 .photo-preview[hidden]{
display:none !important;
}
.step-2 .photo-slot-file{
display:block !important;
width:100% !important;
min-height:12px !important;
margin:0 !important;
color:#64748b !important;
font-size:10px !important;
line-height:1.2 !important;
text-align:center !important;
white-space:nowrap !important;
overflow:hidden !important;
text-overflow:ellipsis !important;
}
.step-2 .photo-slot.has-file{
border-color:#93c5fd !important;
background:#f0f7ff !important;
}
.step-2 .photo-slot.has-file .photo-slot-file{
color:#1d4ed8 !important;
font-weight:800 !important;
}
@media (max-width:768px){
.step-2 .photo-accordion .room-photo-grid,
.step-2 .photo-accordion .product-photo-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:5px !important;
  padding:5px !important;
}
.step-2 .photo-slot{
  min-height:110px !important;
  padding:5px !important;
  gap:3px !important;
}
.step-2 .photo-btn{
  height:28px !important;
  font-size:11px !important;
}
.step-2 .photo-preview{
  height:48px !important;
}
}
/* ONCAP type/room tab compact buttons - 2026-07-03 */
.type-tabs button,
.room-tabs button{
height:34px !important;
padding:0 2px !important;
font-size:12px !important;
border-radius:6px !important;
box-sizing:border-box !important;
}
/* ONCAP STEP2 room tabs isolated nav - 2026-07-03 */
.type-tabs button,
.room-tabs button{
  height:34px !important;
  padding:0 2px !important;
  font-size:12px !important;
  border-radius:6px !important;
  box-sizing:border-box !important;
}
.step-2 .step2-room-tabs,
.step2-room-tabs{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(54px,1fr)) !important;
  gap:6px !important;
  width:100% !important;
  margin:0 0 10px !important;
  box-sizing:border-box !important;
}
.step-2 .step2-room-tabs .step2-room-tab,
.step2-room-tabs .step2-room-tab{
  height:34px !important;
  min-width:0 !important;
  padding:0 2px !important;
  border:1px solid #dbe5f4 !important;
  border-radius:6px !important;
  background:#fff !important;
  color:#334155 !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  box-sizing:border-box !important;
  cursor:pointer !important;
}
.step-2 .step2-room-tabs .step2-room-tab.active,
.step2-room-tabs .step2-room-tab.active{
  background:#1e293b !important;
  color:#fff !important;
  border-color:#1e293b !important;
}
/* ONCAP STEP2 item card CBM display hidden - 2026-07-03 */
.step-2 .item-card .item-cbm,
#itemSelectBox .item-card .item-cbm{
  display:none !important;
}
/* ONCAP STEP2 selected detail compact columns and dimension inputs - 2026-07-03 */
@media (min-width:769px){
  .step-2 .selected-detail-wrap{
    overflow-x:hidden !important;
  }
  .step-2 .selected-detail-head,
  .step-2 .selected-item-row,
  .step-2 .selected-detail-row,
  .step-2 .item-detail-row{
    grid-template-columns: minmax(116px,132px) 56px 52px 68px 68px 78px 42px minmax(0,1fr) !important;
    column-gap:4px !important;
    row-gap:4px !important;
    justify-content:start !important;
    align-items:center !important;
  }
  .step-2 .selected-detail-head > span,
  .step-2 .selected-item-row > *,
  .step-2 .selected-detail-row > *,
  .step-2 .item-detail-row > *{
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  .step-2 .selected-item-row .item-main{
    width:100% !important;
    min-width:0 !important;
    gap:5px !important;
    padding-right:0 !important;
  }
  .step-2 .selected-item-row .item-main .item-icon{
    flex:0 0 36px !important;
    width:36px !important;
    height:36px !important;
  }
  .step-2 .selected-item-row .size-grade{
    width:56px !important;
    min-width:56px !important;
    max-width:56px !important;
    padding:0 4px !important;
    text-align:center !important;
  }
  .step-2 .selected-item-row .qty-control{
    width:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    grid-template-columns:15px minmax(0,1fr) 15px !important;
  }
  .step-2 .selected-item-row .dim-input,
  .step-2 .selected-detail-row .dim-input{
    width:68px !important;
    min-width:68px !important;
    max-width:68px !important;
    height:36px !important;
    padding:0 4px !important;
    font-size:13px !important;
    line-height:36px !important;
    text-align:center !important;
    overflow:visible !important;
  }
  .step-2 .selected-item-row .dim-height,
  .step-2 .selected-detail-row .dim-height{
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
  }
  .step-2 .selected-item-row .delete-btn,
  .step-2 .selected-item-row .remove-item-btn,
  .step-2 .delete-btn,
  .step-2 .remove-item-btn{
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    height:36px !important;
  }
}
