.order_title { font-size: 22px; font-weight: 800; color: var(--text-strong); padding: 30px 0 20px; }

.order_section { border-top: 2px solid var(--text-strong); padding: 24px 0; }
.order_section_title { font-size: 16px; font-weight: 700; color: var(--text-strong); margin-bottom: 16px; }

.order_item_list { border: 1px solid var(--border2); border-radius: 8px; overflow: hidden; }
.order_shipping_group { border-bottom: 6px solid var(--bg-soft, #f5f5f6); }
.order_shipping_group:last-child { border-bottom: none; }
.osg_header { display: flex; align-items: center; gap: 10px; padding: 10px 16px; background: var(--bg-soft, #f9f9fa); font-size: 13px; }
.osg_seller { font-weight: 700; color: var(--text-strong); }
.osg_policy { color: var(--text-muted); }
.osg_fee { margin-left: auto; font-weight: 700; color: var(--accent2); }
.osg_fee.is_free { color: #2ca85a; }
.order_item_row { display: flex; align-items: center; gap: 16px; padding: 14px 16px; border-bottom: 1px solid var(--border2); }
.order_shipping_group .order_item_row:last-child { border-bottom: none; }
.oi_thumb { flex: 0 0 60px; width: 60px; height: 60px; border-radius: 6px; overflow: hidden; background: #f5f5f6; display: flex; align-items: center; justify-content: center; }
.oi_thumb img { width: 100%; height: 100%; object-fit: cover; }
.oi_thumb i { font-size: 20px; color: var(--text-light); }
.oi_info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.oi_name { font-size: 14px; color: var(--text-dark); }
.oi_qty { font-size: 12px; color: var(--text-muted); }
.oi_price { flex: 0 0 auto; font-size: 14px; font-weight: 700; color: var(--text-strong); }

.field_grid { display: flex; flex-direction: column; gap: 12px; }
.field_row { display: flex; align-items: center; gap: 12px; }
.field_row label { flex: 0 0 90px; font-size: 13px; color: var(--text-muted); }
.field_row input, .field_row select {
    flex: 1; height: 40px; padding: 0 12px; border: 1px solid var(--border); border-radius: 6px;
    font-size: 13px; outline: none; box-sizing: border-box; max-width: 360px;
}
.field_row input:focus, .field_row select:focus { border-color: var(--accent2); }
.field_row input[readonly] { background: #f7f7f8; color: var(--text-muted); }

.zip_row input { max-width: 160px; flex: 0 0 160px; }
.zip_row button { height: 40px; padding: 0 14px; border: 1px solid var(--accent2); border-radius: 6px; background: #fff; color: var(--accent2); font-size: 13px; cursor: pointer; }
.zip_row button:hover { background: #f0f7ff; }

.chk_same { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--text-dark); margin-bottom: 14px; cursor: pointer; }

.no_coupon_text { font-size: 13px; color: var(--text-light); }
.mileage_row input { max-width: 140px; flex: 0 0 140px; }
.mileage_row button { height: 40px; padding: 0 14px; border: 1px solid var(--border); border-radius: 6px; background: #fafafa; color: var(--text-dark); font-size: 13px; cursor: pointer; }
.mileage_row button:hover { border-color: var(--accent2); color: var(--accent2); }
.mileage_balance { font-size: 12px; color: var(--text-muted); }

.pay_method_group { display: flex; gap: 20px; margin-bottom: 14px; }
.pay_method_item { display: flex; align-items: center; gap: 6px; font-size: 14px; color: var(--text-dark); cursor: pointer; }
.pay-notice { margin: 0; }

.order_summary_box { border: 1px solid var(--border2); border-radius: 8px; padding: 24px; margin-top: 10px; }
.sum_line { display: flex; justify-content: flex-end; align-items: baseline; gap: 8px; padding: 6px 0; font-size: 14px; color: var(--text-dark); }
.sum_line span { color: var(--text-muted); margin-right: auto; }
.sum_line strong { font-weight: 700; }
.sum_line.discount strong { color: var(--accent); }
.sum_line.total { border-top: 1px solid var(--border2); margin-top: 8px; padding-top: 14px; font-size: 16px; }
.sum_line.total strong { font-size: 22px; font-weight: 800; color: var(--accent2); }

.order_agree_row { padding: 20px 0; font-size: 13px; color: var(--text-dark); }
.order_agree_row label { display: flex; align-items: center; gap: 8px; cursor: pointer; }

.order_submit_row { padding-bottom: 60px; }
.btn_submit_order { width: 100%; height: 54px; border: none; border-radius: 6px; background: var(--accent2); color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; }
.btn_submit_order:hover { background: #3a86e0; }

@media (max-width: 700px) {
    .field_row { flex-wrap: wrap; }
    .field_row label { flex: 0 0 100%; }
    .field_row input, .field_row select { max-width: 100%; }
}

/* ===== 무통장입금 안내 ===== */
.pay_method_item.is_disabled { color: var(--text-light); cursor: not-allowed; }
.pay_soon {
    margin-left: 4px; padding: 1px 7px;
    border-radius: 100px; background: #f0f0f0;
    font-size: 11px; color: var(--text-muted);
}

.bank_box {
    margin-top: 16px;
    padding: 18px 20px;
    background: #f8f9fb;
    border-radius: 10px;
}
.bank_row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; }
.bank_label { font-size: 13px; color: var(--text-muted); min-width: 62px; }
.bank_account { font-size: 17px; font-weight: 800; color: var(--text-strong); letter-spacing: -0.3px; }
.bank_holder { font-size: 13px; color: var(--text-dark); }
.bank_empty { font-size: 13px; color: var(--sale); }
.bank_note { margin-top: 10px; font-size: 12px; line-height: 1.6; color: var(--text-muted); }
.bank_note strong { color: var(--sale); font-weight: 700; }
.bank_box .field_row { margin-top: 14px; }

/* ===== 현금영수증 / 세금계산서 ===== */
.receipt_tab_group { display: flex; gap: 8px; flex-wrap: wrap; }
.receipt_tab {
    display: inline-flex; align-items: center; gap: 6px;
    height: 38px; padding: 0 16px;
    border: 1px solid var(--border);
    border-radius: 100px;
    font-size: 14px; color: var(--text-dark);
    cursor: pointer;
}
.receipt_tab:has(input:checked) {
    border-color: var(--accent2);
    background: #f2f7ff;
    color: var(--accent2);
    font-weight: 600;
}

.receipt_panel { display: none; margin-top: 16px; padding: 18px 20px; background: #f8f9fb; border-radius: 10px; }
.receipt_panel.is_open { display: block; }
.receipt_usage_group { display: flex; gap: 18px; flex-wrap: wrap; margin-bottom: 14px; }
.receipt_usage_group label { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--text-dark); cursor: pointer; }
.receipt_panel .field_row + .field_row { margin-top: 10px; }
.receipt_note { margin-top: 12px; font-size: 12px; line-height: 1.6; color: var(--text-muted); }
