/*
 * Vzhled webu svatyjakub.cz v Divi 5 — přestavba šablony Ave 1 : 1.
 * Hodnoty z nastavení Ave (Redux) a z měření původního webu.
 * Šířka obsahu 1140 px (kontejner Ave 1170 − 2 × 15), mobilní zlom 980 px (Divi menu), 767 px (sloupce).
 */

:root {
	--sj-zelena: #afd5ba;
	--sj-modra: #312783;
	--sj-odkaz: #4430e6;
	--sj-text: #808291;
	--sj-tmava: #181b31;
	--sj-pozadi: #f4f5f8;
	--sj-plocha: 1140px;
	--sj-pismo: 'Poppins', sans-serif;
	--sj-linka: url(/wp-content/uploads/2020/03/bg_line2.png);
	--sj-ikony: url(/wp-content/themes/divi-child/assets/ikony/);
}

/* ------------------------------------------------------------------ základ */

body, body .et_pb_module, body .et_pb_text, body input, body textarea, body button {
	font-family: var(--sj-pismo);
}
html body { font-size: 16px; line-height: 1.5; color: var(--sj-text); font-weight: 400; -webkit-font-smoothing: antialiased; }   /* Divi: body 14px / 1.7em */
body #page-container { overflow-x: clip; }
h1, h2, h3, h4, h5, h6 { font-family: var(--sj-pismo); color: var(--sj-modra); font-weight: 700; padding-bottom: 0; }
h1 { font-size: 72px; line-height: 1.111em; }
h2 { font-size: 36px; line-height: 1.111em; }
h3 { font-size: 30px; line-height: 1.25em; }
h4 { font-size: 22px; line-height: 1.5em; }
h5 { font-size: 19px; line-height: 1.5em; }
h6 { font-size: 17px; line-height: 1.5; color: var(--sj-tmava); }
a { color: var(--sj-odkaz); }
p { padding-bottom: 0; margin-bottom: 1.3em; }
p:last-child { margin-bottom: 0; }

/* svislá linka na pozadí obsahu (Ave: #content, bg_line2.png) — sekce bez vlastního pozadí ji nesmí zakrýt */
#page-container #main-content { background: #fff var(--sj-linka) repeat-y center top; }   /* Divi: .et_pb_pagebuilder_layout #main-content { transparent } — dvě id ho přebijí */
.et_pb_section.sj-zajima, .et_pb_section.sj-kostel { background-color: transparent; }

/* ------------------------------------------------------------------ mřížka Divi → Ave */
/*
 * Jako Bootstrap v Ave: řádek 1170 px se zápornými okraji, sloupce s okraji 15 px.
 * Šířky sloupců z Divi 5 (et_flex_column_K_24) přepočítané bez mezer Divi.
 */
:where(.sj-sekce:not(.sj-vc), .sj-hlavicka, .sj-paticka) { padding: 0 !important; }   /* nulová priorita: vlastní odsazení sekcí (homepage) má přednost; převedené sekce (sj-vc) mají odsazení z převodu */
/* Divi 5 vkládá mezi řádky a moduly mezery (--vertical-gap 30 px) — Ave je nemá, odstupy nese CSS */
.sj-sekce, .sj-hlavicka, .sj-paticka, .sj-radek, .sj-radek > :is(.et_pb_column, .et_pb_column_inner) { --vertical-gap: 0px; --horizontal-gap: 0px; row-gap: 0 !important; }
.sj-radek.et_pb_row {
	display: flex; flex-wrap: wrap; gap: 0 !important;
	width: calc(100% - 30px + 30px) !important; max-width: calc(var(--sj-plocha) + 30px) !important;
	margin: 0 auto !important; padding: 0 !important;
}
/* kontejnery Bootstrapu jako v Ave: 1170 / 970 / 750 px (obsah 1140 / 940 / 720), pod 768 px přes celou šířku */
@media (max-width: 1199px) { :root { --sj-plocha: 940px; } }
@media (max-width: 991px) { :root { --sj-plocha: 720px; } }
@media (max-width: 767px) { .sj-radek.et_pb_row { max-width: 100% !important; } }
.sj-radek > :is(.et_pb_column, .et_pb_column_inner) { margin: 0 !important; min-width: 0; flex: 0 0 100%; width: auto !important; max-width: none !important; }
/* odsazení sloupce bez !important a s nízkou specifičností — odsazení sloupců z převodu (Divi, !important) má přednost */
:where(.sj-radek) > :is(.et_pb_column, .et_pb_column_inner) { padding-left: 15px; padding-right: 15px; }
.sj-radek > .et_flex_column_4_24  { flex-basis: calc(100% * 4 / 24); }
.sj-radek > .et_flex_column_6_24  { flex-basis: 25%; }
.sj-radek > .et_flex_column_8_24  { flex-basis: calc(100% / 3); }
.sj-radek > .et_flex_column_10_24 { flex-basis: calc(100% * 10 / 24); }
.sj-radek > .et_flex_column_12_24 { flex-basis: 50%; }
.sj-radek > .et_flex_column_16_24 { flex-basis: calc(100% * 2 / 3); }
.sj-radek > :is(.et_pb_column, .et_pb_column_inner) { flex-direction: column; align-items: stretch; }
.sj-vc .sj-radek > .et_pb_column.et_pb_column_empty { display: flex !important; }   /* Divi prázdný sloupec do 980 px skrývá; z převodu nese mezeru (vc_empty_space) */
:where(.sj-sekce, .sj-hlavicka, .sj-paticka) .et_pb_module { margin-bottom: 0 !important; }
/* spodní okraj obrázků, oddělovačů, kódu a videa z převodu (WPBakery .wpb_content_element 35 px) — Divi jim okraj
   z nastavení modulu vypisuje bez !important a vlastní pravidlo sloupce ho přebije */
.sj-vc :is(.et_pb_module, .sj-radek > .et_pb_column, .sj-radek > .et_pb_column_inner).sj-mb-35 { margin-bottom: 35px !important; }
.sj-vc :is(.et_pb_module, .sj-radek > .et_pb_column, .sj-radek > .et_pb_column_inner).sj-mb-30 { margin-bottom: 30px !important; }
/* barvy a písmo textů nese třída modulu, ne Divi */
.sj-sekce .et_pb_text_inner, .sj-hlavicka .et_pb_text_inner, .sj-paticka .et_pb_text_inner { color: inherit; font: inherit; }
.sj-sekce .et_pb_text_inner > *:last-child { margin-bottom: 0; }

@media (max-width: 767px) {
	.sj-radek > :is(.et_pb_column, .et_pb_column_inner) { flex-basis: 100% !important; max-width: 100% !important; width: 100% !important; }
	.sj-radek:not(.sj-vc .sj-radek) > :is(.et_pb_column, .et_pb_column_inner) + :is(.et_pb_column, .et_pb_column_inner) { margin-top: 30px !important; }   /* převedené stránky: Ave skládá sloupce bez mezery */
}

/* ------------------------------------------------------------------ tlačítka (Ave btn) */
/*
 * Hover jako v Ave (změřeno na ostrém webu 21. 10. 2026): tlačítko se nadzvedne o 1 px
 * a dostane vrstvený stín; barvy podle druhu. Odsazení drží proměnná --sj-pad i při najetí —
 * Divi při :hover přidává místo pro ikonu silnějším pravidlem a tlačítko by poskočilo.
 */
.sj-tlacitko { --sj-pad: 13px 2.1em; }
.sj-tlacitko-obrys { --sj-pad: 12px 35px; }
.sj-tlacitko-male { --sj-pad: 9px 16px; }
.sj-tlacitko-kalendar { --sj-pad: 13px 37px; }
.sj-tlacitko-podtrzene { --sj-pad: 6px 0; }
.sj-kostel .sj-tlacitko { --sj-pad: 11px 2.1em; }
html body #page-container .et_pb_section .et_pb_button:is(.sj-tlacitko, .sj-tlacitko-podtrzene),
html body #page-container .et_pb_section .et_pb_button:is(.sj-tlacitko, .sj-tlacitko-podtrzene):hover {
	padding: var(--sj-pad) !important;
}
body .et_pb_button.sj-tlacitko, body .et_pb_button.sj-tlacitko-podtrzene {
	display: inline-flex !important; flex-direction: row !important; gap: 0 !important;   /* Divi 5: et_flex_module má sloupec a mezeru 30 px */
	align-items: center; justify-content: center; white-space: nowrap;
	font: 700 16px/24px var(--sj-pismo) !important; letter-spacing: .05em; text-transform: uppercase;
	border: 1px solid var(--sj-zelena) !important; border-radius: 0 !important;
	background: var(--sj-zelena) !important; color: #fff !important;
	box-shadow: none; transform: none;
	transition: background-color .3s, color .3s, border-color .3s, box-shadow .3s, transform .3s;
}
body .et_pb_button::after, body .et_pb_button::before { display: none !important; }
body .et_pb_button.sj-tlacitko:hover, .sj-tlacitko-obrys-modre:hover, .sj-formular input[type=submit]:hover {
	transform: translateY(-1px);
	box-shadow: 0 1px 1px rgba(0, 0, 0, .05), 0 2px 2px rgba(0, 0, 0, .05), 0 4px 4px rgba(0, 0, 0, .05),
		0 8px 8px rgba(0, 0, 0, .05), 0 16px 16px rgba(0, 0, 0, .05);
}
/* plné zelené (Zjistit více, Více aktualit, Více informací): zůstane zelené, rámeček zmizí */
body .et_pb_button.sj-tlacitko:hover { border-color: transparent !important; }
/* program mší: při najetí bílé s černým písmem */
body .et_pb_button.sj-tlacitko-kalendar:hover { background: #fff !important; color: #000 !important; border-color: #fff !important; }
/* obrysové (Dárcovství, Kontakty): vyplní se zeleně */
body .et_pb_button.sj-tlacitko-obrys { background: transparent !important; color: var(--sj-zelena) !important; border-width: 2px !important; }
body .et_pb_button.sj-tlacitko-obrys:hover { background: var(--sj-zelena) !important; color: #fff !important; }
/* malé */
body .et_pb_button.sj-tlacitko-male { font: 400 16px/24px var(--sj-pismo) !important; letter-spacing: 0; text-transform: none; }
/* podtržené (Další kontakty): zůstává zelené, při najetí se vykreslí čára */
body .et_pb_button.sj-tlacitko-podtrzene, body .et_pb_button.sj-tlacitko-podtrzene:hover {
	border: 0 !important; color: var(--sj-zelena) !important; transform: none; box-shadow: none;
	font: 400 16px/24px var(--sj-pismo) !important; text-transform: none; letter-spacing: 0;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat !important; transition: background-size .3s;
}
body .et_pb_button.sj-tlacitko-podtrzene:hover { background-size: 100% 1px !important; }
/* tlačítko s ikonou kalendáře */
html body #page-container .et_pb_button.sj-tlacitko-kalendar::before {
	content: '' !important; display: block !important; position: static !important; opacity: 1 !important;
	width: 24px; height: 24px; margin: 0 31px 0 0 !important; background: currentColor;
	top: auto !important; transform: none !important; font-size: 0 !important; line-height: 0 !important;
	-webkit-mask: url(/wp-content/themes/divi-child/assets/ikony/kalendar.svg) center / contain no-repeat;
	mask: url(/wp-content/themes/divi-child/assets/ikony/kalendar.svg) center / contain no-repeat;
}

/* ------------------------------------------------------------------ ikony (masky, barva = color) */

.sj-ikona { display: inline-block; width: 40px; height: 40px; background: currentColor;
	-webkit-mask: var(--sj-maska) center / contain no-repeat; mask: var(--sj-maska) center / contain no-repeat; }
.sj-ikona--megafon { --sj-maska: url(/wp-content/themes/divi-child/assets/ikony/megafon.svg); }
.sj-ikona--zpravodaj { --sj-maska: url(/wp-content/themes/divi-child/assets/ikony/zpravodaj.svg); }
.sj-ikona--fotoaparat { --sj-maska: url(/wp-content/themes/divi-child/assets/ikony/fotoaparat.svg); }
.sj-ikona--sipky { --sj-maska: url(/wp-content/themes/divi-child/assets/ikony/sipky.svg); }
.sj-ikona--kalendar { --sj-maska: url(/wp-content/themes/divi-child/assets/ikony/kalendar.svg); }
.sj-ikona--bublina { --sj-maska: url(/wp-content/themes/divi-child/assets/ikony/bublina.svg); }

/* ------------------------------------------------------------------ hlavička */

.et-l--header { position: absolute; top: 0; left: 0; right: 0; z-index: 99; }
.sj-hlavicka { background: transparent !important; padding: 0 !important; }
.sj-hlavicka .sj-radek.et_pb_row { width: 100% !important; max-width: none !important; padding: 0 35px !important; flex-wrap: nowrap; }
/* Ave: logo ve sloupci 80 px uprostřed (přečnívá), menu na střed zbylých polovin — střed levého menu
   na 25 % šířky − 20 px, pravého na 75 % + 20 px (změřeno na ostrém webu 1280–1920 px) */
.sj-hlavicka .sj-radek.sj-hlavicka-desktop { align-items: center; min-height: 170px; padding: 0 !important; }
.sj-hlavicka .sj-hlavicka-desktop > :is(.sj-hlavicka-vlevo, .sj-hlavicka-vpravo) { flex: 1 1 0 !important; width: auto !important; max-width: none !important; padding: 0 !important; align-items: center !important; }
.sj-hlavicka .sj-hlavicka-desktop > .sj-hlavicka-stred { flex: 0 0 80px !important; width: 80px !important; max-width: none !important; align-items: center !important; padding: 10px 0 !important; overflow: visible; }
.sj-hlavicka .sj-hlavicka-desktop > .sj-hlavicka-stred .sj-logo { flex: 0 0 auto; width: 150px !important; max-width: none !important; }
.sj-hlavicka-desktop .sj-menu .et_pb_menu_inner_container { padding: 0 !important; margin: 0 !important; }
.sj-logo, .sj-logo .et_pb_image_wrap { width: 150px; max-width: 150px; }
.sj-logo img { width: 150px; height: auto; }

.sj-menu .et_pb_menu_inner_container, .sj-menu .et_pb_menu__wrap { justify-content: center; }   /* Ave: menu na střed svého sloupce */
.sj-menu, .sj-menu .et_pb_menu_inner_container { background: transparent !important; }
.sj-menu .et_pb_menu__menu > nav > ul { margin: 0 !important; padding: 0 !important; display: flex; }
.sj-menu .et_pb_menu__menu > nav > ul > li { padding: 0 !important; margin: 0 !important; }
.sj-menu .et_pb_menu__menu > nav > ul > li > a {
	position: relative; padding: 10px 15px !important;
	font: 700 14px/21px var(--sj-pismo); letter-spacing: .1em; text-transform: uppercase;
	color: rgba(255, 255, 255, .77) !important; opacity: 1 !important; transition: color .3s;
}
.sj-menu .et_pb_menu__menu > nav > ul > li > a:hover,
.sj-menu .et_pb_menu__menu > nav > ul > li.current-menu-item > a { color: #fff !important; }
/* Ave „underline-1": čára pod položkou při najetí */
.sj-menu .et_pb_menu__menu > nav > ul > li > a::after {
	content: ''; position: absolute; left: 15px; right: 15px; bottom: 6px; height: 1px; background: currentColor;
	transform: scaleX(0); transform-origin: right; transition: transform .3s;
}
.sj-menu .et_pb_menu__menu > nav > ul > li > a:hover::after { transform: scaleX(1); transform-origin: left; }
.sj-menu .menu-item-has-children > a { padding-right: 15px !important; }
.sj-menu .et-menu .menu-item-has-children > a:first-child::after {
	content: '' !important; font-family: inherit !important; font-size: 0 !important; line-height: 0 !important;
	top: auto !important; left: 15px !important; right: 15px !important; bottom: 6px !important; height: 1px; width: auto !important;
	position: absolute !important; display: block !important; background: currentColor;
}
.sj-menu .menu-item-has-children > a::before { display: none; }
/* podmenu Kostel */
.sj-menu .et-menu > li:is(.current-menu-item, .current-menu-ancestor, .current_page_ancestor) > a::after { transform: scaleX(1); }   /* aktivní položka podtržená (Ave) */
.sj-menu .sub-menu {
	background: #fff !important; border: 0 !important; box-shadow: 0 16px 50px rgba(0, 0, 0, .07) !important;
	padding: 15px 0 !important; width: 240px; border-radius: 0;
}
.sj-menu .sub-menu li { padding: 0 !important; width: 100% !important; }
.sj-menu .sub-menu a { display: block; box-sizing: border-box; width: 100% !important; padding: 8px 25px !important; font: 400 15px/1.5 var(--sj-pismo); color: var(--sj-tmava) !important; }
.sj-menu .sub-menu a { transition: background-color .3s, color .3s; }
.sj-menu .sub-menu a:hover { color: var(--sj-modra) !important; background: rgba(175, 213, 186, .3) !important; opacity: 1; }
.sj-menu .et_mobile_nav_menu { display: none !important; }

/* mobil: pozitivní logo a hamburger na šedém pruhu */
.sj-hlavicka-mobil { display: none !important; }
@media (max-width: 980px) {
	.et-l--header { position: relative; }
	html body .et-l--header > .et_builder_inner_content .et_pb_section.sj-hlavicka { background: #f6f6f6 !important; }   /* Divi dává sekci hlavičky průhledné pozadí silnějším pravidlem */
	.sj-hlavicka-desktop { display: none !important; }
	.sj-hlavicka-mobil { display: flex !important; padding: 0 !important; min-height: 194px; align-items: center; }   /* logo 25 px od kraje jako Ave; výška Ave 194 px, pod 482 px 144 px */
	.sj-hlavicka-mobil > .et_pb_column { padding: 0 !important; }
	.sj-hlavicka .sj-radek.sj-hlavicka-mobil { width: calc(100% + 20px) !important; max-width: none !important; margin: 0 -10px !important; }   /* menu Divi má vnitřní okraj 10 px */
	.sj-menu-mobil, .sj-menu-mobil .et_pb_menu_inner_container { background: transparent !important; position: static; }
	/* Ave vlastní CSS: logo na tabletu a mobilu nejvýš 150 px, pod 481 px 100 px */
	.sj-menu-mobil .et_pb_menu__logo-wrap, .sj-menu-mobil .et_pb_menu__logo-slot { width: 150px !important; max-width: 150px !important; flex: 0 0 auto; }
	.sj-menu-mobil .et_pb_menu__logo, .sj-menu-mobil .et_pb_menu__logo img { width: 150px !important; max-width: none !important; height: auto !important; max-height: none !important; }
	.sj-menu-mobil .mobile_menu_bar::before { color: var(--sj-tmava) !important; font-size: 32px; }
	.sj-menu-mobil .et_mobile_menu {
		top: 100%; left: -30px; right: -30px; width: auto; border-top: 0; padding: 10px 30px 20px;
		box-shadow: 0 16px 50px rgba(0, 0, 0, .07);
	}
	.sj-menu-mobil .et_mobile_menu li a { font: 400 16px/1.5 var(--sj-pismo); color: var(--sj-tmava); padding: 10px 0; border-bottom: 1px solid rgba(0, 0, 0, .05); }
	.sj-menu-mobil .et_mobile_menu .sub-menu { padding-left: 20px; }
}
@media (max-width: 481px) {
	.sj-hlavicka-mobil { min-height: 144px; }
	.sj-menu-mobil .et_pb_menu__logo-wrap, .sj-menu-mobil .et_pb_menu__logo-slot { width: 100px !important; max-width: 100px !important; }
	.sj-menu-mobil .et_pb_menu__logo, .sj-menu-mobil .et_pb_menu__logo img { width: 100px !important; }
}

/* ------------------------------------------------------------------ patička */

/* Ave „footer-stuck": na desktopu je patička přišpendlená ke spodní hraně okna za obsahem
   a poslední sekce ji při dojetí na konec odkryje směrem nahoru. Na mobilu normálně pod obsahem. */
@media (min-width: 992px) {
	#main-content { position: relative; z-index: 1; }
	.et-l--footer { position: sticky; bottom: 0; z-index: 0; }
}

.sj-paticka .sj-radek.et_pb_row { align-items: center; }
.sj-paticka { padding: 38px 0 !important; }
.sj-paticka-logo-obr { width: 50% !important; max-width: none !important; }
.sj-paticka-logo-obr .et_pb_image_wrap, .sj-paticka-logo-obr img { width: 100% !important; max-width: none !important; }
.sj-paticka-logo.et_pb_column { align-items: flex-start !important; }
.sj-paticka-text, .sj-paticka-text .et_pb_text_inner { text-align: center; color: var(--sj-modra); font-size: 16px; line-height: 1.5; }
.sj-paticka-text p { margin-bottom: 8px; }
.sj-paticka-text a { color: var(--sj-odkaz); }
.sj-paticka-site.et_pb_column { align-items: flex-end !important; }

/* sociální sítě: jen ikona bez kolečka (Ave ld_social_icons) */
.sj-socialni.et_pb_social_media_follow { margin: 0 !important; padding: 0; }
.sj-socialni li { margin: 0 !important; }
.sj-socialni li a.icon { background: none !important; border-radius: 0; width: auto !important; height: auto !important; }
.sj-socialni li a.icon::before { font-size: 14px !important; line-height: 20px !important; width: auto !important; height: auto !important; color: var(--sj-modra) !important; transition: color .3s; }
.sj-paticka-socialni li a.icon:hover::before { color: #fff !important; }

@media (max-width: 767px) {
	/* Ave: logo vlevo (50 % šířky), text na střed, Facebook vpravo */
	.sj-paticka-logo.et_pb_column { align-items: flex-start !important; }
	.sj-paticka-site.et_pb_column { align-items: flex-end !important; }
	/* Ave: logo s mezerami 32 px nahoře a dole, okraje 15 px, sloupce bez mezer */
	.et-l--footer .et_pb_section.sj-paticka { padding: 0 !important; }
	.sj-paticka .sj-radek > .et_pb_column { padding: 0 15px !important; margin-top: 0 !important; }
	.sj-paticka .sj-radek > .sj-paticka-logo.et_pb_column { padding-top: 32px !important; padding-bottom: 32px !important; }
	/* Facebook neleží na spodní hraně (Ave ho mělo bez odsazení — úprava 25. 10. 2026 na přání) */
	.sj-paticka .sj-radek > .sj-paticka-site.et_pb_column { padding-bottom: 24px !important; }
}

/* ------------------------------------------------------------------ úvod (hero) */

/* odsazení podle výšky okna jako Ave (řádek 20vh / 5vh + sloupec 20 px; na mobilu 10vh / 15vh) — změřeno 720–1080 px */
.sj-hero { position: relative; overflow: hidden; background: #2b2b2b; padding: calc(20vh + 20px) 0 calc(5vh + 20px) !important; text-align: center; }
.sj-hero > .et_pb_row, .sj-hero .et_pb_column { position: static !important; }
.sj-hero-pozadi { position: absolute !important; inset: 0; z-index: 0; }
.sj-hero-pozadi .et_pb_text_inner { height: 100%; }
.sj-hero__slajdy { position: absolute; left: 0; right: 0; top: 0; height: 140%; transform: translateY(-15%); will-change: transform; }   /* přesah kvůli paralaxe (sj-web.js) */
.sj-hero__slajd { position: absolute; inset: 0; background: center / cover no-repeat; opacity: 0; }
.sj-hero__slajd:first-child { opacity: 1; }   /* bez skriptu stojí první fotka */
/* sj-web.js: stojí 3 s, odcházející se za 1 s zvětší a zprůhlední, pod ní stojí další */
.sj-slajdy-js .sj-hero__slajd { opacity: 0; transform: scale(1); z-index: 0; }
.sj-slajdy-js .sj-hero__slajd.je-aktivni { opacity: 1; z-index: 1; transition: opacity .8s ease-out, transform .8s ease-out; }
.sj-slajdy-js .sj-hero__slajd.je-aktivni.najizdi { opacity: 0; transform: scale(1.1); transition: none; }
.sj-slajdy-js .sj-hero__slajd.odchazi { opacity: 0; transform: scale(1.2); z-index: 2; transition: opacity 1s ease-in-out, transform 1s ease-in-out; }
.sj-hero__slajdy::after { content: ''; position: absolute; inset: 0; z-index: 3; background: rgba(0, 0, 0, .3); }
.sj-hero .et_pb_module:not(.sj-hero-pozadi), .sj-hero .et_pb_column { position: relative; z-index: 1; }
.sj-hero-radek { padding: 20px 0 0 !important; }
.sj-hero .et_pb_column { align-items: center !important; }
.sj-hero .et_pb_text_inner, .sj-hero .et_pb_heading_container { text-align: center; }
.sj-hero-tlacitka > .et_pb_column { padding: 0 5px !important; }
/* tři tlačítka jako jeden blok na střed: spodní stejně široká, horní přes obě (2 × 190 + mezera 10) */
body .et_pb_button.sj-tlacitko-obrys, body .et_pb_button.sj-tlacitko-kalendar { box-sizing: border-box; flex: 0 0 auto; }
body .et_pb_button.sj-tlacitko-obrys { width: 190px; min-width: 190px; }
body .et_pb_button.sj-tlacitko-kalendar { width: 390px; min-width: 390px; }
.sj-hero-vlevo.et_pb_column { align-items: flex-end !important; }
.sj-hero-vpravo.et_pb_column { align-items: flex-start !important; }
.sj-hero-nadtitul { font: 400 22px/33px var(--sj-pismo); letter-spacing: .2em; text-transform: uppercase; color: #fff; margin-bottom: 5.5px !important; }
.sj-hero-nadpis h1 { font-size: 70px; line-height: 1em; color: #fff !important; padding: 0; }
.sj-hero-podtitul { font-size: 24px; line-height: 30px; color: #fff; margin: 34px 0 52px !important; }   /* p 0,5em + mezera 40 px */
.sj-hero .et_pb_button_module_wrapper { margin-bottom: 10px !important; }
.sj-hero-tlacitka { column-gap: 10px !important; padding-bottom: 0 !important; }

@media (max-width: 767px) {
	.sj-hero { padding: calc(10vh + 20px) 0 calc(15vh + 15px) !important; }   /* změřeno: úvod 718 px při 390 × 844 */
	.sj-hero-nadpis h1 { font-size: clamp(32px, calc((100vw - 30px) / 6), 70px); }   /* Ave fit text: šířka / (0,6 × 10) */
	.sj-hero-podtitul { font-size: 20px; line-height: 30px; margin-bottom: 50px !important; }
	.sj-hero .et_pb_button:is(.sj-tlacitko-obrys, .sj-tlacitko-kalendar) { --sj-pad: .6em 1.2em; }   /* Ave btn-sm do 992 px */
	.sj-hero-tlacitka { row-gap: 0 !important; }
	.sj-hero-vlevo.et_pb_column, .sj-hero-vpravo.et_pb_column { align-items: center !important; }
	.sj-sekce.sj-hero .sj-radek.sj-hero-tlacitka > .et_pb_column.et_pb_column + .et_pb_column { margin-top: 0 !important; }   /* přebít mezeru skládaných sloupců */
	body .et_pb_button.sj-tlacitko-obrys, body .et_pb_button.sj-tlacitko-kalendar { width: auto; min-width: min(320px, calc(100vw - 40px)); }   /* šířku drží min-width — Divi dává tlačítkům max-width: max-content silnějším pravidlem */
}
@media (max-width: 400px) {   /* jako v Ave: na úzkém mobilu tlačítko bez ikony */
	html body #page-container .et_pb_button.sj-tlacitko-kalendar::before { display: none !important; }
}

/* ------------------------------------------------------------------ pruh Visit Jakub */

.sj-banner { margin-top: 10px; padding: 50px 25px !important; }
.sj-banner .sj-radek { align-items: center; }
.sj-banner-nadpis h3 { color: #fff !important; font-size: 30px; line-height: 1.25em; margin: 0; }
.sj-banner-vpravo { text-align: right; }
@media (max-width: 767px) {
	.sj-banner-vpravo { text-align: left; }
	.sj-banner { padding: 50px 25px !important; }
	.sj-banner-nadpis h3 { font-size: 30px; line-height: 37.5px; margin-bottom: 15px; }   /* změřeno při 390 px */
	.sj-banner .sj-tlacitko-male { --sj-pad: .5em .8em; }   /* Ave btn-xsm do 992 px */
	.sj-sekce.sj-banner .sj-radek.sj-radek > .et_pb_column.et_pb_column + .et_pb_column { margin-top: 0 !important; }
}

/* ------------------------------------------------------------------ novinky */

.sj-novinky-sekce { background: var(--sj-pozadi) var(--sj-linka) repeat-y center top; padding: 50px 10px !important; text-align: center; }
.sj-nadpis-sekce .et_pb_heading_container { text-align: center; }
.sj-nadpis-sekce h2 { font-size: 48px; line-height: 1.111em; margin-bottom: 24px; text-align: center; }
.sj-novinky { display: flex; gap: 30px; align-items: flex-start; text-align: left; }
.sj-novinky-sekce .sj-novinky-vypis { margin-bottom: 30px !important; }
.sj-novinky__sloupec { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 30px; }
.sj-novinka {
	position: relative; background: #fff; border: 1px solid #ebeef3; padding: 20px 40px 45px;
	/* Ave: stín se rozvine z nulového (tmavšího) do 0 20px 70px, 0,6 s, rychlý start a dlouhé dobíhání */
	box-shadow: 0 0 0 0 rgba(0, 0, 0, .25); transition: box-shadow .6s cubic-bezier(.23, 1, .32, 1);
}
.sj-novinka:hover { box-shadow: 0 20px 70px rgba(0, 0, 0, .12); }
.sj-novinka__hlavicka { display: flex; justify-content: space-between; align-items: center; margin-bottom: 26px; }
.sj-novinka__rubrika {
	font: 600 12px/18px var(--sj-pismo); letter-spacing: .1em; text-transform: uppercase;
	color: var(--sj-zelena); border: 1px solid var(--sj-zelena); padding: 1.8px 10px;
}
.sj-novinka time { font-size: 15px; line-height: 22.5px; color: rgba(0, 0, 0, .35); }
.sj-novinka__obrazek { display: block; margin-bottom: 32px; overflow: hidden; border-radius: 3px; }
.sj-novinka__obrazek img { display: block; width: 100%; aspect-ratio: 490 / 300; object-fit: cover; }
.sj-novinka__nazev { font-size: 24px; line-height: 1.15; letter-spacing: -0.05em; margin: 0 !important; padding: 0; }   /* i uvnitř textového modulu (stránka Aktuality) */
.sj-novinka__nazev a { color: var(--sj-modra); }
.sj-novinka__nazev a::after { content: ''; position: absolute; inset: 0; }   /* celá karta je odkaz */
.sj-novinka__rubrika { position: relative; z-index: 1; transition: background-color .3s, color .3s; }
.sj-novinka__rubrika:hover { background: var(--sj-zelena); color: #fff; }
.sj-novinka__vynatek { font-size: 16px; line-height: 24px; color: rgba(24, 27, 49, .55); margin: 15.2px 0 12px !important; }   /* Ave .liquid-lp-excerpt p */
@media (max-width: 767px) {
	.sj-novinky { flex-direction: column; align-items: stretch; }
	.sj-novinky__sloupec { display: contents; }
	.sj-novinky-sekce { padding: 50px 10px !important; }
	.sj-novinka { padding: 20px 40px 45px; }
}
/* tablet jako Ave: aktuality v jednom sloupci přes celou šířku */
@media (min-width: 768px) and (max-width: 991px) {
	.sj-novinky { flex-direction: column; align-items: stretch; }
	.sj-novinky__sloupec { display: contents; }
}

/* ------------------------------------------------------------------ zajímá mě */

.sj-zajima { padding: 50px 0 75px !important; }
.sj-radek.sj-dlazdice { margin-bottom: 40px !important; }
/* otočné dlaždice: pravidla Ave ld-flipbox (směr shora dolů, stín), hloubka 60 px dává 3D efekt */
.sj-flip { display: flex; flex-direction: column; justify-content: center; min-height: 220px; perspective: 1200px; color: var(--sj-modra); }
.sj-flip__obal {
	position: relative; display: flex; width: 100%; min-height: inherit; flex: 1 1 auto;
	transform-style: preserve-3d; box-shadow: 0 50px 60px rgba(0, 0, 0, .15);
	transition: box-shadow .6s cubic-bezier(.4, 0, .2, 1), transform .6s cubic-bezier(.4, 0, .2, 1);
}
.sj-flip:hover .sj-flip__obal, .sj-flip:focus-visible .sj-flip__obal { transform: rotateX(-180deg); box-shadow: 0 -50px 60px rgba(0, 0, 0, .15); }
.sj-flip__strana {
	display: flex; width: 100%; min-height: inherit; transform-style: preserve-3d;
	background: var(--sj-zelena) center / cover no-repeat; backface-visibility: hidden; -webkit-backface-visibility: hidden;
}
.sj-flip__rub { position: absolute; top: 0; left: 0; height: 100%; transform: rotateY(-180deg) rotateZ(-180deg); }
.sj-flip__vnitrek {
	display: flex; flex: 1 auto; flex-direction: column; justify-content: center; align-items: center; text-align: center;
	padding: 40px 50px; transform: translate3d(0, 0, 60px) scale(.85);
}
.sj-flip__rub .sj-flip__vnitrek { transform: translate3d(0, 0, 60px) scale(.95); }
.sj-flip__nazev { display: block; margin-top: 12px; font: 700 24px/32px var(--sj-pismo); }
@media (min-width: 992px) { .sj-flip__nazev { max-width: 150px; } }   /* Ave: na desktopu název zalomený do úzkého bloku */
.sj-flip__tlacitko {
	display: inline-block; background: var(--sj-zelena); border: 1px solid var(--sj-zelena); color: #fff;
	padding: 15px 30px; font-size: 16px; line-height: 24px; transition: background-color .3s, box-shadow .3s, transform .3s;
}
.sj-flip__tlacitko:hover {   /* Ave: hover_color rgba(175, 213, 186, .4), rámeček #afd5ba */
	background: rgba(175, 213, 186, .4); transform: translateY(-1px);
	box-shadow: 0 1px 1px rgba(0, 0, 0, .05), 0 2px 2px rgba(0, 0, 0, .05), 0 4px 4px rgba(0, 0, 0, .05), 0 8px 8px rgba(0, 0, 0, .05), 0 16px 16px rgba(0, 0, 0, .05);
}
.sj-ikonbox {
	position: relative; overflow: hidden; background: var(--sj-zelena); color: var(--sj-modra);
	padding: 25px 55.5px; margin-bottom: 32px !important; box-shadow: 0 30px 60px rgba(0, 0, 0, .12);
}
.sj-ikonbox::before {
	content: ''; position: absolute; inset: 0; background: var(--sj-foto) center / cover no-repeat;
	opacity: 0; transform: scale(1.15); transition: opacity .4s, transform .6s;
}
.sj-ikonbox:hover::before { opacity: 1; transform: scale(1); }
.sj-ikonbox::after { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, .2); opacity: 0; transition: opacity .4s; }
.sj-ikonbox:hover::after { opacity: 1; }
.sj-ikonbox > * { position: relative; z-index: 1; transition: color .3s; }
.sj-ikonbox:hover, .sj-ikonbox:hover h3, .sj-ikonbox:hover a { color: #fff !important; }
.sj-ikonbox:hover .sj-tlacitko-obrys-modre { border-color: #fff; }
.sj-ikonbox .sj-ikona { width: 42px; height: 42px; margin-bottom: 10px; }
.sj-ikonbox h3 { font-size: 24px; line-height: 36px; color: var(--sj-modra); margin: 0 0 16.8px; }
.sj-ikonbox p { margin-bottom: 0 !important; }
.sj-ikonbox :is(p, li) { line-height: 24px; }
.sj-ikonbox ul { padding: 0 0 0 40px !important; margin: 0 0 10px !important; list-style: disc; }
.sj-ikonbox li { padding: 0; }
.sj-ikonbox a { color: var(--sj-odkaz); }
.sj-ikonbox p:last-child:has(.sj-tlacitko-obrys-modre) { margin: 0 !important; line-height: 0; }
.sj-ikonbox .sj-tlacitko-obrys-modre { margin: 24px 0 8px; }   /* jako Ave .btn: okraj na tlačítku, nesplyne s okrajem seznamu */
.sj-tlacitko-obrys-modre {
	display: inline-block; transition: background-color .3s, color .3s, box-shadow .3s, transform .3s; border: 1px solid var(--sj-modra); color: var(--sj-modra) !important; padding: 9px 16px; font-size: 16px; line-height: 24px;   /* Ave btn-xsm */
	transition: background-color .3s, color .3s;
}
.sj-tlacitko-obrys-modre:hover { background: var(--sj-modra); color: #fff !important; }
@media (max-width: 991px) { .sj-flip { min-height: 180px; } }
@media (min-width: 768px) and (max-width: 991px) {   /* tablet jako Ave: dlaždice pod sebou přes celou šířku, boxy vedle sebe */
	.sj-zajima .sj-radek.sj-dlazdice > .et_pb_column { flex-basis: 100% !important; }
	.sj-zajima .sj-radek.sj-dlazdice > .et_pb_column + .et_pb_column { margin-top: 30px !important; }
	.sj-radek.sj-dlazdice { margin-bottom: 30px !important; }
	.sj-ikonbox { padding: 25px 36px; }
}
@media (max-width: 767px) {
	.sj-dlazdice { row-gap: 30px !important; }
	.sj-radek.sj-dlazdice { margin-bottom: 30px !important; }
	.sj-ikonbox { padding: 25px 36px; }
}

/* ------------------------------------------------------------------ kostel */

.sj-kostel { padding: 70px 0 64px !important; }
.sj-kostel .sj-radek { align-items: center; }
.sj-radek > .sj-kostel-obrazky { margin-left: calc(100% / 12) !important; }   /* Ave: col-md-offset-1 col-md-5 */
.sj-kostel-nadpis h2 { font-size: 72px; line-height: 1em; letter-spacing: -0.025em; font-weight: 400; margin: 0; }
.sj-kostel-nadpis h2 span { display: block; }
.sj-kostel-nadpis h2 strong { display: block; font-weight: 700; margin-top: -3px; }
.sj-kostel-perex { margin-top: 45px !important; font-size: 30px; line-height: 1.025em; margin-right: 25%; }
.sj-kostel-popis { margin: 42px 25% 69px 0 !important; font-size: 18px; line-height: 1.5em; }   /* polohy řádků a tlačítka změřené na ostrém webu */
.sj-kostel .et_pb_button.sj-tlacitko { font-size: 14px !important; line-height: 22px !important; letter-spacing: .025em; }
/* polohy z ostrého webu při 1440 px: věž [−45 % šířky sloupce, 33 px od horní hrany sekce, šířka 61,4 %],
   loď [10 %, 186 px, šířka 100 %]; sloupec zarovnaný nahoru (obsah sekce začíná 70 px pod její hranou) */
.sj-radek > .sj-kostel-obrazky { align-self: flex-start; }
.sj-obrazky { position: relative; height: 459px; }
.sj-obrazky img { position: absolute; display: block; object-fit: cover; box-shadow: 0 50px 100px rgba(0, 0, 0, .2); }
.sj-obrazky__vez { left: -45%; top: -37px; width: 61.4%; aspect-ratio: 281 / 539; z-index: 1; }
.sj-obrazky__lod { left: 10%; top: 116px; width: 100%; aspect-ratio: 458 / 343; z-index: 2; }
@media (max-width: 991px) {
	.sj-obrazky { height: 480px; }
}
/* mobil podle Ave (změřeno při 390 px): nadpis fit text (šířka / 6,5), perex bez pravého okraje, tlačítko btn-sm;
   loď přes celou šířku sloupce posunutá o 30 % doprava (přečnívá), věž 67 % šířky o 50 px výš, skupina 50 px pod tlačítkem */
@media (max-width: 767px) {
	.sj-kostel { padding: 70px 0 75px !important; overflow: hidden; }
	.sj-radek > .sj-kostel-obrazky { margin-left: 0 !important; }
	.sj-kostel-nadpis h2 { font-size: clamp(48px, calc((100vw - 30px) / 6.5), 72px); }
	.sj-kostel-perex { margin-right: 0; }
	.sj-kostel-popis { margin: 41px 0 59px !important; }
	.sj-kostel .sj-tlacitko { --sj-pad: .6em 1.95em; }   /* btn-sm .6em 1.2em + vlastní .75em */
	.sj-obrazky { height: auto; aspect-ratio: 458 / 343; margin: 50px 0 32px; }
	.sj-obrazky__lod { left: 30%; top: 0; width: 100%; }
	.sj-obrazky__vez { left: 0; top: -50px; width: 67%; }
}

/* ------------------------------------------------------------------ kontakty */

.sj-kontakty { padding: 90px 0 60px !important; color: #fff; }
.sj-nadtitul { font: 600 14px/21px var(--sj-pismo); letter-spacing: .15em; text-transform: uppercase; color: var(--sj-text); margin-bottom: 0 !important; }
.sj-kontakty-nadpis h2 { font-size: 48px; line-height: 52px; letter-spacing: -0.025em; color: #fff !important; margin: 0 0 24px; }
.sj-kontakty-text { margin-top: 15px !important; color: #fff; }
.sj-kontakty-nadpis { margin-top: 0 !important; }
.sj-kontakty .sj-nadtitul { margin-bottom: 7px !important; }   /* Ave p: margin 0,5em */
.sj-kontakty-text, .sj-kontakty-text p { line-height: 24px; }
.sj-kontakty-text p { margin-bottom: 20.8px; }
.sj-kontakty-text strong { color: #fff; }
.sj-kontakty-text a { color: var(--sj-zelena); transition: color .3s; }
.sj-kontakty-text a:hover { color: #fff; }
.sj-kontakty .sj-kontakty-socialni { margin: 0 !important; padding: 16px 0 26px; }
.sj-kontakty-socialni li a.icon::before { color: var(--sj-zelena) !important; }
.sj-kontakty-socialni li a.icon:hover::before { color: #fff !important; }

/* formulář CF7 (Ave: podtržená pole) */
.sj-formular { margin-top: 2px !important; }
.sj-formular .wpcf7-form { line-height: 24px; margin-bottom: 32px; }   /* rozměry polí změřené na ostrém webu (pole 50 px, zpráva 97 px, řádek 24 px) */
.sj-formular .wpcf7-form > p, .sj-formular .wpcf7-form > .row > p:last-child { margin-bottom: 0; }
.sj-formular .row { display: flex; flex-wrap: wrap; margin: 0 -15px; }
.sj-formular .row > p { padding: 0 15px; margin: 0 0 20px; flex: 0 0 100%; }
.sj-formular .row > p.col-md-6 { flex-basis: 50%; }
.sj-formular input:not([type=submit]), .sj-formular textarea {
	width: 100%; background: transparent !important; border: 0; border-bottom: 1px solid rgba(255, 255, 255, .33);
	color: rgba(255, 255, 255, .85); font: 400 12px/18px var(--sj-pismo); height: 50px; padding: 1px 0; border-radius: 0; transition: border-color .3s;
}
.sj-formular textarea { height: 97px; padding: 12px 0; display: block; }
.sj-formular input:hover, .sj-formular textarea:hover, .sj-formular input:focus, .sj-formular textarea:focus { border-bottom-color: #fff; outline: 0; }
.sj-formular ::placeholder { color: rgba(255, 255, 255, .85); opacity: 1; }
.sj-formular input[type=submit] {
	background: var(--sj-zelena); color: #fff; border: 0; border-radius: 0; height: 50px; padding: 0 39.2px; margin: 0;
	font: 400 14px/21px var(--sj-pismo); text-transform: uppercase; cursor: pointer; transition: background-color .3s, color .3s;
}
.sj-formular input[type=submit]:hover { background: #fff; color: #000; }
.sj-formular .wpcf7-spinner { display: none; }
.sj-formular .wpcf7-response-output { color: #fff; margin: 10px 0 0 !important; }
@media (max-width: 767px) {
	.sj-formular .row > p.col-md-6 { flex-basis: 100%; }
	.sj-kontakty-nadpis h2 { font-size: 48px; }
}

html { scroll-behavior: smooth; }

/* ------------------------------------------------------------------ animace (sj-web.js) */
/* html.sj-js nastaví skript v hlavičce (functions.php) — bez skriptu nebo s omezeným pohybem se nic neskrývá */
html.sj-js :is(.sj-anim--cil_deti > .et_pb_module, .sj-anim--cil_deti > .et_pb_button_module_wrapper, .sj-anim--cil_deti > .et_pb_row_inner,
	.sj-anim--cil_sloupce > .et_pb_column):not(.sj-anim-polozka) { opacity: 0; }
html.sj-js :is(.sj-hero-nadtitul p, .sj-hero-nadpis h1, .sj-hero-podtitul p,
	.sj-hero-radek .et_pb_button_module_wrapper, .sj-hero-tlacitka .et_pb_button_module_wrapper,
	.sj-zajima .sj-nadpis-sekce, .sj-ikonbox,
	.sj-kostel-nadpis h2 > *, .sj-kostel-perex p, .sj-kostel-popis p, .sj-kostel-text .et_pb_button_module_wrapper):not(.sj-anim-bezi, .sj-anim-polozka) { opacity: 0; }
/* perspektivu jen u textů s rozdělenými slovy — na řádku úvodu by změnila rámec pro absolutně umístěné fotky v pozadí;
   u ostatních prvků je perspektiva přímo v transformaci (sj-web.js) */
.sj-hero-nadtitul p, .sj-hero-nadpis h1 { perspective: 1000px; }
.sj-slovo { display: inline-block; transform-origin: 50% 0; }
.sj-radek-textu { display: block; transform-origin: 50% 0; }
.sj-anim-polozka:not(.sj-anim-hotovo) { will-change: transform, opacity; }
.sj-obrazky img { will-change: transform; }

/* ------------------------------------------------------------------ podstránky: záhlaví a obsah */
/* Ave title bar: 317 px (170 px hlavička přes fotku + 20 / nadpis 60 px / 30 + 30), překryv 40 % */
/* jen řádek šablony (přímý potomek), ne řádky obsahu stránky */
.sj-zahlavi-sekce > .sj-radek.et_pb_row, .sj-obsah-stranky > .sj-radek.et_pb_row { width: 100% !important; max-width: none !important; }
.sj-zahlavi-sekce > .sj-radek > .et_pb_column, .sj-obsah-stranky > .sj-radek > .et_pb_column { padding: 0 !important; }
.sj-zahlavi { position: relative; background: #10131d 0 0 / cover no-repeat; padding: 190px 15px 30px; text-align: center; }   /* poloha fotky ze stránky (zahlavi.php) */
.sj-zahlavi::before { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, .4); }
.sj-zahlavi--bez-prekryvu::before { display: none; }
.sj-zahlavi__nazev { position: relative; max-width: var(--sj-plocha); margin: 0 auto 30px !important; padding: 0; color: #fff; font-size: 60px; line-height: 1.111; font-weight: 600; }
@media (max-width: 980px) {   /* hlavička je nad záhlavím */
	.sj-zahlavi { padding-top: 20px; }
}
@media (max-width: 767px) {   /* Ave: nadpis 48 px, pod 480 px 38 px */
	.sj-zahlavi__nazev { font-size: 48px; margin-bottom: 24px !important; }
}
@media (max-width: 479px) {
	.sj-zahlavi__nazev { font-size: 38px; margin-bottom: 19px !important; }
}

/* ------------------------------------------------------------------ převedené stránky (sj-prevod.php) */
/* šířky sloupců v mřížce 24 dílů a odsazení vc_col-md-offset-N — jen od 768 px, na mobilu sloupce pod sebou */
@media (min-width: 768px) {
.sj-radek > .et_flex_column_1_24 { flex-basis: calc(100% * 1 / 24) !important; }
.sj-radek > .et_flex_column_2_24 { flex-basis: calc(100% * 2 / 24) !important; }
.sj-radek > .et_flex_column_3_24 { flex-basis: calc(100% * 3 / 24) !important; }
.sj-radek > .et_flex_column_4_24 { flex-basis: calc(100% * 4 / 24) !important; }
.sj-radek > .et_flex_column_5_24 { flex-basis: calc(100% * 5 / 24) !important; }
.sj-radek > .et_flex_column_6_24 { flex-basis: calc(100% * 6 / 24) !important; }
.sj-radek > .et_flex_column_7_24 { flex-basis: calc(100% * 7 / 24) !important; }
.sj-radek > .et_flex_column_8_24 { flex-basis: calc(100% * 8 / 24) !important; }
.sj-radek > .et_flex_column_9_24 { flex-basis: calc(100% * 9 / 24) !important; }
.sj-radek > .et_flex_column_10_24 { flex-basis: calc(100% * 10 / 24) !important; }
.sj-radek > .et_flex_column_11_24 { flex-basis: calc(100% * 11 / 24) !important; }
.sj-radek > .et_flex_column_12_24 { flex-basis: calc(100% * 12 / 24) !important; }
.sj-radek > .et_flex_column_13_24 { flex-basis: calc(100% * 13 / 24) !important; }
.sj-radek > .et_flex_column_14_24 { flex-basis: calc(100% * 14 / 24) !important; }
.sj-radek > .et_flex_column_15_24 { flex-basis: calc(100% * 15 / 24) !important; }
.sj-radek > .et_flex_column_16_24 { flex-basis: calc(100% * 16 / 24) !important; }
.sj-radek > .et_flex_column_17_24 { flex-basis: calc(100% * 17 / 24) !important; }
.sj-radek > .et_flex_column_18_24 { flex-basis: calc(100% * 18 / 24) !important; }
.sj-radek > .et_flex_column_19_24 { flex-basis: calc(100% * 19 / 24) !important; }
.sj-radek > .et_flex_column_20_24 { flex-basis: calc(100% * 20 / 24) !important; }
.sj-radek > .et_flex_column_21_24 { flex-basis: calc(100% * 21 / 24) !important; }
.sj-radek > .et_flex_column_22_24 { flex-basis: calc(100% * 22 / 24) !important; }
.sj-radek > .et_flex_column_23_24 { flex-basis: calc(100% * 23 / 24) !important; }
.sj-radek > .et_flex_column_24_24 { flex-basis: calc(100% * 24 / 24) !important; }
.sj-radek > .sj-odsazeni-1 { margin-left: calc(100% * 1 / 12) !important; }
.sj-radek > .sj-odsazeni-2 { margin-left: calc(100% * 2 / 12) !important; }
.sj-radek > .sj-odsazeni-3 { margin-left: calc(100% * 3 / 12) !important; }
.sj-radek > .sj-odsazeni-4 { margin-left: calc(100% * 4 / 12) !important; }
.sj-radek > .sj-odsazeni-5 { margin-left: calc(100% * 5 / 12) !important; }
.sj-radek > .sj-odsazeni-6 { margin-left: calc(100% * 6 / 12) !important; }
.sj-radek > .sj-odsazeni-7 { margin-left: calc(100% * 7 / 12) !important; }
.sj-radek > .sj-odsazeni-8 { margin-left: calc(100% * 8 / 12) !important; }
.sj-radek > .sj-odsazeni-9 { margin-left: calc(100% * 9 / 12) !important; }
.sj-radek > .sj-odsazeni-10 { margin-left: calc(100% * 10 / 12) !important; }
.sj-radek > .sj-odsazeni-11 { margin-left: calc(100% * 11 / 12) !important; }
/* 768–991 px: šířka a odsazení z vc_col-sm (sloupce s vc_col-md/lg) — sj-prevod.php → sj-sm-… */
@media (min-width: 768px) and (max-width: 991px) {
	.sj-radek > .sj-sm-1.sj-sm-1 { flex-basis: calc(100% * 1 / 12) !important; }
	.sj-radek > .sj-sm-2.sj-sm-2 { flex-basis: calc(100% * 2 / 12) !important; }
	.sj-radek > .sj-sm-3.sj-sm-3 { flex-basis: calc(100% * 3 / 12) !important; }
	.sj-radek > .sj-sm-4.sj-sm-4 { flex-basis: calc(100% * 4 / 12) !important; }
	.sj-radek > .sj-sm-5.sj-sm-5 { flex-basis: calc(100% * 5 / 12) !important; }
	.sj-radek > .sj-sm-6.sj-sm-6 { flex-basis: calc(100% * 6 / 12) !important; }
	.sj-radek > .sj-sm-7.sj-sm-7 { flex-basis: calc(100% * 7 / 12) !important; }
	.sj-radek > .sj-sm-8.sj-sm-8 { flex-basis: calc(100% * 8 / 12) !important; }
	.sj-radek > .sj-sm-9.sj-sm-9 { flex-basis: calc(100% * 9 / 12) !important; }
	.sj-radek > .sj-sm-10.sj-sm-10 { flex-basis: calc(100% * 10 / 12) !important; }
	.sj-radek > .sj-sm-11.sj-sm-11 { flex-basis: calc(100% * 11 / 12) !important; }
	.sj-radek > .sj-sm-12.sj-sm-12 { flex-basis: calc(100% * 12 / 12) !important; }
	.sj-radek > .sj-sm-odsazeni-0.sj-sm-odsazeni-0 { margin-left: calc(100% * 0 / 12) !important; }
	.sj-radek > .sj-sm-odsazeni-1.sj-sm-odsazeni-1 { margin-left: calc(100% * 1 / 12) !important; }
	.sj-radek > .sj-sm-odsazeni-2.sj-sm-odsazeni-2 { margin-left: calc(100% * 2 / 12) !important; }
	.sj-radek > .sj-sm-odsazeni-3.sj-sm-odsazeni-3 { margin-left: calc(100% * 3 / 12) !important; }
	.sj-radek > .sj-sm-odsazeni-4.sj-sm-odsazeni-4 { margin-left: calc(100% * 4 / 12) !important; }
	.sj-radek > .sj-sm-odsazeni-5.sj-sm-odsazeni-5 { margin-left: calc(100% * 5 / 12) !important; }
	.sj-radek > .sj-sm-odsazeni-6.sj-sm-odsazeni-6 { margin-left: calc(100% * 6 / 12) !important; }
	.sj-radek > .sj-sm-odsazeni-7.sj-sm-odsazeni-7 { margin-left: calc(100% * 7 / 12) !important; }
	.sj-radek > .sj-sm-odsazeni-8.sj-sm-odsazeni-8 { margin-left: calc(100% * 8 / 12) !important; }
	.sj-radek > .sj-sm-odsazeni-9.sj-sm-odsazeni-9 { margin-left: calc(100% * 9 / 12) !important; }
	.sj-radek > .sj-sm-odsazeni-10.sj-sm-odsazeni-10 { margin-left: calc(100% * 10 / 12) !important; }
	.sj-radek > .sj-sm-odsazeni-11.sj-sm-odsazeni-11 { margin-left: calc(100% * 11 / 12) !important; }
}
}
.sj-radek.sj-stejna-vyska { align-items: stretch; }
.sj-radek.sj-svisle-middle { align-items: center; }
.sj-radek.sj-svisle-bottom { align-items: flex-end; }
/* mezera mezi sloupci jako Ave (vc_column-gap-G): sloupec odsazený G px z každé strany; vnořený řádek přesahuje
   o G (Ave .vc_inner) — změřeno na O sv. Jakubovi a Rekonstrukci */
/* mezera mezi sloupci jako Ave (vc_column-gap-G): sloupec odsazený G px; vnořený řádek přesahuje o G (+15 px odsazení
   rodičovského sloupce, které Ave u vnořených řádků nemá) */
:where(.sj-radek.sj-mezera-0) > :is(.et_pb_column, .et_pb_column_inner) { padding-left: 0px; padding-right: 0px; }
.sj-radek[class*="sj-mezera-"]:not(.sj-mezera-0) > .sj-pozadi-obsah { background-clip: content-box !important; background-origin: content-box !important; }   /* pozadí sloupce jen pod obsahem (Ave .wpb_wrapper) */
.et_pb_row_inner.sj-radek.sj-mezera-35 { margin-left: -35px !important; margin-right: -35px !important; width: auto !important; max-width: none !important; }
:where(.sj-radek.sj-mezera-1) > :is(.et_pb_column, .et_pb_column_inner) { padding-left: 1px; padding-right: 1px; }
:where(.sj-radek.sj-mezera-2) > :is(.et_pb_column, .et_pb_column_inner) { padding-left: 2px; padding-right: 2px; }
:where(.sj-radek.sj-mezera-3) > :is(.et_pb_column, .et_pb_column_inner) { padding-left: 3px; padding-right: 3px; }
:where(.sj-radek.sj-mezera-4) > :is(.et_pb_column, .et_pb_column_inner) { padding-left: 4px; padding-right: 4px; }
:where(.sj-radek.sj-mezera-5) > :is(.et_pb_column, .et_pb_column_inner) { padding-left: 5px; padding-right: 5px; }
:where(.sj-radek.sj-mezera-10) > :is(.et_pb_column, .et_pb_column_inner) { padding-left: 10px; padding-right: 10px; }
:where(.sj-radek.sj-mezera-15) > :is(.et_pb_column, .et_pb_column_inner) { padding-left: 15px; padding-right: 15px; }
:where(.sj-radek.sj-mezera-20) > :is(.et_pb_column, .et_pb_column_inner) { padding-left: 20px; padding-right: 20px; }
:where(.sj-radek.sj-mezera-25) > :is(.et_pb_column, .et_pb_column_inner) { padding-left: 25px; padding-right: 25px; }
:where(.sj-radek.sj-mezera-30) > :is(.et_pb_column, .et_pb_column_inner) { padding-left: 30px; padding-right: 30px; }
:where(.sj-radek.sj-mezera-35) > :is(.et_pb_column, .et_pb_column_inner) { padding-left: 35px; padding-right: 35px; }
.sj-text-center, .sj-text-center :is(.et_pb_text_inner, .et_pb_heading_container) { text-align: center; }
.sj-text-right, .sj-text-right :is(.et_pb_text_inner, .et_pb_heading_container) { text-align: right; }
.sj-text-center.et_pb_column { align-items: center !important; }
@media (min-width: 1200px) { .sj-skryt-lg { display: none !important; } }
@media (min-width: 992px) and (max-width: 1199px) { .sj-skryt-md { display: none !important; } }
@media (min-width: 768px) and (max-width: 991px) { .sj-skryt-sm { display: none !important; } }
@media (max-width: 767px) { .sj-skryt-xs { display: none !important; } }

/* sekce bez vlastního pozadí jsou průhledné (svislá linka); pozadí z WPBakery nese Divi s !important */
.et_pb_section:is(.sj-vc, .sj-obsah-stranky) { background-color: transparent; }
.sj-text, .sj-text .et_pb_text_inner { line-height: 1.5; }

/* texty: třídy z Ave */
.text-blue, .text-blue .et_pb_text_inner { color: var(--sj-modra) !important; }
.text-white, .text-white .et_pb_text_inner { color: #fff !important; }
.sj-text ol { padding: 0 0 0 40px; margin: 0 0 10px; }   /* Ave: číslovaný seznam odsazení 40 px, mezera 10 px */
.sj-text ul { padding: 0; margin: 0; list-style: disc inside; }   /* Ave .wpb_text_column ul: bez odsazení, odrážky uvnitř (změřeno na Kontaktech, O sv. Jakubovi) */
.sj-text ol { list-style: decimal; }
.sj-text li { padding: 0; line-height: 1.5; }
.sj-text h5 { font-size: 19px; line-height: 1.5; }
/* okraje nadpisů jako Ave: v textu 1.25em nahoře / .75em dole, Fancy Heading jen .75em dole */
.sj-text :is(h1, h2, h3, h4, h5, h6) { margin: 1.25em 0 .75em; padding: 0; }
.sj-text .et_pb_text_inner > :is(h1, h2, h3, h4, h5, h6):first-child { margin-top: 0; }
.sj-nadpis .et_pb_heading_container > :is(h1, h2, h3, h4, h5, h6) { margin: 0 0 .5em; padding: 0; display: inline-block; }   /* Ave .ld-fancy-heading: inline-block, okraj .5em */
.sj-nadpis .et_pb_heading_container { font-size: 16px; line-height: 1.5; }   /* řádek kolem inline-block nadpisu jako v Ave */
.sj-nadpis-maska .et_pb_heading_container > * { padding-bottom: .32em !important; }   /* Ave use_mask: slova v maskách zvětší nadpis (45 px → +14,5 px, změřeno) */
.sj-nadpis.sj-nadpis-p p { margin: 0 0 .5em; line-height: 1.5; display: inline-block; }
.sj-nadpis-vlastni-okraj :is(.et_pb_heading_container > *, p) { margin-bottom: 0 !important; }
.sj-text img { max-width: 100%; height: auto; }

/* oddělovač (vc_separator) */
.sj-oddelovac.et_pb_divider { height: 1px !important; margin-top: 0; padding: 0 !important; }   /* Ave vc_separator: čára 1 px + okraj 35 px (sj-mb-35) */
.sj-oddelovac.et_pb_divider::before { border-top: 1px solid #ebebeb !important; top: 0 !important; }
.sj-oddelovac-white.et_pb_divider::before { border-top-color: #fff !important; }

/* osoba (ld_team_member, šablona classic) */
.sj-osoba { text-align: center; display: flex !important; flex-direction: column !important; align-items: center; gap: 0 !important; }   /* Divi flex mezera 20 px */
.sj-osoba .et_pb_team_member_image { width: 160px !important; max-width: 160px !important; height: 160px; flex: 0 0 auto; margin: 0 auto 16px !important; border-radius: 50%; overflow: hidden; float: none; }
.sj-osoba .et_pb_team_member_image img { width: 100%; height: 100%; object-fit: cover; }
.sj-osoba .et_pb_team_member_description { padding: 0; text-align: center; width: 100%; }   /* Ave: jméno a kontakt na střed celé šířky sloupce */
.sj-osoba .et_pb_team_member_description_content p { margin: 0 0 20.8px !important; font-size: 12px; line-height: 24px; color: var(--sj-tmava); }
.sj-osoba .et_pb_team_member_description_content a { color: var(--sj-tmava) !important; }
.sj-vc .et_pb_module.sj-osoba { margin-bottom: 30px !important; }   /* Ave .ld-tm */
.sj-osoba .et_pb_team_member_description :is(.et_pb_module_header, .et_pb_member_position, p) { text-align: center !important; }   /* Divi dává zarovnání start silnějším pravidlem */
.sj-osoba .et_pb_module_header { font: 600 15px/1.5 var(--sj-pismo); color: var(--sj-tmava); margin-bottom: 5px; }
.sj-osoba .et_pb_member_position { font: 600 12px/18px var(--sj-pismo); letter-spacing: .1em; text-transform: uppercase; color: var(--sj-zelena); padding: 0; margin: 0 !important; }
.sj-osoba .et_pb_member_social_links { display: none; }

/* mapa, video, kód */
.sj-mapa iframe { width: 100%; filter: grayscale(100%); display: block; border: 0; }
.sj-video__obal { position: relative; aspect-ratio: 16 / 9; }
.sj-video__obal iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

/* akordeon (vc_accordion, Ave accordion-sm accordion-active-has-fill) — změřeno na ostrém webu */
.sj-akordeon .et_pb_toggle { border: 0 !important; background: transparent !important; margin: 0 !important; padding: 0 !important; }
.sj-akordeon .et_pb_toggle_title { font: 700 22px/33px var(--sj-pismo) !important; color: var(--sj-modra) !important;
	padding: 14.3px 60px 14.3px 30px !important; margin: 0; cursor: pointer; transition: background-color .3s, color .3s; }
.sj-akordeon .et_pb_toggle_title::before { display: none !important; }
.sj-akordeon .et_pb_toggle_open .et_pb_toggle_title { background: var(--sj-zelena); color: #fff !important; }
.sj-akordeon .et_pb_toggle_content { padding: 16px 30px !important; font-size: 16px; line-height: 1.5; color: var(--sj-text); }

/* galerie (vc_media_grid): 3 čtverce 247 px, mezera 5 px, 750 px na střed */
.sj-galerie .et_pb_gallery_items { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 5px; max-width: 750px; margin: 0 auto 35px; }
.sj-galerie .et_pb_gallery_item { width: auto !important; margin: 0 !important; float: none !important; clear: none !important; }
.sj-galerie .et_pb_gallery_image img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.sj-galerie :is(.et_pb_gallery_title, .et_pb_gallery_caption, .et_pb_gallery_pagination) { display: none !important; }
@media (max-width: 767px) { .sj-galerie .et_pb_gallery_items { grid-template-columns: 1fr !important; max-width: none; } }   /* Ave: na mobilu fotky pod sebou přes celou šířku */

/* hláška s nadpisem (ld_message) */
.sj-message__nadpis { font-weight: 600; color: var(--sj-modra); margin-bottom: .5em !important; }

/* formulář CF7 na světlé stránce */
.sj-formular-stranka input:not([type=submit]), .sj-formular-stranka textarea { color: var(--sj-tmava); border-bottom-color: #d8dbe2; }
.sj-formular-stranka ::placeholder { color: var(--sj-text); }

/* responzivní odsazení sloupců z Ave (responsive_css) — sj-prevod.php → třídy sj-r-… */
/* Ave: padding 50 % se počítá z šířky sloupce (vnitřní obal), ne řádku → obsah sloupce na polovinu jeho šířky (změřeno na Bohoslužbách) */
@media (min-width: 992px) { .sj-r-padding_right-medium-50p > * { max-width: 50%; } }
@media (min-width: 992px) { .sj-vc .sj-radek > .sj-r-margin_bottom-medium-0px.sj-r-margin_bottom-medium-0px { margin-bottom: 0 !important; } }
@media (min-width: 768px) { .sj-r-padding_right-small-50px { padding-right: 50px !important; } .sj-r-padding_left-small-50px { padding-left: 50px !important; } }

/* tlačítka z Ave s vlastními barvami */
body .et_pb_button.sj-tlacitko-bile { background: #fff !important; color: var(--sj-modra) !important; border-color: #fff !important; }
body .et_pb_button.sj-tlacitko-bile:hover { background: var(--sj-modra) !important; color: #fff !important; border-color: var(--sj-modra) !important; }
body .et_pb_button.sj-tlacitko-hover-obrys:hover { background: transparent !important; color: var(--sj-zelena) !important; border-color: var(--sj-zelena) !important; }

/* překryv přes fotku na pozadí sekce (Ave overlay_bg) */
.sj-prekryv-cerny-20, .sj-prekryv-bily-20 { position: relative; }
.sj-prekryv-cerny-20::before { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, .20); pointer-events: none; }
.sj-prekryv-bily-20::before { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, .20); pointer-events: none; }
.sj-prekryv-cerny-25, .sj-prekryv-bily-25 { position: relative; }
.sj-prekryv-cerny-25::before { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, .25); pointer-events: none; }
.sj-prekryv-bily-25::before { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, .25); pointer-events: none; }
.sj-prekryv-cerny-30, .sj-prekryv-bily-30 { position: relative; }
.sj-prekryv-cerny-30::before { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, .30); pointer-events: none; }
.sj-prekryv-bily-30::before { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, .30); pointer-events: none; }
.sj-prekryv-cerny-40, .sj-prekryv-bily-40 { position: relative; }
.sj-prekryv-cerny-40::before { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, .40); pointer-events: none; }
.sj-prekryv-bily-40::before { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, .40); pointer-events: none; }
.sj-prekryv-cerny-50, .sj-prekryv-bily-50 { position: relative; }
.sj-prekryv-cerny-50::before { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, .50); pointer-events: none; }
.sj-prekryv-bily-50::before { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, .50); pointer-events: none; }
.sj-prekryv-cerny-80, .sj-prekryv-bily-80 { position: relative; }
.sj-prekryv-cerny-80::before { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, .80); pointer-events: none; }
.sj-prekryv-bily-80::before { content: ''; position: absolute; inset: 0; background: rgba(255, 255, 255, .80); pointer-events: none; }
:is([class*="sj-prekryv-"]) > .et_pb_row { position: relative; z-index: 1; }

.sj-obrazek-kruh img { border-radius: 50%; }

/* počítadlo „od roku 2006“ (ld_counter: 150px, zelené, pull-right, při zobrazení napočítá s rozmazáním) */
.sj-pocitadlo { font: 400 150px/1 var(--sj-pismo); color: var(--sj-zelena); text-align: right; position: relative; z-index: 1; margin-bottom: 30px; }
.sj-pocitadlo.pull-right { float: right; }
/* pull-right v Ave = float: obsah pod počítadlem začíná na jeho horní hraně (Divi moduly nejsou plovoucí → záporný okraj) */
.sj-pocitadlo-modul.pull-right { margin-top: 0 !important; margin-bottom: -150px !important; position: relative; z-index: 2; pointer-events: none; }
/* Ave: počítadlo je plovoucí (pull-right, 370 px) a další text ho obtéká. Kde se text vedle čísla nevejde
   (sloupec užší než ~445 px: 992–1199 px a pod 474 px), skočí pod číslo: 150 px + okraj 30 px − okraj textu 20 px */
@media (min-width: 992px) and (max-width: 1199px), (max-width: 473px) { .sj-pocitadlo-modul.pull-right { margin-bottom: 10px !important; } }

/* skupina fotek (ld_images_group) — polohy z převodu v proměnných --sj-<s|m|l>-<top|left|right|mtop|mleft…> */
.sj-skupina { position: relative; padding-bottom: 2em; }   /* Ave margin-bottom 2em; okraj posledního prvku v textu se nuluje */
/* Ave: u odhalení shora dolů (reveal tb) je obsah prvku na desktopu o 116 px níž než jeho rámeček — změřeno na Jakubčatech */
/* první fotka pod plovoucím počítadlem (Jakubčatá): kde text vedle čísla obteče, fotka se v Ave odsune pod číslo
   (150 + 30 − 20 − 24 − 20 = 116 px); kde text skočí pod číslo (992–1199 px a pod 474 px), fotka navazuje */
@media (min-width: 1200px), (min-width: 474px) and (max-width: 991px) { .sj-skupina__polozka[data-sj-odhal=tb] { padding-top: 116px; } }

.sj-skupina__polozka { display: block; position: relative;
	top: var(--sj-s-top, auto); left: var(--sj-s-left, auto); right: var(--sj-s-right, auto); bottom: var(--sj-s-bottom, auto);
	margin: var(--sj-s-mtop, 0) var(--sj-s-mright, 0) var(--sj-s-mbottom, 0) var(--sj-s-mleft, 0); }
@media (min-width: 768px) { .sj-skupina__polozka {
	top: var(--sj-m-top, var(--sj-s-top, auto)); left: var(--sj-m-left, var(--sj-s-left, auto)); right: var(--sj-m-right, var(--sj-s-right, auto));
	margin: var(--sj-m-mtop, var(--sj-s-mtop, 0)) var(--sj-m-mright, var(--sj-s-mright, 0)) var(--sj-m-mbottom, var(--sj-s-mbottom, 0)) var(--sj-m-mleft, var(--sj-s-mleft, 0)); } }
@media (min-width: 992px) { .sj-skupina__polozka {
	top: var(--sj-l-top, var(--sj-m-top, var(--sj-s-top, auto))); left: var(--sj-l-left, var(--sj-m-left, var(--sj-s-left, auto)));
	right: var(--sj-l-right, var(--sj-m-right, var(--sj-s-right, auto)));
	margin: var(--sj-l-mtop, var(--sj-m-mtop, var(--sj-s-mtop, 0))) var(--sj-l-mright, var(--sj-m-mright, var(--sj-s-mright, 0)))
		var(--sj-l-mbottom, var(--sj-m-mbottom, var(--sj-s-mbottom, 0))) var(--sj-l-mleft, var(--sj-m-mleft, var(--sj-s-mleft, 0))); } }
.sj-skupina__obal { position: relative; overflow: hidden; will-change: transform; }
.sj-skupina__obal img { display: block; width: 100%; height: auto; }
/* odhalení barevným pruhem (Ave enable_reveal): pruh přijede, fotka se objeví a pruh odjede stejným směrem */
.sj-skupina__polozka[data-sj-odhal] .sj-skupina__obal::after { content: ''; position: absolute; inset: 0; background: var(--sj-odhal); transform: scale(0, 1); transform-origin: left; }
.sj-skupina__polozka[data-sj-odhal]:is([data-sj-odhal=tb], [data-sj-odhal=bt]) .sj-skupina__obal::after { transform: scale(1, 0); transform-origin: top; }
.sj-skupina__polozka[data-sj-odhal=bt] .sj-skupina__obal::after { transform-origin: bottom; }
.sj-skupina__polozka[data-sj-odhal=rl] .sj-skupina__obal::after { transform-origin: right; }
html.sj-js .sj-skupina__polozka[data-sj-odhal]:not(.je-odhaleno) img { opacity: 0; }
.sj-skupina__polozka.odhal-1 .sj-skupina__obal::after { transform: none; transition: transform .6s cubic-bezier(.7, 0, .3, 1); }
.sj-skupina__polozka.odhal-2 .sj-skupina__obal::after { transform: scale(0, 1); transition: transform .6s cubic-bezier(.7, 0, .3, 1); }
.sj-skupina__polozka.odhal-2:is([data-sj-odhal=tb], [data-sj-odhal=bt]) .sj-skupina__obal::after { transform: scale(1, 0); }
.sj-skupina__polozka.odhal-2[data-sj-odhal=lr] .sj-skupina__obal::after { transform-origin: right; }
.sj-skupina__polozka.odhal-2[data-sj-odhal=rl] .sj-skupina__obal::after { transform-origin: left; }
.sj-skupina__polozka.odhal-2[data-sj-odhal=tb] .sj-skupina__obal::after { transform-origin: bottom; }
.sj-skupina__polozka.odhal-2[data-sj-odhal=bt] .sj-skupina__obal::after { transform-origin: top; }

/* stránkování Aktualit (Ave: 700 14px, aktuální tmavé, odkazy modré) */
.sj-sekce .sj-strankovani.sj-strankovani { display: flex; gap: 0; margin: 46px 0 17px; font: 700 14px/21px var(--sj-pismo); letter-spacing: .1em; text-transform: uppercase; }
.sj-strankovani .page-numbers { padding: 0 10px; color: var(--sj-odkaz); }
.sj-strankovani .page-numbers.current { color: #16171e; }
.sj-strankovani .page-numbers.dots { color: var(--sj-text); }

/* tlačítka převedená z Ave (btn-solid / btn-default): bez verzálek, řez 400 — verzálky jen s transformation=text-uppercase */
body .et_pb_button.sj-tlacitko.sj-tlacitko-vc { font-weight: 400 !important; text-transform: none; letter-spacing: 0; }
body .et_pb_button.sj-tlacitko.sj-tlacitko-vc.sj-velkymi { font-weight: 700 !important; text-transform: uppercase; letter-spacing: .05em; }
.sj-tlacitko-vc { --sj-pad: 1.15em 2.1em; }   /* Ave .btn > span */
.sj-tlacitko-vc.sj-tlacitko-sm { --sj-pad: .85em 1.5em; }
.sj-tlacitko-vc.sj-tlacitko-male { --sj-pad: .6em 1em; }

/* ------------------------------------------------------------------ detail aktuality (Ave single „cover") */
/* výpis z prispevek.php (sj-core); rozměry změřené na původním webu (1440 / 800 / 390 px) */
.sj-prispevek { --sj-text-sirka: calc((var(--sj-plocha) + 30px) * 2 / 3 - 30px); }   /* Ave col-md-8: 750 px při 1170 */
.et_pb_section.sj-prispevek { background-color: transparent !important; padding: 0 !important; }   /* svislá linka z #main-content prosvítá pod boxem jako v Ave */
.sj-prispevek .sj-radek.et_pb_row { width: 100% !important; max-width: none !important; }
.sj-prispevek .sj-radek > .et_pb_column { padding: 0 !important; }
.sj-prispevek .sj-radek > .et_pb_column > .et_pb_module { min-width: 0; max-width: 100%; }   /* moduly nesmí přetéct šířku okna */
.sj-titulni { position: relative; z-index: 0; overflow: hidden; width: auto !important; background: #fff; }   /* Divi style.css dává šířku 100 % */
.sj-titulni__foto { position: absolute; left: 0; right: 0; top: 0; height: 120%; background: center / cover no-repeat; will-change: transform; }
.sj-prispevek-box, .sj-prispevek .sj-prispevek-obsah {
	box-sizing: border-box; width: var(--sj-plocha); max-width: 100%; margin-left: auto !important; margin-right: auto !important; background: #fff;
	padding-left: calc((var(--sj-plocha) - var(--sj-text-sirka)) / 2) !important; padding-right: calc((var(--sj-plocha) - var(--sj-text-sirka)) / 2) !important;
}
.sj-prispevek-box { position: relative; display: flow-root; margin-top: -109px; padding-top: 65px; }   /* flow-root: okraj údajů zůstane v bílém boxu */   /* Ave .pull-up */
.sj-prispevek .sj-prispevek-obsah { position: relative; padding-bottom: 30px !important; }
.sj-prispevek-hlava .et_pb_text_inner { color: var(--sj-text); }
.sj-prispevek__nadpis { font: 700 36px/39.996px var(--sj-pismo); letter-spacing: -0.01em; color: var(--sj-modra); margin: 0 0 21.6px; padding: 0; }
.sj-meta { display: flex; margin-bottom: 60px; font-size: 16px; line-height: 24px; }
.sj-meta__polozka + .sj-meta__polozka { margin-left: 52px; }
.sj-meta__popis { display: block; font-size: 12px; line-height: 24px; letter-spacing: .1em; text-transform: uppercase; color: var(--sj-text); }
.sj-meta a { color: var(--sj-odkaz); }
.sj-prispevek .sj-prispevek-obsah { font-size: 16px; line-height: 24px; color: var(--sj-text); }
/* typografie obsahu jako Ave (theme.css: p 1,3em, nadpisy 1,25em / 0,75em, seznamy Bootstrap, tabulky s rámečkem) */
.sj-prispevek-obsah :is(h1, h2, h3, h4, h5, h6) { margin: 1.25em 0 .75em !important; padding: 0; }
.sj-prispevek-obsah h1 { margin-top: 0 !important; }
.sj-prispevek-obsah p { margin: 0 0 1.3em !important; padding: 0; }
.sj-prispevek-obsah > p:last-child { margin-bottom: 0 !important; }   /* poslední odstavec textového prvku WPBakery (u e-mailů z Postie ne) */
.sj-prispevek-obsah :is(ul, ol) { margin: 0 0 10px !important; padding: 0 0 0 40px !important; }
.sj-prispevek-obsah ul { list-style: disc; } .sj-prispevek-obsah ol { list-style: decimal; }
.sj-prispevek-obsah li { padding: 0; line-height: 24px; }
.sj-prispevek-obsah table { border: 1px solid #dedede; border-collapse: separate; margin: 0; }
.sj-prispevek-obsah table tr { border-bottom: 1px solid #dedede; }
.sj-prispevek-obsah table :is(td, th) { padding: .45em 1em; }
.sj-prispevek-pata, .sj-nav { box-sizing: border-box; width: var(--sj-text-sirka); max-width: 100%; margin-left: auto; margin-right: auto; }
.sj-prispevek-pata { padding: 3.2px 0 20px; }
.sj-sdilet { display: flex; align-items: center; margin: 30px 0; font-size: 12px; line-height: 18px; letter-spacing: .1em; text-transform: uppercase; color: var(--sj-text); }
.sj-sdilet__popis { margin-right: 12px; }
.sj-sdilet ul { display: flex; margin: 0; padding: 0; list-style: none; }
.sj-sdilet li { margin-right: 4.2px; padding: 0; }
.sj-sdilet a { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; color: #fff; transition: opacity .3s; }
.sj-sdilet a:hover { opacity: .8; }
.sj-sdilet svg { width: 16px; height: 16px; fill: currentColor; }
.sj-sdilet__facebook { background: #3b5998; } .sj-sdilet__twitter { background: #1da1f2; }
.sj-sdilet__pinterest { background: #bd081c; } .sj-sdilet__linkedin { background: #0077b5; }
.sj-nav { display: flex; justify-content: space-between; gap: 30px; margin-top: 0; padding: 39.27px 0;   /* okraj Ave splývá s okrajem patičky */ font-size: 17.45px; line-height: 21.82px; }
.sj-nav > div { max-width: 300px; }
.sj-nav:has(.sj-nav__predchozi):has(.sj-nav__dalsi) { margin-bottom: 21.82px; }   /* Ave styl cover: s oběma odkazy okraj 1,25em */
.sj-nav__predchozi { padding-left: 30px; }
.sj-nav__dalsi { padding-right: 30px; margin-left: auto; text-align: right; }
.sj-nav a { position: relative; display: block; color: var(--sj-odkaz); }
.sj-nav__popis { display: block; margin-bottom: 10px; font-size: 12px; line-height: 18px; letter-spacing: .1em; text-transform: uppercase; }
.sj-nav__nazev { display: block; color: #16171e; transition: color .3s; }
.sj-nav a:hover .sj-nav__nazev { color: var(--sj-odkaz); }
.sj-nav__sipka { position: absolute; top: 24px; width: 24px; height: 24px; color: #16171e; transition: transform .3s; }
.sj-nav__predchozi .sj-nav__sipka { left: -40px; }
.sj-nav__dalsi .sj-nav__sipka { right: -40px; }
.sj-nav__predchozi a:hover .sj-nav__sipka { transform: translateX(-5px); }
.sj-nav__dalsi a:hover .sj-nav__sipka { transform: translateX(5px); }
/* styl „cover" (Ave): fotka přes celou šířku, výška polovina okna (nejméně 450 px), šedé pozadí, přechod zleva,
   nadpis a údaje bíle na 55 % výšky; pod 1200 px fotka za textem (160 px nad a pod) a obsah bez vytažení */
.sj-titulni--plna { height: max(450px, 50vh); margin: 0 !important; background-color: #666871; }
.sj-titulni--plna::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to right, rgba(20, 22, 34, .6) 0%, rgba(0, 0, 0, 0) 100%); }
.sj-titulni__udaje { position: absolute; left: 0; right: 0; top: 55%; z-index: 2; transform: translateY(-50%); }
.sj-titulni__obal { width: var(--sj-plocha); max-width: calc(100% - 30px); margin: 0 auto; }
.sj-titulni__hlavicka { max-width: calc((var(--sj-plocha) + 30px) / 2 - 30px); will-change: transform, opacity; }   /* Ave col-md-6 */
.sj-titulni--plna .sj-prispevek__nadpis { color: #fff; }
.sj-titulni--plna .sj-meta { margin-bottom: 0; }
.sj-titulni--plna .sj-meta__popis { color: rgba(255, 255, 255, .5); }
.sj-titulni--plna .sj-meta a { color: #fff; }
.sj-prispevek-box--prazdny { padding-top: 65px; }
/* nástup jako Ave: fotka se rozsvítí a přiblíží, řádky nadpisu a údaje vyjedou o 80 px (sj-web.js) */
html.sj-js .sj-titulni--plna:not(.je-uvedeno) .sj-titulni__foto { opacity: 0; scale: 1.14; }
.sj-titulni--plna .sj-titulni__foto { transition: opacity .5s ease-out .23s, scale 1.1s cubic-bezier(.23, 1, .32, 1) .23s; }
html.sj-js .sj-titulni--plna:not(.je-rozdeleno) .sj-prispevek__nadpis { opacity: 0; }
.sj-nadpis-radek { display: block; }
html.sj-js .sj-titulni--plna:not(.je-uvedeno) :is(.sj-nadpis-radek, .sj-meta__polozka) { opacity: 0; transform: translateY(80px); }
.sj-titulni--plna :is(.sj-nadpis-radek, .sj-meta__polozka) { transition: opacity 1s cubic-bezier(.23, 1, .32, 1), transform 1s cubic-bezier(.23, 1, .32, 1); }
.sj-titulni--plna .sj-meta__polozka { display: inline-block; }
@media (max-width: 1199px) {
	.sj-titulni.sj-titulni--plna { height: auto; margin: 0 0 40px !important; }
	.sj-titulni__udaje { position: relative; top: auto; transform: none; padding: 160px 0; }
	.sj-prispevek-box, .sj-prispevek .sj-prispevek-obsah { width: var(--sj-text-sirka); margin-top: 0; background: transparent; padding-left: 0 !important; padding-right: 0 !important; }
}
@media (max-width: 991px) {
	.sj-prispevek { --sj-text-sirka: var(--sj-plocha); }
	.sj-titulni__hlavicka { max-width: none; }
	.sj-titulni--plna .sj-meta { flex-direction: column; margin-bottom: 32px; }
	.sj-titulni--plna .sj-meta__polozka + .sj-meta__polozka { margin: 16px 0 0; }
	.sj-nav { flex-direction: column; gap: 0; }
	.sj-nav > div { max-width: none; }
}
@media (max-width: 767px) {
	.sj-prispevek { --sj-text-sirka: calc(100vw - 30px); }
}
@media (prefers-reduced-motion: reduce) {
	.sj-titulni--plna :is(.sj-titulni__foto, .sj-nadpis-radek, .sj-meta__polozka) { transition: none; }
}

/* ------------------------------------------------------------------ archivy rubrik a štítků (Ave blog Timeline, 2 sloupce) */
.sj-archiv { padding: 70px 0 54px !important; }   /* Ave .content 70 px; stránkování má okraj 16 px */
.sj-archiv .sj-novinky--archiv .sj-novinka__nazev { font-size: 30px; line-height: 34.5px; }
.sj-archiv .sj-novinky--archiv .sj-novinka__nazev a { color: var(--sj-tmava); }
.sj-archiv .sj-strankovani.sj-strankovani { margin: 16px 0; }
.sj-archiv-prazdny { text-align: center; }

/* ------------------------------------------------------------------ stránka 404 (Ave page-404) */
body.error404 .et-l--header { display: none; }   /* Ave na 404 hlavičku nemá */
.sj-404-sekce { padding: 200px 0 130px !important; }
.sj-404 { text-align: center; }
.sj-404-sekce .sj-radek.et_pb_row { max-width: calc(var(--sj-text-404, 750px) + 30px) !important; }
.sj-404__cislo { margin: 0 0 .45em; padding: 0; font: 700 300px/1 var(--sj-pismo); color: var(--sj-modra); }
.sj-404__nadpis { margin: 0 0 4px; padding: 0; font: 700 30px/37.5px var(--sj-pismo); color: var(--sj-modra); }
.sj-404__text { margin: 0 0 20.8px !important; font-size: 16px; line-height: 24px; color: var(--sj-text); }
.sj-404__tlacitko {
	display: inline-flex; align-items: center; padding: 14.95px 31.2px; border-radius: 50em; background: var(--sj-zelena); color: #fff !important;
	font: 700 13px/28px var(--sj-pismo); letter-spacing: .1em; text-transform: uppercase; box-shadow: 0 8px 15px rgba(0, 0, 0, .07);
	transition: transform .3s, box-shadow .3s;
}
.sj-404__tlacitko:hover { transform: translateY(-1px); box-shadow: 0 1px 1px rgba(0, 0, 0, .05), 0 2px 2px rgba(0, 0, 0, .05), 0 4px 4px rgba(0, 0, 0, .05), 0 8px 8px rgba(0, 0, 0, .05), 0 16px 16px rgba(0, 0, 0, .05); }
.sj-404__tlacitko svg { width: 16px; height: 16px; margin-right: 13.975px; }
@media (max-width: 991px) { .sj-404__tlacitko { padding: 13px 31.2px; } }
@media (max-width: 767px) { .sj-404__cislo { font-size: 150px; } }
.et_pb_section:is(.sj-404-sekce, .sj-archiv) { background-color: transparent !important; }   /* svislá linka z #main-content jako v Ave */

/* ------------------------------------------------------------------ detail události (MEC single, udalosti.php) */
/* Ave: záhlaví s fotkou stropu, pod ním obsah MEC v kontejneru 1170 px (MEC .mec-container má okraj −56 px → 1166 px)
   a prázdný šedý pruh komentářů (Ave .comments-area: 44 + 48 px) */
#main-content.mec-container.sj-udalost { width: 100%; max-width: none; margin: 0; padding: 0; }
.sj-udalost > .mec-wrap { width: calc(var(--sj-plocha) + 26px); max-width: calc(100% - 30px); margin: 0 0 0 calc((100% - var(--sj-plocha)) / 2 + 15px); }
.sj-udalost > #comment-wrap { box-sizing: border-box; width: calc(var(--sj-plocha) + 26px); max-width: calc(100% - 30px); height: 94px; margin: 0 0 0 calc((100% - var(--sj-plocha)) / 2 + 15px); padding: 0; background: #f4f5f8; }
.sj-udalost > #comment-wrap > * { display: none; }
.sj-udalost dl { margin: 0 0 20px !important; }   /* Bootstrap v Ave (MEC ho nuluje silnějším pravidlem) */
.sj-udalost dd { line-height: 20px; }
.sj-udalost .mec-single-event-bar dd { margin-top: 7px !important; }   /* Ave: datum a čas 7 px pod popiskem */
@media (min-width: 768px) and (max-width: 991px) {
	.sj-udalost > :is(.mec-wrap, #comment-wrap, h1) { width: calc(var(--sj-plocha) + 28px); margin-left: calc((100% - var(--sj-plocha)) / 2 + 10px); }
}
@media (max-width: 767px) {   /* Ave na mobilu: obsah MEC 55 px od okrajů */
	.sj-udalost > :is(.mec-wrap, #comment-wrap) { width: auto; max-width: none; margin: 0 55px; }
}
/* archiv událostí /udalosti/: obsah 70 px pod záhlavím, nadpis „Události" 72 px */
.sj-udalosti { padding-bottom: 70px !important; }
.sj-udalosti > .sj-zahlavi { margin-bottom: 70px; }
.sj-udalosti > h1 { width: calc(var(--sj-plocha) + 26px); max-width: calc(100% - 30px); margin: 0 0 54px calc((100% - var(--sj-plocha)) / 2 + 15px); padding: 0; font: 700 72px/79.992px var(--sj-pismo); color: var(--sj-modra); }
@media (max-width: 767px) { .sj-udalosti > h1 { width: auto; max-width: none; margin: 0 55px 54px; } }
