/**
 * Custom-theme checkout compatibility bridge.
 *
 * Keeps decorative pseudo-elements behind controls and exposes the real
 * VDS Core multipart payment controls without changing the theme design.
 */
.vds-checkout-page .grad-border::before,
.vds-checkout-page .grad-border::after {
	pointer-events: none !important;
}

.vds-checkout-page .grad-border > * {
	position: relative;
	z-index: 1;
}

.vds-checkout-page #dueToggle,
.vds-checkout-page #payNowBtn,
.vds-checkout-page .pm-radio,
.vds-checkout-page .pm-card,
.vds-checkout-page #txnId,
.vds-checkout-page #paymentDate,
.vds-checkout-page .co-upload {
	pointer-events: auto !important;
}

.vds-checkout-page .co-upload {
	position: relative;
	cursor: pointer;
}

.vds-checkout-page .vds-core-proof-input {
	position: absolute;
	inset: 0;
	z-index: 5;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.vds-checkout-page .vds-core-checkout-message {
	margin-top: 1rem;
	padding: 0.85rem 1rem;
	border: 1px solid #f1b5ba;
	border-radius: 0.75rem;
	background: #fff6f6;
	color: #9f1d2a;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.5;
}

.vds-checkout-page .vds-core-checkout-message.is-success {
	border-color: #9cdec0;
	background: #f0fff7;
	color: #11663e;
}

.vds-checkout-page .vds-core-payment-instruction {
	margin-bottom: 1rem;
	padding: 0.9rem 1rem;
	border: 1px solid #cceff5;
	border-radius: 0.85rem;
	background: #f3fcfe;
	color: #28445f;
	font-size: 0.8125rem;
	line-height: 1.55;
	white-space: pre-line;
}

.vds-checkout-page .pm-radio:disabled + .pm-card {
	cursor: not-allowed !important;
	opacity: 0.5;
	filter: grayscale(0.35);
}

.vds-checkout-page #payNowBtn[aria-busy="true"] {
	cursor: wait;
	opacity: 0.72;
	transform: none !important;
}

.vds-checkout-page .co-upload.is-file-selected {
	border-color: #0cc0df;
	background: #effcff;
}

/* Final manual-payment confirmation card. */
.vds-checkout-page .vds-payment-confirmation-card {
	padding: 1.15rem;
	border: 1px solid #cceff5;
	border-radius: 1rem;
	background: linear-gradient(145deg, #f4fcfe 0%, #eefaff 100%);
}

.vds-checkout-page .vds-payment-confirmation-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.25rem;
	align-items: start;
}

.vds-checkout-page .vds-payment-account-title {
	margin: 0 0 0.85rem;
	color: #081d3a;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.35;
}

.vds-checkout-page .vds-payment-detail-list {
	margin: 0;
}

.vds-checkout-page .vds-payment-detail-row {
	display: grid;
	grid-template-columns: minmax(96px, 0.42fr) minmax(0, 1fr);
	gap: 0.8rem;
	align-items: center;
	padding: 0.42rem 0;
	border-bottom: 1px solid rgba(8, 29, 58, 0.07);
}

.vds-checkout-page .vds-payment-detail-row[hidden] {
	display: none !important;
}

.vds-checkout-page .vds-payment-detail-row:last-child {
	border-bottom: 0;
}

.vds-checkout-page .vds-payment-detail-row dt {
	color: #60748a;
	font-size: 0.78rem;
	font-weight: 600;
}

.vds-checkout-page .vds-payment-detail-row dd {
	display: flex;
	min-width: 0;
	margin: 0;
	align-items: center;
	gap: 0.55rem;
	color: #0a1930;
	font-size: 0.84rem;
	font-weight: 700;
	overflow-wrap: anywhere;
}

.vds-checkout-page .vds-payment-detail-row--highlight dd {
	color: #009bb8;
	font-size: 0.94rem;
	font-weight: 800;
}

.vds-checkout-page .vds-copy-payment-data {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 0.3rem;
	padding: 0.28rem 0.52rem;
	border: 1px solid #b9e7ef;
	border-radius: 0.5rem;
	background: #fff;
	color: #087e94;
	font-size: 0.68rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.vds-checkout-page .vds-copy-payment-data:hover,
.vds-checkout-page .vds-copy-payment-data:focus-visible,
.vds-checkout-page .vds-copy-payment-data.is-copied {
	border-color: #0cc0df;
	background: #0cc0df;
	color: #081d3a;
	outline: none;
}


.vds-checkout-page .vds-payment-instructions-block {
	margin-top: 1rem;
	padding-top: 0.9rem;
	border-top: 1px solid rgba(8, 29, 58, 0.08);
}

.vds-checkout-page .vds-payment-instructions-block h5 {
	display: flex;
	margin: 0 0 0.45rem;
	align-items: center;
	gap: 0.45rem;
	color: #081d3a;
	font-size: 0.78rem;
	font-weight: 800;
}

.vds-checkout-page .vds-payment-instructions-block h5 i {
	color: #0aa9c4;
}

.vds-checkout-page .vds-payment-instructions-block p {
	margin: 0;
	color: #465f76;
	font-size: 0.78rem;
	line-height: 1.65;
	white-space: pre-line;
}

@media (max-width: 420px) {
	.vds-checkout-page .vds-payment-detail-row {
		grid-template-columns: 1fr;
		gap: 0.2rem;
	}

	.vds-checkout-page .vds-payment-detail-row dd {
		justify-content: space-between;
	}
}

/* Checkout 0.9.5: compact summary, brand row and QR-free confirmation. */
.vds-checkout-page .vds-order-summary-card,
.vds-checkout-page .vds-order-summary-card .vds-order-summary-content {
	min-height: 0 !important;
	height: auto !important;
}

.vds-checkout-page .vds-order-summary-card .vds-order-summary-content {
	padding-top: 1.75rem !important;
	justify-content: flex-start !important;
}

.vds-checkout-page .vds-payment-method-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 639px) {
	.vds-checkout-page .vds-payment-method-grid {
		gap: 0.5rem !important;
	}
}
