/*! wpb-consent (wpbase) – look for vanilla-cookieconsent 3.1.0 + iframemanager 1.3.0.
 * Colors are tokens: defaults below, the site config (colors) overrides them on :root right after this file.
 * Spacing in px/em, never rem (some themes set html{font-size:62.5%}). Check contrast (WCAG AA) when choosing colors:
 * on_accent on accent/accent_hover, ink on #fff, muted on #fff and on surface, toggle_off vs #fff (>= 3:1). */
:root {
	--wpbcc-ink: #1f2937;
	--wpbcc-ink-rgb: 31, 41, 55;
	--wpbcc-muted: #4b5563;
	--wpbcc-accent: #2563eb;
	--wpbcc-accent-hover: #1d4ed8;
	--wpbcc-accent-light: #60a5fa;
	--wpbcc-on-accent: #fff;
	--wpbcc-surface: #f3f4f6;
	--wpbcc-surface-hover: #eceef1;
	--wpbcc-line: #e5e7eb;
	--wpbcc-toggle-off: #6b7280;
	--wpbcc-readonly: #c9ced4;
}
#cc-main {
	--cc-font-family: inherit;
	--cc-bg: #fff;
	--cc-primary-color: var(--wpbcc-ink);
	--cc-secondary-color: var(--wpbcc-muted);
	--cc-link-color: var(--wpbcc-ink);
	--cc-modal-border-radius: 10px;
	--cc-btn-border-radius: 6px;
	--cc-btn-primary-bg: var(--wpbcc-accent);
	--cc-btn-primary-color: var(--wpbcc-on-accent);
	--cc-btn-primary-border-color: var(--wpbcc-accent);
	--cc-btn-primary-hover-bg: var(--wpbcc-accent-hover);
	--cc-btn-primary-hover-color: var(--wpbcc-on-accent);
	--cc-btn-primary-hover-border-color: var(--wpbcc-accent-hover);
	--cc-btn-secondary-bg: #fff;
	--cc-btn-secondary-color: var(--wpbcc-ink);
	--cc-btn-secondary-border-color: var(--wpbcc-ink);
	--cc-btn-secondary-hover-bg: var(--wpbcc-ink);
	--cc-btn-secondary-hover-color: #fff;
	--cc-btn-secondary-hover-border-color: var(--wpbcc-ink);
	--cc-separator-border-color: var(--wpbcc-line);
	--cc-toggle-on-bg: var(--wpbcc-ink);
	--cc-toggle-off-bg: var(--wpbcc-toggle-off);
	--cc-toggle-on-knob-bg: #fff;
	--cc-toggle-off-knob-bg: #fff;
	--cc-toggle-readonly-bg: var(--wpbcc-readonly);
	--cc-toggle-readonly-knob-bg: #fff;
	--cc-toggle-readonly-knob-icon-color: var(--wpbcc-toggle-off);
	--cc-cookie-category-block-bg: var(--wpbcc-surface);
	--cc-cookie-category-block-border: var(--wpbcc-surface);
	--cc-cookie-category-block-hover-bg: var(--wpbcc-surface-hover);
	--cc-cookie-category-block-hover-border: var(--wpbcc-surface-hover);
	--cc-cookie-category-expanded-block-hover-bg: var(--wpbcc-line);
	--cc-section-category-border: var(--wpbcc-line);
	--cc-footer-bg: var(--wpbcc-surface);
	--cc-footer-color: var(--wpbcc-muted);
	--cc-footer-border-color: var(--wpbcc-line);
	--cc-overlay-bg: rgba(var(--wpbcc-ink-rgb), .6);
	--cc-webkit-scrollbar-bg: var(--wpbcc-line);
	--cc-webkit-scrollbar-hover-bg: var(--wpbcc-ink);
	font-family: inherit;
}
#cc-main .cm, #cc-main .pm { box-shadow: 0 10px 40px rgba(var(--wpbcc-ink-rgb), .25); }
#cc-main .cm--box { max-width: 25em; }
#cc-main { --cc-modal-margin: 20px; }
#cc-main .wpbcc-cid-line[hidden] { display: none !important; }
/* roomier banner (05.10.) */
#cc-main .cm { --wpbcc-pad: 28px; }
#cc-main div.cm .cm__texts { padding-top: 24px !important; }
#cc-main div.cm .cm__title, #cc-main div.cm .cm__desc { padding-left: var(--wpbcc-pad) !important; padding-right: var(--wpbcc-pad) !important; }
#cc-main div.cm .cm__desc { padding-top: 10px !important; padding-bottom: 24px !important; }
#cc-main div.cm .cm__btns { padding: 20px var(--wpbcc-pad) !important; }
#cc-main div.cm .cm__links { padding: 14px var(--wpbcc-pad) !important; }
@media screen and (max-width: 640px) { #cc-main .cm { --wpbcc-pad: 20px; } }
#cc-main .pm--bar { max-width: 32em; }
#cc-main .cm__title, #cc-main .pm__title { font-weight: 600; }
#cc-main .cm__desc, #cc-main .pm__section-desc { line-height: 1.5; }
#cc-main a, #cc-main .cm__link { color: var(--wpbcc-ink); text-decoration: underline; text-underline-offset: 2px; }
#cc-main a:hover { text-decoration-thickness: 2px; }
/* equal weight: Accept all + Necessary only share the primary style; borders keep the same size everywhere */
#cc-main .cm__btn, #cc-main .pm__btn { font-weight: 600; border-width: 2px; }
#cc-main .cm__footer { background: var(--wpbcc-surface); }
#cc-main .cm__links a { margin-right: 1.25em; }
#cc-main .wpbcc-links a { margin-right: 1.25em; }
#cc-main .wpbcc-cid { font-size: .85em; word-break: break-all; }
#cc-main .pm__table-th, #cc-main .pm__table-td { font-size: .85em; }

/* visible focus */
#cc-main button:focus-visible,
#cc-main a:focus-visible,
.wpbcc-settings-link:focus-visible,
.wpbcc-ph__btn:focus-visible {
	outline: 3px solid var(--wpbcc-ink) !important;
	outline-offset: 2px;
}
#cc-main .cm__btn:focus-visible, #cc-main .pm__btn:focus-visible { box-shadow: 0 0 0 2px #fff; }
#cc-main .section__toggle:focus-visible ~ .toggle__icon,
#cc-main .section__toggle:focus-visible + .toggle__icon { box-shadow: 0 0 0 2px #fff, 0 0 0 5px var(--wpbcc-ink); }

/* mobile: bottom sheet, fixed, no layout shift */
@media screen and (max-width: 640px) {
	#cc-main { --cc-modal-margin: 0; }
	#cc-main .cm {
		left: 0 !important; right: 0 !important; bottom: 0 !important;
		border-radius: 14px 14px 0 0;
		max-height: 88vh; max-height: 88dvh; overflow-y: auto;
		padding-bottom: env(safe-area-inset-bottom, 0);
	}
	#cc-main .cm__btn { min-height: 44px; }
	#cc-main .cm__title { padding-top: .5em; }
}

/* footer link [cookie_settings] shortcode – looks like a text link */
.wpbcc-settings-link {
	-webkit-appearance: none; appearance: none;
	background: none; border: 0; border-radius: 0; box-shadow: none;
	padding: 0; margin: 0;
	color: inherit; font: inherit; line-height: inherit; letter-spacing: inherit; text-align: inherit; text-transform: inherit;
	text-decoration: none; cursor: pointer;
}
.wpbcc-settings-link:hover { text-decoration: underline; text-underline-offset: 2px; }

/* ProvenExpert placeholder (#proSealWidget without consent) */
.wpbcc-ph {
	display: inline-flex; flex-direction: column; align-items: flex-start; gap: .6em;
	max-width: 22em; padding: .9em 1em;
	background: var(--wpbcc-surface); color: var(--wpbcc-ink); border-radius: 8px;
	font-size: .875rem; line-height: 1.45; text-align: left;
}
.wpbcc-ph p { margin: 0; color: var(--wpbcc-ink); }
.wpbcc-ph__btn {
	-webkit-appearance: none; appearance: none; cursor: pointer;
	background: var(--wpbcc-accent); color: var(--wpbcc-on-accent); border: 2px solid var(--wpbcc-accent); border-radius: 6px;
	padding: .5em 1em; font: inherit; font-weight: 600; line-height: 1.2;
}
.wpbcc-ph__btn:hover { background: var(--wpbcc-accent-hover); border-color: var(--wpbcc-accent-hover); }

/* iframemanager placeholders (Vimeo / YouTube / involve.me) */
div[data-service] {
	--im-font-family: inherit;
	--im-bg: var(--wpbcc-ink);
	--im-color: #fff;
	--im-link-color: var(--wpbcc-accent);
	--im-link-hover-color: var(--wpbcc-accent-light);
	--im-btn-bg: var(--wpbcc-accent);
	--im-btn-color: var(--wpbcc-on-accent);
	--im-btn-hover-bg: var(--wpbcc-accent-hover);
	--im-btn-active-box-shadow: 0 0 0 3px #fff;
	--im-overlay-bg: linear-gradient(14deg, rgba(var(--wpbcc-ink-rgb), .85), rgba(var(--wpbcc-ink-rgb), .35));
}
div[data-service] .cll button.c-l-b { font-weight: 600; }
div[data-service] .cll button:focus-visible { outline: 3px solid var(--wpbcc-accent); outline-offset: 2px; }

/* video placeholders from includes/class-wpbcc-embeds.php */
.brxe-video > div[data-service],
.brxe-video > .wpbcc-video-off { position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-width: 0; }
.brxe-video > div[data-service]::before { display: none; }
.wpbcc-video-off { background: var(--wpbcc-ink); }
div[data-service].wpbcc-embed { display: block; width: 100%; min-width: 0; margin: 0 auto; }
div[data-service].wpbcc-embed::before { display: none; }

/* "load video?" dialog for click-only players (lightbox / popup) */
.wpbcc-vdlg {
	position: fixed; inset: 0; z-index: 2147483000;
	display: flex; align-items: center; justify-content: center; padding: 16px;
	background: rgba(var(--wpbcc-ink-rgb), .6);
}
.wpbcc-vdlg .wpbcc-ph { max-width: 26em; padding: 1.25em 1.4em; font-size: 1rem; box-shadow: 0 10px 40px rgba(var(--wpbcc-ink-rgb), .25); background: #fff; }
.wpbcc-ph__row { display: flex; flex-wrap: wrap; gap: .6em; }
.wpbcc-ph__btn--2 { background: #fff; border-color: var(--wpbcc-ink); }
.wpbcc-ph__btn--2:hover { background: var(--wpbcc-ink); border-color: var(--wpbcc-ink); color: #fff; }
div[data-service] .cll .c-bg { opacity: 1; }
div[data-service] .cll .c-n-t { background: rgba(var(--wpbcc-ink-rgb), .82); border-radius: 6px; padding: .55em .9em; }
div[data-service] .cll .c-tl { text-shadow: 0 1px 3px rgba(0, 0, 0, .6); }
div[data-service] .cll .c-n-a { display: flex; flex-wrap: wrap; gap: .5em; justify-content: center; }
/* small players (e.g. /videos/ cards): compact notice, only "Video laden" */
.brxe-video, .wpbcc-embed { container-type: inline-size; }
@container (max-width: 420px) {
	div[data-service] .cll .c-tl { display: none; }
	div[data-service] .cll .c-n-t { font-size: 11px; line-height: 1.3; padding: .4em .7em; margin: 0 .8em; }
	div[data-service] .cll .c-n-a { margin-top: .6em; }
	div[data-service] .cll .c-n-a button { font-size: 12px; padding: .45em .9em; }
	div[data-service] .cll .c-n-a button + button { display: none; }
}
/* placeholder labels as generated content (not page text, see startIM in wpb-consent.js) */
div[data-service] .cll .wpbcc-gt::before { content: attr(data-t); }
div[data-service="vimeo"] .cll .c-l-b::after { content: var(--wpbcc-load-vimeo); }
div[data-service="vimeo"] .cll .c-la-b::after { content: var(--wpbcc-all-vimeo); }
div[data-service="youtube"] .cll .c-l-b::after { content: var(--wpbcc-load-youtube); }
div[data-service="youtube"] .cll .c-la-b::after { content: var(--wpbcc-all-youtube); }
