/* KOMA NORD 2026-11-06: baner zgod na cookies. Kolory i font jak na stronie (czerwien #b42d32, grafit #231f20, Poppins).
   Komputer: karta w lewym dolnym rogu. Telefon: dolny pasek, ktory nie zaslania tresci strony. */
.knConsent { position: fixed; z-index: 100000; left: 24px; bottom: 24px; width: min(440px, calc(100vw - 48px)); font-family: 'Poppins', 'GothamBook', Arial, sans-serif; color: #231f20; }
.knConsent[hidden] { display: none !important; }
.knConsent__box { background: #ffffff; border-top: 4px solid #b42d32; box-shadow: 0 10px 40px rgba(35, 31, 32, .22); padding: 20px 22px 18px; max-height: calc(100vh - 48px); overflow-y: auto; }
.knConsent__title { margin: 0 0 6px; font-size: 16px; line-height: 1.3; font-weight: 600; color: #231f20; }
.knConsent__text { margin: 0 0 14px; font-size: 13px; line-height: 1.55; font-weight: 400; color: #424242; }
.knConsent__text a { color: #b42d32; text-decoration: underline; text-underline-offset: 2px; }
.knConsent__settings { display: grid; gap: 8px; margin: 0 0 14px; }
.knConsent__settings[hidden] { display: none; }
.knConsent__option { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; background: #f6f6f6; font-size: 13px; line-height: 1.45; color: #424242; cursor: pointer; }
.knConsent__option input { margin: 2px 0 0; width: 17px; height: 17px; flex: 0 0 auto; accent-color: #b42d32; }
.knConsent__option input:disabled { opacity: .6; }
.knConsent__option strong { color: #231f20; font-weight: 600; }
.knConsent__buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.knConsent__btn { flex: 1 1 auto; min-height: 42px; padding: 10px 14px; border: 2px solid #231f20; border-radius: 30px; background: #ffffff; color: #231f20; font: 600 13px/1.1 'Poppins', Arial, sans-serif; cursor: pointer; transition: background-color .15s, color .15s, border-color .15s; }
.knConsent__btn[hidden] { display: none; }
.knConsent__btn--dark { background: #231f20; color: #ffffff; }
.knConsent__btn--dark:hover { background: #424242; border-color: #424242; }
.knConsent__btn--accent { background: #b42d32; border-color: #b42d32; color: #ffffff; }
.knConsent__btn--accent:hover { background: #ae292e; border-color: #ae292e; }
.knConsent__btn--ghost:hover { background: #f6f6f6; }
.knConsent__btn:focus-visible, .knConsent__option input:focus-visible, .knConsent__text a:focus-visible { outline: 3px solid #b42d32; outline-offset: 2px; }
@media (max-width: 640px) {
	.knConsent { left: 0; right: 0; bottom: 0; width: auto; }
	.knConsent__box { max-height: 70vh; padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0px)); box-shadow: 0 -6px 24px rgba(35, 31, 32, .18); }
	.knConsent__title { font-size: 15px; margin-bottom: 4px; }
	.knConsent__text { font-size: 12px; line-height: 1.5; margin-bottom: 10px; }
	/* Odrzucam i Akceptuje rownej szerokosci obok siebie (rownorzedny wybor), Ustawienia pod nimi */
	.knConsent__buttons { display: grid; grid-template-columns: 1fr 1fr; }
	.knConsent__btn { min-height: 40px; padding: 9px 10px; font-size: 12px; }
	.knConsent__btn--dark { order: 1; }
	.knConsent__btn--accent { order: 2; }
	.knConsent__btn--ghost { order: 3; grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) { .knConsent__btn { transition: none; } }
