/*
 * GT Conversion Checkout — Phase 1 authenticated staging preview.
 * Every rule is scoped to the preview body class.
 */

body.gtcc-preview-enabled {
	--gtcc-brand-primary: #7d0f82;
	--gtcc-brand-primary-hover: #68106c;
	--gtcc-brand-primary-soft: #98229e;
	--gtcc-brand-primary-deep: #590b5d;
	--gtcc-accent: var(--gtcc-brand-primary);
	--gtcc-bg: #f8f7fa;
	--gtcc-panel: #fff;
	--gtcc-text: #24212a;
	--gtcc-muted: #65606b;
	--gtcc-border: #e7e3ea;
	--gtcc-accent-surface: #fbf7fc;
	--gtcc-radius: 16px;
	--gtcc-shadow: 0 14px 36px rgba( 32, 24, 36, 0.07 );
	background: var(--gtcc-bg);
	color: var(--gtcc-text);
}

body.gtcc-preview-enabled *,
body.gtcc-preview-enabled *::before,
body.gtcc-preview-enabled *::after {
	box-sizing: border-box;
}

/* Keep the existing logo and header, while reducing their visual weight. */
body.gtcc-preview-enabled .site-header,
body.gtcc-preview-enabled .ast-primary-header-bar {
	background: #fff;
	border-block-end: 1px solid var(--gtcc-border);
	box-shadow: none;
}

body.gtcc-preview-enabled .ast-primary-header-bar .site-primary-header-wrap {
	min-height: 68px;
	padding-block: 6px;
}

body.gtcc-preview-enabled .site-branding img,
body.gtcc-preview-enabled .custom-logo {
	max-height: 48px;
	width: auto;
}

body.gtcc-preview-enabled #primary,
body.gtcc-preview-enabled .site-main,
body.gtcc-preview-enabled .entry-content,
body.gtcc-preview-enabled .jet-woo-builder-woocommerce-checkout {
	inline-size: 100%;
	max-inline-size: none;
}

/* Astra constrains the checkout's WooCommerce wrapper to 910px on desktop. */
body.gtcc-preview-enabled .entry-content > .woocommerce {
	inline-size: 100%;
	max-inline-size: none;
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

body.gtcc-preview-enabled .jet-woo-builder-woocommerce-checkout {
	padding-block: clamp( 20px, 3vw, 42px ) clamp( 48px, 7vw, 88px );
	padding-inline: clamp( 16px, 3vw, 32px );
}

/*
 * Jet template 37437 has one customer section and one combined review/payment
 * section. Phase 1 keeps both sections intact and lays them out as a safe grid.
 */
body.gtcc-preview-enabled form.checkout.woocommerce-checkout {
	inline-size: 100%;
	max-inline-size: var(--gtcc-layout-max-width);
	width: 100%;
	max-width: var(--gtcc-layout-max-width);
	margin-inline: auto;
}

/*
 * JetWooBuilder wraps every top-level checkout section in one .elementor root.
 * That wrapper, rather than the form itself, is the actual two-column grid.
 */
body.gtcc-preview-enabled form.checkout.woocommerce-checkout > .elementor {
	display: grid;
	grid-template-columns: minmax( 0, var(--gtcc-layout-customer-column) ) minmax( var(--gtcc-layout-summary-min-width), var(--gtcc-layout-summary-column) );
	grid-template-areas: "customer summary";
	gap: var(--gtcc-layout-column-gap);
	align-items: start;
	inline-size: 100%;
	width: 100%;
}

body.gtcc-preview-enabled form.checkout.woocommerce-checkout > * {
	min-inline-size: 0;
}

body.gtcc-preview-enabled .gtcc-legacy-intro,
body.gtcc-preview-enabled .gtcc-legacy-divider,
body.gtcc-preview-enabled .gtcc-legacy-step-column,
body.gtcc-preview-enabled form.checkout > .elementor > .elementor-element-4a85f1b,
body.gtcc-preview-enabled form.checkout > .elementor > .elementor-element-deac16e,
body.gtcc-preview-enabled .elementor-element-fca97f7,
body.gtcc-preview-enabled .elementor-element-a44e079 {
	display: none !important;
}

body.gtcc-preview-enabled .gtcc-customer-section,
body.gtcc-preview-enabled form.checkout > .elementor > .elementor-element-358c3c6 {
	grid-area: customer;
}

body.gtcc-preview-enabled .gtcc-summary-section,
body.gtcc-preview-enabled form.checkout > .elementor > .elementor-element-420f8d0 {
	grid-area: summary;
	position: sticky;
	top: var(--gtcc-layout-sticky-top);
	align-self: start;
	max-block-size: calc( 100vh - var(--gtcc-layout-sticky-clearance) );
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
}

body.gtcc-preview-enabled .gtcc-customer-section > .elementor-container,
body.gtcc-preview-enabled .gtcc-summary-section > .elementor-container,
body.gtcc-preview-enabled form.checkout > .elementor > .elementor-element-358c3c6 > .elementor-container,
body.gtcc-preview-enabled form.checkout > .elementor > .elementor-element-420f8d0 > .elementor-container {
	inline-size: 100%;
	max-inline-size: none;
}

body.gtcc-preview-enabled .gtcc-customer-column,
body.gtcc-preview-enabled .gtcc-summary-column,
body.gtcc-preview-enabled .elementor-element-2df9e67,
body.gtcc-preview-enabled .elementor-element-7bf8230 {
	inline-size: 100% !important;
	min-inline-size: 0;
}

body.gtcc-preview-enabled .gtcc-customer-column > .elementor-widget-wrap,
body.gtcc-preview-enabled .gtcc-summary-column > .elementor-widget-wrap,
body.gtcc-preview-enabled .elementor-element-2df9e67 > .elementor-widget-wrap,
body.gtcc-preview-enabled .elementor-element-7bf8230 > .elementor-widget-wrap {
	padding: 0 !important;
}

/* White panels and restrained hierarchy. */
body.gtcc-preview-enabled .gtcc-customer-widget,
body.gtcc-preview-enabled .gtcc-order-review-widget,
body.gtcc-preview-enabled .gtcc-payment-widget,
body.gtcc-preview-enabled .elementor-element-55a15e1,
body.gtcc-preview-enabled .elementor-element-f589511,
body.gtcc-preview-enabled .elementor-element-fd805ab {
	min-inline-size: 0;
	background: var(--gtcc-panel);
	border: 1px solid var(--gtcc-border);
	border-radius: var(--gtcc-radius);
	box-shadow: var(--gtcc-shadow);
}

body.gtcc-preview-enabled .gtcc-customer-widget,
body.gtcc-preview-enabled .elementor-element-55a15e1 {
	padding: clamp( 20px, 3vw, 34px );
}

body.gtcc-preview-enabled .gtcc-order-review-widget,
body.gtcc-preview-enabled .elementor-element-f589511 {
	padding: clamp( 18px, 2.2vw, 26px );
}

body.gtcc-preview-enabled .gtcc-payment-widget,
body.gtcc-preview-enabled .elementor-element-fd805ab {
	margin-block-start: 16px;
	padding: clamp( 18px, 2.2vw, 26px );
}

body.gtcc-preview-enabled .gtcc-legal-note-widget,
body.gtcc-preview-enabled .elementor-element-f9095a0 {
	margin-block: 14px 0;
	padding-inline: 4px;
	color: var(--gtcc-muted);
	font-size: 13px;
	line-height: 1.55;
	text-align: start;
}

body.gtcc-preview-enabled .gtcc-legal-note-widget p,
body.gtcc-preview-enabled .elementor-element-f9095a0 p {
	margin: 0;
}

body.gtcc-preview-enabled .gtcc-section-heading {
	margin-block: 0 22px;
	padding-block-end: 14px;
	border-block-end: 1px solid var(--gtcc-border);
	text-align: start;
}

body.gtcc-preview-enabled .gtcc-section-heading h2,
body.gtcc-preview-enabled .gtcc-shipping-heading h3 {
	margin: 0;
	color: var(--gtcc-text);
	font-family: inherit;
	font-size: clamp( 20px, 2vw, 24px );
	font-weight: 700;
	line-height: 1.3;
	text-align: start;
	text-transform: none;
	letter-spacing: 0;
}

/* Preserve the page-level H1 for assistive technology without adding visual noise. */
body.gtcc-preview-enabled header.entry-header.ast-header-without-markup {
	display: block;
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect( 0 0 0 0 );
	clip-path: inset( 50% );
	white-space: nowrap;
}

body.gtcc-preview-enabled header.entry-header.ast-header-without-markup .entry-title {
	display: block;
}

body.gtcc-preview-enabled .woocommerce-billing-fields > h3,
body.gtcc-preview-enabled #order_review_heading {
	display: none;
}

/* Billing fields retain their native IDs, names, labels, and validation. */
body.gtcc-preview-enabled .woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: var(--gtcc-layout-field-gap);
}

/*
 * Keep Woo's pre-populated country compact. Postcode remains visible because
 * its required/optional state can be changed outside GTCC by store plugins.
 */
body.gtcc-preview-enabled.gtcc-payment-experience-enabled #billing_country_field {
	display: none !important;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .woocommerce-billing-fields__field-wrapper > .form-row {
	order: 100;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #billing_first_name_field {
	order: 10;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #billing_last_name_field {
	order: 20;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #billing_address_1_field {
	order: 30;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #billing_address_2_field {
	order: 40;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #billing_city_field {
	order: 50;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #billing_state_field {
	order: 60;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #billing_phone_field {
	order: 70;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #billing_email_field {
	order: 80;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #billing_company_field {
	order: 90;
	grid-column: 1 / -1;
	margin-block-start: 4px;
	padding-block-start: 18px;
	border-block-start: 1px solid var(--gtcc-border);
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #billing_company_field label {
	color: var(--gtcc-muted);
	font-weight: 600;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #billing_note_field label {
	color: var(--gtcc-muted);
	font-weight: 600;
}

/* Phase 2A metadata supports native wrappers; Woo still renders every field. */
body.gtcc-preview-enabled.gtcc-field-renderer-enabled .gtcc-field-rendered {
	min-inline-size: 0;
}

/* Phase 2B adds logical section metadata to the same native wrapper. */
body.gtcc-preview-enabled.gtcc-section-engine-enabled .gtcc-section-child {
	min-inline-size: 0;
}

/* Phase 2D: semantic Customer boundaries only; native field layout is unchanged. */
body.gtcc-preview-enabled.gtcc-customer-section-enabled .gtcc-section-customer,
body.gtcc-preview-enabled.gtcc-customer-section-enabled .gtcc-section-header,
body.gtcc-preview-enabled.gtcc-customer-section-enabled .gtcc-section-body {
	display: block;
	min-inline-size: 0;
}

body.gtcc-preview-enabled.gtcc-customer-section-enabled .gtcc-section-header {
	margin: 0;
}

/* Phase 3.0: one cohesive Delivery Details surface around native billing output. */
body.gtcc-preview-enabled.gtcc-delivery-details-section-enabled .gtcc-customer-widget,
body.gtcc-preview-enabled.gtcc-delivery-details-section-enabled .elementor-element-55a15e1 {
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

body.gtcc-preview-enabled.gtcc-delivery-details-section-enabled .gtcc-section-delivery {
	display: block;
	min-inline-size: 0;
	background: var(--gtcc-panel);
	border: 1px solid var(--gtcc-border);
	border-radius: var(--gtcc-radius);
	box-shadow: none;
	overflow: hidden;
}

body.gtcc-preview-enabled.gtcc-delivery-details-section-enabled .gtcc-section-delivery > .gtcc-section-header,
body.gtcc-preview-enabled.gtcc-delivery-details-section-enabled .gtcc-section-delivery > .gtcc-section-body {
	display: block;
	min-inline-size: 0;
	padding: clamp( 20px, 3vw, 34px );
}

body.gtcc-preview-enabled.gtcc-delivery-details-section-enabled .gtcc-section-delivery > .gtcc-section-header {
	margin: 0;
	padding-block-end: 16px;
	background: #fcfbfd;
	border-block-end: 1px solid var(--gtcc-border);
}

body.gtcc-preview-enabled.gtcc-delivery-details-section-enabled .gtcc-section-delivery > .gtcc-section-body {
	padding-block-start: 24px;
}

body.gtcc-preview-enabled.gtcc-delivery-details-section-enabled .gtcc-section-title {
	margin: 0;
	color: var(--gtcc-text);
	font-family: inherit;
	font-size: clamp( 21px, 2vw, 25px );
	font-weight: 750;
	line-height: 1.3;
	text-align: start;
	text-transform: none;
	letter-spacing: 0;
}

/* Visual guidance only: native sections and lifecycle remain unchanged. */
body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-section-title,
body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-shipping-heading h3,
body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-heading h2 {
	display: flex;
	gap: 10px;
	align-items: center;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-section-title::before,
body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-shipping-heading h3::before,
body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-heading h2::before,
body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-step-badge {
	display: inline-flex;
	flex: 0 0 28px;
	align-items: center;
	justify-content: center;
	inline-size: 28px;
	block-size: 28px;
	background: var(--gtcc-accent-surface);
	color: var(--gtcc-brand-primary);
	border: 1px solid rgba( 125, 15, 130, 0.24 );
	border-radius: 50%;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-section-title::before {
	content: "1";
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-shipping-heading h3::before {
	content: "2";
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-heading h2::before {
	content: "3";
}

/* Registry-owned group classes provide dividers without moving field nodes. */
body.gtcc-preview-enabled.gtcc-delivery-details-section-enabled .gtcc-section-delivery .gtcc-field-rendered:not(.gtcc-field-group-address) + .gtcc-field-group-address,
body.gtcc-preview-enabled.gtcc-delivery-details-section-enabled .gtcc-section-delivery .gtcc-field-group-address + .gtcc-field-group-customer,
body.gtcc-preview-enabled.gtcc-delivery-details-section-enabled .gtcc-section-delivery .gtcc-field-rendered:not(.gtcc-field-group-additional) + .gtcc-field-group-additional {
	padding-block-start: var(--gtcc-layout-field-gap);
	border-block-start: 1px solid var(--gtcc-border);
}

body.gtcc-preview-enabled .woocommerce-billing-fields__field-wrapper .form-row {
	float: none;
	inline-size: auto;
	min-inline-size: 0;
	margin: 0;
	padding: 0;
}

body.gtcc-preview-enabled .woocommerce-billing-fields__field-wrapper .form-row-wide,
body.gtcc-preview-enabled .woocommerce-billing-fields__field-wrapper .address-field {
	grid-column: 1 / -1;
}

body.gtcc-preview-enabled form.checkout .form-row label {
	display: block;
	margin-block-end: 8px;
	color: var(--gtcc-text);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	text-align: start;
}

body.gtcc-preview-enabled form.checkout .required {
	color: #a20b30;
	font-size: 12px;
	font-weight: 800;
}

body.gtcc-preview-enabled form.checkout input.input-text,
body.gtcc-preview-enabled form.checkout input[type="email"],
body.gtcc-preview-enabled form.checkout input[type="tel"],
body.gtcc-preview-enabled form.checkout input[type="text"],
body.gtcc-preview-enabled form.checkout select,
body.gtcc-preview-enabled form.checkout textarea,
body.gtcc-preview-enabled form.checkout .select2-container .select2-selection--single {
	inline-size: 100%;
	min-block-size: 56px;
	padding-block: 13px;
	padding-inline: 16px;
	background: #fff;
	color: var(--gtcc-text);
	border: 1px solid #ded9e2;
	border-radius: 14px;
	box-shadow: inset 0 1px 1px rgba( 36, 33, 42, 0.025 );
	font: inherit;
	line-height: 1.35;
	text-align: start;
	transition: border-color 150ms ease-out, box-shadow 150ms ease-out, background-color 150ms ease-out;
}

@media ( hover: hover ) {
	body.gtcc-preview-enabled form.checkout input.input-text:hover,
	body.gtcc-preview-enabled form.checkout input[type="email"]:hover,
	body.gtcc-preview-enabled form.checkout input[type="tel"]:hover,
	body.gtcc-preview-enabled form.checkout input[type="text"]:hover,
	body.gtcc-preview-enabled form.checkout select:hover,
	body.gtcc-preview-enabled form.checkout textarea:hover,
	body.gtcc-preview-enabled form.checkout .select2-container .select2-selection--single:hover {
		border-color: #aaa3af;
	}
}

body.gtcc-preview-enabled form.checkout textarea {
	min-block-size: 108px;
	resize: vertical;
}

body.gtcc-preview-enabled form.checkout .select2-container {
	inline-size: 100% !important;
	min-inline-size: 0;
}

body.gtcc-preview-enabled form.checkout .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: 26px;
	text-align: start;
}

body.gtcc-preview-enabled form.checkout .select2-container .select2-selection--single .select2-selection__arrow {
	inset-block-start: 50%;
	inset-inline-end: 12px;
	transform: translateY( -50% );
}

body.gtcc-preview-enabled form.checkout input:focus,
body.gtcc-preview-enabled form.checkout select:focus,
body.gtcc-preview-enabled form.checkout textarea:focus,
body.gtcc-preview-enabled form.checkout button:focus-visible,
body.gtcc-preview-enabled form.checkout a:focus-visible,
body.gtcc-preview-enabled form.checkout .select2-container--focus .select2-selection {
	border-color: var(--gtcc-accent);
	outline: 0;
	box-shadow: 0 0 0 4px rgba( 125, 15, 130, 0.12 );
}

body.gtcc-preview-enabled form.checkout .woocommerce-invalid input.input-text,
body.gtcc-preview-enabled form.checkout .woocommerce-invalid select,
body.gtcc-preview-enabled form.checkout .woocommerce-invalid .select2-selection {
	border-color: #b4233f;
}

/* Native review table and native shipping radios remain the source of truth. */
body.gtcc-preview-enabled #order_review,
body.gtcc-preview-enabled .woocommerce-checkout-review-order-table {
	inline-size: 100%;
	width: 100%;
	min-inline-size: 0;
}

body.gtcc-preview-enabled #order_review {
	float: none;
}

/* Override Astra's desktop 40% review width inside the Jet review widget. */
body.gtcc-preview-enabled.woocommerce-checkout form.checkout.woocommerce-checkout #order_review {
	inline-size: 100%;
	width: 100%;
	float: none;
}

body.gtcc-preview-enabled .woocommerce-checkout-review-order-table {
	margin: 0;
	border: 0;
	border-collapse: collapse;
	table-layout: fixed;
}

body.gtcc-preview-enabled .woocommerce-checkout-review-order-table th,
body.gtcc-preview-enabled .woocommerce-checkout-review-order-table td {
	padding-block: 13px;
	padding-inline: 8px;
	border-block-end: 1px solid var(--gtcc-border);
	color: var(--gtcc-text);
	font-size: 14px;
	line-height: 1.5;
	overflow-wrap: anywhere;
	text-align: start;
	vertical-align: top;
}

body.gtcc-preview-enabled .woocommerce-checkout-review-order-table th:first-child,
body.gtcc-preview-enabled .woocommerce-checkout-review-order-table td:first-child {
	padding-inline-start: 0;
}

body.gtcc-preview-enabled .woocommerce-checkout-review-order-table th:last-child,
body.gtcc-preview-enabled .woocommerce-checkout-review-order-table td:last-child {
	padding-inline-end: 0;
	text-align: end;
}

body.gtcc-preview-enabled .woocommerce-checkout-review-order-table .product-name {
	inline-size: 70%;
}

body.gtcc-preview-enabled .woocommerce-checkout-review-order-table .order-total th,
body.gtcc-preview-enabled .woocommerce-checkout-review-order-table .order-total td {
	padding-block-start: 18px;
	border-block-end: 0;
	font-size: 18px;
	font-weight: 750;
}

body.gtcc-preview-enabled .woocommerce-checkout-review-order-table ul#shipping_method {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: start;
}

body.gtcc-preview-enabled .woocommerce-checkout-review-order-table ul#shipping_method li {
	margin-block: 0 10px;
	line-height: 1.5;
}

/*
 * Phase 3.1: the canonical input + label pair becomes the card. WooCommerce
 * still owns every input, value, checked state, method, price and refresh.
 */
body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method {
	display: grid;
	gap: var(--gtcc-shipping-card-gap);
}

/* Give the selector the review panel's full width instead of the product column. */
body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping {
	display: grid;
	grid-template-columns: minmax( 0, 1fr );
	inline-size: var(--gtcc-shipping-row-width);
	width: var(--gtcc-shipping-row-width);
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping > th,
body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping > td {
	display: block;
	inline-size: 100%;
	width: 100%;
	padding-inline: 0;
	text-align: start !important;
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping > th {
	padding-block-end: 8px;
	border-block-end: 0;
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping > td {
	padding-block-start: 0;
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method > li {
	--gtcc-shipping-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7.5 12 3l8 4.5v9L12 21l-8-4.5z'/%3E%3Cpath d='M4 7.5 12 12l8-4.5M12 12v9'/%3E%3C/svg%3E");
	position: relative;
	min-inline-size: 0;
	min-block-size: var(--gtcc-shipping-card-min-height);
	margin: 0;
	padding: 0;
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method > li::after {
	content: "";
	position: absolute;
	z-index: 1;
	inset-block-start: 50%;
	inset-inline-end: 16px;
	inline-size: 24px;
	block-size: 24px;
	background: var(--gtcc-brand-primary);
	-webkit-mask: var(--gtcc-shipping-icon) center / contain no-repeat;
	mask: var(--gtcc-shipping-icon) center / contain no-repeat;
	pointer-events: none;
	opacity: 0.82;
	transform: translateY( -50% );
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method > li:has( input.shipping_method[value="flat_rate:15"] ) {
	--gtcc-shipping-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2M18.5 4.5l1.5 1.5'/%3E%3C/svg%3E");
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method > li:has( input.shipping_method[value="local_pickup:16"] ) {
	--gtcc-shipping-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6-5.4 6-11a6 6 0 1 0-12 0c0 5.6 6 11 6 11Z'/%3E%3Ccircle cx='12' cy='10' r='2'/%3E%3C/svg%3E");
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method > li:has( input.shipping_method[value="free_shipping:17"] ) {
	--gtcc-shipping-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='6' width='17' height='12' rx='2'/%3E%3Cpath d='m4.5 7 7.5 6 7.5-6'/%3E%3C/svg%3E");
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method > li:has( input.shipping_method[value="flat_rate:18"] ) {
	--gtcc-shipping-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v10H3zM14 10h3l3 3v3h-6z'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3C/svg%3E");
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method > li:has( input.shipping_method[value="woo-ups-pickups"] ) {
	--gtcc-shipping-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9h9v10H5zM5 9l4.5-3L14 9M9.5 6v3'/%3E%3Cpath d='M17.5 20s3.5-3.2 3.5-6.4a3.5 3.5 0 1 0-7 0c0 3.2 3.5 6.4 3.5 6.4Z'/%3E%3C/svg%3E");
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method > li > input[type="radio"].shipping_method[id] {
	position: absolute;
	z-index: 2;
	inset-block-start: 50%;
	inset-inline-start: var(--gtcc-shipping-card-radio-offset);
	inline-size: 18px;
	block-size: 18px;
	margin: 0;
	transform: translateY( -50% );
	accent-color: var(--gtcc-accent);
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method > li > input.shipping_method[id] + label[for] {
	display: block;
	min-inline-size: 0;
	min-block-size: var(--gtcc-shipping-card-min-height);
	margin: 0;
	padding-block: var(--gtcc-shipping-card-padding-block);
	/* Reserve the logical start for the native radio plus a 30px text gap. */
	padding-inline-start: calc( var(--gtcc-shipping-card-padding-inline) + 50px );
	padding-inline-end: calc( var(--gtcc-shipping-card-padding-inline) + 42px );
	background: var(--gtcc-panel);
	color: var(--gtcc-text);
	border: 1px solid var(--gtcc-border);
	border-radius: calc( var(--gtcc-radius) - 2px );
	box-shadow: none;
	cursor: pointer;
	font-size: 15px;
	font-weight: 750;
	line-height: 1.5;
	overflow-wrap: anywhere;
	text-align: start;
	transition: none;
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method > li > input[type="hidden"].shipping_method[id] + label[for] {
	padding-inline: var(--gtcc-shipping-card-padding-inline);
	background: var(--gtcc-bg);
	border-color: var(--gtcc-border);
	cursor: default;
	user-select: text;
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method > li > input[type="radio"].shipping_method:checked + label[for] {
	background: #fcf8fd;
	border-color: var(--gtcc-accent);
	box-shadow: 0 8px 20px rgba( 89, 11, 93, 0.07 );
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method > li > input[type="radio"].shipping_method:focus-visible + label[for] {
	border-color: var(--gtcc-accent);
	outline: 3px solid rgba( 125, 15, 130, 0.2 );
	outline-offset: 2px;
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method > li > input[type="radio"].shipping_method:disabled + label[for] {
	background: var(--gtcc-bg);
	color: var(--gtcc-muted);
	cursor: not-allowed;
	opacity: 0.72;
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method > li > label[for] .amount {
	color: var(--gtcc-brand-primary);
	font-weight: 800;
	white-space: nowrap;
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .gtcc-shipping-price-badge {
	display: inline-flex;
	align-items: center;
	margin-inline-start: 7px;
	padding-block: 3px;
	padding-inline: 9px;
	background: rgba( 125, 15, 130, 0.08 );
	color: var(--gtcc-brand-primary);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.25;
	white-space: nowrap;
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method > li > label[for] small,
body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .gtcc-shipping-card-note {
	display: block;
	margin-block-start: 7px;
	color: var(--gtcc-muted);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
}

/*
 * Phase 3.2: style only the exact PickUP-owned row and children that already
 * exist. The SDK keeps its onclick handlers, fields, modal, values and state.
 */
body.gtcc-preview-enabled.gtcc-shipping-cards-enabled.gtcc-pickup-adapter-enabled .woocommerce-checkout-review-order-table tr.pickups_location {
	display: grid;
	grid-template-columns: minmax( 0, 1fr );
	inline-size: var(--gtcc-shipping-row-width);
	width: var(--gtcc-shipping-row-width);
	margin-block: 10px 14px;
	background: var(--gtcc-accent-surface);
	border: 1px solid var(--gtcc-accent);
	border-radius: calc( var(--gtcc-radius) - 2px );
	box-shadow: 0 0 0 1px rgba( 125, 15, 130, 0.08 );
	overflow: hidden;
	overflow-wrap: anywhere;
	text-align: start;
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled.gtcc-pickup-adapter-enabled .woocommerce-checkout-review-order-table tr.pickups_location > th,
body.gtcc-preview-enabled.gtcc-shipping-cards-enabled.gtcc-pickup-adapter-enabled .woocommerce-checkout-review-order-table tr.pickups_location > td {
	display: block;
	inline-size: 100%;
	width: 100%;
	padding-inline: var(--gtcc-shipping-card-padding-inline);
	border: 0;
	text-align: start !important;
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled.gtcc-pickup-adapter-enabled .woocommerce-checkout-review-order-table tr.pickups_location > th {
	padding-block: 15px 7px;
	color: var(--gtcc-text);
	font-size: 16px;
	font-weight: 750;
	line-height: 1.45;
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled.gtcc-pickup-adapter-enabled .woocommerce-checkout-review-order-table tr.pickups_location > td {
	min-block-size: 44px;
	padding-block: 0 15px;
	color: var(--gtcc-text);
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled.gtcc-pickup-adapter-enabled .woocommerce-checkout-review-order-table tr.pickups_location .ups-pickups-checked {
	margin-block-start: 4px;
	color: var(--gtcc-muted);
	font-size: 12px;
	font-weight: 550;
	line-height: 1.45;
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled.gtcc-pickup-adapter-enabled .woocommerce-checkout-review-order-table tr.pickups_location .ups-pickups-desc {
	display: block;
	margin-block: 0 8px;
	color: var(--gtcc-muted);
	font-size: 13px;
	font-weight: 550;
	line-height: 1.5;
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled.gtcc-pickup-adapter-enabled .woocommerce-checkout-review-order-table tr.pickups_location .ups-pickups {
	inline-size: 100%;
	max-inline-size: 100%;
	min-block-size: 44px;
	border-radius: 8px;
}

body.gtcc-preview-enabled.gtcc-shipping-cards-enabled.gtcc-pickup-adapter-enabled .woocommerce-checkout-review-order-table tr.pickups_location .ups-pickups-info {
	max-inline-size: 100%;
	margin-block-start: 8px;
	color: var(--gtcc-text);
	font-size: 13px !important;
	font-weight: 550 !important;
	line-height: 1.55 !important;
	overflow-wrap: anywhere;
	white-space: normal;
}

/*
 * 1.3.4 shipping and PickUP guidance. Native radios, hidden PickUP fields,
 * SDK handlers and WooCommerce validation remain the only state owners.
 */
body.gtcc-preview-enabled.gtcc-inline-validation-enabled .woocommerce-checkout-review-order-table .gtcc-selection-guidance {
	display: grid;
	grid-template-columns: auto minmax( 0, 1fr ) auto;
	gap: 10px;
	align-items: center;
	inline-size: 100%;
	margin-block-start: 12px;
	padding: 12px 14px;
	background: #fff8ea;
	color: #633900;
	border: 1px solid #dda85c;
	border-radius: 12px;
	box-sizing: border-box;
	font-size: 13px;
	line-height: 1.45;
	overflow-wrap: anywhere;
	text-align: start;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .woocommerce-checkout-review-order-table .gtcc-selection-guidance--invalid {
	background: #fff7f7;
	color: #6e1b2d;
	border-color: #d97889;
	box-shadow: 0 0 0 2px rgba( 180, 35, 63, 0.08 );
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .woocommerce-checkout-review-order-table .gtcc-selection-guidance__icon {
	display: inline-flex;
	flex: 0 0 24px;
	align-items: center;
	justify-content: center;
	inline-size: 24px;
	block-size: 24px;
	background: #a15c00;
	color: #fff;
	border-radius: 50%;
	font-size: 14px;
	font-weight: 850;
	line-height: 1;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .woocommerce-checkout-review-order-table .gtcc-selection-guidance--invalid .gtcc-selection-guidance__icon {
	background: #b4233f;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .woocommerce-checkout-review-order-table .gtcc-selection-guidance__copy,
body.gtcc-preview-enabled.gtcc-inline-validation-enabled .woocommerce-checkout-review-order-table .gtcc-selection-guidance__copy strong,
body.gtcc-preview-enabled.gtcc-inline-validation-enabled .woocommerce-checkout-review-order-table .gtcc-selection-guidance__copy > span {
	display: block;
	min-inline-size: 0;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .woocommerce-checkout-review-order-table .gtcc-selection-guidance__copy strong {
	margin: 0;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.35;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .woocommerce-checkout-review-order-table .gtcc-selection-guidance__copy > span {
	margin-block-start: 2px;
	font-weight: 550;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .woocommerce-checkout-review-order-table .gtcc-pickup-selection-action {
	min-block-size: 40px;
	margin: 0;
	padding: 8px 13px;
	background: var(--gtcc-brand-primary);
	color: #fff;
	border: 1px solid var(--gtcc-brand-primary);
	border-radius: 9px;
	box-shadow: none;
	font-size: 13px;
	font-weight: 750;
	line-height: 1.25;
	white-space: nowrap;
	cursor: pointer;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .woocommerce-checkout-review-order-table .gtcc-pickup-selection-action:hover,
body.gtcc-preview-enabled.gtcc-inline-validation-enabled .woocommerce-checkout-review-order-table .gtcc-pickup-selection-action:focus-visible {
	background: var(--gtcc-brand-primary-hover);
	border-color: var(--gtcc-brand-primary-hover);
	outline: 3px solid rgba( 125, 15, 130, 0.2 );
	outline-offset: 2px;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method.gtcc-shipping-selection-pending,
body.gtcc-preview-enabled.gtcc-inline-validation-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods.gtcc-shipping-selection-pending {
	outline: 2px solid #dda85c;
	outline-offset: 5px;
	border-radius: 14px;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method.gtcc-shipping-selection-invalid,
body.gtcc-preview-enabled.gtcc-inline-validation-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods.gtcc-shipping-selection-invalid {
	outline: 2px solid #b4233f;
	outline-offset: 5px;
	border-radius: 14px;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table li.gtcc-pickup-card-pending > input.shipping_method[id] + label[for] {
	background: #fffaf0;
	border-color: #c98a30;
	box-shadow: 0 0 0 3px rgba( 201, 138, 48, 0.12 );
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table li.gtcc-pickup-card-invalid > input.shipping_method[id] + label[for] {
	background: #fffafa;
	border-color: #b4233f;
	box-shadow: 0 0 0 3px rgba( 180, 35, 63, 0.12 );
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table li .gtcc-selection-guidance--compact {
	grid-template-columns: auto minmax( 0, 1fr );
	margin-block-start: 8px;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled.gtcc-shipping-cards-enabled.gtcc-pickup-adapter-enabled .woocommerce-checkout-review-order-table tr.pickups_location.gtcc-pickup-selection-pending {
	background: #fffaf0;
	border-color: #c98a30;
	box-shadow: 0 0 0 3px rgba( 201, 138, 48, 0.11 );
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled.gtcc-shipping-cards-enabled.gtcc-pickup-adapter-enabled .woocommerce-checkout-review-order-table tr.pickups_location.gtcc-pickup-selection-invalid {
	background: #fffafa;
	border-color: #b4233f;
	box-shadow: 0 0 0 3px rgba( 180, 35, 63, 0.12 );
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled.gtcc-shipping-cards-enabled.gtcc-pickup-adapter-enabled .woocommerce-checkout-review-order-table tr.pickups_location .gtcc-selection-guidance {
	margin-block: 0 12px;
}

@media ( max-width: 767px ) {
	body.gtcc-preview-enabled.gtcc-inline-validation-enabled .woocommerce-checkout-review-order-table .gtcc-selection-guidance {
		grid-template-columns: auto minmax( 0, 1fr );
		padding: 11px 12px;
	}

	body.gtcc-preview-enabled.gtcc-inline-validation-enabled .woocommerce-checkout-review-order-table .gtcc-pickup-selection-action {
		grid-column: 1 / -1;
		inline-size: 100%;
		white-space: normal;
	}
}

/*
 * Phase 3.3: presentation-only conversion hierarchy. WooCommerce keeps the
 * review table, totals, gateways, refresh lifecycle and checkout button.
 */
body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-order-review-widget,
body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .elementor-element-f589511 {
	border-color: var(--gtcc-border);
	box-shadow: var(--gtcc-shadow);
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-order-summary-heading {
	margin-block-end: 10px;
	padding-block-end: 16px;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-order-summary-heading h2 {
	font-size: clamp( 22px, 2.2vw, 26px );
	font-weight: 800;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .woocommerce-checkout-review-order-table thead th {
	padding-block: 2px 12px;
	color: var(--gtcc-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .woocommerce-checkout-review-order-table thead {
	block-size: 0;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .woocommerce-checkout-review-order-table thead th {
	block-size: 0;
	padding-block: 0;
	border: 0;
	color: transparent;
	font-size: 0;
	line-height: 0;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .woocommerce-checkout-review-order-table .cart_item td {
	padding-block: 18px;
	line-height: 1.6;
	vertical-align: middle;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .woocommerce-checkout-review-order-table .cart_item .product-name {
	display: table-cell !important;
	font-size: 15.5px;
	font-weight: 750;
	line-height: 1.45;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-summary-product {
	display: grid;
	grid-template-columns: 58px minmax( 0, 1fr );
	gap: 12px;
	align-items: center;
	min-inline-size: 0;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-summary-product-image {
	display: block;
	inline-size: 58px;
	block-size: 58px;
	background: var(--gtcc-bg);
	border: 1px solid var(--gtcc-border);
	border-radius: 12px;
	overflow: hidden;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-summary-product-thumbnail {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	margin: 0;
	object-fit: cover;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-summary-product-name {
	min-inline-size: 0;
	overflow-wrap: anywhere;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .woocommerce-checkout-review-order-table .cart_item .product-total {
	color: var(--gtcc-text);
	font-size: 15.5px;
	font-weight: 750;
	white-space: nowrap;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .woocommerce-checkout-review-order-table .product-quantity {
	display: inline-block;
	margin-block-start: 8px;
	margin-inline-start: 0;
	padding-block: 2px;
	padding-inline: 8px;
	background: var(--gtcc-accent-surface);
	color: var(--gtcc-muted);
	border: 1px solid var(--gtcc-border);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .woocommerce-checkout-review-order-table .cart-subtotal th,
body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .woocommerce-checkout-review-order-table .cart-subtotal td {
	padding-block: 16px;
	font-weight: 650;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .woocommerce-checkout-review-order-table .order-total th,
body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .woocommerce-checkout-review-order-table .order-total td {
	padding-block: 24px;
	background: linear-gradient( 135deg, var(--gtcc-panel) 0%, var(--gtcc-accent-surface) 100% );
	color: var(--gtcc-brand-primary);
	border-block-start: 1px solid var(--gtcc-border);
	font-weight: 800;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .woocommerce-checkout-review-order-table .order-total th {
	padding-inline-start: 12px;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .woocommerce-checkout-review-order-table .order-total td {
	padding-inline-end: 12px;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .woocommerce-checkout-review-order-table .order-total .amount {
	color: var(--gtcc-accent);
	font-size: 27px;
	font-weight: 800;
	white-space: nowrap;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-trust-presentation {
	display: grid;
	grid-template-columns: 44px minmax( 0, 1fr );
	gap: 14px;
	align-items: center;
	margin-block: 0 14px;
	padding: 16px 18px;
	background: linear-gradient( 135deg, var(--gtcc-panel) 0%, var(--gtcc-accent-surface) 100% );
	color: var(--gtcc-text);
	border: 1px solid var(--gtcc-border);
	border-radius: 16px;
	text-align: start;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-trust-presentation h3 {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect( 0 0 0 0 );
	clip-path: inset( 50% );
	white-space: nowrap;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-trust-lock {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 44px;
	block-size: 44px;
	color: var(--gtcc-brand-primary);
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-trust-lock svg {
	inline-size: 38px;
	block-size: 38px;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-trust-presentation ul {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-trust-presentation li {
	display: flex;
	gap: 6px;
	align-items: center;
	min-inline-size: 0;
	margin: 0;
	color: var(--gtcc-muted);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-trust-presentation li::before {
	content: "✓";
	color: var(--gtcc-brand-primary);
	font-size: 14px;
	font-weight: 800;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-trust-mark {
	display: inline-flex;
	flex: 0 0 24px;
	align-items: center;
	justify-content: center;
	inline-size: 24px;
	block-size: 24px;
	background: var(--gtcc-panel);
	color: var(--gtcc-accent);
	border: 1px solid var(--gtcc-accent);
	border-radius: 50%;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled #payment #place_order {
	min-block-size: 60px;
	padding-block: 16px;
	padding-inline: 22px;
	box-shadow: var(--gtcc-shadow);
	font-size: 18px !important;
	font-weight: 800;
}

body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled #payment.processing #place_order,
body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled #payment #place_order:disabled,
body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled #payment #place_order.disabled {
	opacity: 0.68;
	cursor: progress;
	box-shadow: none;
}

@media ( max-width: 600px ) {
	body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-order-summary-heading h2 {
		font-size: 22px;
	}

	body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-trust-presentation {
		padding: 14px;
	}

	body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .woocommerce-checkout-review-order-table .cart_item td {
		padding-block: 14px;
	}

	body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .woocommerce-checkout-review-order-table .product-name {
		inline-size: 68%;
	}

	body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-summary-product {
		grid-template-columns: 48px minmax( 0, 1fr );
		gap: 9px;
	}

	body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .gtcc-summary-product-image {
		inline-size: 48px;
		block-size: 48px;
		border-radius: 10px;
	}

	body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled .woocommerce-checkout-review-order-table .order-total .amount {
		font-size: 25px;
	}

	body.gtcc-preview-enabled.gtcc-checkout-conversion-enabled #payment #place_order {
		min-block-size: 58px;
		font-size: 17px !important;
	}
}

/* End Phase 3.3 conversion presentation. */

@media ( hover: hover ) {
	body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method > li > input[type="radio"].shipping_method:not(:disabled) + label[for]:hover {
		border-color: var(--gtcc-accent);
	}
}

body.gtcc-preview-enabled .woocommerce-checkout-review-order-table ul#shipping_method input[type="radio"],
body.gtcc-preview-enabled .wc_payment_methods input[type="radio"] {
	margin-inline: 0 8px;
	accent-color: var(--gtcc-accent);
}

body.gtcc-preview-enabled .gtcc-shipping-heading th {
	padding-block: 22px 8px;
	padding-inline: 0;
	border-block-end: 0;
	text-align: start !important;
}

body.gtcc-preview-enabled .gtcc-shipping-heading h3 {
	font-size: 17px;
}

/* Payment remains the native WooCommerce gateway list and place-order form. */
body.gtcc-preview-enabled #payment {
	background: transparent;
	border: 0;
	border-radius: 0;
}

body.gtcc-preview-enabled #payment ul.payment_methods {
	margin: 0;
	padding: 0;
	border-block-end: 0;
}

body.gtcc-preview-enabled #payment ul.payment_methods > li {
	margin: 0;
	padding-block: 12px;
	padding-inline: 0;
	border-block-end: 1px solid var(--gtcc-border);
	list-style: none;
}

body.gtcc-preview-enabled #payment ul.payment_methods > li > label {
	display: inline;
	font-size: 15px;
	font-weight: 650;
	overflow-wrap: anywhere;
}

body.gtcc-preview-enabled #payment ul.payment_methods > li > label img {
	max-inline-size: calc( 100% - 28px );
	max-width: calc( 100% - 28px );
	height: auto;
}

body.gtcc-preview-enabled #payment div.payment_box {
	margin-block: 10px 0;
	padding: 14px;
	background: #f5f3f6;
	color: var(--gtcc-text);
	border-radius: 8px;
	font-size: 14px;
	line-height: 1.55;
}

body.gtcc-preview-enabled #payment div.payment_box::before {
	display: none;
}

body.gtcc-preview-enabled #payment .form-row.place-order {
	margin: 0;
	padding: 18px 0 0;
}

body.gtcc-preview-enabled #payment #place_order {
	float: none;
	inline-size: 100%;
	min-block-size: 54px;
	margin: 0;
	padding-block: 13px;
	padding-inline: 20px;
	background: var(--gtcc-accent);
	color: #fff;
	border: 1px solid var(--gtcc-accent);
	border-radius: 10px;
	box-shadow: none;
	font-size: 17px;
	font-weight: 750;
	line-height: 1.35;
	text-transform: none;
	letter-spacing: 0;
}

body.gtcc-preview-enabled #payment #place_order:hover {
	filter: brightness( 0.94 );
}

/*
 * UX Sprint 1: customer-facing cards around native WooCommerce gateways.
 * WooCommerce continues to own every radio, payment box, refresh and submit.
 */
body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-summary-section,
body.gtcc-preview-enabled.gtcc-payment-experience-enabled form.checkout > .elementor > .elementor-element-420f8d0 {
	position: static;
	top: auto;
	max-block-size: none;
	overflow: visible;
	overscroll-behavior: auto;
	scrollbar-gutter: auto;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods {
	display: grid;
	gap: 12px;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods > li.wc_payment_method {
	position: relative;
	display: grid;
	grid-template-columns: minmax( 0, 1fr );
	min-inline-size: 0;
	margin: 0;
	padding: 0;
	background: var(--gtcc-panel);
	border: 1px solid var(--gtcc-border);
	border-radius: var(--gtcc-radius);
	box-shadow: none;
	overflow: hidden;
	transition: border-color 180ms ease-out, background-color 180ms ease-out, box-shadow 180ms ease-out;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods > li.wc_payment_method:last-child {
	border-block-end: 1px solid var(--gtcc-border);
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods > li.wc_payment_method:has( > input[type="radio"]:checked ) {
	background: linear-gradient( 135deg, #fff 0%, #fcf8fd 100% );
	border-color: var(--gtcc-accent);
	box-shadow: 0 10px 24px rgba( 89, 11, 93, 0.08 );
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods > li.wc_payment_method:has( > input[type="radio"]:focus-visible ) {
	outline: 3px solid rgba( 125, 15, 130, 0.2 );
	outline-offset: 2px;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods > li.wc_payment_method > input[type="radio"] {
	position: absolute;
	inset-block-start: 24px;
	inset-inline-start: 18px;
	z-index: 2;
	inline-size: 20px;
	block-size: 20px;
	margin: 0;
	accent-color: var(--gtcc-accent);
	cursor: pointer;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods > li.wc_payment_method > label {
	display: grid !important;
	grid-template-columns: minmax( 0, 1fr ) 34px;
	gap: 12px;
	align-items: center;
	inline-size: 100%;
	min-block-size: 76px;
	margin: 0;
	padding-block: 18px;
	padding-inline: 52px 16px;
	color: var(--gtcc-text);
	font-family: inherit;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-align: start;
	letter-spacing: 0;
	cursor: pointer !important;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods > li.wc_payment_method > input[type="radio"]:focus-visible + label {
	box-shadow: inset 0 0 0 2px var(--gtcc-accent);
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods > li.wc_payment_method > input[type="radio"]:disabled + label {
	color: var(--gtcc-muted);
	cursor: not-allowed !important;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-copy,
body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-title-line {
	display: flex;
	min-inline-size: 0;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-copy {
	flex-direction: column;
	gap: 4px;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-title-line {
	flex-wrap: wrap;
	gap: 7px;
	align-items: center;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-customer-title {
	color: var(--gtcc-text);
	font-size: 16.5px;
	font-weight: 750;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-helper {
	color: var(--gtcc-muted);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	overflow-wrap: anywhere;
	unicode-bidi: plaintext;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-recommended {
	display: inline-flex;
	align-items: center;
	min-block-size: 22px;
	padding-block: 2px;
	padding-inline: 8px;
	background: rgba( 125, 15, 130, 0.07 );
	color: var(--gtcc-accent);
	border: 1px solid var(--gtcc-accent);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 32px;
	block-size: 32px;
	margin: 0;
	font-size: 24px;
	font-weight: 600;
	line-height: 1;
	text-align: center;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-logo--telephone svg {
	inline-size: 25px;
	block-size: 25px;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods > li.wc_payment_method > label:has( .gtcc-payment-logo--paypal ) {
	grid-template-columns: minmax( 0, 1fr ) minmax( 72px, 96px );
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-logo--paypal {
	inline-size: auto;
	max-inline-size: 96px;
	block-size: 30px;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-logo.gtcc-payment-logo--paypal img {
	inline-size: auto !important;
	max-inline-size: 96px !important;
	max-block-size: 24px !important;
	object-fit: contain;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-brands {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	direction: rtl;
	align-items: center;
	justify-content: flex-start;
	gap: 7px;
	min-inline-size: 0;
	padding-block-start: 2px;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-brand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	direction: ltr;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-brand img {
	display: block;
	inline-size: auto !important;
	max-inline-size: none !important;
	margin: 0 !important;
	object-fit: contain;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-brand--visa img,
body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-brand--mastercard img {
	block-size: 24px !important;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-brand--applepay img,
body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-brand--googlepay img {
	block-size: 22px !important;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-logo img {
	float: none !important;
	inline-size: auto !important;
	max-inline-size: 30px !important;
	max-block-size: 30px !important;
	height: auto !important;
	margin: 0 !important;
	object-fit: contain;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods > li.wc_payment_method > input[type="radio"]:checked + label .gtcc-payment-helper--mirrors-box {
	display: none;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods > li.wc_payment_method > div.payment_box {
	margin-block: 0 16px;
	margin-inline: 16px;
	padding: 14px 16px;
	background: var(--gtcc-panel);
	color: var(--gtcc-text);
	border: 1px solid var(--gtcc-border);
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.55;
	text-align: start;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-trust-presentation {
	margin-block-end: 14px;
	padding: 16px 18px;
	box-shadow: 0 8px 20px rgba( 89, 11, 93, 0.05 );
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-trust-presentation h3 {
	margin-block-end: 8px;
	font-size: 14px;
	font-weight: 700;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-trust-presentation ul {
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 10px;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-trust-presentation li {
	gap: 7px;
	font-size: 12.5px;
	font-weight: 700;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-trust-mark {
	flex-basis: 20px;
	inline-size: 20px;
	block-size: 20px;
	font-size: 12px;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment .form-row.place-order {
	padding-block: 24px 6px;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-pre-cta-reassurance {
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	margin-block: 0 12px;
	color: var(--gtcc-muted);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
	text-align: center;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-pre-cta-reassurance .gtcc-step-badge {
	flex-basis: 24px;
	inline-size: 24px;
	block-size: 24px;
	font-size: 12px;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment #place_order {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	inline-size: 100%;
	min-block-size: 60px;
	background: linear-gradient( 180deg, #921b98 0%, var(--gtcc-brand-primary) 54%, var(--gtcc-brand-primary-deep) 100% ) !important;
	color: #fff !important;
	border: 1px solid var(--gtcc-brand-primary-deep) !important;
	border-radius: 18px;
	box-shadow: inset 0 1px 0 rgba( 255, 255, 255, 0.3 ), 0 14px 30px rgba( 89, 11, 93, 0.24 ), 0 4px 10px rgba( 89, 11, 93, 0.14 );
	font-size: 19px !important;
	font-weight: 800 !important;
	line-height: 1.2;
	text-align: center;
	transform: translateY( 0 );
	filter: none;
	transition: background-color 180ms ease-out, border-color 180ms ease-out, box-shadow 180ms ease-out, transform 180ms ease-out;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment #place_order::after {
	content: none;
	display: none;
	position: absolute;
	z-index: 1;
	inset-block: -35%;
	inset-inline-start: 0;
	inline-size: 30%;
	background: linear-gradient( 90deg, rgba( 255, 255, 255, 0 ), rgba( 255, 255, 255, 0.24 ), rgba( 255, 255, 255, 0 ) );
	pointer-events: none;
	opacity: 0;
	transform: translate3d( -170%, 0, 0 ) skewX( -18deg );
	animation: none;
	transition: opacity 420ms ease-out, transform 620ms ease-out;
}

@keyframes gtcc-place-order-sheen {
	0%,
	76% {
		opacity: 0;
		transform: translate3d( -170%, 0, 0 ) skewX( -18deg );
	}

	78% {
		opacity: 0.55;
	}

	96% {
		opacity: 0.45;
		transform: translate3d( 520%, 0, 0 ) skewX( -18deg );
	}

	100% {
		opacity: 0;
		transform: translate3d( 520%, 0, 0 ) skewX( -18deg );
	}
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment #place_order:focus-visible {
	outline: 3px solid var(--gtcc-brand-primary);
	outline-offset: 3px;
	box-shadow: inset 0 1px 0 rgba( 255, 255, 255, 0.24 ), 0 12px 28px rgba( 89, 11, 93, 0.24 );
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment #place_order:focus-visible::after {
	opacity: 0.42;
	transform: translate3d( 520%, 0, 0 ) skewX( -18deg );
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment #place_order:active {
	background: linear-gradient( 135deg, var(--gtcc-brand-primary-deep) 0%, var(--gtcc-brand-primary-hover) 100% ) !important;
	border-color: var(--gtcc-brand-primary-hover) !important;
	transform: translateY( 1px );
	box-shadow: inset 0 1px 0 rgba( 255, 255, 255, 0.16 ), 0 6px 15px rgba( 89, 11, 93, 0.2 );
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment #place_order:disabled,
body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment #place_order.disabled {
	opacity: 0.58;
	box-shadow: none;
	transform: none;
	cursor: not-allowed;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment #place_order.processing {
	transform: none;
	cursor: progress;
}

body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment.processing #place_order::after,
body.gtcc-preview-enabled.gtcc-payment-experience-enabled form.checkout.processing #payment #place_order::after,
body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment #place_order:disabled::after,
body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment #place_order.disabled::after,
body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment #place_order.processing::after {
	animation: none;
	opacity: 0;
}

@media ( hover: hover ) {
	body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods > li.wc_payment_method:has( > input[type="radio"]:not(:disabled) ):hover {
		background: var(--gtcc-accent-surface);
		border-color: var(--gtcc-accent);
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment #place_order:hover:not(:disabled):not(.disabled) {
		background: linear-gradient( 180deg, var(--gtcc-brand-primary-soft) 0%, var(--gtcc-brand-primary-hover) 58%, var(--gtcc-brand-primary-deep) 100% ) !important;
		border-color: var(--gtcc-brand-primary-hover) !important;
		box-shadow: inset 0 1px 0 rgba( 255, 255, 255, 0.28 ), 0 16px 32px rgba( 89, 11, 93, 0.28 ), 0 5px 12px rgba( 89, 11, 93, 0.16 );
		transform: translateY( -1px );
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment #place_order:hover:not(:disabled):not(.disabled)::after {
		opacity: 0.42;
		transform: translate3d( 520%, 0, 0 ) skewX( -18deg );
	}
}

@media ( max-width: 700px ) {
	body.gtcc-preview-enabled.gtcc-payment-experience-enabled #billing_company_field {
		margin-block-start: 2px;
		padding-block-start: 14px;
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-section-title,
	body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-shipping-heading h3,
	body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-heading h2 {
		gap: 8px;
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods {
		gap: 10px;
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods > li.wc_payment_method > input[type="radio"] {
		inset-block-start: 23px;
		inset-inline-start: 15px;
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods > li.wc_payment_method > label {
		grid-template-columns: minmax( 0, 1fr ) 32px;
		gap: 10px;
		min-block-size: 68px;
		padding-block: 14px;
		padding-inline: 48px 14px;
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-helper {
		font-size: 13px;
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-logo {
		inline-size: 30px;
		block-size: 30px;
		font-size: 22px;
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods > li.wc_payment_method > label:has( .gtcc-payment-logo--paypal ) {
		grid-template-columns: minmax( 0, 1fr ) minmax( 64px, 82px );
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-logo--paypal,
	body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-logo.gtcc-payment-logo--paypal img {
		max-inline-size: 82px !important;
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-brands {
		gap: 6px;
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-brand--visa img,
	body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-brand--mastercard img {
		block-size: 23px !important;
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-brand--applepay img,
	body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-payment-brand--googlepay img {
		block-size: 21px !important;
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-trust-presentation ul {
		grid-template-columns: minmax( 0, 1fr );
		gap: 4px;
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-trust-presentation {
		grid-template-columns: 40px minmax( 0, 1fr );
		gap: 12px;
		padding: 14px;
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-trust-lock,
	body.gtcc-preview-enabled.gtcc-payment-experience-enabled .gtcc-trust-lock svg {
		inline-size: 36px;
		block-size: 36px;
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods > li.wc_payment_method > div.payment_box {
		margin-block-end: 14px;
		margin-inline: 14px;
		padding: 13px 14px;
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment #place_order {
		min-block-size: 58px;
		font-size: 18px !important;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	body.gtcc-preview-enabled form.checkout input.input-text,
	body.gtcc-preview-enabled form.checkout input[type="email"],
	body.gtcc-preview-enabled form.checkout input[type="tel"],
	body.gtcc-preview-enabled form.checkout input[type="text"],
	body.gtcc-preview-enabled form.checkout select,
	body.gtcc-preview-enabled form.checkout textarea,
	body.gtcc-preview-enabled form.checkout .select2-container .select2-selection--single,
	body.gtcc-preview-enabled.gtcc-shipping-cards-enabled .woocommerce-checkout-review-order-table ul#shipping_method > li > input.shipping_method[id] + label[for],
	body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment ul.payment_methods > li.wc_payment_method,
	body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment #place_order {
		transition: none;
	}

	body.gtcc-preview-enabled.gtcc-payment-experience-enabled #payment #place_order::after {
		animation: none;
		transition: none;
		opacity: 0;
	}
}

/* End UX Sprint 1 payment experience. */

body.gtcc-preview-enabled .woocommerce-privacy-policy-text,
body.gtcc-preview-enabled .woocommerce-terms-and-conditions-wrapper {
	color: var(--gtcc-muted);
	font-size: 13px;
	line-height: 1.55;
	text-align: start;
}

/*
 * 1.3.4 inline validation: WooCommerce still creates every error. GTCC moves
 * its native notice group beside the CTA and mirrors field-local guidance.
 */
body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-summary[hidden] {
	display: none !important;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-summary {
	display: block;
	inline-size: 100%;
	margin-block: 0 16px;
	padding: 16px;
	background: #fff7f7;
	color: var(--gtcc-text);
	border: 1px solid #e6a5ad;
	border-inline-start: 4px solid #b4233f;
	border-radius: 14px;
	box-shadow: 0 8px 22px rgba( 116, 22, 43, 0.08 );
	text-align: start;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-summary:focus {
	outline: 3px solid rgba( 180, 35, 63, 0.22 );
	outline-offset: 3px;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-summary__intro {
	display: flex;
	gap: 11px;
	align-items: flex-start;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-summary__icon {
	display: inline-flex;
	flex: 0 0 28px;
	align-items: center;
	justify-content: center;
	inline-size: 28px;
	block-size: 28px;
	margin-block-start: 1px;
	background: #b4233f;
	color: #fff;
	border-radius: 50%;
	font-size: 17px;
	font-weight: 850;
	line-height: 1;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-summary h3 {
	margin: 0;
	color: #78162c;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.35;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-summary__intro p {
	margin-block: 4px 0;
	color: #5f3740;
	font-size: 13.5px;
	font-weight: 550;
	line-height: 1.5;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-summary .woocommerce-NoticeGroup-checkout {
	margin: 12px 0 0;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-summary .woocommerce-error {
	max-inline-size: none;
	margin: 0;
	padding: 0;
	background: transparent;
	color: #5d2835;
	border: 0;
	border-radius: 0;
	font-size: 13.5px;
	line-height: 1.5;
	list-style-position: inside;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-summary .woocommerce-error::before,
body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-summary .woocommerce-error::after {
	display: none;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-summary .woocommerce-error > li {
	margin-block: 7px 0;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-summary .woocommerce-error > li > a {
	color: #78162c;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-summary .woocommerce-error > li > a:hover,
body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-summary .woocommerce-error > li > a:focus-visible {
	color: #4e0e1d;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-jump {
	display: inline;
	margin: 0;
	margin-inline-start: 7px;
	padding: 0;
	background: transparent;
	color: #78162c;
	border: 0;
	border-block-end: 1px solid currentColor;
	border-radius: 0;
	box-shadow: none;
	font: inherit;
	font-weight: 750;
	line-height: inherit;
	cursor: pointer;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-jump:hover,
body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-jump:focus-visible {
	background: transparent;
	color: #4e0e1d;
	outline: 2px solid rgba( 180, 35, 63, 0.25 );
	outline-offset: 2px;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled form.checkout .gtcc-field-invalid input.input-text,
body.gtcc-preview-enabled.gtcc-inline-validation-enabled form.checkout .gtcc-field-invalid input[type="email"],
body.gtcc-preview-enabled.gtcc-inline-validation-enabled form.checkout .gtcc-field-invalid input[type="tel"],
body.gtcc-preview-enabled.gtcc-inline-validation-enabled form.checkout .gtcc-field-invalid select,
body.gtcc-preview-enabled.gtcc-inline-validation-enabled form.checkout .gtcc-field-invalid textarea,
body.gtcc-preview-enabled.gtcc-inline-validation-enabled form.checkout .gtcc-field-invalid .select2-selection {
	background-color: #fffafa;
	border-color: #b4233f;
	box-shadow: 0 0 0 3px rgba( 180, 35, 63, 0.1 );
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-field-error {
	display: flex;
	gap: 6px;
	align-items: flex-start;
	margin-block-start: 7px;
	color: #a31935;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.45;
	text-align: start;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .checkout-inline-error-message.gtcc-field-error {
	margin-block-end: 0;
}

body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-field-error__icon {
	display: inline-flex;
	flex: 0 0 17px;
	align-items: center;
	justify-content: center;
	inline-size: 17px;
	block-size: 17px;
	margin-block-start: 1px;
	background: #b4233f;
	color: #fff;
	border-radius: 50%;
	font-size: 11px;
	font-weight: 850;
	line-height: 1;
}

@media ( max-width: 767px ) {
	body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-summary {
		margin-block-end: 14px;
		padding: 14px;
		border-radius: 12px;
	}

	body.gtcc-preview-enabled.gtcc-inline-validation-enabled .gtcc-validation-summary h3 {
		font-size: 16px;
	}
}

body.gtcc-preview-enabled .woocommerce-error,
body.gtcc-preview-enabled .woocommerce-info,
body.gtcc-preview-enabled .woocommerce-message {
	max-inline-size: var(--gtcc-layout-max-width);
	margin-block: 0 18px;
	margin-inline: auto;
	border-radius: 9px;
	font-size: 15px;
	text-align: start;
}

/* Keep Woo's native update overlay, but make the wait state calm and explicit. */
body.gtcc-preview-enabled form.checkout .blockUI.blockOverlay {
	background: rgba( 255, 255, 255, 0.76 ) !important;
	opacity: 1 !important;
	cursor: progress !important;
}

/* Responsive rules are emitted from Desktop/Tablet/Mobile profile objects. */

@media ( print ) {
	body.gtcc-preview-enabled .gtcc-summary-section,
	body.gtcc-preview-enabled form.checkout > .elementor > .elementor-element-420f8d0 {
		position: static;
		max-block-size: none;
		overflow: visible;
	}
}
