/**
 * CDental child theme – accessibility enhancements
 * Focus visibility, reduced motion, and touch target safeguards.
 */

/* ==========================================================================
   Focus visible: clear keyboard focus indicator
   ========================================================================== */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* Skip link already has focus styles in parent; reinforce if needed */
.skip-link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* Buttons and CTAs: ensure minimum touch target and visible focus */
.cdental-cta-group .button:focus-visible,
.cdental-cta-group a[role="button"]:focus-visible,
.cdental-404-links a:focus-visible,
.cdental-search-suggestions a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* ==========================================================================
   Reduced motion: respect user preference
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* ==========================================================================
   Touch targets: minimum 44px for interactive elements (child theme components)
   ========================================================================== */
.cdental-cta-group .button,
.cdental-cta-group a[role="button"],
.cdental-404-links a,
.cdental-search-suggestions a {
	min-height: 44px;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.cdental-404-links a,
.cdental-search-suggestions a {
	display: inline-flex;
	align-items: center;
}
