:root {
	--cart-blue: #1e3a8a;
	--cart-blue-hover: #162d6b;
	--cart-green: #2ea44f;
	--cart-green-hover: #238a3a;
	--progress-inactive-bg: #eee;
	--progress-inactive-text: #111;
	--outline-gray: #9ca3af;
	--dealer-orange: #ff6a00;
}

.cart-hpad {
	padding-left: 32px;
	padding-right: 32px;
}

@media (max-width:1200px) {
	.cart-hpad {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (max-width:991px) {
	.cart-hpad {
		padding-left: 0;
		padding-right: 0;
	}
}

/* === Progress (Bootstrap .badge 충돌 방지: !important) === */
.cart-progress-steps {
	display: flex;
	gap: 20px;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.cart-progress-steps .step {
	flex: 1;
	background: var(--progress-inactive-bg) !important;
	border-radius: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	height: 72px;
}

.cart-progress-steps .step .badge {
	/* bootstrap override */
	background: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
	color: #666 !important;
	font-weight: 700 !important;
	font-size: 14px !important;
}

.cart-progress-steps .step .label {
	font-weight: 800;
	font-size: 22px;
	color: var(--progress-inactive-text) !important;
}

.cart-progress-steps .step.active {
	background: var(--cart-blue) !important;
}

.cart-progress-steps .step.active .badge,
.cart-progress-steps .step.active .label {
	color: #fff !important;
}

/* 1200px↓: 줄바꿈(세로 스택) */
@media (max-width:1200px) {
	.cart-progress-steps .step {
		flex-direction: column;
		height: 82px;
		padding: 10px 8px;
	}
}

/* 991px↓: 텍스트 축소 */
@media (max-width:991px) {
	.cart-progress-steps {
		gap: 10px;
	}

	.cart-progress-steps .step {
		height: 64px;
	}

	.cart-progress-steps .step .badge {
		font-size: 12px !important;
	}

	.cart-progress-steps .step .label {
		font-size: 16px !important;
	}
}

/* === Table === */
.cart-table thead th {
	border-bottom: 2px solid #111;
	font-weight: 700;
	vertical-align: middle !important;
}

.cart-table td {
	vertical-align: middle !important;
	border-top: none !important;
}

/* 마지막 행(tr)에 전체폭 선을 그려준다 (rowspan 무관) */
#cart-tbody tr:last-child {
	position: relative;
}

#cart-tbody tr:last-child::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	/* tr의 아래쪽 */
	height: 1px;
	background: #ddd;
	pointer-events: none;
}

/* ✅ Bootstrap table-responsive의 정석: 테이블은 최소폭을 갖고, 부모에서 가로스크롤 */
.cartPage-wrap .table-responsive {
	width: 100%;
	overflow-x: auto;
	/* 가로 스크롤 허용 */
}

/* ✅ table-layout: fixed 제거 (더 찌그러지는 주 원인) */
.cart-table {
	width: 100%;
	table-layout: fixed;
	/* 핵심: auto로 복귀 */
	min-width: 1100px;
	/* 핵심: 찌그러지지 않도록 최소폭 확보 (필요시 1000~1300 조절) */
}

/* 각 셀 내용이 열 폭을 밀어내지 못하게 */
.cart-table th,
.cart-table td {
	overflow: hidden;
}

/* 품명 영역 말줄임/줄바꿈 정책 */
.cart-table td.col-name .texts {
	min-width: 0;
}

.cart-table td.col-name .title {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 옵션 input이 폭 밀지 않도록 */
.cart-table .col-calib .option-input {
	width: 100%;
	max-width: 100%;
}

/* 품명 셀 내부 flex 찌그러짐 방지 */
.cart-table .col-name .name-cell {
	display: flex;
	gap: 10px;
	align-items: center;
}

.cart-table .thumb {
	width: 56px;
	height: 56px;
	object-fit: cover;
	flex: 0 0 auto;
}

/* 텍스트는 줄이되, 폭 계산을 뚫지 않게 */
.cart-table .col-name .texts {
	min-width: 0;
}

.cart-table .col-name .title {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 옵션 input이 폭 계산 이상하게 만드는 경우 방지 */
.cart-table .col-calib .option-input {
	width: 100%;
}


.cart-entry-divider td {
	padding: 12px 0 !important;
}

.cart-entry-divider .divider-line {
	width: 100%;
	height: 1px;
	background-color: #ddd;
}


.col-check {
	width: 44px;
}

.col-catno {
	width: 110px;
}

.col-name {
	width: 100% !important;
}

.col-calib {
	width: 250px;
}

.col-price,
.col-dealer {
	width: 120px;
	white-space: nowrap;
}

.col-unit {
	width: 110px;
}

.col-qty {
	width: 120px;
}

/* ✅ 모든 셀 수직 중앙 */
.cart-table th,
.cart-table td {
	vertical-align: middle !important;
}

/* ✅ 5개 컬럼만 수평 중앙(체크/CatNo/판매가/딜러가/단위) */
.cart-table th.col-check,
.cart-table td.col-check,
.cart-table th.col-catno,
.cart-table td.col-catno,
.cart-table th.col-price,
.cart-table td.col-price,
.cart-table th.col-dealer,
.cart-table td.col-dealer,
.cart-table th.col-unit,
.cart-table td.col-unit {
	text-align: center !important;
}

/* ✅ 체크박스 자체 중앙 */
.cart-table td.col-check input[type="checkbox"],
.cart-table th.col-check input[type="checkbox"] {
	margin: 0 auto !important;
	display: block !important;
}


.name-cell {
	display: flex;
	gap: 12px;
	align-items: center;
}

/* 요소들도 중앙정렬 */
.name-cell .thumb {
	width: 70px;
	height: 70px;
	object-fit: cover;
	border: 1px solid #eee;
}

.name-cell .brand {
	font-weight: 700;
}

.name-cell .title {
	color: #374151;
}

.dealer {
	color: var(--dealer-orange);
	font-weight: 800;
}

/* 1200px↓: CatNo/단위/이미지 숨김 */
@media (max-width:1200px) {

	.cart-table thead .col-catno,
	.cart-table thead .col-unit {
		display: none;
	}

	.cart-table tbody .col-catno,
	.cart-table tbody .col-unit {
		display: none;
	}

	.name-cell .thumb {
		display: none;
	}

	.col-name {
		width: auto;
	}
}

/* 991px↓: 품명 우선 */
@media (max-width:991px) {

	.cart-table thead .col-catno,
	.cart-table thead .col-calib,
	.cart-table thead .col-dealer,
	.cart-table thead .col-unit {
		display: none;
	}

	.cart-table tbody .col-catno,
	.cart-table tbody .col-calib,
	.cart-table tbody .col-dealer,
	.cart-table tbody .col-unit {
		display: none;
	}

	.name-cell .thumb {
		display: none;
	}

	.col-name {
		width: auto;
	}
}

/* === Qty stepper === */
.qty-stepper {
	display: flex;
	width: 92px;
	align-items: center;
}

.qty-input {
	width: 56px;
	height: 38px;
	padding-right: 32px;
	text-align: center;
	border: 1px solid #ced4da;
	border-right: none;
}

.qty-stepper .steppers {
	display: flex;
	flex-direction: column;
}

.btn-step {
	width: 36px;
	height: 19px;
	line-height: 17px;
	border: 1px solid #ced4da;
	background: #fff;
}

.btn-step.up {
	border-bottom: none;
}

.btn-step:active {
	background: #f3f4f6;
}

/* === Buttons === */
.btn-unify {
	min-width: 140px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
}

.btn-cart-primary {
	background: var(--cart-blue);
	color: #fff;
	border: 1px solid var(--cart-blue);
}

.btn-cart-primary:hover {
	background: var(--cart-blue-hover);
	border-color: var(--cart-blue-hover);
	color: #fff;
}

.btn-cart-success {
	background: var(--cart-green);
	color: #fff;
	border: 1px solid var(--cart-green);
}

.btn-cart-success:hover {
	background: var(--cart-green-hover);
	border-color: var(--cart-green-hover);
	color: #fff;
}

.btn-outline-gray {
	background: #fff;
	color: #374151;
	border: 1px solid var(--outline-gray);
}

.btn-outline-gray:hover {
	background: #f7f7f7;
	color: #111;
	border-color: #8b95a1;
}

.cart-actions .left .btn {
	margin-right: 8px;
}

/* 모바일: 세 버튼 정확히 33.333% (부모를 납작하게 만들어 단일 플렉스 라인으로) */
@media (max-width:991px) {
	.cart-actions {
		display: flex;
		gap: 8px;
		margin-top: 8px;
	}

	.cart-actions .left,
	.cart-actions .right {
		display: contents;
	}

	/* 컨테이너 제거 효과 */
	.cart-actions .btn {
		flex: 0 0 calc((100% - 16px) / 3) !important;
		width: calc((100% - 16px) / 3) !important;
		min-width: 0 !important;
		height: 44px !important;
		margin: 0 !important;
	}

	.btn-unify {
		min-width: 0;
	}
}

/* === Totals === */
.cart-total-wrap {
	border-top: 2px solid #111;
	border-bottom: 2px solid #111;
	padding: 18px 0;
	margin-top: 18px;
}

.totals-table .trow {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	align-items: center;
}

.totals-table .trow.head {
	border-bottom: 1px solid #e5e7eb;
	color: #6b7280;
	font-weight: 700;
	padding: 10px 0;
}

.totals-table .trow.body {
	padding: 14px 0;
	font-weight: 700;
}

.totals-table .trow.body .strong {
	font-size: 20px;
}

/* 모바일 요약 */
.mobile-summary {
	display: none;
}

@media (max-width:991px) {
	.totals-table {
		display: none;
	}

	.mobile-summary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
	}

	.ms-left .ms-head {
		font-size: 13px;
		color: #6b7280;
		margin-bottom: 2px;
	}

	.ms-left .ms-price {
		font-size: 20px;
		color: #000 !important;
	}

	/* 숫자 검정 강제 */
	.ms-left .ms-price strong {
		color: #000 !important;
	}

	.ms-right .btn {
		height: 44px;
		min-width: 120px;
	}
}

/* === Bottom bar === */
.final-bar {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin: 14px 0 24px;
}

.final-actions {
	display: flex;
	gap: 8px;
}

.final-actions .btn {
	margin-left: 0;
}

/* 모바일: 구매 버튼 50%씩 */
@media (max-width:991px) {
	.final-bar {
		justify-content: stretch;
	}

	.final-actions {
		width: 100%;
	}

	.final-actions .btn {
		flex: 0 0 50% !important;
		width: 50% !important;
		height: 44px !important;
	}
}


/* Payment Start Start */
/* ===== 공통 ===== */
.paymentSuccess-divider-strong {
	border-top: 2px solid #111;
	margin-bottom: 2rem;
}

.paymentSuccess-divider-soft {
	border-top: 1px solid #e5e7eb;
}

.paymentSuccess-title {
	font-size: 18px;
	font-weight: 700;
	margin: 18px 0 10px;
}

.paymentSuccess-smallTitle {
	font-weight: 600;
	margin: 6px 0 8px;
}

.paymentSuccess-required {
	color: #e02424;
	font-weight: 700
}

/* 버튼 지정색 */
.paymentSuccess-btnPrimary {
	background: #1e3a8a !important;
	color: #fff !important;
	border: 1px solid #1e3a8a !important;
	height: 40px !important;
}

.paymentSuccess-btnPrimary:hover,
.paymentSuccess-btnPrimary:focus,
.paymentSuccess-btnPrimary:active,
.paymentSuccess-btnPrimary:focus-visible {
	background: #2a4eb3 !important;
	color: #fff !important;
	filter: none;
	outline: none;
	box-shadow: 0 0 0 2px rgba(30, 58, 138, 0.25);
}

/* ===== 테이블 (세로 중앙 고정) ===== */
.paymentSuccess-orderTable thead th {
	border-bottom: 1px solid #e5e7eb !important;
	font-weight: 700;
	vertical-align: middle !important
}

.paymentSuccess-orderTable tbody td {
	vertical-align: middle !important;
	border-top: none
}

.paymentSuccess-orderTable-total {
	padding: 10px 0
}

/* 상품 셀 */
.paymentSuccess-prod {
	display: flex;
	gap: 12px;
	align-items: center
}

.paymentSuccess-prod-thumb {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border: 1px solid #eee;
	border-radius: 6px
}

.paymentSuccess-prod-name {
	font-weight: 600
}

.paymentSuccess-prod-sku {
	font-size: 12px
}

/* 셀 값 묶음(숫자+원+버튼) */
.paymentSuccess-cellVal {
	display: inline-flex !important;
	align-items: end !important;
	gap: 4px !important;
}

.paymentSuccess-cellGroup {
	gap: 8px !important
}

/* 수량 */
.paymentSuccess-qty {
	display: inline-flex;
	align-items: center;
	gap: 6px
}

.paymentSuccess-qty-input {
	width: 64px;
	text-align: center;
	padding: 2px 6px
}

.btn.btn-xs {
	--bs-btn-padding-y: .125rem;
	--bs-btn-padding-x: .375rem;
	--bs-btn-font-size: .75rem
}

/* ===== 주문자 정보 좌/우 폼 ===== */
.paymentSuccess-hForm {
	display: flex;
	flex-direction: column;
	gap: 10px
}

.paymentSuccess-hForm-row {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 12px;
	align-items: center
}

.paymentSuccess-hForm-label {
	font-weight: 600
}

.paymentSuccess-hForm-field .form-control {
	height: 40px
}

/* 입력 높이 통일 & 전화번호/라디오 */
.form-control {
	min-height: 40px
}

.paymentSuccess-phoneRow {
	display: flex;
	align-items: center;
	gap: 8px
}

.paymentSuccess-phoneRow .form-control {
	width: 100%;
	max-width: 95px
}

.paymentSuccess-radioRow {
	display: flex !important;
	gap: 20px !important;
	align-items: center !important;
	flex-wrap: wrap !important
}

.table.paymentSuccess-orderTable tbody>tr>td:first-child {
	border-top: 1px solid #ddd;
}

.paymentSuccess-radio {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important
}

/* ===== Select (화살표 오버레이 + 고정 폭) ===== */
.paymentSuccess-selectWrap {
	position: relative;
	display: inline-block;
	width: 320px !important;
	max-width: 100%
}

.paymentSuccess-selectWrap select.form-select {
	width: 100% !important;
	min-height: 40px !important;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background: #fff;
	padding-right: 44px !important;
	border: 1px solid #cfcfcf
}

.paymentSuccess-selectWrap::after {
	content: "\25BC";
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	color: #666;
	font-size: 12px
}

.paymentSuccess-selectWrap:focus-within::after {
	content: "\25B2"
}

.paymentSuccess-wideControl {
	width: 100% !important;
	max-width: 100%;
}

/* ===== 요약 카드 ===== */
.paymentSuccess-summary.card {
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .04);
}

/* 인디케이터(.cart-hpad)와 좌우 32px 패딩을 통일 — 모든 섹션이 같은 라인에 정렬 */
@media (min-width: 992px) {
	.paymentSuccess-orderTable-wrap,
	.paymentSuccess-main {
		padding-left: 32px;
		padding-right: 32px;
	}
	.paymentSuccess-main {
		align-items: stretch !important;
	}
}

@media (min-width: 992px) and (max-width: 1200px) {
	.paymentSuccess-orderTable-wrap,
	.paymentSuccess-main {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* sticky 래퍼 — 우측 col-lg-4 안에 wrapper 두고 거기에만 sticky 적용
   (aside에 직접 sticky를 걸면 .card의 display:flex와 충돌해 동작 불안정) */
.paymentSuccess-stickyWrap {
	position: -webkit-sticky;
	position: sticky;
	top: 16px;
}

/* 카드 자체는 max-height만 제한 (내용 길어지면 카드 안에서 스크롤) */
.paymentSuccess-summary.card {
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	overflow-x: hidden;
}

/* 2026-05-19 모바일 대응 — sticky 요약카드가 폼을 가리는 문제 해소.
   - 모바일에서는 sticky 해제 → 자연 스크롤로 폼 아래에 위치
   - max-height/overflow 도 해제하여 컨텐츠 전체 표시 */
@media (max-width: 991.98px) {
	.paymentSuccess-stickyWrap {
		position: static !important;
		top: auto !important;
	}
	.paymentSuccess-summary.card {
		max-height: none !important;
		overflow: visible !important;
		margin-top: 16px;
	}
}

/* 결제수단 라디오 그리드 (우측 카드 안 2x2 배열) */
.paymentSuccess-radioGrid {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 8px !important;
}
.paymentSuccess-radioGrid .paymentSuccess-radio {
	margin: 0 !important;
}

/* 결제수단 블록 영역 */
.paymentSuccess-payMethodBlock {
	padding-top: 4px;
}

/* ===== 결제수단 토글 버튼형 선택 UI ===== */
.paymentSuccess-payMethodGrid {
	display: flex;
	gap: 6px;
}

.paymentSuccess-payCard {
	position: relative;
	flex: 1;
	margin: 0;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.paymentSuccess-payCard input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
	width: 0;
	height: 0;
}

.paymentSuccess-payCard-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 10px 6px;
	border: 1.5px solid #d1d5db;
	border-radius: 8px;
	background: #fff;
	color: #6b7280;
	font-size: 12px;
	font-weight: 500;
	transition: border-color .15s ease, background-color .15s ease, color .15s ease;
	user-select: none;
	min-height: 60px;
	text-align: center;
}

.paymentSuccess-payCard:hover .paymentSuccess-payCard-inner {
	border-color: #1e3a8a;
	color: #1e3a8a;
	background: #f5f8ff;
}

.paymentSuccess-payCard-icon {
	font-size: 18px;
	display: block;
	transition: color .15s ease;
}

.paymentSuccess-payCard-label {
	display: block;
	white-space: nowrap;
	line-height: 1.2;
}

/* 선택 상태 — 솔리드 채움 */
.paymentSuccess-payCard input:checked ~ .paymentSuccess-payCard-inner {
	border-color: #1e3a8a;
	background: #1e3a8a;
	color: #fff;
	font-weight: 600;
}

.paymentSuccess-payCard input:checked ~ .paymentSuccess-payCard-inner .paymentSuccess-payCard-icon {
	color: #fff;
}

/* 키보드 포커스 표시 */
.paymentSuccess-payCard input:focus-visible ~ .paymentSuccess-payCard-inner {
	outline: 2px solid #1e3a8a;
	outline-offset: 2px;
}

@media (max-width: 575.98px) {
	.paymentSuccess-payMethodGrid {
		flex-wrap: wrap;
	}
	.paymentSuccess-payCard {
		flex: 1 1 calc(50% - 3px);
	}
	.paymentSuccess-payCard-inner {
		min-height: 54px;
	}
}

/* 결제수단 라벨 — 좌측 요약 리스트(쿠폰할인 등) 텍스트와 동일한 크기/굵기 */
.paymentSuccess-payMethodLabel {
	font-size: inherit;
	font-weight: 400;
}

/* 환불계좌 박스 — 우측 요약 카드 안 결제수단 위에서 동적으로 노출 (450px 카드 폭 안에서 세로 배치) */
.paymentSuccess-refundBox-inner {
	border: 1px solid #f3dd8c;
	background: #fff8e5;
	border-radius: 8px;
	padding: 12px 14px;
}
.paymentSuccess-refundBox-title {
	font-weight: 700;
	color: #8a6a00;
	margin-bottom: 6px;
	font-size: 14px;
}
.paymentSuccess-refundBox-sub {
	font-weight: normal;
	font-size: 12px;
	color: #8a6a00;
}
.paymentSuccess-refundBox-desc {
	font-size: 12px;
	color: #5b4b10;
	margin-bottom: 10px;
	line-height: 1.5;
}
.paymentSuccess-refundBox-fields {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.paymentSuccess-refundBox-field .form-label {
	font-size: 13px;
	margin-bottom: 4px;
}
.paymentSuccess-refundBox-field .form-control {
	min-height: 36px;
	height: 36px;
	font-size: 13px;
}

.paymentSuccess-summary .card-body {
	padding: 18px !important
}

.paymentSuccess-summary-list {
	list-style: none;
	padding: 0;
	margin: 0
}

.paymentSuccess-summary-list>li {
	display: flex !important;
	justify-content: space-between;
	align-items: center !important;
	padding: 8px 0;
	border-bottom: 1px dashed #eee
}

.paymentSuccess-summary-list>li:last-child {
	border-bottom: 0
}

.paymentSuccess-spread {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important
}

.paymentSuccess-right {
	text-align: right !important;
	margin-left: auto !important
}

.paymentSuccess-grand {
	font-weight: 800;
	font-size: 18px
}

.paymentSuccess-centerY {
	display: inline-flex !important;
	align-items: center !important
}

.paymentSuccess-termsRow {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 12px !important
}

.paymentSuccess-termsLink {
	margin-left: auto !important
}

/* ===== 바닐라 모달 ===== */
.paymentSuccess-modal {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .4);
	z-index: 1000
}

.paymentSuccess-modal.is-open {
	display: block
}

.paymentSuccess-modal-dialog {
	background: #fff;
	border-radius: 10px;
	max-width: 640px;
	margin: 60px auto;
	padding: 0;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .2)
}

.paymentSuccess-modal-lg {
	max-width: 900px
}

.paymentSuccess-modal-header,
.paymentSuccess-modal-footer {
	padding: 12px 16px;
	display: flex;
	align-items: center
}

.paymentSuccess-modal-header {
	border-bottom: 1px solid #eee;
	justify-content: space-between
}

.paymentSuccess-modal-footer {
	border-top: 1px solid #eee;
	justify-content: flex-end;
	gap: 8px
}

.paymentSuccess-modal-body {
	padding: 16px;
	max-height: 60vh;
	overflow: auto
}

.paymentSuccess-modal-close {
	background: none;
	border: 0;
	font-size: 22px;
	line-height: 1;
	cursor: pointer
}

/* ===== 쿠폰 모달 - 변경/추가(간결한 디자인) ===== */
.paymentSuccess-filterRow .form-label {
	margin-bottom: 6px !important;
}

.paymentSuccess-filterBtn {
	align-self: end;
}

/* 버튼 하단 정렬 */
.paymentSuccess-cpnNotice {
	margin: 8px 0 12px !important;
	font-size: 12px;
	color: #6b7280;
}

/* 리스트 아이템 간격 최소화 & 좌우 정렬 */
.paymentSuccess-couponList .list-group-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px !important;
	border: 1px solid #eee;
}

.paymentSuccess-cpnItem {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 6px 12px;
	width: 100%;
	align-items: center;
}

.paymentSuccess-cpnName {
	font-weight: 700;
}

.paymentSuccess-cpnAmt {
	font-weight: 700;
}

.paymentSuccess-cpnPeriod {
	grid-column: 1 / -1;
	font-size: 12px;
	color: #6b7280;
	margin-top: -2px;
}

/* 체크박스 여백 최소화 */
.paymentSuccess-cpnCheck {
	margin: 0 2px 0 0 !important;
}

@media(min-width:992px) {
	.text-end {
		text-align: right !important;
	}
}

/* ===== 모바일 테이블: 라벨 | 값(우측에 한 덩어리) ===== */
@media (max-width: 991.98px) {
	.paymentSuccess-summary.card {
		position: static;
		margin-top: 12px
	}

	.paymentSuccess-orderTable thead {
		display: none
	}

	.paymentSuccess-orderTable tbody tr {
		display: block;
		border-top: 1px solid #e5e7eb;
		padding: 6px 0
	}

	.paymentSuccess-wideControl {
		width: 100% !important;
		max-width: 100%
	}

	.paymentSuccess-btnPrimary {
		width: 100% !important;
	}

	.paymentSuccess-orderTable tbody td {
		display: flex !important;
		align-items: center !important;
		gap: 12px !important;
		padding: .45rem .25rem !important
	}

	.paymentSuccess-orderTable tbody td::before {
		content: attr(data-label);
		flex: 0 0 auto;
		font-weight: 600;
		color: #374151;
		min-width: 92px
	}

	.paymentSuccess-cellVal {
		margin-left: auto !important
	}
}

@media (max-width:575.98px) {
	.paymentSuccess-summary .card-body {
		padding: 14px !important
	}
}

/* 결제수단 행 정렬 고정 */
.paymentSuccess-main .row.paymentSuccess-payRow,
.paymentSuccess-main .row.mb-4 {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
}

.paymentSuccess-main .row.mb-4>.col-auto {
	flex: 0 0 88px !important;
	max-width: 88px !important;
	padding-left: 0 !important;
}

.paymentSuccess-main .row.mb-4>.col {
	flex: 1 1 auto !important;
	padding-left: 0 !important;
}

.paymentSuccess-radioRow {
	height: 40px !important;
	gap: 20px !important;
	margin-left: 0 !important;
}

.paymentSuccess-termsRow {
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
}

.paymentSuccess-termsRow .form-check-input {
	margin: 0 !important;
}

.paymentSuccess-termsRow label {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	margin: 0 !important;
	line-height: 1 !important;
}

.paymentSuccess-termsLink {
	margin-left: auto !important;
	align-self: center !important;
	text-align: right !important;
}

@media (max-width: 991.98px) {
	.paymentSuccess-radioRow {
		gap: 10px !important;
	}

	/* 수량 값 컨트롤을 우측으로 붙임 */
	.paymentSuccess-orderTable tbody td[data-label="수량"] .paymentSuccess-qty {
		margin-left: auto !important;
	}

	/* 버튼/인풋 높이 통일 */
	.paymentSuccess-qty .btn,
	.paymentSuccess-qty-input {
		height: 32px !important;
	}
}

/* Payment Start End */
/* Payment End Start */
/* ===== 공통 구분선/타이틀 ===== */
.paymentEnd-divider-strong {
	border-top: 2px solid #111;
	margin-bottom: 2rem;
}

.paymentEnd-divider-soft {
	border-top: 1px solid #e5e7eb;
}

/* 버튼 스타일 */
.paymentEnd-btnPrimary {
	background: #1e3a8a !important;
	color: #fff !important;
	border: 1px solid #1e3a8a !important;
}

.paymentEnd-btnPrimary:hover {
	filter: brightness(1.05);
}

.paymentEnd-btnGhost {
	background: #fff !important;
	color: #1e3a8a !important;
	border: 1px solid #1e3a8a !important;
}

.paymentEnd-btnGhost:hover {
	filter: brightness(0.98);
}

/* ===== 완료 헤더 ===== */
.paymentEnd-head {
	text-align: center;
	margin-top: 8px;
	margin-bottom: 18px;
}

.paymentEnd-headIcon {
	margin: 8px auto 12px;
	width: 72px;
	height: 72px;
}

/* 초록 배경 원 + 흰색 V (인라인 SVG에 클래스가 없어도 적용되도록 태그 셀렉터 사용) */
.paymentEnd-headIcon svg circle {
	fill: #22c55e;
	stroke: #22c55e;
}

.paymentEnd-headIcon svg path {
	stroke: #ffffff;
}

.paymentEnd-headTitle {
	font-size: 22px;
	font-weight: 800;
	margin: 8px 0 6px;
}

.paymentEnd-headSub {
	color: #4b5563;
	margin: 0 0 8px;
}

/* 영수증 버튼: PC에서는 우측 정렬, 모바일에서는 좌측 정렬(요청 반영) */
.paymentEnd-headActions {
	text-align: right;
	margin-top: 6px;
}

.paymentEnd-receiptBtn {
	min-width: 140px;
}

/* ===== 테이블 ===== */
.paymentEnd-orderTable thead th {
	border-bottom: 1px solid #e5e7eb !important;
	font-weight: 700;
	vertical-align: middle !important;
}

.paymentEnd-orderTable tbody td {
	vertical-align: middle !important;
	border-top: none;
}

.paymentEnd-prod {
	display: flex;
	gap: 12px;
	align-items: center;
}

.paymentEnd-prod-thumb {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border: 1px solid #eee;
	border-radius: 6px;
}

.paymentEnd-prod-name {
	font-weight: 600;
}

.paymentEnd-prod-sku {
	font-size: 12px;
}

.paymentEnd-cellVal {
	display: inline-flex !important;
	align-items: end !important;
	gap: 4px !important;
}

.paymentEnd-cellGroup {
	gap: 8px !important;
}

.paymentEnd-qtyText {
	display: inline-block;
	min-width: 16px;
}

/* ===== 주문 정보(총합 영역 대체) ===== */
/* 데스크톱: 한 줄 유지 (nowrap) */
.paymentEnd-orderInfo {
	padding: 10px 0;
}

.paymentEnd-orderInfo-row {
	display: flex;
	flex-wrap: nowrap;
	/* ★ 데스크톱에서 1줄 고정 */
	gap: 10px;
	align-items: center;
	justify-content: flex-start;
}

.paymentEnd-orderInfo-divider {
	color: #9ca3af;
}

.paymentEnd-ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	/* 데스크톱에서는 말줄임 */
}

/* ===== 버튼 두 개 (고정 폭) - 중앙 정렬 ===== */
.paymentEnd-actionBtns {
	margin-top: 12px;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
	/* ★ 항상 중앙 정렬 */
}

.paymentEnd-fixedBtn {
	width: 200px;
}

/* ===== 출고 안내 박스 - 중앙 정렬 ===== */
.paymentEnd-shippingNotice {
	margin-top: 14px;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	padding: 12px 14px;
	display: flex;
	gap: 12px;
	align-items: center;
	justify-content: center;
	/* ★ 항상 중앙 정렬 */
	background: #fafbff;
	text-align: center;
	/* 텍스트도 중앙 */
}

.paymentEnd-shippingIcon {
	flex: 0 0 auto;
}

.paymentEnd-shippingText p {
	margin: 0;
	line-height: 1.5;
}

/* ===== 모달 (필요 시) ===== */
.paymentEnd-modal {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .4);
	z-index: 1000;
}

.paymentEnd-modal.is-open {
	display: block;
}

.paymentEnd-modal-dialog {
	background: #fff;
	border-radius: 10px;
	max-width: 640px;
	margin: 60px auto;
	padding: 0;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
}

.paymentEnd-modal-header,
.paymentEnd-modal-footer {
	padding: 12px 16px;
	display: flex;
	align-items: center;
}

.paymentEnd-modal-header {
	border-bottom: 1px solid #eee;
	justify-content: space-between;
}

.paymentEnd-modal-footer {
	border-top: 1px solid #eee;
	justify-content: flex-end;
	gap: 8px;
}

.paymentEnd-modal-body {
	padding: 16px;
	max-height: 60vh;
	overflow: auto;
}

.paymentEnd-modal-close {
	background: none;
	border: 0;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}

/* ===== 반응형 ===== */

/* 데스크톱 정렬 유틸 */
@media (min-width: 992px) {
	.text-end {
		text-align: right !important;
	}
}

/* 태블릿/모바일: 테이블 → 라벨/값 구조, 주문정보 줄바꿈, 버튼 50% */
@media (max-width: 991.98px) {
	table.table.paymentEnd-orderTable>tbody>tr>td:first-child {
		border-top: none;
	}

	/* 헤더 영역 버튼 정렬: 모바일에서 좌측 */
	.paymentEnd-headActions {
		text-align: left;
	}

	.paymentEnd-orderTable thead {
		display: none;
	}

	.paymentEnd-orderTable tbody tr {
		display: block;
		border-top: 1px solid #e5e7eb;
		padding: 6px 0;
	}

	.paymentEnd-orderTable tbody td {
		display: flex !important;
		align-items: center !important;
		gap: 12px !important;
		padding: .45rem .25rem !important;
	}

	.paymentEnd-orderTable tbody td::before {
		content: attr(data-label);
		flex: 0 0 auto;
		font-weight: 600;
		color: #374151;
		min-width: 110px;
	}

	.paymentEnd-cellVal {
		margin-left: auto !important;
	}

	/* 주문 정보: 태블릿 이하에서 자동 줄바꿈(= 2줄 이상) */
	.paymentEnd-orderInfo {
		margin-top: 6px;
		padding-top: 8px;
		border-top: 1px dashed #e5e7eb;
	}

	.paymentEnd-orderInfo-row {
		flex-wrap: wrap;
		/* ★ 줄바꿈 허용 */
		gap: 6px;
	}

	.paymentEnd-orderInfo-divider {
		display: none;
	}

	/* 좁은 화면에서는 구분선 생략 */
	.paymentEnd-ellipsis {
		white-space: normal;
	}

	/* 주소 등 여러 줄 허용 */

	/* 버튼 2개: 50% */
	.paymentEnd-actionBtns {
		gap: 10px;
	}

	.paymentEnd-fixedBtn {
		width: calc(50% - 5px);
	}

	/* 출고 안내: 텍스트 줄바꿈 여유 */
	.paymentEnd-shippingNotice {
		align-items: flex-start;
	}
}

/* 더 타이트한 모바일(폰) 여백 */
@media (max-width: 575.98px) {
	.paymentEnd-headTitle {
		font-size: 20px;
	}

	.paymentEnd-headActions {
		margin-top: 10px;
	}

	.paymentEnd-shippingNotice {
		padding: 10px 12px;
	}
}

/* Payment End End */

/* Receipt Start */
.receiptPage-toolbar {
	max-width: 500px;
	margin: 0 auto 8px;
}

.receiptPage-toolbar .receiptPage-btn+.receiptPage-btn {
	margin-left: 8px;
}

/* 버튼 디자인 */
.receiptPage-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border-radius: 8px;
	line-height: 1.1;
	font-weight: 600;
	font-size: 13px;
	transition: all .15s ease;
	border: 1px solid transparent;
}

.receiptPage-btn svg {
	display: block;
}

.receiptPage-btnPrimary {
	background: #111;
	color: #fff !important;
	border-color: #111;
}

.receiptPage-btnPrimary:hover {
	filter: brightness(1.05);
}

.receiptPage-btnPrimary:focus {
	box-shadow: 0 0 0 3px rgba(17, 17, 17, .15);
	outline: 0;
}

.receiptPage-btnGhost {
	background: #fff;
	color: #111 !important;
	border-color: #cfcfcf;
}

.receiptPage-btnGhost:hover {
	background: #f7f7f7;
}

.receiptPage-btnGhost:focus {
	box-shadow: 0 0 0 3px rgba(51, 51, 51, .12);
	outline: 0;
}

/* 가운데 정렬 래퍼 */
.receiptPage-scaleWrap {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	overflow: visible;
	/* 내부 스크롤 제거 */
}

/* 영수증 본문: 가로 500, 높이 자동(모바일 잘림 방지) */
.receiptPage-paper {
	width: 100%;
	max-width: 500px;
	background: #fff;
	color: #111;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .05);
	height: auto;
	/* ★ 고정 높이 제거 */
}

.receiptPage-cardBody {
	padding: 18px 20px;
	display: flex;
	flex-direction: column;
	height: auto;
	/* ★ 자동 높이 */
}

/* 타이포/섹션 */
.receiptPage-title {
	margin: 0 0 2px;
	font-weight: 800;
	font-size: 20px;
}

.receiptPage-sub {
	color: #6b7280;
	font-size: 12px;
}

.receiptPage-sectionTitle {
	font-weight: 700;
	margin: 6px 0 8px;
}

.receiptPage-itemCard {
	padding: 10px 12px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	margin-bottom: 8px;
}

.receiptPage-itemCard .receiptPage-grid {
	margin-top: 4px;
	padding: 0;
}

/* Key/Value */
.receiptPage-kvKey {
	font-size: 12px;
	color: #6b7280;
	margin-bottom: 2px;
}

.receiptPage-kvVal {
	font-weight: 600;
}

.receiptPage-kvSub {
	color: #6b7280;
	font-size: 12px;
}

.receiptPage-grand {
	font-weight: 800;
	font-size: 18px;
}

/* 구분선 */
.receiptPage-divider-strong {
	border: 0;
	border-top: 2px solid #111;
	margin: 10px 0;
}

/* 테이블 */
.receiptPage-items {
	margin-bottom: 0;
}

.receiptPage-items>thead>tr>th {
	border-bottom: 1px solid #e5e7eb;
	font-weight: 700;
}

.receiptPage-items>tbody>tr>td {
	border-top: none;
}

/* 긴 주소 줄바꿈 */
.receiptPage-addr {
	word-break: keep-all;
}

/* 하단 상호(중앙) */
.receiptPage-bottomBrand {
	margin-top: 12px;
	text-align: center;
	color: #9ca3af;
	font-size: 12px;
}

/* 작은 화면에서 여백만 약간 축소 */
@media (max-width: 575px) {
	.receiptPage-cardBody {
		padding: 16px;
	}
}

/* 인쇄: 영수증만 인쇄 + 페이지 여백 최소화 */
@media print {
	body * {
		visibility: hidden !important;
	}

	#receiptPage-receipt,
	#receiptPage-receipt * {
		visibility: visible !important;
	}

	#receiptPage-receipt {
		position: absolute;
		left: 0;
		top: 0;
		width: 500px !important;
		height: auto !important;
		border: 0 !important;
		box-shadow: none !important;
	}
}

/* Receipt End*/

/* ===== 모바일 상세내역 모달(충돌 방지: cart-mobile-modal- 접두사) ===== */

/* 오버레이(bootstrap backdrop) */
.modal-backdrop.in {
	opacity: 0.6 !important;
	/* rgba(0,0,0,0.6) 느낌 */
}

/* 모달 너비 90% + 중앙정렬 */
#detailModal.cart-mobile-modal-root .cart-mobile-modal-dialog {
	width: 90% !important;
	max-width: 520px;
	/* 너무 커지지 않게 상한 */
	margin: 7vh auto !important;
	/* 위아래 여백 */
}

/* 내용 영역: 자연스럽게 높이 맞추되, 너무 길면 스크롤 */
#detailModal.cart-mobile-modal-root .cart-mobile-modal-content {
	border-radius: 12px;
	overflow: hidden;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-body {
	max-height: 72vh;
	overflow-y: auto;
	padding: 12px 14px;
}

/* 헤더/푸터 */
#detailModal.cart-mobile-modal-root .cart-mobile-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 14px;
	border-bottom: 1px solid #eee;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-close {
	background: transparent;
	border: 0;
	font-size: 22px;
	line-height: 1;
	padding: 0 4px;
	cursor: pointer;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-footer {
	padding: 10px 14px;
	border-top: 1px solid #eee;
	text-align: right;
}

/* 요약 박스 */
#detailModal.cart-mobile-modal-root .cart-mobile-modal-summary {
	border: 1px solid #eee;
	border-radius: 10px;
	padding: 10px 12px;
	margin-bottom: 12px;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-summary-row {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 6px 0;
	font-size: 13px;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-summary-row.strong {
	font-weight: 800;
	border-top: 1px dashed #ddd;
	margin-top: 6px;
	padding-top: 10px;
}

/* 리스트 */
#detailModal.cart-mobile-modal-root .cart-mobile-modal-item {
	display: flex;
	gap: 10px;
	padding: 12px 0;
	border-bottom: 1px solid #f0f0f0;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-item-thumb {
	flex: 0 0 64px;
	width: 64px;
	height: 64px;
	border: 1px solid #eee;
	border-radius: 10px;
	overflow: hidden;
	background: #fafafa;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-item-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-item-info {
	flex: 1 1 auto;
	min-width: 0;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-item-name {
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 6px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-item-sub {
	font-size: 12px;
	color: #555;
	margin-bottom: 8px;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-item-line {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 2px 0;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-item-line .k {
	color: #777;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-item-line .v {
	text-align: right;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 70%;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-item-prices {
	border-top: 1px dashed #e6e6e6;
	padding-top: 8px;
	font-size: 12px;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-item-price-row {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 2px 0;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-item-price-row.strong {
	font-weight: 800;
	font-size: 13px;
}

#detailModal.cart-mobile-modal-root .cart-mobile-modal-empty {
	padding: 18px 6px;
	text-align: center;
	color: #777;
	font-size: 13px;
}

/* ───────────────────────────────────────────────────────────────
   결제 사전 입력 검증 — 누락 input 강조
   - JS validatePaymentInputs() 에서 .payment-invalid-input 클래스 토글
   - 사용자가 다시 입력 시작하면 input 이벤트로 자동 해제
   ─────────────────────────────────────────────────────────────── */
.payment-invalid-input {
	border: 2px solid #e74c3c !important;
	background-color: #fff5f5 !important;
	box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.15) !important;
	transition: border-color 0.15s ease, background-color 0.15s ease,
	            box-shadow 0.15s ease;
}
.payment-invalid-input:focus {
	outline: none !important;
	border-color: #c0392b !important;
	box-shadow: 0 0 0 4px rgba(231, 76, 60, 0.25) !important;
}

/* ───────────────────────────────────────────────────────────────
   키움 수기결제 (CARD_SUGI) 모달
   - paymentStart 위에 오버레이로 렌더
   - JS 가 동적 생성/제거. 별도 페이지 팝업 X.
   ─────────────────────────────────────────────────────────────── */
#kiwoom-sugi-modal .ksugi-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.55);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
#kiwoom-sugi-modal .ksugi-dialog {
	background: #fff;
	border-radius: 14px;
	max-width: 460px;
	width: 100%;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: 0 20px 60px rgba(0,0,0,0.25);
	padding: 24px 22px;
	position: relative;
}
#kiwoom-sugi-modal .ksugi-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
}
#kiwoom-sugi-modal .ksugi-header h3 {
	font-size: 18px;
	font-weight: 700;
	color: #094BAD;
	margin: 0;
}
#kiwoom-sugi-modal .ksugi-close {
	background: none;
	border: 0;
	font-size: 24px;
	color: #6b7280;
	cursor: pointer;
	padding: 0 4px;
}
#kiwoom-sugi-modal .ksugi-close:hover {
	color: #111827;
}

#kiwoom-sugi-modal .ksugi-summary {
	background: #f9fafb;
	border-radius: 8px;
	padding: 14px 16px;
	margin-bottom: 18px;
}
#kiwoom-sugi-modal .ksugi-row {
	display: flex;
	justify-content: space-between;
	font-size: 13px;
	margin-bottom: 6px;
	color: #6b7280;
}
#kiwoom-sugi-modal .ksugi-row:last-child { margin-bottom: 0; }
#kiwoom-sugi-modal .ksugi-row strong { color: #111827; }
#kiwoom-sugi-modal .ksugi-total {
	font-size: 15px;
	border-top: 1px dashed #d1d5db;
	padding-top: 8px;
	margin-top: 8px;
}
#kiwoom-sugi-modal .ksugi-total strong { color: #094BAD; font-weight: 700; }

#kiwoom-sugi-modal .ksugi-form .ksugi-field { margin-bottom: 12px; }
#kiwoom-sugi-modal .ksugi-form label {
	font-size: 13px;
	font-weight: 600;
	color: #374151;
	display: block;
	margin-bottom: 6px;
}
#kiwoom-sugi-modal .ksugi-req { color: #e74c3c; }
#kiwoom-sugi-modal .ksugi-form input,
#kiwoom-sugi-modal .ksugi-form select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #d1d5db;
	border-radius: 6px;
	font-size: 14px;
	background: #fff;
	box-sizing: border-box;
}
#kiwoom-sugi-modal .ksugi-form input:focus,
#kiwoom-sugi-modal .ksugi-form select:focus {
	outline: none;
	border-color: #094BAD;
	box-shadow: 0 0 0 3px rgba(9,75,173,0.15);
}
#kiwoom-sugi-modal .ksugi-row-2 {
	display: flex;
	gap: 10px;
	margin-bottom: 12px;
}
#kiwoom-sugi-modal .ksugi-row-2 .ksugi-field { flex: 1; margin-bottom: 0; }

#kiwoom-sugi-modal .ksugi-actions {
	display: flex;
	gap: 10px;
	margin-top: 8px;
}
#kiwoom-sugi-modal .ksugi-cancel,
#kiwoom-sugi-modal .ksugi-submit {
	padding: 12px;
	border-radius: 8px;
	font-size: 15px;
	cursor: pointer;
	border: 0;
}
#kiwoom-sugi-modal .ksugi-cancel {
	flex: 1;
	border: 1px solid #d1d5db;
	background: #fff;
	color: #374151;
}
#kiwoom-sugi-modal .ksugi-submit {
	flex: 2;
	background: #094BAD;
	color: #fff;
	font-weight: 600;
}
#kiwoom-sugi-modal .ksugi-submit:disabled {
	background: #6b7280;
	cursor: not-allowed;
}

#kiwoom-sugi-modal .ksugi-notice {
	font-size: 11px;
	color: #9ca3af;
	margin-top: 14px;
	text-align: center;
	line-height: 1.5;
}

@media (max-width: 480px) {
	#kiwoom-sugi-modal .ksugi-dialog { padding: 18px 16px; }
	#kiwoom-sugi-modal .ksugi-row-2 { flex-direction: column; gap: 12px; }
}
