:root {
	--btech-checkout-red: #d9272e;
	--btech-checkout-red-dark: #b91f26;
	--btech-checkout-ink: #171a1f;
	--btech-checkout-muted: #626a75;
	--btech-checkout-border: #dfe3e8;
	--btech-checkout-surface: #ffffff;
	--btech-checkout-page: #f5f7f9;
	--btech-checkout-success: #137a45;
	--btech-checkout-focus: rgba( 217, 39, 46, 0.16 );
}

body.woocommerce-checkout:not(.woocommerce-order-received) {
	background: var(--btech-checkout-page);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .main-content,
body.woocommerce-checkout:not(.woocommerce-order-received) #main,
body.woocommerce-checkout:not(.woocommerce-order-received) .page-content {
	background: var(--btech-checkout-page);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .container {
	max-width: 1240px;
}

/* Existing Porto progress trail, modernized without changing its behavior. */
body.woocommerce-checkout:not(.woocommerce-order-received) .page-top,
body.woocommerce-checkout:not(.woocommerce-order-received) .checkout-page-title {
	background: transparent;
	border: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .checkout-page-title,
body.woocommerce-checkout:not(.woocommerce-order-received) .woo-page-header.page-header-8 {
	margin: 28px auto 24px;
	padding: 0 16px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .checkout-page-title li,
body.woocommerce-checkout:not(.woocommerce-order-received) .checkout-page-title a,
body.woocommerce-checkout:not(.woocommerce-order-received) .woo-page-header .breadcrumb li,
body.woocommerce-checkout:not(.woocommerce-order-received) .woo-page-header .breadcrumb a {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: -0.01em;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .checkout-page-title .active {
	color: var(--btech-checkout-red);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woo-page-header .breadcrumb {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	margin: 0;
	padding: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woo-page-header .breadcrumb li {
	display: flex;
	align-items: center;
	white-space: nowrap;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woo-page-header .breadcrumb .delimiter {
	margin: 0 12px;
}

.btech-checkout-intro {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin: 0 0 18px;
	padding: 18px 22px;
	background: #11151a;
	color: #fff;
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba( 16, 24, 40, 0.09 );
}

.btech-checkout-intro__title {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 218px;
}

.btech-checkout-intro__title strong,
.btech-checkout-intro__title span {
	display: block;
}

.btech-checkout-intro__title strong {
	font-size: 18px;
	line-height: 1.2;
}

.btech-checkout-intro__title span {
	margin-top: 3px;
	color: #b8c0ca;
	font-size: 13px;
}

.btech-checkout-intro__lock,
.btech-payment-reassurance__lock {
	position: relative;
	display: inline-block;
	width: 22px;
	height: 18px;
	border: 2px solid currentColor;
	border-radius: 5px;
	flex: 0 0 auto;
}

.btech-checkout-intro__lock::before,
.btech-payment-reassurance__lock::before {
	content: '';
	position: absolute;
	left: 4px;
	top: -10px;
	width: 10px;
	height: 10px;
	border: 2px solid currentColor;
	border-bottom: 0;
	border-radius: 8px 8px 0 0;
}

.btech-checkout-benefits {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.btech-checkout-intro .btech-checkout-benefits li {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	color: #eef1f4 !important;
	font-size: 13px;
	font-weight: 600;
}

.btech-checkout-benefits li span {
	display: inline-grid;
	place-items: center;
	width: 18px;
	height: 18px;
	background: #153c29;
	color: #64d694;
	border-radius: 50%;
	font-size: 11px;
}

/* Coupon remains available, but no longer dominates the first screen. */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle {
	margin: 0 0 16px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle .woocommerce-info {
	min-height: auto;
	margin: 0;
	padding: 12px 16px;
	background: transparent;
	border: 1px dashed #bfc6cf;
	border-radius: 10px;
	color: var(--btech-checkout-muted);
	font-size: 13px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout_coupon {
	margin: -4px 0 18px;
	padding: 18px;
	background: var(--btech-checkout-surface);
	border: 1px solid var(--btech-checkout-border);
	border-radius: 12px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout {
	position: relative;
	margin: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout > .btech-express-row {
	display: block !important;
	width: 100%;
	margin: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .btech-express-row > #wc-stripe-express-checkout-element,
body.woocommerce-checkout:not(.woocommerce-order-received) .btech-express-row > #wc-stripe-express-checkout-button-separator {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .btech-express-row > #wc-stripe-express-checkout-element {
	display: grid !important;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 10px;
	clear: both;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #wc-stripe-express-checkout-element > .StripeElement {
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .btech-express-row > .checkout-order-review:empty {
	display: none !important;
}

.btech-express-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 12px;
}

.btech-express-label > div {
	display: flex;
	align-items: center;
	gap: 10px;
}

.btech-express-label strong {
	font-size: 17px;
	color: var(--btech-checkout-ink);
}

.btech-express-label > span {
	color: var(--btech-checkout-muted);
	font-size: 13px;
}

.btech-checkout-step {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	background: var(--btech-checkout-red);
	color: #fff;
	border-radius: 50%;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	flex: 0 0 auto;
}

/* Normalize every express wallet supplied by Stripe. */
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout > iframe,
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout > [id*='express-checkout'],
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout > [class*='express-checkout'] {
	min-height: 50px;
	border-radius: 10px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout > p:first-of-type {
	margin: 14px 0 18px;
	color: var(--btech-checkout-muted);
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #wc-stripe-express-checkout-button-separator {
	display: flex !important;
	align-items: center;
	gap: 10px;
	margin: 16px 0 18px !important;
	color: var(--btech-checkout-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-align: center;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #wc-stripe-express-checkout-button-separator::before,
body.woocommerce-checkout:not(.woocommerce-order-received) #wc-stripe-express-checkout-button-separator::after {
	content: '';
	flex: 1 1 auto;
	border-top: 1px solid #d8dde3;
}

.btech-checkout-grid {
	display: grid;
	grid-template-columns: minmax( 0, 1.12fr ) minmax( 390px, 0.88fr );
	width: 100%;
	gap: 28px;
	align-items: start;
	margin-top: 4px;
}

.btech-checkout-card {
	background: var(--btech-checkout-surface);
	border: 1px solid var(--btech-checkout-border);
	border-radius: 16px;
	box-shadow: 0 10px 28px rgba( 24, 32, 42, 0.06 );
}

.btech-checkout-details {
	padding: 28px;
}

.btech-checkout-summary {
	position: static;
	padding: 26px;
}

.admin-bar .btech-checkout-summary {
	top: auto;
}

.btech-section-heading,
.btech-payment-intro {
	margin: 0 0 22px;
}

.btech-section-heading__line,
.btech-payment-intro > div {
	display: flex;
	align-items: center;
	gap: 10px;
}

.btech-section-heading h3,
.btech-payment-intro h3,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading {
	margin: 0;
	color: var(--btech-checkout-ink);
	font-size: 22px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.btech-section-heading p,
.btech-payment-intro p {
	margin: 7px 0 0 38px;
	color: var(--btech-checkout-muted);
	font-size: 13px;
	line-height: 1.45;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading {
	display: block;
	width: auto;
	margin: 0 0 18px;
	padding: 0 0 16px;
	border-bottom: 1px solid var(--btech-checkout-border);
}

/* Reset legacy Porto columns inside the new responsive card. */
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .col-1,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .col-2,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review {
	float: none;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

/* Porto's desktop checkout makes the review table and payment area adjacent
 * columns. Inside our summary card that leaves each side unusably narrow.
 * Keep the page itself two-column, but stack every summary section vertically. */
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review {
	display: block !important;
	overflow: visible !important;
}

/* Porto places the table and payment panel inside a Bootstrap flex row. Reset
 * that inner row as well; otherwise each section remains approximately 50%
 * wide even though the surrounding order review is full width. */
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review > .row {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review > .row > [class*='col-'] {
	display: block !important;
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review > .row > .woocommerce-checkout-review-order-table,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review > .row > #payment {
	flex: none !important;
	width: 100% !important;
	max-width: 100% !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review > *,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .woocommerce-checkout-review-order-table,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review #payment {
	float: none !important;
	display: block;
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .woocommerce-checkout-review-order-table {
	display: table;
	table-layout: auto;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .woocommerce-checkout-review-order-table thead {
	display: table-header-group;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .woocommerce-checkout-review-order-table tbody {
	display: table-row-group;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .woocommerce-checkout-review-order-table tfoot {
	display: table-footer-group;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .woocommerce-checkout-review-order-table tr {
	display: table-row;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review .woocommerce-checkout-review-order-table td {
	display: table-cell;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #order_review #payment {
	clear: both;
	margin-top: 24px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .col-2 {
	margin-top: 8px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details h3:not(.btech-section-heading h3) {
	margin: 20px 0 14px;
	font-size: 18px;
	font-weight: 750;
}

/* Form controls: larger tap targets, strong focus state, less visual noise. */
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row {
	margin-bottom: 16px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .form-row label {
	margin-bottom: 7px;
	color: #303640;
	font-size: 13px;
	font-weight: 700;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .form-row .required {
	color: var(--btech-checkout-red);
}

body.woocommerce-checkout:not(.woocommerce-order-received) .input-text,
body.woocommerce-checkout:not(.woocommerce-order-received) select,
body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container .select2-selection--single {
	min-height: 52px;
	padding: 13px 14px;
	background: #fff;
	border: 1px solid #cfd5dc;
	border-radius: 10px;
	box-shadow: none;
	color: var(--btech-checkout-ink);
	font-size: 15px;
	line-height: 24px;
	transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: 24px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container .select2-selection--single .select2-selection__arrow {
	top: 13px;
	right: 10px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .input-text:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) select:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container--focus .select2-selection--single,
body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container--open .select2-selection--single {
	border-color: var(--btech-checkout-red);
	box-shadow: 0 0 0 4px var(--btech-checkout-focus);
	outline: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) textarea.input-text {
	min-height: 108px;
	resize: vertical;
}

.btech-optional-field label,
.btech-optional-field .optional {
	color: #707884 !important;
}

/* Order summary and delivery choices. */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table {
	margin: 0 0 20px;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table td {
	padding: 13px 0;
	border: 0;
	border-bottom: 1px solid #eceff2;
	vertical-align: middle;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table th {
	color: #444b55;
	font-size: 13px;
	font-weight: 700;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table td {
	color: var(--btech-checkout-ink);
	font-size: 14px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .order-total td {
	padding-top: 17px;
	border-bottom: 0;
	font-size: 18px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #shipping_method {
	margin: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #shipping_method li {
	position: relative;
	margin: 8px 0;
	padding: 11px 12px;
	background: #f8f9fa;
	border: 1px solid #e3e7eb;
	border-radius: 9px;
	line-height: 1.35;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #shipping_method input[type='radio'] {
	margin-right: 7px;
	accent-color: var(--btech-checkout-red);
}

/* Payment section: gateways remain fully controlled by Stripe and PayPal. */
body.woocommerce-checkout:not(.woocommerce-order-received) #payment {
	margin-top: 6px;
	padding-top: 20px;
	background: transparent;
	border-top: 1px solid var(--btech-checkout-border);
}

/* The theme adds a generic heading and Stripe supplies its own accessible
 * payment-method heading. Keep one clear label instead of showing both. */
body.woocommerce-checkout:not(.woocommerce-order-received) #payment > h3 {
	display: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods {
	margin: 0;
	padding: 0;
	border: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li {
	margin: 0 0 10px;
	padding: 14px;
	background: #fff;
	border: 1px solid var(--btech-checkout-border);
	border-radius: 11px;
	transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li:has( > input:checked ) {
	border-color: var(--btech-checkout-red);
	box-shadow: 0 0 0 3px var(--btech-checkout-focus);
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li > input {
	accent-color: var(--btech-checkout-red);
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li > label {
	color: var(--btech-checkout-ink);
	font-size: 14px;
	font-weight: 750;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment div.payment_box {
	margin: 12px 0 0;
	padding: 0;
	background: transparent;
	color: var(--btech-checkout-muted);
	font-size: 13px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment div.payment_box::before {
	display: none;
}

.btech-payment-reassurance {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 13px 0 0;
	padding: 12px 8px 0;
	color: var(--btech-checkout-muted);
	font-size: 12px;
	line-height: 1.45;
	text-align: left;
}

.btech-payment-reassurance__lock {
	width: 15px;
	height: 13px;
	border-width: 1.5px;
	color: var(--btech-checkout-success);
}

.btech-payment-reassurance__lock::before {
	left: 3px;
	top: -8px;
	width: 7px;
	height: 8px;
	border-width: 1.5px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #place_order {
	width: 100%;
	min-height: 56px;
	margin-top: 16px;
	padding: 15px 20px;
	background: var(--btech-checkout-red);
	border: 0;
	border-radius: 11px;
	box-shadow: 0 8px 18px rgba( 217, 39, 46, 0.23 );
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 0.01em;
	text-transform: none;
	transition: background 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease;
	box-sizing: border-box;
	white-space: normal;
}

/* Porto and the newsletter extension both add layout rules to the final order
 * row. Keep every consent, message and action in one predictable vertical
 * stack so an unsubscribed shopper can never squeeze the total or button. */
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .form-row.place-order {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	clear: both;
	width: 100% !important;
	max-width: none !important;
	gap: 12px;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order > *,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order > p,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order > div,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order .form-row {
	float: none !important;
	clear: both !important;
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order > h3 {
	display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order #place_order {
	float: none !important;
	clear: both !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order .mailchimp-newsletter,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order .mc4wp-checkbox,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order [class*='newsletter'] {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
}

/* The site-wide footer already provides newsletter signup. Keep the final
 * checkout decision focused on payment, and neutralize malformed markup from
 * Newsletter 9.3.3 without removing its plugin from the rest of the site. */
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .btech-checkout-newsletter,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .btech-duplicate-grand-total {
	display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .btech-order-button-wrap {
	display: block !important;
	float: none !important;
	clear: both !important;
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #place_order:hover,
body.woocommerce-checkout:not(.woocommerce-order-received) #place_order:focus {
	background: var(--btech-checkout-red-dark);
	box-shadow: 0 10px 22px rgba( 185, 31, 38, 0.28 );
	transform: translateY( -1px );
}

body.woocommerce-checkout:not(.woocommerce-order-received) #place_order:focus-visible {
	outline: 3px solid rgba( 217, 39, 46, 0.25 );
	outline-offset: 3px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-privacy-policy-text,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-terms-and-conditions-wrapper {
	color: var(--btech-checkout-muted);
	font-size: 12px;
	line-height: 1.5;
}

/* Returning-customer login: present it as a helpful shortcut, not an alert. */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-login-toggle {
	margin: 0 0 16px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-login-toggle .woocommerce-info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 9px;
	min-height: auto;
	margin: 0;
	padding: 13px 16px;
	background: #fff;
	border: 1px solid var(--btech-checkout-border);
	border-left: 4px solid var(--btech-checkout-red);
	border-radius: 10px;
	box-shadow: 0 4px 14px rgba( 24, 32, 42, 0.04 );
	color: var(--btech-checkout-muted);
	font-size: 13px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-login-toggle .woocommerce-info::before {
	display: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-login-toggle a {
	flex: 0 0 auto;
	padding: 7px 12px;
	background: var(--btech-checkout-ink);
	border-radius: 7px;
	color: #fff;
	font-weight: 800;
	text-decoration: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-login-toggle a:hover,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-login-toggle a:focus-visible {
	background: var(--btech-checkout-red-dark);
	color: #fff;
}

/* Porto outputs a custom login toggle instead of WooCommerce's standard
 * notice. Give that customer-only markup the same clear treatment. */
body.woocommerce-checkout:not(.woocommerce-order-received) .btech-login-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	margin: 0 0 16px;
	padding: 11px 13px 11px 16px;
	background: #fff;
	border: 1px solid var(--btech-checkout-border);
	border-left: 4px solid var(--btech-checkout-red);
	border-radius: 10px;
	box-shadow: 0 4px 14px rgba( 24, 32, 42, 0.04 );
}

body.woocommerce-checkout:not(.woocommerce-order-received) .btech-login-toggle__prompt {
	color: var(--btech-checkout-muted);
	font-size: 13px;
	font-weight: 700;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .btech-login-toggle > a.showlogin {
	float: none !important;
	min-width: 72px;
	margin: 0 !important;
	padding: 8px 13px;
	background: var(--btech-checkout-ink);
	border: 0;
	border-radius: 7px;
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .btech-login-toggle > a.showlogin:hover,
body.woocommerce-checkout:not(.woocommerce-order-received) .btech-login-toggle > a.showlogin:focus-visible {
	background: var(--btech-checkout-red-dark);
	color: #fff;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 0 16px;
	margin: -4px 0 18px;
	padding: 20px;
	background: #fff;
	border: 1px solid var(--btech-checkout-border);
	border-radius: 12px;
	box-shadow: 0 8px 22px rgba( 24, 32, 42, 0.05 );
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login > p:first-child,
body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login .clear,
body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login .lost_password {
	grid-column: 1 / -1;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login > p:first-child {
	margin: 0 0 16px;
	color: var(--btech-checkout-muted);
	font-size: 13px;
	line-height: 1.55;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login .button {
	min-height: 46px;
	padding: 11px 20px;
	background: var(--btech-checkout-ink);
	border: 0;
	border-radius: 9px;
	color: #fff;
	font-weight: 800;
	text-transform: none;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login .button:hover,
body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login .button:focus-visible {
	background: var(--btech-checkout-red-dark);
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login .lost_password {
	margin: 2px 0 0;
	font-size: 13px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.login.global-login {
	margin: -4px 0 18px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) form.login.global-login .featured-box {
	margin: 0;
	border: 1px solid var(--btech-checkout-border);
	border-radius: 12px;
	box-shadow: 0 8px 22px rgba( 24, 32, 42, 0.05 );
}

/* Account, delivery, newsletter and legal checkboxes. Preserve the native
 * input for accessibility while refining Porto's visible custom control. */
body.woocommerce-checkout:not(.woocommerce-order-received) #ship-to-different-address,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-account-fields .create-account,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .woocommerce-form__label-for-checkbox,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .mc4wp-checkbox label,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .mailchimp-newsletter label {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 10px 0;
	padding: 12px 13px;
	background: #f8f9fa;
	border: 1px solid #e3e7eb;
	border-radius: 10px;
	color: #303640;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #ship-to-different-address {
	margin: 18px 0 8px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #ship-to-different-address .porto-control-input,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-account-fields .porto-control-input {
	position: static !important;
	display: block;
	flex: 0 0 auto;
	width: 19px;
	height: 19px;
	margin: 1px 0 0 !important;
	padding: 0;
	-webkit-appearance: none !important;
	appearance: none !important;
	clip: auto !important;
	clip-path: none !important;
	visibility: visible !important;
	opacity: 1 !important;
	z-index: 1 !important;
	background: #fff;
	border: 1.5px solid #9fa8b4;
	border-radius: 5px;
	box-shadow: none;
	cursor: pointer;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #ship-to-different-address .porto-control-input:checked,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-account-fields .porto-control-input:checked {
	background-color: var(--btech-checkout-red);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='m3.2 8.2 3 3.1 6.7-7'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 15px 15px;
	border-color: var(--btech-checkout-red);
}

body.woocommerce-checkout:not(.woocommerce-order-received) #ship-to-different-address .porto-control-label,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-account-fields .porto-control-label {
	display: block;
	min-height: auto;
	margin: 0;
	padding: 0 !important;
	cursor: pointer;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #ship-to-different-address .porto-control-label::before,
body.woocommerce-checkout:not(.woocommerce-order-received) #ship-to-different-address .porto-control-label::after,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-account-fields .porto-control-label::before,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-account-fields .porto-control-label::after {
	display: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #ship-to-different-address .porto-control-input:focus-visible,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-account-fields .porto-control-input:focus-visible {
	outline: 3px solid var(--btech-checkout-focus);
	outline-offset: 2px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment input[type='checkbox']:not(.porto-control-input) {
	width: 18px !important;
	height: 18px;
	margin: 1px 8px 0 0;
	accent-color: var(--btech-checkout-red);
	cursor: pointer;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment input[type='checkbox']:focus-visible {
	outline: 3px solid var(--btech-checkout-focus);
	outline-offset: 2px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #payment .woocommerce-form__label-for-checkbox,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .mc4wp-checkbox label,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .mailchimp-newsletter label {
	cursor: pointer;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-terms-and-conditions-wrapper {
	margin-top: 12px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-terms-and-conditions-checkbox-text a,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-privacy-policy-text a,
body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login a {
	color: var(--btech-checkout-red-dark);
	font-weight: 700;
}

/* Clear, compact validation messages. */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-error,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-message,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-info {
	border-radius: 10px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-invalid .input-text,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-invalid select,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-invalid .select2-selection {
	border-color: #bd1e2d;
	box-shadow: 0 0 0 3px rgba( 189, 30, 45, 0.12 );
}

@media ( max-width: 1023px ) {
	body.woocommerce-checkout:not(.woocommerce-order-received) .btech-express-row > #wc-stripe-express-checkout-element {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.btech-checkout-intro {
		align-items: flex-start;
		flex-direction: column;
	}

	.btech-checkout-benefits {
		justify-content: flex-start;
	}

	.btech-checkout-grid {
		grid-template-columns: minmax( 0, 1fr );
		gap: 18px;
	}

	.btech-checkout-summary,
	.admin-bar .btech-checkout-summary {
		position: static;
	}
}

@media ( max-width: 767px ) {
	body.woocommerce-checkout:not(.woocommerce-order-received) .btech-express-row > #wc-stripe-express-checkout-element {
		grid-template-columns: minmax( 0, 1fr );
		gap: 8px;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .checkout-page-title,
	body.woocommerce-checkout:not(.woocommerce-order-received) .woo-page-header.page-header-8 {
		margin: 18px auto 14px;
		padding: 0 8px;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .checkout-page-title li,
	body.woocommerce-checkout:not(.woocommerce-order-received) .checkout-page-title a,
	body.woocommerce-checkout:not(.woocommerce-order-received) .woo-page-header .breadcrumb li,
	body.woocommerce-checkout:not(.woocommerce-order-received) .woo-page-header .breadcrumb a {
		font-size: 11px;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .woo-page-header .breadcrumb .delimiter {
		margin: 0 6px;
	}

	.btech-checkout-intro {
		gap: 14px;
		padding: 16px;
		border-radius: 12px;
	}

	.btech-checkout-benefits {
		display: grid;
		grid-template-columns: 1fr 1fr;
		width: 100%;
		gap: 10px;
	}

	.btech-checkout-benefits li {
		font-size: 11px;
	}

	.btech-express-label {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}

	.btech-express-label > span {
		margin-left: 38px;
	}

	.btech-checkout-details,
	.btech-checkout-summary {
		padding: 19px 16px;
		border-radius: 13px;
	}

	.btech-section-heading h3,
	.btech-payment-intro h3,
	body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading {
		font-size: 19px;
	}

	.btech-section-heading p,
	.btech-payment-intro p {
		margin-left: 38px;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .form-row-first,
	body.woocommerce-checkout:not(.woocommerce-order-received) .form-row-last {
		float: none;
		width: 100%;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .input-text,
	body.woocommerce-checkout:not(.woocommerce-order-received) select,
	body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container .select2-selection--single {
		min-height: 54px;
		font-size: 16px;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) #shipping_method li {
		padding: 12px 10px;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li {
		padding: 13px 11px;
	}

	.btech-payment-reassurance {
		align-items: flex-start;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login {
		grid-template-columns: minmax( 0, 1fr );
		padding: 17px 15px;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login > *,
	body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login > p:first-child,
	body.woocommerce-checkout:not(.woocommerce-order-received) form.woocommerce-form-login.login .lost_password {
		grid-column: 1;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-login-toggle .woocommerce-info {
		align-items: center;
		flex-direction: row;
		gap: 10px;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	body.woocommerce-checkout:not(.woocommerce-order-received) *,
	body.woocommerce-checkout:not(.woocommerce-order-received) *::before,
	body.woocommerce-checkout:not(.woocommerce-order-received) *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* Mobile checkout quantity controls are purchase-critical touch targets. */
@media (max-width: 767px) {
	body.woocommerce-checkout:not(.woocommerce-order-received) .quantity .plus,
	body.woocommerce-checkout:not(.woocommerce-order-received) .quantity .minus {
		width: 44px !important;
		min-width: 44px !important;
		height: 44px !important;
		min-height: 44px !important;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .quantity input.qty {
		height: 44px !important;
		min-height: 44px !important;
	}
}

/* Final QC: anchor the order-item remove control to its own product row. */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-review-order-table .cart_item .product-name {
    position: relative;
}
