/**
 * PumpkinDP checkout structure correction v11.
 * Fixes direct-child grid placement, Stripe UPE width and redundant order notes.
 */

@media (min-width: 922px) {
	.woocommerce-checkout form.checkout {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		gap: 28px !important;
		align-items: start;
	}

	.woocommerce-checkout form.checkout > #wc-stripe-express-checkout-element {
		grid-column: 1 / -1 !important;
		grid-row: 1 !important;
		width: 100% !important;
	}

	.woocommerce-checkout form.checkout > #wc-stripe-express-checkout__order-attribution-inputs {
		display: none !important;
	}

	.woocommerce-checkout form.checkout > #wc-stripe-express-checkout-button-separator {
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
		width: 100% !important;
	}

	.woocommerce-checkout form.checkout > #customer_details {
		grid-column: 1 !important;
		grid-row: 3 !important;
		box-sizing: border-box;
		margin: 0 !important;
		width: 100% !important;
	}

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

	.woocommerce-checkout form.checkout > #order_review {
		grid-column: 2 !important;
		grid-row: 3 !important;
		box-sizing: border-box;
		margin: 0 !important;
		padding: 24px !important;
		position: sticky;
		top: 118px;
		width: 100% !important;
	}

	.woocommerce-checkout #order_review #payment ul.payment_methods {
		padding: 10px !important;
	}

	.woocommerce-checkout #order_review #payment .payment_box,
	.woocommerce-checkout #order_review #payment .payment_box.payment_method_stripe {
		padding: 8px !important;
	}
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	box-sizing: border-box;
	float: none !important;
	width: 100% !important;
}

.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper,
.woocommerce-checkout #order_comments_field {
	display: none !important;
}

.woocommerce-checkout #payment #wc-stripe-upe-form {
	border: 0 !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

.woocommerce-checkout #payment .wc-stripe-upe-element,
.woocommerce-checkout #payment .wc-stripe-upe-element.StripeElement,
.woocommerce-checkout #payment .__PrivateStripeElement,
.woocommerce-checkout #payment .__PrivateStripeElement iframe {
	box-sizing: border-box !important;
	display: block !important;
	margin: 0 !important;
	max-width: none !important;
	min-width: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

@media (max-width: 921px) {
	.woocommerce-checkout form.checkout {
		display: flex !important;
		flex-direction: column !important;
		gap: 18px !important;
		width: 100% !important;
	}

	.woocommerce-checkout form.checkout > * {
		box-sizing: border-box;
		width: 100% !important;
	}

	.woocommerce-checkout form.checkout > #wc-stripe-express-checkout__order-attribution-inputs,
	.woocommerce-checkout form.checkout > #order_review_heading {
		display: none !important;
	}

	.woocommerce-checkout form.checkout > #customer_details,
	.woocommerce-checkout form.checkout > #order_review {
		float: none !important;
		margin: 0 !important;
		padding: 18px !important;
		position: static !important;
		width: 100% !important;
	}

	.woocommerce-checkout #payment ul.payment_methods,
	.woocommerce-checkout #payment .place-order {
		padding: 10px !important;
	}

	.woocommerce-checkout #payment .payment_box,
	.woocommerce-checkout #payment .payment_box.payment_method_stripe {
		border: 0 !important;
		margin-top: 8px !important;
		padding: 6px !important;
	}

	.woocommerce-checkout #payment #wc-stripe-upe-form {
		padding: 0 !important;
	}

	.woocommerce-checkout #payment .wc-stripe-upe-element,
	.woocommerce-checkout #payment .__PrivateStripeElement,
	.woocommerce-checkout #payment .__PrivateStripeElement iframe {
		width: 100% !important;
	}
}
