/*
 * Cookie consent (Complianz) in the design of Figma "29 Zgoda na cookies" (bar at the bottom) and
 * "30 Ustawienia cookies" (settings window over a dimmed page). Markup: Complianz template with the
 * changes of inc/cookies.php. Every rule starts at #cmplz-cookiebanner-container or
 * #cmplz-manage-consent, so it outranks the banner stylesheet Complianz generates from its settings.
 */

/* ---------- bar (Figma 29) ---------- */
#cmplz-cookiebanner-container .cmplz-cookiebanner {
	--nj-cookies-tlo: rgba(29, 22, 16, 0.74);
	position: fixed;
	z-index: 99999;
	top: auto;
	right: 0;
	bottom: 0;
	left: 0;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	max-height: calc(100vh - 16px);
	max-height: calc(100dvh - 16px);
	margin: 0;
	padding: 32px var(--nj-margines);
	overflow-y: auto;
	transform: none;
	zoom: 1;
	display: grid;
	grid-template-columns: minmax(0, 480px) auto;
	grid-template-rows: auto auto auto;
	grid-template-areas:
		"naglowek akcje"
		"tresc akcje"
		"dokumenty akcje";
	justify-content: space-between;
	align-items: start;
	gap: 8px 40px;
	border: 1px solid var(--nj-szklo-obrys);
	border-radius: 0;
	background: var(--nj-cookies-tlo);
	-webkit-backdrop-filter: blur(24px);
	backdrop-filter: blur(24px);
	box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.18);
	color: var(--nj-tekst);
	font-family: "Red Hat Text", sans-serif;
	font-size: 16px;
	line-height: 25px;
	text-align: left;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-hidden,
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-dismissed {
	display: none;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-divider,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links.cmplz-information,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-logo,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories,
#cmplz-cookiebanner-container .cmplz-cookiebanner .nejli-cookies-ustawienia {
	display: none;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header {
	grid-area: naglowek;
	display: block;
	margin: 0;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title {
	display: block;
	justify-self: stretch; /* Complianz centres it with justify-self, which Chrome applies to blocks too. */
	margin: 0;
	font-family: "EB Garamond", serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 30px;
	color: var(--nj-tekst);
	text-align: left;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body {
	grid-area: tresc;
	display: block;
	width: auto;
	min-width: 0;
	max-height: none;
	overflow: visible;
}
/* Complianz splits the body into two halves on wide screens. */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body > div {
	width: auto;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message {
	width: auto;
	margin: 0;
	font-size: 16px;
	line-height: 25px;
	color: rgba(243, 233, 220, 0.85);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message p {
	margin: 0;
}

/* Policy link under the message ("Link tekstowy" of the design). */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-documents {
	grid-area: dokumenty;
	display: block;
	margin: 0;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-documents ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	justify-content: flex-start;
	margin: 0;
	padding: 0;
	list-style: none;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-documents li {
	margin: 0;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-documents .cmplz-link {
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	color: var(--nj-zloto-jasne);
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color 0.2s;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-documents .cmplz-link:hover {
	color: var(--nj-tekst);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-documents .cmplz-link.cmplz-hidden {
	display: none;
}

/* Actions: "Ustawienia", "Tylko niezbędne" and "Akceptuję wszystkie" - three buttons of one size,
   typeface, weight and text contrast (agency standard, UX-USLUG 7.1); only "Akceptuję wszystkie" is
   filled, as in the design. */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons {
	grid-area: akcje;
	align-self: center;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 16px;
	margin: 0;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	box-sizing: border-box;
	width: 220px;
	min-width: 0;
	height: 48px;
	min-height: 0;
	margin: 0;
	padding: 0 16px;
	border: 1px solid rgba(232, 213, 176, 0.35);
	border-radius: 2px;
	background: rgba(14, 10, 7, 0.04);
	color: var(--nj-tekst);
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	letter-spacing: normal;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:hover {
	border-color: var(--nj-zloto-jasne);
	background: rgba(14, 10, 7, 0.04);
	color: var(--nj-zloto-jasne);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept {
	border-color: var(--nj-zloto);
	background: var(--nj-zloto);
	color: var(--nj-na-akcencie);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:hover {
	border-color: var(--nj-zloto-jasne);
	background: var(--nj-zloto-jasne);
	color: var(--nj-na-akcencie);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-manage-options {
	display: none;
}

/* Keyboard focus (WCAG 2.4.7), the same ring as the rest of the site. */
#cmplz-cookiebanner-container .cmplz-cookiebanner a:focus-visible,
#cmplz-cookiebanner-container .cmplz-cookiebanner button:focus-visible,
#cmplz-cookiebanner-container .cmplz-cookiebanner input:focus-visible,
#cmplz-manage-consent .cmplz-manage-consent:focus-visible {
	outline: 2px solid var(--nj-zloto-jasne);
	outline-offset: 3px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .nejli-cookies-ustawienia__tytul:focus {
	outline: none;
}

/* ---------- settings window (Figma 30) ---------- */
#cmplz-cookiebanner-container:has(.cmplz-categories-visible:not(.cmplz-dismissed):not(.cmplz-hidden)) {
	position: fixed;
	z-index: 99998;
	inset: 0;
	background: rgba(14, 10, 7, 0.64);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible {
	inset: 0;
	width: min(680px, calc(100% - 32px));
	height: fit-content;
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
	margin: auto;
	padding: 48px;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto auto;
	grid-template-areas:
		"tresc"
		"akcje";
	gap: 24px;
	border-radius: 2px;
	box-shadow: none;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-header,
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-message,
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-documents {
	display: none;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-body {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .nejli-cookies-ustawienia {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .nejli-cookies-ustawienia__tytul {
	margin: 0;
	padding: 0;
	font-family: "EB Garamond", serif;
	font-size: 35px;
	font-weight: 500;
	line-height: 41px;
	letter-spacing: normal;
	text-transform: none;
	color: var(--nj-tekst);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .nejli-cookies-ustawienia__wstep {
	margin: 0;
	font-size: 16px;
	line-height: 25px;
	color: rgba(243, 233, 220, 0.85);
}

/* Categories: checkbox and name in a row, the description always visible under them. */
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-categories {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: auto;
	height: auto;
	margin: 0;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category.cmplz-hidden,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category[style*="display: none"] {
	display: none;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category-header {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	min-height: 46px;
	padding: 0;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category-title {
	order: 2;
	margin: 0;
	padding-top: 1px;
	font-size: 16px;
	font-weight: 500;
	line-height: 17px;
	color: var(--nj-tekst);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-banner-checkbox,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-always-active {
	order: 1;
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	margin: 0;
	padding: 0;
	font-size: 0;
	line-height: 0;
	color: transparent;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category-toggle {
	display: none;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-banner-checkbox .cmplz-label {
	display: none;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories input.cmplz-consent-checkbox {
	display: block;
	position: static;
	box-sizing: border-box;
	width: 18px;
	height: 18px;
	min-width: 18px;
	margin: 0;
	padding: 0;
	border: 1px solid #e8d5b0;
	border-radius: 2px;
	background: transparent no-repeat center / 12px 12px;
	opacity: 1;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories input.cmplz-consent-checkbox:checked,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories input.cmplz-consent-checkbox[data-category="cmplz_functional"] {
	background-color: var(--nj-czekolada);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.4l2.3 2.3 4.7-5.2' fill='none' stroke='%23f3e9dc' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories input.cmplz-consent-checkbox[data-category="cmplz_functional"] {
	cursor: default;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-description {
	display: block;
	margin: 0;
	padding: 4px 0 0 36px;
	font-size: 16px;
	line-height: 25px;
	color: rgba(243, 233, 220, 0.85);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-description-statistics-anonymous {
	display: none;
}

/* Window actions: "Zapisz wybór" in gold, "Akceptuję wszystkie" outlined. */
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-buttons {
	justify-content: flex-start;
	align-self: start;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-buttons .cmplz-btn.cmplz-deny,
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-buttons .cmplz-btn.cmplz-view-preferences {
	display: none !important; /* Complianz sets an inline display on the settings button. */
}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-buttons .cmplz-btn.cmplz-save-preferences {
	display: inline-flex !important;
	border-color: var(--nj-zloto);
	background: var(--nj-zloto);
	color: var(--nj-na-akcencie);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-buttons .cmplz-btn.cmplz-save-preferences:hover {
	border-color: var(--nj-zloto-jasne);
	background: var(--nj-zloto-jasne);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-buttons .cmplz-btn.cmplz-accept {
	border-color: rgba(232, 213, 176, 0.35);
	background: rgba(14, 10, 7, 0.04);
	color: var(--nj-tekst);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible .cmplz-buttons .cmplz-btn.cmplz-accept:hover {
	border-color: var(--nj-zloto-jasne);
	color: var(--nj-zloto-jasne);
}

/* ---------- "Ustawienia cookies" tab after the decision ---------- */
#cmplz-manage-consent .cmplz-manage-consent {
	right: 40px;
	height: 44px;
	min-width: 0;
	padding: 10px 16px;
	border: 1px solid var(--nj-szklo-obrys);
	border-bottom: 0;
	border-radius: 2px 2px 0 0;
	background: var(--nj-czekolada);
	color: var(--nj-tekst);
	font-family: "Red Hat Text", sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 22px;
	--cmplz-manage-consent-height: 44px;
	--cmplz-manage-consent-offset: -28px;
}
#cmplz-manage-consent .cmplz-manage-consent:hover {
	color: var(--nj-zloto-jasne);
}

/* ---------- blocked YouTube frame (11.11.2026) ---------- */
/* Until consent a YouTube frame shows a still with this notice; the notice is a <button>, and Hello Elementor's
   reset gave it the pink #c36 border and hover of every button. */
.cmplz-blocked-content-notice,
.cmplz-blocked-content-notice:hover,
.cmplz-blocked-content-notice:focus {
	border: 1px solid var(--nj-szklo-obrys) !important;
	border-radius: 2px !important;
	background: rgba(28, 22, 18, 0.9) !important;
	color: var(--nj-tekst) !important;
	font-family: "Red Hat Text", sans-serif;
	font-size: 15px;
	line-height: 22px;
}
.cmplz-blocked-content-notice:hover,
.cmplz-blocked-content-notice:focus-visible {
	border-color: var(--nj-zloto-jasne) !important;
	color: var(--nj-zloto-jasne) !important;
}

/* ---------- narrower screens ---------- */
/* The 480 px text and three 220 px buttons side by side need the 1200 px column of the design; below
   1400 px the buttons go under the text, all three shrinking alike when the row gets tight. */
@media (max-width: 1399px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner:not(.cmplz-categories-visible) {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
		grid-template-areas:
			"naglowek"
			"tresc"
			"dokumenty"
			"akcje";
		gap: 8px;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner:not(.cmplz-categories-visible) .cmplz-message {
		max-width: 560px;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner:not(.cmplz-categories-visible) .cmplz-buttons {
		margin-top: 16px;
		align-self: stretch;
		justify-content: flex-start;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner:not(.cmplz-categories-visible) .cmplz-buttons .cmplz-btn {
		flex: 0 1 220px;
		width: auto;
	}
}
@media (max-width: 1199px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner:not(.cmplz-categories-visible) {
		padding: 24px 40px;
	}
}
@media (max-width: 767px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner:not(.cmplz-categories-visible) {
		padding: 24px 16px;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner:not(.cmplz-categories-visible) .cmplz-buttons {
		margin-top: 4px;
	}
	/* Phone: the three buttons one under another, full width. */
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn,
	#cmplz-cookiebanner-container .cmplz-cookiebanner:not(.cmplz-categories-visible) .cmplz-buttons .cmplz-btn {
		flex: 0 0 auto;
		width: 100%;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-categories-visible {
		padding: 32px 24px;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner .nejli-cookies-ustawienia__tytul {
		font-size: 29px;
		line-height: 35px;
	}
	/* On a phone the footer link "Ustawienia cookies" reopens the banner; the tab would cover content. */
	#cmplz-manage-consent .cmplz-manage-consent {
		display: none;
	}
}
/* Landscape phones: Complianz shrinks its banner with zoom; the design keeps its sizes and scrolls. */
@media (max-height: 400px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner {
		display: grid;
		height: auto;
		zoom: 1;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
		zoom: 1 !important;
		height: 48px !important;
		font-size: 16px !important;
		line-height: 24px !important;
	}
}

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