/*
 * Consent banner — Koda tokens, falls back to literals so it is self-contained.
 * Bottom-anchored, unobtrusive but clear; reject and accept are equal weight.
 */
.koda-consent {
	--kc-navy: var(--primary-black, #030a2c);
	--kc-blue: var(--primary-blue, #1c48f0);
	position: fixed;
	inset: auto 0 0 0;
	z-index: 9999;
	background: var(--kc-navy);
	color: #fff;
	font-family: 'Montserrat', Verdana, sans-serif;
	box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.25);
}
.koda-consent[hidden] { display: none; }

.koda-consent__inner {
	max-width: 119.6rem;
	margin: 0 auto;
	padding: 2.4rem clamp(1.6rem, 5vw, 4rem);
	display: grid;
	gap: 1.6rem;
}
/* Explicit colour + no ring on the programmatic a11y focus target: theme
   element rules (h2 { color: navy }) and global :focus outlines otherwise
   render the title as an empty navy box on the navy banner. */
.koda-consent__title { font-size: 1.9rem; font-weight: 800; margin: 0; color: #fff; }
.koda-consent__title:focus { outline: none; }
.koda-consent__text { font-size: 1.5rem; margin: 0; color: #d7dbe6; line-height: 1.5; }
.koda-consent__text a { color: #a5b7fb; }

.koda-consent__prefs { display: grid; gap: 1.2rem; padding: 0.8rem 0; }
.koda-consent__prefs[hidden] { display: none; }
.koda-consent__cat { display: flex; gap: 1rem; align-items: start; font-size: 1.4rem; cursor: pointer; }
.koda-consent__cat input { margin-top: 0.3rem; width: 1.8rem; height: 1.8rem; accent-color: var(--kc-blue); }
.koda-consent__cat-label { display: grid; gap: 0.2rem; }
.koda-consent__cat-label span { color: #b8bfd0; font-size: 1.3rem; }

.koda-consent__actions { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: flex-end; }
.koda-consent__btn {
	font: inherit; font-weight: 800; font-size: 1.3rem; text-transform: uppercase;
	letter-spacing: 0.04em; padding: 1.2rem 2.4rem; border-radius: 0; cursor: pointer;
	border: 1px solid #fff;
}
.koda-consent__btn--ghost { background: transparent; color: #fff; }
.koda-consent__btn--ghost:hover { background: rgba(255, 255, 255, 0.1); }
.koda-consent__btn--primary { background: var(--kc-blue); border-color: var(--kc-blue); color: #fff; }
.koda-consent__btn--primary:hover { background: #fff; color: var(--kc-navy); }
.koda-consent__btn[hidden] { display: none; }
.koda-consent__btn:focus-visible { outline: 2px solid #a5b7fb; outline-offset: 2px; }

/* Reopen tab */
.koda-consent-reopen {
	/* Retired as a floating pill: re-consent lives in the footer legal row
	   ("Ustawienia cookies", data-koda-consent-open). Kept in the DOM as a
	   safety hatch for templates without the footer part. */
	display: none;
	position: fixed; left: 1.6rem; bottom: 1.6rem; z-index: 9998;
	font: inherit; font-weight: 800; font-size: 1.2rem; text-transform: uppercase; letter-spacing: 0.04em;
	background: var(--primary-black, #030a2c); color: #fff; border: 0; border-radius: 0;
	padding: 1rem 1.6rem; cursor: pointer; opacity: 0.85;
}
.koda-consent-reopen[hidden] { display: none; }
.koda-consent-reopen:hover { opacity: 1; }

@media (min-width: 720px) {
	.koda-consent__inner {
		grid-template-columns: 1fr auto;
		align-items: center;
	}
	.koda-consent__title { grid-column: 1 / -1; }
	.koda-consent__prefs { grid-column: 1 / -1; }
}
