/* Cookie lišta. Farby cez tokeny témy (deň aj noc), záložné hodnoty pre prípad inej témy. */
.cmsz-cookies {
	position: fixed; left: clamp(12px, 2vw, 24px); bottom: clamp(12px, 2vw, 24px); z-index: 130;
	width: min(400px, calc(100% - 24px)); max-height: calc(100dvh - 24px); overflow-y: auto;
	padding: 1.25rem 1.35rem 1.15rem; color: var(--text, #292929);
	background: var(--sklo-plne, rgba(250, 248, 245, 0.96));
	-webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4);
	box-shadow: inset 0 0 0 1px var(--sklo-hrana, rgba(255, 255, 255, 0.55)), 0 24px 60px -24px rgba(40, 20, 10, 0.45);
	font-size: 0.9rem; line-height: 1.55;
	opacity: 0; transform: translateY(16px); transition: opacity 0.35s ease, transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.cmsz-cookies[hidden] { display: none; }
.cmsz-cookies.je-otvorena { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .cmsz-cookies { transition: none; } }

.cmsz-cookies__nadpis { margin: 0 0 0.35rem; font-family: var(--font-nadpisy, sans-serif); font-size: 1rem; color: var(--cierna, #111); }
.cmsz-cookies__text { margin: 0 0 1rem; }
.cmsz-cookies__text a { text-decoration: underline; white-space: nowrap; }

.cmsz-cookies__tlacidla { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
/* prijať a odmietnuť rovnako výrazne (požiadavka EÚ na férový súhlas) */
.cmsz-cookies__tlacidlo {
	flex: 1 1 8rem; cursor: pointer; border: 0; padding: 0.8em 1em; font: inherit; font-family: var(--font-nadpisy, sans-serif); font-size: 0.8rem; line-height: 1.1;
	background: transparent; color: var(--cierna, #111); box-shadow: inset 0 0 0 2px var(--cierna, #111);
	transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}
.cmsz-cookies__tlacidlo--plne { background: var(--tlacidlo, #111); color: var(--tlacidlo-text, #fff); box-shadow: inset 0 0 0 2px var(--tlacidlo, #111); }
.cmsz-cookies__tlacidlo:hover { background: var(--oranzova, #ff591f); color: #fff; box-shadow: inset 0 0 0 2px var(--oranzova, #ff591f); }
.cmsz-cookies__odkaz { flex-basis: 100%; cursor: pointer; border: 0; background: none; padding: 0.3rem 0 0; font: inherit; font-size: 0.8rem; color: var(--seda, #6b6b6b); text-decoration: underline; text-align: left; }
.cmsz-cookies__odkaz:hover { color: var(--oranzova, #ff591f); }
.cmsz-cookies__odkaz[hidden], .cmsz-cookies__tlacidlo[hidden] { display: none; }
.cmsz-cookies.je-nastavenie [data-cmsz-cookies-akcia="ulozit"] { flex-basis: 100%; order: -1; }

.cmsz-cookies__nastavenia { display: grid; gap: 0.5rem; margin: 0 0 1rem; }
.cmsz-cookies__nastavenia[hidden] { display: none; }
.cmsz-cookies__kategoria {
	position: relative; display: flex; align-items: center; gap: 0.75rem; padding: 0.7rem 0.8rem; cursor: pointer;
	background: var(--plocha, #fff); box-shadow: inset 0 0 0 1px var(--linka-pole, #d9d4cc); font-size: 0.8rem;
}
.cmsz-cookies__kategoria-text { flex: 1; display: grid; gap: 0.15rem; line-height: 1.4; color: var(--seda, #6b6b6b); }
.cmsz-cookies__kategoria-text strong { color: var(--cierna, #111); font-size: 0.85rem; }
.cmsz-cookies__kategoria input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cmsz-cookies__prepinac { position: relative; flex: none; width: 38px; height: 22px; border-radius: 11px; background: var(--linka-silna, #c9c9c9); transition: background 0.2s; }
.cmsz-cookies__prepinac::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: transform 0.2s; }
.cmsz-cookies__kategoria input:checked + .cmsz-cookies__prepinac { background: var(--oranzova, #ff591f); }
.cmsz-cookies__kategoria input:checked + .cmsz-cookies__prepinac::after { transform: translateX(16px); }
.cmsz-cookies__kategoria input:disabled + .cmsz-cookies__prepinac { opacity: 0.55; }
.cmsz-cookies__kategoria input:focus-visible + .cmsz-cookies__prepinac { outline: 2px solid var(--cierna, #111); outline-offset: 2px; }

@media (max-width: 600px) {
	.cmsz-cookies { left: 0; right: 0; bottom: 0; width: 100%; padding-bottom: calc(1.15rem + env(safe-area-inset-bottom)); }
}
