/* Baner zgod cookies (partial partials.zgodaCookies): sklep szkolen i strony rejestracji (layout auth). Kolor przyciskow
   z --sk-primary (sklep, kolor marki), inaczej grafit. "Akceptuj wszystkie" i "Odrzuc" - ten sam wyglad i waga. */
.zc-baner, .zc-okno { --zc-primary: var(--sk-primary, #344767); --zc-tekst: #0f172a; --zc-szary: #475569; --zc-ramka: #e2e8f0;
	font-family: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 15px; line-height: 1.5; color: var(--zc-tekst); text-align: left; }
.zc-baner[hidden], .zc-okno[hidden] { display: none !important; }
.zc-baner { position: fixed; z-index: 2147483000; left: 1rem; right: 1rem; bottom: 1rem; max-width: 60rem; margin: 0 auto; background: #fff;
	border: 1px solid var(--zc-ramka); border-radius: 1rem; box-shadow: 0 20px 40px -12px rgb(15 23 42 / .25); padding: 1.25rem 1.5rem; }
.zc-tytul { margin: 0 0 .375rem; font-size: 1.0625rem; font-weight: 600; line-height: 1.4; color: var(--zc-tekst); }
.zc-tekst { margin: 0; color: var(--zc-szary); }
.zc-tekst a, .zc-kategoria a { color: var(--zc-primary); text-decoration: underline; }
.zc-akcje { display: flex; flex-wrap: wrap; align-items: center; gap: .625rem; margin-top: 1rem; }
.zc-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 11rem; border: 2px solid var(--zc-primary); border-radius: 9999px;
	background: var(--zc-primary); color: #fff; padding: .625rem 1.25rem; font: inherit; font-weight: 600; line-height: 1.4; cursor: pointer; }
.zc-btn:hover { opacity: .9; }
.zc-btn:focus-visible, .zc-link:focus-visible, .zc-kategoria input:focus-visible { outline: 3px solid color-mix(in srgb, var(--zc-primary) 35%, transparent); outline-offset: 2px; }
.zc-link { border: 0; background: none; padding: .625rem .5rem; font: inherit; font-weight: 600; color: var(--zc-primary); text-decoration: underline; cursor: pointer; }
.zc-okno { position: fixed; z-index: 2147483001; inset: 0; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgb(15 23 42 / .5); }
.zc-karta { width: 100%; max-width: 40rem; max-height: calc(100vh - 2rem); overflow-y: auto; background: #fff; border-radius: 1rem; padding: 1.5rem;
	box-shadow: 0 25px 50px -12px rgb(15 23 42 / .35); }
.zc-karta .zc-tytul { font-size: 1.25rem; margin-bottom: .75rem; }
.zc-kategoria { border: 1px solid var(--zc-ramka); border-radius: .75rem; padding: .875rem 1rem; margin-top: .75rem; }
.zc-kategoria label { display: flex; align-items: center; gap: .625rem; margin: 0; font-weight: 600; cursor: pointer; }
.zc-kategoria input { width: 1.125rem; height: 1.125rem; margin: 0; accent-color: var(--zc-primary); }
.zc-kategoria p { margin: .375rem 0 0; color: var(--zc-szary); font-size: .875rem; }
.zc-stale { margin-left: auto; font-size: .8125rem; font-weight: 500; color: var(--zc-szary); }
.zc-stopka-link { border: 0; background: none; padding: 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; }
@media (max-width: 640px) {
	.zc-baner { left: .5rem; right: .5rem; bottom: .5rem; padding: 1rem; }
	.zc-btn { flex: 1 1 100%; min-width: 0; }
	.zc-link { flex: 1 1 100%; }
}
