/*
 * Cookie consent banner (Complianz) — design standards (/docs/stylesheet/).
 * Loaded only while Complianz is active (inc/lk-consent.php). Complianz paints the banner
 * from these custom properties; setting them on its own elements overrides its :root values.
 * Colours inherit the Elementor global colours (the stylesheet's tokens), hex = fallback.
 * Buttons: Accept = primary, Deny = secondary (same size: refusing must be as easy as
 * accepting), View/Save preferences = ghost.
 */
.cmplz-cookiebanner,
#cmplz-manage-consent {
	--lk-c-blue: var(--e-global-color-primary, #5581A2);
	--lk-c-blue-dark: #3C617D; /* primary hover + small links (AA) */
	--lk-c-palm: var(--e-global-color-secondary, #2E7D57);
	--lk-c-ink: var(--e-global-color-text, #16303C);
	--lk-c-muted: var(--e-global-color-509b408, #5B6B73);
	--lk-c-line: var(--e-global-color-b7f30c9, #E3E8EA);
	--lk-c-surface: var(--e-global-color-8ef7c4b, #F1F5F7);

	--cmplz_banner_background_color: #ffffff;
	--cmplz_banner_border_color: var(--lk-c-line);
	--cmplz_banner_border_radius: 14px 14px 14px 14px;
	--cmplz_text_color: var(--lk-c-ink);
	--cmplz_hyperlink_color: var(--lk-c-blue-dark);
	--cmplz_title_font_size: 20px;
	--cmplz_text_font_size: 13px;
	--cmplz_link_font_size: 13px;
	--cmplz_category_body_font_size: 13px;
	--cmplz_category_header_title_font_size: 15px;
	--cmplz_category_header_always_active_color: var(--lk-c-palm);
	--cmplz_button_font_size: 15px;
	--cmplz_button_border_radius: 999px 999px 999px 999px;
	--cmplz_button_accept_background_color: var(--lk-c-blue);
	--cmplz_button_accept_border_color: var(--lk-c-blue);
	--cmplz_button_accept_text_color: #ffffff;
	--cmplz_button_deny_background_color: transparent;
	--cmplz_button_deny_border_color: var(--lk-c-blue);
	--cmplz_button_deny_text_color: var(--lk-c-blue-dark);
	--cmplz_button_settings_background_color: transparent;
	--cmplz_button_settings_border_color: var(--lk-c-line);
	--cmplz_button_settings_text_color: var(--lk-c-ink);
	--cmplz_slider_active_color: var(--lk-c-palm);
	--cmplz_slider_inactive_color: var(--lk-c-muted);
	--cmplz_slider_bullet_color: #ffffff;
}

.cmplz-cookiebanner {
	font-family: "Work Sans", system-ui, sans-serif;
	box-shadow: 0 8px 26px rgba(22, 48, 60, .12);
}
.cmplz-cookiebanner .cmplz-title {
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 600;
	color: var(--lk-c-ink);
}
.cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner .cmplz-categories {
	font-family: inherit;
}
.cmplz-cookiebanner .cmplz-close { color: var(--lk-c-muted); transition: color .16s ease; }
.cmplz-cookiebanner .cmplz-close:hover { color: var(--lk-c-ink); }

/* Links: dark blue + underline on hover (stylesheet link hover). */
.cmplz-cookiebanner .cmplz-links a,
.cmplz-cookiebanner .cmplz-message a { color: var(--lk-c-blue-dark); text-underline-offset: 2px; }
.cmplz-cookiebanner .cmplz-links a:hover,
.cmplz-cookiebanner .cmplz-message a:hover { color: var(--lk-c-ink); }

/* Preferences: categories on Surface 2, card radius. */
.cmplz-cookiebanner .cmplz-categories .cmplz-category {
	background-color: var(--lk-c-surface);
	border-radius: 10px;
}
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-icon.cmplz-open { color: var(--lk-c-muted); }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-icon.cmplz-open svg { fill: currentColor; }

/* Buttons: pill, Work Sans 15/600 — !important so the Elementor kit's global button skin can't repaint them. */
.cmplz-cookiebanner .cmplz-btn {
	font-family: "Work Sans", system-ui, sans-serif !important;
	font-weight: 600 !important;
	letter-spacing: .01em;
	text-transform: none !important;
	border-width: 1px !important;
	border-style: solid !important;
	transition: background-color .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}
.cmplz-cookiebanner .cmplz-btn:hover { transform: translateY(-1px); }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept {
	background-color: var(--lk-c-blue) !important;
	border-color: var(--lk-c-blue) !important;
	color: #ffffff !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover {
	background-color: var(--lk-c-blue-dark) !important;
	border-color: var(--lk-c-blue-dark) !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny {
	background-color: transparent !important;
	border-color: var(--lk-c-blue) !important;
	color: var(--lk-c-blue-dark) !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover {
	background-color: var(--lk-c-surface) !important;
	border-color: var(--lk-c-blue-dark) !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences {
	background-color: transparent !important;
	border-color: var(--lk-c-line) !important;
	color: var(--lk-c-ink) !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:hover,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences:hover {
	background-color: var(--lk-c-surface) !important;
	border-color: var(--lk-c-muted) !important;
}

.cmplz-cookiebanner .cmplz-btn:focus-visible,
.cmplz-cookiebanner .cmplz-close:focus-visible,
.cmplz-cookiebanner .cmplz-category-toggle:focus-visible,
.cmplz-cookiebanner a:focus-visible {
	outline: 2px solid var(--lk-c-blue);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.cmplz-cookiebanner .cmplz-btn,
	.cmplz-cookiebanner .cmplz-close { transition: none; }
	.cmplz-cookiebanner .cmplz-btn:hover { transform: none; }
}
