@font-face {
	font-family: "Figtree";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("../fonts/figtree-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Figtree";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("../fonts/figtree-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Baloo 2";
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url("../fonts/baloo2-800-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Baloo 2";
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url("../fonts/baloo2-800-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--up-noc: #1b4d33;
	--up-ink: #14241b;
	--up-ink-hover: #1b4d33;
	--up-text: #45544a;
	--up-popisek: #5f6e63;
	--up-zelena: #2b7d50;
	--up-zelena-stisk: #1b4d33;
	--up-zelena-vypnuto: #bfd3c6;
	--up-zelena-text: #2b7d50;
	--up-cta: #2b7d50;
	--up-cta-hrana: #1b4d33;
	--up-oranzova: #e35d0c;
	--up-zluta: #fddc1c;
	--up-sede-cta: #5f6e63;
	--up-ramecek: #e6e0d4;
	--up-cara: #e6e0d4;
	--up-cara-jemna: #efeae0;
	--up-cara-sekce: #e6e0d4;
	--up-stitek: #f1eae0;
	--up-plocha: #f7f4ee;
	--up-plocha-jemna: #fbf9f5;
	--up-uspech: #eef6f0;
	--up-overeno: #eaf4ec;
	--up-upozorneni: #fdf0e7;
	--up-chyba: #c62f2f;
	--up-hvezdy: #ffb900;
	--up-hvezdy-prazdne: #e3dccf;
	--up-avatar: #f1eae0;
	--up-podtrzeni: #c9b58f;
	--up-preskrtnuto: #9aa39c;
	--up-bila: #fff;
	--up-hneda: #5f4c37;
	--up-hneda-tmava: #463828;
	--up-obsah: 1144px;
	--up-okraj: 20px;
	--up-okraj-sekce: clamp(20px, 4vw, 48px);
	--up-sirka: min(var(--up-obsah), calc(100% - 2 * var(--up-okraj)));
	--up-sekce: clamp(56px, 7vw, 96px);
	--up-radius: 12px;
	--up-radius-karta: 20px;
	--up-stin-karta: 0 16px 30px -24px rgba(63, 50, 35, .3);
	--up-stin-velky: 0 22px 44px -28px rgba(63, 50, 35, .35);
	--up-pismo: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
	--up-vaha-text: 400;
	--up-pismo-nadpis: "Baloo 2", "Figtree", system-ui, sans-serif;
	--up-hlavicka: 89px;
}



@media (max-width: 600px) {
	:root {
		--up-okraj: 16px;
	}
}

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

html {
	-webkit-text-size-adjust: 100%;
	scroll-padding-top: calc(var(--up-hlavicka) + 12px);
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

body {
	margin: 0;
	background: var(--up-bila);
	color: var(--up-text);
	font-family: var(--up-pismo);
	font-size: 16px;
	font-weight: var(--up-vaha-text);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
	overflow-x: clip;
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
}

img {
	display: block;
}

h1,
h2,
h3,
h4 {
	margin: 0;
	color: var(--up-ink);
	font-weight: 700;
	text-wrap: balance;
}

h1 {
	font-size: clamp(30px, 3.2vw, 40px);
	line-height: 1.1;
	letter-spacing: -.02em;
}

h2 {
	font-size: clamp(26px, 2.8vw, 34px);
	line-height: 1.18;
	letter-spacing: -.015em;
}

h3 {
	font-size: clamp(22px, 2.2vw, 26px);
	line-height: 1.25;
}

h4 {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
}

p {
	margin: 0;
}

strong {
	font-weight: 600;
	color: var(--up-ink);
}

a {
	color: var(--up-ink);
	text-decoration-color: var(--up-podtrzeni);
	text-underline-offset: 3px;
}

a:hover {
	color: var(--up-ink);
	text-decoration-color: var(--up-ink);
}

.up-drobky__domov {
	display: inline-flex;
	align-items: center;
	vertical-align: -.18em;
}

.up-drobky__domov svg {
	width: 1.15em;
	height: 1.15em;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

:focus-visible {
	outline: 3px solid rgba(20, 36, 27, .35);
	outline-offset: 2px;
}

button,
input,
select,
textarea {
	font: inherit;
	color: inherit;
}

.up-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.up-skip {
	position: absolute;
	left: 12px;
	top: -60px;
	z-index: 100;
	padding: 10px 16px;
	border-radius: var(--up-radius);
	background: var(--up-ink);
	color: var(--up-bila);
	font-weight: 600;
	text-decoration: none;
}

.up-skip:focus {
	top: 12px;
	color: var(--up-bila);
}

.up-nadtitulek {
	margin: 0 0 12px;
	color: var(--up-zelena-text);
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.up-nadtitulek--noc {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--up-noc-zelena);
}

.up-nadtitulek--noc svg {
	fill: currentColor;
}

.up-odkaz {
	color: var(--up-ink);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--up-podtrzeni);
	text-underline-offset: 4px;
}

.up-odkaz:hover {
	text-decoration-color: var(--up-ink);
}

.up-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border: 0;
	border-radius: 999px;
	font-family: inherit;
	font-weight: 800;
	line-height: 1.15;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.up-btn svg {
	flex: none;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.up-btn--l {
	min-height: 56px;
	padding: 0 36px;
	font-size: 17px;
}

.up-btn--m {
	min-height: 50px;
	padding: 0 28px;
	font-size: 16px;
}

.up-btn--s {
	min-height: 46px;
	padding: 0 24px;
	font-size: 15px;
}

.up-btn--tmave {
	background: var(--up-noc);
	color: #fff;
}

.up-btn--tmave:hover,
.up-btn--tmave:focus-visible {
	background: var(--up-ink);
	color: #fff;
}

.up-btn--primarni {
	background: var(--up-zelena);
	color: #fff;
}

.up-btn--primarni.up-btn--l {
	box-shadow: 0 14px 30px -16px rgba(27, 77, 51, .6);
}

.up-btn--primarni:hover,
.up-btn--primarni:focus-visible {
	background: var(--up-noc);
	color: #fff;
}

.up-btn--primarni:active {
	background: var(--up-ink);
}

.up-btn--primarni:disabled,
.up-btn--primarni[aria-disabled="true"] {
	background: var(--up-zelena-vypnuto);
	box-shadow: none;
	cursor: not-allowed;
}

.up-btn--sede {
	background: var(--up-hneda);
	color: #fff;
}

.up-btn--sede:hover {
	background: var(--up-hneda-tmava);
	color: #fff;
}

.up-btn--obrys {
	background: #fff;
	color: var(--up-ink);
	box-shadow: inset 0 0 0 1.5px var(--up-cara);
}

.up-btn--obrys:hover {
	color: var(--up-ink);
	box-shadow: inset 0 0 0 1.5px var(--up-zelena);
}

.up-btn--jemne {
	background: var(--up-plocha);
	color: var(--up-ink);
}

.up-btn--jemne:hover {
	background: var(--up-stitek);
	color: var(--up-ink);
}

.up-btn--svetle {
	background: #fff;
	color: var(--up-ink);
}

.up-btn--svetle:hover {
	background: var(--up-cara);
	color: var(--up-ink);
}

.up-fajfka {
	width: 18px;
	height: 18px;
	flex: none;
	fill: none;
	stroke: var(--up-zelena);
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.up-hvezdy {
	display: block;
	width: 92px;
	height: auto;
	flex: none;
}

.up-hvezdy--male {
	width: 72px;
}

.up-hvezdy__prazdne {
	fill: var(--up-hvezdy-prazdne);
}

.up-hvezdy__plne {
	fill: var(--up-hvezdy);
}

.up-online {
	display: inline-block;
	width: 8px;
	height: 8px;
	flex: none;
	border-radius: 50%;
	background: #7dd957;
	box-shadow: 0 0 0 3px rgba(125, 217, 87, .25);
}

.up-online[hidden] {
	display: none;
}

.up-clamp {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
}

.up-clamp.is-open {
	display: block;
	overflow: visible;
	-webkit-line-clamp: unset;
}

.up-cist-dal {
	display: none;
	align-self: flex-start;
	padding: 0;
	border: 0;
	background: none;
	color: var(--up-ink);
	font-size: 15px;
	font-weight: 800;
	text-decoration: underline;
	text-decoration-color: var(--up-podtrzeni);
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
	cursor: pointer;
}

.up-cist-dal.is-on {
	display: inline-block;
}

.up-cist-dal:hover {
	color: var(--up-zelena);
	text-decoration-color: currentColor;
}

.up-overeno {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 10px 3px 6px;
	border-radius: 999px;
	background: #eef6f0;
	color: var(--up-zelena);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

.up-overeno__fajfka {
	box-sizing: border-box;
	width: 15px;
	height: 15px;
	padding: 3px;
	border-radius: 50%;
	background: var(--up-zelena);
	color: #fff;
	fill: none;
	stroke: currentColor;
	stroke-width: 3.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.up-sekce-hlava {
	max-width: 760px;
	margin: 0 auto clamp(32px, 4vw, 48px);
	text-align: center;
}

.up-sekce-hlava__nadpis {
	margin: 0;
}

.up-sekce-hlava__podnadpis {
	margin: 14px auto 0;
	max-width: 62ch;
	font-size: 18px;
	line-height: 1.6;
}


h1,
h2,
h3,
h4 {
	font-family: var(--up-pismo-nadpis);
	font-weight: 800;
	letter-spacing: -.02em;
}

.up-lista {
	/* nad sticky hlavičkou, jinak pod ni zapadne menu jazyků */
	position: relative;
	z-index: 61;
	background: var(--up-noc);
	color: #f2f7f3;
	font-size: 13.5px;
	line-height: 1.4;
}

.up-lista__in {
	max-width: 1240px;
	min-height: 37px;
	margin: 0 auto;
	padding: 9px var(--up-okraj-sekce);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	column-gap: 24px;
}

.up-lista__tel {
	grid-column: 1;
	justify-self: start;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
}

.up-lista__tel strong {
	color: inherit;
	font-weight: 700;
	letter-spacing: .01em;
}

.up-lista__tel:hover {
	color: #fff;
}

.up-lista__tel:hover strong {
	text-decoration: underline;
	text-decoration-color: #6f9a82;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.up-lista__ikona {
	position: relative;
	display: inline-flex;
	flex: none;
	width: 16px;
	height: 16px;
	color: #bcd3c5;
}

.up-lista__ikona-svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.up-lista__ikona .up-online {
	position: absolute;
	top: -2px;
	right: -3px;
	width: 7px;
	height: 7px;
	box-shadow: 0 0 0 2px var(--up-noc);
}

.up-lista__hodiny {
	color: #bcd3c5;
	font-weight: 500;
}

.up-lista__text {
	grid-column: 2;
	margin: 0;
	text-align: center;
	font-weight: 700;
}

.up-lista__text strong {
	color: inherit;
	font-weight: 800;
}

.up-lista__vpravo {
	grid-column: 3;
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 16px;
	font-weight: 600;
	white-space: nowrap;
}

.up-lista__odkaz {
	color: #f2f7f3;
	text-decoration: underline;
	text-decoration-color: #6f9a82;
	text-underline-offset: 3px;
}

.up-lista__odkaz:hover {
	color: #fff;
	text-decoration-color: currentColor;
}

.up-lista__oddelovac {
	width: 1px;
	height: 14px;
	background: #6f9a82;
}

.up-lista__oddelovac--tel {
	height: 12px;
}

.up-jazyk {
	position: relative;
}

.up-jazyk__tlacitko {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0;
	border: 0;
	background: none;
	color: #f2f7f3;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.up-jazyk__tlacitko:hover {
	color: #fff;
}

.up-jazyk__vlajka {
	width: 18px;
	height: 12px;
	border-radius: 2px;
}

.up-jazyk__sipka {
	width: 12px;
	height: 12px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform .2s;
}

.up-jazyk__tlacitko[aria-expanded="true"] .up-jazyk__sipka {
	transform: rotate(180deg);
}

.up-jazyk__menu {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	z-index: 70;
	min-width: 170px;
	padding: 6px;
	border: 1px solid var(--up-cara);
	border-radius: 12px;
	background: #fff;
	box-shadow: var(--up-stin-velky);
}

.up-jazyk__menu[hidden] {
	display: none;
}

.up-jazyk__polozka {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 12px;
	border-radius: 8px;
	color: var(--up-ink);
	font-weight: 600;
	text-decoration: none;
}

.up-jazyk__polozka:hover,
.up-jazyk__polozka.is-aktivni {
	background: var(--up-plocha);
	color: var(--up-ink);
}

.up-hlavicka {
	position: sticky;
	top: 0;
	z-index: 60;
	border-bottom: 1px solid var(--up-cara);
	background: #fff;
}

.up-hlavicka__in {
	max-width: 1240px;
	min-height: var(--up-hlavicka);
	margin: 0 auto;
	padding: 12px var(--up-okraj-sekce);
	display: grid;
	grid-template-columns: minmax(max-content, 1fr) auto minmax(max-content, 1fr);
	align-items: center;
	column-gap: 24px;
}

.up-hlavicka__logo {
	flex: none;
	justify-self: start;
	display: flex;
}

.up-hlavicka__akce {
	justify-self: end;
	display: flex;
	align-items: center;
}

.up-hlavicka__logo img {
	width: 62px;
	height: 64px;
}

.up-nav {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
	white-space: nowrap;
}

.up-nav__domu {
	display: inline-flex;
	align-items: center;
}

.up-nav__domu svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.up-nav__odkaz {
	color: var(--up-ink);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

.up-nav__odkaz:hover,
.up-nav__odkaz.is-aktivni {
	color: var(--up-zelena);
}

.up-nav__navic,
.up-nav__mobil {
	display: none;
}

.up-hlavicka__cta {
	flex: none;
	margin-left: 14px;
	display: inline-flex;
	align-items: center;
	min-height: 46px;
	padding: 0 24px;
	border-radius: 999px;
	background: var(--up-zelena);
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	white-space: nowrap;
	text-decoration: none;
	transition: background .2s;
}

.up-hlavicka__cta:hover {
	background: var(--up-noc);
	color: #fff;
}

.up-hlavicka__cta[hidden] {
	display: none;
}

.up-kosik {
	position: relative;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border: 1.5px solid var(--up-cara);
	border-radius: 50%;
	background: #fff;
	color: var(--up-ink);
	text-decoration: none;
	transition: border-color .2s;
}

.up-kosik:hover {
	border-color: var(--up-zelena);
	color: var(--up-ink);
}

.up-kosik__ikona {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.up-kosik__pocet {
	position: absolute;
	top: -4px;
	right: -5px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: 9px;
	background: var(--up-zelena);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	line-height: 18px;
	text-align: center;
}

.up-kosik.is-plny {
	width: auto;
	gap: 10px;
	padding: 0 10px 0 20px;
	border: 0;
	border-radius: 999px;
	background: var(--up-zelena);
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	white-space: nowrap;
	transition: background .2s;
}

.up-kosik.is-plny:hover {
	background: var(--up-noc);
	color: #fff;
}

.up-kosik.is-plny .up-kosik__pocet {
	position: static;
	min-width: 26px;
	height: 26px;
	padding: 0 7px;
	border-radius: 13px;
	background: #fff;
	color: var(--up-zelena);
	font-size: 13px;
	line-height: 26px;
}

.up-kosik.is-plny:hover .up-kosik__pocet {
	color: var(--up-noc);
}

.up-menu-tlacitko {
	display: none;
}

.up-pas {
	display: none;
}

@keyframes up-pas {
	to {
		transform: translateX(-100%);
	}
}

html.up-bez-posunu {
	overflow: hidden;
}

@media (max-width: 900px) {
	.up-lista__in {
		display: flex;
		justify-content: center;
	}

	.up-lista__tel,
	.up-lista__vpravo,
	.up-lista__text--pas {
		display: none;
	}

	.up-pas {
		flex: 1 1 auto;
		min-width: 0;
		display: flex;
		margin: 0 calc(-1 * var(--up-okraj-sekce));
		overflow: hidden;
		-webkit-mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent);
		mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent);
	}

	.up-pas__rada {
		flex: none;
		display: flex;
		gap: 28px;
		margin: 0;
		padding: 0 28px 0 0;
		list-style: none;
		animation: up-pas 36s linear infinite;
	}

	.up-pas:hover .up-pas__rada,
	.up-pas:focus-within .up-pas__rada {
		animation-play-state: paused;
	}

	.up-pas__polozka {
		display: inline-flex;
		align-items: center;
		gap: 7px;
		font-weight: 500;
		white-space: nowrap;
	}

	.up-pas__polozka strong {
		color: inherit;
		font-weight: 800;
	}

	.up-pas__ikona {
		flex: none;
		width: 16px;
		height: 16px;
		fill: none;
		stroke: #8fd1a6;
		stroke-width: 2;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.up-pas--stridani {
		margin: 0;
		justify-content: center;
		-webkit-mask-image: none;
		mask-image: none;
	}

	.up-pas--stridani .up-pas__rada {
		flex: 0 1 auto;
		min-width: 0;
		display: grid;
		padding: 0;
		animation: none;
	}

	.up-pas--stridani .up-pas__polozka {
		grid-area: 1 / 1;
		justify-content: center;
		min-width: 0;
		opacity: 0;
		transform: translateY(8px);
		transition: opacity .4s ease, transform .4s ease;
	}

	.up-pas--stridani .up-pas__polozka > span {
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.up-pas--stridani .up-pas__polozka.is-aktivni {
		opacity: 1;
		transform: none;
	}

	.up-pas--stridani .up-pas__polozka.is-pryc {
		transform: translateY(-8px);
	}
}

@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
	.up-pas {
		display: none;
	}

	.up-lista__text--pas {
		display: block;
	}
}

@media (max-width: 980px) {
	.up-hlavicka__in {
		position: relative;
		display: flex;
		column-gap: 0;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.up-hlavicka__akce {
		margin-left: auto;
	}

	.up-hlavicka__logo {
		order: -1;
	}

	.up-nav__domu {
		display: none;
	}

	.up-menu-tlacitko {
		order: 1;
		flex: none;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 46px;
		height: 46px;
		margin-left: 8px;
		padding: 0;
		border: 1.5px solid var(--up-cara);
		border-radius: 50%;
		background: #fff;
		color: var(--up-ink);
		cursor: pointer;
	}

	.up-menu-tlacitko__ikona {
		display: block;
		width: 22px;
		height: 22px;
		fill: none;
		stroke: currentColor;
		stroke-width: 2;
		stroke-linecap: round;
	}

	.up-menu-tlacitko__ikona--zavrit,
	.up-menu-tlacitko[aria-expanded="true"] .up-menu-tlacitko__ikona--menu {
		display: none;
	}

	.up-menu-tlacitko[aria-expanded="true"] .up-menu-tlacitko__ikona--zavrit {
		display: block;
	}

	.up-nav {
		position: fixed;
		top: var(--up-nav-top, var(--up-hlavicka));
		right: 0;
		bottom: 0;
		left: 0;
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		overflow-y: auto;
		overscroll-behavior: contain;
		padding: 4px var(--up-okraj-sekce) 0;
		background: #fff;
		white-space: normal;
	}

	.up-nav.is-otevrene {
		display: flex;
	}

	/* up-bez-posunu nastavují i okna a lightbox, lišta se ale schovává jen pro menu */
	html:has(.up-menu-tlacitko[aria-expanded="true"]) .up-lista {
		display: none;
	}

	.up-nav > .up-nav__odkaz {
		display: flex;
		align-items: center;
		gap: 10px;
		min-height: 44px;
		padding: 0;
		color: var(--up-ink);
		font-family: var(--up-pismo-nadpis);
		font-size: 19px;
		font-weight: 800;
		line-height: 1.2;
		letter-spacing: -.01em;
	}

	.up-nav > .up-nav__odkaz.is-aktivni {
		color: var(--up-zelena);
	}

	.up-nav > .up-nav__odkaz.up-nav__domu {
		display: none;
	}

	.up-nav > .up-nav__odkaz::after {
		content: "";
		flex: none;
		width: 8px;
		height: 8px;
		margin: 0 5px 0 auto;
		border-right: 2px solid #b39a6e;
		border-bottom: 2px solid #b39a6e;
		transform: rotate(-45deg);
	}

	.up-nav > .up-nav__odkaz:has(.up-nav__stitek)::after {
		margin-left: 0;
	}

	.up-nav__stitek {
		flex: none;
		margin-left: auto;
		padding: 3px 9px;
		border-radius: 999px;
		background: var(--up-stitek);
		color: var(--up-hneda);
		font-family: var(--up-pismo);
		font-size: 12px;
		font-weight: 800;
		line-height: 1.4;
		letter-spacing: 0;
	}

	.up-nav__navic {
		flex: 1 0 auto;
		display: flex;
		flex-direction: column;
	}

	.up-nav__akce {
		display: flex;
		align-items: center;
		gap: 12px;
		margin-top: 8px;
		padding: 8px 12px 8px 6px;
		border-radius: 16px;
		background: var(--up-plocha);
		color: var(--up-popisek);
		font-size: 13px;
		line-height: 1.3;
		text-decoration: none;
	}

	.up-nav__akce-obr {
		flex: none;
		width: 52px;
		height: 52px;
		object-fit: contain;
	}

	.up-nav__akce-text {
		flex: 1 1 auto;
		min-width: 0;
		display: flex;
		flex-direction: column;
		gap: 2px;
	}

	.up-nav__akce-stitek {
		color: #7a6648;
		font-size: 11px;
		font-weight: 800;
		line-height: 1.3;
		letter-spacing: .1em;
		text-transform: uppercase;
	}

	.up-nav__akce-text strong {
		color: var(--up-ink);
		font-family: var(--up-pismo-nadpis);
		font-size: 16.5px;
		font-weight: 800;
		line-height: 1.2;
	}

	.up-nav__akce-sipka,
	.up-nav__tel-ikona {
		flex: none;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		background: var(--up-zelena);
		color: #fff;
	}

	.up-nav__akce-sipka {
		width: 36px;
		height: 36px;
	}

	.up-nav__ikona {
		flex: none;
		width: 20px;
		height: 20px;
		fill: none;
		stroke: currentColor;
		stroke-width: 2;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.up-nav__dalsi {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		margin: 8px 0 12px;
	}

	.up-nav__dalsi .up-nav__odkaz {
		display: flex;
		align-items: center;
		gap: 8px;
		min-height: 44px;
		padding: 0 12px;
		border: 1px solid var(--up-cara);
		border-radius: 12px;
		font-size: 14.5px;
		font-weight: 700;
		line-height: 1.25;
	}

	.up-nav__dalsi .up-nav__ikona {
		color: var(--up-zelena);
	}

	.up-nav__pata {
		position: sticky;
		bottom: 0;
		display: flex;
		flex-direction: column;
		gap: 8px;
		margin: auto calc(-1 * var(--up-okraj-sekce)) 0;
		padding: 8px var(--up-okraj-sekce) calc(10px + env(safe-area-inset-bottom, 0px));
		border-top: 1px solid var(--up-cara);
		background: #fff;
	}

	.up-nav__tel {
		display: flex;
		align-items: center;
		gap: 10px;
		color: var(--up-popisek);
		font-size: 12.5px;
		line-height: 1.3;
		text-decoration: none;
	}

	.up-nav__tel-ikona {
		width: 40px;
		height: 40px;
	}

	.up-nav__tel-text {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: baseline;
		column-gap: 10px;
	}

	.up-nav__tel-text > span:first-child {
		grid-row: 2;
		grid-column: 1 / -1;
	}

	.up-nav__tel-text strong {
		grid-row: 1;
		color: var(--up-noc);
		font-size: 17px;
		font-weight: 800;
	}

	.up-nav__tel-hodiny {
		display: inline-flex;
		align-items: center;
		gap: 6px;
	}

	.up-nav__tel-hodiny .up-online {
		width: 7px;
		height: 7px;
		box-shadow: none;
	}

	.up-nav__jazyky {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 4px;
		padding: 3px;
		border-radius: 999px;
		background: var(--up-stitek);
	}

	.up-nav__jazyk {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 40px;
		padding: 0 8px;
		border-radius: 999px;
		color: var(--up-text);
		font-size: 14px;
		font-weight: 700;
		text-decoration: none;
	}

	.up-nav__jazyk.is-aktivni {
		background: #fff;
		box-shadow: 0 1px 3px rgba(20, 36, 27, .18);
		color: var(--up-ink);
		font-weight: 800;
	}

	.up-nav__jazyk img {
		width: 18px;
		height: 12px;
		border-radius: 2px;
	}

	.up-hlavicka__cta {
		margin-left: 8px;
		padding: 0 16px;
		font-size: 14px;
	}

	.up-kosik {
		margin-left: auto;
	}

	.up-kosik.is-plny {
		gap: 8px;
		padding: 0 8px 0 14px;
		font-size: 14px;
	}

	.up-kosik.is-plny .up-kosik__pocet {
		min-width: 24px;
		height: 24px;
		padding: 0 6px;
		border-radius: 12px;
		font-size: 12px;
		line-height: 24px;
	}
}

@media (max-width: 560px) {
	.up-kosik:not(.is-plny) {
		display: none;
	}
}

@media (max-width: 980px) and (max-height: 620px) {
	.up-nav__akce,
	.up-nav__tel-text > span:first-child {
		display: none;
	}

	.up-nav > .up-nav__odkaz {
		min-height: 40px;
		font-size: 18px;
	}
}

.up-main {
	display: block;
}

.up-main > section + section {
	border-top: 1px solid var(--up-cara-sekce);
}

.up-main > .up-stranka-hlava + section,
.up-main > .up-chyba + section,
.up-main > .up-poradime {
	border-top: 0;
}

.up-obsah {
	width: min(820px, calc(100% - 2 * var(--up-okraj)));
	margin: 0 auto;
	padding: var(--up-sekce) 0;
}

.up-obsah__nadpis {
	margin-bottom: 24px;
}

.up-obsah p + p {
	margin-top: 1em;
}


.up-paticka {
	padding: clamp(48px, 5vw, 72px) var(--up-okraj-sekce) 28px;
	background: #33291e;
	color: #e3d9cb;
}

.up-paticka a {
	color: #e3d9cb;
	text-decoration: none;
}

.up-paticka a:hover {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.up-paticka__in {
	max-width: 1144px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.up-paticka__mrizka {
	display: flex;
	flex-wrap: wrap;
	gap: 36px 40px;
}

.up-paticka__znacka {
	display: flex;
	flex: 1.3 1 300px;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;
	min-width: 0;
}

.up-paticka__sloupec {
	flex: 1 1 220px;
	min-width: 0;
}

.up-paticka__sloupec--uzky {
	flex: .8 1 170px;
}

.up-paticka__sloupec--partneri {
	flex: 1.05 1 240px;
}

.up-paticka__logo {
	display: block;
}

.up-paticka__logo img {
	width: 72px;
	height: 74px;
}

.up-paticka__claim {
	margin: 0;
	max-width: 20em;
	font-size: 15px;
	line-height: 1.6;
}

.up-paticka__domeny {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 15px;
	line-height: 1.4;
}

.up-paticka .up-paticka__domeny a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #b9ac9a;
}

.up-paticka .up-paticka__domeny a[aria-current] {
	color: #fff;
	font-weight: 700;
}

.up-paticka__domeny img {
	display: block;
	width: 18px;
	height: 12px;
	border-radius: 2px;
}

.up-paticka__tecka {
	color: #6e604f;
}

.up-paticka__cara {
	display: block;
	width: 100%;
	max-width: 260px;
	height: 1px;
	background: #4a3e31;
}

.up-paticka__kontakty {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.up-paticka__kontakt {
	display: flex;
	flex-direction: column;
	gap: 3px;
	margin: 0;
}

.up-paticka .up-paticka__kontakt a {
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
}

.up-paticka__kontakt span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #b9ac9a;
	font-size: 14px;
	line-height: 1.4;
}

.up-paticka__nadpis {
	margin: 0 0 16px;
	color: #fff;
	font-size: 19px;
	line-height: 1.25;
}

.up-paticka__odkazy {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 15px;
}

.up-paticka__partneri {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	width: 100%;
	max-width: 340px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.up-paticka__partneri li {
	position: relative;
	aspect-ratio: 8 / 5;
	border-radius: 8px;
	background: #fff;
}

.up-paticka__partneri img {
	position: absolute;
	top: 18%;
	left: 12%;
	width: 76%;
	height: 64%;
	object-fit: contain;
}

.up-paticka__copy {
	margin: 0;
	padding-top: 22px;
	border-top: 1px solid #4a3e31;
	color: #b9ac9a;
	font-size: 13px;
	line-height: 1.5;
}

.kl-garance {
	width: min(560px, calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	padding: 0;
	border: 0;
	border-radius: 20px;
	background: #fff;
	color: var(--up-text);
	box-shadow: 0 40px 90px -30px rgba(20, 36, 27, .55);
}

.kl-garance::backdrop {
	background: rgba(20, 36, 27, .5);
}

.kl-garance__obsah {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: clamp(26px, 4vw, 36px);
}

.kl-garance__zavrit {
	position: absolute;
	top: 12px;
	right: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--up-avatar);
	color: var(--up-hneda);
	cursor: pointer;
}

.kl-garance__zavrit svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.2;
	stroke-linecap: round;
}

.kl-garance__nadpis {
	padding-right: 44px;
	font-size: clamp(26px, 3vw, 32px);
	line-height: 1.15;
}

.kl-garance__text {
	font-size: 17px;
	line-height: 1.65;
}

.kl-garance__ok {
	align-self: center;
	min-width: 160px;
	margin-top: 8px;
}
