/* Product purchase controls only; desktop retains its original markup and styling. */
@media (max-width: 780px) {
	body.single-product .entry-summary > .ct-product-add-to-cart.lspa-mobile-purchase {
		background: #fff;
		border: 1px solid #d7e7e2;
		border-radius: 16px;
		box-shadow: 0 6px 20px rgba(23, 63, 67, .04);
		box-sizing: border-box;
		margin: 6px 0 0;
		padding: 18px 16px 12px;
		width: 100%;
	}
	body.single-product .lspa-mobile-purchase form.cart { margin: 0; }
	body.single-product .entry-summary .lspa-mobile-purchase .lspa-mobile-controls {
		align-items: center;
		display: grid !important;
		gap: 16px 10px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		margin: 0;
		padding: 0;
	}
	body.single-product .lspa-mobile-purchase .lspa-mobile-quantity-label {
		color: #173f43;
		font-size: 15px;
		font-weight: 650;
		grid-column: 1 / -1;
		grid-row: 1;
		line-height: 1.4;
		margin: 0;
		max-width: calc(100% - 152px);
	}
	body.single-product .lspa-mobile-purchase .lspa-mobile-quantity-label[hidden] { display: none !important; }
	body.single-product .lspa-mobile-purchase .lspa-mobile-controls > .quantity:not(.hidden):not(:has(input[type="hidden"])) {
		--quantity-height: 48px;
		--quantity-width: 144px;
		background: #f2f8f6 !important;
		border: 1px solid #cfe1da !important;
		border-radius: 10px !important;
		box-shadow: none;
		grid-column: 1 / -1;
		grid-row: 1;
		height: 48px !important;
		justify-self: end;
		margin: 0 !important;
		position: relative;
		width: 144px !important;
	}
	body.single-product .lspa-mobile-purchase .lspa-mobile-controls > .quantity input.qty {
		color: #173f43;
		font-size: 17px !important;
		font-variant-numeric: tabular-nums;
		font-weight: 650;
		height: 46px !important;
		padding: 0 44px !important;
		text-align: center;
		width: 100% !important;
	}
	body.single-product .lspa-mobile-purchase .lspa-mobile-controls > .quantity :is(.ct-increase, .ct-decrease) {
		align-items: center;
		background: transparent !important;
		border: 0;
		border-radius: 8px;
		bottom: auto;
		color: #08645e !important;
		cursor: pointer;
		display: flex;
		height: 46px;
		justify-content: center;
		margin: 0;
		max-width: none;
		padding: 0;
		position: absolute;
		top: 0;
		touch-action: manipulation;
		transform: none;
		width: 44px;
	}
	body.single-product .lspa-mobile-purchase .lspa-mobile-controls > .quantity .ct-decrease { inset-inline: 0 auto; }
	body.single-product .lspa-mobile-purchase .lspa-mobile-controls > .quantity .ct-increase { inset-inline: auto 0; }
	body.single-product .lspa-mobile-purchase .lspa-mobile-controls > .quantity :is(.ct-increase, .ct-decrease)::before {
		font-family: inherit;
		font-size: 23px;
		font-weight: 400;
		line-height: 1;
		transform: none;
	}
	body.single-product .lspa-mobile-purchase .lspa-mobile-controls > .quantity .ct-increase::before { content: '+'; }
	body.single-product .lspa-mobile-purchase .lspa-mobile-controls > .quantity .ct-decrease::before { content: '−'; }
	body.single-product .lspa-mobile-purchase .lspa-mobile-controls > .quantity:focus-within {
		border-color: #08645e !important;
		box-shadow: 0 0 0 3px rgba(8, 100, 94, .12) !important;
	}
	body.single-product .lspa-mobile-purchase .lspa-mobile-controls > .quantity :is(.ct-increase, .ct-decrease):focus-visible {
		background: #deeee7 !important;
		outline: 2px solid #08645e !important;
		outline-offset: -3px;
	}
	body.single-product .entry-summary .lspa-mobile-purchase .lspa-mobile-controls > :is(.single_add_to_cart_button, .lspc-buy-now) {
		background: #08645e;
		border: 1px solid #08645e;
		border-radius: 10px;
		box-shadow: none;
		color: #fff;
		font-size: 15px;
		font-weight: 700;
		grid-column: 1;
		letter-spacing: 0;
		line-height: 1.25;
		margin: 0;
		min-height: 52px;
		min-width: 0;
		padding: 12px 8px;
		text-transform: none;
		touch-action: manipulation;
		transform: none;
		transition: background-color 160ms ease, border-color 160ms ease;
		width: 100%;
	}
	body.single-product .entry-summary .lspa-mobile-purchase .lspa-mobile-controls > .lspc-buy-now {
		background: #f2f8f6;
		border-color: #bfd8cf;
		color: #08645e;
		grid-column: 2;
	}
	body.single-product .entry-summary .lspa-mobile-purchase .lspa-mobile-controls:not(:has(> .lspc-buy-now)) > .single_add_to_cart_button {
		grid-column: 1 / -1;
	}
	body.single-product .lspa-mobile-purchase .lspa-mobile-controls > :is(.lspc-buy-now-hint, .added_to_cart) {
		grid-column: 1 / -1;
		margin: 0;
	}
	body.single-product .entry-summary .lspa-mobile-purchase .lspa-mobile-controls > .single_add_to_cart_button:hover {
		background: #074e49;
		border-color: #074e49;
	}
	body.single-product .entry-summary .lspa-mobile-purchase .lspa-mobile-controls > .lspc-buy-now:hover { background: #e2efe9; }
	body.single-product .entry-summary .lspa-mobile-purchase .lspa-mobile-controls > :is(.single_add_to_cart_button, .lspc-buy-now):focus-visible,
	body.single-product .lspa-mobile-purchase .lspa-action:focus-visible {
		outline: 2px solid #08645e;
		outline-offset: 3px;
	}
	body.single-product .entry-summary .lspa-mobile-purchase .lspa-mobile-controls > :is(.single_add_to_cart_button, .lspc-buy-now):is(:disabled, .disabled) {
		cursor: not-allowed;
		opacity: .5;
	}
	body.single-product .lspa-mobile-purchase .lspc-buy-now-error {
		background: #fff5f2;
		border-left: 3px solid #bd6253;
		border-radius: 4px;
		color: #873d32;
		font-size: 13px;
		line-height: 1.5;
		margin: 12px 0 0;
		overflow-wrap: anywhere;
		padding: 10px 12px;
	}
	body.single-product .lspa-mobile-purchase .lspa-mobile-help {
		border-top: 1px solid #e1ebe7;
		color: #607a7c;
		font-size: 12px;
		line-height: 1.5;
		margin: 18px 0 4px;
		padding-top: 14px;
		text-align: center;
	}
	body.single-product .entry-summary .lspa-mobile-purchase .lspa-actions {
		background: transparent;
		border: 0;
		border-radius: 0;
		gap: 8px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin: 0;
		overflow: visible;
	}
	body.single-product .entry-summary .lspa-mobile-purchase .lspa-action {
		background: transparent;
		border: 0;
		border-radius: 8px;
		color: #315b58;
		font-size: 13px;
		font-weight: 600;
		gap: 7px;
		line-height: 1.3;
		min-height: 44px;
		min-width: 0;
		padding: 8px 4px;
		touch-action: manipulation;
	}
	body.single-product .lspa-mobile-purchase .lspa-action svg { color: #08645e; flex-basis: 18px; height: 18px; width: 18px; }
	body.single-product .entry-summary .lspa-mobile-purchase .lspa-action:hover { background: #f2f8f6; color: #08645e; }
	@media (max-width: 359px) {
		body.single-product .entry-summary > .ct-product-add-to-cart.lspa-mobile-purchase { padding-inline: 12px; }
		body.single-product .lspa-mobile-purchase .lspa-mobile-quantity-label { font-size: 14px; }
		body.single-product .entry-summary .lspa-mobile-purchase .lspa-mobile-controls > :is(.single_add_to_cart_button, .lspc-buy-now) { font-size: 14px; }
	}
	@media (prefers-reduced-motion: reduce) {
		body.single-product .entry-summary .lspa-mobile-purchase .lspa-mobile-controls > :is(.single_add_to_cart_button, .lspc-buy-now),
		body.single-product .lspa-mobile-purchase .lspa-action { transition: none; }
	}
}
