/* ==========================================================================
   Complianz cookie banner — brought in line with the theme (round 7).
   Complianz ships its own blue, grey buttons, a centred title and a text
   column capped at ~480px. Its look is driven by --cmplz_* variables set on
   :root; redefining them on the banner itself wins by inheritance, and the
   few layout rules below override its defaults by specificity.
   ========================================================================== */

.cmplz-cookiebanner,
#cmplz-manage-consent {
	--cmplz_banner_width: 560px;
	--cmplz_banner_background_color: var(--bg-body);
	--cmplz_banner_border_color: var(--border);
	--cmplz_banner_border_width: 1px;
	--cmplz_banner_border_radius: var(--radius-lg);
	--cmplz_banner_margin: 0.6rem;
	--cmplz_title_font_size: 1.15rem;
	--cmplz_text_color: var(--body);
	--cmplz_text_font_size: 0.92rem;
	--cmplz_text_line_height: 1.6;
	--cmplz_hyperlink_color: var(--primary-dark);
	--cmplz_link_font_size: 0.85rem;
	--cmplz_category_body_font_size: 0.85rem;
	--cmplz_category_header_title_font_size: 0.95rem;
	--cmplz_category_header_active_font_size: 0.8rem;
	--cmplz_category_header_always_active_color: var(--primary-dark);
	--cmplz_button_accept_background_color: var(--primary);
	--cmplz_button_accept_border_color: var(--primary-dark);
	--cmplz_button_accept_text_color: #fff;
	--cmplz_button_deny_background_color: var(--bg-body);
	--cmplz_button_deny_border_color: var(--border-strong);
	--cmplz_button_deny_text_color: var(--primary-dark);
	--cmplz_button_settings_background_color: var(--bg-body);
	--cmplz_button_settings_border_color: var(--border-strong);
	--cmplz_button_settings_text_color: var(--primary-dark);
	--cmplz_button_border_radius: var(--radius-sm);
	--cmplz_button_font_size: 0.95rem;
	--cmplz_slider_active_color: var(--primary);
	--cmplz_slider_inactive_color: var(--border-strong);
	--cmplz_slider_bullet_color: #fff;
	font-family: var(--font-body);
}

/* The one place a shadow stays: an overlay needs to lift off the page. */
.cmplz-cookiebanner.cmplz-cookiebanner {
	padding: clamp(1.25rem, 3vw, 1.75rem);
	row-gap: 0.9rem;
	box-shadow: 0 24px 60px -24px rgba(6, 29, 97, 0.4);
}
.cmplz-cookiebanner.cmplz-show:hover {
	transition: none;
	box-shadow: 0 24px 60px -24px rgba(6, 29, 97, 0.4);
}

/* Header: title left-aligned in the heading face, small muted close icon. */
/* Complianz reserves a 100px logo column each side, which centres the title. */
.cmplz-cookiebanner .cmplz-header { grid-template-columns: 0 1fr auto; }
.cmplz-cookiebanner .cmplz-title {
	justify-self: start;
	font-family: var(--font-head);
	font-weight: 700;
	letter-spacing: -0.015em;
	color: var(--heading);
}
.cmplz-cookiebanner .cmplz-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	color: var(--muted);
}
.cmplz-cookiebanner .cmplz-close svg { width: 14px; height: 14px; }
/* Complianz focuses the close button on open; keep a ring, just a calm one. */
.cmplz-cookiebanner .cmplz-close:focus { outline: 2px solid var(--primary-soft); outline-offset: 0; }
.cmplz-cookiebanner .cmplz-close:focus-visible { outline-color: var(--primary); }
.cmplz-cookiebanner .cmplz-close:hover { background: var(--bg-alt); color: var(--heading); font-size: 20px; }

/* Text uses the full banner width instead of Complianz's narrow column. */
.cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner .cmplz-categories { width: 100%; }
.cmplz-cookiebanner .cmplz-message { margin-bottom: 0; }

/* Buttons match the theme's .btn. */
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	min-height: 2.9rem;
	font-family: var(--font-body);
	font-weight: 600;
	line-height: 1.2;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:hover {
	background-color: var(--primary-dark);
	border-color: var(--primary-dark);
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny:hover,
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences:hover,
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences:hover {
	background-color: var(--primary-soft);
	border-color: var(--primary);
}

/* Document links: one quiet row instead of two stacked underlined lines. */
.cmplz-cookiebanner .cmplz-links.cmplz-documents {
	flex-wrap: wrap;
	justify-content: center;
	column-gap: 1.25rem;
}
/* The links sit in a <ul> inside the flex row, so the list itself must flow inline. */
.cmplz-cookiebanner .cmplz-links.cmplz-documents ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4rem 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.cmplz-cookiebanner .cmplz-links.cmplz-documents li { margin: 0; }
/* Unfilled document slot (no impressum page) — Complianz leaves it as "{title}" → "#". */
.cmplz-cookiebanner .cmplz-links.cmplz-documents li:has(> a[href="#"]) { display: none; }
.cmplz-cookiebanner .cmplz-links .cmplz-link {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.cmplz-cookiebanner .cmplz-links .cmplz-link:hover { color: var(--primary); }

/* Preferences view. */
.cmplz-cookiebanner .cmplz-categories .cmplz-category {
	background-color: var(--bg-alt);
	border: 1px solid var(--border);
	border-radius: var(--radius);
}
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title {
	font-weight: 700;
	color: var(--heading);
}
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-icon.cmplz-open { transition: none; }

/* "Spravovat souhlas" tab after a choice: no slide animation (no-motion rule). */
#cmplz-manage-consent .cmplz-manage-consent {
	animation: none;
	bottom: 0;
	height: auto;
	padding: 0.55rem 1rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--heading);
	box-shadow: none;
}
#cmplz-manage-consent .cmplz-manage-consent:hover { animation: none; color: var(--primary-dark); }

/* Phones: buttons stack full width (Complianz default) — keep them compact. */
@media (max-width: 768px) {
	.cmplz-cookiebanner.cmplz-cookiebanner { width: calc(100% - 2rem); }
	.cmplz-cookiebanner .cmplz-buttons .cmplz-btn { min-height: 2.75rem; }
}
