/**
 * Urlaubspunkt Core 2.10.3 — shared WCAG support layer.
 *
 * Decorative orange surfaces remain owned by their component styles. Text,
 * metadata, form values and keyboard focus use the darker brand palette.
 */
body.up-core-site-accessibility {
	--up-a11y-ink: #202833;
	--up-a11y-muted: #566270;
	--up-a11y-brand-text: #a44408;
	--up-a11y-brand-hover: #873604;
}

/* One robust two-tone keyboard focus treatment for theme, plugin and content controls. */
body.up-core-site-accessibility :where(
	a[href],
	button,
	input:not([type="hidden"]),
	select,
	textarea,
	summary,
	[role="button"],
	[tabindex]:not([tabindex="-1"])
):focus-visible {
	outline: 3px solid #fff !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 5px var(--up-a11y-ink) !important;
}

/* Normal editorial links: dark brand color plus a non-color cue. */
body.up-core-site-accessibility #main :where(
	.entry-content,
	.wpb_text_column,
	.wpb_raw_code,
	.wp-block-post-content
) :where(p, li, td, th, figcaption, blockquote) a[href]:not(.dt-btn):not(.button):not([class*="button"]):not([class*="btn"]):not([role="button"]):not(.wp-block-button__link),
body.up-core-site-accessibility #main :where(
	.entry-content,
	.wpb_text_column,
	.wpb_raw_code,
	.wp-block-post-content
) :where(p, li, td, th, figcaption, blockquote) a[href]:visited:not(.dt-btn):not(.button):not([class*="button"]):not([class*="btn"]):not([role="button"]):not(.wp-block-button__link) {
	color: var(--up-a11y-brand-text) !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 2px !important;
}

body.up-core-site-accessibility #main :where(
	.entry-content,
	.wpb_text_column,
	.wpb_raw_code,
	.wp-block-post-content
) :where(p, li, td, th, figcaption, blockquote) a[href]:hover:not(.dt-btn):not(.button):not([class*="button"]):not([class*="btn"]):not([role="button"]):not(.wp-block-button__link),
body.up-core-site-accessibility #main :where(
	.entry-content,
	.wpb_text_column,
	.wpb_raw_code,
	.wp-block-post-content
) :where(p, li, td, th, figcaption, blockquote) a[href]:focus-visible:not(.dt-btn):not(.button):not([class*="button"]):not([class*="btn"]):not([role="button"]):not(.wp-block-button__link) {
	color: var(--up-a11y-brand-hover) !important;
	text-decoration-thickness: 2px !important;
}

/*
 * Hand-authored comparison headers and accommodation CTAs appear in several
 * light WPBakery guide sections. Their old bright orange remains decorative;
 * real text receives the darker brand palette with explicit, non-transparent
 * foreground and background values.
 */
body.up-core-site-accessibility #main :where(
	.entry-content,
	.wpb_text_column,
	.wpb_raw_code,
	.wp-block-post-content
) .up-head {
	color: var(--up-a11y-ink) !important;
	-webkit-text-fill-color: var(--up-a11y-ink) !important;
	opacity: 1 !important;
}

body.up-core-site-accessibility #main :where(
	.entry-content,
	.wpb_text_column,
	.wpb_raw_code,
	.wp-block-post-content
) .up-head :where(h1, h2, h3, h4, h5, h6, p, strong, b):not(.up-kicker) {
	color: inherit !important;
	-webkit-text-fill-color: inherit !important;
	opacity: 1 !important;
}

body.up-core-site-accessibility #main :where(
	.entry-content,
	.wpb_text_column,
	.wpb_raw_code,
	.wp-block-post-content
) .up-kicker {
	color: var(--up-a11y-brand-text) !important;
	-webkit-text-fill-color: var(--up-a11y-brand-text) !important;
	opacity: 1 !important;
}

body.up-core-site-accessibility #main :where(
	.entry-content,
	.wpb_text_column,
	.wpb_raw_code,
	.wp-block-post-content
) a.up-stay-btn,
body.up-core-site-accessibility #main :where(
	.entry-content,
	.wpb_text_column,
	.wpb_raw_code,
	.wp-block-post-content
) a.up-stay-btn:visited {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	background: var(--up-a11y-brand-text) !important;
	border-color: var(--up-a11y-brand-text) !important;
	opacity: 1 !important;
	text-decoration: none !important;
}

body.up-core-site-accessibility #main :where(
	.entry-content,
	.wpb_text_column,
	.wpb_raw_code,
	.wp-block-post-content
) a.up-stay-btn:hover,
body.up-core-site-accessibility #main :where(
	.entry-content,
	.wpb_text_column,
	.wpb_raw_code,
	.wp-block-post-content
) a.up-stay-btn:focus-visible {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	background: var(--up-a11y-brand-hover) !important;
	border-color: var(--up-a11y-brand-hover) !important;
}

/*
 * The7 uses the same comment tree across older guides and current deal posts.
 * Reset only its text owners; spacing, avatars, nesting and interactions stay
 * with the theme.
 */
body.up-core-site-accessibility :is(#comments, .comments-area) h3,
body.up-core-site-accessibility :is(#comments, .comments-area) :where(.comments-title, .comment-list-title) {
	color: var(--up-a11y-brand-text) !important;
	-webkit-text-fill-color: var(--up-a11y-brand-text) !important;
	opacity: 1 !important;
}

body.up-core-site-accessibility :is(#comments, .comments-area) article.comment-body,
body.up-core-site-accessibility :is(#comments, .comments-area) .comment-body {
	color: var(--up-a11y-ink) !important;
	-webkit-text-fill-color: var(--up-a11y-ink) !important;
	opacity: 1 !important;
}

body.up-core-site-accessibility :is(#comments, .comments-area) .comment-body :where(p, li),
body.up-core-site-accessibility :is(#comments, .comments-area) .comment-author-name,
body.up-core-site-accessibility :is(#comments, .comments-area) .comment-author-name a,
body.up-core-site-accessibility :is(#comments, .comments-area) .comment-author-name a:visited {
	color: var(--up-a11y-ink) !important;
	-webkit-text-fill-color: var(--up-a11y-ink) !important;
	opacity: 1 !important;
}

body.up-core-site-accessibility :is(#comments, .comments-area) :where(
	.comment-meta,
	.comment-meta a,
	.comment-metadata,
	.comment-metadata a,
	time
) {
	color: var(--up-a11y-muted) !important;
	-webkit-text-fill-color: var(--up-a11y-muted) !important;
	opacity: 1 !important;
}

body.up-core-site-accessibility :is(#comments, .comments-area) :where(
	.comment-reply-link,
	.comment-edit-link
),
body.up-core-site-accessibility :is(#comments, .comments-area) :where(
	.comment-reply-link,
	.comment-edit-link
):visited {
	color: var(--up-a11y-brand-text) !important;
	-webkit-text-fill-color: var(--up-a11y-brand-text) !important;
	opacity: 1 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
}

/*
 * Borlabs may dim #page while its modal owns the accessibility tree. Keep its
 * aria-hidden and consent state untouched, but prevent parent opacity/filter
 * from artificially lowering every descendant's measured text contrast. The
 * Borlabs backdrop itself remains the visual dimming layer.
 */
body.up-core-site-accessibility #page[aria-hidden="true"][data-borlabs-cookie-aria-hidden="true"] {
	opacity: 1 !important;
	filter: none !important;
	-webkit-filter: none !important;
}

/* Repeating The7 text owners also appear on ordinary pages and post templates. */
body.up-core-site-accessibility #main article.single-postlike > h1,
body.up-core-site-accessibility #main article.single-postlike .entry-content .wpb_text_column h2:not([class]),
body.up-core-site-accessibility #main article.single-postlike .entry-content .wpb_text_column h3:not([class]),
body.up-core-site-accessibility #main article.single-postlike .author-info.entry-author .author-heading,
body.up-core-site-accessibility #main article.single-postlike .author-info.entry-author .fn,
body.up-core-site-accessibility #main article.single-postlike .navigation.post-navigation .post-title,
body.up-core-site-accessibility #main article.single-postlike .single-related-posts > h3,
body.up-core-site-accessibility #reply-title.comment-reply-title {
	color: var(--up-a11y-brand-text) !important;
}

body.up-core-site-accessibility #main article.single-postlike .share-link-description,
body.up-core-site-accessibility #main article.single-postlike .author-info.entry-author .author-contact-label,
body.up-core-site-accessibility #main article.single-postlike .single-related-posts time.text-secondary,
body.up-core-site-accessibility #main :where(.entry-meta, .entry-meta a, .breadcrumbs, .breadcrumbs a, time.text-secondary) {
	color: var(--up-a11y-muted) !important;
	opacity: 1 !important;
}

body.up-core-site-accessibility #main article.single-postlike .navigation.post-navigation .post-title:hover,
body.up-core-site-accessibility #main article.single-postlike .navigation.post-navigation a:focus-visible .post-title,
body.up-core-site-accessibility #main article.single-postlike .single-related-posts .post-content > a,
body.up-core-site-accessibility #main article.single-postlike .single-related-posts .post-content > a:visited,
body.up-core-site-accessibility #main article.single-postlike .up-linkbox a,
body.up-core-site-accessibility #main article.single-postlike .up-linkbox a:visited,
body.up-core-site-accessibility #main article.single-postlike .up-linkbox strong,
body.up-core-site-accessibility #main article.single-postlike a.wpil_keyword_link,
body.up-core-site-accessibility #main article.single-postlike a.wpil_keyword_link:visited {
	color: var(--up-a11y-brand-text) !important;
}

body.up-core-site-accessibility #main article.single-postlike .single-related-posts .post-content > a:hover,
body.up-core-site-accessibility #main article.single-postlike .single-related-posts .post-content > a:focus-visible,
body.up-core-site-accessibility #main article.single-postlike .up-linkbox a:hover,
body.up-core-site-accessibility #main article.single-postlike .up-linkbox a:focus-visible,
body.up-core-site-accessibility #main article.single-postlike a.wpil_keyword_link:hover,
body.up-core-site-accessibility #main article.single-postlike a.wpil_keyword_link:focus-visible {
	color: var(--up-a11y-brand-hover) !important;
}

/* Form values and placeholders remain readable on the site's light controls. */
body.up-core-site-accessibility #main :where(
	input[type="text"],
	input[type="email"],
	input[type="url"],
	input[type="search"],
	input[type="tel"],
	input[type="number"],
	input[type="password"],
	textarea,
	select
),
body.up-core-site-accessibility #respond :where(
	input[type="text"],
	input[type="email"],
	input[type="url"],
	textarea
) {
	color: var(--up-a11y-ink) !important;
	-webkit-text-fill-color: var(--up-a11y-ink) !important;
}

body.up-core-site-accessibility #main :where(input, textarea)::placeholder,
body.up-core-site-accessibility #respond :where(input, textarea)::placeholder {
	color: var(--up-a11y-muted) !important;
	-webkit-text-fill-color: var(--up-a11y-muted) !important;
	opacity: 1 !important;
}

body.up-core-site-accessibility #respond .comment-form-policy > label {
	color: var(--up-a11y-ink) !important;
}

/* Archive text that previously existed outside the single-template bridges. */
body.up-core-site-accessibility :where(
	.up-guide-card__meta time,
	.up-guide-card__reading,
	.up-guide-method__number,
	.up-guide-topics__count,
	.up-deal-archive__view button
) {
	color: var(--up-a11y-muted) !important;
	opacity: 1 !important;
}

body.up-core-site-accessibility .up-guide-topics a.is-active .up-guide-topics__count {
	color: #fff !important;
	opacity: .92 !important;
}

@media (forced-colors: active) {
	body.up-core-site-accessibility :where(
		a[href],
		button,
		input:not([type="hidden"]),
		select,
		textarea,
		summary,
		[role="button"],
		[tabindex]:not([tabindex="-1"])
	):focus-visible {
		outline: 3px solid CanvasText !important;
		box-shadow: none !important;
	}
}
