/* ==============================================
   Services Wheel Block
   ============================================== */

.services-wheel-block {
	display: contents;
}

.services-wheel-block svg {
	height: auto;
	max-width: 800px;
	margin: 0 auto;
}

/* ==============================================
   CSS Custom Properties
   ============================================== */

.services-wheel-block #full-wheel {
	--slices_text: #414a4c;
	--slices_text-active: #000358;
	--revenue_integrity_bg: #414a4c;
	--revenue_integrity_bg-active: #000358;
	--denials_management_bg: #849da7;
	--denials_management_bg-active: #0097e6;
	--payment_variance_recovery_bg: #9cb1ba;
	--payment_variance_recovery_bg-active: #45b5e5;
	--ar_management_bg: #cdd7dc;
	--ar_management_bg-active: #73c2e5;
	--no_surprises_act_recovery_bg: #dde5e8;
	--no_surprises_act_recovery_bg-active: #a0ddf2;
	--motor_vehicle_accident_bg: #9cb1ba;
	--motor_vehicle_accident_bg-active: #ffb900;
	--workers_compensation_bg: #cdd7dc;
	--workers_compensation_bg-active: #ffc84d;
	--veterans_affairs_tricare_bg: #dee8ee;
	--veterans_affairs_tricare_bg-active: #ffd880;
	--out_of_state_medicaid_bg: #e6ebed;
	--out_of_state_medicaid_bg-active: #ffe1a6;
	--complex_claims_bg: #9cb1ba;
	--complex_claims_bg-active: #ffb900;
}

/* ==============================================
   Base Fill Rules
   ============================================== */

.services-wheel-block #full-wheel .textiw {
	fill: var(--slices_text);
}

.services-wheel-block #full-wheel path {
	transition: all 0.25s ease;
}

/* Revenue Integrity ring */
.services-wheel-block #revenue-integrity-slices .revenue-integrity {
	fill: var(--revenue_integrity_bg);
}

/* Revenue Integrity slices */
.services-wheel-block #revenue-integrity-slices .denials_management_a .denials_management {
	fill: var(--denials_management_bg);
}
.services-wheel-block #revenue-integrity-slices .payment_variance_recovery_a .payment_variance_recovery {
	fill: var(--payment_variance_recovery_bg);
}
.services-wheel-block #revenue-integrity-slices .ar_management_a .ar_management {
	fill: var(--ar_management_bg);
}
.services-wheel-block #revenue-integrity-slices .no_surprises_act_recovery_a .no_surprises_act_recovery {
	fill: var(--no_surprises_act_recovery_bg);
}

/* Complex Claims ring */
.services-wheel-block #complex-claims-slices .complex-claims {
	fill: var(--complex_claims_bg);
}

/* Complex Claims slices */
.services-wheel-block #complex-claims-slices .motor_vehicle_accident_a .motor-vehicle-accident {
	fill: var(--motor_vehicle_accident_bg);
}
.services-wheel-block #complex-claims-slices .workers_compensation_a .workers-compensation {
	fill: var(--workers_compensation_bg);
}
.services-wheel-block #complex-claims-slices .va_tricare_a .va-tricare {
	fill: var(--veterans_affairs_tricare_bg);
}
.services-wheel-block #complex-claims-slices .oos_medicaid .out-of-state-medicaid {
	fill: var(--out_of_state_medicaid_bg);
}

/* ==============================================
   Hover / Focus States
   ============================================== */

/* Revenue Integrity group hover/focus — activates outer ring */
.services-wheel-block #revenue-integrity-slices:hover .revenue-integrity,
.services-wheel-block #revenue-integrity-slices:focus-within .revenue-integrity {
	fill: var(--revenue_integrity_bg-active);
}

/* Individual Revenue Integrity slice hover/focus states */
.services-wheel-block #revenue-integrity-slices .denials_management_a:hover .denials_management,
.services-wheel-block #revenue-integrity-slices .denials_management_a:focus-visible .denials_management {
	fill: var(--denials_management_bg-active);
}
.services-wheel-block #revenue-integrity-slices .denials_management_a:hover .textiw,
.services-wheel-block #revenue-integrity-slices .denials_management_a:focus-visible .textiw {
	fill: var(--slices_text-active);
}
.services-wheel-block #revenue-integrity-slices .payment_variance_recovery_a:hover .payment_variance_recovery,
.services-wheel-block #revenue-integrity-slices .payment_variance_recovery_a:focus-visible .payment_variance_recovery {
	fill: var(--payment_variance_recovery_bg-active);
}
.services-wheel-block #revenue-integrity-slices .payment_variance_recovery_a:hover .textiw,
.services-wheel-block #revenue-integrity-slices .payment_variance_recovery_a:focus-visible .textiw {
	fill: var(--slices_text-active);
}
.services-wheel-block #revenue-integrity-slices .ar_management_a:hover .ar_management,
.services-wheel-block #revenue-integrity-slices .ar_management_a:focus-visible .ar_management {
	fill: var(--ar_management_bg-active);
}
.services-wheel-block #revenue-integrity-slices .ar_management_a:hover .textiw,
.services-wheel-block #revenue-integrity-slices .ar_management_a:focus-visible .textiw {
	fill: var(--slices_text-active);
}
.services-wheel-block #revenue-integrity-slices .no_surprises_act_recovery_a:hover .no_surprises_act_recovery,
.services-wheel-block #revenue-integrity-slices .no_surprises_act_recovery_a:focus-visible .no_surprises_act_recovery {
	fill: var(--no_surprises_act_recovery_bg-active);
}
.services-wheel-block #revenue-integrity-slices .no_surprises_act_recovery_a:hover .textiw,
.services-wheel-block #revenue-integrity-slices .no_surprises_act_recovery_a:focus-visible .textiw {
	fill: var(--slices_text-active);
}

/* Complex Claims group hover/focus — activates outer ring */
.services-wheel-block #complex-claims-slices:hover .complex-claims,
.services-wheel-block #complex-claims-slices:focus-within .complex-claims {
	fill: var(--complex_claims_bg-active);
}

/* Individual Complex Claims slice hover/focus states */
.services-wheel-block #complex-claims-slices .motor_vehicle_accident_a:hover .motor-vehicle-accident,
.services-wheel-block #complex-claims-slices .motor_vehicle_accident_a:focus-visible .motor-vehicle-accident {
	fill: var(--motor_vehicle_accident_bg-active);
}
.services-wheel-block #complex-claims-slices .motor_vehicle_accident_a:hover .textiw,
.services-wheel-block #complex-claims-slices .motor_vehicle_accident_a:focus-visible .textiw {
	fill: var(--slices_text-active);
}
.services-wheel-block #complex-claims-slices .workers_compensation_a:hover .workers-compensation,
.services-wheel-block #complex-claims-slices .workers_compensation_a:focus-visible .workers-compensation {
	fill: var(--workers_compensation_bg-active);
}
.services-wheel-block #complex-claims-slices .workers_compensation_a:hover .textiw,
.services-wheel-block #complex-claims-slices .workers_compensation_a:focus-visible .textiw {
	fill: var(--slices_text-active);
}
.services-wheel-block #complex-claims-slices .va_tricare_a:hover .va-tricare,
.services-wheel-block #complex-claims-slices .va_tricare_a:focus-visible .va-tricare {
	fill: var(--veterans_affairs_tricare_bg-active);
}
.services-wheel-block #complex-claims-slices .va_tricare_a:hover .textiw,
.services-wheel-block #complex-claims-slices .va_tricare_a:focus-visible .textiw {
	fill: var(--slices_text-active);
}
.services-wheel-block #complex-claims-slices .oos_medicaid:hover .out-of-state-medicaid,
.services-wheel-block #complex-claims-slices .oos_medicaid:focus-visible .out-of-state-medicaid {
	fill: var(--out_of_state_medicaid_bg-active);
}
.services-wheel-block #complex-claims-slices .oos_medicaid:hover .textiw,
.services-wheel-block #complex-claims-slices .oos_medicaid:focus-visible .textiw {
	fill: var(--slices_text-active);
}

/* ==============================================
   Active State Overrides
   Set by the ACF wheel_state select field.
   Overrides CSS custom properties with higher
   specificity (2 classes + 1 ID vs. 1 class + 1 ID).
   Hover still works on top of each state.
   The selected slice's text stays active on load.
   ============================================== */

/* Full Wheel — all slices illuminated.
   Hover/focus is inverted here: the -active slice and text
   values are deliberately swapped to each slice's gray and the
   default text color, so the hovered slice dims. Rings keep
   their active color. */
.services-wheel-block.wheel-state--full #full-wheel {
	--slices_text: #000358;
	--slices_text-active: #414a4c;
	--denials_management_bg-active: #849da7;
	--payment_variance_recovery_bg-active: #9cb1ba;
	--ar_management_bg-active: #cdd7dc;
	--no_surprises_act_recovery_bg-active: #dde5e8;
	--motor_vehicle_accident_bg-active: #9cb1ba;
	--workers_compensation_bg-active: #cdd7dc;
	--veterans_affairs_tricare_bg-active: #dee8ee;
	--out_of_state_medicaid_bg-active: #e6ebed;
	--revenue_integrity_bg: #000358;
	--complex_claims_bg: #ffb900;
	--denials_management_bg: #0097e6;
	--payment_variance_recovery_bg: #45b5e5;
	--ar_management_bg: #73c2e5;
	--no_surprises_act_recovery_bg: #a0ddf2;
	--motor_vehicle_accident_bg: #ffb900;
	--workers_compensation_bg: #ffc84d;
	--veterans_affairs_tricare_bg: #ffd880;
	--out_of_state_medicaid_bg: #ffe1a6;
}

/* Denials Management */
.services-wheel-block.wheel-state--denials-management #full-wheel {
	--denials_management_bg: #0097e6;
	--revenue_integrity_bg: #000358;
}
.services-wheel-block.wheel-state--denials-management #revenue-integrity-slices .denials_management_a .textiw {
	fill: var(--slices_text-active);
}

/* Payment Variance Recovery */
.services-wheel-block.wheel-state--payment-variance-recovery #full-wheel {
	--payment_variance_recovery_bg: #45b5e5;
	--revenue_integrity_bg: #000358;
}
.services-wheel-block.wheel-state--payment-variance-recovery #revenue-integrity-slices .payment_variance_recovery_a .textiw {
	fill: var(--slices_text-active);
}

/* AR Management */
.services-wheel-block.wheel-state--ar-management #full-wheel {
	--ar_management_bg: #73c2e5;
	--revenue_integrity_bg: #000358;
}
.services-wheel-block.wheel-state--ar-management #revenue-integrity-slices .ar_management_a .textiw {
	fill: var(--slices_text-active);
}

/* Out-of-Network Recovery */
.services-wheel-block.wheel-state--no-surprises-act-recovery #full-wheel {
	--no_surprises_act_recovery_bg: #a0ddf2;
	--revenue_integrity_bg: #000358;
}
.services-wheel-block.wheel-state--no-surprises-act-recovery #revenue-integrity-slices .no_surprises_act_recovery_a .textiw {
	fill: var(--slices_text-active);
}

/* Motor Vehicle Accident */
.services-wheel-block.wheel-state--motor-vehicle-accident #full-wheel {
	--motor_vehicle_accident_bg: #ffb900;
	--complex_claims_bg: #ffb900;
}
.services-wheel-block.wheel-state--motor-vehicle-accident #complex-claims-slices .motor_vehicle_accident_a .textiw {
	fill: var(--slices_text-active);
}

/* Workers' Compensation */
.services-wheel-block.wheel-state--workers-compensation #full-wheel {
	--workers_compensation_bg: #ffc84d;
	--complex_claims_bg: #ffb900;
}
.services-wheel-block.wheel-state--workers-compensation #complex-claims-slices .workers_compensation_a .textiw {
	fill: var(--slices_text-active);
}

/* Veterans Affairs / TRICARE */
.services-wheel-block.wheel-state--va-tricare #full-wheel {
	--veterans_affairs_tricare_bg: #ffd880;
	--complex_claims_bg: #ffb900;
}
.services-wheel-block.wheel-state--va-tricare #complex-claims-slices .va_tricare_a .textiw {
	fill: var(--slices_text-active);
}

/* Out-of-State Medicaid */
.services-wheel-block.wheel-state--oos-medicaid #full-wheel {
	--out_of_state_medicaid_bg: #ffe1a6;
	--complex_claims_bg: #ffb900;
}
.services-wheel-block.wheel-state--oos-medicaid #complex-claims-slices .oos_medicaid .textiw {
	fill: var(--slices_text-active);
}
