/* WEB implants .MF – souhlas s cookies. Vzhled webu: v šabloně / upravy.css nastavit proměnné, písmo se dědí.
   --souhlas-barva (tlačítka), --souhlas-text-tlacitka, --souhlas-pozadi, --souhlas-text, --souhlas-zaobleni, --souhlas-stin */
.mfsh, .mfsh-dialog, .mfsh-odkaz, .mfsh-seznam {
	--mfsh-barva: var(--souhlas-barva, #1f5f8b);
	--mfsh-na-barve: var(--souhlas-text-tlacitka, #fff);
	--mfsh-pozadi: var(--souhlas-pozadi, #fff);
	--mfsh-text: var(--souhlas-text, #1d2327);
	--mfsh-zaobleni: var(--souhlas-zaobleni, 12px);
	--mfsh-stin: var(--souhlas-stin, 0 6px 32px rgba(0, 0, 0, .18));
}
.mfsh { position: fixed; z-index: 99999; left: 1rem; right: 1rem; bottom: 1rem; margin: 0 auto; max-width: 60rem; box-sizing: border-box;
	display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.5rem; padding: 1.1rem 1.3rem;
	background: var(--mfsh-pozadi); color: var(--mfsh-text); border-radius: var(--mfsh-zaobleni); box-shadow: var(--mfsh-stin);
	font: inherit; font-size: .95rem; line-height: 1.5; }
.mfsh[hidden] { display: none; }
.mfsh:focus { outline: none; } /* fokus dostane lišta jen kvůli čtečkám; tlačítka mají vlastní obrys */
.mfsh__obsah { flex: 1 1 22rem; }
.mfsh__titulek { margin: 0 0 .3rem; font: inherit; font-size: 1.05rem; font-weight: 700; color: inherit; }
.mfsh__text { margin: 0; }
.mfsh a, .mfsh-dialog a { color: inherit; text-decoration: underline; }
.mfsh__tlacitka { display: flex; flex-wrap: wrap; gap: .5rem; }
.mfsh__tl { font: inherit; font-weight: 600; font-size: .95rem; line-height: 1.2; padding: .7rem 1.2rem; border-radius: 999px; cursor: pointer;
	border: 2px solid var(--mfsh-barva); min-height: 44px; }
.mfsh__tl--hlavni { background: var(--mfsh-barva); color: var(--mfsh-na-barve); }
.mfsh__tl--vedlejsi { background: transparent; color: inherit; }
.mfsh__tl:hover { filter: brightness(1.08); }
.mfsh__tl:focus-visible, .mfsh-dialog__zavrit:focus-visible, .mfsh-odkaz:focus-visible, .mfsh-kat__prepinac:focus-visible {
	outline: 3px solid var(--mfsh-barva); outline-offset: 3px; }
@media (max-width: 600px) {
	.mfsh { left: .5rem; right: .5rem; bottom: .5rem; padding: 1rem; }
	.mfsh__tlacitka { width: 100%; }
	.mfsh__tl { flex: 1 1 100%; }
}

.mfsh-dialog { width: min(36rem, calc(100% - 2rem)); max-height: calc(100% - 2rem); box-sizing: border-box; overflow: auto; padding: 1.3rem 1.4rem;
	border: 0; border-radius: var(--mfsh-zaobleni); background: var(--mfsh-pozadi); color: var(--mfsh-text); box-shadow: var(--mfsh-stin);
	font: inherit; font-size: .95rem; line-height: 1.5; }
.mfsh-dialog::backdrop { background: rgba(0, 0, 0, .45); }
.mfsh-dialog__hlava { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.mfsh-dialog__zavrit { font: inherit; font-size: 1.6rem; line-height: 1; background: none; border: 0; color: inherit; cursor: pointer;
	min-width: 44px; min-height: 44px; margin: -.6rem -.6rem 0 0; border-radius: 50%; }
.mfsh-kat { list-style: none; margin: 1rem 0; padding: 0; }
.mfsh-kat__polozka { border-top: 1px solid rgba(127, 127, 127, .3); padding: .7rem 0; margin: 0; }
.mfsh-kat__radek { display: flex; align-items: center; gap: .8rem; }
.mfsh-kat__nazev { flex: 1; font-weight: 700; cursor: pointer; }
.mfsh-kat__vzdy { font-size: .85rem; opacity: .75; }
.mfsh-kat__popis { margin: .25rem 0 0; font-size: .9rem; opacity: .85; }
/* přepínač z obyčejného zaškrtávátka (čtečky ho hlásí jako „přepínač“, role=switch) */
.mfsh-kat__prepinac { appearance: none; -webkit-appearance: none; flex: none; position: relative; width: 2.9rem; height: 1.6rem; margin: 0;
	border-radius: 999px; background: #8c8f94; cursor: pointer; transition: background .15s; }
.mfsh-kat__prepinac::after { content: ""; position: absolute; top: .2rem; left: .2rem; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: #fff; transition: transform .15s; }
.mfsh-kat__prepinac:checked { background: var(--mfsh-barva); }
.mfsh-kat__prepinac:checked::after { transform: translateX(1.3rem); }
.mfsh-kat__prepinac:disabled { opacity: .55; cursor: not-allowed; }
@media (prefers-reduced-motion: reduce) { .mfsh-kat__prepinac, .mfsh-kat__prepinac::after { transition: none; } }

.mfsh-odkaz { font: inherit; color: inherit; background: none; border: 0; padding: 0; text-decoration: underline; cursor: pointer; }
.mfsh-seznam { overflow-x: auto; }
.mfsh-seznam table { width: 100%; border-collapse: collapse; }
.mfsh-seznam caption { text-align: left; font-weight: 700; margin-bottom: .4rem; }
.mfsh-seznam th, .mfsh-seznam td { text-align: left; vertical-align: top; padding: .45rem .6rem; border-bottom: 1px solid rgba(127, 127, 127, .3); }
.mfsh-seznam code { white-space: nowrap; }
