/*
 * Stripe inserisce i pulsanti express come figli diretti del form checkout.
 * Le coordinate esplicite impediscono che spostino customer_details e
 * order_review su righe e colonne differenti.
 */
body.hvtt-checkout form.checkout.woocommerce-checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr) !important;
	grid-template-rows: auto auto auto !important;
	grid-template-areas:
		"express express"
		"separator separator"
		"customer review" !important;
	align-items: start !important;
	column-gap: 26px !important;
	row-gap: 20px !important;
}

body.hvtt-checkout form.checkout.woocommerce-checkout > #wc-stripe-express-checkout-element {
	grid-area: express !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
}

body.hvtt-checkout form.checkout.woocommerce-checkout > #wc-stripe-express-checkout__order-attribution-inputs,
body.hvtt-checkout form.checkout.woocommerce-checkout > wc-order-attribution-inputs {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
}

body.hvtt-checkout form.checkout.woocommerce-checkout > #wc-stripe-express-checkout-button-separator {
	grid-area: separator !important;
	width: 100% !important;
	margin: 0 !important;
	text-align: center !important;
}

body.hvtt-checkout form.checkout.woocommerce-checkout > #customer_details,
body.hvtt-checkout form.checkout.woocommerce-checkout > .col2-set {
	grid-area: customer !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
}

body.hvtt-checkout form.checkout.woocommerce-checkout > #order_review_heading {
	display: none !important;
}

body.hvtt-checkout form.checkout.woocommerce-checkout > #order_review {
	grid-area: review !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	align-self: start !important;
}

body.hvtt-checkout #wc-stripe-express-checkout-element > div,
body.hvtt-checkout #wc-stripe-express-checkout-element iframe {
	max-width: 100% !important;
}

@media (max-width: 1000px) {
	body.hvtt-checkout form.checkout.woocommerce-checkout {
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: auto !important;
		grid-template-areas:
			"express"
			"separator"
			"customer"
			"review" !important;
		row-gap: 18px !important;
	}

	body.hvtt-checkout form.checkout.woocommerce-checkout > #order_review {
		position: relative !important;
		top: auto !important;
	}
}

@media (max-width: 700px) {
	body.hvtt-checkout form.checkout.woocommerce-checkout {
		row-gap: 14px !important;
	}

	body.hvtt-checkout form.checkout.woocommerce-checkout > #wc-stripe-express-checkout-element {
		padding-inline: 0 !important;
	}
}
