/* The native WPC form remains intact; these rules only position its wrapper. */
.single-product div.product > .lfp-composite-layout,
.single-product .product > .lfp-composite-layout {
	clear: both;
	width: 100%;
	margin-top: 28px;
	padding: 28px;
	border: 1px solid #dce6df;
	border-radius: 12px;
	background: #fff;
}

.lfp-composite-layout__header {
	margin: 0 0 24px;
}

.lfp-composite-layout__header h2 {
	margin: 0;
}

.lfp-composite-layout__header p {
	margin: 8px 0 0;
}

.summary.entry-summary .lfp-composite-layout__summary-actions,
.summary .lfp-composite-layout__summary-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin: 18px 0;
}

.lfp-composite-layout__purchase {
	display: flex;
	flex: 1 1 260px;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.lfp-composite-layout__purchase[hidden] {
	display: none !important;
}

.lfp-composite-layout__total {
	flex: 1 1 150px;
	font-weight: 700;
}

.lfp-composite-layout__proxy[aria-disabled='true'] {
	opacity: .72;
}

.lfp-composite-layout:target {
	scroll-margin-top: 28px;
}

@media (max-width: 820px) {
	.single-product div.product > .lfp-composite-layout,
	.single-product .product > .lfp-composite-layout {
		margin-top: 20px;
		padding: 18px 14px;
	}

	.summary.entry-summary .lfp-composite-layout__summary-actions,
	.summary .lfp-composite-layout__summary-actions,
	.lfp-composite-layout__purchase {
		align-items: stretch;
		flex-direction: column;
	}
}
