/**
 * Podcast accessibility polish (Design A6) — skip link, focus, reduced motion.
 *
 * @package Vandadcast
 */

/* Screen-reader-only utility */
.vandadcast-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Skip to main content */
.vandadcast-skip-link {
	position: absolute;
	inset-inline-start: 1rem;
	inset-block-start: -4rem;
	z-index: 100001;
	padding: 0.65rem 1rem;
	border-radius: var(--vc-radius-sm, 0.5rem);
	background: var(--vc-color-primary, #2563eb);
	color: #fff;
	font-weight: 600;
	font-size: var(--vc-font-size-sm, 0.875rem);
	text-decoration: none;
	box-shadow: var(--vc-shadow-md, 0 8px 24px color-mix(in srgb, CanvasText 18%, transparent));
	transition: inset-block-start 0.15s ease, outline 0.15s ease;
}

.vandadcast-skip-link:focus,
.vandadcast-skip-link:focus-visible {
	inset-block-start: 1rem;
	outline: 3px solid var(--vc-color-accent, #0ea5e9);
	outline-offset: 3px;
}

/* Sticky player sits outside .vandadcast — explicit focus rings */
body.vandadcast-a11y-enhanced .vandadcast-sticky :is(a, button, input, [tabindex]):focus-visible {
	outline: var(--vc-focus-ring, 3px solid var(--vc-color-primary, #2563eb));
	outline-offset: var(--vc-focus-offset, 2px);
}

body.vandadcast-a11y-enhanced .vandadcast-sticky :is(a, button, input, [tabindex]):focus:not(:focus-visible) {
	outline: none;
}

/* Dedicated expand control (mobile) — avoids nested interactive inside role=button */
.vandadcast-sticky--chrome .vandadcast-sticky__open {
	display: none;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.25rem;
	height: 2.25rem;
	margin-inline-start: 0.15rem;
	border: 0;
	border-radius: 999px;
	background: color-mix(in srgb, var(--vc-color-primary, #2563eb) 14%, transparent);
	color: var(--vc-color-text, CanvasText);
	font-size: 1.1rem;
	line-height: 1;
	cursor: pointer;
}

@media (max-width: 720px) {
	.vandadcast-sticky--chrome .vandadcast-sticky__open:not([hidden]) {
		display: inline-flex;
	}
}

/* Stronger focus on home carousel controls */
body.vandadcast-a11y-enhanced .vandadcast-pod-home__hero-nav:focus-visible,
body.vandadcast-a11y-enhanced .vandadcast-pod-home__row-nav:focus-visible {
	outline: var(--vc-focus-ring, 3px solid var(--vc-color-primary, #2563eb));
	outline-offset: var(--vc-focus-offset, 2px);
}

/* Respect reduced motion across podcast surfaces */
@media (prefers-reduced-motion: reduce) {
	body.vandadcast-a11y-enhanced .vandadcast-pod-home__slider-track,
	body.vandadcast-a11y-enhanced .vandadcast-pod-home__ep-link,
	body.vandadcast-a11y-enhanced .vandadcast-pod-home__series-card,
	body.vandadcast-a11y-enhanced .vandadcast-episode-row,
	body.vandadcast-a11y-enhanced .vandadcast-card__link {
		transition: none !important;
	}

	body.vandadcast-a11y-enhanced .vandadcast-sticky--chrome .vandadcast-sticky__mini-progress-fill,
	body.vandadcast-a11y-enhanced .vandadcast-sticky.is-reduced-motion .vandadcast-sticky__mini-progress-fill {
		transition: none;
	}

	body.vandadcast-a11y-enhanced .vandadcast-skip-link {
		transition: none;
	}
}
