.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; }

/* QuickCab journey data: readable summary cards without changing checkout flow. */
.quickcab-checkout-journey {
	clear: both;
	margin: 24px 0;
	padding: 22px;
	border: 1px solid #dbe4ee;
	border-top: 4px solid var(--qcdbs-primary, #2367f2);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(15, 23, 42, .07);
}

.quickcab-checkout-journey-heading { margin-bottom: 16px; }
.quickcab-checkout-journey-heading > span {
	display: block;
	margin-bottom: 4px;
	color: var(--qcdbs-primary, #2367f2);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.quickcab-checkout-journey-heading h3 { margin: 0 0 4px; color: #13213a; font-size: 1.25em; }
.quickcab-checkout-journey-heading p { margin: 0; color: #64748b; }
.quickcab-checkout-details-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
.quickcab-checkout-details-grid > .form-row {
	float: none !important;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: 13px 14px !important;
	border: 1px solid #e2e8f0;
	border-radius: 11px;
	background: #f8fafc;
}
.quickcab-checkout-details-grid > .form-row label { display: block; margin: 0 0 4px; color: #475569; font-size: 12px; }
.quickcab-checkout-details-grid > .form-row .col-sm-7 { float: none !important; width: 100% !important; padding: 0 !important; }
.quickcab-checkout-details-grid .static-form-control { margin: 0 !important; color: #111827; font-weight: 700; overflow-wrap: anywhere; }
.quickcab-checkout-details-grid .static-form-control ul { margin: 5px 0 0 18px; }
.quickcab-checkout-companion-heading {
	grid-column: 1 / -1;
	margin-top: 7px;
	padding: 11px 13px;
	border-left: 4px solid #0ea5a4;
	border-radius: 9px;
	background: #ecfdfb;
	color: #115e59;
}
.quickcab-checkout-companion-row { border-color: #bfe8e4 !important; background: #f4fffd !important; }

.qcdbs-checkout-flight { border-left: 4px solid #0ea5a4; background: #f7fbfb; }
.qcdbs-checkout-pricing { border-left-color: #f0b429; background: #fffdf6; }
.qcdbs-checkout-pricing .qcdbs-checkout-flight-row:last-child { margin-top: 5px; padding: 12px 10px; border-radius: 9px; background: #fff4c2; }

/* 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; }
	.quickcab-checkout-journey { padding: 17px; }
	.quickcab-checkout-details-grid { grid-template-columns: 1fr; }
}
