.shop-abo {
	flex: 1 0 100%;
	min-inline-size: 0;
	border: 0;
	margin: 1rem 0 1.25rem;
	padding: 0;
	display: grid;
	gap: .5rem;
}
.shop-abo__legend {
	font-weight: 600;
	margin-bottom: .5rem;
	padding: 0;
}
.shop-abo__opt {
	display: flex;
	align-items: center;
	gap: .65rem;
	padding: .75rem 1rem;
	border: 1px solid var(--wp--preset--color--accent-6, #dfe5ec);
	border-radius: 10px;
	cursor: pointer;
	background: var(--wp--preset--color--base, #fff);
}
.shop-abo__opt:has(input:checked) {
	border-color: var(--wp--preset--color--primary, #0f59a6);
	box-shadow: 0 0 0 1px var(--wp--preset--color--primary, #0f59a6);
	background: var(--wp--preset--color--accent-2, #e7eff8);
}
.shop-abo__opt input {
	accent-color: var(--wp--preset--color--primary, #0f59a6);
	margin: 0;
}
.shop-abo__opt small {
	display: block;
	color: var(--wp--preset--color--accent-4, #525252);
	font-size: .85em;
}
.shop-abo__every {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin: .25rem 0 0;
}
.shop-abo__every select {
	padding: .45rem .6rem;
	border-radius: 8px;
	border: 1px solid var(--wp--preset--color--accent-6, #dfe5ec);
}
.shop-abo__note {
	margin: 0;
	font-size: .85em;
	color: var(--wp--preset--color--accent-4, #525252);
}
.shop-abo:not(:has(input[value="1"]:checked)) .shop-abo__every,
.shop-abo:not(:has(input[value="1"]:checked)) .shop-abo__note {
	display: none;
}
/* WooCommerce lays the variation form out as a grid; keep it at full width with the abo choice in it */
form.variations_form:has(.shop-abo) {
	grid-template-columns: minmax(0, 1fr);
}

