/**
 * Cup of Air — accessibility polish (contrast, focus, landmarks helpers)
 */

/* Screen-reader-only H1 when the visual hero H1 is desktop-only */
.coa-a11y-h1 {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Text links: brand teal #0b8b91 is ~4.1:1 on white — darken for WCAG AA body text */
body:not(.admin) #sp-component a:not(.sppb-btn):not(.coa-btn):not(.coa-apps-btn):not(.coa-gws-btn):not(.coa-product-pdf-btn),
body:not(.admin) .coa-home-articles .sppb-readmore,
body:not(.admin) .sppb-addon-article .sppb-readmore {
	color: #086066;
}

body:not(.admin) #sp-component a:not(.sppb-btn):not(.coa-btn):not(.coa-apps-btn):not(.coa-gws-btn):not(.coa-product-pdf-btn):hover,
body:not(.admin) .coa-home-articles .sppb-readmore:hover,
body:not(.admin) .sppb-addon-article .sppb-readmore:hover {
	color: #013a58;
}

/* Inline links in body copy: underline so they are not color-only */
body:not(.admin) #sp-component .sppb-addon-text-block a:not(.sppb-btn),
body:not(.admin) #sp-component .sppb-addon-content > p a:not(.sppb-btn) {
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Meta dates: #888 on white fails AA — use darker gray */
.sppb-meta-date,
.sppb-article-meta > .sppb-meta-date,
.coa-home-articles .sppb-meta-date {
	color: #595959 !important;
}

/* Visible keyboard focus — keep ring even when outline was reset by theme */
body:not(.admin) a:focus-visible,
body:not(.admin) button:focus-visible,
body:not(.admin) input:focus-visible,
body:not(.admin) select:focus-visible,
body:not(.admin) textarea:focus-visible,
body:not(.admin) [tabindex]:focus-visible,
body:not(.admin) #offcanvas-toggler:focus-visible,
body:not(.admin) .coa-skip-link:focus {
	outline: 3px solid #0b8b91 !important;
	outline-offset: 2px !important;
}

body:not(.admin) .compare-table-wrap:focus-visible {
	outline: 3px solid #0b8b91;
	outline-offset: 2px;
}

/* Reduced motion: kill long scroll-top tween + carousel autoplay cues */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto !important;
	}

	a#scroll-top {
		transition: none !important;
	}

	.slick-list,
	.slick-track,
	.slick-slide {
		transition: none !important;
		animation: none !important;
	}

	body:not(.admin) * {
		scroll-behavior: auto !important;
	}
}
