:root {
	--scorm-surface-muted-color: color-mix(in srgb, var(--scorm-border-color) 35%, var(--scorm-surface-color));
	--scorm-progress-track-color: color-mix(in srgb, var(--scorm-border-color) 85%, var(--scorm-surface-color));
	--scorm-overlay-color: color-mix(in srgb, var(--scorm-heading-color) 80%, transparent);
	--scorm-overlay-soft-color: color-mix(in srgb, var(--scorm-heading-color) 55%, transparent);
	--scorm-shadow-color: color-mix(in srgb, var(--scorm-heading-color) 12%, transparent);
	--scorm-shadow-strong-color: color-mix(in srgb, var(--scorm-heading-color) 20%, transparent);
	--scorm-info-surface: color-mix(in srgb, var(--scorm-primary-color) 10%, var(--scorm-surface-color));
	--scorm-info-border: color-mix(in srgb, var(--scorm-primary-color) 30%, var(--scorm-surface-color));
	--scorm-success-surface: color-mix(in srgb, var(--scorm-completed-color) 10%, var(--scorm-surface-color));
	--scorm-success-border: color-mix(in srgb, var(--scorm-completed-color) 30%, var(--scorm-surface-color));
	--scorm-warning-surface: color-mix(in srgb, var(--scorm-in-progress-color) 10%, var(--scorm-surface-color));
	--scorm-warning-border: color-mix(in srgb, var(--scorm-in-progress-color) 30%, var(--scorm-surface-color));
	--scorm-error-surface: color-mix(in srgb, var(--scorm-failed-color) 10%, var(--scorm-surface-color));
	--scorm-error-border: color-mix(in srgb, var(--scorm-failed-color) 30%, var(--scorm-surface-color));
	--scorm-certification-surface: color-mix(in srgb, var(--scorm-certification-color) 10%, var(--scorm-surface-color));
	--scorm-certification-border: color-mix(in srgb, var(--scorm-certification-color) 30%, var(--scorm-surface-color));

	/* Focus rings follow the primary colour unless a theme overrides this. */
	--scorm-focus-color: var(--scorm-primary-color, #0073aa);

	/* Quiz-status tokens (TSK-19301): one definition for pass / fail / pending
	   review on the course-page card, the review panel and the exam. Derived from
	   the Theming status colours, so they follow the palette and the Astra mapping.
	   The -ink tokens are for short labels only and are pulled toward the heading
	   colour, which keeps 4.5:1 on their tint on light and dark profiles.
	   --scorm-state-review is the graphic colour (icon tile, flag): the raw
	   in-progress yellow is too light against a light surface. */
	--scorm-state-pass: var(--scorm-completed-color, #28a745);
	--scorm-state-pass-bg: var(--scorm-success-surface, color-mix(in srgb, var(--scorm-completed-color, #28a745) 10%, var(--scorm-surface-color, #ffffff)));
	--scorm-state-pass-ink: color-mix(in srgb, var(--scorm-completed-color, #28a745) 55%, var(--scorm-heading-color, #1e293b));
	--scorm-state-fail: var(--scorm-failed-color, #dc3545);
	--scorm-state-fail-bg: var(--scorm-error-surface, color-mix(in srgb, var(--scorm-failed-color, #dc3545) 10%, var(--scorm-surface-color, #ffffff)));
	--scorm-state-fail-ink: color-mix(in srgb, var(--scorm-failed-color, #dc3545) 60%, var(--scorm-heading-color, #1e293b));
	--scorm-state-review: color-mix(in srgb, var(--scorm-in-progress-color, #ffc107) 60%, var(--scorm-heading-color, #1e293b));
	--scorm-state-review-bg: var(--scorm-warning-surface, color-mix(in srgb, var(--scorm-in-progress-color, #ffc107) 10%, var(--scorm-surface-color, #ffffff)));
	--scorm-state-review-chip: color-mix(in srgb, var(--scorm-in-progress-color, #ffc107) 25%, var(--scorm-surface-color, #ffffff));
	--scorm-state-review-ink: color-mix(in srgb, var(--scorm-in-progress-color, #ffc107) 35%, var(--scorm-heading-color, #1e293b));
}

/* Shared by auth, catalogue and profile buttons; leave wp-admin styles alone. */
body:not(.wp-admin) .scorm-btn:focus-visible {
	outline: 2px solid var(--scorm-focus-color, var(--scorm-primary-color, #0073aa));
	outline-offset: 2px;
}

.ast-footer-copyright a[href*="mentorkit.com"],
.site-footer a[href*="mentorkit.com"] {
	color: currentColor;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ast-footer-copyright a[href*="mentorkit.com"]:hover,
.site-footer a[href*="mentorkit.com"]:hover {
	opacity: 0.75;
}
