/* AVON Bühne – Cookie-Banner von Complianz im Look der Website.
   Complianz definiert seine Farben als Variablen auf :root. Hier werden sie auf body neu gesetzt und
   aus den Theme-Farben abgeleitet. Damit folgen sie automatisch dem Farbschema der aktuellen Produktion
   und dem Bühnenbild (Nachtvorstellung, Stummfilm …), ohne dass in Complianz etwas eingestellt werden muss.
   Wird nur geladen, wenn Complianz aktiv ist. */

body {
	--cmplz_banner_width: 500px;
	--cmplz_banner_background_color: var(--wp--preset--color--card);
	--cmplz_banner_border_color: var(--wp--preset--color--line);
	--cmplz_banner_border_width: 1px;
	--cmplz_banner_border_radius: 18px;
	--cmplz_banner_margin: 10px;
	--cmplz_title_font_size: 1.3rem;
	--cmplz_text_color: var(--wp--preset--color--ink);
	--cmplz_hyperlink_color: var(--wp--preset--color--gold-deep);
	--cmplz_text_font_size: 0.875rem;
	--cmplz_text_line_height: 1.55;
	--cmplz_link_font_size: 0.8125rem;
	--cmplz_category_body_font_size: 0.8125rem;
	--cmplz_category_header_title_font_size: 0.9375rem;
	--cmplz_category_header_active_font_size: 0.75rem;
	--cmplz_category_header_always_active_color: var(--wp--preset--color--gold-deep);
	--cmplz_button_accept_background_color: var(--wp--preset--color--gold);
	--cmplz_button_accept_border_color: var(--wp--preset--color--gold);
	--cmplz_button_accept_text_color: var(--avon-on-accent, var(--wp--preset--color--ink));
	--cmplz_button_deny_background_color: transparent;
	--cmplz_button_deny_border_color: color-mix(in srgb, var(--wp--preset--color--ink) 28%, transparent);
	--cmplz_button_deny_text_color: var(--wp--preset--color--ink);
	--cmplz_button_settings_background_color: transparent;
	--cmplz_button_settings_border_color: color-mix(in srgb, var(--wp--preset--color--ink) 28%, transparent);
	--cmplz_button_settings_text_color: var(--wp--preset--color--ink);
	--cmplz_button_border_radius: 10px;
	--cmplz_button_font_size: 0.9375rem;
	--cmplz_slider_active_color: var(--wp--preset--color--gold);
	--cmplz_slider_inactive_color: color-mix(in srgb, var(--wp--preset--color--muted) 55%, transparent);
	--cmplz_slider_bullet_color: #fff;
	--cmplz-manage-consent-height: 46px;
	--cmplz-manage-consent-offset: -32px;
}

/* ---------- Rahmen ---------- */
body .cmplz-cookiebanner {
	box-sizing: border-box;
	font-family: var(--wp--preset--font-family--figtree);
	padding: 1.35rem 1.5rem 1.1rem;
	grid-gap: 0.75rem;
	border-top: 4px solid var(--wp--preset--color--gold);
	box-shadow: 0 24px 60px -18px rgba(28, 25, 23, 0.38), 0 6px 18px -6px rgba(28, 25, 23, 0.18);
	scrollbar-color: var(--wp--preset--color--line) transparent;
}
body .cmplz-cookiebanner.cmplz-show:hover { box-shadow: 0 28px 70px -18px rgba(28, 25, 23, 0.42), 0 8px 20px -6px rgba(28, 25, 23, 0.2); }
body .cmplz-cookiebanner .cmplz-divider { display: none; }

/* ---------- Kopf: Titel links in Fraunces, Schliessen rechts ---------- */
body .cmplz-cookiebanner .cmplz-header { grid-template-columns: 1fr auto; gap: 1rem; }
body .cmplz-cookiebanner .cmplz-logo { display: none; }
body .cmplz-cookiebanner .cmplz-title {
	grid-column-start: 1;
	justify-self: start;
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.01em;
}
body .cmplz-cookiebanner .cmplz-title::before {
	content: "Theater AVON";
	display: block;
	margin-bottom: 0.3rem;
	font-family: var(--wp--preset--font-family--figtree);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold-deep);
}
body .cmplz-cookiebanner .cmplz-close {
	grid-column-start: 2;
	align-self: start;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	color: var(--wp--preset--color--muted);
	transition: background-color 0.2s, color 0.2s;
}
body .cmplz-cookiebanner .cmplz-close svg { width: 14px; height: 14px; }
body .cmplz-cookiebanner .cmplz-close:hover,
body .cmplz-cookiebanner .cmplz-close:focus-visible { background: var(--wp--preset--color--gold-soft); color: var(--wp--preset--color--ink); font-size: 20px; line-height: 20px; }

/* ---------- Text ---------- */
@media (min-width: 768px) {
	body .cmplz-cookiebanner .cmplz-message,
	body .cmplz-cookiebanner .cmplz-categories { width: auto; }
	body .cmplz-cookiebanner { width: var(--cmplz_banner_width); }
}
body .cmplz-cookiebanner .cmplz-message { color: var(--wp--preset--color--ink-soft); margin-bottom: 0.25rem; }
body .cmplz-cookiebanner .cmplz-message a,
body .cmplz-cookiebanner .cmplz-links .cmplz-link { text-decoration-thickness: 1px; text-underline-offset: 3px; }
body .cmplz-cookiebanner .cmplz-message a:hover,
body .cmplz-cookiebanner .cmplz-links .cmplz-link:hover { color: var(--wp--preset--color--ink); }

/* ---------- Kategorien ---------- */
body .cmplz-cookiebanner .cmplz-categories .cmplz-category {
	background: var(--wp--preset--color--gold-soft);
	border-radius: 12px;
}
body .cmplz-cookiebanner .cmplz-categories .cmplz-category:not(:last-child) { margin-bottom: 8px; }
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header { padding: 0.7rem 0.9rem; }
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title { font-weight: 600; }
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-always-active { font-weight: 600; letter-spacing: 0.04em; }
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description { padding: 0 0.9rem 0.8rem; color: var(--wp--preset--color--ink-soft); }
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-toggle { color: var(--wp--preset--color--muted); }
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-icon.cmplz-open svg { fill: currentColor; height: 14px; }
/* Schalter etwas grösser und mit Fokusring in der Akzentfarbe */
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:before { height: 18px; width: 34px; top: -9px; }
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:after { height: 12px; width: 12px; top: -6px; left: 3px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25); }
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label:after { left: 19px; }
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus + .cmplz-label:before { box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--gold) 40%, transparent); }

/* ---------- Knöpfe: Akzeptieren wie die Buttons der Website, die anderen als Umriss ---------- */
body .cmplz-cookiebanner .cmplz-buttons { gap: 8px; margin-top: 0.25rem; }
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	min-height: 46px;
	padding: 0.7rem 1rem;
	font-family: var(--wp--preset--font-family--figtree);
	font-weight: 700;
	line-height: 1.2;
	border-width: 1.5px;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
}
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept { flex: 1.3 1 0; }
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:not(.cmplz-accept) { flex: 1 1 0; font-weight: 600; }
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:hover {
	background-color: var(--wp--preset--color--ink);
	border-color: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
}
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:not(.cmplz-accept):hover {
	border-color: var(--wp--preset--color--ink);
	background-color: color-mix(in srgb, var(--wp--preset--color--ink) 5%, transparent);
}
body .cmplz-cookiebanner .cmplz-btn:focus-visible,
body .cmplz-cookiebanner .cmplz-link:focus-visible,
body .cmplz-cookiebanner .cmplz-close:focus-visible,
body .cmplz-cookiebanner .cmplz-category-toggle:focus-visible,
body #cmplz-manage-consent .cmplz-manage-consent:focus-visible {
	outline: 2px solid var(--wp--preset--color--gold);
	outline-offset: 2px;
}

/* ---------- Links unten ---------- */
body .cmplz-cookiebanner .cmplz-links ul { gap: 0.4rem 1.1rem; flex-wrap: wrap; }
body .cmplz-cookiebanner .cmplz-links.cmplz-documents { padding-top: 0.6rem; border-top: 1px solid var(--wp--preset--color--line); }
body .cmplz-cookiebanner .cmplz-links .cmplz-link { color: var(--wp--preset--color--muted); }

/* ---------- Lasche «Zustimmung verwalten» ---------- */
body #cmplz-manage-consent .cmplz-manage-consent {
	font-family: var(--wp--preset--font-family--figtree);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	padding: 0.75rem 1.1rem;
	border-width: 1px 1px 0;
	border-top: 3px solid var(--wp--preset--color--gold);
	border-radius: 12px 12px 0 0;
	box-shadow: 0 -6px 20px -8px rgba(28, 25, 23, 0.3);
}

/* ---------- Mobil: Banner als Blatt von unten ---------- */
@media (max-width: 768px) {
	body .cmplz-cookiebanner {
		border-radius: 18px 18px 0 0;
		border-width: 1px 0 0;
		border-top-width: 4px;
		padding: 1.1rem 1.1rem calc(0.9rem + env(safe-area-inset-bottom));
	}
	body .cmplz-cookiebanner .cmplz-header .cmplz-title { display: block; font-size: 1.1rem; }
	body .cmplz-cookiebanner .cmplz-message { margin-right: 0; }
	body .cmplz-cookiebanner .cmplz-buttons { flex-direction: column; }
	body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { flex: none; }
}

@media (prefers-reduced-motion: reduce) {
	body .cmplz-cookiebanner *,
	body #cmplz-manage-consent .cmplz-manage-consent { transition: none !important; }
}

/* ---------- Bühnenbilder: Schrift auf dem Akzent-Knopf ----------
   Nachtvorstellung und Galapremiere hellen dunkle Akzente auf, dann braucht es dunkle Schrift.
   Stummfilm ist schwarzweiss: Akzent schwarz, Schrift weiss. */
body.avon-look--nachtvorstellung.avon-accent-is-dark { --avon-on-accent: #0A0909; }
body.avon-look--galapremiere.avon-accent-is-dark { --avon-on-accent: #120D0A; }
body.avon-look--stummfilm { --avon-on-accent: #F6F6F4; }
body.avon-look--stummfilm .cmplz-cookiebanner,
body.avon-look--stummfilm #cmplz-manage-consent .cmplz-manage-consent { border-radius: 0; }
body.avon-look--stummfilm .cmplz-cookiebanner .cmplz-btn { border-radius: 0; text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.8125rem; }
body.avon-look--stummfilm .cmplz-cookiebanner .cmplz-categories .cmplz-category { border-radius: 0; }
body.avon-look--litfass .cmplz-cookiebanner { border: 3px solid var(--wp--preset--color--ink); border-top-width: 6px; border-top-color: var(--wp--preset--color--gold); box-shadow: 8px 8px 0 var(--wp--preset--color--ink); }
body.avon-look--litfass .cmplz-cookiebanner .cmplz-title { font-family: Anton, var(--wp--preset--font-family--figtree); font-weight: 400; text-transform: uppercase; letter-spacing: 0.02em; }
body.avon-look--nachtvorstellung .cmplz-cookiebanner,
body.avon-look--galapremiere .cmplz-cookiebanner { box-shadow: 0 24px 70px -12px rgba(0, 0, 0, 0.7), 0 0 0 1px color-mix(in srgb, var(--wp--preset--color--gold) 25%, transparent); }

/* Unsichtbare Beschriftungen der Schalter (falls kein globaler screen-reader-text-Stil greift) */
body .cmplz-cookiebanner .screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
