.qcdbs-checkout-payment-choice {
	margin: 24px 0;
	padding: 22px;
	border: 1px solid #dfe6ef;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
}

.qcdbs-checkout-payment-choice h3 {
	margin: 0 0 6px;
	color: #13213a;
	font-size: 1.15em;
}

.qcdbs-checkout-payment-choice > p {
	margin: 0 0 16px;
	color: #64748b;
}

.qcdbs-payment-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.qcdbs-payment-card {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px;
	border: 2px solid #dfe6ef;
	border-radius: 13px;
	background: #f8fafc;
	cursor: pointer;
	transition: .18s ease;
}

.qcdbs-payment-card:has(input:checked) {
	border-color: var(--qcdbs-primary, #2367f2);
	background: #f0f6ff;
	box-shadow: 0 0 0 3px rgba(35, 103, 242, .1);
}

.qcdbs-payment-card input {
	width: 20px !important;
	height: 20px !important;
	margin: 2px 0 0 !important;
	accent-color: var(--qcdbs-primary, #2367f2);
}

.qcdbs-payment-card span {
	display: grid;
	gap: 4px;
}

.qcdbs-payment-card strong { color: #13213a; }
.qcdbs-payment-card small { color: #64748b; line-height: 1.35; }

.qcdbs-plan-totals {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 16px 0 0;
}

.qcdbs-plan-totals > div {
	padding: 12px 14px;
	border: 1px solid #dfe6ef;
	border-radius: 10px;
	background: #f8fafc;
}

.qcdbs-plan-totals dt { margin: 0 0 4px; color: #64748b; font-size: 12px; font-weight: 700; }
.qcdbs-plan-totals dd { margin: 0; color: #13213a; font-size: 16px; font-weight: 800; }
.qcdbs-plan-totals .qcdbs-plan-due { border-color: #f0cf4a; background: #fff9db; }
.qcdbs-plan-totals .qcdbs-plan-balance { border-color: #cbd5e1; background: #f1f5f9; }

/* Stable Astra/WooCommerce checkout layout for every BeSmart child theme. */
body.woocommerce-checkout .site-content .ast-container,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout article,
body.woocommerce-checkout .entry-content {
	width: 100%;
	max-width: 1280px;
}

body.woocommerce-checkout .site-content .ast-container {
	margin-inline: auto;
	padding-inline: clamp(16px, 3vw, 38px);
}

body.woocommerce-checkout form.checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(340px, .85fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: start;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #order_review_heading {
	float: none !important;
	width: 100% !important;
	min-width: 0;
}

body.woocommerce-checkout #order_review_heading { grid-column: 2; margin: 0; }
body.woocommerce-checkout #order_review { grid-column: 2; }
body.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; }

body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
	font-size: max(15px, 1rem);
}

body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .select2-container .select2-selection {
	min-height: 46px;
	font-size: 16px;
	border-radius: 8px;
}

body.woocommerce-checkout #payment,
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
	border-radius: 12px;
}

@media (max-width: 900px) {
	body.woocommerce-checkout form.checkout.woocommerce-checkout { display: block; }
	body.woocommerce-checkout #customer_details,
	body.woocommerce-checkout #order_review_heading,
	body.woocommerce-checkout #order_review { width: 100% !important; margin-top: 24px; }
	body.woocommerce-checkout .col2-set .col-1,
	body.woocommerce-checkout .col2-set .col-2 { float: none !important; width: 100% !important; }
}

@media (max-width: 767px) {
	.qcdbs-payment-options { grid-template-columns: 1fr; }
	.qcdbs-plan-totals { grid-template-columns: 1fr; }
	.qcdbs-checkout-payment-choice { padding: 17px; }
}
