/* Fresh Mill Cookie Consent – https://freshmill.cz/ */

/* Výchozí barvy – plugin je přepíše hodnotami z nastavení (inline styl za tímto souborem). */
:root {
	--fmcc-accent: #6F8E85;
	--fmcc-text: #242424;
	--fmcc-bg: #ffffff;
}

.fmcc {
	--fmcc-muted: color-mix(in srgb, var(--fmcc-text) 62%, var(--fmcc-bg));
	--fmcc-line: color-mix(in srgb, var(--fmcc-text) 10%, var(--fmcc-bg));
	--fmcc-soft: color-mix(in srgb, var(--fmcc-accent) 8%, var(--fmcc-bg));
	--fmcc-accent-dark: color-mix(in srgb, var(--fmcc-accent) 80%, #000);

	position: fixed;
	bottom: 20px;
	z-index: 2147483000;
	box-sizing: border-box;
	width: 400px;
	max-width: calc(100vw - 24px);
	font-family: inherit;
	font-size: 14px;
	line-height: 1.55;
	color: var(--fmcc-text);
	opacity: 0;
	transform: translateY(12px);
	transition: opacity .2s ease, transform .2s ease;
}

.fmcc[hidden] { display: none !important; }
.fmcc.is-visible { opacity: 1; transform: none; }

.fmcc--left { left: 20px; }
.fmcc--right { right: 20px; }
.fmcc--center { left: 50%; width: 560px; transform: translate(-50%, 12px); }
.fmcc--center.is-visible { transform: translate(-50%, 0); }

#fmcc *,
#fmcc *::before,
#fmcc *::after { box-sizing: border-box; }

/* Skryté prvky zůstanou skryté, i když šablona nastavuje tlačítkům display */
#fmcc [hidden] { display: none !important; }

/* Neutralizace obecných stylů tlačítek ze šablon */
#fmcc button { transform: none; text-shadow: none; }

.fmcc__card {
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	padding: 20px;
	border: 1px solid var(--fmcc-line);
	border-radius: 18px;
	background: var(--fmcc-bg);
	box-shadow: 0 24px 60px -20px rgba(36, 48, 44, .35), 0 2px 6px rgba(36, 48, 44, .06);
}

.fmcc__head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
}

.fmcc__icon {
	display: grid;
	place-items: center;
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--fmcc-soft);
	color: var(--fmcc-accent-dark);
}

.fmcc__icon svg { display: block; width: 20px; height: 20px; }

#fmcc .fmcc__title {
	flex: 1;
	margin: 0;
	padding: 0;
	color: var(--fmcc-text);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.3;
}

#fmcc .fmcc__close {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--fmcc-muted);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	box-shadow: none;
}

#fmcc .fmcc__close[hidden] { display: none; }
#fmcc .fmcc__close:hover { background: var(--fmcc-soft); color: var(--fmcc-text); }

#fmcc .fmcc__text {
	margin: 0 0 14px;
	padding: 0;
	color: var(--fmcc-muted);
	font-size: 13.5px;
}

#fmcc a { color: var(--fmcc-accent-dark); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
#fmcc a:hover { color: var(--fmcc-text); }

/* Kategorie */
.fmcc__prefs {
	display: grid;
	gap: 8px;
	margin: 0 0 14px;
}

.fmcc__prefs[hidden] { display: none; }

#fmcc .fmcc__cat {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid var(--fmcc-line);
	border-radius: 12px;
	background: var(--fmcc-bg);
	color: var(--fmcc-text);
	font-size: 13px;
	font-weight: 400;
	cursor: pointer;
}

#fmcc div.fmcc__cat { cursor: default; background: var(--fmcc-soft); border-color: transparent; }

.fmcc__cat-text { display: grid; flex: 1; gap: 2px; }
.fmcc__cat-text strong { font-size: 13.5px; font-weight: 700; }
.fmcc__cat-text span { color: var(--fmcc-muted); font-size: 12.5px; line-height: 1.45; }

.fmcc__always {
	flex: none;
	color: var(--fmcc-accent-dark);
	font-size: 12px;
	font-weight: 700;
}

/* Přepínač */
#fmcc .fmcc__switch {
	-webkit-appearance: none;
	appearance: none;
	position: relative;
	flex: none;
	width: 40px;
	height: 24px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: color-mix(in srgb, var(--fmcc-text) 22%, var(--fmcc-bg));
	cursor: pointer;
	transition: background-color .2s;
}

#fmcc .fmcc__switch::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
	transition: transform .2s;
}

#fmcc .fmcc__switch:checked { background: var(--fmcc-accent); }
#fmcc .fmcc__switch:checked::before { transform: translateX(16px); }
#fmcc .fmcc__switch:focus-visible { outline: 2px solid var(--fmcc-accent); outline-offset: 2px; }

#fmcc .fmcc__id { margin: 2px 0 0; color: var(--fmcc-muted); font-size: 11.5px; }
#fmcc .fmcc__id[hidden] { display: none; }
#fmcc .fmcc__id code { padding: 1px 4px; border-radius: 4px; background: var(--fmcc-soft); font-size: 11px; word-break: break-all; }

/* Tlačítka */
.fmcc__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

#fmcc .fmcc__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	margin: 0;
	padding: 9px 14px;
	border: 1.5px solid transparent;
	border-radius: 11px;
	background: transparent;
	color: var(--fmcc-text);
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
	cursor: pointer;
	transition: background-color .2s, border-color .2s, color .2s;
}

#fmcc .fmcc__btn[hidden] { display: none; }

#fmcc .fmcc__btn--primary {
	border-color: var(--fmcc-accent);
	background: var(--fmcc-accent);
	color: #fff;
}

#fmcc .fmcc__btn--primary:hover { border-color: var(--fmcc-accent-dark); background: var(--fmcc-accent-dark); color: #fff; }

/* „Odmítnout“ je stejně velké a výrazné jako „Přijmout“ (požadavek ÚOOÚ) */
#fmcc .fmcc__btn--secondary {
	border-color: var(--fmcc-text);
	background: var(--fmcc-bg);
	color: var(--fmcc-text);
}

#fmcc .fmcc__btn--secondary:hover { background: var(--fmcc-text); color: var(--fmcc-bg); }

#fmcc .fmcc__btn--ghost {
	grid-column: 1 / -1;
	min-height: 36px;
	padding: 6px 10px;
	color: var(--fmcc-muted);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

#fmcc .fmcc__btn--ghost:hover { background: var(--fmcc-soft); color: var(--fmcc-text); }

/* V nastavení: Uložit výběr jako plné tlačítko */
#fmcc .fmcc__btn--save {
	border-color: var(--fmcc-line);
	background: var(--fmcc-soft);
	color: var(--fmcc-text);
	font-weight: 700;
	text-decoration: none;
}

#fmcc .fmcc__btn:focus-visible { outline: 2px solid var(--fmcc-accent); outline-offset: 2px; }

#fmcc .fmcc__brand {
	margin: 12px 0 0;
	padding: 0;
	color: var(--fmcc-muted);
	font-size: 11px;
	text-align: center;
	opacity: .8;
}

#fmcc .fmcc__brand a { color: inherit; font-weight: 600; text-decoration: none; }
#fmcc .fmcc__brand a:hover { color: var(--fmcc-accent-dark); text-decoration: underline; }

/* Plovoucí tlačítko */
#fmcc-reopen.fmcc-reopen {
	position: fixed;
	bottom: 20px;
	z-index: 2147482999;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 1px solid color-mix(in srgb, var(--fmcc-text, #242424) 10%, #fff);
	border-radius: 50%;
	background: var(--fmcc-bg, #fff);
	color: color-mix(in srgb, var(--fmcc-accent) 80%, #000);
	box-shadow: 0 10px 24px -10px rgba(36, 48, 44, .4);
	cursor: pointer;
	transition: transform .2s, box-shadow .2s;
}

#fmcc-reopen.fmcc-reopen[hidden] { display: none !important; }
#fmcc-reopen.fmcc-reopen:hover { transform: translateY(-2px) rotate(-8deg); box-shadow: 0 14px 28px -10px rgba(36, 48, 44, .45); }
#fmcc-reopen.fmcc-reopen:focus-visible { outline: 2px solid var(--fmcc-accent); outline-offset: 2px; }
#fmcc-reopen.fmcc-reopen svg { width: 22px; height: 22px; }
#fmcc-reopen.fmcc-reopen--left { left: 20px; }
#fmcc-reopen.fmcc-reopen--right { right: 20px; }

/* Mobil */
@media (max-width: 600px) {
	.fmcc,
	.fmcc--left,
	.fmcc--right,
	.fmcc--center {
		left: 12px;
		right: 12px;
		bottom: 12px;
		width: auto;
		max-width: none;
		transform: translateY(12px);
	}

	.fmcc.is-visible,
	.fmcc--center.is-visible { transform: none; }

	.fmcc__card { max-height: calc(100vh - 24px); padding: 16px; }

	/* Storefront má na mobilu spodní lištu (účet / hledání / košík) */
	body[class*="storefront"] #fmcc-reopen { bottom: 84px; }
	#fmcc-reopen.fmcc-reopen--left { left: 12px; }
	#fmcc-reopen.fmcc-reopen--right { left: auto; right: 12px; }
}

@media (prefers-reduced-motion: reduce) {
	.fmcc, .fmcc *, .fmcc-reopen { transition: none !important; }
}

@media print {
	.fmcc, .fmcc-reopen { display: none !important; }
}
