/*
Theme Name: Jacob's Little Italy
Theme URI: https://jacobsitaly.cz
Author: Matěj Kozák
Description: Blokový theme pro Jacob's Little Italy, design „Kampa Nights“ (varianta B). Menu z Rezervata, rezervace z Choice.
Version: 1.9.1
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: jacobs-little-italy
*/

/* Barvy, písma a velikosti žijí v theme.json. Tady jen to, co theme.json neumí. */

:root {
	--jli-night: var(--wp--preset--color--night);
	--jli-night-2: var(--wp--preset--color--night-2);
	--jli-cream: var(--wp--preset--color--cream);
	--jli-cream-2: var(--wp--preset--color--cream-2);
	--jli-muted: var(--wp--preset--color--muted);
	--jli-brass: var(--wp--preset--color--brass);
	--jli-line: var(--wp--preset--color--line);
	--jli-display: var(--wp--preset--font-family--display);
	--jli-brand: var(--wp--preset--font-family--brand);
	--jli-serif: var(--wp--preset--font-family--serif);
	--jli-top: var(--wp-admin--admin-bar--height, 0px);
}
/* Do 600 px šířky lišta WordPressu pro přihlášené odjíždí s obsahem (position: absolute),
   hlavička se proto má přilepit až úplně nahoru, jinak nad ní zůstane 46px mezera. */
@media (max-width: 600px) {
	:root {
		--jli-top: 0px;
	}
}

body {
	-webkit-font-smoothing: antialiased;
}

:where(h1, h2, h3, h4) {
	text-wrap: balance;
}

:where(a, button, input, select, textarea):focus-visible {
	outline: 2px solid var(--jli-brass);
	outline-offset: 2px;
}

/* Popisky nad nadpisy (mosaz, kapitálky) */
.jli-eyebrow {
	font-family: var(--jli-display);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: var(--jli-brass);
	margin: 0;
}

/* ===== Tlačítko rezervace: mosazná destička s druhým tenkým rámečkem ===== */
:root {
	--jli-cta-text: #2b1e0c;
}
.wp-block-button.is-style-jli-cta .wp-block-button__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.95rem 1.35rem;
	font-family: var(--jli-display);
	/* Písmo podle návrhu https://claude.ai/artifact/Tpsh5w3p4RihEotG46yfC9 (Matěj 5. 10.):
	   Medium 500 (ExtraBold 800 byl v úzkém Kief-Teku hůř čitelný), o chlup menší
	   prostrkání a tmavě hnědé písmo s ražbou (světlá hrana pod písmeny, jako vyryté
	   do mosazi). Tlačítka Rezervovat mají po webu stejný vzhled, liší se jen
	   velikostí: úvod (.jli-hero-cta), karta volných časů (.jli-karta-cta),
	   rezervační pás (.jli-cta-lg) a plovoucí na telefonu (.jli-nav-cta). */
	font-weight: 500;
	font-size: var(--wp--preset--font-size--tlacitko);
	letter-spacing: 0.14em;
	text-shadow: 0 1px 0 rgba(255, 244, 214, 0.55), 0 -1px 0 rgba(0, 0, 0, 0.18);
	text-transform: uppercase;
	/* Prostrkaný nadpisový text se v úzké hlavičce lámal uprostřed slova
	   („REZERVOVA / T“). Tlačítko radši zůstane na řádku a zúží se jinde. */
	white-space: nowrap;
	color: var(--jli-cta-text);
	border-radius: 0;
	background: linear-gradient(180deg, color-mix(in srgb, var(--jli-brass), #fff 26%) 0%, var(--jli-brass) 52%, color-mix(in srgb, var(--jli-brass), #000 14%) 100%);
	box-shadow: inset 0 1px 0 rgba(255, 244, 220, 0.55), inset 0 -1px 0 rgba(0, 0, 0, 0.25), 0 10px 28px -10px color-mix(in srgb, var(--jli-brass), transparent 20%);
	transition: filter 0.2s, box-shadow 0.2s, transform 0.2s;
}
.wp-block-button.is-style-jli-cta .wp-block-button__link::before {
	content: "";
	position: absolute;
	inset: -5px;
	border: 1px solid color-mix(in srgb, var(--jli-brass), transparent 45%);
	pointer-events: none;
	transition: inset 0.2s, border-color 0.2s;
}
.wp-block-button.is-style-jli-cta .wp-block-button__link::after {
	content: none;
}
.wp-block-button.is-style-jli-cta .wp-block-button__link:hover {
	color: var(--jli-cta-text);
	filter: brightness(1.07);
	box-shadow: inset 0 1px 0 rgba(255, 244, 220, 0.6), inset 0 -1px 0 rgba(0, 0, 0, 0.25), 0 14px 34px -10px var(--jli-brass);
}
.wp-block-button.is-style-jli-cta .wp-block-button__link:hover::before {
	inset: -7px;
	border-color: var(--jli-brass);
}
.wp-block-button.is-style-jli-cta .wp-block-button__link:focus-visible {
	outline-offset: 9px;
}
/* Stejný vzhled, jen větší rozměr. Selektor musí přebít základní pravidlo
   `.wp-block-button.is-style-jli-cta .wp-block-button__link` výš (past z 0.7.3). */
.wp-block-button.is-style-jli-cta.jli-cta-lg .wp-block-button__link {
	padding: 1.2rem 1.8rem;
	font-size: 1.0969rem;
}

/* ===== Oznámení nad hlavičkou (spravuje se v /admin, inc/content.php) =====
   Drží nahoře spolu s hlavičkou: lišta se lepí na vrch, hlavička hned pod ni
   (výšku lišty zapisuje site.js do --jli-notice-h). Pod hlavičkou, aby otevřené
   mobilní menu překrylo i lištu. Od FS WEB 0.18.0 proužek vypisuje shell
   (.fsweb-oznameni); `body` přebije jeho výchozí styl. */
.jli-notice,
body .fsweb-oznameni {
	position: sticky;
	top: var(--jli-top);
	z-index: 49;
	padding: 0.7rem clamp(1.25rem, 3.2vw, 3rem);
	background: var(--jli-brass);
	color: var(--jli-night);
	font-family: var(--jli-display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--tlacitko);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-align: center;
}
.jli-notice-item,
body .fsweb-oznameni-item {
	margin: 0;
}
.jli-notice-item + .jli-notice-item,
body .fsweb-oznameni-item + .fsweb-oznameni-item {
	margin-top: 0.3rem;
}
.jli-notice a,
body .fsweb-oznameni a {
	color: inherit;
	font-weight: 500;
	text-underline-offset: 0.2em;
}
/* Na telefonu jde proklik na vlastní řádek, ať se nezalomí jen jeho půlka. */
@media (max-width: 599px) {
	.jli-notice a,
	body .fsweb-oznameni a {
		display: table;
		margin: 0.15rem auto 0;
		white-space: nowrap;
	}
}

/* ===== Hlavička: drží nahoře, nad úvodem jemný přechod, po odscrollování plná ===== */
.jli-site-header {
	position: sticky;
	top: calc(var(--jli-top) + var(--jli-notice-h, 0px));
	z-index: 50;
	margin-block: 0 !important;
}
.jli-site-header::before {
	content: "";
	position: absolute;
	inset: 0 0 -24px;
	background: var(--jli-night);
	opacity: 0.7;
	-webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.5) 50%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.5) 50%, transparent 100%);
	pointer-events: none;
	transition: opacity 0.3s;
}
.jli-site-header.is-stuck::before {
	bottom: 0;
	opacity: 1;
	-webkit-mask-image: none;
	mask-image: none;
	box-shadow: 0 1px 0 var(--jli-line);
}
.jli-header {
	position: relative;
	gap: 1.25rem;
	padding-left: clamp(1.25rem, 3.2vw, 3rem) !important;
	padding-right: clamp(1.25rem, 3.2vw, 3rem) !important;
}
.jli-header .wp-block-navigation a {
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.45);
}
/* Přepínač podniků: logo v hlavičce rozbalí nabídku Little Italy / Street Food.
   <details> drží nabídku funkční i bez JS, site.js ji jen zavírá klikem vedle a Escapem. */
.jli-brand {
	margin: 0;
	flex-shrink: 0;
	line-height: 0;
	/* Bez tohohle se logo v liště vycentruje a přesah se rozdělí nahoru i dolů;
	   my ho chceme celý dolů, přes spodní hranu. */
	align-self: start;
}
.jli-brand-switch {
	position: relative;
}
.jli-brand-switch > summary {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	list-style: none;
	cursor: pointer;
}
.jli-brand-switch > summary::-webkit-details-marker {
	display: none;
}
/* Logo přesahuje přes spodní hranu lišty: do výšky hlavičky se počítá zmenšené
   (záporný spodní okraj), takže lišta je nižší a logo přesto zůstane velké. */
.jli-brand-logo {
	display: block;
	width: 76px;
	height: 76px;
	margin-bottom: -18px;
}
.jli-brand-caret {
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid var(--jli-brass);
	transition: transform 0.2s;
}
.jli-brand-switch[open] .jli-brand-caret {
	transform: rotate(180deg);
}
.jli-brand-menu {
	position: absolute;
	top: calc(100% + 8px);
	/* Od začátku řádku: v arabštině a hebrejštině (rtl) je logo vpravo a nabídka
	   s left: 0 vyjížděla mimo okno. */
	inset-inline-start: 0;
	z-index: 5;
	width: 17.5rem;
	padding: 0.35rem;
	border: 1px solid var(--jli-line);
	background: var(--jli-night-2);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
	line-height: 1.4;
}
.jli-brand-item {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.6rem;
	color: var(--jli-cream-2);
	text-decoration: none;
}
.jli-brand-item img {
	width: 40px;
	height: 40px;
	flex-shrink: 0;
}
.jli-brand-item.is-current,
.jli-brand-item:hover {
	background: var(--jli-night);
}
.jli-brand-name {
	display: block;
	font-family: var(--jli-display);
	font-size: var(--wp--preset--font-size--tlacitko);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--jli-cream);
}
.jli-brand-note {
	display: block;
	margin-top: 0.15rem;
	font-size: var(--wp--preset--font-size--maly);
	color: var(--jli-muted);
}
.jli-header-right {
	gap: 1.25rem;
	align-items: center;
}
/* Přepínač jazyků GTranslate (vzhled „Nice dropdown with flags“).
   Plugin si vkládá vlastní styl se světlými barvami, tady ho přebíjíme
   vyšší specifičností. Nabídka se otevírá přes obsah, ne do hlavičky. */
.jli-lang {
	position: relative;
	line-height: 0;
}
.jli-lang p:empty {
	display: none;
}
/* Shortcode `[gtranslate]` po sobě nechá prázdný odstavec. Ten je sice skrytý,
   ale blokové rozvržení ho pořád počítá jako sourozence, takže přepínači dalo
   `margin-block-start` z block-gapu (24 px) a jazyk visel o 12 px níž než logo
   a hamburger. Odsazení tady nemá co dělat, svislé zarovnání řeší flex výš. */
.jli-lang > * {
	margin-block: 0 !important;
}
.jli-header .jli-lang .gt_switcher {
	position: relative;
	width: auto;
	overflow: visible;
	font-family: var(--jli-display);
	font-size: 1.0647rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.jli-header .jli-lang .gt_switcher a {
	font-size: inherit;
	line-height: 1.2;
	color: var(--jli-cream-2);
}
.jli-header .jli-lang .gt_switcher a img {
	width: 18px;
	height: 18px;
	margin-right: 0.45rem;
	border-radius: 50%;
	object-fit: cover;
	opacity: 0.9;
}
.jli-header .jli-lang .gt_switcher .gt_selected {
	background: none;
}
.jli-header .jli-lang .gt_switcher .gt_selected a {
	width: auto;
	padding: 0.45rem 1.9rem 0.45rem 0.6rem;
	border: 1px solid var(--jli-line);
	color: var(--jli-cream);
	white-space: nowrap;
}
.jli-header .jli-lang .gt_switcher .gt_selected a:hover,
.jli-header .jli-lang .gt_switcher .gt_selected a.open {
	background: none;
	border-color: var(--jli-brass);
}
.jli-header .jli-lang .gt_switcher .gt_selected a:after {
	top: 50%;
	right: 0.6rem;
	height: 11px;
	margin-top: -5px;
	background-size: 9px;
	filter: invert(62%) sepia(38%) saturate(420%) hue-rotate(2deg) brightness(92%);
}
.jli-header .jli-lang .gt_switcher .gt_option {
	position: absolute;
	top: calc(100% + 6px);
	/* K okraji okna: v ltr je přepínač vpravo a seznam roste doleva, v arabštině
	   a hebrejštině (rtl) je vlevo a s right: 0 vyjížděl seznam mimo okno. */
	inset-inline-end: 0;
	width: 13.5rem;
	max-height: min(22rem, 70vh);
	border: 1px solid var(--jli-line);
	background: var(--jli-night-2);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
}
.jli-header .jli-lang .gt_switcher .gt_option a {
	padding: 0.55rem 0.8rem;
	color: var(--jli-cream-2);
	text-transform: none;
	letter-spacing: 0.02em;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.17rem;
}
.jli-header .jli-lang .gt_switcher .gt_option a:hover {
	background: var(--jli-night);
	color: var(--jli-cream);
}
.jli-header .jli-lang .gt_switcher .gt_option::-webkit-scrollbar-track {
	background-color: var(--jli-night-2);
}
.jli-header .jli-lang .gt_switcher .gt_option::-webkit-scrollbar-thumb {
	background-color: var(--jli-brass);
}
/* Tlačítko v hlavičce je menší než to v úvodu. Selektor musí být delší než
   `.wp-block-button.is-style-jli-cta .wp-block-button__link` výš, jinak se
   zmenšení neprojeví a tlačítko roste přes celou hlavičku. */
.jli-header .jli-nav-cta .wp-block-button .wp-block-button__link {
	padding: 0.6rem 1rem;
	font-size: 0.8775rem;
	letter-spacing: 0.14em;
}
.jli-nav-cta {
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.25s, transform 0.25s, visibility 0s linear 0.25s;
}
.jli-site-header.show-cta .jli-nav-cta {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity 0.25s, transform 0.25s, visibility 0s;
}

/* ===== Patička (inc/footer.php, varianta B z návrhu 2. 10. 2026) =====
   Tři sloupce: Kontaktní informace | firma, přepínač podniků a Rezervovat | Sledujte nás,
   dole zásady a cookies. Do 899 px pod sebou na střed v pořadí přepínač, Sledujte nás, kontakty. */
.jli-footer {
	padding-left: clamp(1.25rem, 3.2vw, 3rem) !important;
	padding-right: clamp(1.25rem, 3.2vw, 3rem) !important;
}
.jli-ft {
	max-width: var(--wp--style--global--wide-size, 76rem);
	margin: 0 auto;
	font-family: var(--jli-display);
	color: var(--jli-cream-2);
}
.jli-ft-cols {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	gap: 3rem;
	align-items: start;
}
.jli-ft .jli-ft-h {
	margin: 0 0 1.2rem;
	font-family: var(--jli-display);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--popisek);
	line-height: 1.4;
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: var(--jli-brass);
}
.jli-ft .jli-ft-sub {
	margin: 1.4rem 0 0.45rem;
	font-family: var(--jli-display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--popisek);
	line-height: 1.4;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--jli-muted);
}
.jli-ft address {
	font-style: normal;
}
.jli-ft address > .jli-ft-sub:first-child {
	margin-top: 0;
}
.jli-ft p {
	margin: 0;
	font-size: var(--wp--preset--font-size--maly);
	line-height: 1.5;
	letter-spacing: 0.1em;
}
.jli-ft .jli-ft-big {
	font-size: var(--wp--preset--font-size--medium);
	letter-spacing: 0.06em;
	color: var(--jli-cream);
}
.jli-ft b {
	font-weight: 500;
	color: var(--jli-cream);
}
.jli-ft-mut {
	color: var(--jli-muted);
}
.jli-ft a {
	color: inherit;
	text-decoration: none;
}
.jli-ft p a:hover {
	color: var(--jli-brass);
}
.jli-ft .jli-ft-arrow,
.jli-resv-salonek .jli-ft-arrow {
	display: inline-block;
	margin-top: 0.5rem;
	padding-bottom: 2px;
	border-bottom: 1px solid var(--jli-brass);
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--jli-cream);
}
.jli-ft .jli-ft-arrow::after,
.jli-resv-salonek .jli-ft-arrow::after {
	content: " →";
	letter-spacing: 0;
}
.jli-ft .jli-ft-arrow:hover,
.jli-resv-salonek .jli-ft-arrow:hover {
	color: var(--jli-brass);
}
/* Prostřední sloupec: logo, firma, decentní zmínka o Street Food, pod tím Rezervovat */
.jli-ft-mid {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.9rem;
	text-align: center;
}
.jli-ft-mid .jli-ft-h {
	margin-bottom: 0;
}
.jli-ft-logo img {
	display: block;
	width: 120px;
	height: 120px;
}
.jli-ft .jli-ft-sf {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--maly);
	letter-spacing: 0.02em;
	color: var(--jli-muted);
}
.jli-ft .jli-ft-sf a {
	color: var(--jli-cream);
	border-bottom: 1px solid var(--jli-line);
	transition: border-color 0.2s, color 0.2s;
}
.jli-ft .jli-ft-sf a:hover {
	color: var(--jli-cream);
	border-color: var(--jli-brass);
}
.jli-ft-sf-arr {
	color: var(--jli-brass);
}
.jli-ft-cta {
	display: flex;
	justify-content: center;
	margin: 0.4rem 0 0 !important;
}
/* Sledujte nás: sítě a profily hodnocení z Parťáq Marketing, vždy pod sebou */
.jli-ft-site {
	justify-self: end;
	text-align: right;
}
.jli-ft .fsweb-smm-profiles {
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-end;
	gap: 0.1rem;
}
.jli-ft .fsweb-smm-profile {
	gap: 0.6rem;
	min-height: 44px;
	font-size: var(--wp--preset--font-size--maly);
	letter-spacing: 0.08em;
	color: var(--jli-cream);
}
.jli-ft .fsweb-smm-profile .fsweb-marketing-znacka {
	width: 1.35rem;
	height: 1.35rem;
}
.jli-ft .fsweb-smm-profile:hover {
	color: var(--jli-brass);
}
.jli-ft .fsweb-smm-profile:hover span {
	text-decoration: none;
}
.jli-ft .jli-ft-bar {
	margin-top: 2.75rem;
	padding: 1.2rem 0 1.6rem;
	border-top: 1px solid var(--jli-line);
	text-align: center;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--jli-muted);
}
.jli-ft-bar a,
.jli-ft-bar .jli-consent-open {
	color: var(--jli-brass);
}
@media (max-width: 899px) {
	.jli-ft-cols {
		grid-template-columns: minmax(0, 1fr);
		gap: 2.5rem;
		text-align: center;
	}
	.jli-ft-mid {
		order: -2;
	}
	.jli-ft-site {
		order: -1;
		justify-self: stretch;
		text-align: center;
	}
	.jli-ft .fsweb-smm-profiles {
		align-items: center;
	}
}
/* [jli_cookies] bez stránky zásad a s vypnutou lištou nic nevypíše. */
.jli-footer .jli-legal:empty {
	display: none;
}
/* „Nastavení cookies“ v patičce (tlačítko Parťáq Legal) vypadá jako okolní text. */
.jli-consent-open {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	text-decoration: underline;
	text-underline-offset: 0.25em;
	cursor: pointer;
}
.jli-consent-open:hover {
	color: var(--wp--preset--color--cream);
}

/* Lišta s cookies kreslí Parťáq Legal (inc/consent.php); theme dává jen barvy a písmo.
   Obě hlavní tlačítka mosazná, jak chce pravidlo „stejně výrazná“. */
:root {
	--fsweb-lista-pozadi: var(--wp--preset--color--night-2);
	--fsweb-lista-text: var(--wp--preset--color--cream-2);
	--fsweb-lista-okraj: var(--wp--preset--color--line);
	--fsweb-lista-odkaz: var(--wp--preset--color--brass);
	--fsweb-lista-tlacitko: var(--wp--preset--color--brass);
	--fsweb-lista-tlacitko-text: #15130f;
	--fsweb-lista-pismo: var(--wp--preset--font-family--serif);
	--fsweb-lista-radius: 0;
}
.fsweb-lista-karta {
	font-size: var(--wp--preset--font-size--maly);
	border-top: 2px solid var(--wp--preset--color--brass);
}
.fsweb-lista .fsweb-lista-tlacitko,
.fsweb-lista .fsweb-lista-odkaz {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--tlacitko);
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.jli-sister-wrap {
	margin-top: 0.6rem !important;
	line-height: 0;
}
.jli-sister {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	padding: 0.7rem 1.1rem 0.7rem 0.7rem;
	border: 1px solid var(--jli-line);
	text-align: left;
	text-decoration: none;
	line-height: 1.4;
}
.jli-sister:hover {
	border-color: var(--jli-brass);
}
.jli-sister img {
	width: 58px;
	height: 58px;
	flex-shrink: 0;
}
.jli-sister-text {
	display: block;
}
.jli-sister-lead {
	display: block;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--jli-muted);
}
.jli-sister-name {
	display: block;
	margin-top: 0.2rem;
	font-family: var(--jli-display);
	font-size: var(--wp--preset--font-size--medium);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--jli-cream);
}
.jli-sister-note {
	display: block;
	font-size: var(--wp--preset--font-size--maly);
	letter-spacing: 0.02em;
	text-transform: none;
	color: var(--jli-muted);
}

/* ===== Úvod s videem ===== */
.jli-hero {
	margin-top: calc(-1 * var(--jli-header-h, 96px)) !important;
	/* Úvod zajíždí pod hlavičku; když je obsah vyšší než úvod (delší text po překladu,
	   nízké okno), roste úvod dolů a název nevleze pod navigaci. */
	padding-top: calc(var(--jli-header-h, 96px) + 1.5rem) !important;
	align-items: flex-end;
	/* Úvod vyplní okno tak, aby pod ním byl vždycky celý vidět pás s otevírací dobou
	   (lišta WordPressu pro přihlášené + lišta oznámení + úvod + pás = výška okna; --jli-strip-h a --jli-notice-h měří site.js).
	   Na nízkém okně drží spodní mez, obsah úvodu se tam nesmí zmáčknout.
	   Styl prvku ve vzoru má 640 px, proto !important. Telefon má vlastní mez níž. */
	min-height: max(34rem, calc(100svh - var(--wp-admin--admin-bar--height, 0px) - var(--jli-notice-h, 0px) - var(--jli-strip-h, 7rem))) !important;
	padding-bottom: 2.75rem;
	background: var(--jli-night) url("assets/video/hero-poster-desktop.jpg") center / cover no-repeat;
}
/* Pozadí úvodu: jiný soubor pro počítač a telefon (přepíná se, když aspoň
   jedna verze je fotka; dvě videa řeší <source media> v jednom prvku). */
.jli-hero-media.is-mobile {
	display: none;
}
@media (max-width: 820px) {
	.jli-hero-media.is-desktop {
		display: none;
	}
	.jli-hero-media.is-mobile {
		display: block;
	}
}

/* Ztmavení o pixel přes okraj: na displejích 3× se video (vlastní vrstva) a ztmavení
   zaokrouhlí jinak a na kraji by prosvítal proužek nezatmaveného videa. Úvod ořezává. */
.jli-hero .wp-block-cover__background,
.jli-claim .wp-block-cover__background {
	inset: -1px !important;
}
.jli-hero .wp-block-cover__background {
	background: linear-gradient(180deg, rgba(18, 20, 17, 0.55) 0%, rgba(18, 20, 17, 0) 35%, rgba(18, 20, 17, 0.2) 60%, var(--jli-night) 100%) !important;
	opacity: 1 !important;
}
.jli-hero video.wp-block-cover__video-background {
	filter: saturate(0.9) brightness(0.9);
}
.jli-hero-row {
	--jli-tagline-size: clamp(1.68rem, 3vw, 2.688rem);
	gap: 2rem;
	align-items: flex-end;
}
.jli-hero-title {
	gap: 0.6rem;
}
.jli-hero h1 {
	margin: 0;
}
.jli-tagline {
	margin: 0;
	font-style: italic;
	font-size: var(--jli-tagline-size);
	color: var(--jli-brass);
	text-shadow: 0 1px 14px rgba(0, 0, 0, 0.55);
}
/* Adresa pod podtitulem (od 1.8.0): špendlík a jeden řádek, odkaz do Google Map.
   Výška řádku 1.8rem = stejná jako u log médií, takže od 1100 px sedí na jedné lince. */
.jli-hero-adresa {
	margin: 0.15rem 0 0;
	line-height: 1.8rem;
}
.jli-hero-adresa a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--jli-cream);
	font-size: var(--wp--preset--font-size--maly);
	text-decoration: none;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6), 0 2px 14px rgba(0, 0, 0, 0.7);
	white-space: nowrap;
}
.jli-hero-adresa svg {
	flex: none;
	width: 1.35em;
	height: 1.35em;
	color: var(--jli-brass);
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.6));
}
.jli-hero-adresa a:hover span,
.jli-hero-adresa a:focus-visible span {
	text-decoration: underline;
	text-decoration-color: var(--jli-brass);
	text-underline-offset: 0.2em;
}
.jli-trust {
	gap: 0.75rem;
	align-items: center;
}
.jli-trust-below {
	gap: 0.75rem;
	align-items: center;
}
.jli-hero-cta {
	margin-bottom: 0.9rem;
}
/* Rezervovat v úvodu je o čtvrtinu větší než ostatní mosazná tlačítka */
.jli-hero-cta .wp-block-button.is-style-jli-cta .wp-block-button__link {
	padding: 1.1875rem 1.7rem;
	font-size: 1.1883rem;
}
.jli-hero-cta .wp-block-button.is-style-jli-cta .wp-block-button__link::before {
	inset: -6px;
}
.jli-hero-cta .wp-block-button.is-style-jli-cta .wp-block-button__link:hover::before {
	inset: -9px;
}
/* Svisle na střed názvu restaurace jde jen tlačítko. Ohlasy a loga médií
   zůstávají dole pod ním jako dřív, proto je sloupec vysoký jako celý řádek
   a tlačítko v něm plave uprostřed. Až od 1100 px: pod tím se pravý sloupec
   zalomí pod název a plovoucí tlačítko by padlo přes loga médií. */
@media (min-width: 1100px) {
	.jli-trust {
		position: relative;
		align-self: stretch;
		justify-content: flex-end;
	}
	.jli-hero-cta {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		margin: 0;
	}
	/* Loga médií na jednom řádku s podtitulem: obě skupiny končí u spodní hrany
	   řádku, podtitul má ale vyšší řádek, takže loga zvedneme o půlku rozdílu. */
	/* vyšší specifičnost: WordPress dává položkám flex skupiny margin: 0 */
	.jli-trust > .jli-trust-below {
		margin-bottom: 0;
	}
}
.jli-trust-row {
	gap: 1.6rem;
	/* Loga médií a hodnocení na jedné lince: na střed se text Kief-Teku srovnal
	   výš než loga (vysoké verzálky, jiná výška řádku), proto se řádek zarovnává
	   podle účaří — spodek log sedne na účaří textu. */
	align-items: baseline;
}
/* WordPress dává obrázkům v bloku `vertical-align: bottom`, účaří obrázku by pak
   leželo o řádkový podpatek níž a loga by spadla pod text. */
.jli-trust-row .jli-press-logo img {
	vertical-align: baseline;
}
.jli-trust-row .jli-press-logo a {
	line-height: 1;
}
.jli-trust-row .jli-press-logo {
	margin: 0;
}
.jli-trust-row .jli-press-logo img,
.jli-press .jli-press-logo img {
	width: auto;
	filter: brightness(0) invert(0.93);
}
.jli-trust-row .jli-press-logo a,
.jli-rating a {
	display: block;
	opacity: 0.55;
	transition: opacity 0.2s;
}
.jli-trust-row .jli-press-logo a:hover,
.jli-rating a:hover {
	opacity: 1;
}
.jli-rating {
	margin: 0;
	font-family: var(--jli-display);
	font-size: var(--wp--preset--font-size--maly);
	letter-spacing: 0.04em;
}
.jli-rating a {
	color: var(--jli-cream);
	text-decoration: none;
}
.jli-rating span {
	color: var(--jli-brass);
	font-size: var(--wp--preset--font-size--maly);
}
/* Jméno zdroje jako logo (Recenze od 0.5.1, SVG v barvě textu): sedí na účaří čísla vedle.
   Nápis Firmy.cz má písmena přes celou výšku, proto je menší než Google (ten má nožičku g). */
.jli-rating .fsweb-reviews-mark {
	display: inline-block;
	width: auto;
	height: 0.95em;
	margin-right: 0.15em;
	vertical-align: -0.2em;
}
.jli-rating-firmy .fsweb-reviews-mark {
	height: 0.72em;
	vertical-align: -0.05em;
}
/* „Napsali o nás“ nad logy médií a hodnoceními, na vlastním řádku; loga
   a hodnocení pod ním na střed (s modulem Parťáq Reviews, nadpis se mění
   v sekci Recenze). */
.jli-trust-row {
	justify-content: center;
	row-gap: 0.55rem;
}
/* Loga médií a hodnocení jsou každé ve vlastní skupině. Řádek zalamuje celé skupiny:
   když se všechno nevejde vedle sebe, jdou média na jeden řádek a hodnocení pod ně
   (dřív na telefonu zůstal Tripadvisor sám na druhém řádku). Uvnitř skupiny se
   zalamuje až tehdy, když je skupina sama širší než řádek. */
.jli-trust-row .jli-trust-group {
	gap: inherit;
	align-items: baseline;
	justify-content: center;
	margin: 0;
}
.jli-trust-row .jli-trust-label {
	flex-basis: 100%;
	text-align: center;
	margin: 0;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #fff;
	opacity: 0.95;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.6);
}
/* Pod pásem recenzí: odkud recenze jsou a jak je ověřujeme (zákon o ochraně spotřebitele). */
.jli-reviews-notice {
	margin-top: 1.25rem;
	font-size: var(--wp--preset--font-size--maly);
	opacity: 0.6;
}

/* ===== Pás s otevírací dobou =====
   (selektor .wp-block-group.jli-strip přebíjí display a gap, které WordPress dává flex skupině)
   Každá položka = malý mosazný popisek nad hodnotou (varianta B z návrhu
   https://claude.ai/artifact/FKmRTL9U49Wifr3FGQVQuL, Matěj 8. 10.). Speciál menu je poslední
   položka v mosazném rámečku s pomalu pulzujícím halo (viz Speciál menu níž). */
.wp-block-group.jli-strip {
	position: relative;
	z-index: 2;
	gap: 1.1rem 0;
	align-items: center;
	padding: 1.35rem 1rem;
	border-top: 1px solid var(--jli-line);
	font-family: var(--jli-display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--tlacitko);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-align: center;
	color: var(--jli-cream-2);
	background: var(--jli-night);
}
.jli-strip .jli-strip-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	min-width: 0;
	padding: 0.15rem 1.9rem;
}
.jli-strip .jli-strip-item + .jli-strip-item {
	border-left: 1px solid var(--jli-line);
}
.jli-strip .jli-strip-item > * {
	margin: 0;
}
/* Bez zadané otevírací doby (shortcode nic nevypíše) se položka neukáže jen s popiskem. */
.jli-strip .jli-strip-item:has(.jli-strip-vl:empty) {
	display: none;
}
.jli-strip .jli-strip-lb {
	font-weight: 400;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.3em;
	line-height: 1;
	color: var(--jli-brass);
}
.jli-strip .jli-strip-vl {
	font-weight: 500;
	line-height: 1.15;
	color: var(--jli-cream);
}
.jli-strip .jli-hours {
	font-weight: 400;
	color: var(--jli-cream-2);
}
.jli-strip .jli-hours strong {
	font-weight: 500;
	color: var(--jli-cream);
}
.jli-strip a {
	color: inherit;
	text-decoration: none;
}

/* ===== Claim: nahoře plynule vyjíždí z pásu nad ním ===== */
.jli-claim::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: clamp(90px, 16vw, 180px);
	background: linear-gradient(180deg, var(--jli-night) 0%, rgba(18, 20, 17, 0.6) 45%, rgba(18, 20, 17, 0) 100%);
	z-index: 1;
	pointer-events: none;
}
.jli-claim img.wp-block-cover__image-background {
	object-position: center 40%;
	filter: saturate(0.7) brightness(0.75) contrast(1.05);
}
.jli-claim .wp-block-cover__background {
	background: radial-gradient(ellipse 60% 70% at 50% 50%, rgba(18, 20, 17, 0.72) 0%, rgba(18, 20, 17, 0.45) 60%, rgba(18, 20, 17, 0.25) 100%) !important;
	opacity: 1 !important;
}
/* Claim je nižší, aby se i s dlaždicemi Menu / Oběd / Vína pod ním vešel do okna
   (520 px ze vzoru je ve stylu prvku, proto !important). */
.jli-claim {
	min-height: 0 !important;
	padding-block: 3rem !important;
}
.jli-claim .wp-block-cover__inner-container > * + * {
	margin-block-start: 1.25rem;
}
.jli-claim-logo img {
	width: 72px !important;
	height: 72px !important;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}
.jli-claim-text {
	font-family: var(--jli-display);
	font-size: var(--wp--preset--font-size--podnadpis);
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.7), 0 0 2px rgba(0, 0, 0, 0.9);
}

/* ===== Pilíře ===== */
.jli-pillars {
	gap: 1px !important;
	margin-block: 0 !important;
	background: var(--jli-line);
}
.jli-pillar {
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	padding: 2.75rem 2.25rem;
	background: var(--jli-night);
}
/* Ikona vlevo od nadpisu karty (Tabler, obarvená maskou na mosaz). */
.jli-pillar h3 {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.jli-pillar h3::before {
	content: "";
	flex: none;
	width: 1em;
	height: 1em;
	background: var(--jli-brass);
	-webkit-mask: center / contain no-repeat;
	mask: center / contain no-repeat;
}
.jli-pillar:nth-child(1) h3::before { -webkit-mask-image: url("assets/img/icons/book.svg?v=1"); mask-image: url("assets/img/icons/book.svg?v=1"); }
.jli-pillar:nth-child(2) h3::before { -webkit-mask-image: url("assets/img/icons/tools-kitchen-2.svg?v=1"); mask-image: url("assets/img/icons/tools-kitchen-2.svg?v=1"); }
.jli-pillar:nth-child(3) h3::before { -webkit-mask-image: url("assets/img/icons/glass-full.svg?v=1"); mask-image: url("assets/img/icons/glass-full.svg?v=1"); }

.jli-pillar > * {
	margin: 0 !important;
}
/* Fotka na pozadí karty (p1–p3_foto v /admin → Stránky webu → Úvodní stránka). Text leží
   na tmavém závoji, který dole houstne, aby se odstavec i tlačítko četly i na světlé fotce. */
.jli-pillar.has-jli-foto {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.jli-pillar.has-jli-foto::before,
.jli-pillar.has-jli-foto::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
}
.jli-pillar.has-jli-foto::before {
	background: var(--jli-pozadi) center / cover no-repeat;
	filter: saturate(0.85);
	transition: transform 0.8s ease;
}
.jli-pillar.has-jli-foto::after {
	background: linear-gradient(180deg, rgba(18, 20, 17, 0.82) 0%, rgba(18, 20, 17, 0.86) 45%, rgba(18, 20, 17, 0.94) 100%);
}
.jli-pillar.has-jli-foto:hover::before {
	transform: scale(1.03);
}
.jli-pillar.has-jli-foto h3,
.jli-pillar.has-jli-foto p {
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
}
@media (prefers-reduced-motion: reduce) {
	.jli-pillar.has-jli-foto::before { transition: none; }
	.jli-pillar.has-jli-foto:hover::before { transform: none; }
}
.jli-pillar p:not(.jli-eyebrow):not(.jli-more) {
	color: var(--jli-cream-2);
	max-width: 34ch;
}
.jli-more {
	margin-top: auto !important;
	padding-top: 0.5rem;
}
/* Odkaz karty jako obrysové tlačítko se šipkou (varianta 2 z návrhu
   https://claude.ai/artifact/Tpsh5w3p4RihEotG46yfC9, Matěj 5. 10.). Dřív měl stejné písmo
   i barvu jako nadtitulek nad ním a nečetl se jako akce. Plné mosazné zůstává jen Rezervovat. */
.jli-more a,
.jli-special-more {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	min-height: 50px;
	padding: 0 1.25rem;
	box-sizing: border-box;
	font-family: var(--jli-display);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--tlacitko);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	color: color-mix(in srgb, var(--jli-brass), #fff 22%);
	background: color-mix(in srgb, var(--jli-brass), transparent 94%);
	border: 1px solid var(--jli-brass);
	transition: background-color 0.2s, color 0.2s;
}
.jli-more a::after,
.jli-special-more::after {
	content: "";
	flex: none;
	width: 1.2em;
	height: 1.2em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.2s;
}
.jli-more a:hover,
.jli-more a:focus-visible,
.jli-pillar-special .jli-special-more:hover,
.jli-pillar-special .jli-special-more:focus-visible {
	color: var(--jli-night);
	background: var(--jli-brass);
}
.jli-more a:hover::after,
.jli-special-more:hover::after {
	transform: translateX(3px);
}

/* ===== Příběh ===== */
.jli-story {
	padding-block: var(--wp--preset--spacing--70);
	border-top: 1px solid var(--jli-line);
	scroll-margin-top: calc(var(--jli-header-h, 96px) + var(--jli-notice-h, 0px));
}
.jli-story .wp-block-columns.alignwide {
	gap: clamp(2rem, 5vw, 4.5rem);
}
/* Pozadí (0.37.0, návrh https://claude.ai/artifact/3UQKHcfDaBSsxm3T7137qm): za sekcí běží
   pruhy s jídly z jídelníčku a jejich fotkami (inc/pozadi.php), stejné jako za recenzemi. */
.jli-story {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.jli-pruh-jidlo {
	gap: 6px;
}
.jli-pruh-jidlo strong {
	font-family: var(--jli-display);
	font-style: normal;
	font-weight: 300;
	font-size: 1.35rem;
	line-height: 1.1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.jli-rev-pruh-citat.jli-pruh-jidlo > span {
	-webkit-line-clamp: 2;
	font-size: 1rem;
}
.jli-rev-pruh-citat.jli-pruh-jidlo small {
	font-size: 0.95rem;
	letter-spacing: 0.06em;
	color: var(--jli-brass);
}
.jli-story-photo img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	filter: saturate(0.85);
}
/* Sekce se má vejít do okna (0.37.3, Matěj 5. 10.): výšku sekce určuje fotka, na počítači ji
   proto drží výška okna bez hlavičky a odsazení sekce (≈ 8,5rem) a ořízne se nahoře a dole.
   Na vyšším okně zůstává 4 : 5. */
@media (min-width: 782px) {
	.jli-story-photo img {
		max-height: calc(100svh - var(--jli-top, 0px) - var(--jli-notice-h, 0px) - var(--jli-header-h, 76px) - 8.5rem);
	}
}
.jli-story p {
	color: var(--jli-cream-2);
	max-width: 44ch;
}
.jli-cv p {
	font-family: var(--jli-display);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--maly);
	letter-spacing: 0.05em;
	line-height: 1.6;
	color: var(--jli-cream-2);
}
.jli-cv p {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}
.jli-cv-avatar {
	flex: none;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	border: 1px solid var(--jli-brass);
	padding: 3px;
	box-sizing: border-box;
}
/* Počítač: avatar nad jménem, sloupec na střed, avatar o 30 % větší. */
@media (min-width: 782px) {
	.jli-cv p {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 0.9rem;
	}
	.jli-cv-avatar {
		width: 94px;
		height: 94px;
	}
}
.jli-cv strong {
	font-size: var(--wp--preset--font-size--popisek);
	font-weight: 400;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--jli-cream);
}

/* ===== Říkají o nás ===== */
.jli-reviews {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: var(--wp--preset--spacing--70);
	border-top: 1px solid var(--jli-line);
	scroll-margin-top: calc(var(--jli-header-h, 96px) + var(--jli-notice-h, 0px));
}
.jli-reviews-head {
	gap: 0.75rem 2rem;
	margin-bottom: 1.5rem;
}
.jli-reviews-head h2 {
	margin: 0;
}
/* Od 0.32.0 podle Mad Guys (návrh https://claude.ai/artifact/UVWfsybCzg92ckhTpKVwFB):
   za sekcí plují šikmé pruhy útržků recenzí, zmínek a zašedlých fotek (jli_recenze_pruhy()),
   zmínky jsou poloprůhledné karty, hodnocení destičky a recenze pás s čudlíky (site.js, jliPasy). */
.jli-reviews > .jli-rev-pozadi,
.jli-story > .jli-rev-pozadi {
	position: absolute;
	inset: -80px -60px;
	z-index: -2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
	max-width: none !important;
	margin: 0 !important;
	transform: rotate(-4deg);
	pointer-events: none;
}
/* Mezera je okraj kusu, ne gap: posun o polovinu pak sedí přesně a smyčka necukne. */
.jli-rev-pruh {
	overflow: hidden;
}
.jli-rev-pruh-in {
	display: flex;
	width: max-content;
	animation: jli-pruh-vlevo var(--rychlost, 120s) linear infinite;
}
.jli-rev-pruh-in.is-vpravo {
	animation-name: jli-pruh-vpravo;
}
.jli-rev-pruh-in > * {
	flex: none;
	height: 170px;
	margin-right: 16px;
}
.jli-rev-pruh-foto {
	display: block;
	width: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	filter: grayscale(1) contrast(1.1);
	opacity: 0.3;
}
.jli-rev-pruh-citat {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 8px;
	width: 300px;
	padding: 18px 22px;
	border: 1px solid rgba(236, 230, 216, 0.08);
	background: rgba(27, 30, 25, 0.6);
	opacity: 0.32;
	font-style: italic;
	font-size: 1.1rem;
	line-height: 1.3;
}
.jli-rev-pruh-citat > span {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.jli-rev-pruh-citat b {
	font-style: normal;
	font-size: 0.8rem;
	letter-spacing: 3px;
	color: var(--jli-brass);
}
.jli-rev-pruh-citat small {
	font-style: normal;
	font-family: var(--jli-display);
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--jli-muted);
}
@keyframes jli-pruh-vlevo {
	to { transform: translateX(-50%); }
}
@keyframes jli-pruh-vpravo {
	from { transform: translateX(-50%); }
	to { transform: translateX(0); }
}
/* Střed ztmavený, ať se karty čtou; nahoře a dole pruhy doznívají do barvy stránky. */
.jli-reviews::before,
.jli-story::before,
.jli-gallery::before,
.jli-site::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(ellipse 70% 60% at 50% 55%, rgba(18, 20, 17, 0.5), rgba(18, 20, 17, 0.78)),
		linear-gradient(180deg, var(--jli-night) 0%, rgba(18, 20, 17, 0) 18%, rgba(18, 20, 17, 0) 82%, var(--jli-night) 100%);
}

/* Zmínky v médiích: karty přes pozadí, celá karta je odkaz na článek */
.jli-press {
	gap: 16px !important;
}
.jli-press > .wp-block-column {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.2rem;
	padding: 2.5rem 2.25rem;
	background: rgba(27, 30, 25, 0.82);
	border: 1px solid var(--jli-line);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	text-align: center;
	transition: border-color 0.25s;
}
.jli-press > .wp-block-column > * {
	margin: 0 !important;
}
.jli-quote {
	font-style: italic;
	font-size: var(--wp--preset--font-size--podnadpis);
	line-height: 1.3;
	max-width: 34ch;
}
/* Odkaz se roztáhne přes kartu a jeho text vidí jen čtečky obrazovky. */
.jli-press > .jli-ma-odkaz {
	position: relative;
}
.jli-press-link {
	margin: 0 !important;
}
.jli-press-link a {
	position: absolute;
	inset: 0;
	z-index: 1;
	font-size: 0;
	color: transparent;
}
.jli-press > .jli-ma-odkaz:has(.jli-press-link a:hover),
.jli-press > .jli-ma-odkaz:has(.jli-press-link a:focus-visible) {
	border-color: color-mix(in srgb, var(--jli-brass) 60%, transparent);
}
.jli-press-link a:focus-visible {
	outline-offset: -4px;
}

/* Hodnocení: destičky Google a Tripadvisor (místo Firmy.cz u Mad Guys) */
.jli-rev-a {
	margin-top: 2.25rem !important;
}
/* Celkový počet recenzí nad destičkami („Přes 400 recenzí“) */
.jli-rev-celkem {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin: 0 0 1rem;
	font-family: var(--jli-display);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--podnadpis);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--jli-brass);
	text-align: center;
	white-space: nowrap;
}
.jli-rev-celkem::before,
.jli-rev-celkem::after {
	content: "";
	flex: 1 1 0;
	max-width: 4rem;
	height: 1px;
	background: color-mix(in srgb, var(--jli-brass) 55%, transparent);
}
.jli-rev-profily {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-bottom: 2.25rem;
}
.jli-rev-profil {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 58px;
	padding: 0.5rem 1.25rem 0.5rem 1rem;
	border: 1px solid rgba(236, 230, 216, 0.16);
	background: rgba(27, 30, 25, 0.78);
	color: var(--jli-cream);
	text-decoration: none;
	transition: border-color 0.2s;
}
.jli-rev-profil:hover,
.jli-rev-profil:focus-visible {
	border-color: var(--jli-brass);
}
.jli-rev-profil img {
	width: 26px;
	height: 26px;
}
.jli-rev-profil-txt {
	display: flex;
	align-items: baseline;
	gap: 12px;
}
.jli-rev-profil strong {
	font-family: var(--jli-display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--podnadpis);
	line-height: 1;
	color: var(--jli-brass);
}
.jli-rev-profil strong span {
	margin-left: 0.15em;
	font-size: var(--wp--preset--font-size--maly);
}
.jli-rev-profil small {
	font-style: italic;
	font-size: var(--wp--preset--font-size--maly);
	color: var(--jli-cream-2);
}

/* Pás s čudlíky: recenze (3 naráz) a příspěvky ze sítí (5 naráz) */
.jli-pas {
	--naraz: 3;
	--mezera: 16px;
}
/* Okno ořezává karty mimo pás, a s nimi i záři vybrané karty (stín sahá ~56 px pod kartu).
   Dole má proto rezervu 64 px (vyrovnanou záporným okrajem), jinak se záře uřízne rovnou čarou. */
.jli-pas-okno {
	overflow-x: auto;
	margin: -24px -12px -64px;
	padding: 24px 12px 64px;
	scrollbar-width: none;
}
.jli-pas-okno::-webkit-scrollbar {
	display: none;
}
.jli-pas.is-js .jli-pas-okno {
	overflow: hidden;
}
.jli-pas-kolej {
	display: flex;
	gap: var(--mezera);
	margin: 0;
	padding: 0;
	list-style: none;
	will-change: transform;
}
.jli-pas.is-js .jli-pas-kolej {
	transition: transform 900ms cubic-bezier(0.65, 0, 0.35, 1);
}
.jli-pas-polozka {
	flex: 0 0 calc((100% - (var(--naraz) - 1) * var(--mezera)) / var(--naraz));
	min-width: 0;
	display: flex;
	margin: 0;
}
.jli-pas-cudliky {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 22px;
}
.jli-pas-cudlik {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	transition: width 0.25s;
}
.jli-pas-cudlik span {
	display: block;
	width: 7px;
	height: 7px;
	border-radius: 999px;
	overflow: hidden;
	background: rgba(236, 230, 216, 0.28);
	transition: width 0.25s, background 0.25s;
}
.jli-pas-cudlik.is-videno span {
	background: rgba(185, 154, 91, 0.6);
}
.jli-pas-cudlik.is-on {
	width: 58px;
}
.jli-pas-cudlik.is-on span {
	width: 42px;
	background: rgba(236, 230, 216, 0.18);
}
.jli-pas-cudlik.is-on span::after {
	content: "";
	display: block;
	width: 0;
	height: 100%;
	background: var(--jli-brass);
	animation: jli-pas-plni var(--krok, 6000ms) linear forwards;
}
.jli-pas.is-stop .jli-pas-cudlik.is-on span::after {
	animation-play-state: paused;
}
.jli-pas-cudlik:focus-visible {
	outline: 1px solid var(--jli-brass);
	outline-offset: -6px;
}
@keyframes jli-pas-plni {
	to { width: 100%; }
}

/* Karta recenze */
.jli-rev-karta {
	flex: 1;
	min-width: 0;
	min-height: 330px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 26px 26px 24px;
	background: rgba(27, 30, 25, 0.9);
	border: 1px solid var(--jli-line);
	opacity: 0.62;
	transition: border-color 0.3s, box-shadow 0.3s, opacity 0.3s;
}
.is-on > .jli-rev-karta,
.jli-pas:not(.is-js) .jli-rev-karta {
	opacity: 1;
}
.is-on > .jli-rev-karta {
	border-color: color-mix(in srgb, var(--jli-brass) 65%, transparent);
	box-shadow: 0 26px 60px -30px rgba(185, 154, 91, 0.45);
}
/* Záře sahá ~30 px do stran. Sousední karta (pozadí 0,9) se kreslí až po ní a záři
   by zakryla rovnou svislou hranou, proto je vybraná položka nad sousedy. */
.jli-pas-polozka.is-on {
	position: relative;
	z-index: 1;
}
.jli-rev-karta > * {
	margin: 0;
}
.jli-rev-autor {
	display: flex;
	align-items: center;
	gap: 12px;
}
.jli-rev-avatar {
	flex: none;
	width: 46px;
	height: 46px;
	border-radius: 999px;
	overflow: hidden;
	border: 1px solid var(--jli-brass);
	display: flex;
	align-items: center;
	justify-content: center;
}
.jli-rev-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.jli-rev-avatar i {
	font-style: normal;
	font-family: var(--jli-display);
	font-weight: 500;
	font-size: 1rem;
	letter-spacing: 0.06em;
	color: var(--jli-brass);
}
.jli-rev-kdo {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.jli-rev-kdo b {
	font-family: var(--jli-display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}
.jli-rev-kdo small {
	font-style: italic;
	font-size: var(--wp--preset--font-size--maly);
	color: var(--jli-muted);
}
.jli-review-src {
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
}
.jli-stars {
	color: var(--jli-brass);
	letter-spacing: 0.14em;
	font-size: 0.95rem;
}
/* Kolečka Tripadvisoru jsou v písmu menší než hvězdičky, v kartě recenze je zvětšit na stejnou výšku. */
.jli-rev-karta .jli-stars.is-kolecka {
	font-size: 1.5rem;
	letter-spacing: 0.02em;
	line-height: 1;
}
.jli-review-text {
	font-style: italic;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.38;
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
/* Zvýrazněný kus recenze (Parťáq → Recenze → Zvýraznit): tučně a v plné krémové,
   zbytek textu je o tón tlumenější (varianta A, Matěj 5. 10.). */
.jli-review-text .jli-mark {
	background: none;
	color: var(--jli-cream);
	font-weight: 600;
}
.jli-rev-odkaz {
	margin-top: auto !important;
	font-family: var(--jli-display);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--jli-cream-2);
	text-decoration: none;
	transition: color 0.2s;
}
.jli-rev-odkaz:hover,
.jli-rev-odkaz:focus-visible {
	color: var(--jli-brass);
}

/* Poslední karta „+400 dalších“: celá je odkaz na profil na Googlu */
.jli-rev-dalsi {
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-align: center;
	color: var(--jli-cream);
	text-decoration: none;
}
.jli-rev-dalsi img {
	width: 34px;
	height: 34px;
	margin-bottom: 6px;
}
.jli-rev-dalsi strong {
	font-family: var(--jli-display);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--cislo);
	line-height: 1;
	color: var(--jli-brass);
}
.jli-rev-dalsi-txt {
	font-style: italic;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.2;
}
.jli-rev-dalsi .jli-rev-odkaz {
	margin-top: 0.75rem !important;
}
.jli-rev-dalsi:hover .jli-rev-odkaz,
.jli-rev-dalsi:focus-visible .jli-rev-odkaz {
	color: var(--jli-brass);
}

/* ===== Z našich sítí (fsweb-smm/feed.php, podle Ze sítí C u Mad Guys) ===== */
.jli-site.fsweb-smm {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin-block: 0 !important;
	padding: var(--wp--preset--spacing--70) var(--wp--style--root--padding-right, 1.25rem) var(--wp--preset--spacing--70) var(--wp--style--root--padding-left, 1.25rem);
	border-top: 1px solid var(--jli-line);
}
.jli-site-pozadi {
	position: absolute;
	inset: -60px -30px;
	z-index: -2;
	display: flex;
	gap: 14px;
	transform: rotate(-4deg);
	pointer-events: none;
}
.jli-site-sloupec {
	flex: 1 0 140px;
	overflow: hidden;
}
.jli-site-sloupec-in {
	display: flex;
	flex-direction: column;
	gap: 14px;
	animation: jli-sloupec-nahoru var(--rychlost, 80s) linear infinite;
}
.jli-site-sloupec-in.is-dolu {
	animation-name: jli-sloupec-dolu;
}
.jli-site-sloupec img {
	display: block;
	width: 100%;
	aspect-ratio: 9 / 16;
	object-fit: cover;
	filter: grayscale(1) contrast(1.1);
	opacity: 0.32;
}
@keyframes jli-sloupec-nahoru {
	to { transform: translateY(-50%); }
}
@keyframes jli-sloupec-dolu {
	from { transform: translateY(-50%); }
	to { transform: translateY(0); }
}
.jli-site-in {
	max-width: var(--wp--style--global--wide-size, 76rem);
	margin-inline: auto;
}
.jli-site-hlava {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 2.25rem;
}
.jli-site-nadpis {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.jli-site-nadpis > * {
	margin: 0;
}
.jli-site-lead {
	max-width: 46ch;
	color: var(--jli-cream-2);
}
.jli-site-sleduj {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.jli-site-sleduj > span {
	margin-right: 4px;
	font-family: var(--jli-display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--jli-muted);
}
.jli-site-sleduj a {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 46px;
	padding: 0 18px;
	border: 1px solid rgba(236, 230, 216, 0.18);
	background: rgba(27, 30, 25, 0.7);
	font-family: var(--jli-display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--tlacitko);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--jli-cream);
	text-decoration: none;
	transition: border-color 0.2s, color 0.2s;
}
.jli-site-sleduj a:hover,
.jli-site-sleduj a:focus-visible {
	border-color: var(--jli-brass);
	color: var(--jli-brass);
}
.jli-site-sleduj svg {
	flex: none;
	width: 18px;
	height: 18px;
}
.jli-site-pas {
	--naraz: 5;
	--mezera: 12px;
}
.jli-site .fsweb-smm-items {
	display: flex;
	overflow: visible;
	padding: 0;
	scroll-snap-type: none;
}
.jli-site .jli-pas-polozka {
	display: block;
}
.jli-site .jli-site-dlazdice {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 9 / 16;
	overflow: hidden;
	border-radius: 0;
	background: var(--jli-night-2);
	border: 1px solid var(--jli-line);
	color: var(--jli-cream);
	text-decoration: none;
	transition: border-color 0.3s, box-shadow 0.3s;
}
.jli-site .jli-site-dlazdice .fsweb-smm-media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(0.68);
	transform: scale(1);
	transition: transform 7s linear, filter 0.3s;
}
.jli-site .jli-site-dlazdice .is-cela {
	object-fit: contain;
}
.jli-site-rozmaz {
	position: absolute;
	inset: -10%;
	width: 120%;
	height: 120%;
	object-fit: cover;
	filter: blur(18px) brightness(0.45) saturate(1.2);
}
.jli-site-stin {
	position: absolute;
	inset: 0;
	transition: background 0.3s;
}
.jli-site-sit {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(18, 20, 17, 0.7);
	border: 1px solid rgba(236, 230, 216, 0.14);
}
.jli-site-sit svg {
	width: 17px;
	height: 17px;
}
.jli-site-hraje {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(18, 20, 17, 0.65);
}
.jli-site-hraje svg {
	width: 12px;
	height: 12px;
}
.jli-site-popisek {
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 0.3s, transform 0.3s;
}
.jli-site-popisek b {
	font-family: var(--jli-display);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--jli-brass);
}
.jli-site-popisek > span {
	font-style: italic;
	font-size: var(--wp--preset--font-size--maly);
	line-height: 1.3;
}
.jli-site-popisek small {
	font-family: var(--jli-display);
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--jli-cream-2);
}
.jli-site .is-on .jli-site-dlazdice {
	border-color: color-mix(in srgb, var(--jli-brass) 75%, transparent);
	box-shadow: 0 22px 50px -22px rgba(185, 154, 91, 0.45);
}
.jli-site .is-on .fsweb-smm-media {
	transform: scale(1.08);
	filter: none;
}
.jli-site .is-on .jli-site-stin {
	background: linear-gradient(180deg, rgba(18, 20, 17, 0.15) 30%, rgba(18, 20, 17, 0.93));
}
.jli-site .is-on .jli-site-popisek {
	opacity: 1;
	transform: none;
}
.jli-site .jli-site-dlazdice:focus-visible {
	outline: 1px solid var(--jli-brass);
	outline-offset: 3px;
}

@media (max-width: 820px) {
	.jli-pas {
		--naraz: 1;
	}
	.jli-rev-a .jli-pas-okno {
		margin: 0 calc(-1 * var(--wp--style--root--padding-left, 1.25rem)) -52px;
		padding: 12px var(--wp--style--root--padding-left, 1.25rem) 64px;
	}
	.jli-rev-a .jli-pas-polozka {
		flex-basis: calc(100% - 28px);
	}
	.jli-rev-karta {
		min-height: 0;
		padding: 22px;
		opacity: 1;
	}
	.jli-press > .wp-block-column {
		padding: 1.75rem 1.25rem;
	}
	.jli-rev-profily {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}
	.jli-rev-profil {
		flex-direction: column;
		justify-content: center;
		gap: 6px;
		padding: 12px 8px;
		text-align: center;
	}
	.jli-rev-profil-txt {
		flex-direction: column;
		align-items: center;
		gap: 4px;
	}
	.jli-reviews > .jli-rev-pozadi {
		gap: 10px;
	}
	.jli-rev-pruh-in > * {
		height: 120px;
		margin-right: 10px;
	}
	.jli-rev-pruh-citat {
		width: 220px;
		padding: 12px 16px;
		font-size: 0.95rem;
	}
	.jli-site-pas {
		--naraz: 2;
		--mezera: 10px;
	}
	.jli-site-pozadi {
		gap: 10px;
	}
	.jli-site-sloupec {
		flex-basis: 90px;
	}
	.jli-site-hlava {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		margin-bottom: 1.5rem;
	}
	.jli-site-sleduj > span {
		flex: 0 0 100%;
	}
	.jli-site-sleduj a {
		padding: 0 14px;
	}
	.jli-site-popisek {
		left: 12px;
		right: 12px;
		bottom: 12px;
		gap: 6px;
	}
}

/* ===== Rezervace (výzva) ===== */
.jli-resv {
	padding-block: var(--wp--preset--spacing--70);
	border-top: 1px solid var(--jli-line);
}
.jli-resv .wp-block-columns.alignwide {
	gap: clamp(2rem, 5vw, 4.5rem);
}
.jli-resv p {
	color: var(--jli-cream-2);
	max-width: 40ch;
}
.jli-resv .wp-block-buttons {
	margin-top: 1.5rem;
}
.jli-resv-photo img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	filter: saturate(0.85) brightness(0.85);
}

/* ===== Mobil ===== */
@media (max-width: 820px) {
	/* Tlačítko v pásu rezervace na středu, stejně jako to v úvodu (0.9.4). */
	.jli-resv .wp-block-buttons {
		justify-content: center;
	}
	.jli-hero {
		/* Úvod skoro přes celou výšku telefonu a obsah natěsno u spodní hrany,
		   ať je nad názvem co nejvíc videa. */
		min-height: max(31rem, calc(100svh - var(--wp-admin--admin-bar--height, 0px) - var(--jli-notice-h, 0px) - var(--jli-strip-h, 12rem))) !important;
		padding-bottom: 1.5rem;
		background-image: url("assets/img/fasada-noc.jpg");
	}
	.jli-hero-row {
		flex-direction: column;
		align-items: stretch;
	}
	.jli-trust {
		align-items: flex-start;
		width: 100%;
	}
	/* Tlačítko v úvodu na telefonu: jen tak široké, jak potřebuje, na středu.
	   Přes celou šířku působilo těžce a text se šipkou v něm vypadal
	   posunutý doleva. */
	.jli-trust .jli-hero-cta {
		align-self: center;
		margin-bottom: 1.75rem;
	}
	.jli-trust .jli-trust-below {
		align-self: center;
	}
	.jli-trust .jli-hero-cta .wp-block-button.is-style-jli-cta .wp-block-button__link {
		padding: 1.125rem 2.25rem;
	}
	.jli-trust-row {
		justify-content: center !important;
		gap: 0.7rem 1.1rem;
	}
	.jli-trust-row .jli-trust-label {
		margin-bottom: -0.15rem;
	}
	.jli-header-right {
		gap: 0.75rem;
	}
	/* Na telefonu tlačítko Rezervovat nesedí v hlavičce (ta je natěsno, viz
	   0.7.4), ale plave v pravém spodním rohu obrazovky. Ukazuje se stejně
	   jako v hlavičce na počítači: až to v úvodu odjede nahoru (třída
	   `show-cta` ze site.js), na /rezervace/ vůbec. */
	.jli-nav-cta {
		position: fixed;
		right: 1rem;
		bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
		z-index: 55;
		transform: translateY(10px);
	}
	.jli-site-header.show-cta .jli-nav-cta {
		transform: none;
	}
	/* Plovoucí tlačítko nese celou konverzi, proto je větší než v hlavičce
	   a má hlubší stín, aby se odlepilo od obsahu pod sebou. */
	.jli-header .jli-nav-cta .wp-block-button .wp-block-button__link {
		padding: 0.95rem 1.45rem;
		font-size: 1.05rem;
		letter-spacing: 0.14em;
		box-shadow: inset 0 1px 0 rgba(255, 244, 220, 0.55), inset 0 -1px 0 rgba(0, 0, 0, 0.25), 0 12px 30px -8px rgba(0, 0, 0, 0.75);
	}
	/* Dokud host nerozhodl o cookies, lišta drží spodek obrazovky sama. */
	body:has(.fsweb-lista:not([hidden])) .jli-nav-cta {
		display: none;
	}
	.jli-pillar {
		padding: 2.25rem 1.25rem;
	}
}

/* Příběh na telefonu (0.12.9): sloupce jsou pod sebou (WordPress je skládá pod
   782 px), nadpis a text (`jli-story-lead`) leží přes spodek fotky na tmavém
   přechodu, medailonky kuchaře a šéfa servisu zůstávají pod fotkou. Sloupec
   s textem má `display: contents`, takže do mřížky vstupují rovnou jeho děti.
   Počítač zůstává beze změny. */
@media (max-width: 781px) {
	.jli-story .wp-block-columns.alignwide {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 1.75rem;
	}
	.jli-story .wp-block-columns.alignwide > .wp-block-column:first-child {
		grid-area: 1 / 1;
		margin: 0;
	}
	.jli-story .wp-block-columns.alignwide > .wp-block-column:last-child {
		display: contents;
	}
	.jli-story-photo,
	.jli-story-photo img {
		height: 100%;
	}
	.jli-story-photo {
		margin: 0;
	}
	.jli-story-photo img {
		filter: saturate(0.85) brightness(0.9);
	}
	.jli-story-lead {
		grid-area: 1 / 1;
		align-self: end;
		z-index: 1;
		padding: 5.5rem 1.25rem 1.5rem;
		background: linear-gradient(to top, rgba(8, 7, 5, 0.94) 0%, rgba(8, 7, 5, 0.82) 45%, rgba(8, 7, 5, 0.45) 75%, rgba(8, 7, 5, 0) 100%);
	}
	.jli-story-lead h2 {
		margin-top: 0;
		margin-bottom: 0.75rem;
		text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6);
	}
	.jli-story-lead p {
		margin-bottom: 0;
		color: var(--jli-cream);
		text-shadow: 0 1px 8px rgba(0, 0, 0, 0.7);
	}
	.jli-story .jli-cv {
		grid-row: 2;
		margin-top: 0;
	}
}

/* Pás rezervace na telefonu (0.12.10): stejně jako příběh. Nadpis, text
   i tlačítko leží přes spodek fotky na tmavém přechodu; fotka je na výšku
   (3:4 místo čtverce), aby přechod nezasahoval do obličejů. Počítač beze změny. */
@media (max-width: 781px) {
	.jli-resv .wp-block-columns.alignwide {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}
	.jli-resv .wp-block-columns.alignwide > .wp-block-column {
		grid-area: 1 / 1;
		margin: 0;
		/* WordPress dává sloupci width: 100 %, s odsazením by přečníval o 40 px. */
		box-sizing: border-box;
	}
	.jli-resv .wp-block-columns.alignwide > .wp-block-column:first-child {
		align-self: end;
		z-index: 1;
		padding: 6rem 1.25rem 1.5rem;
		background: linear-gradient(to top, rgba(8, 7, 5, 0.94) 0%, rgba(8, 7, 5, 0.82) 45%, rgba(8, 7, 5, 0.45) 75%, rgba(8, 7, 5, 0) 100%);
	}
	.jli-resv h2 {
		margin-top: 0;
		margin-bottom: 0.75rem;
		text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6);
	}
	.jli-resv p {
		color: var(--jli-cream);
		text-shadow: 0 1px 8px rgba(0, 0, 0, 0.7);
	}
	.jli-resv .wp-block-buttons {
		margin-top: 1.25rem;
		margin-bottom: 0;
	}
	.jli-resv-photo,
	.jli-resv-photo img {
		height: 100%;
	}
	.jli-resv-photo {
		margin: 0;
	}
	.jli-resv-photo img {
		aspect-ratio: 3 / 4;
	}
}

/* Obě sekce na telefonu (0.12.12): fotka až k okrajům obrazovky. Stejný
   trik jako pásy na /vino/ (100vw a záporné okraje, !important přebíjí
   vycentrování bloků WordPressem). Text přes fotku i medailonky pod ní si
   drží odsazení stránky. */
@media (max-width: 781px) {
	.jli-story .wp-block-columns.alignwide,
	.jli-resv .wp-block-columns.alignwide {
		width: 100vw;
		max-width: none;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.jli-story-lead,
	.jli-resv .wp-block-columns.alignwide > .wp-block-column:first-child {
		padding-left: var(--wp--style--root--padding-left, 1.25rem);
		padding-right: var(--wp--style--root--padding-right, 1.25rem);
	}
	.jli-story .jli-cv {
		padding-left: var(--wp--style--root--padding-left, 1.25rem);
		padding-right: var(--wp--style--root--padding-right, 1.25rem);
	}
}

/* Příběh na telefonu jako jeden celek (0.40.4, Matěj 5. 10.): medailonky visely pod fotkou
   volně nad pruhy pozadí a vypadaly, že patří ke Galerii. Teď navazují bez mezery na tmavý
   přechod pod textem, mají stejné pozadí a stojí vedle sebe (avatar nad jménem jako na počítači). */
@media (max-width: 781px) {
	.jli-story .wp-block-columns.alignwide {
		gap: 0;
	}
	.jli-story .jli-cv {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
		padding-top: 0.75rem;
		padding-bottom: 2.25rem;
		background: #080705;
	}
	/* Spodek přechodu pod textem je plný, ať na medailonky navazuje bez švu. */
	.jli-story-lead {
		background: linear-gradient(to top, #080705 0%, rgba(8, 7, 5, 0.82) 45%, rgba(8, 7, 5, 0.45) 75%, rgba(8, 7, 5, 0) 100%);
	}
	.jli-story .jli-cv > .wp-block-column {
		flex-basis: auto !important;
		width: auto;
		margin: 0;
	}
	.jli-story .jli-cv p {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 0.7rem;
		margin: 0;
		max-width: none;
	}
}
/* Nadtitulek Příběhu má mosaznou barvu jako ostatní (Galerie, Recenze); obecné
   `.jli-story p` a na telefonu `.jli-story-lead p` ho přebarvovaly na krémovou. */
.jli-story p.jli-eyebrow {
	color: var(--jli-brass);
}

/* ===== Úvod: čitelnost textu přes světlé záběry videa ===== */
.jli-hero h1 {
	text-shadow: 0 2px 28px rgba(0, 0, 0, 0.35);
}
.jli-tagline {
	font-weight: 500;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6), 0 2px 18px rgba(0, 0, 0, 0.75);
}

/* ===== Navigace: tlačítko Rezervovat stůl jen v otevřeném mobilním menu ===== */
.jli-nav .jli-nav-resv {
	display: none;
}
.jli-nav .wp-block-navigation__responsive-container-open,
.jli-nav .wp-block-navigation__responsive-container-close {
	color: var(--jli-cream);
}
.jli-nav .wp-block-navigation__responsive-container-open svg,
.jli-nav .wp-block-navigation__responsive-container-close svg {
	width: 30px;
	height: 30px;
}

/* Otevřené mobilní menu: tmavé, velké položky pod sebou, dole rezervace */
.jli-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: calc(1.5rem + var(--jli-top)) clamp(1.25rem, 6vw, 2.5rem) 2rem;
	background: var(--jli-night) !important;
	color: var(--jli-cream) !important;
}
.jli-nav .is-menu-open .wp-block-navigation__responsive-close {
	max-width: none;
}
.jli-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	top: calc(1.5rem + var(--jli-top));
	right: clamp(1.25rem, 6vw, 2.5rem);
}
.jli-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: stretch !important;
	padding-top: 4.5rem !important;
}
.jli-nav .is-menu-open .wp-block-navigation__container {
	align-items: stretch !important;
	gap: 0 !important;
	width: 100%;
}
.jli-nav .is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid var(--jli-line);
}
.jli-nav .is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 1.1rem 0 !important;
	font-size: 2.24rem;
	font-weight: 400;
	letter-spacing: 0.06em;
	text-shadow: none;
}
.jli-nav .is-menu-open .jli-nav-resv {
	display: block;
	margin-top: 2rem;
	border-bottom: 0;
}
.jli-nav .is-menu-open .jli-nav-resv .wp-block-navigation-item__content {
	padding: 1.1rem 1.25rem !important;
	font-size: var(--wp--preset--font-size--maly);
	font-weight: 500;
	letter-spacing: 0.14em;
	text-align: center;
	color: var(--jli-cta-text);
	text-shadow: 0 1px 0 rgba(255, 244, 214, 0.55), 0 -1px 0 rgba(0, 0, 0, 0.18);
	background: linear-gradient(180deg, color-mix(in srgb, var(--jli-brass), #fff 26%) 0%, var(--jli-brass) 52%, color-mix(in srgb, var(--jli-brass), #000 14%) 100%);
	outline: 1px solid color-mix(in srgb, var(--jli-brass), transparent 45%);
	outline-offset: 5px;
}

/* ===== Hlavička na desktopu: logo | menu přesně uprostřed | jazyk ===== */
@media (min-width: 600px) {
	.jli-header {
		display: grid !important;
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
	}
	.jli-brand {
		justify-self: start;
	}
	.jli-header .jli-nav {
		justify-self: center;
	}
	.jli-header-right {
		justify-self: end;
	}
}

/* ===== Navigace se nevejde (delší jazyk, užší okno): hamburger jako na telefonu =====
   Třídu is-compact dává site.js, když by se položky zalomily nebo vlezly pod logo
   či jazyk. Pevná hranice v px nejde, v 29 jazycích má navigace pokaždé jinou šířku.
   Rozvržení je jako na telefonu: logo vlevo, vpravo tlačítko, jazyk a hamburger. */
.jli-header.is-compact {
	display: flex !important;
}
.jli-header.is-compact .jli-nav {
	order: 3;
}
.jli-header.is-compact .jli-header-right {
	margin-left: auto;
}
.jli-header.is-compact .jli-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
	display: flex;
}
.jli-header.is-compact .jli-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
	display: none;
}

/* ===== Mobil: hlavička a úvod ===== */
@media (max-width: 599px) {
	.jli-header .jli-nav {
		order: 3;
	}
	.jli-header-right {
		margin-left: auto;
	}
	.jli-header .jli-lang .gt_switcher .gt_selected a {
		font-size: 0;
		padding-left: 0.5rem;
	}
	.jli-header .jli-lang .gt_switcher .gt_selected a img {
		margin-right: 0;
	}
	.jli-brand-logo {
		width: 60px;
		height: 60px;
		margin-bottom: -12px;
	}
}
/* Nejužší telefony (320 px, starší iPhone SE): logo, tlačítko, jazyk a hamburger
   dohromady potřebovaly 348 px, takže hlavička přetékala a celá stránka se dala
   posunout do strany. Tady se stáhnou mezery a boční odsazení. Nad 350 px se
   volné místo rozdělí samo (space-between), proto se tam nic nemění. */
/* Pás s otevírací dobou do 1099 px: dva sloupce, hodiny nahoře přes celou šířku, speciál dole;
   na telefonu menší písmo, ať se řádek s hodinami nedotýká okrajů (0.7.9). */
@media (max-width: 1099px) {
	.wp-block-group.jli-strip {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1.25rem 0;
		padding: 1.25rem 0.5rem;
	}
	.jli-strip .jli-strip-item {
		padding: 0.1rem 0.5rem;
	}
	.jli-strip .jli-strip-item + .jli-strip-item {
		border-left: 0;
	}
	.jli-strip .jli-strip-item:first-child {
		grid-column: 1 / -1;
	}
	.jli-strip .jli-strip-item:nth-child(3) {
		border-left: 1px solid var(--jli-line);
	}
}
@media (max-width: 599px) {
	.wp-block-group.jli-strip {
		padding-inline: 1rem;
		letter-spacing: 0.12em;
	}
	.jli-strip .jli-strip-lb {
		letter-spacing: 0.24em;
	}
}
@media (max-width: 349px) {
	.jli-header {
		gap: 0.6rem;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
	.jli-header-right {
		gap: 0.5rem;
	}
}
@media (max-width: 820px) {
	.jli-hero .wp-block-cover__background {
		background: linear-gradient(180deg, rgba(18, 20, 17, 0.55) 0%, rgba(18, 20, 17, 0.15) 20%, rgba(18, 20, 17, 0.5) 42%, rgba(18, 20, 17, 0.82) 66%, var(--jli-night) 100%) !important;
	}
}

/* ===== Rezervace přes Choice (inc/choice.php): rám embed.choiceqr.com =====
   Vzhled uvnitř rámu (tmavý motiv, mosaz) se nastavuje v administraci Choice, tady je
   jen rámeček jako u karty Rezervata a výška. Rám výšku nehlásí: krok Kontakt měří
   ~810 px na počítači i na telefonu, proto pevná výška a pro jistotu posun uvnitř. */
.jli-choice {
	max-width: 640px;
	margin-inline: auto;
	border: 1px solid var(--jli-line);
	background: var(--jli-night-2);
}
.jli-choice-ram {
	display: block;
	width: 100%;
	height: 850px;
	border: 0;
	background: transparent;
	/* Bez color-scheme: při jiném schématu než má dokument v rámu by prohlížeč rám
	   podložil bílou (rám Choice je průhledný, pod ním má být naše tmavá). */
}
@media (max-width: 599px) {
	.jli-choice {
		margin-inline: -1rem;
		max-width: none;
		border-inline: 0;
	}
	.jli-choice-ram {
		height: 900px;
	}
}
/* Náš formulář nad Choice (site.js, theme 1.3.0): stejné třídy jako formulář Rezervata,
   pravidla .jli-rezervato .tf-* výš mu dávají vzhled. Tady jen rozvržení, které jinak
   dodával styl pluginu Rezervata (ten se na stránce bez jeho shortcodu nenačte). */
.jli-choice-form .tf-wrap {
	margin-inline: auto;
}
.jli-choice-form .tf-card,
.jli-choice-form .jli-krok {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}
.jli-choice-form .jli-krok[hidden],
.jli-choice-form .tf-card[hidden] {
	display: none;
}
.jli-choice-form .tf-title,
.jli-choice-form .tf-hint,
.jli-choice-form .tf-err-msg,
.jli-choice-form .tf-summary-box,
.jli-choice-form .tf-success__title,
.jli-choice-form .tf-success__sub,
.jli-choice-form .tf-success__ref {
	margin: 0;
}
.jli-choice-form .tf-row {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0;
}
.jli-choice-form .tf-row[hidden] {
	display: none;
}
.jli-choice-form .tf-row-2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}
.jli-choice-form .tf-input {
	width: 100%;
	box-sizing: border-box;
	font-family: inherit;
}
.jli-choice-form .tf-btn {
	display: block;
	width: 100%;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
}
.jli-choice-form .tf-btn:disabled {
	cursor: progress;
	filter: saturate(0.6);
}
.jli-choice-form .tf-btn-back {
	padding: 0.75rem 0;
	background: none;
	border: 0;
	cursor: pointer;
}
.jli-choice-btns {
	display: flex;
	align-items: center;
	gap: 1.5rem;
}
.jli-choice-btns .tf-btn {
	flex: 1;
	margin-top: 0;
}
.jli-choice-form .tf-check-row {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
}
.jli-choice-form .tf-check-row input {
	margin-top: 0.3em;
}
.jli-choice-form .tf-summary-box {
	padding: 1rem 1.25rem;
}
.jli-choice-form .tf-success__title {
	font-size: var(--wp--preset--font-size--x-large);
}
.jli-choice-form .tf-success__ref {
	padding: 0.9rem 1.25rem;
	text-align: center;
	font-size: var(--wp--preset--font-size--medium);
}
.jli-choice-terms a {
	color: var(--jli-brass);
}
.jli-choice-form.is-loading .tf-card {
	opacity: 0.6;
}
.jli-choice-form > .jli-choice {
	margin-top: 1.5rem;
}
/* Pod sebou (do 520 px, .jli-row-pair výš) potřebují pole mezeru i mezi řádky. */
.jli-rezervato.jli-choice-form .jli-row-pair {
	row-gap: 1.25rem;
}

/* ===== Rezervato: formulář a menu z pluginu v barvách Kampa Nights =====
   Obal .jli-rezervato / .jli-rezervato-menu je na stránkách Rezervace a Menu,
   proto má přednost před styly, které plugin vypisuje do stránky. */
.jli-rezervato .tf-wrap {
	max-width: 640px;
	font-family: var(--wp--preset--font-family--serif);
	color: var(--jli-cream);
}
.jli-rezervato .tf-card {
	padding: 2.25rem 2rem;
	background: var(--jli-night-2);
	border: 1px solid var(--jli-line);
	border-radius: 0;
	box-shadow: none;
}
.jli-rezervato .tf-title {
	margin-bottom: 1.5rem;
	font-family: var(--jli-display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--podnadpis);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--jli-cream);
}
.jli-rezervato .tf-label {
	font-family: var(--jli-display);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--jli-muted);
}
.jli-rezervato .tf-input {
	padding: 0.6rem 0;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--jli-muted);
	border-radius: 0;
	color: var(--jli-cream);
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--medium);
	color-scheme: dark;
}
.jli-rezervato .tf-input:focus {
	border-color: var(--jli-brass);
	box-shadow: none;
}
.jli-rezervato textarea.tf-input {
	padding: 0.6rem 0.75rem;
	border: 1px solid var(--jli-line);
}
.jli-rezervato select.tf-input option {
	background: var(--jli-night-2);
	color: var(--jli-cream);
}
.jli-rezervato .tf-slot {
	padding: 0.7rem 1rem;
	background: transparent;
	border: 1px solid var(--jli-line);
	border-radius: 0;
	color: var(--jli-cream);
	font-family: var(--jli-display);
	font-weight: 400;
	letter-spacing: 0.06em;
}
.jli-rezervato .tf-slot:hover {
	border-color: var(--jli-muted);
	color: var(--jli-cream);
}
.jli-rezervato .tf-slot.active {
	background: var(--jli-brass);
	border-color: var(--jli-brass);
	color: #15130f;
}
.jli-rezervato .tf-hint {
	font-size: var(--wp--preset--font-size--maly);
	color: var(--jli-muted);
}
.jli-rezervato .tf-btn {
	margin-top: 1rem;
	padding: 1.1rem;
	border: 0;
	border-radius: 0;
	font-family: var(--jli-display);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--maly);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #15130f;
	background: linear-gradient(180deg, color-mix(in srgb, var(--jli-brass), #fff 26%) 0%, var(--jli-brass) 52%, color-mix(in srgb, var(--jli-brass), #000 14%) 100%);
	box-shadow: inset 0 1px 0 rgba(255, 244, 220, 0.55), 0 10px 28px -10px var(--jli-brass);
}
.jli-rezervato .tf-btn:hover {
	opacity: 1;
	filter: brightness(1.07);
}
.jli-rezervato .tf-btn-back {
	font-family: var(--jli-display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--tlacitko);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--jli-muted);
}
.jli-rezervato .tf-btn-back:hover {
	color: var(--jli-cream);
}
.jli-rezervato .tf-summary-box {
	background: transparent;
	border: 1px solid var(--jli-line);
	border-radius: 0;
	font-size: var(--wp--preset--font-size--medium);
	color: var(--jli-cream-2);
}
.jli-rezervato .tf-summary-box strong,
.jli-rezervato .tf-success__title {
	color: var(--jli-cream);
}
.jli-rezervato .tf-check-row label {
	font-size: var(--wp--preset--font-size--maly);
	color: var(--jli-cream-2);
}
.jli-rezervato .tf-check-row input[type="checkbox"] {
	accent-color: var(--jli-brass);
}
.jli-rezervato .tf-err-msg {
	color: #e09a7a;
	font-size: var(--wp--preset--font-size--maly); /* plugin dává 13 px, vedle popisků a polí to bylo titěrné */
	line-height: 1.3;
}
.jli-rezervato .tf-err-msg[hidden] {
	display: none; /* styl pluginu dává hlášce display: block */
}
.jli-rezervato .tf-success__title {
	font-family: var(--jli-display);
	font-weight: 400;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.jli-rezervato .tf-success__sub {
	font-size: var(--wp--preset--font-size--medium);
	color: var(--jli-cream-2);
}
.jli-rezervato .tf-success__ref {
	background: transparent;
	border: 1px solid var(--jli-brass);
	border-radius: 0;
	color: var(--jli-brass);
}

.jli-rezervato .tf-row-2 > * {
	min-width: 0;
}
/* Krok 1 (0.25.0): Datum | Čas a Délka | Počet hostů vedle sebe, pod tím Pokračovat.
   Datum a čas jsou textová pole, po kliknutí se pod nimi otevře kalendář / nabídka časů
   (site.js). Na telefonu jsou pole pod sebou. */
.jli-rezervato .jli-row-pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1.25rem;
	align-items: end; /* delší popisek se zalomí, pole ve dvojici zůstanou na jedné lince */
}
@media (max-width: 520px) {
	.jli-rezervato .jli-row-pair {
		grid-template-columns: minmax(0, 1fr);
	}
}
.jli-rezervato .jli-row-pair > * {
	min-width: 0;
}
.jli-rezervato .jli-date-native {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0;
	pointer-events: none;
}
.jli-rezervato .jli-pick-wrap {
	position: relative;
}
.jli-rezervato .jli-pick-input {
	width: 100%;
	padding-right: 2rem;
	cursor: pointer;
	background: transparent no-repeat right 2px center / 18px 18px;
}
.jli-rezervato .jli-pick-date .jli-pick-input {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23b99a5b' stroke-width='1.5'%3E%3Crect x='2.5' y='3.5' width='13' height='12'/%3E%3Cpath d='M2.5 7.5h13M6 2v3M12 2v3'/%3E%3C/svg%3E");
}
.jli-rezervato .jli-pick-time .jli-pick-input {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23b99a5b' stroke-width='1.5'%3E%3Ccircle cx='9' cy='9' r='6.75'/%3E%3Cpath d='M9 5v4l2.5 2'/%3E%3C/svg%3E");
}
.jli-rezervato .jli-pick-input::placeholder {
	color: var(--jli-muted);
	font-style: italic;
	opacity: 1;
}
.jli-rezervato .jli-pop {
	position: absolute;
	z-index: 30;
	top: calc(100% + 8px);
	left: 0;
	width: min(20rem, calc(100vw - 2rem));
	padding: 1rem;
	background: var(--jli-night);
	border: 1px solid var(--jli-brass);
	box-shadow: 0 18px 40px -12px rgba(0, 0, 0, 0.7);
}
.jli-rezervato .jli-pick-time .jli-pop {
	left: auto;
	right: 0;
}
@media (max-width: 520px) {
	.jli-rezervato .jli-pick-time .jli-pop {
		left: 0;
		right: auto;
	}
}
.jli-rezervato .jli-cal-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.6rem;
}
.jli-rezervato .jli-cal-head b {
	font-family: var(--jli-display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--maly);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--jli-cream);
}
.jli-rezervato .jli-cal-nav {
	width: 2.2rem;
	height: 2.2rem;
	padding: 0;
	background: none;
	border: 1px solid var(--jli-line);
	color: var(--jli-cream);
	font-family: var(--jli-display);
	font-size: var(--wp--preset--font-size--tlacitko);
	cursor: pointer;
}
.jli-rezervato .jli-cal-nav:hover:not(:disabled) {
	border-color: var(--jli-muted);
}
.jli-rezervato .jli-cal-nav:disabled {
	opacity: 0.25;
	cursor: default;
}
.jli-rezervato .jli-cal-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 4px;
}
.jli-rezervato .jli-cal-grid span {
	padding-bottom: 0.2rem;
	text-align: center;
	font-family: var(--jli-display);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--jli-muted);
}
.jli-rezervato .jli-cal-grid button {
	aspect-ratio: 1;
	max-width: 100%;
	padding: 0;
	background: transparent;
	border: 1px solid transparent;
	color: var(--jli-cream);
	font-family: var(--jli-display);
	font-size: var(--wp--preset--font-size--tlacitko);
	font-variant-numeric: tabular-nums;
	cursor: pointer;
}
.jli-rezervato .jli-cal-grid button:hover:not(:disabled) {
	border-color: var(--jli-muted);
}
.jli-rezervato .jli-cal-grid button.is-today {
	border-color: var(--jli-line);
}
.jli-rezervato .jli-cal-grid button[aria-pressed="true"] {
	background: var(--jli-brass);
	border-color: var(--jli-brass);
	color: #15130f;
}
.jli-rezervato .jli-cal-grid button:disabled {
	opacity: 0.25;
	cursor: not-allowed;
}
.jli-rezervato .jli-cal-grid button[data-status="closed"] {
	text-decoration: line-through;
}
.jli-rezervato .jli-cal-grid button:focus-visible,
.jli-rezervato .jli-pop .tf-slot:focus-visible {
	outline: 2px solid var(--jli-brass);
	outline-offset: 2px;
}
.jli-rezervato .jli-cal-foot {
	margin: 0.6rem 0 0;
	font-size: var(--wp--preset--font-size--maly);
	font-style: italic;
	color: var(--jli-muted);
}
/* Časy jako „rolling“ výběr: svislý seznam stejně široký jako pole, položky se při
   posouvání přichytí na střed, nahoře a dole se ztrácejí. Střed drží dvě linky
   (pozadí obalu se s obsahem neposouvá), vybraný čas je mosazný. */
.jli-rezervato .jli-pick-time {
	--jli-slot-h: 2.75rem;
}
.jli-rezervato .jli-pick-time .jli-pop {
	width: 100%;
	height: calc(var(--jli-slot-h) * 5.5);
	padding: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	scroll-snap-type: y mandatory;
	scrollbar-width: none;
	background:
		linear-gradient(var(--jli-brass), var(--jli-brass)) 1rem calc(50% - var(--jli-slot-h) / 2) / calc(100% - 2rem) 1px no-repeat,
		linear-gradient(var(--jli-brass), var(--jli-brass)) 1rem calc(50% + var(--jli-slot-h) / 2) / calc(100% - 2rem) 1px no-repeat,
		var(--jli-night);
	border-color: var(--jli-line);
}
.jli-rezervato .jli-pick-time .jli-pop::-webkit-scrollbar {
	display: none;
}
/* Ztmavení nahoře a dole: překryv v barvě pozadí nad seznamem (ne mask, ta by
   zprůhlednila i pozadí a prosvítala by pole pod nabídkou). Obal pole je relative
   a vysoký jako pole, nabídka začíná 8 px pod ním. */
.jli-rezervato .jli-pick-time .jli-pick-wrap:has(.jli-pop:not([hidden]))::before,
.jli-rezervato .jli-pick-time .jli-pick-wrap:has(.jli-pop:not([hidden]))::after {
	content: "";
	position: absolute;
	z-index: 31;
	left: 1px;
	right: 1px;
	height: calc(var(--jli-slot-h) * 1.9);
	pointer-events: none;
}
.jli-rezervato .jli-pick-time .jli-pick-wrap::before {
	top: calc(100% + 9px);
	background: linear-gradient(to bottom, var(--jli-night), transparent);
}
.jli-rezervato .jli-pick-time .jli-pick-wrap::after {
	top: calc(100% + 9px + var(--jli-slot-h) * 5.5 - var(--jli-slot-h) * 1.9 - 2px);
	background: linear-gradient(to top, var(--jli-night), transparent);
}
.jli-rezervato .jli-pop .tf-slots {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	/* první a poslední čas jde dostat na střed */
	padding-block: calc(var(--jli-slot-h) * 2.25);
}
.jli-rezervato .jli-pop .tf-slot {
	flex: none;
	width: 100%;
	height: var(--jli-slot-h);
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	text-align: center;
	font-size: var(--wp--preset--font-size--medium);
	letter-spacing: 0.08em;
	font-variant-numeric: tabular-nums;
	color: var(--jli-cream-2);
	scroll-snap-align: center;
}
.jli-rezervato .jli-pop .tf-slot:hover {
	background: transparent;
	color: var(--jli-cream);
}
.jli-rezervato .jli-pop .tf-slot.active {
	background: transparent;
	color: var(--jli-brass);
}
.jli-rezervato .jli-pop .tf-slot:focus-visible {
	outline-offset: -4px;
}
.jli-rezervato .jli-pop .tf-hint {
	display: block;
	padding: 0 1rem;
	text-align: center;
}

.jli-rezervato-menu .tf-menu-wrap {
	max-width: none;
	font-family: var(--wp--preset--font-family--serif);
	color: var(--jli-cream);
}
.jli-rezervato-menu .tf-menu-name {
	font-family: var(--jli-display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--x-large);
	text-transform: uppercase;
	color: var(--jli-cream);
}
/* ===== Vinný lístek jako knížečka (staví ji site.js) =====
   Teplejší, papírovější čerň než zbytek webu a dvojitý rámeček, aby to
   připomínalo tištěnou kartu. Listuje se šipkami, prstem nebo šipkami na
   klávesnici; žádné filtry ani kotvy — v menu se listuje, neskáče. */
.jli-vino {
	position: relative;
	max-width: 46rem;
	margin: 0 auto;
}
/* Titulky stránek se sloupy (Menu, Vína, Pronájem, Galerie) jsou na středu (0.50.7, Matěj).
   Titulek „Vína“ do 1279 px nese pás s fotkou nad lístkem, tam je jen
   pro čtečky a vyhledávače. Od 1280 px (sloupy) je vidět normálně. */
.jli-menu-stranka .wp-block-post-title,
.jli-vino-stranka .wp-block-post-title,
.jli-pronajem-stranka .wp-block-post-title {
	text-align: center;
}
@media (max-width: 1279px) {
.jli-vino-stranka .wp-block-post-title {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
}
/* ===== Fotky kolem knížečky (jen dekorace) =====
   Od 1280 px stojí po stranách okna dva svislé sloupy, níž je vystřídají pásy
   nad a pod knížečkou. Fotky jsou jako pozadí, ne <img>: schovaný pseudoprvek
   ani display:none pás prohlížeč nestahuje, takže počítač si vezme jen sloupy
   a telefon jen pásy. Adresy nesou proměnné z inc/vino.php (kvůli ?v= a cache
   WordPressu.com). */

/* Sloupy i pásy trčí přes okraj obsahu až k okraji okna; ať z toho nevznikne
   vodorovné posouvání stránky. Sticky hlavička je mimo <main>, tu to nebolí. */
.jli-vino-stranka main {
	overflow-x: clip;
}
/* Sloupy od 1280 px: společný blok „Sloupy s fotkami po stranách“ níž u Menu. */

/* Pásy nad a pod knížečkou (telefon a tablet); na počítači je nahradí sloupy. */
.jli-vino-pas {
	display: none;
}
@media (max-width: 1279px) {
	/* Pásy sahají k hlavičce a k patičce, proto <main> nahoře ani dole
	   neodsazuje. Odsazení je ve vzoru na prvku, jinak by nešlo přebít. */
	.jli-vino-stranka main {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	.jli-vino-stranka .entry-content {
		margin-block-start: 0;
	}
	.jli-vino-stranka .jli-vino-pas {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.7rem;
		/* Roztažení k okrajům okna. Třída alignfull sundá strop šířky, okraje
		   se ale musí přebít: vycentrování bloků si WordPress drží přes
		   !important, takže bez něj by pás zůstal v odsazeném sloupci. */
		width: 100vw;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
	}
	.jli-vino-stranka .jli-vino-pas--horni {
		height: clamp(10rem, 30vw, 15rem);
		margin-bottom: clamp(1.5rem, 5vw, 2.5rem);
		background-image:
			linear-gradient(to bottom, rgba(18, 20, 17, 0.82), rgba(18, 20, 17, 0.62) 45%, rgba(18, 20, 17, 0.8) 84%, rgb(18, 20, 17)),
			var(--jli-vino-pas-horni);
	}
	.jli-vino-stranka .jli-vino-pas--dolni {
		height: clamp(8.5rem, 26vw, 12rem);
		margin-top: clamp(1.75rem, 6vw, 3rem);
		background-image:
			linear-gradient(to bottom, rgb(18, 20, 17), rgba(18, 20, 17, 0) 40%, rgba(18, 20, 17, 0.3)),
			var(--jli-vino-pas-dolni);
	}
	.jli-vino-pas-nad {
		margin: 0;
		font-family: var(--jli-display);
		font-weight: 300;
		letter-spacing: 0.32em;
		text-transform: uppercase;
		color: var(--jli-brass);
	}
	.jli-vino-pas-nadpis {
		margin: 0;
		font-family: var(--jli-display);
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: var(--jli-cream);
	}
}
/* ===== Vinný lístek jako jedna stránka (Igor 8. 10. 2026) =====
   Kapitoly (místa) pod sebou, kotvy kapitol v přilepené liště (.jli-menu-anchors
   staví site.js stejně jako chody na /menu/), oddíl = region s barvou, řádek =
   ťupka · název … cena, pod ním vinař a ročník. */
.jli-vino .tf-menu-name {
	display: none; /* název jídelníčku „Víno“ nese titulek stránky */
}
.jli-vino .tf-menu-cat {
	margin-top: 2.75rem;
	scroll-margin-top: calc(var(--jli-top) + var(--jli-notice-h, 0px) + var(--jli-header-h, 96px) + var(--jli-menu-anchors-h, 56px) + 1.5rem);
}
.jli-vino .tf-menu-cat-name {
	margin: 0 0 0.6rem;
	padding-bottom: 0.6rem;
	border-bottom: 1px solid #4a3f2c;
	font-family: var(--jli-display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--x-large);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #e8dcc0;
}
.jli-vino .tf-menu-section {
	margin: 1.3rem 0 0.35rem;
	font-family: var(--jli-display);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--jli-brass);
}
.jli-vino .tf-menu-item {
	display: flex;
	align-items: baseline;
	gap: 0.7rem;
	padding: 0.5rem 0;
	border: 0;
}
.jli-vino .tf-menu-item-img {
	display: none;
}
/* Ťupka s barvou vína (site.js ji čte z nadpisu oddílu nebo názvu kategorie). */
.jli-vino .tf-menu-item[data-jli-barva]::before,
.jli-vino-legenda span::before {
	content: "";
	flex: 0 0 0.5rem;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: var(--jli-tupka, transparent);
	transform: translateY(-0.12em);
}
[data-jli-barva="sumive"] { --jli-tupka: #d9c98a; }
[data-jli-barva="bile"] { --jli-tupka: #c9d3a0; }
[data-jli-barva="ruzove"] { --jli-tupka: #d79a8f; }
[data-jli-barva="cervene"] { --jli-tupka: #a8525a; }
.jli-vino-legenda {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4rem 1.2rem;
	margin-top: 2rem;
	padding-top: 1rem;
	border-top: 1px solid #2f2a20;
	font-family: var(--jli-display);
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #8a7a5c;
}
.jli-vino-legenda span {
	display: inline-flex;
	align-items: baseline;
	gap: 0.45rem;
}
/* Název … tečkovaná linka … cena; pod tím vinař s ročníkem. */
.jli-vino .tf-menu-item-body {
	display: grid;
	grid-template-columns: auto minmax(1rem, 1fr) auto;
	align-items: baseline;
	width: 100%;
}
.jli-vino .tf-menu-item-body::before {
	content: "";
	grid-column: 2;
	grid-row: 1;
	align-self: end;
	margin: 0 0.6rem 0.35em;
	border-bottom: 1px dotted #4a4e46;
}
.jli-vino .tf-menu-item-name {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	font-size: var(--wp--preset--font-size--maly);
	line-height: 1.25;
	color: #e8dcc0;
}
.jli-vino .tf-menu-item-desc {
	grid-column: 1 / -1;
	grid-row: 2;
	margin: 0.1rem 0 0;
	font-style: italic;
	font-size: var(--wp--preset--font-size--maly);
	line-height: 1.3;
	color: #8a7a5c;
}
.jli-vino .tf-menu-item-foot {
	grid-column: 3;
	grid-row: 1;
	white-space: nowrap;
}
.jli-vino .tf-menu-item-price {
	font-family: var(--jli-display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--maly);
	letter-spacing: 0.04em;
	color: var(--jli-brass);
}
/* Alergeny do karty vín nepatří, v Rezervatu je vedeme kvůli evidenci. */
.jli-vino .tf-menu-item-weight,
.jli-vino .tf-menu-item-allerg {
	display: none;
}

/* Chody jako kotvy (staví je site.js). Vzhledem stejné jako záložky jídelníčků,
   ale nic neschovávají — jen posunou na chod, karta zůstane čitelná vcelku. */
.jli-menu-anchors {
	position: sticky;
	top: calc(var(--jli-top) + var(--jli-notice-h, 0px) + var(--jli-header-h, 96px));
	z-index: 20;
	display: flex;
	gap: 2rem;
	margin: 0 0 2.5rem;
	background: var(--jli-night);
	box-shadow: inset 0 -1px 0 var(--jli-line);
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
}
.jli-menu-anchors::-webkit-scrollbar {
	display: none;
}
.jli-menu-anchor {
	flex: none;
	padding: 0.9rem 0 0.8rem;
	border-bottom: 2px solid transparent;
	font-family: var(--jli-display);
	font-size: var(--wp--preset--font-size--maly);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--jli-muted);
	text-decoration: none;
	transition: color 0.2s, border-color 0.2s;
}
/* Emoji z názvu chodu v Rezervatu: bez prostrkání a s mezerou před textem.
   WordPress je vykresluje jako <img class="emoji">. */
.jli-menu-anchor .jli-anchor-emoji {
	margin-right: 0.5em;
	letter-spacing: 0;
}
.jli-menu-anchor .jli-anchor-emoji img {
	width: 1em;
	height: 1em;
	vertical-align: -0.14em;
}
.jli-menu-anchor:hover {
	color: var(--jli-cream);
}
.jli-menu-anchor[aria-current="true"] {
	color: var(--jli-cream);
	border-bottom-color: var(--jli-brass);
}
/* Kam chod doskáče: pod hlavičku i pod lištu s kotvami, plus kousek vzduchu. */
.jli-rezervato-menu .tf-menu-cat {
	scroll-margin-top: calc(var(--jli-top) + var(--jli-notice-h, 0px) + var(--jli-header-h, 96px) + var(--jli-menu-anchors-h, 56px) + 1.5rem);
}
/* Skok na kotvu plynule. Roluje dokument, ne obal jídelníčku, proto :root.
   Platí i pro kotvy v navigaci (Příběh, Salonek, Kontakt), což je jen dobře. */
:root {
	scroll-behavior: smooth;
}
.jli-rezervato-menu .tf-menu-intro {
	font-size: var(--wp--preset--font-size--medium);
	color: var(--jli-cream-2);
}
.jli-rezervato-menu .tf-menu-cat-name {
	font-family: var(--jli-display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--x-large);
	text-transform: uppercase;
	color: var(--jli-cream);
	border-bottom: 1px solid var(--jli-line);
	/* Karta prvního jídla nesedí na lince (Matěj 9. 11.); mezi kartami je 1 rem. */
	margin-bottom: 1.5rem;
}
.jli-rezervato-menu .tf-menu-section {
	font-family: var(--jli-display);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--popisek); /* plugin sám dává 12 px */
	letter-spacing: 0.24em;
	color: var(--jli-brass);
}
/* ===== Položka jídla jako medailon (Igor 8. 10. 2026, varianta C) =====
   Tenký rámeček kolem textu, kulatá fotka v mosazném kroužku ho přesahuje přes
   levý okraj, cena mosazným písmem vpravo. Fotky do Rezervata chodí čtvercové.
   Jídlo bez fotky má místo medailonu prázdný mosazný kroužek (čísla pryč, Matěj 11. 11. 2026). */
.jli-rezervato-menu .tf-menu-item {
	--jli-medailon: 5.5rem;
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 0 0 1rem calc(var(--jli-medailon) / 2);
	padding: 1rem 1.2rem 1rem calc(var(--jli-medailon) / 2 + 1.1rem);
	border: 1px solid #4a3f2c;
	border-radius: 4px;
}
.jli-rezervato-menu .tf-menu-item:last-child {
	border-bottom: 1px solid #4a3f2c;
}
.jli-rezervato-menu .tf-menu-item-img {
	position: absolute;
	left: calc(var(--jli-medailon) / -2);
	top: 50%;
	width: var(--jli-medailon);
	height: var(--jli-medailon);
	transform: translateY(-50%);
	border-radius: 50%;
	border: 2px solid var(--jli-brass);
	background: var(--jli-night);
	object-fit: cover;
	filter: saturate(0.92);
	cursor: zoom-in;
	transition: filter 0.2s;
}
.jli-rezervato-menu .tf-menu-item-img:hover {
	filter: saturate(1) brightness(1.06);
}
.jli-rezervato-menu .tf-menu-item:not(:has(> .tf-menu-item-img)) {
	padding-left: 2.2rem;
}
.jli-rezervato-menu .tf-menu-item:not(:has(> .tf-menu-item-img))::before {
	content: "";
	position: absolute;
	left: -1.1rem;
	top: 50%;
	display: grid;
	place-items: center;
	width: 2.2rem;
	height: 2.2rem;
	transform: translateY(-50%);
	border: 1.5px solid var(--jli-brass);
	border-radius: 50%;
	background: var(--jli-night);
	font-family: var(--jli-display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0;
	color: var(--jli-brass);
}
.jli-rezervato-menu .tf-menu-item-body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 1rem;
	align-items: start;
	width: 100%;
}
.jli-rezervato-menu .tf-menu-item-name {
	grid-column: 1;
	margin: 0;
}
.jli-rezervato-menu .tf-menu-item-desc {
	grid-column: 1;
	margin: 0.15rem 0 0;
}
.jli-rezervato-menu .tf-menu-item-foot {
	grid-column: 2;
	grid-row: 1 / 3;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.45rem;
}
.jli-rezervato-menu .tf-menu-item-price {
	font-family: var(--jli-display);
	display: inline-block;
	/* Bez destičky, jako ve vinném lístku: mosazné písmo velké jako název (Matěj 10. 10. 2026). */
	color: var(--jli-brass);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--medium);
	letter-spacing: 0.04em;
	line-height: 1.2;
	white-space: nowrap;
}
@media (max-width: 599px) {
	.jli-rezervato-menu .tf-menu-item {
		/* Kolečka s fotkou na telefonu větší (Igor, Matěj 12. 10. 2026); min. výška drží kolečko uvnitř karty */
		--jli-medailon: 7rem;
		min-height: calc(var(--jli-medailon) + 0.5rem);
		padding-right: 0.9rem;
	}
	.jli-rezervato-menu .tf-menu-item-body {
		grid-template-columns: minmax(0, 1fr);
	}
	.jli-rezervato-menu .tf-menu-item-foot {
		grid-column: 1;
		grid-row: 3;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		margin-top: 0.5rem;
	}
}

/* Plovoucí náhled fotky jídla (staví site.js) */
.jli-lightbox {
	max-width: min(92vw, 900px);
	max-height: 92vh;
	padding: 0;
	margin: auto;
	overflow: visible;
	background: none;
	border: 0;
	color: var(--jli-cream);
}
.jli-lightbox::backdrop {
	background: rgba(12, 13, 11, 0.82);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.jli-lightbox[open] {
	animation: jli-lightbox-in 0.22s ease-out;
}
@keyframes jli-lightbox-in {
	from { opacity: 0; transform: scale(0.96); }
}
.jli-lightbox figure {
	margin: 0;
}
.jli-lightbox img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: calc(92vh - 3rem);
	margin: 0 auto;
	object-fit: contain;
	border-radius: 18px;
	box-shadow: 0 30px 80px -20px rgba(0, 0, 0, 0.7);
}
.jli-lightbox figcaption {
	margin-top: 0.9rem;
	text-align: center;
	font-family: var(--jli-display);
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--jli-cream-2);
}
.jli-lightbox figcaption:empty {
	display: none;
}
.jli-lightbox-close {
	position: absolute;
	top: 0.6rem;
	right: 0.6rem;
	width: 2.5rem;
	height: 2.5rem;
	border: 0;
	border-radius: 50%;
	background: rgba(18, 20, 17, 0.7);
	color: var(--jli-cream);
	font-size: 1.792rem;
	line-height: 1;
	cursor: pointer;
}
.jli-lightbox-close:hover {
	background: var(--jli-night);
}
.jli-rezervato-menu .tf-menu-item-name {
	font-family: var(--jli-display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--medium);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--jli-cream);
}
/* Popisek jídla stejným písmem jako název (Kief-Tek, Matěj 2. 11.), jen Light a bez verzálek. */
.jli-rezervato-menu .tf-menu-item-desc {
	font-family: var(--jli-display);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--medium);
	letter-spacing: 0.03em;
	line-height: 1.35;
	color: var(--jli-cream-2);
}
.jli-rezervato-menu .tf-menu-item-weight,
.jli-rezervato-menu .tf-menu-item-allerg {
	font-family: var(--jli-display);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.12em;
	color: var(--jli-muted);
}
/* Alergeny jako kolečka s číslem, vysvětlivka je pod jídelníčkem (staví je site.js).
   Stejné na počítači i na telefonu, jen se čísla zalomí. */
.jli-rezervato-menu .tf-menu-item-allerg {
	display: inline-flex;
	gap: 0.3rem;
	vertical-align: baseline;
}
.jli-alergen {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.5em;
	height: 1.5em;
	padding: 0 0.3em;
	border: 1px solid var(--jli-line);
	border-radius: 999px;
	font-family: var(--jli-display);
	font-size: 0.84rem;
	letter-spacing: 0;
	line-height: 1;
	color: var(--jli-muted);
}
.jli-alergeny-legenda .jli-alergen {
	margin-right: 0.25rem;
	vertical-align: -0.1em;
}
.jli-alergeny-legenda {
	margin: 2.5rem 0 0 !important;
	line-height: 2.1;
	padding-top: 1.25rem;
	border-top: 1px solid var(--jli-line);
	font-family: var(--jli-display);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.06em;
	color: var(--jli-muted);
}

/* ===== Omezený pohyb: bez videa, pás recenzí se sám nehýbe (jde jen posunout rukou) ===== */
@media (prefers-reduced-motion: reduce) {
	:root {
		scroll-behavior: auto;
	}
	.jli-lightbox[open] {
		animation: none;
	}
	.jli-hero video.wp-block-cover__video-background {
		display: none;
	}
	.jli-rev-pruh-in,
	.jli-sloup-in,
	.jli-site-sloupec-in,
	.jli-pas-cudlik.is-on span::after {
		animation: none;
	}
	.jli-pas-cudlik.is-on span::after {
		width: 100%;
	}
	.jli-pas-kolej,
	.jli-site .fsweb-smm-media,
	.jli-rev-karta {
		transition: none;
	}
	.jli-nav-cta,
	.wp-block-button.is-style-jli-cta .wp-block-button__link,
	.wp-block-button.is-style-jli-cta .wp-block-button__link::before,
	.wp-block-button.is-style-jli-cta .wp-block-button__link::after {
		transition: none;
	}
}

/* ===== Oživení, varianta A „Klid“ (návrh https://claude.ai/artifact/Mew8ex9o9qjjajH1Nhz31o) =====
   1. Úvod se rozsvítí: video vystoupí ze tmy, řádky názvu a podtitul vyplují, pak tlačítko a loga.
      Čisté CSS, takže běží hned při načtení i bez JS.
   2. Sekce vyplouvají: třídu jli-rv dává site.js jen prvkům pod ohybem, is-in je odhalí.
   3. Mosaz se leskne: přes tlačítka Rezervovat jednou za 7 s přejede odlesk.
      Odlesk je druhá vrstva pozadí, ne pseudoprvek – ::before nese vnější rámeček
      a overflow: hidden by ho ořízlo.
   Při omezeném pohybu nic z toho neběží. */
.jli-hero h1 .jli-ln {
	display: block;
}
@media (prefers-reduced-motion: no-preference) {
	.jli-hero .wp-block-cover__video-background,
	.jli-hero .wp-block-cover__image-background {
		animation: jli-rozsvitit 2.2s ease both;
	}
	.jli-hero h1 .jli-ln,
	.jli-hero .jli-tagline,
	.jli-hero .jli-hero-adresa {
		animation: jli-vyplout 1.4s cubic-bezier(0.2, 0.7, 0.2, 1) both;
	}
	.jli-hero .jli-hero-adresa {
		animation-delay: 0.9s;
	}
	.jli-hero h1 .jli-ln + .jli-ln {
		animation-delay: 0.25s;
	}
	.jli-hero .jli-tagline {
		animation-delay: 0.7s;
	}
	.jli-hero .jli-trust {
		animation: jli-objevit 1.4s ease 1.1s both;
	}

	.jli-rv {
		transition: opacity 1s ease var(--jli-d, 0s), transform 1.1s cubic-bezier(0.2, 0.7, 0.2, 1) var(--jli-d, 0s);
	}
	.jli-rv:not(.is-in) {
		opacity: 0;
		transform: translateY(26px);
	}

	.wp-block-button.is-style-jli-cta .wp-block-button__link {
		background-image:
			linear-gradient(105deg, transparent 42%, rgba(255, 246, 222, 0.55) 50%, transparent 58%),
			linear-gradient(180deg, color-mix(in srgb, var(--jli-brass), #fff 26%) 0%, var(--jli-brass) 52%, color-mix(in srgb, var(--jli-brass), #000 14%) 100%);
		background-size: 300% 100%, 100% 100%;
		background-repeat: no-repeat;
		background-position: 100% 0, 0 0;
		animation: jli-lesk 7s ease-in-out 2.4s infinite;
	}
	.wp-block-button.is-style-jli-cta .wp-block-button__link:hover {
		animation-duration: 1.6s;
		animation-delay: 0s;
	}
}
/* Ztmavení úvodu je přechod v pozadí (opacity 1), proto se rozsvěcuje samotné video. */
@keyframes jli-rozsvitit {
	from { filter: saturate(0.9) brightness(0.15); }
}
@keyframes jli-vyplout {
	from { opacity: 0; transform: translateY(18px); }
}
@keyframes jli-objevit {
	from { opacity: 0; }
}
@keyframes jli-lesk {
	0% { background-position: 100% 0, 0 0; }
	22%, 100% { background-position: 0 0, 0 0; }
}

/* ===== Rezervovat v úvodu (návrh https://claude.ai/artifact/Tpsh5w3p4RihEotG46yfC9, Matěj 5. 10.) =====
   Do 1099 px tlačítko jako dřív, jen s jemnou dýchající září. Od 1100 px místo něj karta volných
   časů: pevný den (dnešek, když je zavřeno nebo plno, nejbližší další), čas z rozbalováku a počet
   hostů; Rezervovat vede na /rezervace/ s předvyplněným dnem, časem a hosty (site.js). */
.jli-hero-cta .wp-block-button.is-style-jli-cta .wp-block-button__link {
	box-shadow: inset 0 1px 0 rgba(255, 244, 220, 0.55), inset 0 -1px 0 rgba(0, 0, 0, 0.25), 0 10px 28px -10px color-mix(in srgb, var(--jli-brass), transparent 20%), 0 0 34px 3px rgba(210, 176, 106, 0.22);
}
@keyframes jli-zare {
	0%, 100% { box-shadow: inset 0 1px 0 rgba(255, 244, 220, 0.55), inset 0 -1px 0 rgba(0, 0, 0, 0.25), 0 10px 28px -10px color-mix(in srgb, var(--jli-brass), transparent 20%), 0 0 26px 0 rgba(210, 176, 106, 0.16); }
	50% { box-shadow: inset 0 1px 0 rgba(255, 244, 220, 0.55), inset 0 -1px 0 rgba(0, 0, 0, 0.25), 0 10px 28px -10px color-mix(in srgb, var(--jli-brass), transparent 20%), 0 0 44px 6px rgba(210, 176, 106, 0.3); }
}
@keyframes jli-halo {
	0%, 100% { box-shadow: inset 0 1px 0 rgba(255, 248, 228, 0.75), inset 0 -1px 0 rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(0, 0, 0, 0.35), 0 14px 40px -8px rgba(210, 176, 106, 0.75), 0 0 50px 0 rgba(210, 176, 106, 0.22); }
	50% { box-shadow: inset 0 1px 0 rgba(255, 248, 228, 0.75), inset 0 -1px 0 rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(0, 0, 0, 0.35), 0 14px 40px -8px rgba(210, 176, 106, 0.85), 0 0 90px 10px rgba(210, 176, 106, 0.38); }
}
@media (prefers-reduced-motion: no-preference) {
	.jli-hero-cta .wp-block-button.is-style-jli-cta .wp-block-button__link {
		animation: jli-lesk 7s ease-in-out 2.4s infinite, jli-zare 4s ease-in-out infinite;
	}
	.jli-hero-cta .wp-block-button.is-style-jli-cta .wp-block-button__link:hover {
		animation-duration: 1.6s, 4s;
		animation-delay: 0s, 0s;
	}
}

.jli-hero-karta {
	display: none;
}
@media (min-width: 1100px) {
	.jli-trust .jli-hero-cta {
		display: none;
	}
	/* Karta zůstane vedle názvu i s delším podtitulem (DE „Ehrliches Italien im Zentrum
	   von Prag“): řádek se nezalamuje, podtitul se zalomí sám, název ne. Karta drží
	   svou šířku, loga médií pod ní se případně zalomí. */
	.jli-hero-row {
		flex-wrap: nowrap !important;
	}
	.jli-hero-title {
		flex: 0 1 auto;
	}
	.jli-hero h1 .jli-ln {
		white-space: nowrap;
	}
	.jli-trust {
		flex: 0 1 auto;
		min-width: min(29rem, 100%);
	}
	.jli-hero-karta {
		display: flex;
		flex-direction: column;
		gap: 1.1rem;
		width: min(29rem, 100%);
		box-sizing: border-box;
		margin-bottom: 1.4rem;
		padding: 1.5rem 1.75rem 1.75rem;
		background: rgba(18, 20, 17, 0.78);
		border: 1px solid color-mix(in srgb, var(--jli-brass), transparent 65%);
		-webkit-backdrop-filter: blur(6px);
		backdrop-filter: blur(6px);
	}
}
.jli-hero-karta p {
	margin: 0;
}
.jli-hero-karta [hidden] {
	display: none !important;
}
.jli-karta-pozn,
.jli-karta-plno {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--maly);
	line-height: 1.4;
	color: var(--jli-cream-2, #cfc9bb);
}
.jli-karta-pozn {
	font-style: italic;
}
.jli-karta-plno a {
	color: color-mix(in srgb, var(--jli-brass), #fff 22%);
}
.jli-karta-pole {
	display: flex;
	align-items: flex-end;
	gap: 0.9rem;
}
.jli-karta-cas,
.jli-karta-hoste {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin: 0;
}
.jli-karta-cas {
	flex: 1;
	min-width: 0;
}
.jli-karta-popis {
	font-family: var(--jli-display);
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--jli-muted);
}
.jli-karta-vyber {
	position: relative;
	display: block;
}
.jli-karta-vyber::after {
	content: "";
	position: absolute;
	right: 0.9rem;
	top: 50%;
	width: 1rem;
	height: 1rem;
	transform: translateY(-50%);
	background: color-mix(in srgb, var(--jli-brass), #fff 22%);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	pointer-events: none;
}
.jli-karta-vyber select {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 44px;
	margin: 0;
	padding: 0 2.5rem 0 0.9rem;
	border: 1px solid color-mix(in srgb, var(--jli-brass), transparent 40%);
	border-radius: 0;
	background: rgba(18, 20, 17, 0.55);
	color: var(--jli-cream);
	font-family: var(--jli-display);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--maly);
	letter-spacing: 0.08em;
	cursor: pointer;
}
.jli-karta-vyber select:focus-visible,
.jli-karta-step button:focus-visible {
	outline: 2px solid var(--jli-brass);
	outline-offset: 2px;
}
.jli-karta-vyber option {
	background: var(--jli-night-2, #1b1e19);
	color: var(--jli-cream);
}
.jli-karta-step {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.jli-karta-step button {
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 1px solid color-mix(in srgb, var(--jli-brass), transparent 55%);
	border-radius: 0;
	background: none;
	color: color-mix(in srgb, var(--jli-brass), #fff 22%);
	font-family: var(--jli-display);
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
}
.jli-karta-step button:hover {
	color: var(--jli-cream);
	border-color: var(--jli-brass);
}
.jli-karta-step button:disabled {
	opacity: 0.35;
	cursor: default;
}
.jli-karta-step output {
	min-width: 4.2rem;
	text-align: center;
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: var(--wp--preset--font-size--maly);
	color: var(--jli-cream-2, #cfc9bb);
}
/* Tlačítko v kartě: přes celou šířku, světlejší mosaz a výraznější záře než jinde (jen tady
   v úvodu na počítači), ikonka kalendáře za textem. */
.jli-karta-cta {
	margin: 0.4rem 0 0;
}
.jli-karta-cta.wp-block-button.is-style-jli-cta .wp-block-button__link {
	width: 100%;
	box-sizing: border-box;
	gap: 0.9rem;
	padding: 1.25rem 1.5rem;
	font-size: 1.1883rem;
	background: linear-gradient(180deg, #efdcab 0%, #d2b06a 50%, #a8884b 100%);
	box-shadow: inset 0 1px 0 rgba(255, 248, 228, 0.75), inset 0 -1px 0 rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(0, 0, 0, 0.35), 0 14px 40px -8px rgba(210, 176, 106, 0.75), 0 0 60px 4px rgba(210, 176, 106, 0.26);
}
.jli-karta-cta.wp-block-button.is-style-jli-cta .wp-block-button__link::before {
	inset: -7px;
	border-color: rgba(210, 176, 106, 0.7);
}
.jli-karta-cta.wp-block-button.is-style-jli-cta .wp-block-button__link::after {
	content: "";
	flex: none;
	width: 1.15em;
	height: 1.15em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z'/%3E%3Cpath d='M16 3v4M8 3v4M4 11h16'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z'/%3E%3Cpath d='M16 3v4M8 3v4M4 11h16'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (prefers-reduced-motion: no-preference) {
	.jli-karta-cta.wp-block-button.is-style-jli-cta .wp-block-button__link {
		background-image:
			linear-gradient(105deg, transparent 42%, rgba(255, 246, 222, 0.55) 50%, transparent 58%),
			linear-gradient(180deg, #efdcab 0%, #d2b06a 50%, #a8884b 100%);
		background-size: 300% 100%, 100% 100%;
		background-repeat: no-repeat;
		background-position: 100% 0, 0 0;
		animation: jli-lesk 7s ease-in-out 2.4s infinite, jli-halo 3.2s ease-in-out infinite;
	}
	.jli-karta-cta.wp-block-button.is-style-jli-cta .wp-block-button__link:hover {
		animation-duration: 1.6s, 3.2s;
		animation-delay: 0s, 0s;
	}
}
@media print {
	.jli-rv {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* ===== Speciál menu (inc/special.php): řídí se jídelníčkem „Speciál…“ v Rezervatu ===== */
/* B: štítek v pásu pod úvodem = poslední položka pásu v mosazném rámečku s pulzujícím halo */
.jli-strip .jli-special-badge {
	--jli-sp-ram: color-mix(in srgb, var(--jli-brass), transparent 45%);
	padding: 0.55rem 1.6rem;
	margin-left: 1.2rem;
	border: 1px solid var(--jli-sp-ram);
	background: color-mix(in srgb, var(--jli-brass), transparent 92%);
	transition: background-color 0.3s ease, border-color 0.3s ease;
}
.jli-strip .jli-strip-item + .jli-special-badge {
	border-left: 1px solid var(--jli-sp-ram);
}
.jli-strip .jli-special-badge:hover {
	border-color: var(--jli-brass);
	background: color-mix(in srgb, var(--jli-brass), transparent 84%);
}
@media (max-width: 1099px) {
	.jli-strip .jli-special-badge {
		grid-column: 1 / -1;
		margin: 0 0.5rem;
		padding: 0.7rem 1rem;
		border: 1px solid var(--jli-sp-ram);
	}
}
@media (prefers-reduced-motion: no-preference) {
	.jli-strip .jli-special-badge {
		animation: jli-special-halo 3.6s ease-in-out infinite;
	}
}
@keyframes jli-special-halo {
	0%, 100% { box-shadow: 0 0 0 0 rgba(185, 154, 91, 0), 0 0 14px 0 rgba(185, 154, 91, 0.1); }
	50% { box-shadow: 0 0 0 3px rgba(185, 154, 91, 0.1), 0 0 28px 2px rgba(185, 154, 91, 0.28); }
}
/* C: čtvrtá dlaždice, fotka přes celou kartu. Od 0.44.2 má rozvržení jako Menu / Oběd / Vína
   (Matěj 5. 10.): stejné odsazení, nadpis ve stejné výšce (neviditelný řádek nadtitulku),
   pod ním popisek z Rezervata a tlačítko dole na stejné lince jako jejich odkazy. */
.jli-pillars .jli-pillar-special {
	flex: 1 1 0;
	min-width: 0;
	position: relative;
	min-height: 20rem;
	box-shadow: inset 0 0 0 1px var(--jli-brass);
	color: var(--jli-cream);
}
/* Fotku kreslí .has-jli-foto::before jako u ostatních karet. Dřív měla dlaždice vlastní
   transition, který přebil vyplutí .jli-rv, a tak jen skočila. Závoj je světlejší (fotka je
   tu hlavní) a fotka se po najetí nepřibližuje: na hover reaguje jen tlačítko (Matěj 5. 10.). */
.jli-pillar-special.has-jli-foto::after {
	background: linear-gradient(180deg, rgba(18, 20, 17, 0.62) 0%, rgba(18, 20, 17, 0.5) 40%, rgba(18, 20, 17, 0.78) 72%, rgba(18, 20, 17, 0.94) 100%);
}
.jli-pillar-special.has-jli-foto:hover::before {
	transform: none;
}
/* Ikonu z masky mají jen tři karty; speciál má místo ní emoji z názvu v Rezervatu. */
.jli-pillar-special h3::before {
	content: none;
}
.jli-special-mezera {
	display: block;
	visibility: hidden;
}
.jli-pillar-special > * {
	position: relative;
}
.jli-special-tag {
	position: absolute;
	top: 0;
	left: 0;
	padding: 0.4rem 0.85rem;
	background: var(--jli-brass);
	color: var(--jli-night);
	font-family: var(--jli-display);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.2em;
	text-transform: uppercase;
}
.jli-pillars .jli-special-title {
	display: block;
	color: var(--jli-cream);
	text-shadow: 0 1px 14px rgba(0, 0, 0, 0.65);
	font-family: var(--jli-display);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.05;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	text-wrap: balance;
}
.jli-pillars .jli-special-text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
	max-width: 34ch;
	white-space: pre-line;
	color: var(--jli-cream-2);
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.6);
}
.jli-pillar-special .jli-special-more {
	align-self: flex-start;
	margin-top: auto !important; /* .jli-pillar > * dává margin: 0 !important */
	background: rgba(18, 20, 17, 0.55);
}
@media (max-width: 781px) {
	.jli-pillars .jli-pillar-special {
		min-height: 16rem;
	}
}

/* ===== Tlačítko s obrysem (vedlejší akce: Celá galerie, Poptat termín) ===== */
.wp-block-button.is-style-jli-ghost .wp-block-button__link {
	display: inline-flex;
	padding: 0.85rem 1.35rem;
	font-family: var(--jli-display);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--tlacitko);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--jli-brass);
	background: none;
	border: 1px solid var(--jli-brass);
	border-radius: 0;
	transition: background-color 0.2s, color 0.2s;
}
.wp-block-button.is-style-jli-ghost .wp-block-button__link:hover {
	background: var(--jli-brass);
	color: var(--jli-night);
}

/* ===== Galerie na úvodu: sekce kolem ukázky z modulu Parťáq Galerie (fotky stylují pravidla .fsweb-galerie níž) ===== */
.jli-gallery {
	padding-block: var(--wp--preset--spacing--70);
	border-top: 1px solid var(--jli-line);
	scroll-margin-top: calc(var(--jli-header-h, 96px) + var(--jli-notice-h, 0px));
}
/* Pozadí (0.37.0): nakloněné svislé sloupce s fotkami galerie a jejich popisky
   (jli_pozadi_galerie_html(), inc/pozadi.php), střídavě jedou nahoru a dolů. */
.jli-gallery {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.jli-gallery > .jli-sloupy {
	position: absolute;
	inset: -18rem -12rem;
	z-index: -2;
	display: flex;
	justify-content: center;
	gap: 16px;
	max-width: none !important;
	margin: 0 !important;
	transform: rotate(8deg);
	pointer-events: none;
}
.jli-sloup {
	flex: none;
	width: 230px;
	height: 100%;
	overflow: hidden;
}
/* Mezera je okraj kusu, ne gap: posun o polovinu pak sedí přesně a smyčka necukne. */
.jli-sloup-in {
	display: flex;
	flex-direction: column;
	animation: jli-sloup-nahoru var(--rychlost, 120s) linear infinite;
}
.jli-sloup-in.is-dolu {
	animation-name: jli-sloup-dolu;
}
.jli-sloup-in > * {
	flex: none;
	margin-bottom: 16px;
}
.jli-sloup-foto {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	filter: grayscale(1) contrast(1.1);
	opacity: 0.3;
}
.jli-sloup-karta {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 20px 18px;
	border: 1px solid rgba(236, 230, 216, 0.08);
	background: rgba(27, 30, 25, 0.6);
	opacity: 0.36;
	font-family: var(--jli-display);
	text-transform: uppercase;
}
.jli-sloup-karta strong {
	font-weight: 300;
	font-size: 1.4rem;
	line-height: 1.1;
	letter-spacing: 0.04em;
}
.jli-sloup-karta small {
	font-weight: 500;
	font-size: 0.75rem;
	letter-spacing: 0.18em;
	color: var(--jli-brass);
}
@keyframes jli-sloup-nahoru {
	to { transform: translateY(-50%); }
}
@keyframes jli-sloup-dolu {
	from { transform: translateY(-50%); }
	to { transform: translateY(0); }
}
@media (max-width: 781px) {
	.jli-gallery > .jli-sloupy {
		gap: 10px;
	}
	.jli-sloup {
		width: 150px;
	}
	.jli-sloup-in > * {
		margin-bottom: 10px;
	}
	.jli-sloup-karta {
		padding: 14px 12px;
	}
	.jli-sloup-karta strong {
		font-size: 1.1rem;
	}
}
.jli-gallery > .jli-eyebrow {
	margin-bottom: 0.75rem !important;
}
.jli-gallery .wp-block-buttons {
	margin-top: 2rem;
}

/* ===== Pronájem prostor (inc/rent.php) ===== */
.jli-rent {
	padding-block: var(--wp--preset--spacing--70);
	border-top: 1px solid var(--jli-line);
	scroll-margin-top: calc(var(--jli-header-h, 96px) + var(--jli-notice-h, 0px));
}
/* Pozadí (0.35.0): sál přes celou šířku sekce (pole rent_pozadi, adresa v --jli-pozadi
   ze vzoru), zašedlý do hněda. Text stojí vlevo na tmavém přechodu, na telefonu dole;
   nahoře a dole fotka doznívá do barvy stránky. Fotka vedle textu je pryč. */
.jli-rent {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(5rem, 10vw, 8.5rem);
}
.jli-rent::before,
.jli-rent::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.jli-rent::before {
	z-index: -2;
	background: var(--jli-pozadi) center 34% / cover no-repeat;
	filter: grayscale(0.75) sepia(0.45) contrast(1.05);
	opacity: 0.68;
}
.jli-rent::after {
	z-index: -1;
	background:
		linear-gradient(180deg, var(--jli-night) 0%, rgba(18, 20, 17, 0) 22%, rgba(18, 20, 17, 0) 78%, var(--jli-night) 100%),
		linear-gradient(90deg, rgba(18, 20, 17, 0.94) 0%, rgba(18, 20, 17, 0.78) 38%, rgba(18, 20, 17, 0.15) 100%);
}
.jli-rent p:not(.jli-eyebrow) {
	color: var(--jli-cream);
}
/* ===== Pronájem prostor: karty (0.46.0, inc/prostory.php) =====
   Počítač: nadpis vlevo, text vpravo, pod nimi fotokarty prostorů vedle sebe (kapacita, název,
   popis). Telefon (do 781 px): nadpis a text nahoře, pod nimi jedna fotka přes celou šířku
   (název vlevo nahoře, kapacita s ikonou vpravo nahoře, popis vlevo dole); každých 8 s se sama
   přepne na další prostor, pruhy odpočtu dole jsou zároveň přepínač (site.js, [data-jli-rent]).
   Pozadí sekce (rent_pozadi) zůstává za vším. */
.jli-rent-in {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	column-gap: clamp(1.5rem, 5vw, 4rem);
	align-items: end;
}
.jli-rent-in > * {
	max-width: none;
	margin: 0;
}
.jli-rent-in > .jli-eyebrow {
	grid-column: 1;
	margin-bottom: 1.1rem;
}
.jli-rent-in > .wp-block-heading {
	grid-column: 1;
}
.jli-rent-in > p:not(.jli-eyebrow) {
	grid-column: 2;
	grid-row: 1 / span 2;
	max-width: 34em;
	padding-bottom: 0.4rem;
}
.jli-rent-in > .jli-rent-stage,
.jli-rent-in > .wp-block-buttons {
	grid-column: 1 / -1;
}
.jli-rent-in > .jli-rent-stage {
	margin-top: clamp(2rem, 4vw, 3.2rem);
}
.jli-rent-in > .wp-block-buttons {
	margin-top: clamp(1.6rem, 3vw, 2.4rem);
	justify-content: center;
}
.jli-rent-cards {
	display: grid;
	grid-template-columns: repeat(var(--jli-rent-n, 3), minmax(0, 1fr));
	/* Řádky sdílí všechny karty (subgrid): číslo a název jsou ve všech kartách na stejné lince,
	   i když mají popisky různě dlouhé (Matěj 6. 11.). První řádek je volné místo nad textem. */
	grid-template-rows: 1fr auto auto auto;
	column-gap: clamp(0.75rem, 1.6vw, 1.25rem);
	row-gap: 0;
}
.jli-rent-card {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-row: span 4;
	grid-template-rows: subgrid;
	row-gap: 0.55rem;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	padding: clamp(1rem, 2.2vw, 1.6rem);
	border: 1px solid var(--jli-line);
}
/* Se subgridem by karta poměr 4 : 5 neudržela (výšku řádků dávají texty), drží ho tahle vložka přes všechny řádky. */
@media (min-width: 782px) {
	.jli-rent-card::before {
		content: "";
		grid-row: 1 / -1;
		grid-column: 1;
		aspect-ratio: 4 / 5;
		pointer-events: none;
	}
	.jli-rent-card > * {
		grid-column: 1;
	}
}
.jli-rent-ph {
	position: absolute;
	inset: 0;
	z-index: -2;
	background: var(--jli-night-2);
}
.jli-rent-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.jli-rent-card:hover .jli-rent-img {
	transform: scale(1.04);
}
.jli-rent-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(to top, rgba(10, 11, 9, 0.92) 4%, rgba(10, 11, 9, 0.55) 38%, rgba(10, 11, 9, 0) 68%);
}
.jli-rent-cap {
	grid-row: 2;
	display: flex;
	align-items: flex-end;
	gap: 0.6rem;
	padding-top: 0.8rem;
	border-top: 1px solid rgba(185, 154, 91, 0.55);
	font-family: var(--jli-display);
	color: var(--jli-brass);
}
.jli-rent-cap b {
	font-weight: 300;
	font-size: var(--wp--preset--font-size--cislo);
	line-height: 0.85;
	font-variant-numeric: tabular-nums;
	color: var(--jli-cream);
}
/* Kapacita: číslo a hned vpravo ikona lidí (Matěj 8. 10.: „hostů“ pryč). Slovo zůstává
   jen pro čtečky v aria-label. */
.jli-rent-cap small {
	display: none;
}
.jli-rent-ico {
	order: 1;
	width: clamp(1.9rem, 2.6vw, 2.6rem);
	height: auto;
	margin-bottom: 0.15em;
}
.jli-rent-name {
	grid-row: 3;
	font-family: var(--jli-display);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--jli-brass);
}
.jli-rent p.jli-rent-desc {
	grid-row: 4;
	align-self: start;
	max-width: 24em;
	font-family: var(--jli-serif);
	font-style: italic;
	font-size: var(--wp--preset--font-size--maly);
	line-height: 1.35;
	color: var(--jli-cream-2);
}
.jli-rent-bars {
	display: none;
}
@keyframes jli-rent-odpocet {
	from { transform: scaleX(0); }
	to { transform: scaleX(1); }
}
@media (max-width: 781px) {
	.jli-rent {
		padding-top: 5rem;
		padding-bottom: 3.5rem;
	}
	.jli-rent::before {
		background-position: center 30%;
		opacity: 0.5;
	}
	.jli-rent::after {
		background: linear-gradient(180deg, var(--jli-night) 0%, rgba(18, 20, 17, 0.88) 14%, rgba(18, 20, 17, 0.88) 70%, var(--jli-night) 100%);
	}
	.jli-rent-in {
		grid-template-columns: minmax(0, 1fr);
	}
	.jli-rent-in > .jli-eyebrow,
	.jli-rent-in > .wp-block-heading,
	.jli-rent-in > p:not(.jli-eyebrow) {
		grid-column: 1;
		grid-row: auto;
		max-width: none;
	}
	.jli-rent-in > .wp-block-heading {
		margin-bottom: 0.9rem;
	}
	.jli-rent-in > p:not(.jli-eyebrow) {
		padding-bottom: 0;
	}
	/* Fotka přes celou šířku okna, vedle gutteru stránky. */
	.jli-rent-in > .jli-rent-stage {
		position: relative;
		width: 100vw;
		margin-inline: calc(50% - 50vw);
		margin-top: 1.8rem;
		aspect-ratio: 4 / 5;
		overflow: hidden;
	}
	.jli-rent-in > .wp-block-buttons {
		margin-top: 1.6rem;
	}
	.jli-rent-cards {
		display: block;
		position: absolute;
		inset: 0;
	}
	.jli-rent-card {
		position: absolute;
		inset: 0;
		display: block;
		aspect-ratio: auto;
		padding: 0;
		border: 0;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.7s ease;
	}
	.jli-rent-card.is-on,
	.jli-rent-cards:not(.is-js) .jli-rent-card:first-child {
		opacity: 1;
		z-index: 1;
		pointer-events: auto;
	}
	.jli-rent-img {
		transform: scale(1.04);
		transition: transform 1.4s cubic-bezier(0.2, 0.7, 0.2, 1);
	}
	.jli-rent-card.is-on .jli-rent-img,
	.jli-rent-card:hover .jli-rent-img,
	.jli-rent-cards:not(.is-js) .jli-rent-card:first-child .jli-rent-img {
		transform: none;
	}
	/* Okraje fotky se vytrácí do barvy sekce, ať je text čitelný. */
	.jli-rent-card::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: -1;
		background: linear-gradient(to bottom, var(--jli-night) 0, rgba(18, 20, 17, 0.85) 10%, rgba(18, 20, 17, 0.5) 24%, rgba(18, 20, 17, 0.15) 38%, rgba(18, 20, 17, 0) 50%);
	}
	.jli-rent-card::after {
		background: linear-gradient(to top, var(--jli-night) 0, rgba(18, 20, 17, 0.92) 14%, rgba(18, 20, 17, 0.62) 34%, rgba(18, 20, 17, 0.22) 52%, rgba(18, 20, 17, 0) 68%);
	}
	.jli-rent-name {
		position: absolute;
		top: 0.9rem;
		left: 1rem;
		font-size: 2rem;
		line-height: 1;
		letter-spacing: 0.16em;
		text-shadow: 0 1px 10px rgba(0, 0, 0, 0.7);
	}
	.jli-rent-cap {
		position: absolute;
		top: 0.9rem;
		right: 1rem;
		align-items: center;
		justify-content: flex-end;
		gap: 0.55rem;
		padding: 0;
		border: 0;
		color: var(--jli-brass);
		text-shadow: 0 1px 8px rgba(0, 0, 0, 0.65);
	}
	.jli-rent-ico {
		width: 26px;
		margin-bottom: 0;
		filter: drop-shadow(0 1px 6px rgba(0, 0, 0, 0.65));
	}
	.jli-rent-cap b {
		font-size: 2.1rem;
		line-height: 1;
	}
	.jli-rent p.jli-rent-desc {
		position: absolute;
		left: 1rem;
		right: 1rem;
		bottom: 3.9rem;
		max-width: 26em;
		text-shadow: 0 1px 10px rgba(0, 0, 0, 0.7);
	}
	.jli-rent-card.is-swap .jli-rent-name,
	.jli-rent-card.is-swap .jli-rent-cap,
	.jli-rent-card.is-swap .jli-rent-desc {
		animation: jli-rent-vstup 0.5s ease both;
	}
	/* Pruhy odpočtu jsou zároveň přepínač prostorů. */
	.jli-rent-bars {
		position: absolute;
		left: 1rem;
		right: 1rem;
		bottom: 0.35rem;
		z-index: 3;
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: minmax(0, 1fr);
		gap: 6px;
	}
	.jli-rent-bar {
		all: unset;
		box-sizing: border-box;
		cursor: pointer;
		display: grid;
		gap: 0.55rem;
		padding: 0.9rem 0 0.5rem;
	}
	.jli-rent-bar:focus-visible {
		outline: 1px solid var(--jli-brass);
		outline-offset: 2px;
	}
	.jli-rent-bar-l {
		position: relative;
		display: block;
		height: 3px;
		overflow: hidden;
		background: rgba(236, 230, 216, 0.26);
	}
	.jli-rent-bar-l::after {
		content: "";
		position: absolute;
		inset: 0;
		background: var(--jli-brass);
		transform: scaleX(0);
		transform-origin: left center;
	}
	.jli-rent-bar.is-done .jli-rent-bar-l::after {
		transform: scaleX(1);
	}
	.jli-rent-bar.is-run .jli-rent-bar-l::after {
		animation: jli-rent-odpocet var(--jli-rent-doba, 8s) linear forwards;
	}
	.jli-rent-stage.is-paused .jli-rent-bar.is-run .jli-rent-bar-l::after {
		animation-play-state: paused;
	}
	.jli-rent-stage.is-reduce .jli-rent-bar-l::after {
		animation: none;
	}
	.jli-rent-stage.is-reduce .jli-rent-bar[aria-selected="true"] .jli-rent-bar-l::after {
		transform: scaleX(1);
	}
	.jli-rent-stage.is-single .jli-rent-bars {
		display: none;
	}
	.jli-rent-bar-t {
		display: block;
		font-family: var(--jli-display);
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		white-space: nowrap;
		color: rgba(236, 230, 216, 0.55);
		text-shadow: 0 1px 8px rgba(0, 0, 0, 0.7);
		transition: color 0.25s;
	}
	.jli-rent-bar[aria-selected="true"] .jli-rent-bar-t,
	.jli-rent-bar:hover .jli-rent-bar-t {
		color: var(--jli-cream);
	}
}
@keyframes jli-rent-vstup {
	from { opacity: 0; transform: translateY(6px); }
	to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.jli-rent-card,
	.jli-rent-img,
	.jli-rent-bar-t {
		transition: none;
	}
	.jli-rent-card.is-swap .jli-rent-name,
	.jli-rent-card.is-swap .jli-rent-cap,
	.jli-rent-card.is-swap .jli-rent-desc {
		animation: none;
	}
}
/* Texty a fotka stránky /pronajem/ ([jli_pronajem_uvod], [jli_pronajem_zaver]) */
.jli-pronajem-uvod .jli-lead { font-size: var(--wp--preset--font-size--medium); max-width: 42rem; }
/* ===== Fotky po stranách formuláře =====
   Od 1280 px stojí u okrajů okna sloupy (společný blok „Sloupy s fotkami
   po stranách“ níž), fotka pod úvodem se schová. Adresy nese :root z inc/vino.php. */
.jli-pronajem-stranka main {
	overflow-x: clip;
}
@media (min-width: 1280px) {
	.jli-pronajem {
		position: relative;
	}
	.jli-pronajem-stranka .jli-pronajem-photo {
		display: none;
	}
	/* Bez fotky by nadpis formuláře lepil na úvodní text. */
	.jli-pronajem-stranka .jli-pronajem-form-title {
		margin-top: 2.5rem;
	}
}
/* ===== Sloupy s fotkami po stranách: /vino/, /menu/, /galerie/, /pronajem/ =====
   Jeden mechanismus pro všechny stránky (třída jli-sloupy a adresy fotek
   --jli-sloup-vlevo/vpravo z inc/vino.php). Sloupy drží v okně pod hlavičkou,
   za obsahem (z-index -1 = nad pozadím stránky), od 1280 px. Výška je vždycky
   okno minus hlavička, takže přiblížení i výřez jsou na všech stránkách stejné.
   Šířka (0.40.0): celé místo od okraje okna až k obsahu stránky
   (--jli-sloup-obsah), dřív strop 15rem. U obsahu fotka přechodem zčerná,
   takže pod text nikdy nevleze. Fotky jsou 960 × 1600, aby i široký sloup
   na displeji s 2× hustotou nebyl rozmazaný. */
/* Knížečka (66rem) je neprůhledná, sloupy pod ni zajedou o 5rem z každé strany,
   takže u jejího okraje fotka ještě nezčerná. */
.jli-vino-stranka {
	--jli-sloup-obsah: 56rem;
}
.jli-galerie-stranka {
	--jli-sloup-obsah: var(--wp--style--global--wide-size, 1200px);
}
@media (min-width: 1280px) {
	.jli-sloupy::before,
	.jli-sloupy::after {
		content: "";
		position: fixed;
		z-index: -1;
		top: calc(var(--jli-top) + var(--jli-notice-h, 0px) + var(--jli-header-h, 76px));
		bottom: 0;
		/* Všechno, co vedle obsahu zbude k okraji okna. */
		width: max(0px, min(calc(50vw - var(--jli-sloup-obsah, var(--wp--style--global--content-size, 44rem)) / 2), calc((var(--jli-scena) - var(--jli-sloup-obsah, var(--wp--style--global--content-size, 44rem))) / 2)));
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
		pointer-events: none;
	}
	/* Fotka se neztlumí průhledností, ale přechody: jeden ji stáhne do černé
	   směrem k obsahu, druhý zakončí sloup nahoře a dole. */
	.jli-sloupy::before {
		left: max(0px, calc(50vw - var(--jli-scena) / 2));
		background-image:
			linear-gradient(to right, rgba(18, 20, 17, 0.3), rgba(18, 20, 17, 0.55) 50%, rgb(18, 20, 17) 98%),
			linear-gradient(to bottom, rgb(18, 20, 17), rgba(18, 20, 17, 0) 14%, rgba(18, 20, 17, 0) 86%, rgb(18, 20, 17)),
			var(--jli-sloup-vlevo);
	}
	.jli-sloupy::after {
		right: max(0px, calc(50vw - var(--jli-scena) / 2));
		background-image:
			linear-gradient(to left, rgba(18, 20, 17, 0.3), rgba(18, 20, 17, 0.55) 50%, rgb(18, 20, 17) 98%),
			linear-gradient(to bottom, rgb(18, 20, 17), rgba(18, 20, 17, 0) 14%, rgba(18, 20, 17, 0) 86%, rgb(18, 20, 17)),
			var(--jli-sloup-vpravo);
	}
}

/* ===== Přechody mezi stránkami (View Transitions, jen CSS) =====
   Prohlížeč při prokliku na další stránku webu prolne starou a novou stránku,
   hlavička zůstane stát. Žádný JavaScript ani knihovna: co to neumí (Firefox),
   načte stránku jako dřív. Při omezeném pohybu vypnuté. */
@media (prefers-reduced-motion: no-preference) {
	@view-transition {
		navigation: auto;
	}
}
.jli-site-header {
	view-transition-name: jli-hlavicka;
}
::view-transition-old(root),
::view-transition-new(root) {
	animation-duration: 0.22s;
	animation-timing-function: ease-out;
}
::view-transition-group(jli-hlavicka) {
	animation-duration: 0.22s;
}

.jli-pronajem-photo { margin: 2rem 0 2.5rem; }
.jli-pronajem-photo img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.jli-pronajem-form-title { margin: 0 0 1.25rem; }
.jli-pronajem-note { margin-top: 1.5rem; color: var(--jli-cream-2); }
/* Formulář Jetpack na /pronajem/ ve vzhledu webu. Popisky krémové, vedlejší texty (vyžadováno,
   souhlas, nápovědy, „Vyberte možnost“) světle krémové: šedá --jli-muted byla u úzkého
   Kief-Tek s prostrkáním na tmavém poli špatně čitelná (Matěj 5. 10., theme 0.42.3). */
.jli-pronajem .wp-block-jetpack-contact-form label,
.jli-pronajem .wp-block-jetpack-contact-form .grunion-field-label {
	font-family: var(--jli-display);
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--jli-cream);
}
.jli-pronajem .wp-block-jetpack-contact-form label,
.jli-pronajem .wp-block-jetpack-contact-form .grunion-field-label {
	font-size: var(--wp--preset--font-size--popisek);
}
.jli-pronajem .wp-block-jetpack-contact-form .grunion-label-required,
.jli-pronajem .wp-block-jetpack-contact-form label.consent {
	color: var(--jli-cream-2);
}
/* Souhlas: Jetpack má na popisku `display: flex` (label.consent, jetpack-forms 14.9), takže text,
   odkaz na Zásady z assets/js/site.js a tečka stály vedle sebe jako tři sloupce. Jako odstavec
   se odkaz zalomí s textem. */
.jli-pronajem .wp-block-jetpack-contact-form label.consent {
	display: block;
}
.jli-pronajem .jli-privacy-link {
	white-space: nowrap;
}
/* Jetpack má vlastní styl polí s bílým pozadím (select vyhrával specificitou), proto !important. */
.jli-pronajem .wp-block-jetpack-contact-form input:not([type="checkbox"]):not([type="submit"]),
.jli-pronajem .wp-block-jetpack-contact-form select,
.jli-pronajem select,
.jli-pronajem .wp-block-jetpack-contact-form textarea {
	width: 100%;
	background: var(--jli-night-2) !important;
	background-color: var(--jli-night-2) !important;
	border: 1px solid var(--jli-line) !important;
	color: var(--jli-cream) !important;
	border-radius: 0 !important;
	padding: 0.75rem 0.9rem;
	font: inherit;
	color-scheme: dark;
}
.jli-pronajem select {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'><path d='M1 1l7 7 7-7' fill='none' stroke='%23b99a5b' stroke-width='1.5'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: right 1rem center !important;
	padding-right: 2.75rem;
	cursor: pointer;
}
.jli-pronajem select option {
	background: var(--jli-night-2);
	color: var(--jli-cream);
}
.jli-pronajem .wp-block-jetpack-contact-form input::placeholder,
.jli-pronajem .wp-block-jetpack-contact-form textarea::placeholder {
	color: var(--jli-cream-2);
}
.jli-pronajem .wp-block-jetpack-contact-form input:focus,
.jli-pronajem .wp-block-jetpack-contact-form select:focus,
.jli-pronajem .wp-block-jetpack-contact-form textarea:focus {
	outline: 2px solid var(--jli-brass);
	outline-offset: 1px;
}
/* Rozbalováky: nativní seznam možností nejde nastylovat, site.js proto nad <select>
   staví vlastní tlačítko a seznam (.jli-select). Select zůstává pod ním a nese hodnotu. */
.jli-pronajem .jli-select {
	position: relative;
}
/* Jetpack dává každému obalu z-index: 1, otevřený seznam by jinak zalezl pod další pole. */
.jli-pronajem .jli-select.is-open {
	z-index: 60;
}
.jli-pronajem .jli-select::before,
.jli-pronajem .jli-select::after,
.jli-pronajem .jli-select .jetpack-field-dropdown__icon {
	display: none !important;
}
.jli-pronajem .jli-select select {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
}
.jli-select-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	margin: 0;
	padding: 0.75rem 1rem 0.75rem 0.9rem;
	background: var(--jli-night-2);
	border: 1px solid var(--jli-line);
	border-radius: 0;
	color: var(--jli-cream);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: border-color 0.2s;
}
.jli-select-btn:hover,
.jli-select.is-open .jli-select-btn {
	border-color: var(--jli-brass);
}
.jli-select-btn:focus-visible {
	outline: 2px solid var(--jli-brass);
	outline-offset: 1px;
}
.jli-select-btn.is-empty .jli-select-value {
	color: var(--jli-cream-2);
}
.jli-select-btn.is-invalid {
	border-color: #c96a5a;
}

/* Hláška u pole formuláře pronájmu místo nativní bubliny prohlížeče (site.js, jliHint) */
.jli-pronajem .is-hinted,
.jli-select-btn.is-hinted {
	border-color: #c96a5a !important;
	box-shadow: 0 0 0 1px #c96a5a;
}
.jli-hint {
	--jli-hint-arrow: 18px;
	position: absolute;
	z-index: 60;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	box-sizing: border-box;
	max-width: min(24rem, calc(100vw - 1rem));
	padding: 0.7rem 1.1rem 0.7rem 0.8rem;
	background: var(--jli-night-2);
	border: 1px solid var(--jli-brass);
	color: var(--jli-cream);
	font-size: var(--wp--preset--font-size--maly);
	line-height: 1.3;
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.55);
}
.jli-hint::before {
	content: "";
	position: absolute;
	top: -6px;
	left: var(--jli-hint-arrow);
	width: 10px;
	height: 10px;
	background: var(--jli-night-2);
	border-top: 1px solid var(--jli-brass);
	border-left: 1px solid var(--jli-brass);
	transform: translateX(-50%) rotate(45deg);
}
.jli-hint-ico {
	flex: none;
	display: grid;
	place-items: center;
	width: 1.6rem;
	height: 1.6rem;
	border: 1px solid #c96a5a;
	border-radius: 50%;
	color: #e08a78;
	font-family: var(--jli-display);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1;
}
@media (prefers-reduced-motion: no-preference) {
	.jli-hint {
		animation: jli-hint-in 0.2s ease-out;
	}
	@keyframes jli-hint-in {
		from { opacity: 0; transform: translateY(-4px); }
		to { opacity: 1; transform: none; }
	}
}
.jli-select-btn::after {
	content: "";
	flex: none;
	width: 16px;
	height: 10px;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'><path d='M1 1l7 7 7-7' fill='none' stroke='%23b99a5b' stroke-width='1.5'/></svg>") no-repeat center;
	transition: transform 0.2s;
}
.jli-select.is-open .jli-select-btn::after {
	transform: rotate(180deg);
}
.jli-select-list {
	position: absolute;
	z-index: 50;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	max-height: min(20rem, 50vh);
	overflow-y: auto;
	margin: 0;
	padding: 0.35rem 0;
	list-style: none;
	background: var(--jli-night-2);
	border: 1px solid var(--jli-brass);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.55);
	outline: none;
	overscroll-behavior: contain;
}
.jli-select-list[hidden] {
	display: none;
}
.jli-select-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0;
	padding: 0.6rem 1rem 0.6rem 0.9rem;
	color: var(--jli-cream);
	cursor: pointer;
}
.jli-select-list li.is-active {
	background: rgba(185, 154, 91, 0.16);
}
.jli-select-list li[aria-selected="true"] {
	color: var(--jli-brass);
}
.jli-select-list li[aria-selected="true"]::after {
	content: "";
	flex: none;
	width: 14px;
	height: 10px;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'><path d='M1 5l4 4 8-8' fill='none' stroke='%23b99a5b' stroke-width='1.5'/></svg>") no-repeat center;
}
/* Nápověda formátu pod datem („Rok-měsíc-den“) */
.jli-pronajem [id$="-text-format"] {
	color: var(--jli-cream-2);
	font-size: var(--wp--preset--font-size--popisek);
}
/* Kalendář u data (Jetpack, tiny-date-picker). Vkládá se přímo do <body>, proto
   nejde omezit na .jli-pronajem; barvy řídí proměnné --dp-*. */
body .dp {
	--dp-nav-radius: 0;
	--dp-ui-color: var(--jli-cream);
	--dp-ui-background-selected: rgba(185, 154, 91, 0.16);
	--dp-ui-color-selected: var(--jli-cream);
	--dp-ui-background-focus: rgba(185, 154, 91, 0.16);
	--dp-ui-color-focus: var(--jli-cream);
	--dp-date-background: transparent;
	--dp-date-color: var(--jli-cream);
	--dp-date-background-selected: var(--jli-brass);
	--dp-date-color-selected: var(--jli-night);
	--dp-date-background-focus: rgba(185, 154, 91, 0.28);
	--dp-date-color-focus: var(--jli-cream);
	--dp-date-background-hover: rgba(185, 154, 91, 0.16);
	--dp-date-color-hover: var(--jli-cream);
	--dp-date-background-disabled: transparent;
	--dp-date-color-disabled: #57544c;
	--dp-today-color: var(--jli-brass);
	--dp-date-edge-color: #6c685f;
	--dp-text-color: var(--jli-muted);
	background: var(--jli-night-2);
	border: 1px solid var(--jli-brass);
	border-radius: 0;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.55);
	color: var(--jli-cream);
	font-family: var(--jli-display);
	font-weight: 400;
	padding: 18px;
}
body .dp::before {
	display: none;
}
body .dp-below {
	width: 360px;
	font-size: var(--wp--preset--font-size--maly);
}
body .dp-modal {
	background: rgba(18, 20, 17, 0.8);
}
body .dp-cal-month,
body .dp-cal-year {
	font-family: var(--jli-display);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--tlacitko);
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
body .dp-col-header {
	color: var(--jli-muted);
	font-family: var(--jli-display);
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
body .dp-day,
body .dp-month,
body .dp-year {
	font-family: var(--jli-display);
	font-size: var(--wp--preset--font-size--tlacitko);
	letter-spacing: 0.04em;
}
body .dp-day-today {
	box-shadow: inset 0 0 0 1px var(--jli-brass);
}
body .dp-cal-nav::before,
body .dp-cal-dropdown::after {
	border-color: var(--jli-brass);
}
body .dp-cal-footer button {
	color: var(--jli-cream);
	font-family: var(--jli-display);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	border-radius: 0;
}
/* Shrnutí odeslané poptávky (staví site.js, viz .jli-done); Jetpackový výpis se schová */
.jli-pronajem .has-jli-done > :not(.jli-done) { display: none !important; }
.jli-pronajem-uvod.is-done .jli-pronajem-photo,
.jli-pronajem-uvod.is-done .jli-pronajem-form-title,
.jli-pronajem-uvod.is-done .jli-lead { display: none; }
.jli-pronajem .has-jli-done { scroll-margin-top: calc(var(--jli-header-h, 76px) + 1.5rem); }
.jli-done { max-width: 40rem; }
.jli-done-eyebrow {
	display: flex; align-items: center; gap: 0.6rem; margin: 0;
	font-family: var(--jli-display); font-weight: 400; font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.28em; text-transform: uppercase; color: var(--jli-brass);
}
.jli-done-check {
	flex: none; width: 26px; height: 26px; border: 1px solid var(--jli-brass); border-radius: 50%;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'><path d='M1 5l4 4 8-8' fill='none' stroke='%23b99a5b' stroke-width='1.5'/></svg>") no-repeat center;
}
.jli-done-title { margin: 0.75rem 0 0.35rem; font-weight: 300; }
.jli-done-lead { margin: 0 0 1.6rem; font-size: var(--wp--preset--font-size--medium); color: var(--jli-cream-2); }
.jli-done-mail { color: var(--jli-cream); white-space: nowrap; }
/* Poděkování + fotka: desktop vedle sebe (text vlevo), mobil text přes fotku */
.jli-done-hero { margin-bottom: 1.6rem; }
.jli-done-hero .jli-done-lead { margin-bottom: 0; }
.jli-done-photo { margin: 0; border: 1px solid var(--jli-brass); }
.jli-done-photo img { display: block; width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
@media (min-width: 782px) {
	.jli-done:has(.jli-done-hero.has-photo) { max-width: 64rem; }
	.jli-done:has(.jli-done-hero.has-photo) > :not(.jli-done-hero) { max-width: 40rem; }
	.jli-done-hero.has-photo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 2.5rem; align-items: center; }
}
@media (max-width: 781px) {
	.jli-done-hero.has-photo { position: relative; border: 1px solid var(--jli-brass); }
	.jli-done-hero.has-photo .jli-done-photo { border: 0; }
	.jli-done-hero.has-photo .jli-done-photo img { aspect-ratio: 4 / 5; }
	.jli-done-hero.has-photo .jli-done-head {
		position: absolute; inset: auto 0 0 0; z-index: 1; padding: 4rem 1.25rem 1.25rem;
		background: linear-gradient(to top, rgba(18, 20, 17, 0.95) 0%, rgba(18, 20, 17, 0.75) 55%, rgba(18, 20, 17, 0) 100%);
	}
	.jli-done-hero.has-photo .jli-done-lead { color: var(--jli-cream); }
}
.jli-done-card { border: 1px solid var(--jli-brass); background: var(--jli-night-2); }
.jli-done-card > * { padding: 1.1rem 1.5rem; border-bottom: 1px solid var(--jli-line); }
.jli-done-card > :last-child { border-bottom: 0; }
.jli-done-label {
	display: block; font-family: var(--jli-display); font-weight: 400; font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.28em; text-transform: uppercase; color: var(--jli-muted);
}
.jli-done-when { padding-block: 1.4rem 1.1rem; }
.jli-done-date {
	display: block; margin-top: 0.25rem; font-family: var(--jli-display); font-weight: 300;
	font-size: var(--wp--preset--font-size--podnadpis); letter-spacing: 0.04em; text-transform: uppercase; line-height: 1.15;
}
.jli-done-time { display: block; font-size: var(--wp--preset--font-size--maly); color: var(--jli-cream-2); }
.jli-done-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); padding: 0; }
.jli-done-grid > div { padding: 1rem 1.5rem; }
.jli-done-grid > div + div { border-left: 1px solid var(--jli-line); }
.jli-done-grid > div:only-child { grid-column: 1 / -1; }
.jli-done-num { display: block; margin-top: 0.1rem; font-family: var(--jli-display); font-weight: 300; font-size: var(--wp--preset--font-size--podnadpis); }
.jli-done-val { display: block; margin-top: 0.35rem; font-size: var(--wp--preset--font-size--maly); }
.jli-done-note q { display: block; margin-top: 0.25rem; font-style: italic; font-size: var(--wp--preset--font-size--medium); quotes: "\201E" "\201C"; }
.jli-done-contact { display: flex; flex-wrap: wrap; gap: 0.3rem 1.2rem; padding-block: 0.9rem; color: var(--jli-muted); font-size: var(--wp--preset--font-size--maly); }
.jli-done-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.25rem; margin-top: 1.6rem; }
.jli-done-btn {
	display: inline-block; padding: 0.85rem 1.4rem; border: 1px solid var(--jli-brass); color: var(--jli-cream);
	font-family: var(--jli-display); font-weight: 500; font-size: var(--wp--preset--font-size--tlacitko); letter-spacing: 0.22em;
	text-transform: uppercase; text-decoration: none; white-space: nowrap;
}
.jli-done-btn:hover { background: var(--jli-brass); color: var(--jli-night); }
.jli-done-phone { margin: 0; font-size: var(--wp--preset--font-size--maly); color: var(--jli-cream-2); }
.jli-done-phone a { color: var(--jli-brass); text-decoration: none; }
@media (max-width: 599px) {
	.jli-done-grid { grid-template-columns: 1fr; }
	.jli-done-grid > div + div { border-left: 0; border-top: 1px solid var(--jli-line); }
}
/* Formulář pronájmu ve třech krocích (staví site.js, viz rentSteps). Viditelné je jen to,
   co patří k aktivnímu kroku v .jli-pronajem[data-jli-krok]. */
.jli-pronajem[data-jli-krok="1"] [data-jli-krok="2"], .jli-pronajem[data-jli-krok="1"] [data-jli-krok="3"],
.jli-pronajem[data-jli-krok="2"] [data-jli-krok="1"], .jli-pronajem[data-jli-krok="2"] [data-jli-krok="3"],
.jli-pronajem[data-jli-krok="3"] [data-jli-krok="1"], .jli-pronajem[data-jli-krok="3"] [data-jli-krok="2"],
.jli-pronajem[data-jli-krok="3"] [data-jli-krok="nav"],
.jli-pronajem[data-jli-krok="hotovo"] [data-jli-krok] { display: none !important; }
.jli-steps {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem;
	margin: 0 0 2rem; padding: 0; list-style: none; max-width: 40rem;
	scroll-margin-top: calc(var(--jli-header-h, 76px) + 1.5rem);
}
.jli-step {
	display: flex; align-items: center; gap: 0.6rem; padding-top: 0.75rem;
	border-top: 2px solid var(--jli-line); color: var(--jli-cream-2);
	font-family: var(--jli-display); font-size: var(--wp--preset--font-size--tlacitko); letter-spacing: 0.12em; text-transform: uppercase;
}
.jli-step-num {
	flex: none; display: grid; place-items: center; width: 34px; height: 34px;
	border: 1px solid var(--jli-cream-2); border-radius: 50%; font-size: 1.05rem; letter-spacing: 0;
}
.jli-step.is-active { border-top-color: var(--jli-brass); color: var(--jli-cream); }
.jli-step.is-active .jli-step-num { border-color: var(--jli-brass); background: var(--jli-brass); color: var(--jli-night); }
.jli-step.is-done { border-top-color: var(--jli-brass); color: var(--jli-brass); }
.jli-step.is-done .jli-step-num {
	border-color: var(--jli-brass); font-size: 0;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'><path d='M1 5l4 4 8-8' fill='none' stroke='%23b99a5b' stroke-width='1.5'/></svg>") no-repeat center;
}
.jli-pronajem .jli-privacy-link { color: var(--jli-brass); text-decoration: underline; text-underline-offset: 3px; text-transform: none; letter-spacing: normal; }
.jli-steps-sum { max-width: 40rem; margin-bottom: 1.5rem; }
.jli-steps-sum-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem 1.25rem; margin-bottom: 0.75rem; }
.jli-steps-sum-head .jli-done-label { margin-right: auto; font-size: var(--wp--preset--font-size--popisek); letter-spacing: 0.14em; color: var(--jli-cream-2); }
.jli-steps-edit, .jli-steps-back {
	padding: 0; border: 0; background: none; cursor: pointer; color: var(--jli-brass);
	font-family: var(--jli-display); font-size: var(--wp--preset--font-size--tlacitko); letter-spacing: 0.12em; text-transform: uppercase;
}
.jli-steps-edit:hover, .jli-steps-back:hover { color: var(--jli-cream); }
.jli-steps-nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; max-width: 40rem; }
.jli-steps-nav .jli-steps-next { margin-left: auto; }
.jli-steps-next {
	padding: 0.95rem 1.6rem; border: 0; border-radius: 0; cursor: pointer;
	background: var(--jli-brass); color: var(--jli-night);
	font-family: var(--jli-display); font-weight: 500; font-size: var(--wp--preset--font-size--tlacitko); letter-spacing: 0.16em; text-transform: uppercase;
}
.jli-steps-next:hover { background: var(--jli-cream); }
@media (max-width: 599px) {
	.jli-step-name { display: none; }
	.jli-step.is-active .jli-step-name { display: inline; }
}
.jli-pronajem .wp-block-jetpack-button .wp-block-button__link,
.jli-pronajem .wp-block-jetpack-contact-form button[type="submit"] {
	background: var(--jli-brass);
	color: var(--jli-night);
	border: 0;
	border-radius: 0;
	font-family: var(--jli-display);
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 0.95rem 1.6rem;
}

/* ===== Galerie z modulu Parťáq Galerie (od 0.36.0, plugins/jli-admin/inc/galerie.php) =====
   Modul dává jen rozvržení, tady je kabát Kampa Nights: stránka /galerie/ po skupinách
   (sekce pod sebou s lištou) a ukázka na úvodu (první fotka velká). */
.fsweb-galerie {
	--fsweb-galerie-mezera: 6px;
	--fsweb-galerie-roh: 0px;
	--fsweb-galerie-sloupec: 12rem;
	/* Lišta se skoky se lepí pod hlavičku: lišta WordPressu pro přihlášené, oznámení, hlavička. */
	--fsweb-galerie-top: calc(var(--jli-top, 0px) + var(--jli-notice-h, 0px) + var(--jli-header-h, 96px));
	--fsweb-galerie-podklad: var(--jli-night);
}
/* Stránka s galerií je široká (0.36.1): sloupec obsahu má strop 44rem a sám by galerii
   nepustil dál, texty nad ní zůstávají úzké a na středu. */
.wp-block-post-content:has(> .fsweb-galerie) {
	max-width: var(--wp--style--global--wide-size, 1200px);
}
.wp-block-post-content > .fsweb-galerie {
	max-width: none;
}
/* Stránka Galerie: perex zarovnaný doleva na šířku galerie, nadpis na středu (0.50.7)
   (WordPress si střed bloků drží přes !important). */
main:has(> .wp-block-post-content > .fsweb-galerie) {
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin-inline: auto !important;
}
main:has(> .wp-block-post-content > .fsweb-galerie) > .wp-block-post-title,
main:has(> .wp-block-post-content > .fsweb-galerie) .wp-block-post-content > :not(.fsweb-galerie) {
	max-width: none !important;
	margin-inline: 0 !important;
	text-align: left;
}
main:has(> .wp-block-post-content > .fsweb-galerie) > .wp-block-post-title {
	text-align: center;
}
.fsweb-galerie__foto {
	background: var(--jli-night-2);
}
.fsweb-galerie__foto img {
	transition: transform 0.6s ease, filter 0.6s ease;
}
.fsweb-galerie__foto:hover img,
.fsweb-galerie__foto:focus-visible img {
	transform: scale(1.03);
	filter: brightness(1.08);
}
.fsweb-galerie__foto:focus-visible {
	outline: 2px solid var(--jli-brass);
}
.fsweb-galerie__skok {
	gap: 1.75rem;
	border-bottom-color: var(--jli-line);
}
.fsweb-galerie__skok a {
	font-family: var(--jli-display);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--tlacitko);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--jli-cream-2);
	opacity: 1;
	transition: color 0.2s;
}
.fsweb-galerie__skok a:hover,
.fsweb-galerie__skok a:focus-visible {
	color: var(--jli-brass);
}
.fsweb-galerie__skupina {
	margin-top: 3rem;
}
.fsweb-galerie__nadpis {
	font-size: var(--wp--preset--font-size--podnadpis);
}
.fsweb-galerie__popisek {
	color: var(--jli-muted);
	opacity: 1;
}
.fsweb-galerie__nadpis + .fsweb-galerie__mrizka,
.fsweb-galerie__popisek + .fsweb-galerie__mrizka {
	margin-top: 1rem;
}
.fsweb-galerie__cta {
	padding-top: 1.75rem;
}
.fsweb-galerie .fsweb-galerie__tlacitko {
	display: inline-flex;
	padding: 0.85rem 1.35rem;
	font-family: var(--jli-display);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--tlacitko);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	color: var(--jli-brass);
	background: none;
	border: 1px solid var(--jli-brass);
	border-radius: 0;
	transition: background-color 0.2s, color 0.2s;
}
.fsweb-galerie .fsweb-galerie__tlacitko:hover {
	background: var(--jli-brass);
	color: var(--jli-night);
}
/* Ukázka na úvodu: dva sloupce a první fotka přes oba, od 782 px čtyři a první 2 × 2. */
.jli-gallery .fsweb-galerie {
	margin: 2rem auto 0;
	max-width: var(--wp--style--global--wide-size, 1200px);
}
.jli-gallery .fsweb-galerie__legendy {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.jli-gallery .fsweb-galerie__legendy .fsweb-galerie__foto:first-child {
	grid-column: span 2;
	grid-row: auto;
	aspect-ratio: 2 / 1;
}
@media (min-width: 782px) {
	.fsweb-galerie {
		--fsweb-galerie-mezera: 10px;
	}
	.jli-gallery .fsweb-galerie__legendy {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.jli-gallery .fsweb-galerie__legendy .fsweb-galerie__foto:first-child {
		grid-row: span 2;
		aspect-ratio: auto;
	}
	/* Sekce se má vejít do okna (0.37.1): mřížka má dvě řady, její výška je šířka dělená
	   --jli-gal-pomer (pět fotek = čtyři sloupce = 2, sedm fotek = pět sloupců = 2,5). Šířku proto
	   drží výška okna bez hlavičky a zbytku sekce (nadpis, tlačítko, odsazení ≈ 20rem). */
	.jli-gallery .fsweb-galerie {
		--jli-gal-pomer: 2;
		max-width: min(var(--wp--style--global--wide-size, 1200px), max(34rem, calc((100svh - var(--jli-top, 0px) - var(--jli-notice-h, 0px) - var(--jli-header-h, 76px) - 20rem) * var(--jli-gal-pomer))));
	}
	/* Sedm fotek (Matěj 5. 10.): velká a 3 × 2 menší, na poslední „+X“ z modulu. */
	.jli-gallery .fsweb-galerie:has(.fsweb-galerie__legendy > :nth-child(7):last-child) {
		--jli-gal-pomer: 2.5;
	}
	.jli-gallery .fsweb-galerie__legendy:has(> :nth-child(7):last-child) {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}
/* Dlaždice „+X“ modulu v kabátě Kampa Nights. */
.fsweb-galerie__vice {
	font-family: var(--jli-display);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--cislo);
	letter-spacing: 0.06em;
	color: var(--jli-cream);
	background: rgba(18, 20, 17, 0.68);
}
.fsweb-galerie__foto--vice:hover .fsweb-galerie__vice,
.fsweb-galerie__foto--vice:focus-visible .fsweb-galerie__vice {
	color: var(--jli-brass);
	background: rgba(18, 20, 17, 0.55);
}
/* Zvětšenina modulu: šipky a křížek v mosazi. */
.fsweb-galerie-okno button {
	border: 1px solid rgba(236, 230, 216, 0.35);
	background: rgba(18, 20, 17, 0.6);
}
.fsweb-galerie-okno button:hover,
.fsweb-galerie-okno button:focus-visible {
	border-color: var(--jli-brass);
	color: var(--jli-brass);
	background: rgba(18, 20, 17, 0.6);
}
/* Popisek může ležet přes světlou fotku (talíř), proto na tmavé destičce (0.46.5). */
.fsweb-galerie-okno figcaption {
	position: relative;
	z-index: 1;
	justify-self: center;
	align-self: end;
	width: fit-content;
	max-width: calc(100% - 2rem);
	margin: 0.75rem auto 0;
	padding: 0.45rem 0.95rem;
	min-height: 0;
	font-family: var(--jli-display);
	letter-spacing: 0.08em;
	color: var(--jli-cream);
	background: rgba(18, 20, 17, 0.78);
	border: 1px solid rgba(185, 154, 91, 0.35);
	backdrop-filter: blur(6px);
}
.fsweb-galerie-okno figcaption:empty {
	display: none;
}

/* Rezervace na konci úvodu: řádek o salonku, pod ním Rezervovat a vedle obrysové
   „Pronájem prostor“ stejné jako „Poptat termín“ (0.42.2, Matěj 5. 10.). Obrysové má
   výšku velkého Rezervovat; mezera počítá s vnějším rámečkem mosazné destičky. */
.jli-resv-salonek {
	color: var(--jli-muted);
}
.jli-resv .wp-block-buttons {
	align-items: center;
	gap: 1.5rem;
}
.jli-resv .wp-block-button.is-style-jli-ghost .wp-block-button__link {
	padding: calc(1.2rem - 1px) 1.6rem; /* bez rámečku stejně vysoké jako Rezervovat */
	font-size: var(--wp--preset--font-size--tlacitko);
}
/* Na telefonu se obě vejdou vedle sebe i na 375 px. */
@media (max-width: 820px) {
	.jli-resv .wp-block-buttons {
		gap: 1rem;
	}
	.jli-resv .wp-block-button.is-style-jli-ghost .wp-block-button__link {
		padding-inline: 1rem;
		letter-spacing: 0.16em;
	}
}

/* Zmínky v médiích jako papírové výstřižky z článků (0.39.0): bílý papír, mírně natočený,
   typografie podle média, celá karta vede na článek. Loga médií jsou bílá SVG → na papíře invert. */
.jli-vystrizky {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
	gap: 2rem;
	margin-block: 0 3rem;
}
.jli-reviews .jli-vystrizek {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	padding: 1.4rem 1.6rem 1.3rem;
	background: #fff;
	color: #111;
	text-decoration: none;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.45);
	transform: rotate(var(--natoceni, 0deg));
	transition: transform 0.25s;
}
.jli-reviews a.jli-vystrizek:hover {
	transform: rotate(var(--natoceni, 0deg)) translateY(-3px);
}
.jli-reviews a.jli-vystrizek:focus-visible {
	outline: 2px solid var(--jli-brass);
	outline-offset: 4px;
}
.jli-vystrizek-logo {
	align-self: flex-start;
	width: auto;
	filter: invert(1);
}
.jli-vystrizek-medium {
	font-family: Georgia, serif;
	font-weight: 700;
	font-size: 1.5rem;
}
.jli-vystrizek-foto {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.jli-vystrizek-rubrika {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
}
.jli-reviews .jli-vystrizek-titulek {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 700;
	font-size: 1.45rem;
	line-height: 1.22;
	letter-spacing: 0;
	text-transform: none;
	text-wrap: balance;
	color: #111;
}
.jli-vystrizek-pata {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.8rem;
	color: #555;
}
.jli-vystrizek-cist {
	margin-top: auto;
	font-family: var(--jli-display);
	font-size: 0.85rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}
.jli-vystrizek.is-forbes .jli-vystrizek-rubrika,
.jli-vystrizek.is-forbes .jli-vystrizek-cist {
	color: #c4521b;
}
.jli-vystrizek.is-forbes .jli-vystrizek-rubrika::before {
	content: "- ";
}
.jli-vystrizek.is-czechcrunch .jli-vystrizek-rubrika {
	align-self: flex-start;
	padding: 0.25rem 0.55rem;
	border-radius: 4px;
	background: #d4f53c;
	color: #111;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 0.7rem;
}
.jli-reviews .jli-vystrizek.is-czechcrunch .jli-vystrizek-titulek {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.3rem;
	line-height: 1.25;
	letter-spacing: -0.01em;
}
.jli-vystrizek.is-czechcrunch .jli-vystrizek-pata {
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: #333;
}
@media (prefers-reduced-motion: reduce) {
	.jli-reviews .jli-vystrizek { transition: none; }
	.jli-reviews a.jli-vystrizek:hover { transform: rotate(var(--natoceni, 0deg)); }
}

/* Nadtitulek nad „Říkají o nás“ (hlavička je flex vedle sebe) */
.jli-reviews-head > .jli-eyebrow {
	flex-basis: 100%;
	margin: 0;
}

/* ===== Právní stránky (Parťáq Legal: Ochrana osobních údajů, Cookies) =====
   Plugin skládá obyčejné HTML v obalu .fsweb-legal s tabulkou .legal-table. Bez vlastního
   stylu dostaly nadpisy velikost z úvodu a tabulka se lámala po slovech. */
:is(.fsweb-legal, .partaq-legal) {
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.65;
	color: var(--jli-cream-2);
}
:is(.fsweb-legal, .partaq-legal) p,
:is(.fsweb-legal, .partaq-legal) li {
	font-size: inherit;
	line-height: inherit;
}
:is(.fsweb-legal, .partaq-legal) h2 {
	margin: 2.75rem 0 0.9rem;
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.15;
	color: var(--jli-cream);
}
:is(.fsweb-legal, .partaq-legal) h3 {
	margin: 2rem 0 0.6rem;
	font-size: var(--wp--preset--font-size--podnadpis);
	line-height: 1.2;
	color: var(--jli-cream);
}
:is(.fsweb-legal, .partaq-legal) > :first-child {
	margin-top: 0;
}
:is(.fsweb-legal, .partaq-legal) strong {
	color: var(--jli-cream);
}
:is(.fsweb-legal, .partaq-legal) a {
	color: color-mix(in srgb, var(--jli-brass), #fff 15%);
}
:is(.fsweb-legal, .partaq-legal) .wp-block-table {
	margin: 1.25rem 0 2rem;
	overflow-x: visible;
}
:is(.fsweb-legal, .partaq-legal) .legal-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--maly);
	line-height: 1.5;
}
:is(.fsweb-legal, .partaq-legal) .legal-table th {
	padding: 0 0.75rem 0.6rem 0;
	border: 0;
	border-bottom: 1px solid color-mix(in srgb, var(--jli-brass), transparent 50%);
	font-family: var(--jli-display);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--popisek);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-align: left;
	color: var(--jli-muted);
}
:is(.fsweb-legal, .partaq-legal) .legal-table td {
	padding: 0.85rem 0.75rem 0.85rem 0;
	border: 0;
	border-bottom: 1px solid var(--jli-line);
	vertical-align: top;
}
:is(.fsweb-legal, .partaq-legal) .legal-table th:first-child,
:is(.fsweb-legal, .partaq-legal) .legal-table td:first-child {
	width: 34%;
}
:is(.fsweb-legal, .partaq-legal) .legal-table th:nth-child(2),
:is(.fsweb-legal, .partaq-legal) .legal-table td:nth-child(2) {
	width: 6rem;
}
:is(.fsweb-legal, .partaq-legal) .legal-table th:last-child,
:is(.fsweb-legal, .partaq-legal) .legal-table td:last-child {
	width: 7.5rem;
	padding-right: 0;
}
:is(.fsweb-legal, .partaq-legal) code {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 0.8em;
	color: var(--jli-cream);
	overflow-wrap: anywhere;
}
:is(.fsweb-legal, .partaq-legal) em {
	color: var(--jli-muted);
}
/* Telefon: každý řádek tabulky jako karta, popisky sloupců z data-label. */
@media (max-width: 700px) {
	:is(.fsweb-legal, .partaq-legal) .legal-table thead {
		display: none;
	}
	:is(.fsweb-legal, .partaq-legal) .legal-table,
	:is(.fsweb-legal, .partaq-legal) .legal-table tbody,
	:is(.fsweb-legal, .partaq-legal) .legal-table tr,
	:is(.fsweb-legal, .partaq-legal) .legal-table td {
		display: block;
		width: auto !important;
	}
	:is(.fsweb-legal, .partaq-legal) .legal-table tr {
		padding: 0.9rem 0;
		border-bottom: 1px solid var(--jli-line);
	}
	:is(.fsweb-legal, .partaq-legal) .legal-table td {
		padding: 0.2rem 0;
		border: 0;
	}
	:is(.fsweb-legal, .partaq-legal) .legal-table td::before {
		content: attr(data-label);
		display: block;
		font-family: var(--jli-display);
		font-weight: 500;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: var(--jli-muted);
	}
	:is(.fsweb-legal, .partaq-legal) .legal-table td:first-child::before {
		display: none;
	}
}

/* ===== Ultraširoké monitory (0.45.0) =====
   Nad 2560 px (21:9 = 3440, 32:9 = 5120) by se úvodní video ořezalo na pruh, sloupy
   a pozadí sekcí by se roztáhly přes tisíce pixelů. Stránka proto dostane strop šířky
   (--jli-scena) a vycentruje se; za ním je barva stránky a okraje scény doznívají do
   ní přechodem. Do 2560 px se nemění nic. Sloupy s fotkami (blok výš) se strop
   drží taky: začínají na okraji scény, ne okna. Lišta oznámení zůstává přes celé okno. */
:root {
	--jli-scena: 2560px;
}
@media (min-width: 2561px) {
	.wp-site-blocks {
		max-width: var(--jli-scena);
		margin-inline: auto;
	}
	/* Okraje scény: html, protože body::before/::after už používají sloupy s fotkami.
	   Pod hlavičkou (50) a lištou oznámení (49), jinak by ztlumily logo. */
	html::before,
	html::after {
		content: "";
		position: fixed;
		inset-block: 0;
		z-index: 40;
		width: 10rem;
		pointer-events: none;
	}
	html::before {
		left: calc(50vw - var(--jli-scena) / 2);
		background: linear-gradient(to right, var(--jli-night), rgba(18, 20, 17, 0));
	}
	html::after {
		right: calc(50vw - var(--jli-scena) / 2);
		background: linear-gradient(to left, var(--jli-night), rgba(18, 20, 17, 0));
	}
}

/* Stupnice písma (0.47.1): texty, kterým velikost dává cizí plugin nebo jiné místo. */
.jli-rev-dalsi .jli-stars {
	font-size: var(--wp--preset--font-size--popisek);
}
.jli-pronajem .grunion-label-required {
	font-size: inherit;
}
.jli-pronajem .go-back-message a.link {
	font-size: var(--wp--preset--font-size--tlacitko);
}

/* Delší překlad obrysového tlačítka (RU „Арендная плата за помещения“) se na úzkém
   telefonu zalomí, místo aby stránku roztáhl do strany (0.47.4). */
.wp-block-button.is-style-jli-ghost {
	max-width: 100%;
}
.wp-block-button.is-style-jli-ghost .wp-block-button__link {
	white-space: normal;
	text-align: center;
}

/* ===== Časté otázky (theme 1.6.0, inc/faq.php) =====
   Akordeon jádra (core/accordion) na stránce /caste-otazky/ a ve výběru [jli_faq] / vzor home-faq.
   Řádky oddělené tenkou linkou, otázka Cormorantem, mosazné +/–, otevřená s mosaznou linkou vlevo. */
.jli-faq-sekce { padding-block: clamp(3.5rem, 8vw, 6rem); text-align: center; }
.jli-faq-sekce > .jli-faq { text-align: start; margin-top: 2.25rem; }
.jli-faq .wp-block-accordion,
.entry-content > .wp-block-accordion { border-top: 1px solid var(--wp--preset--color--line); }
.jli-faq .wp-block-accordion-item,
.entry-content > .wp-block-accordion > .wp-block-accordion-item {
	border-bottom: 1px solid var(--wp--preset--color--line);
	box-shadow: inset 2px 0 0 transparent;
	transition: box-shadow 0.2s ease, background 0.2s ease;
}
.jli-faq .wp-block-accordion-item.is-open,
.entry-content > .wp-block-accordion > .wp-block-accordion-item.is-open {
	box-shadow: inset 2px 0 0 var(--jli-brass);
	background: rgba(185, 154, 91, 0.05);
}
.wp-block-accordion-heading {
	margin: 0;
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--podnadpis);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
}
.wp-block-accordion-heading__toggle {
	gap: 1.25rem;
	min-height: 4.25rem;
	padding: 1.1rem 1.25rem;
	color: var(--wp--preset--color--cream);
}
.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title { text-decoration: none; color: var(--jli-brass); }
.wp-block-accordion-heading__toggle:focus-visible { outline: 2px solid var(--jli-brass); outline-offset: -2px; }
.wp-block-accordion-heading__toggle-title { flex: 1 1 auto; }
.wp-block-accordion-heading__toggle-icon {
	flex: none;
	width: 2rem;
	height: 2rem;
	border: 1px solid var(--jli-brass);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0;
	color: var(--jli-brass);
	transform: none !important;
	transition: background 0.2s, color 0.2s;
}
.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon { background: var(--jli-brass); color: var(--jli-cta-text); }
.wp-block-accordion-heading__toggle-icon::before { content: "+"; font-family: var(--jli-display); font-size: 1.25rem; line-height: 1; }
.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon::before { content: "–"; }
.wp-block-accordion-panel {
	padding: 0 4.5rem 1.4rem 1.25rem;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.6;
	color: var(--wp--preset--color--cream-2);
}
.wp-block-accordion-panel > * + * { margin-top: 0.75rem; }
.jli-faq-vse { margin-top: 2rem !important; text-align: center; }
@media (max-width: 599px) {
	.wp-block-accordion-heading__toggle { padding: 1rem 0.75rem; gap: 0.75rem; align-items: flex-start; }
	.wp-block-accordion-panel { padding: 0 0.75rem 1.2rem; }
}

/* ===== Speciál na /menu/ svítí (Igor 9. 11. 2026: „jak ty lišky svítily“) =====
   Chod speciálu (inc/rezervato.php, .jli-special-chod) je mosazná karta s dýchající
   září jako štítek speciálu v pásu na úvodu; záložka speciálu v liště chodů je mosazná. */
.jli-rezervato-menu .jli-special-chod {
	position: relative;
	margin-bottom: 3rem;
	padding: 1.75rem 1.75rem 0.75rem;
	border: 1px solid color-mix(in srgb, var(--jli-brass), transparent 35%);
	background:
		radial-gradient(120% 70% at 50% 0%, color-mix(in srgb, var(--jli-brass), transparent 84%), transparent 70%),
		color-mix(in srgb, var(--jli-brass), transparent 95%);
	box-shadow: 0 0 28px 2px rgba(185, 154, 91, 0.18);
}
.jli-rezervato-menu .jli-special-chod .tf-menu-cat-name {
	color: var(--jli-brass);
	border-bottom-color: color-mix(in srgb, var(--jli-brass), transparent 55%);
	text-shadow: 0 0 18px rgba(185, 154, 91, 0.35);
}
.jli-rezervato-menu .jli-special-chod .tf-menu-item {
	border-color: color-mix(in srgb, var(--jli-brass), transparent 45%);
}
.jli-menu-anchor.is-special {
	color: var(--jli-brass);
}
.jli-menu-anchor.is-special:hover,
.jli-menu-anchor.is-special[aria-current="true"] {
	color: color-mix(in srgb, var(--jli-brass), white 25%);
}
@media (max-width: 599px) {
	.jli-rezervato-menu .jli-special-chod {
		padding: 1.25rem 0.85rem 0.25rem;
	}
}
@media (prefers-reduced-motion: no-preference) {
	.jli-rezervato-menu .jli-special-chod {
		animation: jli-special-halo 3.6s ease-in-out infinite;
	}
}
