/**
 * GZ Cookies - styl banera i zasłony mapy.
 * Kolory i typografia biorą się z tokenów motywu; wartości po przecinku to
 * zapas na wypadek innego motywu, żeby wtyczka nigdy nie wyglądała na zepsutą.
 */

/* Atrybut hidden musi wygrywać z display z klas poniżej - inaczej panel kategorii
   i przycisk zapisu byłyby widoczne od pierwszego wejścia. */
.gzc[hidden],
#gz-cookies [hidden] { display: none !important; }

.gzc {
	position: fixed;
	inset-inline: 0;
	bottom: 0;
	z-index: 9990;
	padding: 12px;
	font-family: var(--font-body, system-ui, sans-serif);
	font-size: var(--text-base, 16px);
	line-height: var(--leading-body, 1.6);
	color: var(--color-text, #030203);
}

/* Baner jest wąską kolumną, nie pasem przez cały ekran: tekst czyta się w jednej
   mierze, a przyciski stoją pod nim, nie obok. */
.gzc__box {
	max-width: 620px;
	margin: 0 auto;
	display: grid;
	gap: 16px;
	padding: 20px;
	background: var(--color-white, #fff);
	border: 1px solid var(--color-border, #DCDAD5);
	border-radius: var(--radius-card, 8px);
	box-shadow: 0 8px 28px rgba(3, 2, 3, 0.18);
	animation: gzc-wjazd 180ms ease-out;
}

.gzc__box:focus { outline: none; }

@keyframes gzc-wjazd {
	from { transform: translateY(12px); opacity: 0; }
	to { transform: none; opacity: 1; }
}

.gzc__tytul {
	margin: 0 0 4px;
	font-family: var(--font-heading, Georgia, serif);
	font-size: var(--text-h4, 20px);
	line-height: var(--leading-h, 1.25);
	font-weight: 400;
}

.gzc__opis p { margin: 0 0 6px; }
.gzc__opis p:last-child { margin-bottom: 0; }
.gzc__polityka a,
.gzc-link { color: var(--color-primary, #5E3C4C); }

.gzc__akcje {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.gzc__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	min-height: 44px;
	min-width: 132px;
	padding: 10px 22px;
	border: 2px solid transparent;
	border-radius: var(--radius, 5px);
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.gzc__btn--akcent {
	background: var(--color-primary, #5E3C4C);
	border-color: var(--color-primary, #5E3C4C);
	color: var(--color-white, #fff);
}
.gzc__btn--akcent:hover { background: var(--color-primary-hover, #6E4759); border-color: var(--color-primary-hover, #6E4759); }

.gzc__btn--obrys {
	background: transparent;
	border-color: var(--color-primary, #5E3C4C);
	color: var(--color-primary, #5E3C4C);
}
.gzc__btn--obrys:hover { background: var(--color-plum-50, #F5EFF2); }

.gzc__btn--tekst {
	background: transparent;
	border-color: transparent;
	color: var(--color-primary, #5E3C4C);
	text-decoration: underline;
	min-width: 0;
	padding: 10px 8px;
}
.gzc__btn--tekst:hover { color: var(--color-accent, #921F28); }

.gzc__btn:focus-visible {
	outline: 2px solid var(--color-accent, #921F28);
	outline-offset: 2px;
}

/* Panel „Zarządzaj" */

.gzc__kategorie {
	display: grid;
	gap: 12px;
	padding: 16px;
	background: var(--color-sand-100, #F4F3F1);
	border-radius: var(--radius, 5px);
}

.gzc__przelacznik {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 600;
	cursor: pointer;
}
.gzc__przelacznik input { width: 18px; height: 18px; accent-color: var(--color-primary, #5E3C4C); }
.gzc__przelacznik input:disabled { cursor: default; }

.gzc__kategoria-opis {
	margin: 4px 0 0 28px;
	font-size: var(--text-caption, 15px);
	color: var(--color-text-muted, #454042);
}

/* Zasłona w miejscu mapy Google */

.gzc-mapa-blok { position: relative; }

.gzc-zaslona {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 20px;
	text-align: center;
	background: var(--color-sand-100, #F4F3F1);
	border: 1px solid var(--color-border, #DCDAD5);
	border-radius: var(--radius-card, 8px);
}

.gzc-zaslona__tytul {
	margin: 0;
	font-family: var(--font-heading, Georgia, serif);
	font-size: var(--text-h4, 20px);
}

.gzc-zaslona__opis {
	margin: 0;
	max-width: 46ch;
	font-size: var(--text-caption, 15px);
	color: var(--color-text-muted, #454042);
}

.gzc-zaslona__akcje {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-top: 4px;
}

/* Telefon: przyciski na pełną szerokość, żeby nie było klikania w wąski cel */

@media (max-width: 599px) {
	.gzc { padding: 8px; }
	.gzc__box { padding: 16px; }
	.gzc__akcje .gzc__btn { width: 100%; }
	.gzc__akcje .gzc__btn--tekst { width: auto; margin: 0 auto; }
}

@media (min-width: 600px) {
	.gzc__box { padding: 22px 24px; }
}

@media (prefers-reduced-motion: reduce) {
	.gzc__box { animation: none; }
	.gzc__btn { transition: none; }
}
