/*
 * Moduł consent — baner zgody i blok wyboru w treści polityki.
 *
 * Markup wstrzykuje wtyczka w wp_footer, poza kontenerem motywu, więc arkusz
 * jest kompletny i stoi na własnych zmiennych --rdzen-zgoda-*. Wartości
 * domyślne są neutralne i UŻYWALNE (czytelna karta na każdym serwisie bez
 * żadnej reguły w motywie); motyw nadaje własne wartości jedną regułą :root
 * („mostek tokenów”, kontrakt w README modułu).
 *
 * Dwa równorzędne wyjścia (STANDARD-ANALITYKI 2.1): jeden selektor
 * .rdzen-zgoda__przycisk niesie wysokość, padding, grubość pisma i obrys;
 * modyfikatory --tak / --nie zmieniają WYŁĄCZNIE kolory. Odmowa nie jest
 * lżejsza w żadnym wymiarze.
 */

:root {
	--rdzen-zgoda-tlo: #ffffff;
	--rdzen-zgoda-tekst: #1a1a1a;
	--rdzen-zgoda-tekst-2: #3d3d3d;
	--rdzen-zgoda-mono: #6b6b6b;
	--rdzen-zgoda-akcent: #2b6cb0;
	--rdzen-zgoda-akcent-hover: #245a93;
	--rdzen-zgoda-akcent-tekst: #ffffff;
	--rdzen-zgoda-odmowa: #1a1a1a;
	--rdzen-zgoda-odmowa-hover: #333333;
	--rdzen-zgoda-odmowa-tekst: #ffffff;
	--rdzen-zgoda-ramka: #1a1a1a;
	--rdzen-zgoda-linia: #d9d9d9;
	--rdzen-zgoda-jasne: #f3f3f3;
	--rdzen-zgoda-cien: none;
	--rdzen-zgoda-cien-miekki: none;
	--rdzen-zgoda-font: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--rdzen-zgoda-font-mono: ui-monospace, 'Cascadia Mono', Consolas, monospace;
	--rdzen-zgoda-font-stretch: 100%;
	--rdzen-zgoda-odstep: 24px;
	--rdzen-zgoda-max-w: 100vw;
	--rdzen-zgoda-z: 1000;
}

/* ---------- wspólne ---------- */

.rdzen-zgoda,
.rdzen-zgoda *,
.rdzen-zgoda-wybor,
.rdzen-zgoda-wybor * {
	box-sizing: border-box;
}

/* atrybut hidden wygrywa z każdą regułą display niżej */
.rdzen-zgoda[hidden],
.rdzen-zgoda [hidden],
.rdzen-zgoda-wybor [hidden] {
	display: none;
}

.rdzen-zgoda__kicker {
	margin: 0;
	font-family: var(--rdzen-zgoda-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rdzen-zgoda-akcent);
}

.rdzen-zgoda__naglowek {
	margin: 10px 0 0;
	font-family: var(--rdzen-zgoda-font);
	font-stretch: var(--rdzen-zgoda-font-stretch);
	font-weight: 600;
	font-size: 22px;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--rdzen-zgoda-tekst);
}

.rdzen-zgoda__tresc {
	margin: 12px 0 0;
	font-family: var(--rdzen-zgoda-font);
	font-size: 15px;
	line-height: 1.6;
	color: var(--rdzen-zgoda-tekst-2);
}

.rdzen-zgoda__polityka {
	margin: 10px 0 0;
	font-family: var(--rdzen-zgoda-font);
	font-size: 14px;
	line-height: 1.5;
}

.rdzen-zgoda__polityka a {
	color: var(--rdzen-zgoda-tekst);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.rdzen-zgoda__polityka a:hover {
	color: var(--rdzen-zgoda-akcent);
}

.rdzen-zgoda__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 14px 0 0;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	font-family: var(--rdzen-zgoda-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rdzen-zgoda-tekst);
}

.rdzen-zgoda__link::after {
	content: '';
	width: 7px;
	height: 7px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 0.2s ease;
}

.rdzen-zgoda__link[aria-expanded='true']::after {
	transform: translateY(2px) rotate(-135deg);
}

.rdzen-zgoda__zamknij::after {
	display: none;
}

.rdzen-zgoda__link:hover {
	color: var(--rdzen-zgoda-akcent);
}

.rdzen-zgoda__szczegoly {
	margin-top: 16px;
	border-top: 1px solid var(--rdzen-zgoda-linia);
}

.rdzen-zgoda__kategoria {
	padding: 12px 0;
	border-bottom: 1px solid var(--rdzen-zgoda-linia);
}

.rdzen-zgoda__kategoria-nazwa {
	margin: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	font-family: var(--rdzen-zgoda-font);
	font-weight: 600;
	font-size: 15px;
	color: var(--rdzen-zgoda-tekst);
}

.rdzen-zgoda__znacznik {
	display: inline-block;
	padding: 3px 8px;
	border: 1px solid var(--rdzen-zgoda-linia);
	background: var(--rdzen-zgoda-jasne);
	font-family: var(--rdzen-zgoda-font-mono);
	font-weight: 400;
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--rdzen-zgoda-mono);
	white-space: nowrap;
}

.rdzen-zgoda__kategoria-opis {
	margin: 6px 0 0;
	font-family: var(--rdzen-zgoda-font);
	font-size: 14px;
	line-height: 1.55;
	color: var(--rdzen-zgoda-tekst-2);
}

.rdzen-zgoda__przyciski {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 22px;
}

/* Wspólny kształt obu przycisków — tu wysokość, padding, pismo, obrys (W25). */
.rdzen-zgoda__przycisk {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 52px;
	padding: 0 26px;
	border: 1px solid var(--rdzen-zgoda-ramka);
	background: var(--rdzen-zgoda-tlo);
	cursor: pointer;
	font-family: var(--rdzen-zgoda-font);
	font-weight: 600;
	font-size: 15px;
	line-height: 1;
	color: var(--rdzen-zgoda-tekst);
	white-space: nowrap;
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

/* Modyfikatory: WYŁĄCZNIE kolory. Zgoda w kolorze akcji serwisu, odmowa atramentowa — oba wypełnione. */
.rdzen-zgoda__przycisk--tak {
	border-color: var(--rdzen-zgoda-akcent);
	background: var(--rdzen-zgoda-akcent);
	color: var(--rdzen-zgoda-akcent-tekst);
}

.rdzen-zgoda__przycisk--tak:hover {
	border-color: var(--rdzen-zgoda-akcent-hover);
	background: var(--rdzen-zgoda-akcent-hover);
}

.rdzen-zgoda__przycisk--nie {
	border-color: var(--rdzen-zgoda-odmowa);
	background: var(--rdzen-zgoda-odmowa);
	color: var(--rdzen-zgoda-odmowa-tekst);
}

.rdzen-zgoda__przycisk--nie:hover {
	border-color: var(--rdzen-zgoda-odmowa-hover);
	background: var(--rdzen-zgoda-odmowa-hover);
}

/* bieżący wybór w stanie ustawień — znacznik przed etykietą */
.rdzen-zgoda__przycisk[aria-pressed='true']::before {
	content: '';
	width: 7px;
	height: 12px;
	margin-top: -3px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
}

.rdzen-zgoda__przycisk:focus-visible,
.rdzen-zgoda__link:focus-visible,
.rdzen-zgoda__polityka a:focus-visible {
	outline: 2px solid var(--rdzen-zgoda-akcent);
	outline-offset: 3px;
}

/* ---------- baner ---------- */

.rdzen-zgoda {
	position: fixed;
	z-index: var(--rdzen-zgoda-z);
	left: max(var(--rdzen-zgoda-odstep), calc((100vw - var(--rdzen-zgoda-max-w)) / 2 + var(--rdzen-zgoda-odstep)));
	bottom: 28px;
	width: min(640px, calc(100vw - 2 * var(--rdzen-zgoda-odstep) - 8px));
	font-family: var(--rdzen-zgoda-font);
}

.rdzen-zgoda__karta {
	padding: 26px 30px 28px;
	border: 1px solid var(--rdzen-zgoda-ramka);
	background: var(--rdzen-zgoda-tlo);
	box-shadow: var(--rdzen-zgoda-cien);
}

.rdzen-zgoda__stan {
	margin: 10px 0 0;
	font-family: var(--rdzen-zgoda-font-mono);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--rdzen-zgoda-mono);
}

/* ---------- blok wyboru w treści polityki ---------- */

.rdzen-zgoda-wybor {
	margin-top: 22px;
	padding: 20px 24px 24px;
	border: 1px solid var(--rdzen-zgoda-ramka);
	background: var(--rdzen-zgoda-tlo);
	box-shadow: var(--rdzen-zgoda-cien-miekki);
	font-family: var(--rdzen-zgoda-font);
}

.rdzen-zgoda-wybor__stan {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 12px;
	margin: 0;
	font-size: 15.5px;
	line-height: 1.5;
	color: var(--rdzen-zgoda-tekst);
}

.rdzen-zgoda-wybor .rdzen-zgoda__przyciski {
	margin-top: 16px;
}

/* ---------- ≤ 860 px: karta jako dolny arkusz na całą szerokość ---------- */

@media (max-width: 860px) {
	.rdzen-zgoda {
		left: 0;
		right: 0;
		bottom: 0;
		width: auto;
	}

	.rdzen-zgoda__karta {
		padding: 22px 20px 24px;
		border-width: 1px 0 0;
		box-shadow: none;
	}

	.rdzen-zgoda__naglowek {
		font-size: 20px;
	}

	.rdzen-zgoda__tresc {
		font-size: 14.5px;
	}

	.rdzen-zgoda__przyciski {
		gap: 10px;
	}

	.rdzen-zgoda__przycisk {
		flex: 1 1 calc(50% - 5px);
		height: 50px;
		padding: 0 14px;
		font-size: 14.5px;
	}

	.rdzen-zgoda__zamknij {
		flex-basis: 100%;
		justify-content: center;
		margin-top: 4px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rdzen-zgoda__przycisk,
	.rdzen-zgoda__link::after {
		transition: none;
	}
}
