.rgy-subscription-checkout,
.rgy-subscription-product {
	--rgy-subscription-accent: var(--e-global-color-primary, #4854f6);
	box-sizing: border-box;
	color: inherit;
	font-family: inherit;
	line-height: 1.55;
}
.rgy-subscription-checkout[hidden],
.rgy-subscription-product[hidden] { display: none; }
.rgy-subscription-checkout {
	clear: both;
	width: 100%;
	margin: 24px 0;
	padding: 24px;
	border: 1px solid #dce0e8;
	border-radius: 12px;
	background: #fff;
	color: #242733;
}
.rgy-subscription-checkout h3 { margin: 0 0 12px; font-size: 1.35rem; }
.rgy-subscription-checkout p { margin: 10px 0; }
.rgy-subscription-row {
	min-width: 0;
	margin: 20px 0;
	padding: 16px 0;
	border: 0;
	border-bottom: 1px solid #dce0e8;
}
.rgy-subscription-row legend { max-width: 100%; padding: 0; font-weight: 650; overflow-wrap: anywhere; }
.rgy-subscription-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.rgy-subscription-controls label,
.rgy-subscription-product > label { display: block; margin: 8px 0 6px; font-size: .93rem; font-weight: 600; }
.rgy-subscription-controls select,
.rgy-subscription-product select {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-height: 46px;
	margin: 0;
	padding: 10px 32px 10px 12px;
	border: 1px solid #8c94a3;
	border-radius: 6px;
	background-color: #fff;
	color: #242733;
	font: inherit;
	font-size: 16px;
}
.rgy-subscription-checkout .rgy-subscription-note,
.rgy-subscription-product .rgy-subscription-note { font-size: .88rem; line-height: 1.55; color: #515867; }
.rgy-subscription-consent { display: flex; align-items: flex-start; gap: 12px; margin: 18px 0; cursor: pointer; }
.rgy-subscription-consent input { flex: 0 0 20px; width: 20px; height: 20px; margin: 4px 0 0; accent-color: var(--rgy-subscription-accent); }
.rgy-subscription-consent span { display: block; font-size: .95rem; line-height: 1.55; }
.rgy-subscription-checkout :focus-visible,
.rgy-subscription-product :focus-visible { outline: 3px solid var(--rgy-subscription-accent); outline-offset: 3px; }
.rgy-subscription-update { font-size: .9rem; font-weight: 600; }
.rgy-subscription-product { margin: 16px 0; }
/* The theme lays every add-to-cart child in one flex row. Keep service fields readable. */
form.rgy-subscription-price-active .woocommerce-variation-add-to-cart { flex-wrap: wrap; align-items: flex-start; }
form.rgy-subscription-price-active .woocommerce-variation-add-to-cart > .rgygy-service-domain-field,
form.rgy-subscription-price-active .woocommerce-variation-add-to-cart > .rgy-subscription-product {
	box-sizing: border-box;
	flex: 0 0 100%;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	font-size: 16px;
	line-height: 1.55;
}
form.rgy-subscription-price-active .rgygy-service-domain-field label { font-size: 16px; font-weight: 600; }
form.rgy-subscription-price-active .rgygy-service-domain-field input { box-sizing: border-box; width: 100%; max-width: 100%; min-height: 46px; font-size: 16px; }
form.rgy-subscription-price-active .rgygy-service-domain-field p { font-size: 14px; line-height: 1.55; }
form.rgy-subscription-price-active .single_add_to_cart_button { flex-shrink: 0; min-width: 160px; min-height: 46px; height: auto; white-space: normal; line-height: 1.4; padding: 12px 24px; }
/* The theme's sticky form keeps a separate interval. Use the complete primary agreement form. */
.uicore-sticky-add-to-cart:has(form.rgy-subscription-price-active) { display: none !important; }
.rgy-native-price-replaced,
form.rgy-subscription-price-active .woocommerce-variation-price { display: none !important; }
.rgy-subscription-selected-price { margin: 14px 0 4px; font-size: 1.4rem; line-height: 1.35; }
@media (max-width: 640px) {
	.rgy-subscription-checkout { padding: 18px 14px; }
	.rgy-subscription-controls { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}
