/* Acowebs Free / Pro presentation only. The plugin owns amounts, plans and AJAX.
   Structural selectors also cover panels replaced after a variation change. */
#main-content .wspinart-product-page .wspinart-course-order { min-width: 0; }
#main-content .wspinart-product-page .wspinart-course-order form.cart:has(.awcdp-deposits-wrapper),
#main-content .wspinart-product-page .wspinart-course-order .woocommerce-variation-add-to-cart:has(.awcdp-deposits-wrapper) {
	display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 12px; align-items: start; min-width: 0;
}
#main-content .wspinart-product-page .wspinart-course-order form.variations_form:has(.awcdp-deposits-wrapper) { grid-template-columns: minmax(0, 1fr); }
#main-content .wspinart-product-page .wspinart-course-order form.variations_form:has(.awcdp-deposits-wrapper) .woocommerce-variation-add-to-cart {
	grid-column: 1; grid-row: 4; margin-top: 0;
}
#main-content .wspinart-product-page .wspinart-course-order form.cart:has(.awcdp-deposits-wrapper) :is(.single_variation, p.stock) { margin: 0; }
#main-content .wspinart-product-page .wspinart-course-order .awcdp-deposits-wrapper {
	grid-column: 1 / -1; width: 100%; min-width: 0; max-width: 100%; margin: 0;
}
/* Hide both the label and amount until WooCommerce resolves a selected date.
   The form state also covers deposit panels replaced asynchronously. */
#main-content .wspinart-product-page .wspinart-course-order form.variations_form:not(.wspinart-deposit-ready) .awcdp-deposits-wrapper {
	display: none !important;
}
#main-content .wspinart-product-page .wspinart-course-order .awcdp-deposits-option {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px;
	width: 100%; max-width: 100%; margin: 0; border: 0; border-radius: 0; background: transparent;
}
#main-content .wspinart-product-page .wspinart-course-order .awcdp-deposits-option .awcdp-radio {
	position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px;
	min-width: 0; max-width: 100%; padding: 0; border: 0; background: transparent;
}
/* The theme also enforces the mandatory 25% policy on the server. */
#main-content .wspinart-product-page .wspinart-course-order .awcdp-radio.pay-full,
#main-content .wspinart-product-page .wspinart-course-order .awcdp-radio:has(#awcdp-option-pay-full) { display: none !important; }
#main-content .wspinart-product-page .wspinart-course-order .awcdp-radio .awcdp-radio-label {
	display: inline; margin: 0;
	color: var(--wspinart-ink); font: 500 13px/1.4 var(--ws-font, sans-serif); cursor: default; white-space: nowrap;
}
/* Mandatory deposit: keep the checked field for the plugin's form submission,
   but present a compact amount rather than a payment choice. */
#main-content .wspinart-product-page .wspinart-course-order .awcdp-radio input[name="awcdp_deposit_option"],
#main-content .wspinart-product-page .wspinart-course-order .awcdp-radio .awcdp-radio-label::before {
	display: none !important;
}
#main-content .wspinart-product-page .wspinart-course-order .awcdp-deposits-description {
	margin: 0; padding: 0; color: var(--wspinart-ink); font-size: 13px; line-height: 1.4;
}
#main-content .wspinart-product-page .wspinart-course-order .awcdp-radio:has(input[name="awcdp_deposit_option"]:not(:checked)) .awcdp-deposits-description { display: none !important; }
#main-content .wspinart-product-page .wspinart-course-order .awcdp-deposits-description:not(:has(.awcdp-payment-plan)) { font-size: 0; line-height: 0; }
#main-content .wspinart-product-page .wspinart-course-order #awcdp-deposit-amount { color: var(--wspinart-blue); font-size: 14px; line-height: 1.4; font-weight: 700; white-space: nowrap; }
#main-content .wspinart-product-page .wspinart-course-order #deposit-suffix { display: none; }
#main-content .wspinart-product-page .wspinart-course-order .wspinart-deposit-price-pending { display: none !important; }
#main-content .wspinart-product-page .wspinart-course-order .awcdp-payment-plan { min-width: 0; margin: 0; }
#main-content .wspinart-product-page .wspinart-course-order .awcdp-payment-plan ul { margin: 0; padding: 0; list-style: none; }
#main-content .wspinart-product-page .wspinart-course-order .awcdp-payment-plan ul li {
	margin: 0 0 6px; padding: 8px; border: 1px solid #d5e5eb; border-radius: 6px; list-style: none;
}
#main-content .wspinart-product-page .wspinart-course-order .awcdp-plan-title { min-width: 0; overflow-wrap: anywhere; }
#main-content .wspinart-product-page .wspinart-course-order .awcdp-plan-title :is(.awcdp-plan-label, .awcdp-plan-deposit) {
	color: var(--wspinart-ink); font-size: 13px; line-height: 1.4;
}
/* A single preselected plan needs only its amount, with no card or duplicate label.
   Keep plan choices and details available when a product offers multiple plans. */
#main-content .wspinart-product-page .wspinart-course-order .awcdp-payment-plan ul > li:only-child {
	margin: 0; padding: 0; border: 0; border-radius: 0;
}
#main-content .wspinart-product-page .wspinart-course-order .awcdp-payment-plan li:only-child .awcdp-plan-label,
#main-content .wspinart-product-page .wspinart-course-order .awcdp-payment-plan li:only-child .awcdp-tick,
#main-content .wspinart-product-page .wspinart-course-order .awcdp-payment-plan li:only-child .awcdp-plan-details { display: none !important; }
#main-content .wspinart-product-page .wspinart-course-order .awcdp-payment-plan li:only-child .awcdp-toggle { pointer-events: none; cursor: default; }
#main-content .wspinart-product-page .wspinart-course-order .awcdp-payment-plan li:only-child .awcdp-plan-deposit { margin: 0; font-size: 0; line-height: 0; }
#main-content .wspinart-product-page .wspinart-course-order .awcdp-payment-plan li:only-child .awcdp-plan-deposit .amount {
	color: var(--wspinart-blue); font-size: 14px; font-weight: 700; line-height: 1.4; white-space: nowrap;
}
#main-content .wspinart-product-page .wspinart-course-order .awcdp-plan-details { min-width: 0; overflow-x: auto; }
#main-content .wspinart-product-page .wspinart-course-order .awcdp-plan-details table { width: 100%; margin: 10px 0 0; table-layout: fixed; }
#main-content .wspinart-product-page .wspinart-course-order .awcdp-plan-details table :is(th, td) {
	padding: 8px 4px; text-align: left; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere;
}
#main-content .wspinart-product-page .wspinart-course-order .awcdp-plan-description:empty { display: none; }
#main-content .wspinart-product-page .wspinart-course-order form.cart:has(.awcdp-deposits-wrapper) .single_add_to_cart_button {
	width: 100%; min-width: 0; white-space: normal;
}
@media (min-width: 1101px) {
	#main-content .wspinart-product-page .wspinart-course-order form.variations_form:has(.awcdp-deposits-wrapper) {
		grid-template-columns: minmax(130px, 1fr) auto auto; gap: 8px 12px;
	}
	#main-content .wspinart-product-page .wspinart-course-order form.variations_form:has(.awcdp-deposits-wrapper) .woocommerce-variation-add-to-cart { display: contents; }
	#main-content .wspinart-product-page .wspinart-course-order form.variations_form:has(.awcdp-deposits-wrapper) .quantity { grid-column: 2; grid-row: 1; }
	#main-content .wspinart-product-page .wspinart-course-order form.variations_form:has(.awcdp-deposits-wrapper) .single_add_to_cart_button { grid-column: 3; grid-row: 1; }
	#main-content .wspinart-product-page .wspinart-course-order form.variations_form:has(.awcdp-deposits-wrapper) .awcdp-deposits-wrapper { grid-row: 2; }
	#main-content .wspinart-product-page .wspinart-course-order form.variations_form:has(.awcdp-deposits-wrapper) .wspinart-course-date-stock { grid-row: 3; }
	#main-content .wspinart-product-page .wspinart-course-order form.variations_form:has(.awcdp-deposits-wrapper) .single_variation { grid-row: 4; }
}
@media (max-width: 599px) {
	#main-content .wspinart-product-page .wspinart-course-order .awcdp-deposits-option { gap: 2px 14px; }
}
