/* Checkout components loaded after all legacy theme and checkout styles. */
body.woocommerce-checkout.gg-native-theme .gg-native-checkout {
	--gg-component-navy: #162d57;
	--gg-component-blue: #77afe8;
	--gg-component-ink: #24334d;
	--gg-component-line: #d9dee7;
	--gg-method-selected-bg: #f7f9fc;
	--gg-method-min-height: 62px;
	--gg-method-pad-block: 17px;
	--gg-method-pad-end: 18px;
	--gg-method-pad-start: 22px;
	--gg-method-gap: 14px;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #ship-to-different-address-checkbox + span {
	font-size: 18px !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-prev,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-prev-link,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #step2-prev-btn,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #step3-prev-btn,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #step4-prev-btn {
	border: 1px solid var(--gg-component-navy) !important;
	background: #fff !important;
	background-image: none !important;
	color: var(--gg-component-navy) !important;
	box-shadow: none !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-prev:hover,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-prev-link:hover,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #step2-prev-btn:hover,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #step3-prev-btn:hover,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #step4-prev-btn:hover {
	background: var(--gg-component-navy) !important;
	color: #fff !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row > th,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row > td {
	padding: 13px 16px !important;
	border: 0 !important;
	border-top: 1px solid var(--gg-component-line) !important;
	background: #fff !important;
	background-color: #fff !important;
	background-image: none !important;
	color: var(--gg-component-ink) !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	vertical-align: middle !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row > th {
	font-weight: 700 !important;
	text-align: right !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row > td {
	font-weight: 600 !important;
	text-align: right !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-label,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-value {
	display: inline !important;
	background: transparent !important;
	color: inherit !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row--grand > th,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row--grand > td {
	padding-top: 16px !important;
	padding-bottom: 16px !important;
	border-color: var(--gg-component-navy) !important;
	background: var(--gg-component-navy) !important;
	background-color: var(--gg-component-navy) !important;
	color: #fff !important;
	font-size: 16px !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row--grand > th *,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row--grand > td * {
	background: transparent !important;
	color: #fff !important;
}

@media (max-width: 768px) {
	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #ship-to-different-address-checkbox + span {
		font-size: 16px !important;
	}

		html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(110px, 44%) !important;
		align-items: center !important;
		gap: 14px !important;
		min-height: 0 !important;
		padding: 12px 14px !important;
		border: 0 !important;
		border-top: 1px solid var(--gg-component-line) !important;
		background: #fff !important;
	}

		html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row > th,
		html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row > td {
		display: block !important;
		width: auto !important;
		height: auto !important;
		min-height: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		background-color: transparent !important;
		font-size: 13px !important;
		line-height: 1.35 !important;
	}

		html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row > th {
		text-align: left !important;
	}

		html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row > td {
		text-align: right !important;
	}

		html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row--grand {
		padding-top: 14px !important;
		padding-bottom: 14px !important;
		background: var(--gg-component-navy) !important;
	}

		html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row--grand > th,
		html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row--grand > td,
		html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row--grand > th *,
		html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order_review .woocommerce-checkout-review-order-table tfoot .gg-review-total-row--grand > td * {
		background: transparent !important;
		background-color: transparent !important;
		color: #fff !important;
		font-size: 15px !important;
	}
}

/* Shipping and payment use different markup, but share one method-row component. */
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-list,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #payment ul.payment_methods {
	display: grid !important;
	gap: 10px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	list-style: none !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #payment ul.payment_methods > li {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	min-height: var(--gg-method-min-height) !important;
	margin: 0 !important;
	padding: var(--gg-method-pad-block) var(--gg-method-pad-end) var(--gg-method-pad-block) var(--gg-method-pad-start) !important;
	border: 1px solid var(--gg-component-line) !important;
	border-radius: 0 !important;
	border-color: var(--gg-component-line) !important;
	background: #fff !important;
	background-image: none !important;
	box-shadow: none !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: var(--gg-method-gap) !important;
}

/* Keep the native radio, method label and selected state on one visual axis. */
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card > input[type="radio"] {
	display: block !important;
	align-self: center !important;
	margin: 0 !important;
}

/*
 * WooCommerce payment gateways and the native shipping methods use different
 * markup. Draw the same radio control for both so a selected method is equally
 * clear on steps 2 and 3, regardless of browser or plugin input styling.
 */
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card > input[type="radio"],
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #payment ul.payment_methods > li > input.input-radio {
	display: block !important;
	position: static !important;
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 2px solid var(--gg-component-navy) !important;
	border-radius: 50% !important;
	background: #fff !important;
	box-shadow: inset 0 0 0 4px #fff !important;
	opacity: 1 !important;
	visibility: visible !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	flex: 0 0 22px !important;
	cursor: pointer !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card > input[type="radio"]:checked,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #payment ul.payment_methods > li > input.input-radio:checked {
	background: var(--gg-component-navy) !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card > input[type="radio"]:focus-visible,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #payment ul.payment_methods > li > input.input-radio:focus-visible {
	outline: 2px solid var(--gg-component-blue) !important;
	outline-offset: 3px !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card > span {
	display: inline-flex !important;
	align-items: center !important;
	align-self: center !important;
	min-width: 0 !important;
	min-height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--gg-component-navy) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 18px !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card:hover,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #payment ul.payment_methods > li:hover {
	border-color: #9ba8bb !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card:has(input:checked),
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #payment ul.payment_methods > li:has(input:checked) {
	border-color: var(--gg-component-navy) !important;
	background: var(--gg-method-selected-bg) !important;
	box-shadow: inset 4px 0 0 var(--gg-component-navy) !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card:has(input:checked)::after,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #payment ul.payment_methods > li:has(input:checked)::after {
	content: "Επιλεγμένο";
	display: inline-flex;
	align-items: center;
	align-self: center;
	min-height: 18px;
	margin-left: auto;
	padding: 0 0 0 18px;
	color: var(--gg-component-navy);
	font-size: 10px;
	font-weight: 800;
	line-height: 18px;
	letter-spacing: 0;
	text-transform: uppercase;
}

html[lang^="en"] body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card:has(input:checked)::after,
html[lang^="en"] body.woocommerce-checkout.gg-native-theme .gg-native-checkout #payment ul.payment_methods > li:has(input:checked)::after {
	content: "Selected";
}

html[lang^="it"] body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card:has(input:checked)::after,
html[lang^="it"] body.woocommerce-checkout.gg-native-theme .gg-native-checkout #payment ul.payment_methods > li:has(input:checked)::after {
	content: "Selezionato";
}

/* Preserve the same content-to-footer breathing room used across the storefront. */
html body.woocommerce-checkout.gg-native-theme .gg-page {
	padding-bottom: 80px !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #payment ul.payment_methods > li > label {
	display: inline-flex !important;
	align-items: center !important;
	grid-column: 2 !important;
	grid-row: 1 !important;
	justify-self: start !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	min-height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--gg-component-navy) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 18px !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #payment ul.payment_methods > li {
	display: grid !important;
	grid-template-columns: 22px minmax(0, 1fr) auto !important;
	align-items: center !important;
	column-gap: var(--gg-method-gap) !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #payment ul.payment_methods > li > input.input-radio {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #payment ul.payment_methods > li > .payment_box {
	grid-column: 2 / -1 !important;
	grid-row: 2 !important;
	width: 100% !important;
	margin: 10px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Stripe Elements is an inline card form. Keep it visible when Stripe is selected;
 * legacy parity CSS hides every payment box and otherwise validates an invisible iframe. */
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment ul.payment_methods > li.payment_method_stripe > input:checked ~ .payment_box {
	display: block !important;
	grid-column: 1 / -1 !important;
	width: 100% !important;
	margin: 16px 0 0 !important;
	padding: 18px !important;
	border: 1px solid var(--gg-component-line) !important;
	background: var(--gg-method-selected-bg) !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_stripe {
	display: grid !important;
	grid-template-columns: 22px minmax(0, 1fr) auto !important;
	align-items: center !important;
	column-gap: var(--gg-method-gap) !important;
	row-gap: 0 !important;
	padding: 18px 22px 22px !important;
	background: #fff !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_stripe > input.input-radio {
	grid-column: 1 !important;
	grid-row: 1 !important;
	margin: 0 !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_stripe > label {
	grid-column: 2 !important;
	grid-row: 1 !important;
	margin: 0 !important;
}

/* Stripe already draws the secure card surface inside its iframe. Browser
 * fieldset borders around it create redundant nested boxes, so reset them. */
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment .payment_method_stripe .payment_box > fieldset {
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment .payment_method_stripe .payment_box > fieldset + fieldset {
	margin-top: 14px !important;
	padding-top: 14px !important;
	border-top: 1px solid var(--gg-component-line) !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment .woocommerce-SavedPaymentMethods-saveNew {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment #wc-stripe-new-payment-method {
	display: block !important;
	position: static !important;
	flex: 0 0 20px !important;
	width: 20px !important;
	height: 20px !important;
	margin: 1px 0 0 !important;
	border: 1px solid #7b8799 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	cursor: pointer !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment #wc-stripe-new-payment-method:checked {
	border-color: var(--gg-component-navy) !important;
	background-color: var(--gg-component-navy) !important;
	background-image: linear-gradient(135deg, transparent 0 42%, #fff 42% 50%, transparent 50%), linear-gradient(45deg, transparent 0 52%, #fff 52% 60%, transparent 60%) !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment #wc-stripe-new-payment-method:focus-visible {
	outline: 2px solid var(--gg-component-blue) !important;
	outline-offset: 3px !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment label[for="wc-stripe-new-payment-method"] {
	flex: 1 1 auto !important;
	margin: 0 !important;
	color: var(--gg-component-ink) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	cursor: pointer !important;
}

@media (max-width: 768px) {
	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_stripe {
		grid-template-columns: 22px minmax(0, 1fr) !important;
		column-gap: 12px !important;
		row-gap: 0 !important;
		padding: 18px !important;
	}

	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_stripe::after {
		display: none !important;
	}

	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment ul.wc_payment_methods > li.payment_method_stripe > input:checked ~ .payment_box {
		grid-column: 1 / -1 !important;
		margin-top: 12px !important;
		padding: 12px !important;
	}

	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment label[for="wc-stripe-new-payment-method"] {
		font-size: 13px !important;
	}
}

/* Legacy payment CSS generated its badge inside the label and offset the row. */
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #payment ul.payment_methods > li > label::after {
	content: none !important;
	display: none !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #payment ul.payment_methods > li:has(input:checked)::after {
	grid-column: 3 !important;
	grid-row: 1 !important;
	justify-self: end !important;
}

/*
 * The global page-width layer intentionally uses a 1720px desktop rail, but
 * that fixed width overflows laptop viewports. Checkout has a denser two-column
 * composition, so keep its rail fluid until the full desktop layout fits.
 */
@media (min-width: 769px) and (max-width: 1500px) {
	html body.woocommerce-checkout.gg-native-theme .gg-page > .gg-container {
		width: calc(100vw - 48px) !important;
		max-width: 1318px !important;
		min-width: 0 !important;
		margin-inline: auto !important;
		padding-inline: 0 !important;
	}

	html body.woocommerce-checkout.gg-native-theme .gg-page > .gg-container > .gg-checkout-layout,
	html body.woocommerce-checkout.gg-native-theme .gg-page > .gg-container > .gg-checkout-layout > .woocommerce {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-inline: 0 !important;
	}

	html body.woocommerce-checkout.gg-native-theme .gg-breadcrumbs,
	html body.woocommerce-checkout.gg-native-theme .gg-checkout-progress-shell,
	html body.woocommerce-checkout.gg-native-theme .gg-checkout-indicators,
	html body.woocommerce-checkout.gg-native-theme form.gg-native-checkout[data-step] {
		width: 100% !important;
		max-width: 1240px !important;
		min-width: 0 !important;
		margin-inline: auto !important;
	}

	html body.woocommerce-checkout.gg-native-theme .gg-checkout-method-layout,
	html body.woocommerce-checkout.gg-native-theme .gg-checkout-method-main,
	html body.woocommerce-checkout.gg-native-theme .gg-checkout-context,
	html body.woocommerce-checkout.gg-native-theme .gg-checkout-review {
		max-width: 100% !important;
		min-width: 0 !important;
	}
}

@media (max-width: 768px) {
	html body.woocommerce-checkout.gg-native-theme .gg-page {
		padding-bottom: 48px !important;
	}

	html body.woocommerce-checkout.gg-native-theme .gg-checkout-progress {
		display: block !important;
		width: 100% !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	html body.woocommerce-checkout.gg-native-theme .gg-checkout-indicators {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0 !important;
		width: 100% !important;
		max-width: none !important;
		border: 1px solid var(--gg-component-line) !important;
		overflow: hidden !important;
	}

	html body.woocommerce-checkout.gg-native-theme .gg-checkout-indicator {
		display: flex !important;
		flex: 1 1 auto !important;
		justify-self: stretch !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		min-height: 76px !important;
		padding: 10px 9px !important;
		border: 0 !important;
		border-right: 1px solid var(--gg-component-line) !important;
		border-bottom: 1px solid var(--gg-component-line) !important;
		box-sizing: border-box !important;
		scroll-snap-align: none !important;
	}

	html body.woocommerce-checkout.gg-native-theme .gg-checkout-indicator:nth-child(2),
	html body.woocommerce-checkout.gg-native-theme .gg-checkout-indicator:nth-child(4) {
		border-right: 0 !important;
	}

	html body.woocommerce-checkout.gg-native-theme .gg-checkout-indicator:nth-child(3),
	html body.woocommerce-checkout.gg-native-theme .gg-checkout-indicator:nth-child(4) {
		border-bottom: 0 !important;
	}

	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card:has(input:checked)::after,
	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #payment ul.payment_methods > li:has(input:checked)::after {
		display: none !important;
	}
}

/* Expanded alternate shipping fields sit directly below their heading. */
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .shipping_address .woocommerce-shipping-fields__field-wrapper {
	border-top: 0 !important;
}

/* Order notes are a full-width checkout section at every viewport. */
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .woocommerce-additional-fields,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .woocommerce-additional-fields__field-wrapper,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #order_comments_field,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #order_comments_field .woocommerce-input-wrapper,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #order_comments {
	width: 100% !important;
	max-width: none !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .woocommerce-additional-fields {
	flex: 0 0 100% !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .woocommerce-additional-fields__field-wrapper {
	grid-template-columns: minmax(0, 1fr) !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #order_comments_field {
	grid-column: 1 / -1 !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #order_comments {
	display: block !important;
	min-height: 112px !important;
	padding-top: 12px !important;
	padding-bottom: 12px !important;
	line-height: 1.5 !important;
	resize: vertical !important;
}

/* Final-step legal copy sits above the navigation, aligned with Previous. */
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order-btns {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: 22px 24px !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order-btns .form-row.place-order {
	display: contents !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order-btns .woocommerce-terms-and-conditions-wrapper {
	grid-column: 1 / -1 !important;
	grid-row: 1 !important;
	justify-self: stretch !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	text-align: left !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order-btns > .gg-checkout-prev {
	grid-column: 1 !important;
	grid-row: 2 !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order-btns #place_order {
	grid-column: 3 !important;
	grid-row: 2 !important;
}

@media (max-width: 768px) {
	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order-btns {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 14px !important;
	}

	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order-btns .woocommerce-terms-and-conditions-wrapper,
	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order-btns > .gg-checkout-prev,
	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order-btns #place_order {
		grid-column: 1 !important;
	}

	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order-btns .woocommerce-terms-and-conditions-wrapper {
		grid-row: 1 !important;
	}

	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order-btns > .gg-checkout-prev {
		grid-row: 2 !important;
	}

	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="3"] #order-btns #place_order {
		grid-row: 3 !important;
	}
}

/* Present the alternate-address checkbox as an explicit, accessible toggle. */
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #ship-to-different-address {
	display: flex !important;
	align-items: center !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #ship-to-different-address label {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 52px !important;
	padding: 0 12px 0 20px !important;
	border: 1px solid var(--gg-component-navy) !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: var(--gg-component-navy) !important;
	box-shadow: none !important;
	cursor: pointer !important;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #ship-to-different-address label:hover {
	border-color: var(--gg-component-blue) !important;
	background: var(--gg-method-selected-bg) !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #ship-to-different-address label:focus-within {
	outline: 2px solid var(--gg-component-navy) !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 3px rgba(119, 175, 232, .22) !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #ship-to-different-address label:has(#ship-to-different-address-checkbox:checked) {
	background: var(--gg-component-navy) !important;
	color: #fff !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #ship-to-different-address-checkbox {
	display: block !important;
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	opacity: 0 !important;
	clip-path: inset(50%) !important;
	overflow: hidden !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #ship-to-different-address-checkbox + span {
	display: inline-flex !important;
	align-items: center !important;
	gap: 14px !important;
	color: inherit !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #ship-to-different-address-checkbox + span::after {
	content: "+" !important;
	display: grid !important;
	place-items: center !important;
	flex: 0 0 28px !important;
	width: 28px !important;
	height: 28px !important;
	background: var(--gg-component-navy) !important;
	color: #fff !important;
	font-size: 20px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #ship-to-different-address-checkbox:checked + span::after {
	content: "\2713" !important;
	background: #fff !important;
	color: var(--gg-component-navy) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
}

@media (max-width: 768px) {
	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #ship-to-different-address label {
		width: 100% !important;
		justify-content: space-between !important;
		padding-left: 16px !important;
	}

	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #ship-to-different-address-checkbox + span {
		justify-content: space-between !important;
		width: 100% !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout #ship-to-different-address label {
		transition: none !important;
	}
}

/* Shipping and payment options share one final card geometry. */
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-list,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment ul.wc_payment_methods {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 30px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment ul.wc_payment_methods > li.wc_payment_method {
	box-sizing: border-box !important;
	display: grid !important;
	grid-template-columns: 22px minmax(0, 1fr) auto !important;
	align-items: center !important;
	column-gap: 14px !important;
	row-gap: 0 !important;
	width: 100% !important;
	min-height: 70px !important;
	margin: 0 !important;
	padding: 18px 22px !important;
	border: 1px solid #b8b8b8 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card > input[type="radio"],
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment ul.wc_payment_methods > li.wc_payment_method > input.input-radio {
	grid-column: 1 !important;
	grid-row: 1 !important;
	margin: 0 !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card > span,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment ul.wc_payment_methods > li.wc_payment_method > label {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: center !important;
	justify-self: start !important;
	margin: 0 !important;
	padding: 0 !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card:has(input:checked),
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment ul.wc_payment_methods > li.wc_payment_method:has(input:checked) {
	border-color: #162d57 !important;
	background: #f7f9fc !important;
	box-shadow: inset 4px 0 0 #162d57 !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card:has(input:checked)::after,
html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment ul.wc_payment_methods > li.wc_payment_method:has(input:checked)::after {
	grid-column: 3 !important;
	grid-row: 1 !important;
	align-self: center !important;
	justify-self: end !important;
	margin: 0 !important;
	padding: 0 !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment ul.wc_payment_methods > li.wc_payment_method > .payment_box {
	grid-column: 1 / -1 !important;
	grid-row: 2 !important;
}

html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_stripe {
	padding: 18px 22px !important;
}

@media (max-width: 768px) {
	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout .gg-checkout-method-card,
	html body.woocommerce-checkout.gg-native-theme .gg-native-checkout[data-step="2"] #payment ul.wc_payment_methods > li.wc_payment_method {
		column-gap: 12px !important;
		padding: 18px !important;
	}
}


/* Checkout notices: preserve the shared icon gutter and flexible multi-line layout. */
html body.woocommerce-checkout.gg-native-theme .woocommerce-NoticeGroup-checkout {
	width: 100% !important;
	margin: 0 0 24px !important;
	scroll-margin-top: 196px;
}

html body.woocommerce-checkout.gg-native-theme .woocommerce-NoticeGroup-checkout > .woocommerce-error,
html body.woocommerce-checkout.gg-native-theme .woocommerce-notices-wrapper > .woocommerce-error,
html body.woocommerce-checkout.gg-native-theme .woocommerce-notices-wrapper > .woocommerce-info,
html body.woocommerce-checkout.gg-native-theme .woocommerce-notices-wrapper > .woocommerce-message {
	height: auto !important;
	min-height: 72px !important;
	padding: 23px 24px 21px 76px !important;
	overflow: visible !important;
}

html body.woocommerce-checkout.gg-native-theme .woocommerce-NoticeGroup-checkout > .woocommerce-error > li {
	display: block !important;
	position: static !important;
	box-sizing: border-box !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.5 !important;
}

html body.woocommerce-checkout.gg-native-theme .woocommerce-NoticeGroup-checkout > .woocommerce-error > li + li {
	margin-top: 6px !important;
}

html body.woocommerce-checkout.gg-native-theme .woocommerce-NoticeGroup-checkout > .woocommerce-error::before,
html body.woocommerce-checkout.gg-native-theme .woocommerce-notices-wrapper > .woocommerce-error::before,
html body.woocommerce-checkout.gg-native-theme .woocommerce-notices-wrapper > .woocommerce-info::before,
html body.woocommerce-checkout.gg-native-theme .woocommerce-notices-wrapper > .woocommerce-message::before {
	pointer-events: none !important;
}


@media (max-width: 600px) {
	html body.woocommerce-checkout.gg-native-theme .woocommerce-NoticeGroup-checkout > .woocommerce-error,
	html body.woocommerce-checkout.gg-native-theme .woocommerce-notices-wrapper > .woocommerce-error,
	html body.woocommerce-checkout.gg-native-theme .woocommerce-notices-wrapper > .woocommerce-info,
	html body.woocommerce-checkout.gg-native-theme .woocommerce-notices-wrapper > .woocommerce-message {
		min-height: 64px !important;
		padding: 17px 16px 16px 62px !important;
	}
}
