/* ============================================================
   SJK 2026 — V4 „Cinemax" (tmavý, Poppins + Inter)
   ============================================================ */
:root {
	--bg: #0a0a0a;
	--card: #141414;
	--card-2: #1c1c1c;
	--text: #fafafa;
	--muted: #c8c8c8;
	--dim: #8a8a8a;
	--line: rgba(255, 255, 255, .12);
	--red: #ea384c;
	--red-2: #c81f1f;
	--font-h: "Poppins", "Inter", sans-serif;
	--font-b: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
	--pad: clamp(24px, 5vw, 96px);
	--maxw: 1920px;
}

* { box-sizing: border-box; }
/* `scrollbar-gutter` drží místo po posuvníku i když ho schováme (otevřené
   menu) — bez toho stránka i tlačítka poskočí o jeho šířku. */
html { scroll-behavior: smooth; overflow-x: hidden; scrollbar-gutter: stable; }
body {
	margin: 0;
	overflow-x: clip;
	background: var(--bg);
	color: var(--text);
	font-family: var(--font-b);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
::selection { background: var(--red); color: #fff; }

h1, h2, h3, h4 {
	font-family: var(--font-h);
	font-weight: 600;
	letter-spacing: -.015em;
	line-height: 1.1;
	margin: 0;
}

/* ---------- tlačítka ---------- */
.sjk-btn {
	display: inline-block;
	background: var(--red); color: #fff;
	font-weight: 600; font-size: 16px;
	padding: 14px 32px; border-radius: 50px;
	transition: background .2s ease;
}
.sjk-btn:hover { background: var(--red-2); }
.sjk-btn--ghost { background: rgba(255,255,255,.07); box-shadow: inset 0 0 0 1px rgba(255,255,255,.22); }
.sjk-btn--ghost:hover { background: rgba(255,255,255,.14); }
.sjk-store { display: inline-flex; align-items: center; gap: 10px; }
.sjk-store svg { width: 18px; height: 18px; fill: currentColor; flex: 0 0 auto; }
.sjk-hbtns { display: flex; gap: 14px; flex-wrap: wrap; }

/* ---------- floating nav ---------- */
.sjk-nav {
	position: fixed; top: clamp(14px, 1.8vw, 26px); left: 0; right: 0; z-index: 50;
	padding: 0 var(--pad); pointer-events: none;
}
.sjk-nav__in {
	pointer-events: auto;
	max-width: var(--maxw); margin: 0 auto;
	display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 24px;
	background: rgba(12, 12, 12, .55);
	backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
	border: 1px solid var(--line); border-radius: 50px;
	padding: 10px 12px 10px 28px;
	box-shadow: 0 12px 44px rgba(0, 0, 0, .4);
}
.sjk-nav__brand { flex: 0 0 auto; }
.sjk-nav__brand img { height: 26px; width: auto; display: block; }
.sjk-nav__links { min-width: 0; flex: 1 1 auto; }
.sjk-nav__list {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-wrap: nowrap; align-items: center; gap: clamp(14px, 1.5vw, 28px);
}
.sjk-nav__list a {
	font-size: 14px; font-weight: 500; color: var(--muted); white-space: nowrap;
	transition: color .15s ease;
}
.sjk-nav__list a:hover { color: var(--text); }
/* Úvodní stránka je v logu */
.sjk-nav__list .menu-item-home { display: none; }
/* položky (mimo logo a CTA) vystředit — auto margin před první viditelnou položkou + před CTA */
.sjk-nav__list > li:first-child:not(.menu-item-home),
.sjk-nav__list > li.menu-item-home + li { margin-left: auto; }
/*
 * CTA v menu: položce se v adminu (Vzhled → Menu → CSS Classes)
 * nastaví třída `sjk-cta` — žádné hádání podle textu/URL.
 */
.sjk-nav__list .sjk-cta { order: 99; margin-left: auto; }
.sjk-nav__list .sjk-cta > a {
	display: inline-block;
	background: var(--red); color: #fff;
	padding: 11px 26px; border-radius: 50px; font-weight: 600;
	font-size: 16px; line-height: 1.6;
}
.sjk-nav__list .sjk-cta > a:hover { background: var(--red-2); color: #fff; }
.sjk-nav__burger {
	display: none; align-items: center; gap: 8px;
	background: none; border: 1px solid var(--line); border-radius: 50px;
	padding: 9px 18px; cursor: pointer;
	font-family: var(--font-h); font-size: 13px; font-weight: 500;
	color: var(--text); transition: border-color .15s ease;
	flex: 0 0 auto;
}
.sjk-nav__burger:hover { border-color: var(--red); }
/* Jen slovo „Menu" — čárka vedle něj se na úzkém telefonu nevešla
   do pilulky hlavičky a tlačítko vylézalo za její pravý okraj. */
.sjk-nav__burger span { display: none; }

/* ---------- fullscreen menu ---------- */
.sjk-menu {
	position: fixed; inset: 0; z-index: 100;
	background: #0a0a0a; color: var(--text);
	overflow-y: auto;
}
.sjk-menu__inner { position: relative; padding: 110px var(--pad) 60px; max-width: 1200px; margin: 0 auto; }
/* Překryv zakryje i hlavičku s přepínačem, takže má vlastní zavírání.
   Lišta kopíruje konstrukci `.sjk-nav`/`.sjk-nav__in` (jen bez skla), takže
   tlačítko vychází na stejné místo, kde bylo „Menu" — bez dopočítávání. */
.sjk-menu__bar {
	position: fixed; top: clamp(14px, 1.8vw, 26px); left: 0; right: 0; z-index: 2;
	padding: 0 var(--pad); pointer-events: none;
}
.sjk-menu__bar-in {
	max-width: var(--maxw); margin: 0 auto;
	display: flex; justify-content: flex-end; align-items: center;
	padding: 10px 12px; border: 1px solid transparent;
}
.sjk-menu__close {
	pointer-events: auto;
	display: inline-flex; align-items: center; gap: 8px;
	background: none; border: 1px solid var(--line); border-radius: 50px;
	padding: 9px 18px; cursor: pointer;
	font-family: var(--font-h); font-size: 13px; font-weight: 500; color: var(--text);
	transition: border-color .15s ease, color .15s ease;
}
.sjk-menu__close:hover { border-color: var(--red); color: var(--red); }
.sjk-menu__label { font-family: var(--font-h); font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--red); margin-bottom: 32px; }
.sjk-menu ul { list-style: none; margin: 0; padding: 0; }
.sjk-menu li a {
	display: block;
	font-family: var(--font-h); font-weight: 600; letter-spacing: -.015em;
	font-size: clamp(26px, 4.4vw, 52px); line-height: 1.3;
	color: var(--text); transition: color .15s ease, transform .2s ease;
}
.sjk-menu li a:hover { color: var(--red); transform: translateX(12px); }
html.sjk-menu-open { overflow: hidden; }

/* ---------- layout ---------- */
.sjk-main { display: block; }
.sjk-section { padding: clamp(64px, 9vw, 130px) var(--pad) 0; }
.sjk-section > * { max-width: var(--maxw); margin-left: auto; margin-right: auto; }
.sjk-shead {
	display: flex; align-items: baseline; justify-content: space-between; gap: 24px;
	margin-bottom: clamp(28px, 3.6vw, 48px);
}
.sjk-shead h2 { font-size: clamp(28px, 3.2vw, 46px); }
.sjk-more {
	color: var(--muted); font-size: 15px; font-weight: 500;
	border: 1px solid var(--line); border-radius: 50px; padding: 10px 22px; white-space: nowrap;
	transition: border-color .2s ease, color .2s ease;
}
.sjk-more:hover { border-color: var(--red); color: var(--text); }

/* ---------- hero ---------- */
.sjk-hero {
	position: relative; min-height: min(88vh, 860px);
	display: flex; align-items: flex-end; overflow: hidden;
}
.sjk-hero::before {
	content: ""; position: absolute; inset: 0;
	/* WebP (104 kB) s JPEG záložkou (415 kB) pro prohlížeče bez podpory */
	background: url(kraus-hero.jpg) no-repeat;
	background-image: image-set(url(kraus-hero.webp) type("image/webp"), url(kraus-hero.jpg) type("image/jpeg"));
	background-size: cover; background-position: 68% 20%;
}
.sjk-hero::after {
	content: ""; position: absolute; inset: 0;
	background:
		linear-gradient(180deg, rgba(10,10,10,.55) 0%, rgba(10,10,10,.1) 30%, rgba(10,10,10,.25) 62%, #0a0a0a 100%),
		linear-gradient(90deg, rgba(10,10,10,.72) 0%, rgba(10,10,10,.25) 45%, rgba(10,10,10,.05) 70%);
}
.sjk-hero__in {
	position: relative; z-index: 2; width: 100%;
	max-width: var(--maxw); margin: 0 auto;
	padding: 160px var(--pad) clamp(56px, 7vw, 110px);
}
.sjk-hero h1 {
	font-size: clamp(38px, 5.2vw, 86px); font-weight: 700;
	letter-spacing: -.01em; text-transform: uppercase; line-height: 1.02;
}
.sjk-hero h1 b { color: var(--red); font-weight: 700; display: block; }
.sjk-hero h1 span {
	display: block; font-size: clamp(17px, 1.5vw, 26px); font-weight: 600;
	letter-spacing: .05em; margin-top: 16px; max-width: 34ch; line-height: 1.35;
}
.sjk-hero__btns { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 34px; }

/* ---------- epizody (karty) ---------- */
.sjk-eps { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(18px, 2vw, 30px); }
.sjk-ep {
	background: var(--card); border-radius: 10px; overflow: hidden;
	border: 1px solid transparent;
	transition: border-color .2s ease, transform .2s ease;
}
.sjk-ep:hover { border-color: rgba(234, 56, 76, .5); transform: translateY(-4px); }
.sjk-ep__media { aspect-ratio: 16/9; overflow: hidden; position: relative; background: var(--card-2); }
.sjk-ep__media::after {
	content: ""; position: absolute; right: 14px; bottom: 14px;
	width: 38px; height: 38px; border-radius: 50%; padding: 0;
	background-color: rgba(10,10,10,.78);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8.5 5.6v12.8L19 12z'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: 53% 50%; background-size: 13px 13px;
	border: 1px solid rgba(255,255,255,.25);
	transition: background-color .2s ease, border-color .2s ease;
}
.sjk-ep:hover .sjk-ep__media::after { background-color: var(--red); border-color: var(--red); }
.sjk-ep__media img { width: 100%; height: 100%; object-fit: cover; }
.sjk-ep__body { padding: 18px 20px 22px; }
.sjk-ep__date { color: var(--red); font-size: 13px; font-weight: 500; margin-bottom: 8px; }
.sjk-ep h3 { font-size: 19px; margin-bottom: 6px; }
.sjk-ep p { color: var(--dim); font-size: 14px; line-height: 1.55; margin: 0; }

/* ---------- hosté ---------- */
.sjk-guests { display: grid; grid-template-columns: repeat(6, 1fr); gap: clamp(14px, 1.6vw, 22px); }
.sjk-guest {
	position: relative; aspect-ratio: 3/4; border-radius: 12px; overflow: hidden;
	background: var(--card);
}
.sjk-guest img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.sjk-guest:hover img { transform: scale(1.05); }
.sjk-guest b {
	position: absolute; left: 10px; right: 10px; bottom: 14px; z-index: 2;
	font-family: var(--font-h); font-weight: 600; font-size: 16px; line-height: 1.2;
	text-align: center;
}
.sjk-guest b::after { content: ""; display: block; width: 26px; height: 2px; background: var(--red); margin: 8px auto 0; }
.sjk-guest::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.85)); }

/* ---------- kategorie (typo dlaždice) ---------- */
.sjk-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(14px, 1.6vw, 22px); }
.sjk-cat {
	position: relative; aspect-ratio: 16/7; border-radius: 10px; overflow: hidden;
	background: var(--card); border: 1px solid var(--line);
	transition: border-color .2s ease;
}
.sjk-cat:hover { border-color: var(--red); }
.sjk-cat img { width: 100%; height: 100%; object-fit: cover; opacity: .22; filter: grayscale(.5); transition: opacity .3s ease, filter .3s ease; }
.sjk-cat:hover img { opacity: .4; filter: grayscale(0); }
.sjk-cat b {
	position: absolute; inset: 0; z-index: 2;
	display: flex; align-items: center; justify-content: center; text-align: center;
	padding: 0 18px;
	font-family: var(--font-h); font-weight: 600; font-size: clamp(18px, 1.4vw, 23px); letter-spacing: -.01em;
}

/* ---------- vstupenky / natáčení ---------- */
.sjk-know { display: grid; grid-template-columns: 1fr 1.3fr; gap: clamp(32px, 4vw, 72px); align-items: start; }
.sjk-know__intro h2 { font-size: clamp(28px, 3.2vw, 46px); margin-bottom: 18px; }
.sjk-know__intro p { color: var(--muted); font-size: 16px; line-height: 1.75; margin: 0; }
.sjk-venue { margin-top: 30px; }
.sjk-venue b { font-family: var(--font-h); font-weight: 600; font-size: 19px; display: block; margin-bottom: 4px; }
.sjk-venue span { color: var(--dim); font-size: 14px; }
.sjk-faq { display: flex; flex-direction: column; gap: 14px; }
.sjk-fq {
	display: block;
	background: var(--card); border-radius: 10px; padding: 22px 26px;
	border: 1px solid transparent; transition: border-color .2s ease;
}
.sjk-fq:hover { border-color: rgba(234, 56, 76, .4); }
.sjk-fq__q { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.sjk-fq__q h3 { font-size: 18px; }
.sjk-fq__q i { color: var(--red); font-style: normal; font-size: 22px; flex: 0 0 auto; }
.sjk-fq__a { color: var(--dim); font-size: 15px; line-height: 1.65; margin-top: 10px; }
.sjk-rowline {
	display: flex; justify-content: space-between; gap: 14px;
	padding: 10px 0; border-bottom: 1px solid var(--line); color: var(--muted);
}
.sjk-rowline:last-child { border-bottom: 0; }
.sjk-rowline b { font-family: var(--font-h); font-weight: 600; color: var(--text); }
.sjk-rowline:hover b { color: var(--red); }
.sjk-pills { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.sjk-pills a {
	border: 1px solid var(--line); border-radius: 50px; padding: 8px 18px;
	font-size: 14px; color: var(--muted);
	transition: border-color .2s ease, color .2s ease;
}
.sjk-pills a:hover { border-color: var(--red); color: var(--text); }

/* ---------- CTA: členské kanály ---------- */
.sjk-ctaband { margin: clamp(64px, 9vw, 130px) var(--pad) 0; }
.sjk-ctaband__in {
	position: relative; max-width: calc(var(--maxw) - 2 * var(--pad)); margin: 0 auto;
	border-radius: 14px; overflow: hidden;
	padding: clamp(48px, 6vw, 96px) clamp(28px, 4vw, 72px);
	text-align: center;
}
/* Fotka je záběr z pořadu — držet ji za horní hranu, na střed se ořezávaly
   hlavy. */
.sjk-ctaband__in::before { content: ""; position: absolute; inset: 0; background: var(--cta-bg, none) center top/cover; opacity: .3; }
.sjk-ctaband__in::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(200,31,31,.5), rgba(10,10,10,.82)); }
.sjk-ctaband__in h2 { position: relative; z-index: 2; font-size: clamp(32px, 4.4vw, 64px); font-weight: 700; }
.sjk-ctaband__in p { position: relative; z-index: 2; max-width: 62ch; margin: 18px auto 34px; color: #e7e7e7; font-size: 17px; line-height: 1.7; }
.sjk-ctaband__in .sjk-btn { position: relative; z-index: 2; }

/* ---------- aplikace ----------
   Text drží levou hranu sekce (dřív se celý blok centroval doprostřed),
   telefon sedí vpravo. Blok je užší než zbytek homepage — přes celou šířku
   se text i mockup od sebe rozjížděly. */
.sjk-app {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 44%);
	gap: clamp(36px, 5vw, 80px); align-items: stretch;
	max-width: 1140px;
}
.sjk-app__text { max-width: 620px; }
.sjk-app h2 { font-size: clamp(28px, 3.4vw, 52px); margin-bottom: 16px; max-width: 16ch; }
.sjk-app__lead { color: var(--muted); font-size: 17px; line-height: 1.7; margin: 0 0 26px; max-width: 46ch; }
.sjk-app__list { list-style: none; margin: 0 0 30px; padding: 0; display: grid; gap: 14px; }
.sjk-app__list li {
	position: relative; padding-left: 30px;
	display: flex; flex-direction: column; gap: 2px;
}
/* odrážka jako zaškrtnutí v barvě značky */
.sjk-app__list li::before {
	content: ""; position: absolute; left: 0; top: 3px;
	width: 18px; height: 18px; border-radius: 50%;
	background-color: rgba(234, 56, 76, .16);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ea384c' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: center; background-size: 11px;
}
.sjk-app__list b { font-family: var(--font-h); font-weight: 600; font-size: 16.5px; color: var(--text); }
.sjk-app__list span { color: var(--dim); font-size: 14.5px; line-height: 1.5; }

/* Oficiální odznaky obchodů — vlastní tlačítka se nahradila jimi.
   Apple je SVG, Google PNG, oba mají kolem sebe vlastní ochrannou zónu,
   takže se srovnávají na stejnou výšku a ne na stejný rám. */
.sjk-app__stores { align-items: center; gap: 10px; }
.sjk-app__stores .sjk-store { display: inline-flex; }
.sjk-app__stores img { height: 52px; width: auto; display: block; transition: opacity .15s ease; }
.sjk-app__stores a:hover img { opacity: .82; }

/* QR kódy ke stažení */
.sjk-app__qr { display: flex; gap: 18px; margin-top: 26px; flex-wrap: wrap; }
.sjk-qr { margin: 0; text-align: center; }
.sjk-qr img, .sjk-qr__placeholder {
	display: block; width: 114px; height: 114px;
	background: #fff; border-radius: 10px;
}
.sjk-qr__placeholder {
	display: flex; align-items: center; justify-content: center;
	background: var(--card-2); border: 1px dashed var(--line); color: var(--dim);
	font-family: var(--font-h); font-size: 13px; letter-spacing: .08em;
}
.sjk-qr figcaption { margin-top: 8px; font-size: 12.5px; color: var(--dim); }

/* Mockup je vysoký jako celý blok. Musí být vytržený z toku (absolutně),
   jinak by svou vlastní výškou blok naopak roztáhl a na text by zbyl
   proužek — sloupci proto určuje šířku mřížka, ne obrázek. */
.sjk-app__phone { position: relative; min-height: 300px; }
/* Hotový mockup se dvěma obrazovkami aplikace (dřív se telefon skládal
   ze stínů a rámečků v CSS a dovnitř se sázela fotka z posledního dílu).
   Výšku bere z bloku, šířku si dopočítá sám — sloupec s textem se tomu
   přizpůsobí. */
.sjk-app__mock {
	position: absolute; inset: 0; display: block;
	width: 100%; height: 100%; object-fit: contain; object-position: center;
	filter: drop-shadow(0 30px 60px rgba(0, 0, 0, .5));
}
/* Na telefonu je QR k ničemu — tam se klikne rovnou na odznak obchodu. */
@media (max-width: 620px) {
	.sjk-app__qr { display: none; }
	.sjk-app__stores img { height: 46px; }
}

/* ---------- partneři ---------- */
/* Pás distributorů patří k patičce, ne k bloku s aplikací — proto velká
   mezera nahoře a skoro žádná dole. */
.sjk-partners { padding: clamp(80px, 10vw, 150px) var(--pad) clamp(4px, 1vw, 14px); }
.sjk-partners__in {
	max-width: var(--maxw); margin: 0 auto;
	display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap;
}
.sjk-partners__in > p { font-family: var(--font-h); font-weight: 500; font-size: 15px; color: var(--dim); margin: 0; max-width: 26ch; }
.sjk-plogos { display: flex; align-items: center; gap: clamp(28px, 4vw, 64px); flex-wrap: wrap; }
/* Loga jsou z různých zdrojů (tmavá, barevná, na bílém) — `brightness(0)`
   je srazí na plnou černou a `invert(1)` z nich udělá jednotnou bílou. */
.sjk-plogos img {
	height: 40px; width: auto; border-radius: 6px;
	filter: brightness(0) invert(1); opacity: 1;
	transition: opacity .2s ease;
}
.sjk-plogos a:hover img { opacity: .7; }

/* ---------- marquee ---------- */
.sjk-mq {
	border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
	/* pás distributorů nad ním k patičce patří, proto jen malý odstup */
	margin-top: clamp(24px, 3vw, 44px);
	overflow: hidden; white-space: nowrap; padding: 26px 0;
}
.sjk-mq__track { display: inline-block; white-space: nowrap; animation: sjk-mq 30s linear infinite; }
@keyframes sjk-mq { to { transform: translateX(-50%); } }
.sjk-mq b {
	font-family: var(--font-h); font-weight: 700;
	font-size: clamp(26px, 3.4vw, 52px); letter-spacing: .01em; text-transform: uppercase;
	margin: 0 24px; color: var(--text);
}
.sjk-mq b:nth-of-type(even) { color: transparent; -webkit-text-stroke: 1px var(--dim); }
.sjk-mq i { color: var(--red); font-style: normal; font-size: clamp(20px, 2.4vw, 36px); vertical-align: 6px; }

/* ---------- footer (floating karta) ---------- */
.sjk-footer {
	padding: clamp(56px, 7vw, 104px) var(--pad) clamp(28px, 3.5vw, 48px);
	color: var(--dim);
	/* ztlumený červený glow pod patičkou (přes černé pozadí stránky) */
	background:
		radial-gradient(120% 130% at 50% 125%, rgba(234, 56, 76, .26) 0%, rgba(200, 31, 31, .13) 32%, rgba(120, 20, 28, .05) 55%, transparent 72%);
}
.sjk-footer__in {
	max-width: var(--maxw); margin: 0 auto;
	/* stejný frosted-glass jako pilulka hlavičky (.sjk-nav__in) — gradient prosvítá skrz sklo */
	background: rgba(12, 12, 12, .55);
	backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
	border: 1px solid var(--line); border-radius: 26px;
	padding: clamp(32px, 3.5vw, 56px) clamp(28px, 3.5vw, 56px) 24px;
	box-shadow: 0 12px 44px rgba(0, 0, 0, .4);
}
.sjk-footer__logo {
	display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
	margin-bottom: clamp(28px, 3vw, 44px);
}
.sjk-footer__logo img { height: 32px; width: auto; display: block; }
.sjk-footer__logo small { font-size: 13px; color: var(--dim); max-width: 34ch; line-height: 1.6; text-align: right; }
.sjk-footer__grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px;
	/* solidní linky — přes ně neprosvítá gradient (dřív poloprůhledná var(--line)) */
	background: #2a2a2a; border: 1px solid #2a2a2a; border-radius: 0;
	font-size: 15px;
}
.sjk-footer__grid--5 { grid-template-columns: 1.2fr 1fr 1fr 1.1fr 1.1fr; }
.sjk-footer__grid > div { background: #121212; padding: clamp(24px, 2.6vw, 38px) clamp(20px, 2.2vw, 35px); }
.sjk-footer__grid h4 { font-size: 15px; color: var(--text); font-weight: 600; margin-bottom: 14px; }
.sjk-footer__grid h4 + h4, .sjk-footer__grid a + h4, .sjk-footer__grid p + h4 { margin-top: 24px; }
.sjk-footer__grid a { display: block; padding: 4px 0; color: var(--dim); transition: color .15s ease; font-size: 14px; }
.sjk-footer__grid a:hover { color: var(--text); }
.sjk-footer__grid a small { display: block; color: #6e6e6e; font-size: 12px; margin-top: 1px; }
.sjk-footer__mail { color: var(--dim); font-size: 12.5px; line-height: 1.6; margin: 0; }
.sjk-footer__mail b { color: var(--muted); }
.sjk-footer__meta { margin-top: 24px; font-size: 13px; display: flex; justify-content: center; text-align: center; gap: 10px 28px; flex-wrap: wrap; }

/* ---------- detail epizody ---------- */
.sjk-ephero {
	position: relative; min-height: min(66vh, 640px);
	display: flex; align-items: flex-end; overflow: hidden;
	background: var(--card);
}
.sjk-ephero::before { content: ""; position: absolute; inset: 0; background: var(--hero, none) no-repeat; background-size: cover; background-position: center top; }
/* Překryv je ukotvený v pixelech od paty, ne v procentech — text sedí vždycky
   stejně vysoko nad spodní hranou, kdežto výška hera se mění (66vh). Na
   procentech vycházel na mobilu na světlé místo fotky a červené datum se
   ztrácelo. Druhý gradient jen ztmavuje pruh pod plovoucí navigací. */
.sjk-ephero::after {
	content: ""; position: absolute; inset: 0;
	background:
		linear-gradient(0deg, #0a0a0a 0%, rgba(10, 10, 10, .92) 130px, rgba(10, 10, 10, .6) 380px, rgba(10, 10, 10, 0) 520px),
		linear-gradient(180deg, rgba(10, 10, 10, .75) 0%, rgba(10, 10, 10, 0) 220px);
}
.sjk-ephero__in {
	position: relative; z-index: 2; width: 100%;
	max-width: var(--maxw); margin: 0 auto;
	padding: 160px var(--pad) clamp(44px, 5vw, 80px);
}
.sjk-ephero__date { color: var(--red); font-weight: 600; font-size: 15px; margin-bottom: 12px; text-shadow: 0 1px 12px rgba(0, 0, 0, .8); }
.sjk-ephero h1, .sjk-ephero__sub { text-shadow: 0 2px 24px rgba(0, 0, 0, .55); }
.sjk-ephero h1 { font-size: clamp(36px, 4.6vw, 76px); font-weight: 700; letter-spacing: -.015em; }
.sjk-ephero__sub { max-width: 64ch; color: var(--muted); font-size: clamp(16px, 1.3vw, 20px); line-height: 1.6; margin: 14px 0 0; }
.sjk-gchips { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
.sjk-gchips a {
	border: 1px solid rgba(255, 255, 255, .25);
	background: rgba(10, 10, 10, .4);
	backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
	border-radius: 50px; padding: 9px 20px;
	font-size: 14px; font-weight: 500; color: var(--text);
	transition: border-color .2s ease;
}
.sjk-gchips a:hover { border-color: var(--red); }

/* Hlavička bez fotky (utility posty — Veřejná natáčení, přehledy natáčení) */
.sjk-ephero--plain { min-height: 0; background: transparent; }
.sjk-ephero--plain::before, .sjk-ephero--plain::after { display: none; }
.sjk-ephero--plain .sjk-ephero__in { padding-bottom: 0; }
.sjk-ephero--plain h1 { font-size: clamp(34px, 4.4vw, 68px); }

/* breakout: text v čtecí šířce, média a bloky širší.
   Bloky drží jednu levou hranu — s `margin: auto` se centrovaly jen ty, které
   nemají vlastní pravidlo pro marginy (h6, ul, blockquote), a stránka pak
   měla dvě různé levé hrany. */
.sjk-article__content { max-width: 1480px; margin: 0 auto; padding: clamp(40px, 5vw, 72px) var(--pad) 0; }
.sjk-article__content > * { max-width: 860px; margin-left: 0; margin-right: 0; }
.sjk-article__content > hr { margin: 2.2em 0; }
.sjk-article__content > figure,
.sjk-article__content > .wp-block-embed,
.sjk-article__content > .epyt-video-wrapper,
.sjk-article__content > .su-image-carousel,
.sjk-article__content > .gallery,
.sjk-article__content > .wp-block-gallery,
.sjk-article__content > .wp-block-columns,
.sjk-article__content > .panel-layout,
.sjk-article__content > .sjk-cols,
.sjk-article__content > .su-row,
.sjk-article__content > .su-tabs,
.sjk-article__content > .notice,
.sjk-article__content > .notice-big,
/* výpisy Content Views jsou mřížka, ne text — strop 860px na měřítko
   sazby je lámal na 2 sloupce místo 4 (medailónky a spol.) */
.sjk-article__content > .pt-cv-wrapper,
.sjk-article__content > .wp-block-group { max-width: 1240px; }
/* Patička článku kopíruje kontejner obsahu (stejná šířka i centrování),
   aby štítky začínaly přesně tam, kde odstavce nad nimi. Dřív měla vlastní
   šířku 860 a centrovala se sama — na širokém okně stála jinde než text. */
.sjk-article__foot { max-width: 1480px; margin: 40px auto 0; padding: 0 var(--pad); }
.sjk-article__foot > * { max-width: 860px; }
.sjk-chips a {
	display: inline-block; font-size: 13.5px; color: var(--dim);
	border: 1px solid var(--line); border-radius: 50px; padding: 7px 16px; margin: 0 6px 8px 0;
	transition: border-color .15s ease, color .15s ease;
}
.sjk-chips a:hover { border-color: var(--red); color: var(--text); }

/* typografie obsahu */
.sjk-content { font-size: 17px; line-height: 1.85; color: var(--muted); }
.sjk-content h2, .sjk-content h3, .sjk-content h4 { color: var(--text); margin: 1.6em 0 .5em; }
.sjk-content h2 { font-size: clamp(24px, 5.2vw, 30px); }
.sjk-content h3 { font-size: clamp(20px, 4.4vw, 23px); }
/* legacy obsah obsahuje dlouhé e-maily, URL a hashtagy bez mezer —
   bez tohohle vystrčí odstavec nebo nadpis přes okraj sloupce */
.sjk-content, .sjk-content h1, .sjk-content h2, .sjk-content h3, .sjk-content h4,
.sjk-content p, .sjk-content li, .sjk-content td, .sjk-content th {
	overflow-wrap: break-word;
}
.sjk-content h4 { font-size: 19px; }
.sjk-content p { margin: 0 0 1.3em; }
.sjk-content b, .sjk-content strong { color: var(--text); }
.sjk-content a { color: var(--red); text-decoration: underline; text-underline-offset: 3px; }
.sjk-content a:hover { color: #fff; }
.sjk-content img { border-radius: 10px; }
.sjk-content blockquote {
	margin: 1.6em 0; padding: 0 0 0 22px;
	color: var(--text); font-style: italic; font-size: 1.05em; line-height: 1.7;
	border-left: 2px solid var(--red);
}
.sjk-content iframe { max-width: 100%; border: 0; }
.sjk-content .wp-block-separator, .sjk-content hr { border: 0; border-top: 1px solid var(--line); width: 80px; margin: 2.2em 0; }
.sjk-content ul, .sjk-content ol { padding-left: 1.3em; }

/* galerie v obsahu */
.sjk-content .gallery, .sjk-content .wp-block-gallery {
	display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 1.6em 0;
}
.sjk-content .gallery .gallery-item { margin: 0 !important; width: auto !important; float: none !important; }
.sjk-content .gallery img, .sjk-content .wp-block-gallery img { width: 100%; height: 100%; object-fit: cover; border: 0 !important; }

/* video embedy (epyt) */
.sjk-content .epyt-video-wrapper, .sjk-content .wp-block-embed {
	border-radius: 14px; overflow: hidden; margin: 1.8em 0;
	background: var(--card);
	box-shadow: 0 24px 70px rgba(0, 0, 0, .5);
}
.sjk-content .epyt-gallery-thumb { border-radius: 8px; overflow: hidden; }

/* zděděné shortcody (su) — neutralizace na tmavé */
.sjk-content .su-divider { border: none !important; border-top: 1px solid var(--line) !important; margin: 2em 0 !important; }
.sjk-content .su-box { background: var(--card) !important; border: 1px solid var(--line) !important; border-radius: 10px !important; }
.sjk-content .su-box-title { background: var(--card-2) !important; color: var(--text) !important; border-radius: 10px 10px 0 0 !important; }
.sjk-content .su-box-content { color: var(--muted) !important; }
.sjk-content .su-button { border-radius: 50px !important; text-transform: none !important; }
.sjk-content .su-note-inner { background: var(--card) !important; border: 1px solid var(--line) !important; color: var(--muted) !important; border-radius: 10px !important; }

/* staré barevné info bloky (amber/orange, notice) → V4 karta */
.sjk-content .sjk-mg-box-info-blok-orange,
.sjk-content [class*="luminous-vivid-amber-background"],
.sjk-content [class*="luminous-vivid-orange-background"],
.sjk-content .notice,
.sjk-content .notice-big {
	background: var(--card) !important; color: var(--muted) !important;
	border: 1px solid var(--line); border-radius: 10px;
	padding: 18px 22px;
}
.sjk-content .sjk-mg-box-info-blok-orange *,
.sjk-content .notice *, .sjk-content .notice-big * {
	color: inherit !important; background: transparent !important;
}
.sjk-content .sjk-mg-box-info-blok-orange a,
.sjk-content .notice a, .sjk-content .notice-big a { color: var(--red) !important; }
/* prázdné notice divy na konci epizod (jen <hr> nebo nic) — schovat */
.sjk-content .notice:empty,
.sjk-content .notice-big:empty,
.sjk-content .notice:not(:has(:not(hr, br))),
.sjk-content .notice-big:not(:has(:not(hr, br))) { display: none; }
h3.sjk-mg-box-info-blok-orange, .sjk-content h3[class*="luminous"] { color: var(--text) !important; }

/* Gutenberg cover blok (např. otázky na /pred-natacenim/) → V4 karta */
.sjk-content .wp-block-cover { border-radius: 14px; overflow: hidden; }
/* Fotka na pozadí byla pod odbarvením a dvěma vrstvami ztmavení prakticky
   neviditelná — zůstává čitelný text, ale je vidět, že tam nějaká je. */
.sjk-content .wp-block-cover .wp-block-cover__image-background { filter: grayscale(.55) !important; opacity: .5 !important; }
.sjk-content .wp-block-cover .wp-block-cover__background {
	background: linear-gradient(180deg, rgba(10, 10, 10, .55) 0%, rgba(10, 10, 10, .78) 100%) !important;
	opacity: 1 !important;
}
.sjk-content .wp-block-cover__inner-container { color: var(--text); }

/* su spoiler (rozbalovací bloky) na tmavou */
.sjk-content .su-spoiler-style-fancy { border: 1px solid var(--line) !important; background: var(--card) !important; color: var(--muted) !important; }
.sjk-content .su-spoiler-style-fancy > .su-spoiler-title { border-bottom: 1px solid var(--line) !important; background: var(--card-2) !important; color: var(--text) !important; }
.sjk-content .su-spoiler-title { color: var(--text) !important; }
.sjk-content .su-spoiler-content { color: var(--muted) !important; }

/* su image carousel — pryč s bílými polaroid rámy */
.sjk-content .su-image-carousel,
.sjk-content .su-image-carousel-item,
.sjk-content .su-image-carousel-item-content {
	background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important;
}
.sjk-content .su-image-carousel img {
	border: 0 !important; padding: 0 !important;
	border-radius: 10px; background: var(--card) !important;
	box-shadow: none !important;
}
.sjk-content .su-image-carousel-slides-style-photo.su-image-carousel-crop .su-image-carousel-item-content img { top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; }
.sjk-content .su-image-carousel-item-content span {
	background: rgba(10, 10, 10, .72) !important; color: var(--text) !important;
	border-radius: 6px; font-size: 13px !important;
}
.sjk-content .su-image-carousel-item-title { color: var(--dim) !important; font-size: 13px; }
.sjk-content .flickity-prev-next-button {
	background: rgba(20, 20, 20, .85) !important; border: 1px solid var(--line) !important;
	width: 40px !important; height: 40px !important;
}
.sjk-content .flickity-prev-next-button .flickity-button-icon { fill: #fff !important; }
.sjk-content .flickity-page-dots .dot { background: var(--dim) !important; }
.sjk-content .flickity-page-dots .dot.is-selected { background: var(--red) !important; }

/* ---------- detail epizody: obsah článku ----------
   Pořadí bloků zůstává, jak je uložené v obsahu — tohle je jen sazba. */

/* Údaje o dílu (epizoda, natáčení, štáb) chodí jako popisek videa: drobná
   kurzíva nalepená pod přehrávačem. Je to nejcennější info na stránce,
   tak z toho děláme čitelný proužek přisazený k videu. */
.sjk-content figure.wp-block-embed > figcaption,
.sjk-content .epyt-video-wrapper + figcaption {
	margin: 0; padding: clamp(16px, 1.6vw, 22px) clamp(16px, 1.8vw, 26px);
	background: var(--card-2);
	color: var(--muted); font-size: 15px; line-height: 1.8; text-align: left;
}
.sjk-content figure.wp-block-embed > figcaption em { font-style: normal; }
.sjk-content figure.wp-block-embed > figcaption strong { color: var(--text); font-weight: 600; }
.sjk-content figure.wp-block-embed > figcaption a { color: var(--text); border-bottom: 1px solid rgba(234, 56, 76, .55); }
.sjk-content figure.wp-block-embed > figcaption a:hover { color: var(--red); }
.sjk-content figure.wp-block-embed { border-radius: 10px; overflow: hidden; }

/* Perex s kotvami na hosty se renderoval jako h6 — 11 px, prakticky
   neviditelný. Je to podtitulek dílu, tak ať tak i vypadá. */
.sjk-content .mg-nadpis-perex {
	font-family: var(--font-b); font-weight: 500;
	font-size: clamp(18px, 1.5vw, 22px) !important;
	line-height: 1.5; color: var(--text);
	text-align: left; margin: 0 0 1.4em; max-width: 40ch;
}
.sjk-content .mg-nadpis-perex a { color: var(--text); box-shadow: inset 0 -1px 0 rgba(234, 56, 76, .6); }
.sjk-content .mg-nadpis-perex a:hover { color: var(--red); }

/* Řádek s hosty pod perexem */
.sjk-content .mg-pozvani-do-sjk-prijali { color: var(--muted); }

/* Servisní blok (vstupenky, YouTube úrovně) — na střed a v jednom chuchvalci
   se nedal číst. Karta, zarovnání vlevo, normální stupeň písma. */
.sjk-content .vstupenky-panel-odkazy {
	background: var(--card); border: 1px solid var(--line); border-radius: 10px;
	padding: clamp(18px, 2vw, 28px);
	text-align: left !important; color: var(--muted);
	font-size: 15px; line-height: 1.85;
}
.sjk-content .vstupenky-panel-odkazy:empty { display: none; }
.sjk-content .vstupenky-panel-odkazy img.emoji { width: 16px; height: 16px; display: inline; vertical-align: -3px; }

/* Info boxy dílu měly `has-small-font-size` (13 px) a zarovnání na střed.
   Navíc nesou `has-luminous-vivid-amber-background-color`, což je pravidlo
   psané pro *inline* zvýraznění (červený nádech, nulové odsazení) — na celém
   odstavci z toho byl pruh bez vzduchu. Tady mu vracíme podobu karty. */
.sjk-content .sjk-mg-box-info-blok-orange {
	font-size: 15px !important; line-height: 1.8; text-align: left !important;
	background-color: var(--card) !important;
	padding: clamp(18px, 2vw, 26px) !important; border-radius: 10px;
}
.sjk-content h3.sjk-mg-box-info-blok-orange { font-size: 22px !important; text-align: left !important; }

/* formuláře (CF7, hledání) */
.sjk-content input[type="text"], .sjk-content input[type="email"], .sjk-content input[type="tel"],
.sjk-content input[type="url"], .sjk-content input[type="search"],
.sjk-content textarea, .sjk-content select {
	width: 100%; background: var(--card); color: var(--text);
	border: 1px solid var(--line); border-radius: 10px;
	padding: 12px 16px; font: inherit; font-size: 15px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.sjk-content ::placeholder { color: var(--dim); }
.sjk-content input:focus, .sjk-content textarea:focus {
	outline: none; border-color: var(--red); box-shadow: 0 0 0 3px rgba(234, 56, 76, .18);
}
.sjk-content input[type="submit"], .sjk-content button[type="submit"], .sjk-content .g-recaptcha {
	width: auto; background: var(--red); color: #fff; border: 0; border-radius: 50px;
	font-weight: 600; font-size: 15px; padding: 13px 30px; cursor: pointer;
	transition: background .15s ease;
}
.sjk-content input[type="submit"]:hover, .sjk-content .g-recaptcha:hover { background: var(--red-2); }

/* select — vlastní šipka; nativní se na tmavém podkladu ztrácí */
.sjk-content select {
	appearance: none; -webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8a8a' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 14px center; background-size: 14px;
	padding-right: 42px; cursor: pointer;
}
.sjk-content select:hover { border-color: rgba(255, 255, 255, .28); }

/* zaškrtávátka a přepínače (CF7) */
.sjk-content input[type="checkbox"], .sjk-content input[type="radio"] {
	appearance: none; -webkit-appearance: none;
	width: 18px; height: 18px; flex: none; margin: 0 9px 0 0; vertical-align: -4px;
	background: var(--card); border: 1px solid var(--line); border-radius: 5px;
	cursor: pointer; transition: background .15s ease, border-color .15s ease;
}
.sjk-content input[type="radio"] { border-radius: 50%; }
.sjk-content input[type="checkbox"]:checked, .sjk-content input[type="radio"]:checked {
	background-color: var(--red); border-color: var(--red);
}
.sjk-content input[type="checkbox"]:checked {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: center; background-size: 12px;
}
.sjk-content input[type="radio"]:checked {
	box-shadow: inset 0 0 0 3px var(--card);
}
.sjk-content input[type="checkbox"]:focus-visible, .sjk-content input[type="radio"]:focus-visible {
	outline: none; box-shadow: 0 0 0 3px rgba(234, 56, 76, .18);
}
.sjk-content .wpcf7-list-item { display: inline-flex; align-items: center; margin: 0 22px 10px 0; }
/* počítadlo zbývajících znaků — samo o sobě visí pod polem jako holé číslo */
.sjk-content .wpcf7-character-count {
	display: block; margin-top: 6px; font-size: 12.5px; color: var(--dim); text-align: right;
	max-width: 460px;
}
.sjk-content .wpcf7-character-count.alert { color: var(--red); }
.sjk-content .wpcf7-list-item-label { cursor: pointer; }

/* nahrávání souboru — nativní tlačítko je světlé a needitovatelné */
.sjk-content input[type="file"] {
	width: 100%; max-width: 460px; color: var(--muted); font: inherit; font-size: 14px;
	background: var(--card); border: 1px solid var(--line); border-radius: 10px;
	padding: 10px 14px;
}
.sjk-content input[type="file"]::file-selector-button {
	background: var(--card-2); color: var(--text);
	border: 1px solid var(--line); border-radius: 50px;
	padding: 8px 18px; margin-right: 14px; cursor: pointer;
	font: inherit; font-size: 14px; font-weight: 600;
	transition: border-color .15s ease, background .15s ease;
}
.sjk-content input[type="file"]::file-selector-button:hover {
	background: var(--card); border-color: var(--red);
}

/* vyhledávací formulář (šablona + SearchWP) */
.sjk-content .search-form, .sjk-content .searchform {
	display: flex; gap: 10px; flex-wrap: wrap; align-items: center;
	max-width: 560px;
}
.sjk-content .search-form .search-field, .sjk-content .searchform input[type="text"] {
	flex: 1 1 240px; width: auto;
}
.sjk-content .search-form .search-submit { flex: none; }
.sjk-content .search-form label { flex: 1 1 240px; margin: 0; }
.sjk-content .search-form label .search-field { width: 100%; }

/* Našeptávač SearchWP (živé výsledky při psaní). Kontejner si plugin vkládá
   na konec <body>, takže na něj selektory pod .sjk-content nedosáhnou — proto
   globálně. Výchozí vzhled je bílý, na tmavém webu v něm nebyl vidět text. */
.searchwp-live-search-results {
	background: var(--card);
	color: var(--text);
	border: 1px solid var(--line);
	border-radius: 10px;
	box-shadow: 0 20px 44px rgba(0, 0, 0, .55);
	font-family: var(--font-b);
}
.searchwp-live-search-result { border-bottom: 1px solid var(--line); }
.searchwp-live-search-result:last-child { border-bottom: 0; }
.searchwp-live-search-result:hover,
.searchwp-live-search-result--focused { background: var(--card-2); }
.searchwp-live-search-result--title { font-family: var(--font-h); }
.searchwp-live-search-result--title a { color: var(--text); }
.searchwp-live-search-result:hover .searchwp-live-search-result--title a,
.searchwp-live-search-result--title a:hover { color: var(--red); }
.searchwp-live-search-result--desc { color: var(--muted); }
.searchwp-live-search-no-results,
.searchwp-live-search-no-min-chars:after { color: var(--dim); }
/* kolečko načítání kreslí spin.js inline barvou #424242 — na tmavém neviditelné */
.searchwp-live-search-results .spinner div::before,
.searchwp-live-search-results .spinner div { background-color: var(--dim) !important; }

/* ---------- výpisy / archiv ---------- */
.sjk-section--first { padding-top: 160px; }
.sjk-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(18px, 2vw, 30px); }
.sjk-cards--archive { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.sjk-card {
	background: var(--card); border-radius: 10px; overflow: hidden;
	border: 1px solid transparent; padding-bottom: 20px;
	transition: border-color .2s ease, transform .2s ease;
}
.sjk-card:hover { border-color: rgba(234, 56, 76, .5); transform: translateY(-4px); }
.sjk-card__media { aspect-ratio: 16/9; overflow: hidden; margin-bottom: 16px; background: var(--card-2); }
.sjk-card__media img { width: 100%; height: 100%; object-fit: cover; }
.sjk-card .sjk-label { color: var(--red); font-size: 13px; font-weight: 500; margin: 0 20px 6px; }
.sjk-card h3 { font-size: 19px; margin: 0 20px 8px; }
.sjk-card__guests { font-size: 14px; line-height: 1.55; color: var(--dim); margin: 0 20px; }

.sjk-pagination { margin-top: clamp(32px, 4vw, 56px); font-size: 14px; }
.sjk-pagination .nav-links { display: flex; gap: 10px; flex-wrap: wrap; }
.sjk-pagination a, .sjk-pagination span.current {
	padding: 9px 18px; border-radius: 50px; border: 1px solid var(--line); color: var(--muted);
}
.sjk-pagination a:hover { border-color: var(--red); color: var(--text); }
.sjk-pagination span.current { background: var(--red); color: #fff; border-color: var(--red); }

/* ---------- stránky (Section template) ---------- */
.sjk-article { padding-bottom: clamp(48px, 6vw, 96px); }
.sjk-article--page .sjk-article__head {
	max-width: var(--maxw); margin: 0 auto;
	padding: 160px var(--pad) clamp(36px, 4vw, 56px);
	border-bottom: 1px solid var(--line);
}
.sjk-article--page .sjk-article__head h1 { font-size: clamp(38px, 5vw, 84px); font-weight: 700; letter-spacing: -.015em; }
.sjk-content--page { max-width: 1480px; }
.sjk-pagesection { max-width: 1480px; margin: 0 auto clamp(48px, 7vw, 100px); padding: 0 var(--pad); }
.sjk-pagesection:first-of-type { margin-top: clamp(40px, 5vw, 72px); }
.sjk-pagesection__head { margin-bottom: clamp(24px, 3vw, 40px); }
.sjk-pagesection__head h2 { font-size: clamp(28px, 3.2vw, 46px); }

/* ---------- SiteOrigin panely (layoutové CSS starého builderu) ---------- */
.sjk-content .panel-layout { width: 100%; }
.sjk-content .panel-grid { margin: 0 0 clamp(20px, 2.4vw, 36px); }
.sjk-content .panel-grid:last-child { margin-bottom: 0; }
.sjk-content .panel-grid,
.sjk-content .panel-row-style { display: flex; flex-wrap: wrap; gap: clamp(18px, 2vw, 32px); align-items: flex-start; }
.sjk-content .panel-grid > .panel-row-style { flex: 1 1 100%; }
.sjk-content .panel-grid-cell { flex: 1 1 0; min-width: min(300px, 100%); }
.sjk-content .panel-grid-cell-empty { display: none; }
.sjk-content .so-panel { margin-bottom: clamp(16px, 1.8vw, 26px); }
.sjk-content .so-panel:last-child { margin-bottom: 0; }
.sjk-content .widget-title {
	font-family: var(--font-h); font-weight: 600; font-size: 22px; color: var(--text);
	margin: 0 0 14px;
}
/* zvýrazněné panely starého webu → V4 karta */
.sjk-content .mg-sjk-odstavec-zvyrazneny,
.sjk-content .panel-cell-style {
	background: var(--card); border-radius: 10px; padding: clamp(20px, 2.4vw, 32px);
}
.sjk-content .panel-cell-style .panel-cell-style { background: transparent; padding: 0; }

/* su_row / su_column (Shortcodes Ultimate gridy v obsahu) */
.sjk-content .su-row { display: flex; flex-wrap: wrap; gap: clamp(18px, 2vw, 32px); margin: 0 0 1.3em; }
.sjk-content .su-row::before, .sjk-content .su-row::after { display: none; }
.sjk-content .su-column { float: none !important; width: auto !important; flex: 1 1 0; min-width: min(260px, 100%); margin: 0 !important; }
.sjk-content .su-column-inner { margin: 0 !important; }
.sjk-content .su-spacer { display: none; }

/* <mark> se v obsahu používá k obarvení textu (Gutenberg has-*-color),
   ne ke zvýraznění pozadím. Výchozí žluté pozadí prohlížeče by na tmavém
   webu křičelo — obsah ho původně přebíjel inline stylem, teď to řeší
   šablona pro všechny výskyty. */
.sjk-content mark, .sjk-note mark { background-color: transparent; color: inherit; }

/* Zvýrazněný blok („info box") — sjednocená náhrada za světlá pozadí
   ze starého webu (#eeeeee, #eef9ff, #dcdcdc, bílá…), která se v obsahu
   nahradila touto třídou skriptem tools/clean-inline-styles.php.
   Nezanořovat pod .sjk-content — používá se i v lightbox popupech,
   které si magnific-popup přesouvá mimo obsah. */
.sjk-note {
	background: var(--card); color: var(--text);
	border: 1px solid var(--line); border-radius: 10px;
	padding: clamp(16px, 2vw, 26px);
}
.sjk-note > *:first-child { margin-top: 0; }
.sjk-note > *:last-child { margin-bottom: 0; }
p.sjk-note { margin: 0 0 1.3em; }

/* Shortcodes Ultimate — tooltip a highlight.
   Plugin sám barvy nedává, tiskne je do inline style= z atributů shortcodu.
   Živé shortcody přebíjí filtr ve functions.php; zapečené spany v obsahu
   se čistí skriptem tools/clean-inline-styles.php a barvu berou odtud. */
.su-tooltip-inner {
	background: var(--card-2); color: var(--text);
	border: 1px solid var(--line); border-radius: 8px;
	font-size: 14px; line-height: 1.45; max-width: 300px; text-align: left;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .5);
}
.su-tooltip-title { color: var(--text); }
.su-tooltip-arrow, .su-tooltip-arrow::before { background: var(--card-2); }
.su-highlight {
	background: rgba(234, 56, 76, .18); color: inherit;
	border-radius: 3px; padding: 0 .1em;
}

/* Záložky a rozbalovací bloky — plugin je má natvrdo světlé
   (#eee / #fff / #333). Přebíjí se specificitou, protože shortcodes.css
   se načítá až za app.css. */
.sjk-content .su-tabs {
	background: var(--card-2); border: 1px solid var(--line);
	border-radius: 12px; padding: 5px;
}
.sjk-content .su-tabs-nav span {
	color: var(--dim); border-radius: 8px; font-size: 14px; font-weight: 500;
	margin-right: 4px; transition: background .15s ease, color .15s ease;
}
.sjk-content .su-tabs-nav span:hover { background: rgba(255, 255, 255, .06); color: var(--text); }
.sjk-content .su-tabs-nav span.su-tabs-current { background: var(--card); color: var(--text); }
.sjk-content .su-tabs-pane {
	background: var(--card); color: var(--muted);
	border-radius: 10px; padding: 22px; font-size: 15px;
}

.sjk-content .su-spoiler-style-fancy {
	background: var(--card); color: var(--text);
	border: 1px solid var(--line); border-radius: 12px;
}
.sjk-content .su-spoiler-style-fancy > .su-spoiler-title {
	background: var(--card-2); color: var(--text);
	border-bottom: 1px solid var(--line);
	font-family: var(--font-h); font-size: 15px; font-weight: 600;
	padding: 14px 16px 14px 40px;
}
.sjk-content .su-spoiler-style-fancy > .su-spoiler-title:hover { color: var(--red); }
.sjk-content .su-spoiler-style-simple { border-color: var(--line); }
.sjk-content .su-spoiler-icon { color: var(--red); left: 14px; top: 14px; }
.sjk-content .su-spoiler-content { color: var(--muted); }

/* Tlačítka pluginu ([su_button], 19× v obsahu) si nesou vlastní barvy
   z atributů shortcodu a varianta „wide" je roztáhne přes celý řádek.
   Srovnáno na naši pilulku. */
.sjk-content .su-button {
	background: var(--red) !important; color: #fff !important;
	border: 0 !important; border-radius: 50px !important;
	box-shadow: none !important; text-shadow: none !important;
	padding: 14px 44px !important; height: auto !important;
	width: auto !important; min-width: 220px; line-height: 1.2 !important;
	transition: background .15s ease;
}
/* obal z obsahu je centrovaný; zbytek stránek je zarovnaný vlevo */
.sjk-content .su-button-center { text-align: left; }
.sjk-content .su-button:hover { background: var(--red-2) !important; }
/* varianta „wide" je v pluginu display:block, proto se roztáhne přes řádek */
.sjk-content .su-button-wide { display: inline-block !important; margin: .6em 0 !important; }
/* vnitřní span si nese vlastní rámeček a odsazení — odtud dvojitý obrys */
.sjk-content .su-button span {
	color: inherit !important; text-shadow: none !important;
	border: 0 !important; padding: 0 !important; background: none !important;
	font-size: 15px !important; font-weight: 600 !important; line-height: 1.2 !important;
}
.sjk-content .su-button small { color: inherit !important; opacity: .75; }
/* „ghost" varianta zůstane tišší — jen obrys */
.sjk-content .su-button-style-ghost {
	background: transparent !important;
	box-shadow: inset 0 0 0 1px var(--line) !important;
	color: var(--text) !important;
}
.sjk-content .su-button-style-ghost:hover {
	background: rgba(255, 255, 255, .06) !important;
	box-shadow: inset 0 0 0 1px var(--red) !important;
}

/* ---------- barevné třídy Gutenbergu v obsahu ----------
   Obsah nese paletu starého webu (modrá, azurová, černá, bílá…), která
   v tmavém designu vybočuje. Sjednoceno na naši paletu; červené a jantarové
   akcenty zůstávají jako akcenty, jen srovnané do palety. */
.sjk-content .has-black-color, .sjk-content .has-white-color,
.sjk-content .has-cyan-bluish-gray-color, .sjk-content .has-pale-cyan-blue-color,
.sjk-content .has-vivid-cyan-blue-color, .sjk-content .has-link-color,
.sjk-content .has-text-color.has-black-color { color: var(--text) !important; }

.sjk-content .has-vivid-red-color, .sjk-content .has-luminous-vivid-orange-color,
.sjk-content .has-luminous-vivid-amber-color { color: var(--red) !important; }

/* Pojistka na světlá pozadí zapsaná přímo v obsahu (`style="…"`).
   Obsah se čistí skriptem `tools/clean-inline-styles.php`, ale ten zatím
   proběhl jen na lokální databázi — na náhledu i produkci tyhle bloky pořád
   svítí bíle. Barvy odpovídají auditu v docs/inline-styly-audit.md. */
.sjk-content [style*="background-color:#fff"], .sjk-content [style*="background-color: #fff"],
.sjk-content [style*="background-color:#FFF"], .sjk-content [style*="background:#fff"],
.sjk-content [style*="background-color:#eee"], .sjk-content [style*="background-color: #eee"],
.sjk-content [style*="background:#eee"],
.sjk-content [style*="background-color:#f5f5f5"], .sjk-content [style*="background-color:#fafafa"],
.sjk-content [style*="background-color:#f9f9f9"], .sjk-content [style*="background-color:#dcdcdc"],
.sjk-content [style*="background-color:#eef9ff"], .sjk-content [style*="background-color:#ebf9ff"],
.sjk-content [style*="background-color:#d4efff"],
.sjk-content [style*="background-color:white"], .sjk-content [style*="background-color: white"] {
	background-color: var(--card) !important;
	border-radius: 10px;
}
/* a k nim patřící černý text */
.sjk-content [style*="color:#000"], .sjk-content [style*="color: #000"],
.sjk-content [style*="color:#333"], .sjk-content [style*="color: #333"],
.sjk-content [style*="color:black"] { color: var(--muted) !important; }

/* Světlá pozadí odstavců z Gutenbergu (archivní stránky ze starého webu:
   CORONTÉNA a spol.) — na tmavém webu svítí jako chyba. */
.sjk-content .has-very-light-gray-background-color,
.sjk-content .has-white-background-color,
.sjk-content .has-light-green-cyan-background-color {
	background-color: var(--card) !important; color: var(--muted) !important;
	border-radius: 10px; padding: clamp(14px, 1.6vw, 22px);
}

/* Pozor: tohle je zvýraznění *uvnitř* textu. Info boxy dílu nesou stejnou
   třídu na celém odstavci — ty si řeší vlastní pravidlo (karta) výše. */
.sjk-content .has-vivid-red-background-color:not(.sjk-mg-box-info-blok-orange),
.sjk-content .has-luminous-vivid-amber-background-color:not(.sjk-mg-box-info-blok-orange),
.sjk-content .has-pale-pink-background-color:not(.sjk-mg-box-info-blok-orange) {
	background-color: rgba(234, 56, 76, .18) !important; color: inherit !important;
	border-radius: 3px; padding: 0 .15em;
}

/* Odkazy v obsahu jsou červené a podtržené. Text, který červený JEN vypadá
   (obarvený obsahem, ale bez odkazu), pak mate — necháme mu barvu, ale
   bez podtržení, aby se odlišil od skutečných odkazů. */
.sjk-content :not(a) > .has-vivid-red-color { text-decoration: none; }

/* H5/H6 jsou v obsahu často použité jako drobný mezititulek a jádro jim
   dává 0.83em/0.67em — na dlouhých stránkách vycházely na 9–12 px. */
.sjk-content h5 { font-size: clamp(16px, 1.2vw, 19px); }
.sjk-content h6 { font-size: clamp(15px, 1.1vw, 17px); }

/* ---------- oddělovače ---------- */
.sjk-content hr, .sjk-content .wp-block-separator {
	border: 0; height: 1px; background: var(--line);
	margin: clamp(28px, 3.5vw, 48px) 0; opacity: 1;
}
/* Tečkový oddělovač (646 stránek) v tomhle designu nedává smysl — skrýváme
   ho v šabloně, ne mazáním z obsahu: je to čistě vzhledové rozhodnutí,
   platí všude naráz a nevytváří rozdíl mezi stagingem a produkcí. */
.sjk-content .wp-block-separator.is-style-dots { display: none; }
/* „wide" varianta jde přes celou šířku obsahu, výchozí je užší */
.sjk-content .wp-block-separator:not(.is-style-wide):not(.is-style-dots) { max-width: 120px; }

/* ---------- vyskakovací okno (su_lightbox / magnific-popup) ----------
   Obsah okna generuje shortcode až při vykreslení a nese si inline bílé
   pozadí s tmavým textem — v uloženém obsahu tedy není co čistit
   a musí se to přebít stylem. */
.su-lightbox-content {
	background: var(--card) !important;
	color: var(--text) !important;
	border: 1px solid var(--line);
	border-radius: 14px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, .6);
	margin-left: auto !important; margin-right: auto !important;
	padding: clamp(22px, 3vw, 40px) !important;
}
.su-lightbox-content h1, .su-lightbox-content h2, .su-lightbox-content h3,
.su-lightbox-content h4, .su-lightbox-content h5, .su-lightbox-content strong,
.su-lightbox-content b { color: var(--text) !important; }
.su-lightbox-content p, .su-lightbox-content li, .su-lightbox-content td {
	color: var(--muted) !important;
}
.su-lightbox-content a { color: var(--red) !important; }
.su-lightbox-content a:hover { color: #fff !important; }
.su-lightbox-content hr { border: 0; height: 1px; background: var(--line); }
/* šířku okna drží pravidlo s vyšší specificitou (jinak vychází 90 % okna,
   což je na text s tipy zbytečně široké) */
.mfp-content .su-lightbox-content { max-width: 760px !important; }
/* Okna s videogalerií (rozcestník videoarchivu) jsou výjimka — 760 px stačí
   sotva na pět nehezky malých náhledů. Na desktopu dostanou víc místa
   a náhledy jdou po třech. */
@media (min-width: 1000px) {
	.mfp-content .su-lightbox-content:has(.epyt-gallery) { max-width: min(1180px, 92vw) !important; }
	.su-lightbox-content .epyt-cols-5 .epyt-gallery-thumb,
	.su-lightbox-content .epyt-cols-4 .epyt-gallery-thumb { width: 33.333% !important; padding: 0 10px 16px !important; }
	.su-lightbox-content .epyt-gallery-thumb img { border-radius: 8px; }
	.su-lightbox-content .epyt-gallery-title { font-size: 14px !important; line-height: 1.4 !important; }
}

.mfp-bg { background: rgba(6, 6, 6, .88) !important; opacity: 1 !important; }
.mfp-close, .mfp-close-btn-in .mfp-close {
	color: var(--muted) !important; opacity: 1;
	font-size: 30px !important; width: 44px !important; height: 44px !important;
}
.mfp-close:hover { color: var(--red) !important; }
.mfp-counter, .mfp-title { color: var(--dim) !important; }

/* Sociální ikony (blok wp-block-social-links) — výchozí styl jádra jim dává
   značkové barvy (YouTube červená, FB modrá…). V tmavém designu z toho je
   barevný řetěz, který přebije okolí. Sjednoceno na neutrální kolečka. */
.sjk-content .wp-block-social-links { gap: 12px; }
.sjk-content .wp-block-social-links .wp-social-link {
	background-color: var(--card) !important;
	color: var(--text) !important;
	border: 1px solid var(--line);
	transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}
.sjk-content .wp-block-social-links .wp-social-link a { color: inherit !important; padding: 9px; }
.sjk-content .wp-block-social-links .wp-social-link:hover {
	background-color: var(--red) !important; border-color: var(--red);
	transform: translateY(-2px);
}

/* GoOut prodejní widget (stránka Vstupenky) */
.sjk-goout {
	max-width: 1480px; margin: clamp(24px, 3vw, 40px) auto 0; padding: 0 var(--pad);
}
/* Kontejner widgetu je `.goout-holder` — `#goOutWidget` na stránce
   neexistuje, dřívější pravidla na něj tedy nikdy nic nedělala. */
.goout-holder {
	display: block; background: var(--card) !important; border: 1px solid var(--line);
	border-radius: 14px; padding: clamp(20px, 2.4vw, 36px);
}
/* Prodejní widget GoOut se vykresluje přímo do stránky (ne do iframu),
   takže jde ostylovat. Ve výchozím stavu je světlý — bílé pozadí,
   tmavé názvy a modrá tlačítka. */
.goout-holder div, .goout-holder ul, .goout-holder li { background: transparent !important; }
.goout-holder .goout-event {
	border-bottom: 1px solid var(--line);
	padding: 16px 0;
}
.goout-holder .goout-event:last-of-type { border-bottom: 0; }
.goout-holder .goout-event-content {
	display: flex; align-items: center; gap: clamp(14px, 1.6vw, 26px);
	flex-wrap: wrap;
}
.goout-holder .goout-image-holder { flex: 0 0 auto; }
.goout-holder .goout-event-image {
	width: 92px; height: 62px; object-fit: cover;
	border-radius: 8px; display: block;
}
.goout-holder .goout-event-info { flex: 1 1 260px; min-width: 0; }
.goout-holder .goout-event-info h4 {
	color: var(--text) !important; font-family: var(--font-h);
	font-size: 17px; font-weight: 600; margin: 0 0 4px;
}
.goout-holder .goout-location {
	color: var(--dim) !important; font-size: 14px; margin: 0;
}
.goout-holder .goout-event-date {
	color: var(--muted) !important; font-size: 15px; font-weight: 600;
	flex: 0 0 auto; white-space: nowrap;
}
.goout-holder .goout-event-button-holder { flex: 0 0 auto; margin-left: auto; }
/* Pozor: GoOut si vkládá vlastní styl `.goOutBtn:hover { all: revert; }`,
   který při najetí zruší úplně všechny vlastnosti a vrátí tlačítko na
   výchozí odkaz. Přežije jen to, co má !important — proto ho tu musí mít
   i geometrie (display, velikost písma, řádkování), jinak tlačítko
   při hoveru změní výšku a poskočí. */
.goout-holder .goOutBtn,
.goout-holder .goOutBtn:hover {
	display: inline-block !important; cursor: pointer !important;
	background: var(--red) !important; color: #fff !important;
	border: 0 !important; border-radius: 50px !important;
	padding: 11px 26px !important; margin: 0 !important;
	font-family: var(--font-b) !important;
	font-weight: 600 !important; font-size: 15px !important;
	line-height: 1.2 !important; text-align: center !important;
	text-decoration: none !important; text-transform: none !important;
	transition: background .15s ease !important;
}
.goout-holder .goOutBtn:hover { background: var(--red-2) !important; }
.goout-holder .goout_load_more {
	display: inline-block; margin-top: 18px; cursor: pointer;
	color: var(--muted) !important; background: transparent !important;
	border: 1px solid var(--line) !important; border-radius: 50px !important;
	padding: 11px 26px !important; font-weight: 600; font-size: 15px;
}
.goout-holder .goout_load_more:hover { border-color: var(--red) !important; color: var(--text) !important; }

/* Rozbalený nákup je iframe z goout.net — dovnitř nevidíme, takže zůstane
   světlý. Aspoň mu dáme rám, ať to působí jako vsazený panel a ne jako
   chyba vykreslení. */
.goout-holder .frameCont, .goout-holder .purchaseFrame { margin: 14px 0 4px; }
.goout-holder .goOutFrame, .goout-holder iframe {
	display: block; width: 100%;
	border: 1px solid var(--line) !important;
	border-radius: 12px; overflow: hidden;
	background: #fff;
}

@media (max-width: 720px) {
	.goout-holder .goout-event-button-holder { margin-left: 0; }
	.goout-holder .goout-event-date { flex-basis: 100%; }
}

.goout-holder::before {
	content: "Výběrem níže lze na zvolený termín natáčení koupit vstupenky přes GoOut portál:";
	display: block; color: var(--text); font-weight: 600; font-family: var(--font-h);
	font-size: 17px; margin-bottom: 16px;
}

/* náhrady layout shortcodů staré šablony */
.sjk-content .sjk-cols {
	display: flex; flex-wrap: wrap; gap: clamp(18px, 2vw, 32px); margin: 0 0 1.3em;
	/* obaly bývají v obsahu vnořené do sebe; bez šířky se vnitřní obal jako
	   položka flexu smrskne na obsah a celý blok skončí v úzkém sloupci */
	width: 100%;
}
.sjk-content .sjk-col { flex: 1 1 0; min-width: min(260px, 100%); }

/* ---------- Content Views (archiv + vložené výpisy) ---------- */
.pt-cv-wrapper { margin-top: 8px; }
.pt-cv-view { display: block !important; height: auto !important; }
.pt-cv-view .pt-cv-page { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: clamp(18px, 2vw, 30px); height: auto !important; }
.pt-cv-view .pt-cv-page ~ .pt-cv-page { margin-top: clamp(18px, 2vw, 30px); }
/* `relative`, ne `static`: přes celou kartu je roztažený neviditelný odkaz
   (`.pt-cv-title a::after`) a ten se bez pozicovaného rodiče roztáhl přes
   celý výpis. Poslední karta v pořadí pak ležela přes všechny ostatní,
   takže klik kamkoli otevřel pořád tentýž díl. */
.pt-cv-view .pt-cv-content-item {
	position: relative !important; width: auto !important; max-width: none !important;
	float: none !important; padding: 0 !important; margin: 0 !important;
	background: transparent !important; border: 0 !important; box-shadow: none !important;
	/* plugin kartám dopočítává inline `position: absolute; top; left` (skládá
	   je do sloupců sám). V mřížce jsou ty souřadnice k ničemu, a protože
	   pozici přebíjíme na `relative`, posunuly by kartu o svou hodnotu. */
	top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
}
.pt-cv-view .pt-cv-pinmas {
	background: var(--card) !important;
	box-shadow: none !important;
	border-radius: 10px; overflow: hidden; height: 100%;
	padding: 0 !important;
}
/* stejné odsazení jako u karet dílů na HP (.sjk-ep__body) */
.pt-cv-view .pt-cv-pinmas > *:not(.pt-cv-href-thumbnail) { margin-left: 20px !important; margin-right: 20px !important; }
.pt-cv-view .pt-cv-href-thumbnail { margin: 0 !important; display: block !important; }
.pt-cv-view img { width: 100%; height: auto; border-radius: 0; }
.pt-cv-title, .pt-cv-title a {
	font-family: var(--font-h) !important; font-weight: 600 !important;
	font-size: 19px !important; letter-spacing: -.01em !important; line-height: 1.2 !important;
	color: var(--text) !important; background: transparent !important;
	border: 0 !important; box-shadow: none !important; padding: 0 !important; text-transform: none !important;
}
.pt-cv-title { margin: 14px 0 8px !important; }
.pt-cv-title a:hover { color: var(--red) !important; }
.pt-cv-content {
	font-size: 14px !important; line-height: 1.55 !important; color: var(--dim) !important;
	/* plugin přidává 15px po stranách k odsazení karty — text pak má
	   v úzkém sloupci sotva 200 px */
	padding: 0 0 16px !important;
}
.pt-cv-content p { margin: 0 0 8px; }
/* Výpisy bez náhledů (nadcházející díly, přehledy natáčení) nemají obal
   `.pt-cv-pinmas`, na kterém visí karta — položka pak plave na pozadí.
   Kartu dostane vnitřní `.pt-cv-ifield`, ale jen když pinmas chybí. */
.pt-cv-view .pt-cv-content-item:not(:has(.pt-cv-pinmas)) > .pt-cv-ifield {
	background: var(--card); border-radius: 10px; height: 100%;
	padding: 20px 22px; text-align: left;
}
.pt-cv-view .pt-cv-content-item:not(:has(.pt-cv-pinmas)) > .pt-cv-ifield .pt-cv-title {
	margin-top: 0 !important; text-align: left !important;
}
.pt-cv-view .pt-cv-content-item:not(:has(.pt-cv-pinmas)) > .pt-cv-ifield .pt-cv-content,
.pt-cv-view .pt-cv-content-item:not(:has(.pt-cv-pinmas)) > .pt-cv-ifield .pt-cv-content p {
	padding-bottom: 0 !important; text-align: left !important;
}
.pt-cv-meta-fields, .pt-cv-ctf-value, .pt-cv-content .terms, .pt-cv-specialp { display: none !important; }
.pt-cv-pagination-wrapper, .pt-cv-more-wrapper { margin-top: 28px; }
.pt-cv-more { background: var(--red) !important; color: #fff !important; border: 0 !important; border-radius: 50px !important; padding: 12px 26px !important; font-weight: 600 !important; }
.pt-cv-more:hover { background: var(--red-2) !important; }
.cvp-replayout > h2:first-child, .archive .sjk-cards--archive .sjk-card > h3 { display: none; }
.sjk-cards--archive:has(.pt-cv-wrapper) { display: block; }
.sjk-cards--archive:has(.pt-cv-wrapper) .sjk-card .sjk-label { display: none; }
.cvp-replayout > .page-title { display: none; }

/* ---------- karty výpisů ve stylu homepage ----------
   Výpisy hostů a epizod používají stejnou komponentu jako karty na HP,
   jen jinak poskládanou. Sjednoceno: stejné zaoblení, stejné chování při
   najetí, obrázek v pevném poměru. Filtr nad výpisem zůstává. */
.pt-cv-view .pt-cv-pinmas {
	position: relative;
	/* Stejný recept jako karty dílů na HP (.sjk-ep): průhledný rámeček,
	   který se při najetí jen obarví. Rámeček leží vně vnitřní plochy, takže
	   ho obrázek nepřekryje — obrys se záporným odsazením se naopak kreslil
	   dovnitř a mizel pod fotkou. */
	border: 1px solid transparent !important;
	transition: transform .2s ease, border-color .2s ease;
	display: flex; flex-direction: column;
}
.pt-cv-view .pt-cv-content-item:hover .pt-cv-pinmas {
	transform: translateY(-4px);
	border-color: rgba(234, 56, 76, .5) !important;
}
/* Buňka mřížky i její kontejner mají `overflow: hidden` a přesně stejnou
   horní hranu jako karta. Při nadzvednutí se tak horní pruh karty ořízl —
   proto tam linka chyběla. */
.pt-cv-view .pt-cv-content-item,
.pt-cv-view .pt-cv-page { overflow: visible !important; }

/* Celá karta je odkaz — roztáhneme přes ni ten, který už je v názvu.
   Díky tomu odpadá opakované tlačítko „Přejít na medailonek" v každé kartě
   (a s ním i potřeba upravovat jeho text). */
.pt-cv-view .pt-cv-title a::after {
	content: ""; position: absolute; inset: 0; z-index: 1;
}
.pt-cv-view .pt-cv-rmwrap, .pt-cv-view .pt-cv-readmore { display: none !important; }
.pt-cv-view .pt-cv-href-thumbnail {
	position: relative; overflow: hidden;
	background: var(--card-2); aspect-ratio: 16 / 9;
}
.pt-cv-view .pt-cv-href-thumbnail img {
	width: 100% !important; height: 100% !important; object-fit: cover;
}
.pt-cv-view .pt-cv-title { margin: 18px 0 6px !important; }
.pt-cv-view .pt-cv-content { padding-bottom: 22px !important; }
/* celá karta je odkaz, takže „(Pokračování textu…)" nemá co dělat —
   na HP karty tenhle proklik taky nemají */
.pt-cv-view .more-link { display: none !important; }

/* výpisy dílů = video, takže stejné kolečko s přehráním jako na HP
   (epizody, přehledy natáčení, prima přepis, nové díly) */
.sjk-eplist .pt-cv-view .pt-cv-href-thumbnail::after {
	content: ""; position: absolute; right: 12px; bottom: 12px;
	width: 34px; height: 34px; border-radius: 50%;
	/* Bez `backdrop-filter`: koleček je ve výpisu i dvacet a rozostření
	   pozadí se u každého při scrollu přepočítává — scroll se pak trhal.
	   Tmavší podklad dělá stejnou službu. */
	background-color: rgba(10, 10, 10, .78);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8.5 5.6v12.8L19 12z'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: 53% 50%; background-size: 12px 12px;
	border: 1px solid rgba(255, 255, 255, .25);
	transition: background-color .2s ease, border-color .2s ease;
}
.sjk-eplist .pt-cv-view .pt-cv-content-item:hover .pt-cv-href-thumbnail::after {
	background-color: var(--red); border-color: var(--red);
}

/* YouTube playlisty na stránkách s díly (KrausNews, zákulisí) chodí jako
   seznam přes celou šířku: drobný náhled vlevo, vedle titulek a popis.
   Padesát položek pod sebou dělalo pás přes pět tisíc pixelů — překlápíme
   je do stejné mřížky karet, jakou mají výpisy dílů. */
.sjk-eplist .epyt-gallery-allthumbs {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: clamp(16px, 1.8vw, 26px);
}
.sjk-eplist .epyt-gallery-thumb {
	width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important;
	background: var(--card); border-radius: 10px; overflow: hidden;
	border: 1px solid transparent;
	transition: border-color .2s ease, transform .2s ease;
}
.sjk-eplist .epyt-gallery-thumb:hover { border-color: rgba(234, 56, 76, .5); transform: translateY(-3px); }
.sjk-eplist .epyt-gallery-img-box {
	/* v listview má plugin náhled na 25 % šířky řádku */
	width: 100% !important; max-width: none !important;
	float: none !important; margin: 0 !important; padding: 0 !important;
}
.sjk-eplist .epyt-gallery-img {
	width: 100% !important; aspect-ratio: 16 / 9; height: auto !important;
	background-size: cover !important; background-position: center !important;
	margin: 0 !important; padding: 0 !important;
}
.sjk-eplist .epyt-gallery-title {
	padding: 14px 18px 4px !important; margin: 0 !important;
	font-family: var(--font-h); font-weight: 600; font-size: 15.5px; line-height: 1.3;
	color: var(--text) !important; text-align: left !important;
}
.sjk-eplist .epyt-gallery-dsc {
	padding: 0 18px 16px !important; margin: 0 !important;
	font-size: 13px; line-height: 1.5; color: var(--dim) !important; text-align: left !important;
}
/* zalomení řádků z plovoucího rozvržení v mřížce nemá co dělat */
.sjk-eplist .epyt-gallery-rowbreak { display: none !important; }

/* medailonky = portréty hostů, tedy stejný poměr jako pás hostů na HP */
.sjk-page-medailonky .pt-cv-view .pt-cv-href-thumbnail { aspect-ratio: 3 / 4; }

/* Obě stránky jedou na šířku HP jako zbytek webu; výpis pak dá víc sloupců.
   /medailonky/ jede přes `the_content`, /epizody/ je poskládaná ze sekcí. */
.sjk-page-medailonky .sjk-article__content { max-width: var(--maxw); }
.sjk-page-medailonky .sjk-article__content > * {
	max-width: 72ch; margin-left: 0; margin-right: 0;
}
.sjk-page-medailonky .sjk-article__content > .pt-cv-wrapper,
.sjk-page-medailonky .sjk-article__content > .panel-layout,
.sjk-page-medailonky .sjk-article__content > .sjk-cols { max-width: none; }

.sjk-eplist .sjk-pagesection,
.sjk-eplist .sjk-content--page,
.sjk-eplist .sjk-article__content { max-width: var(--maxw); }
.sjk-eplist .sjk-pagesection__intro { max-width: 72ch; }
/* text stránky si drží čtecí míru, výpis a rozbalovací bloky jdou přes celou */
.sjk-eplist .sjk-article__content > * { max-width: 72ch; }
.sjk-eplist .sjk-article__content > .pt-cv-wrapper,
.sjk-eplist .sjk-article__content > .panel-layout,
.sjk-eplist .sjk-article__content > .su-spoiler,
.sjk-eplist .sjk-article__content > .wp-block-tag-cloud,
.sjk-eplist .sjk-article__content > .wp-block-social-links,
.sjk-eplist .sjk-article__content > .sjk-cols { max-width: none; }

/* portréty snesou užší sloupce, takže jich vyjde víc — blíž pásu na HP */
.sjk-page-medailonky .pt-cv-view .pt-cv-page {
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
}

/* Dva úvodní bloky (rozbalovací „Postřehy" a poznámka o výběru hostů)
   vedle sebe; výpis pod nimi přes celou šířku. Stránka má jen tyhle tři
   bloky, takže je umístíme napevno. */
.sjk-page-medailonky .sjk-article__content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: clamp(24px, 3vw, 48px);
	align-items: start;
}
.sjk-page-medailonky .sjk-article__content > * { grid-column: 1 / -1; max-width: none; }
.sjk-page-medailonky .sjk-article__content > .su-spoiler { grid-column: 1; grid-row: 1; }
.sjk-page-medailonky .sjk-article__content > .mg-sjk-odstavec-zvyrazneny {
	grid-column: 2; grid-row: 1;
}

@media (max-width: 900px) {
	.sjk-page-medailonky .sjk-article__content { display: block; }
}
/* taxonomie nad kartou jen tiše, ať nekonkuruje jménu */
.sjk-page-medailonky .pt-cv-view .pt-cv-meta-fields { margin-top: 14px !important; }

/* Náhledy ve výpisech mají bootstrapí .img-thumbnail — bílé pozadí, šedý
   rámeček a 4px odsazení, navíc s !important. Na tmavém webu to kolem
   každé fotky udělá světlý lem. Platí pro všechny výskyty komponenty. */
.sjk-content .img-thumbnail, .pt-cv-view .img-thumbnail, .tl-items .img-thumbnail {
	padding: 0 !important;
	background-color: transparent !important;
	border: 0 !important;
	border-radius: 10px !important;
}

/* Odkazy uvnitř karet výpisu — v obsahu jsou odkazy červené, ale v kartě
   jsou to jména hostů a celá karta se pak červeně roztřepí. */
.sjk-content .pt-cv-content a, .pt-cv-content a {
	color: var(--muted); text-decoration: none;
	transition: color .15s ease;
}
.sjk-content .pt-cv-content a:hover, .pt-cv-content a:hover { color: var(--red); }
.pt-cv-content p { margin: 0 0 6px; }

/* „(Pokračování textu…)" — WP more-link, v kartě jen holý text */
.sjk-content .pt-cv-content .more-link, .pt-cv-content .more-link {
	display: inline-block; margin-top: 8px;
	color: var(--red) !important; font-size: 13px; font-weight: 600;
	text-decoration: none;
}
.sjk-content .pt-cv-content .more-link:hover, .pt-cv-content .more-link:hover { color: #fff !important; }

/* ---------- Content Views: zbylé typy rozvržení ----------
   Views se dělí na 6 typů a každý má vlastní markup. Grid a pinterest
   řeší blok výše; tady jsou zbylé čtyři (collapsible 13 views,
   scrollable 5, timeline 4, glossary 1), které jinak zůstanou na
   výchozím světlém stylu pluginu. */

/* timeline — bílé karty a světlé meta pruhy */
.pt-cv-timeline .pt-cv-content-item {
	background: var(--card) !important; border: 1px solid var(--line);
	border-radius: 10px; padding: 18px !important;
}
.pt-cv-timeline .pt-cv-meta-fields { background: transparent !important; color: var(--dim) !important; }
.pt-cv-timeline div.pt-right::after, .pt-cv-timeline div.pt-left::after {
	background: var(--red) !important; border-color: var(--bg) !important;
}
.pt-cv-timeline div.pt-right:hover::after, .pt-cv-timeline div.pt-left:hover::after {
	background: #fff !important; border-color: var(--red) !important;
}
.pt-cv-timeline .pt-cv-title, .pt-cv-timeline .pt-cv-title a { color: var(--text) !important; }
/* svislá osa je ve výchozím stavu světlá čára přes celou stránku */
.pt-cv-timeline .tl-spine { background: var(--line) !important; }

/* vlastní bublina karty (.tl-item-content) má bílé pozadí a světle šedé
   „zobáčky" mířící na osu — ty se kreslí borderem, ne pozadím */
.tl-items .tl-item-content {
	background: var(--card) !important;
	border: 1px solid var(--line);
	border-radius: 10px;
	box-shadow: none !important;
}
.pt-left .tl-item-content::before { border-left-color: var(--line) !important; }
.pt-right .tl-item-content::before, .pt-right .tl-item-content::after { border-right-color: var(--line) !important; }
.pt-left .tl-item-content::after { border-left-color: var(--card) !important; }

/* collapsible — postavené na Bootstrap .panel */
/* výpis je jeden sloupec rozbalovacích řádků, ne mřížka karet */
.pt-cv-collapsible .pt-cv-page { display: block !important; }
.pt-cv-collapsible .panel-group { width: 100%; }
.pt-cv-collapsible .panel {
	background: var(--card) !important; border: 1px solid var(--line) !important;
	border-radius: 10px !important; box-shadow: none !important; margin-bottom: 10px;
}
.pt-cv-collapsible .panel > .panel-heading {
	background-color: var(--card-2) !important; border: 0 !important;
	border-radius: 10px 10px 0 0 !important;
}
.pt-cv-collapsible .panel-heading a, .pt-cv-collapsible .panel-title,
.pt-cv-collapsible .panel-title a {
	color: var(--text) !important; font-family: var(--font-h); font-weight: 600;
	text-decoration: none !important;
}
.pt-cv-collapsible .panel-heading a:hover, .pt-cv-collapsible .panel-title a:hover { color: var(--red) !important; }
/* Rozbalovací znaménko si nese tmavě modrou z Bootstrapu */
.pt-cv-collapsible .panel-heading .clickable,
.pt-cv-collapsible .panel-heading .glyphicon {
	color: var(--red) !important; font-size: 13px;
	transition: color .15s ease, transform .15s ease;
}
.pt-cv-collapsible .panel-heading:hover .glyphicon { color: #fff !important; }
.pt-cv-collapsible .panel-body {
	background: var(--card) !important; color: var(--muted) !important;
	border-top: 1px solid var(--line) !important;
}

/* scrollable — Bootstrap karusel; grid pravidla výše na něj nesedí,
   proto se položky musí vrátit do normálního toku */
.pt-cv-scrollable .carousel-inner, .pt-cv-scrollable .item, .pt-cv-scrollable .row {
	display: block !important; height: auto !important; overflow: visible !important;
}
.pt-cv-scrollable .pt-cv-content-item { padding: 0 !important; }
.pt-cv-view .carousel-control span { background: var(--red) !important; color: #fff !important; }
.pt-cv-no-post { color: var(--dim); padding: 12px 0; }

/* stránkování výpisů — Bootstrap .pagination je bílo-modrá */
.pt-cv-pagination-wrapper { text-align: center; }
.pt-cv-pagination.pagination {
	display: inline-flex !important; flex-wrap: wrap; justify-content: center;
	gap: 8px; padding: 0; margin: 20px auto 0 !important; list-style: none; float: none;
}
.pt-cv-pagination.pagination > li { display: inline-block !important; float: none; margin: 0; }
.pt-cv-pagination.pagination > li > a,
.pt-cv-pagination.pagination > li > span {
	display: block; float: none;
	background: var(--card) !important; color: var(--muted) !important;
	border: 1px solid var(--line) !important; border-radius: 50px !important;
	padding: 9px 16px !important; font-size: 14px; line-height: 1.2;
	transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.pt-cv-pagination.pagination > li > a:hover {
	border-color: var(--red) !important; color: var(--text) !important; background: var(--card) !important;
}
.pt-cv-pagination.pagination > li.active > a,
.pt-cv-pagination.pagination > li.active > span,
.pt-cv-pagination.pagination > li > a.active {
	background: var(--red) !important; border-color: var(--red) !important; color: #fff !important;
}
.pt-cv-pagination.pagination > li.disabled > a,
.pt-cv-pagination.pagination > li.disabled > span { opacity: .4; }

/* glossary */
.pt-cv-glossary .pt-cv-content-item { background: var(--card) !important; color: var(--text) !important; }
.pt-cv-glossary a { color: var(--muted) !important; }
.pt-cv-glossary a:hover { color: var(--red) !important; }

/* overlay / lightbox pluginu */
.pt-cv-overlay-box, .pt-cv-lightbox-dialog #cvpboxLoadedContent {
	background-color: var(--card) !important; color: var(--text);
}
.cvp-live-filter.cvp-button input[type="radio"]:checked ~ div {
	background: var(--red) !important; color: #fff !important;
}

/* ---------- štítky: tři komponenty, tři funkce ----------
   Záměrně zůstávají rozlišené, jen si vizuálně sedají k sobě:
   společný tvar (pilulka), společný rytmus, jiná role.
     1) mrak štítků (wp_tag_cloud)      = navigace podle četnosti
     2) .sjk-chips (detail epizody)     = rubriky konkrétního článku
     3) .pt-cv-meta-fields (výpisy)     = doplňková meta v kartě  */

/* 1) mrak štítků — jádro škáluje font podle četnosti (výchozí 8–22 pt),
      takže „herečka (318)" je obří a „film (55)" drobný. Rozsah zúžen
      clampem, informace o četnosti zůstává v čísle v závorce. */
.sjk-content .wp-tag-cloud, .sjk-content .tagcloud,
.sjk-content .wp-block-tag-cloud {
	display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 1.3em; padding: 0; list-style: none;
}
.sjk-content .wp-tag-cloud li { margin: 0; }
.sjk-content .tagcloud a, .sjk-content .wp-tag-cloud a,
.sjk-content .wp-block-tag-cloud a {
	display: inline-block;
	font-size: clamp(13px, 0.9em, 17px) !important;
	line-height: 1.2;
	padding: 7px 14px; border-radius: 50px;
	background: var(--card); border: 1px solid var(--line);
	color: var(--muted); text-decoration: none;
	transition: border-color .15s ease, color .15s ease;
}
.sjk-content .tagcloud a:hover, .sjk-content .wp-tag-cloud a:hover,
.sjk-content .wp-block-tag-cloud a:hover {
	border-color: var(--red); color: var(--text);
}

/* 2) rubriky článku — stejný tvar, ale červený akcent (jsou „jeho vlastní") */
.sjk-chips a {
	padding: 7px 14px; border-radius: 50px;
	background: rgba(234, 56, 76, .12); border: 1px solid rgba(234, 56, 76, .35);
	color: var(--muted); text-decoration: none;
}
.sjk-chips a:hover { background: var(--red); color: #fff; border-color: var(--red); }

/* 3) meta ve výpisech — nejtišší, jen text s oddělovačem, bez pilulky */
.pt-cv-meta-fields, .pt-cv-meta-fields a {
	font-size: 12.5px !important; color: var(--dim) !important;
	text-transform: none !important; letter-spacing: 0 !important;
}
.pt-cv-meta-fields a:hover { color: var(--red) !important; }

/* ---------- tabulky (TablePress i běžné) ---------- */
.sjk-content table, .tablepress {
	width: 100%; border-collapse: collapse; margin: 0 0 1.5em;
	background: transparent; color: var(--text); font-size: 15px;
}
.sjk-content table th, .tablepress th,
.sjk-content table thead td, .tablepress thead th {
	background: var(--card-2) !important; color: var(--text) !important;
	font-family: var(--font-h); font-weight: 600; text-align: left;
	padding: 12px 14px; border: 0 !important; border-bottom: 1px solid var(--line) !important;
}
.sjk-content table td, .tablepress td {
	background: transparent !important; color: var(--muted) !important;
	padding: 11px 14px; border: 0 !important; border-bottom: 1px solid var(--line) !important;
}
.tablepress tbody tr:nth-child(odd) td, .tablepress .odd td { background: rgba(255, 255, 255, .02) !important; }
.tablepress tbody tr:hover td { background: rgba(255, 255, 255, .05) !important; }
.sjk-content table a, .tablepress a { color: var(--muted); }
.sjk-content table a:hover, .tablepress a:hover { color: var(--red); }
.tablepress-table-name, .tablepress-table-description { color: var(--text); }
/* široké tabulky nesmí roztáhnout stránku */
.sjk-content .tablepress-scroll-wrapper, .sjk-content figure.wp-block-table { overflow-x: auto; }

/* Vložená mapa Google (iframe embed) — samotné barvy mapy ovlivnit nejdou,
   tak ji aspoň orámujeme jako ostatní média. */
.sjk-content iframe[src*="google.com/maps"] {
	display: block; width: 100%; min-height: 420px;
	border: 1px solid var(--line); border-radius: 14px;
}

/* ---------- Kontakt ----------
   Obsah je ze starého builderu: dvě buňky vedle sebe, kde levá (formulář)
   je několikanásobně vyšší než pravá. Sloupce sice fungují, ale pod pravým
   zůstane velká díra. Řešíme poměrem (formulář dostane víc místa),
   kartami a přilepenou postranní částí, která dlouhý formulář doprovází. */
.sjk-page-kontakt .sjk-content .panel-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	gap: clamp(28px, 3vw, 60px);
	align-items: start;
}
/* SiteOrigin píše buňkám inline width v procentech (vlastní výpočet mřížky).
   V flexu to přebilo `flex: 1 1 0`, v gridu se ale uplatní a buňka pak
   zabírá jen ~48 % stopy — proto se musí vynulovat natvrdo. */
.sjk-page-kontakt .sjk-content .panel-grid-cell { min-width: 0; width: auto !important; }

/* postranní sloupec — karta, která zůstává u formuláře při rolování */
.sjk-page-kontakt .sjk-content .panel-grid > .panel-grid-cell:last-child {
	position: sticky; top: 104px;
	display: flex; flex-direction: column; gap: 20px;
}
.sjk-page-kontakt .sjk-content .panel-grid > .panel-grid-cell:last-child .so-panel {
	background: var(--card); border: 1px solid var(--line);
	border-radius: 14px; padding: clamp(18px, 2vw, 28px); margin: 0;
}
.sjk-page-kontakt .sjk-content .panel-grid > .panel-grid-cell:last-child .so-panel img {
	border-radius: 10px;
}

/* Šířka jako na homepage (--maxw 1920) místo 1480 u ostatních podstránek.
   Projeví se až nad 1480 px obrazovky; níž je limitem stejně viewport.
   Zároveň to srovná sekce s nadpisem H1, který na 1920 jede odjakživa. */
.sjk-page-kontakt .sjk-pagesection,
.sjk-page-kontakt .sjk-content--page { max-width: var(--maxw); }

/* úvodní odstavce sekcí — omezená míra řádku kvůli čitelnosti */
.sjk-page-kontakt .sjk-pagesection__intro { max-width: 68ch; }

/* Poslední sekce (divadlo): úzká karta s adresou vlevo, mapa vedle ní.
   Nadpis jde přes obě dráhy. */
.sjk-page-kontakt .sjk-pagesection:last-of-type {
	display: grid;
	grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
	gap: clamp(20px, 2.4vw, 40px);
	align-items: start;
}
.sjk-page-kontakt .sjk-pagesection:last-of-type > .sjk-pagesection__head {
	grid-column: 1 / -1;
}
.sjk-page-kontakt .sjk-pagesection:last-of-type .sjk-content--page:first-of-type {
	background: var(--card); border: 1px solid var(--line);
	border-radius: 14px; padding: clamp(20px, 2.4vw, 28px);
	max-width: none;
}
/* mapa v této sekci vyšší než výchozí rámování (420 px) */
.sjk-page-kontakt .sjk-pagesection:last-of-type iframe[src*="google.com/maps"] {
	min-height: 630px;
}

@media (max-width: 1000px) {
	.sjk-page-kontakt .sjk-pagesection:last-of-type { grid-template-columns: 1fr; }
	.sjk-page-kontakt .sjk-pagesection:last-of-type iframe[src*="google.com/maps"] {
		min-height: 380px;
	}
}

/* Formulář je hlavní obsah stránky — dostane karta, aby nesplýval
   s okolním textem. Solidní podklad + jemné odsazení od okraje;
   postranní bloky zůstávají tišší. */
.sjk-page-kontakt .sjk-content .panel-grid > .panel-grid-cell:first-child .so-panel {
	background: var(--card); border: 1px solid var(--line);
	border-radius: 16px; padding: clamp(22px, 2.6vw, 40px);
	box-shadow: 0 18px 50px rgba(0, 0, 0, .35);
}
/* nadpis uvnitř karty nemá odsazovat od horní hrany */
.sjk-page-kontakt .sjk-content .panel-grid > .panel-grid-cell:first-child .so-panel > *:first-child,
.sjk-page-kontakt .sjk-content .panel-grid > .panel-grid-cell:first-child .siteorigin-widget-tinymce > *:first-child {
	margin-top: 0;
}
/* pole nemají být přes celou kartu — přes ~720 px se špatně vyplňují */
.sjk-page-kontakt .wpcf7 { max-width: 720px; }

@media (max-width: 1000px) {
	.sjk-page-kontakt .sjk-content .panel-grid { grid-template-columns: 1fr; }
	.sjk-page-kontakt .sjk-content .panel-grid > .panel-grid-cell:last-child {
		position: static;
	}
}

/* ---------- Aktuálně ----------
   Stránka není poskládaná ze sekcí, jde přes `the_content`. Bloky se tam
   navzájem centrovaly v různých šířkách (860 vs. 1240 vs. kontejner), takže
   měly tři různé levé okraje a stránka působila rozsypaně. Sjednoceno na
   jednu levou hranu; text si drží míru řádku, mřížky jdou přes celou šířku. */
.sjk-page-aktualne .sjk-article__content { max-width: var(--maxw); }
.sjk-page-aktualne .sjk-article__content > * {
	max-width: 72ch; margin-left: 0; margin-right: 0;
}
.sjk-page-aktualne .sjk-article__content > .wp-block-columns,
.sjk-page-aktualne .sjk-article__content > .sjk-cols,
.sjk-page-aktualne .sjk-article__content > .wp-block-social-links,
.sjk-page-aktualne .sjk-article__content > .wp-block-group,
.sjk-page-aktualne .sjk-article__content > .wp-block-gallery,
.sjk-page-aktualne .sjk-article__content > .sjk-tl-split,
.sjk-page-aktualne .sjk-article__content > .pt-cv-wrapper,
.sjk-page-aktualne .sjk-article__content > .wp-block-tag-cloud {
	max-width: none;
}

/* Časová osa vedle přilepeného popisku.
   Nadpis, poznámka i osa jsou v obsahu samostatní sourozenci; do společného
   obalu `.sjk-tl-split` je dává app.js. Lepení je omezené výškou rodiče,
   takže popisek odjede přesně s koncem osy — umisťování do mřížky mu
   dávalo větší plochu a držel až u patičky. */
.sjk-page-aktualne .sjk-tl-split {
	display: grid;
	grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
	column-gap: clamp(24px, 3vw, 56px);
	align-items: start;
}
.sjk-page-aktualne .sjk-tl-aside {
	position: sticky; top: 104px;
	display: flex; flex-direction: column; gap: 12px;
}
.sjk-page-aktualne .sjk-tl-aside > * { max-width: none; margin: 0; }
/* karty na plnou dráhu vycházely zbytečně velké */
.sjk-page-aktualne .pt-cv-wrapper { max-width: 1080px; }

@media (max-width: 1000px) {
	.sjk-page-aktualne .sjk-tl-split { display: block; }
	.sjk-page-aktualne .sjk-tl-aside { position: static; margin-bottom: 24px; }
}

/* dvousloupcový blok — vyrovnat sloupce a dát jim vzduch */
.sjk-page-aktualne .wp-block-columns {
	display: grid;
	/* levý sloupec je obsahem výrazně kratší — dostane méně místa,
	   aby nerovnováha tolik nebila do očí */
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(28px, 3vw, 64px); align-items: start;
}
.sjk-page-aktualne .wp-block-column { width: auto !important; margin: 0 !important; }
/* a zůstane u delšího sloupce při rolování, místo aby po pár řádcích zmizel */
.sjk-page-aktualne .wp-block-columns > .wp-block-column:first-child {
	position: sticky; top: 104px;
}

@media (max-width: 1100px) {
	.sjk-page-aktualne .wp-block-columns > .wp-block-column:first-child { position: static; }
}

@media (max-width: 900px) {
	.sjk-page-aktualne .wp-block-columns { grid-template-columns: 1fr; }
}

/* ---------- Vstupenky ----------
   Šířka jako HP a stejná levá hrana jako nadpis (sekce jinak jedou na 1480).
   Text si drží míru řádku, prodejní widget jde přes celou šířku. */
.sjk-page-vstupenky .sjk-pagesection,
.sjk-page-vstupenky .sjk-content--page,
.sjk-page-vstupenky .sjk-goout { max-width: var(--maxw); }
.sjk-page-vstupenky .sjk-pagesection__intro { max-width: 72ch; }

/* ---------- Mobilní aplikace ----------
   Stejná situace jako /aktualne/: obsah se vnořeně centroval (1480 → 1240),
   takže začínal jinde než nadpis. Srovnáno na jednu levou hranu a šířku HP;
   sloupce mají výrazně nestejnou výšku, tak je kratší (média) přilepený. */
.sjk-page-aplikace .sjk-article__content { max-width: var(--maxw); }
.sjk-page-aplikace .sjk-article__content > * {
	max-width: 72ch; margin-left: 0; margin-right: 0;
}
.sjk-page-aplikace .sjk-article__content > .panel-layout,
.sjk-page-aplikace .sjk-article__content > .sjk-cols,
.sjk-page-aplikace .sjk-article__content > .wp-block-columns,
.sjk-page-aplikace .sjk-article__content > .wp-block-group,
.sjk-page-aplikace .sjk-article__content > .pt-cv-wrapper {
	max-width: none;
}

/* Buňky jsou podle stránky buď přímo v `.panel-grid`, nebo ještě zabalené
   v `.panel-row-style`. Mřížku dáme oběma a mezikontejner necháme přes celou
   šířku — jinak se z něj stane jediná položka v prvním sloupci a buňky uvnitř
   se vejdou do poloviny místa. */
.sjk-page-aplikace .sjk-content .panel-grid,
.sjk-page-aplikace .sjk-content .panel-row-style {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: clamp(28px, 3vw, 64px);
	align-items: start;
}
.sjk-page-aplikace .sjk-content .panel-grid > .panel-row-style { grid-column: 1 / -1; }
/* SiteOrigin píše buňkám inline width v procentech — v gridu se to uplatní */
.sjk-page-aplikace .sjk-content .panel-grid-cell { min-width: 0; width: auto !important; }
.sjk-page-aplikace .sjk-content .panel-grid-cell:last-child {
	position: sticky; top: 104px;
}

@media (max-width: 1000px) {
	.sjk-page-aplikace .sjk-content .panel-grid,
	.sjk-page-aplikace .sjk-content .panel-row-style { grid-template-columns: 1fr; }
	.sjk-page-aplikace .sjk-content .panel-grid-cell:last-child { position: static; }
}

/* ---------- medailonek ----------
   Stejná stavba jako detail epizody (hero + článek). Dřív to byly dva úzké
   sloupce: portrét vlevo, text v necelé polovině šířky. */
.sjk-ephero--guest h1 { font-size: clamp(34px, 4.4vw, 68px); }
/* Role bez odkazu (tag k nim neexistuje) vypadají jako ribbony, ale nejsou
   klikací — bez rámečku, aby to nemátlo. */
.sjk-gchips span {
	border: 1px solid transparent; border-radius: 50px; padding: 9px 4px;
	font-size: 14px; font-weight: 500; color: var(--muted);
}
/* Jméno v obsahu se opakovalo z hlavičky; zbylé h4 uvnitř textu ať aspoň
   nekřičí jako nadpis sekce. */
.sjk-guestprofile .sjk-content .widget-title { font-size: 20px; }
.sjk-guestprofile__back { margin: 22px 0 0; }
.sjk-guestprofile__back a { color: var(--dim); font-size: 14.5px; }
.sjk-guestprofile__back a:hover { color: var(--red); }

/* ---------- Mozaika osobností ----------
   Jméno se ukazuje až po najetí, a to bílým textem rovnou přes fotku —
   na světlém záběru zmizelo. Překryv dostane spád ke spodní hraně a jméno
   sedne na něj. */
.pt-cv-mask {
	display: flex !important; flex-direction: column; justify-content: flex-end;
	/* Překryv sedí jen v dolním pruhu dlaždice (plugin, `overlay-bottom`),
	   takže spád musí ztmavit hned od jeho horní hrany — jinak text vyjde
	   do skoro průhledné části. */
	background: linear-gradient(180deg, rgba(10, 10, 10, .5) 0%, rgba(10, 10, 10, .9) 45%, rgba(10, 10, 10, .96) 100%);
	padding: 18px !important;
}
.pt-cv-mask .pt-cv-title {
	margin: 0 !important; font-size: 17px !important; line-height: 1.25 !important;
	text-shadow: 0 2px 14px rgba(0, 0, 0, .85);
}
/* Plugin má nad fotkou dekorační vrstvu pro hover efekt — leží nad odkazem
   a brala mu kliknutí, takže dlaždice nešly otevřít. */
.pt-cv-hover-wrapper::before, .pt-cv-hover-wrapper::after { pointer-events: none; }
.pt-cv-mask .pt-cv-title a { color: var(--text) !important; }
.pt-cv-content-item:hover .pt-cv-mask .pt-cv-title a { color: #fff !important; }
/* Vlastní styl výpisu: je to nástěnka fotek, ne výpis s texty. Jde přes
   celou šířku stránky, dlaždice jsou drobné a slité k sobě — z 880 hostů
   je tak pás zhruba čtvrtinový oproti mřížce karet. */
.sjk-page-mozaika .sjk-content--page,
.sjk-page-mozaika .sjk-pagesection { max-width: var(--maxw); }
.sjk-page-mozaika .pt-cv-view .pt-cv-page {
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
	gap: 4px !important;
}
/* Na mozaice nechceme kartu kolem fotky (obecné pravidlo pro výpisy bez
   náhledového obalu), dlaždice je jen ta fotka. */
.sjk-page-mozaika .pt-cv-view .pt-cv-content-item > .pt-cv-ifield {
	padding: 0 !important; background: transparent !important; border-radius: 0;
}
.sjk-page-mozaika .pt-cv-view .pt-cv-href-thumbnail {
	aspect-ratio: 16 / 9; overflow: hidden; display: block;
}
.sjk-page-mozaika .pt-cv-view .pt-cv-href-thumbnail img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform .25s ease, filter .25s ease;
	filter: saturate(.85) brightness(.85);
}
.sjk-page-mozaika .pt-cv-content-item:hover .pt-cv-href-thumbnail img {
	transform: scale(1.04); filter: none;
}
.sjk-page-mozaika .pt-cv-mask { padding: 8px 10px !important; }
/* Dlaždice je malá — dlouhá jména by přes ni přerostla, tak dva řádky
   a zbytek se ořízne (celé jméno je na medailonku, kam odkaz vede). */
.sjk-page-mozaika .pt-cv-mask .pt-cv-title { font-size: 12px !important; }
.sjk-page-mozaika .pt-cv-mask .pt-cv-title a {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
	overflow: hidden;
}

/* Na mobilu tři sloupce — pořád je to nástěnka, ne výpis. */
@media (max-width: 620px) {
	.sjk-page-mozaika .pt-cv-view .pt-cv-page {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 3px !important;
	}
	.sjk-page-mozaika .pt-cv-mask { padding: 6px !important; }
	.sjk-page-mozaika .pt-cv-mask .pt-cv-title { font-size: 10px !important; }
}

/* ---------- Nové díly ----------
   Stránka končí třemi tlačítky pod sebou (epizody / videa / hosté). Je to
   rozcestník, tak z nich děláme tři karty vedle sebe. Obaly jsou v obsahu
   samostatné divy, proto inline-block a ne mřížka na rodiči. */
.sjk-page-nove-dily .sjk-content div:has(> .su-button-center) {
	/* inline-block sousedy odděluje ještě mezera z HTML, proto je odečteno
	   víc, než dělá vlastní margin */
	display: inline-block; vertical-align: top; width: calc(33.333% - 30px);
	margin: 0 20px 0 0 !important; text-align: left !important;
}
.sjk-page-nove-dily .sjk-content div:has(> .su-button-center):last-child { margin-right: 0 !important; }
.sjk-page-nove-dily .sjk-content .su-button {
	box-sizing: border-box !important;
	min-width: 0 !important;
	display: flex !important; flex-direction: column; align-items: flex-start; justify-content: flex-end;
	width: 100% !important; min-height: 132px; gap: 4px;
	background: var(--card) !important; color: var(--text) !important;
	border: 1px solid var(--line) !important; border-radius: 10px !important;
	padding: clamp(18px, 2vw, 26px) !important;
	transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.sjk-page-nove-dily .sjk-content .su-button:hover {
	background: var(--card-2) !important; border-color: var(--red) !important; transform: translateY(-3px);
}
.sjk-page-nove-dily .sjk-content .su-button span {
	display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
	font-family: var(--font-h) !important; font-size: clamp(19px, 1.6vw, 24px) !important;
	letter-spacing: -.01em !important; text-align: left !important;
}
.sjk-page-nove-dily .sjk-content .su-button small {
	font-family: var(--font-b); font-size: 14px !important; font-weight: 400;
	color: var(--dim) !important; opacity: 1;
}
@media (max-width: 900px) {
	.sjk-page-nove-dily .sjk-content div:has(> .su-button-center) {
		width: calc(50% - 24px);
	}
}
@media (max-width: 620px) {
	.sjk-page-nove-dily .sjk-content div:has(> .su-button-center) {
		display: block; width: auto; margin: 0 0 14px !important;
	}
	.sjk-page-nove-dily .sjk-content .su-button { min-height: 96px; }
}

/* ---------- Videoarchiv ----------
   Rozcestník po kanálu: rubriky a řady jsou v obsahu jako `div` s třídou
   `rubrika-a-tag-box-widget-button` obalený lightbox spanem. Bez stylu z nich
   byly holé řádky textu pod sebou; tady z nich děláme dlaždice. */
/* SiteOrigin má oběma panelům v layoutu uložené `margin: 0 20%` — rozcestník
   pak stál v prostředním pruhu, zatímco zbytek stránky začínal u levé hrany. */
.sjk-page-videoarchiv .sjk-content .so-panel { margin-left: 0 !important; margin-right: 0 !important; }
/* Rubriky a řady jsou dvě různé věci — ať je mezi nimi vidět mezera */
.sjk-page-videoarchiv .sjk-content .so-panel + .so-panel {
	margin-top: clamp(48px, 5.5vw, 88px) !important;
}
/* a rozcestník ať se nelepí na odkaz nad ním */
.sjk-page-videoarchiv .sjk-pagesection__intro { margin-bottom: clamp(34px, 4vw, 64px); }
.sjk-page-videoarchiv .su-lightbox {
	display: inline-block; margin: 0 10px 10px 0; cursor: pointer; vertical-align: top;
}
.sjk-page-videoarchiv .rubrika-a-tag-box-widget-button {
	display: flex; align-items: center; min-height: 62px;
	max-width: 300px; padding: 14px 22px;
	background: var(--card); border: 1px solid var(--line); border-radius: 10px;
	font-family: var(--font-h); font-weight: 600; font-size: 16px; line-height: 1.25;
	color: var(--text); text-transform: none;
	transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.sjk-page-videoarchiv .su-lightbox:hover .rubrika-a-tag-box-widget-button {
	border-color: var(--red); background: var(--card-2); transform: translateY(-2px);
}
/* Nadpisy uvnitř widgetu měly inline žlutou a zarovnání na střed */
.sjk-page-videoarchiv .siteorigin-widget-tinymce h5 {
	font-family: var(--font-h); font-size: 15px; font-weight: 600; letter-spacing: .04em;
	text-transform: uppercase; text-align: left !important; color: var(--dim) !important;
	margin: 0 0 16px;
}
.sjk-page-videoarchiv .siteorigin-widget-tinymce h5 span { color: inherit !important; }
.sjk-page-videoarchiv .siteorigin-widget-tinymce h5:not(:first-child) { margin-top: 34px; }
/* Na mobilu ať dlaždice nejsou roztrhané podle délky názvu — přes celou šířku */
@media (max-width: 620px) {
	.sjk-page-videoarchiv .su-lightbox { display: block; margin: 0 0 10px 0; }
	.sjk-page-videoarchiv .rubrika-a-tag-box-widget-button { max-width: none; min-height: 54px; font-size: 15px; }
}
/* Odkaz na YouTube nad rozcestníkem byl šedý pruh ze starého webu */
.sjk-page-videoarchiv .sjk-pagesection__intro > div[style] {
	background: var(--card) !important; border: 1px solid var(--line);
	border-radius: 10px; padding: 16px 22px !important; font-size: 100% !important;
}

/* ---------- Veřejná natáčení ----------
   Druhá položka menu, ale technicky post bez titulní fotky. */

/* Výpis nadcházejících dílů má v obsahu obal s inline
   `text-align:center; margin:0 auto` — bez přebití se celý blok centruje
   a karty mají text na střed. Platí pro všechny výpisy v článcích. */
.sjk-article__content > div:has(> .pt-cv-wrapper) {
	margin-left: 0 !important; margin-right: 0 !important;
	text-align: left !important; max-width: 1240px;
}
/* Nadcházející díl bývá jeden; bez stropu by z karty byl pruh přes celou
   šířku. Takhle drží velikost karty ať je díl jeden nebo pět. */
.sjk-post-verejna-nataceni-show-jana-krause .pt-cv-view .pt-cv-page {
	grid-template-columns: repeat(auto-fill, minmax(260px, 340px));
}
.sjk-post-verejna-nataceni-show-jana-krause .sjk-content .widget-title {
	font-size: clamp(24px, 2.2vw, 32px); margin-bottom: 18px;
}
/* Adresa pokladny je citátový blok — ať vypadá jako karta, stejná jako
   sousední předprodej (obecný styl citátu jí dával červenou linku vlevo). */
.sjk-post-verejna-nataceni-show-jana-krause .sjk-content > blockquote {
	background: var(--card); border-radius: 10px; border-left: 0 !important;
	padding: clamp(18px, 2vw, 28px) clamp(20px, 2.2vw, 30px) !important;
	margin: 0; font-size: 16px;
}

/* Rozvržení stránky do dvou sloupců. Bloky jsou v obsahu jeden pod druhým
   a nemají společné obaly, takže se umisťují napevno do mřížky — kdyby do
   obsahu přibyl další blok, spadne pod ni jako celá šířka.
   1. řádek: kde hrajeme (vlevo) a za kolik (vpravo)
   2. řádek: pokladna a předprodej vedle sebe, stejná váha
   3. řádek: servisní blok o YouTube přes celou šířku, ať nekřičí */
@media (min-width: 1000px) {
	.sjk-post-verejna-nataceni-show-jana-krause .sjk-article__content {
		display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: clamp(24px, 3vw, 56px); row-gap: clamp(20px, 2.4vw, 36px);
		align-items: start; max-width: 1480px;
	}
	.sjk-post-verejna-nataceni-show-jana-krause .sjk-article__content > * {
		max-width: none; margin-bottom: 0;
	}
	/* oddělovače mezi bloky mřížku jen rozhazují */
	.sjk-post-verejna-nataceni-show-jana-krause .sjk-article__content > hr { display: none; }
	.sjk-post-verejna-nataceni-show-jana-krause .sjk-article__content > .widget-title { grid-area: 1 / 1 / 2 / -1; }
	.sjk-post-verejna-nataceni-show-jana-krause .sjk-article__content > div:has(> .pt-cv-wrapper) { grid-area: 2 / 1 / 3 / -1; }
	.sjk-post-verejna-nataceni-show-jana-krause .sjk-article__content > .wp-block-group { grid-area: 3 / 1 / 5 / 2; }
	.sjk-post-verejna-nataceni-show-jana-krause .sjk-article__content > h2 { grid-area: 3 / 2 / 4 / 3; }
	.sjk-post-verejna-nataceni-show-jana-krause .sjk-article__content > ul.wp-block-list { grid-area: 4 / 2 / 5 / 3; }
	.sjk-post-verejna-nataceni-show-jana-krause .sjk-article__content > blockquote { grid-area: 5 / 1 / 6 / 2; }
	.sjk-post-verejna-nataceni-show-jana-krause .sjk-article__content > .mg-sjk-odstavec-zvyrazneny { grid-area: 5 / 2 / 6 / 3; }
	.sjk-post-verejna-nataceni-show-jana-krause .sjk-article__content > .wp-block-social-links { grid-area: 6 / 1 / 7 / -1; }
	.sjk-post-verejna-nataceni-show-jana-krause .sjk-article__content > .vstupenky-panel-odkazy { grid-area: 7 / 1 / 8 / -1; }
	/* Předprodej a pokladna mají stejnou váhu: stejná karta, společná horní
	   hrana a stejná výška (mřížka jinak drží položky na `start`). */
	.sjk-post-verejna-nataceni-show-jana-krause .sjk-article__content > blockquote,
	.sjk-post-verejna-nataceni-show-jana-krause .sjk-article__content > .mg-sjk-odstavec-zvyrazneny {
		align-self: stretch; margin: 0;
	}
	/* Servisní blok o kanálu je nejméně důležitý — přes celou šířku, ale text
	   v něm si drží čtecí míru, aby se roztažením nerozpadl. */
	.sjk-post-verejna-nataceni-show-jana-krause .sjk-article__content > .vstupenky-panel-odkazy {
		font-size: 14.5px;
		padding: clamp(24px, 3vw, 40px) clamp(24px, 8vw, 140px);
	}
}

/* ---------- 404 ---------- */
.sjk-404 { max-width: 720px; margin-left: 0; }
.sjk-404__code {
	font-family: var(--font-h); font-weight: 700; font-size: clamp(64px, 9vw, 132px);
	line-height: 1; letter-spacing: -.03em; color: var(--red); margin: 0 0 8px;
}
.sjk-404 h1 { font-size: clamp(30px, 3.6vw, 54px); margin: 0 0 16px; }
.sjk-404__sub { color: var(--muted); font-size: clamp(16px, 1.3vw, 19px); margin: 0 0 30px; max-width: 52ch; }
.sjk-404__search { margin-bottom: 26px; }
.sjk-404__search .search-form {
	display: flex; gap: 10px; flex-wrap: wrap; align-items: center; max-width: 520px;
}
.sjk-404__search label { flex: 1 1 240px; margin: 0; }
.sjk-404__search .search-field {
	width: 100%; background: var(--card); color: var(--text);
	border: 1px solid var(--line); border-radius: 10px;
	padding: 13px 18px; font: inherit; font-size: 15px;
}
.sjk-404__search .search-field::placeholder { color: var(--dim); }
.sjk-404__search .search-field:focus {
	outline: none; border-color: var(--red); box-shadow: 0 0 0 3px rgba(234, 56, 76, .18);
}
.sjk-404__search .search-submit {
	flex: none; background: var(--red); color: #fff; border: 0; border-radius: 50px;
	font: inherit; font-weight: 600; padding: 13px 28px; cursor: pointer;
	transition: background .15s ease;
}
.sjk-404__search .search-submit:hover { background: var(--red-2); }

/* ---------- responsive ---------- */
@media (max-width: 1280px) {
	.sjk-nav__list a { font-size: 13px; }
}
@media (max-width: 1100px) {
	.sjk-eps, .sjk-cards { grid-template-columns: repeat(2, 1fr); }
	.sjk-guests { grid-template-columns: repeat(3, 1fr); }
	.sjk-cats { grid-template-columns: repeat(2, 1fr); }
	.sjk-know, .sjk-app { grid-template-columns: 1fr; }
	/* v jednom sloupci už není výška bloku, ke které by se mockup vztahoval */
	.sjk-app__phone { position: static; min-height: 0; display: flex; justify-content: center; }
	.sjk-app__mock { position: static; height: auto; width: min(430px, 88vw); }
	.sjk-footer__grid, .sjk-footer__grid--5 { grid-template-columns: repeat(2, 1fr); }
	.sjk-nav__links { display: none; }
	.sjk-nav__burger { display: flex; }
}
@media (max-width: 720px) {
	.sjk-eps, .sjk-cards, .sjk-content .gallery, .sjk-content .wp-block-gallery { grid-template-columns: 1fr; }
	.sjk-guests { grid-template-columns: repeat(2, 1fr); }
	.sjk-cats { grid-template-columns: 1fr; }
	.sjk-hero__in, .sjk-ephero__in { padding-top: 120px; }

	/* SiteOrigin řádky jsou flex položky s `min-width: auto`, takže je vnitřní
	   odsazení widgetu (v layoutu bývá 17 px) na telefonu roztáhne přes
	   obrazovku a obsah se ořízne. */
	.sjk-content .panel-grid,
	.sjk-content .panel-row-style,
	.sjk-content .panel-grid-cell { min-width: 0; max-width: 100%; }
	.sjk-content .panel-widget-style {
		padding-left: clamp(0px, 2.5vw, 12px) !important;
		padding-right: clamp(0px, 2.5vw, 12px) !important;
	}

	/* Logo a tlačítko se do pilulky hlavičky nevešly (flex bez zalomení),
	   takže „Menu" přetékalo za její pravý okraj. */
	.sjk-nav__in { padding: 8px 10px 8px 16px; gap: 12px; }
	.sjk-nav__brand img { height: 20px; }
	.sjk-nav__burger { padding: 8px 15px; font-size: 12px; }
	/* zavírání drží stejné rozměry i odsazení jako tlačítko „Menu" */
	.sjk-menu__bar-in { padding: 8px 10px; }
	.sjk-menu__close { padding: 8px 15px; font-size: 12px; }
	/* položky menu ať využijí šířku telefonu, odsazení stránky je na ně moc */
	.sjk-menu__inner { padding: 96px 16px 48px; }
	.sjk-menu li a { font-size: clamp(28px, 8vw, 40px); }

	/* Patička na jeden sloupec byla na telefonu nekonečná — zůstávají dva
	   a všechno v nich je o stupeň drobnější. */
	.sjk-footer { padding-top: clamp(40px, 8vw, 56px); }
	.sjk-footer__in { padding: 26px 18px 18px; border-radius: 18px; }
	.sjk-footer__logo { margin-bottom: 22px; gap: 12px; }
	.sjk-footer__logo img { height: 24px; }
	.sjk-footer__logo small { font-size: 11.5px; text-align: left; max-width: none; }
	/* `1fr` má minimum podle obsahu, takže dlouhé odkazy nafoukly levý
	   sloupec — `minmax(0, 1fr)` drží obě půlky stejně široké. */
	.sjk-footer__grid, .sjk-footer__grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); font-size: 13px; }
	.sjk-footer__grid a { overflow-wrap: anywhere; }
	.sjk-footer__grid > div { padding: 16px 14px; }
	/* pátý sloupec by ve dvouřadu zůstal sám vedle prázdna */
	.sjk-footer__grid--5 > div:last-child { grid-column: 1 / -1; }
	.sjk-footer__grid h4 { font-size: 13px; margin-bottom: 8px; }
	.sjk-footer__grid h4 + h4, .sjk-footer__grid a + h4, .sjk-footer__grid p + h4 { margin-top: 16px; }
	.sjk-footer__grid a { font-size: 12.5px; padding: 3px 0; line-height: 1.35; }
	.sjk-footer__grid a small { font-size: 10.5px; }
	.sjk-footer__mail { font-size: 11px; }
	.sjk-footer__meta { font-size: 11.5px; margin-top: 16px; }
}
