/**
 * TaraNova Redesign v0.1.0
 * Vše je scopované pod body.tn-redesign – mimo označené stránky nemá žádný vliv.
 */

/* ---------- 1. Fonty (self-hosted, latin + latin-ext, bez kurzívy) ---------- */
@font-face {
	font-family: "TN Manrope";
	font-style: normal;
	font-display: swap;
	font-weight: 200 800;
	src: url("../fonts/manrope-latin-ext-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "TN Manrope";
	font-style: normal;
	font-display: swap;
	font-weight: 200 800;
	src: url("../fonts/manrope-latin-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "TN Cormorant";
	font-style: normal;
	font-display: swap;
	font-weight: 300;
	src: url("../fonts/cormorant-garamond-latin-ext-300-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "TN Cormorant";
	font-style: normal;
	font-display: swap;
	font-weight: 300;
	src: url("../fonts/cormorant-garamond-latin-300-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "TN Cormorant";
	font-style: normal;
	font-display: swap;
	font-weight: 400;
	src: url("../fonts/cormorant-garamond-latin-ext-400-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "TN Cormorant";
	font-style: normal;
	font-display: swap;
	font-weight: 400;
	src: url("../fonts/cormorant-garamond-latin-400-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- 2. Tokeny (navázané na paletu Kadence) ---------- */
body.tn-redesign {
	--tn-fg: var(--global-palette3, #24231f);
	--tn-fg-soft: var(--global-palette5, #777266);
	--tn-bg: var(--global-palette8, #faf8f3);
	--tn-bg-alt: var(--global-palette7, #f2eee6);
	--tn-accent: var(--global-palette2, #876b45);
	--tn-dark: var(--global-palette1, #2d2b25);
	--tn-line: rgb(36 35 31 / 0.14);

	--tn-sans: "Satoshi", "TN Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
	--tn-serif: "Zodiak", "TN Cormorant", Georgia, serif;

	--tn-display: clamp(2.75rem, 1.4rem + 6.2vw, 9rem);
	--tn-h2: clamp(2rem, 1.3rem + 3vw, 4.5rem);
	--tn-h3: clamp(1.375rem, 1.1rem + 1vw, 2rem);
	--tn-body: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
	--tn-label: 1rem; /* minimum 16 px */
	--tn-track: 0.08em;

	--tn-gutter: clamp(1rem, 0.5rem + 2.5vw, 3rem);
	--tn-gap: clamp(0.75rem, 0.4rem + 1.2vw, 1.5rem);
	--tn-section: clamp(4rem, 2rem + 8vw, 10rem);

	--tn-ease: cubic-bezier(0.2, 0.7, 0.1, 1);
	--tn-dur: 1s;

	--global-body-font-family: var(--tn-sans);
	--global-heading-font-family: var(--tn-serif);

	background: var(--tn-bg);
	color: var(--tn-fg);
	font-family: var(--tn-sans);
	font-size: var(--tn-body);
	font-weight: 400;
	line-height: 1.65;
	font-synthesis: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* ---------- 3. Typografie ---------- */
body.tn-redesign h1,
body.tn-redesign h2,
body.tn-redesign h3,
body.tn-redesign h4 {
	font-family: var(--tn-serif);
	font-weight: 300;
	font-style: normal;
	line-height: 1.05;
	letter-spacing: -0.01em;
	color: inherit;
	text-wrap: balance;
}
body.tn-redesign h1 { font-size: var(--tn-display); line-height: 0.95; }
body.tn-redesign h2 { font-size: var(--tn-h2); }
body.tn-redesign h3 { font-size: var(--tn-h3); }
body.tn-redesign p { text-wrap: pretty; }
body.tn-redesign em,
body.tn-redesign i { font-style: normal; }

/* Utility třídy pro bloky (Pokročilé › Další CSS třídy) */
body.tn-redesign .tn-label {
	font-family: var(--tn-sans);
	font-size: var(--tn-label);
	font-weight: 500;
	letter-spacing: var(--tn-track);
	text-transform: uppercase;
	line-height: 1.4;
}
body.tn-redesign .tn-display {
	font-family: var(--tn-sans);
	font-size: var(--tn-display);
	font-weight: 300;
	line-height: 0.92;
	letter-spacing: -0.03em;
	text-transform: uppercase;
}
body.tn-redesign .tn-line { border-top: 1px solid var(--tn-line); }

/* ---------- 4. Kadence: čištění obalů ---------- */
body.tn-redesign .entry-header.page-title,
body.tn-redesign .entry-hero,
body.tn-redesign .kadence-breadcrumb-container { display: none !important; }

/* overflow: hidden rozbíjí position: sticky (Safari) – clip ne */
body.tn-redesign #wrapper,
body.tn-redesign .site,
body.tn-redesign .content-container,
body.tn-redesign .entry-content-wrap { overflow: clip; }

body.tn-redesign .content-area { margin-top: 0; margin-bottom: 0; }
body.tn-redesign .entry-content > * + * { margin-top: var(--tn-gap); }
body.tn-redesign .entry-content > p:empty { display: none; }

/* ---------- 5. Hlavička – průhledná přes hero ---------- */
body.tn-redesign #wrapper { position: relative; }
body.tn-redesign #masthead {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
	background: transparent !important;
}
body.tn-redesign #masthead .site-header-wrap,
body.tn-redesign #masthead .site-header-inner-wrap,
body.tn-redesign #masthead .site-header-upper-wrap,
body.tn-redesign #masthead .site-header-upper-inner-wrap,
body.tn-redesign #masthead .site-header-row-container,
body.tn-redesign #masthead .site-header-row-container-inner {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}
body.tn-redesign #masthead .site-header-row-container-inner {
	border-bottom: 1px solid rgb(255 255 255 / 0.16) !important;
}
body.tn-redesign #masthead,
body.tn-redesign #masthead .site-title,
body.tn-redesign #masthead .site-title a,
body.tn-redesign #masthead .site-branding a,
body.tn-redesign #masthead .menu-toggle-open,
body.tn-redesign #masthead .header-html,
body.tn-redesign #masthead .main-navigation .primary-menu-container > ul > li.menu-item > a {
	color: #fff !important;
}
body.tn-redesign #masthead .main-navigation .primary-menu-container > ul > li.menu-item > a {
	font-family: var(--tn-sans);
	font-size: clamp(0.625rem, 0.45rem + 0.3vw, 0.75rem);
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	white-space: nowrap;
	padding-left: 0.6em;
	padding-right: 0.6em;
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 0 1px;
	background-repeat: no-repeat;
	background-position: 0.6em calc(100% - 1.2em);
	transition: background-size 0.6s var(--tn-ease), opacity 0.3s;
}
@media (hover: hover) {
	body.tn-redesign #masthead .main-navigation .primary-menu-container > ul > li.menu-item > a:hover {
		background-size: calc(100% - 1.2em) 1px;
		opacity: 0.8;
	}
}
/* Rozbalovací podmenu zůstává čitelné na světlém podkladu */
body.tn-redesign #masthead .main-navigation ul ul a { color: var(--tn-fg) !important; }
body.tn-redesign #masthead .custom-logo { filter: brightness(0) invert(1); }

/* ---------- 6. Hero ---------- */
body.tn-redesign .tn-hero {
	min-height: calc(100vh - var(--tn-adminbar-h, 0px)) !important;
	min-height: calc(100svh - var(--tn-adminbar-h, 0px)) !important;
	margin-top: 0;
	align-items: flex-start;
	justify-content: flex-start;
	padding: calc(var(--tn-bar-h) + clamp(1rem, 0.5rem + 2vw, 3rem)) var(--tn-gutter) var(--tn-gutter);
	background: #070709;
}
body.tn-redesign .tn-hero .wp-block-cover__inner-container {
	max-width: none;
	width: 100%;
	margin: 0;
}
body.tn-redesign .tn-hero .wp-block-cover__background {
	opacity: 1 !important;
	/* silné ztmavení okolí obličeje + roh pro nadpis */
	background:
		linear-gradient(160deg, rgb(0 0 0 / 0.45) 0%, rgb(0 0 0 / 0) 40%),
		radial-gradient(ellipse 48% 88% at 50% 45%, rgb(0 0 0 / 0) 0%, rgb(0 0 0 / 0) 50%, rgb(0 0 0 / 0.4) 70%, rgb(0 0 0 / 0.82) 90%, rgb(0 0 0 / 0.92) 100%) !important;
}
body.tn-redesign .tn-hero-title {
	font-family: var(--tn-sans);
	font-size: clamp(4.55rem, 0.65rem + 11.7vw, 15.6rem) !important; /* +30 % */
	font-weight: 300;
	line-height: 0.84 !important;
	letter-spacing: -0.035em;
	text-transform: uppercase;
	text-align: left;
	color: #fff !important;
	text-shadow: none !important;
	margin: 0 0 clamp(1.25rem, 0.8rem + 1.5vw, 2.5rem) !important;
	animation: tn-rise 1.4s var(--tn-ease) 0.2s both;
}
body.tn-redesign .tn-hero-label {
	color: rgb(255 255 255 / 0.78) !important;
	text-align: left;
	text-shadow: none !important;
	margin: 0 !important;
	animation: tn-rise 1.4s var(--tn-ease) 0.5s both;
}
/* Ken Burns: místo svislého posunu jen pomalé oddálení – obličej zůstává celý */
body.tn-redesign .tn-hero .wp-block-cover__image-background {
	height: 100% !important;
	animation: tn-kb 24s var(--tn-ease) both !important;
	transform-origin: 50% 45%;
}
@keyframes tn-kb {
	from { transform: scale(1.08); }
	to   { transform: scale(1); }
}
/* Mobil na výšku: fotka přes celou výšku displeje, ořez na obličej */
@media (max-aspect-ratio: 4/5) {
	body.tn-redesign .tn-hero {
		min-height: calc(100vh - var(--tn-adminbar-h, 0px)) !important;
		min-height: calc(100svh - var(--tn-adminbar-h, 0px)) !important;
	}
	body.tn-redesign .tn-hero .wp-block-cover__background {
		background: linear-gradient(to bottom, rgb(0 0 0 / 0.6) 0%, rgb(0 0 0 / 0) 50%) !important;
	}
}

/* ---------- 7. Karty oborů (columns > cover) ---------- */
body.tn-redesign .entry-content > .wp-block-columns {
	gap: var(--tn-gap);
	padding-left: var(--tn-gutter);
	padding-right: var(--tn-gutter);
	margin-bottom: 0;
}
body.tn-redesign .tn-section-head + .wp-block-columns { margin-top: clamp(2rem, 1rem + 3vw, 4rem); }

body.tn-redesign :is(.wp-block-column, .tn-hscroll-track .wp-block-group__inner-container) > .wp-block-cover {
	min-height: 0 !important;
	aspect-ratio: 4 / 5;
	padding: 0;
	overflow: hidden;
	isolation: isolate; /* Safari: ořez při transformaci */
}
body.tn-redesign :is(.wp-block-column, .tn-hscroll-track .wp-block-group__inner-container) > .wp-block-cover .wp-block-cover__image-background {
	transform: scale(1.001);
	transition: transform 1.6s var(--tn-ease), filter 1.6s var(--tn-ease);
}
body.tn-redesign :is(.wp-block-column, .tn-hscroll-track .wp-block-group__inner-container) > .wp-block-cover .wp-block-cover__background {
	opacity: 1 !important;
	background: linear-gradient(to top, rgb(0 0 0 / 0.5) 0%, rgb(0 0 0 / 0) 45%) !important;
}
/* Vnitřek přes celou kartu = odkaz::after pokryje celou kartu */
body.tn-redesign :is(.wp-block-column, .tn-hscroll-track .wp-block-group__inner-container) > .wp-block-cover .wp-block-cover__inner-container {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	align-items: flex-end;
	width: auto;
	max-width: none;
	margin: 0;
	padding: clamp(1rem, 0.6rem + 1.4vw, 2rem);
}
body.tn-redesign :is(.wp-block-column, .tn-hscroll-track .wp-block-group__inner-container) > .wp-block-cover .wp-block-cover__inner-container > * { position: static; }
body.tn-redesign :is(.wp-block-column, .tn-hscroll-track .wp-block-group__inner-container) > .wp-block-cover p,
body.tn-redesign :is(.wp-block-column, .tn-hscroll-track .wp-block-group__inner-container) > .wp-block-cover a {
	font-family: var(--tn-sans);
	font-size: 1rem !important; /* přebíjí has-*-font-size */
	font-weight: 500;
	letter-spacing: var(--tn-track);
	text-transform: uppercase;
	text-align: left;
	line-height: 1.35 !important;
	text-shadow: none !important;
	margin: 0;
}
/* Celá karta klikatelná (odkaz v titulku roztažený přes kartu) */
body.tn-redesign :is(.wp-block-column, .tn-hscroll-track .wp-block-group__inner-container) > .wp-block-cover a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
}
body.tn-redesign :is(.wp-block-column, .tn-hscroll-track .wp-block-group__inner-container) > .wp-block-cover a {
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 0 1px;
	background-repeat: no-repeat;
	background-position: 0 100%;
	transition: background-size 0.6s var(--tn-ease);
}
@media (hover: hover) {
	body.tn-redesign :is(.wp-block-column, .tn-hscroll-track .wp-block-group__inner-container) > .wp-block-cover:hover .wp-block-cover__image-background {
		transform: scale(1.05);
	}
	body.tn-redesign :is(.wp-block-column, .tn-hscroll-track .wp-block-group__inner-container) > .wp-block-cover:hover a { background-size: 100% 1px; }
}

/* ---------- 8. Patička ---------- */
body.tn-redesign #colophon {
	margin-top: 0;
	background: var(--tn-dark);
	color: var(--tn-bg-alt);
}
body.tn-redesign #colophon .site-footer-row-container-inner { background: transparent; }
body.tn-redesign #colophon a {
	color: inherit;
	font-size: 0.75rem;
	font-weight: 400;
	letter-spacing: var(--tn-track);
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}
@media (hover: hover) {
	body.tn-redesign #colophon a:hover { color: var(--global-palette6, #aca79c); }
}

/* ---------- 9. Reveal animace (třídy přidává tn-motion.js) ---------- */
@keyframes tn-rise {
	from { opacity: 0; transform: translate3d(0, 0.4em, 0); }
	to   { opacity: 1; transform: none; }
}
body.tn-redesign .tn-reveal {
	opacity: 0;
	transform: translate3d(0, 2.5rem, 0);
	transition:
		opacity var(--tn-dur) var(--tn-ease) var(--tn-delay, 0s),
		transform var(--tn-dur) var(--tn-ease) var(--tn-delay, 0s);
}
body.tn-redesign .tn-reveal.is-in {
	opacity: 1;
	transform: none;
}
body.tn-redesign .tn-reveal.is-instant { transition: none; }

/* ---------- 10. Přístupnost: omezený pohyb ---------- */
@media (prefers-reduced-motion: reduce) {
	body.tn-redesign *,
	body.tn-redesign *::before,
	body.tn-redesign *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
	body.tn-redesign .tn-reveal { opacity: 1; transform: none; }
}

/* ---------- 11. Mobil ---------- */
@media (max-width: 781px) {
	body.tn-redesign .entry-content > .wp-block-columns { gap: var(--tn-gap); }
	body.tn-redesign .entry-content > .wp-block-columns + .wp-block-columns { margin-top: var(--tn-gap); }
	body.tn-redesign :is(.wp-block-column, .tn-hscroll-track .wp-block-group__inner-container) > .wp-block-cover { aspect-ratio: 4 / 4.6; }
}


/* ---------- 12. Sekce homepage (třídy v blocích) ---------- */
body.tn-redesign .entry-content > .tn-section {
	max-width: none;
	margin: 0;
	padding: var(--tn-section) var(--tn-gutter) 0;
}
body.tn-redesign .entry-content > .tn-section > * {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}
body.tn-redesign .tn-section .tn-label {
	color: var(--tn-fg-soft);
	margin: 0 0 clamp(1.25rem, 0.8rem + 1.5vw, 2.5rem);
}
body.tn-redesign .tn-section h2 { margin: 0; }

/* Úvodní statement */
body.tn-redesign .tn-statement {
	font-family: var(--tn-serif);
	font-size: var(--tn-h2) !important;
	font-weight: 300;
	line-height: 1.12;
	letter-spacing: -0.01em;
	max-width: 24ch;
	margin: 0;
	text-wrap: balance;
}

/* Hlavička sekce s linkou */
body.tn-redesign .entry-content > .tn-section-head > .tn-label {
	border-top: 1px solid var(--tn-line);
	padding-top: 1.25rem;
}

/* Odkaz-štítek s linkou */
body.tn-redesign .tn-link { margin-top: 2rem; }
body.tn-redesign .tn-link a {
	font-size: var(--tn-label);
	font-weight: 500;
	letter-spacing: var(--tn-track);
	text-transform: uppercase;
	text-decoration: none;
	color: inherit;
	white-space: nowrap;
	padding-bottom: 0.35em;
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 100% 1px;
	background-repeat: no-repeat;
	background-position: 0 100%;
	transition: background-size 0.6s var(--tn-ease), color 0.3s;
}
@media (hover: hover) {
	body.tn-redesign .tn-link a:hover { color: var(--tn-accent); background-size: 30% 1px; }
}

/* Autor: foto + text */
body.tn-redesign .entry-content > .wp-block-columns.tn-split {
	margin-top: var(--tn-section);
	align-items: center;
	gap: clamp(1.5rem, 1rem + 4vw, 6rem);
}
body.tn-redesign .tn-split .wp-block-image {
	margin: 0;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}
body.tn-redesign .tn-split .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body.tn-redesign .tn-split .wp-block-column:last-child > * { max-width: 34rem; }
body.tn-redesign .tn-split h2 { margin: 0 0 1.5rem; }
body.tn-redesign .tn-split p:not(.tn-label):not(.tn-link) { color: var(--tn-fg); margin: 0 0 1rem; }

/* Citát */
body.tn-redesign .entry-content > .tn-quote {
	max-width: none;
	margin: var(--tn-section) 0 0;
	padding: var(--tn-section) var(--tn-gutter);
	background: var(--tn-bg-alt);
	text-align: center;
}
body.tn-redesign .tn-quote-text {
	font-family: var(--tn-serif);
	font-size: clamp(1.75rem, 1rem + 3.2vw, 4.25rem) !important;
	font-weight: 300;
	line-height: 1.15;
	max-width: 24ch;
	margin: 0 auto 2rem !important;
	text-wrap: balance;
}
body.tn-redesign .tn-quote .tn-label { color: var(--tn-fg-soft); margin: 0; }

/* Vybrané realizace */
body.tn-redesign .tn-works .wp-block-image {
	margin: 0;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	isolation: isolate;
}
body.tn-redesign .tn-works .wp-block-image a { display: block; height: 100%; }
body.tn-redesign .tn-works .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.001);
	transition: transform 1.6s var(--tn-ease);
}
body.tn-redesign .tn-works h3 {
	font-size: var(--tn-h3);
	margin: 1.25rem 0 0.5rem;
}
body.tn-redesign .tn-works h3 a { color: inherit; text-decoration: none; }
body.tn-redesign .tn-works .tn-label { color: var(--tn-fg-soft); margin: 0; }
@media (hover: hover) {
	body.tn-redesign .tn-works .wp-block-column:hover img { transform: scale(1.05); }
	body.tn-redesign .tn-works .wp-block-column:hover h3 a { color: var(--tn-accent); }
}

/* Kontakt CTA */
body.tn-redesign .entry-content > .tn-cta {
	padding-bottom: var(--tn-section);
}
body.tn-redesign .tn-cta-link {
	font-family: var(--tn-sans);
	font-size: var(--tn-display) !important;
	font-weight: 300;
	line-height: 1 !important;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	margin: 0 0 clamp(2rem, 1rem + 3vw, 4rem) !important;
}
body.tn-redesign .tn-cta-link a {
	display: inline-block;
	color: inherit;
	text-decoration: none;
	padding-bottom: 0.08em;
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 100% 0.04em;
	background-repeat: no-repeat;
	background-position: 0 100%;
	transition: color 0.4s var(--tn-ease);
}
@media (hover: hover) {
	body.tn-redesign .tn-cta-link a:hover { color: var(--tn-accent); }
}
body.tn-redesign .tn-cta-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 2.5rem;
	margin: 0 !important;
}
body.tn-redesign .tn-cta-meta a {
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
}
@media (hover: hover) {
	body.tn-redesign .tn-cta-meta a:hover { color: var(--tn-accent); }
}

@media (max-width: 781px) {
	body.tn-redesign .entry-content > .wp-block-columns.tn-split,
	body.tn-redesign .entry-content > .wp-block-columns.tn-works { gap: clamp(2rem, 1rem + 4vw, 3rem); }
}


/* ---------- 13. Horizontální scroll (.tn-hscroll) ----------
   Mobil/tablet: nativní swipe se snapem. Desktop: sekce se připne a svislý scroll posouvá pás do strany. */
body.tn-redesign .entry-content > .tn-hscroll {
	max-width: none;
	margin: var(--tn-section) 0 0;
	padding: 0;
}
body.tn-redesign .tn-hscroll-head { padding: 0 var(--tn-gutter); margin: 0; }
body.tn-redesign .tn-hscroll-head .tn-label {
	color: var(--tn-fg-soft);
	border-top: 1px solid var(--tn-line);
	padding-top: 1.25rem;
	margin: 0 0 clamp(1.25rem, 0.8rem + 1.5vw, 2.5rem);
}
body.tn-redesign .tn-hscroll-head h2 { margin: 0; }
body.tn-redesign .tn-hscroll-track { margin: clamp(2rem, 1rem + 3vw, 4rem) 0 0; }
body.tn-redesign .tn-hscroll-track > .wp-block-group__inner-container {
	display: flex;
	gap: var(--tn-gap);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-padding-left: var(--tn-gutter);
	padding: 0 var(--tn-gutter);
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
body.tn-redesign .tn-hscroll-track > .wp-block-group__inner-container::-webkit-scrollbar { display: none; }
body.tn-redesign .tn-hscroll-track .wp-block-group__inner-container > .wp-block-cover {
	flex: 0 0 min(78vw, 26rem);
	margin: 0 !important;
	scroll-snap-align: start;
}

/* Desktop – připnutí (třídu is-pinned přidává tn-motion.js) */
body.tn-redesign .tn-hscroll.is-pinned .tn-hscroll-sticky {
	position: -webkit-sticky;
	position: sticky;
	top: var(--tn-sticky-top, 0px);
	height: calc(100vh - var(--tn-sticky-top, 0px));
	height: calc(100svh - var(--tn-sticky-top, 0px));
	overflow: hidden;
	display: flex;
	align-items: center;
}
body.tn-redesign .tn-hscroll.is-pinned .tn-hscroll-row {
	--tn-card-h: min(72vh, 46vw);
	--tn-card-h: min(72svh, 46vw);
	display: flex;
	align-items: flex-end;
	gap: clamp(2rem, 1rem + 3vw, 5rem);
	width: max-content;
	max-width: none;
	margin: 0;
	padding: 0 var(--tn-gutter);
	will-change: transform;
	backface-visibility: hidden;
}
body.tn-redesign .tn-hscroll.is-pinned .tn-hscroll-head {
	flex: 0 0 clamp(16rem, 24vw, 26rem);
	padding: 0;
}
body.tn-redesign .tn-hscroll.is-pinned .tn-hscroll-track { margin: 0; }
body.tn-redesign .tn-hscroll.is-pinned .tn-hscroll-track > .wp-block-group__inner-container {
	overflow: visible;
	scroll-snap-type: none;
	padding: 0;
}
body.tn-redesign .tn-hscroll.is-pinned .tn-hscroll-track .wp-block-group__inner-container > .wp-block-cover {
	flex: 0 0 auto;
	height: var(--tn-card-h);
	width: calc(var(--tn-card-h) * 0.8);
}


/* ---------- 14. Vlastní hlavička + hamburger menu ---------- */
body.tn-redesign { --tn-bar-h: clamp(4rem, 3rem + 2vw, 5.5rem); }
body.tn-redesign #masthead,
body.tn-redesign #colophon { display: none !important; }

body.tn-redesign .tn-bar {
	position: fixed;
	top: var(--tn-adminbar-h, 0px);
	left: 0;
	right: 0;
	z-index: 90;
	height: var(--tn-bar-h);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 var(--tn-gutter);
	color: var(--tn-fg);
	pointer-events: none;
}
body.tn-redesign .tn-bar > * { pointer-events: auto; }
body.tn-redesign .tn-bar-logo {
	font-family: var(--tn-sans);
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: inherit;
	text-decoration: none;
}
body.tn-redesign .tn-bar-brand {
	display: flex;
	align-items: baseline;
	gap: clamp(1rem, 0.5rem + 2vw, 2.5rem);
	min-width: 0;
}
body.tn-redesign .tn-bar-tagline {
	font-family: var(--tn-sans);
	font-size: var(--tn-label);
	font-weight: 500;
	letter-spacing: var(--tn-track);
	text-transform: uppercase;
	white-space: nowrap;
	opacity: 0.8;
}
/* Slogan: na desktopu v hlavičce, na úzkém mobilu (kde se v 16 px nevejde) v hero */
@media (max-width: 700px) {
	body.tn-redesign .tn-bar-tagline { display: none; }
	body.tn-redesign .tn-hero .tn-hero-label { order: -2; margin: 0 0 1rem !important; }
}
@media (min-width: 701px) {
	body.tn-redesign .tn-hero .tn-hero-label { display: none !important; }
}
body.tn-redesign .tn-burger {
	position: relative;
	width: 2.75rem;
	height: 2.75rem;
	margin-right: -0.6rem;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	cursor: pointer;
}
body.tn-redesign .tn-burger-line {
	position: absolute;
	left: 0.6rem;
	right: 0.6rem;
	height: 1px;
	background: currentColor;
	transition: transform 0.5s var(--tn-ease), top 0.5s var(--tn-ease);
}
body.tn-redesign .tn-burger-line:first-child { top: calc(50% - 4px); }
body.tn-redesign .tn-burger-line:last-child { top: calc(50% + 4px); }
html.tn-menu-open body.tn-redesign .tn-burger-line:first-child { top: 50%; transform: rotate(45deg); }
html.tn-menu-open body.tn-redesign .tn-burger-line:last-child { top: 50%; transform: rotate(-45deg); }
html.tn-menu-open body.tn-redesign .tn-bar { mix-blend-mode: normal; }
html.tn-menu-open { overflow: hidden; }

body.tn-redesign .tn-menu {
	position: fixed;
	inset: var(--tn-adminbar-h, 0px) 0 0 0;
	z-index: 80;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: calc(var(--tn-bar-h) + clamp(1rem, 0.5rem + 3vw, 4rem)) var(--tn-gutter) var(--tn-gutter);
	background: #121110;
	color: #f2eee6;
	overflow-y: auto;
	opacity: 0;
	clip-path: inset(0 0 100% 0);
	transition: clip-path 0.8s var(--tn-ease), opacity 0.4s var(--tn-ease);
}
body.tn-redesign .tn-menu.is-open { opacity: 1; clip-path: inset(0 0 0 0); }
body.tn-redesign .tn-menu ul { list-style: none; margin: 0; padding: 0; }
body.tn-redesign .tn-menu-list > li > a,
body.tn-redesign .tn-menu-toggle {
	display: inline-block;
	font-family: var(--tn-sans);
	font-size: clamp(2.25rem, 1rem + 5vw, 6rem);
	font-weight: 300;
	line-height: 1.05;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: inherit;
	text-decoration: none;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	transition: color 0.3s;
}
body.tn-redesign .tn-menu-toggle::after {
	content: "+";
	display: inline-block;
	margin-left: 0.3em;
	font-size: 0.5em;
	vertical-align: 0.6em;
	transition: transform 0.5s var(--tn-ease);
}
body.tn-redesign .tn-menu-toggle[aria-expanded="true"]::after { transform: rotate(45deg); }
body.tn-redesign .tn-menu-sub {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
	gap: 0.6rem 2rem;
	margin: 1rem 0 1.5rem !important;
	max-width: 60rem;
}
body.tn-redesign .tn-menu-sub a {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: var(--tn-track);
	text-transform: uppercase;
	color: rgb(242 238 230 / 0.75);
	text-decoration: none;
}
body.tn-redesign .tn-menu-foot {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 2.5rem;
	margin-top: 3rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgb(242 238 230 / 0.16);
}
body.tn-redesign .tn-menu-foot a {
	font-size: var(--tn-label);
	font-weight: 500;
	letter-spacing: var(--tn-track);
	text-transform: uppercase;
	color: rgb(242 238 230 / 0.7);
	text-decoration: none;
	white-space: nowrap;
}
@media (hover: hover) {
	body.tn-redesign .tn-menu-list > li > a:hover,
	body.tn-redesign .tn-menu-toggle:hover,
	body.tn-redesign .tn-menu-sub a:hover,
	body.tn-redesign .tn-menu-foot a:hover { color: var(--global-palette6, #aca79c); }
}

/* ---------- 15. Celá stránka jako pás panelů (.tn-site) ---------- */
body.tn-redesign .entry-content > .tn-site { margin: 0; padding: 0; max-width: none; }
body.tn-redesign .tn-site .tn-panel { margin: 0 !important; position: relative; max-width: none; }
body.tn-redesign .tn-site .wp-block-cover.tn-panel { min-height: 0 !important; }

/* Hero: úvodní text vlevo dole, výzva k posunu vpravo dole */
body.tn-redesign .tn-hero .wp-block-cover__inner-container { height: 100%; position: relative; }
body.tn-redesign .tn-hero-intro {
	position: absolute;
	left: 0;
	bottom: 0;
	max-width: 26rem;
	margin: 0 !important;
	font-size: 1rem !important;
	line-height: 1.6;
	color: rgb(255 255 255 / 0.78);
	text-shadow: none !important;
	text-align: left;
}
body.tn-redesign .tn-hero-scroll {
	position: absolute;
	right: 0;
	bottom: 0;
	margin: 0 !important;
	color: rgb(255 255 255 / 0.78) !important;
	text-shadow: none !important;
}
body.tn-redesign .tn-hero-scroll::before {
	content: "";
	display: inline-block;
	width: 0.6rem;
	height: 0.6rem;
	margin-right: 0.75rem;
	border-radius: 50%;
	background: currentColor;
	vertical-align: 0.05em;
	animation: tn-pulse 2.4s var(--tn-ease) infinite;
}
@keyframes tn-pulse { 50% { transform: translateX(0.4rem); } }

/* Obrazové panely oborů – velké slovo uprostřed */
body.tn-redesign .tn-panel--img { padding: 0; overflow: hidden; isolation: isolate; }
body.tn-redesign .tn-panel--img .wp-block-cover__background {
	opacity: 1 !important;
	background: rgb(0 0 0 / 0.38) !important;
	transition: background 0.8s var(--tn-ease);
}
body.tn-redesign .tn-panel--img .wp-block-cover__image-background {
	transform: scale(1.001);
	transition: transform 1.6s var(--tn-ease);
}
body.tn-redesign .tn-panel--img .wp-block-cover__inner-container {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: auto;
	max-width: none;
	margin: 0;
	padding: var(--tn-gutter);
	text-align: center;
}
body.tn-redesign .tn-panel--img .wp-block-cover__inner-container > * { position: static; }
body.tn-redesign .tn-panel-word {
	font-family: var(--tn-serif); /* Zodiak */
	font-size: clamp(3.5rem, 1rem + 8vw, 11rem) !important;
	font-weight: 300;
	line-height: 1 !important;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: #fff !important;
	text-shadow: none !important;
	margin: 0 !important;
}
body.tn-redesign .tn-panel-word a { color: inherit !important; text-decoration: none !important; text-shadow: none !important; }
body.tn-redesign .tn-panel-word a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
body.tn-redesign .tn-panel--img .tn-panel-num,
body.tn-redesign .tn-panel--img .tn-panel-name {
	position: absolute !important;
	left: 0;
	right: 0;
	margin: 0 !important;
	color: rgb(255 255 255 / 0.8) !important;
	text-shadow: none !important;
	text-align: center;
}
body.tn-redesign .tn-panel--img .tn-panel-num {
	top: calc(var(--tn-bar-h) - 0.25rem); /* pod hamburgerem */
	left: auto;
	right: var(--tn-gutter);
	text-align: right;
}
body.tn-redesign .tn-panel--img .tn-panel-name { bottom: var(--tn-gutter); padding: 0 var(--tn-gutter); }
@media (hover: hover) {
	body.tn-redesign .tn-panel--img:hover .wp-block-cover__image-background { transform: scale(1.05); }
	body.tn-redesign .tn-panel--img:hover .wp-block-cover__background { background: rgb(0 0 0 / 0.2) !important; }
}

/* Textový panel (příběh) */
body.tn-redesign .tn-panel--text,
body.tn-redesign .tn-panel--works,
body.tn-redesign .tn-panel--contact {
	padding: calc(var(--tn-bar-h) + clamp(1rem, 0.5rem + 2vw, 3rem)) var(--tn-gutter) var(--tn-gutter);
}
body.tn-redesign .tn-panel--text { background: var(--tn-bg); }
body.tn-redesign .tn-panel--text > .wp-block-group__inner-container,
body.tn-redesign .tn-panel--contact > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	gap: 3rem;
}
body.tn-redesign .tn-panel-title {
	font-family: var(--tn-sans) !important;
	font-size: clamp(2.75rem, 1rem + 5.2vw, 7rem) !important;
	font-weight: 300 !important;
	line-height: 0.92 !important;
	letter-spacing: -0.03em !important;
	text-transform: uppercase;
	margin: 0 !important;
}
body.tn-redesign .tn-panel--text .wp-block-columns { gap: clamp(1.5rem, 1rem + 3vw, 5rem); margin: 0; padding: 0; }
body.tn-redesign .tn-panel--text .wp-block-column > * { max-width: 26rem; }
body.tn-redesign .tn-panel--text .tn-label { color: var(--tn-fg-soft); margin: 0 0 1rem; border-top: 1px solid var(--tn-line); padding-top: 1rem; }
body.tn-redesign .tn-panel--text p:not(.tn-label):not(.tn-link) { font-size: 1.0625rem; margin: 0 0 1rem; }

/* Fotopanel */
body.tn-redesign .tn-panel--photo { padding: 0; overflow: hidden; }
body.tn-redesign .tn-panel--photo .wp-block-cover__background { opacity: 0 !important; }

/* Citát – tmavý */
body.tn-redesign .tn-panel--quote {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--tn-section) var(--tn-gutter);
	background: #121110;
	color: #f2eee6;
	text-align: center;
}
body.tn-redesign .tn-panel--quote .tn-label { color: rgb(242 238 230 / 0.6); margin: 0; }
body.tn-redesign .tn-panel--quote .tn-quote-text { margin: 0 auto 2rem !important; }

/* Realizace */
body.tn-redesign .tn-panel--works { background: var(--tn-bg); }
body.tn-redesign .tn-panel--works > .wp-block-group__inner-container {
	display: flex;
	align-items: flex-end;
	gap: clamp(1.5rem, 1rem + 3vw, 5rem);
	height: 100%;
}
body.tn-redesign .tn-works-title {
	flex: 0 0 auto;
	font-family: var(--tn-serif); /* Zodiak */
	font-size: clamp(3rem, 1rem + 6vw, 8rem) !important;
	font-weight: 300;
	letter-spacing: -0.01em;
	line-height: 0.8 !important;
	text-transform: uppercase;
	margin: 0 !important;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
}
body.tn-redesign .tn-panel--works .wp-block-columns.tn-works { flex: 1 1 auto; margin: 0; padding: 0; gap: var(--tn-gap); }

/* Kontakt – tmavý */
body.tn-redesign .tn-panel--contact { background: #121110; color: #f2eee6; }
body.tn-redesign .tn-panel--contact .tn-label { color: rgb(242 238 230 / 0.6); margin: 0 0 1rem; }
body.tn-redesign .tn-panel--contact .tn-cta-link { margin: 0 !important; }
body.tn-redesign .tn-panel--contact .wp-block-columns { margin: 0; padding: 0; gap: 2rem; border-top: 1px solid rgb(242 238 230 / 0.16); padding-top: 1.25rem; }
body.tn-redesign .tn-panel--contact .wp-block-column p { margin: 0 0 0.6rem; font-size: var(--tn-label); font-weight: 500; letter-spacing: var(--tn-track); text-transform: uppercase; }
body.tn-redesign .tn-panel--contact .wp-block-column p.tn-label { color: rgb(242 238 230 / 0.45); }
body.tn-redesign .tn-panel--contact a { color: inherit; text-decoration: none; }
@media (hover: hover) { body.tn-redesign .tn-panel--contact .wp-block-column a:hover { color: var(--global-palette6, #aca79c); } }

/* Desktop: připnutý pás panelů */
body.tn-redesign .tn-site.is-pinned { --tn-ph: calc(100vh - var(--tn-sticky-top, 0px)); --tn-ph: calc(100svh - var(--tn-sticky-top, 0px)); margin: 0; }
body.tn-redesign .tn-site.is-pinned .tn-hscroll-row {
	display: flex;
	align-items: stretch;
	gap: 0;
	padding: 0;
	height: 100%;
}
body.tn-redesign .tn-site.is-pinned .tn-panel { flex: 0 0 auto; height: var(--tn-ph) !important; min-height: 0 !important; }
body.tn-redesign .tn-site.is-pinned .tn-hero { width: 100vw; }
body.tn-redesign .tn-site.is-pinned .tn-panel--img { width: 100vw; } /* 1 obor = 1 obrazovka */
body.tn-redesign .tn-site.is-pinned .tn-panel--text { width: max(62vw, 50rem); }
body.tn-redesign .tn-site.is-pinned .tn-panel--photo { width: var(--tn-ph); } /* čtverec = celý portrét */
body.tn-redesign .tn-site.is-pinned .tn-panel--quote { width: max(60vw, 40rem); }
body.tn-redesign .tn-site.is-pinned .tn-panel--works { width: auto; min-width: max(105vw, 70rem); padding-right: calc(var(--tn-gutter) * 4); } /* min. původní šířka, roste s počtem realizací */
/* Realizace: fotky o polovinu menší */
body.tn-redesign .tn-site.is-pinned .tn-panel--works .wp-block-columns.tn-works { flex: 0 0 auto !important; flex-wrap: nowrap !important; }
body.tn-redesign .tn-site.is-pinned .tn-works > .wp-block-column {
	flex: 0 0 clamp(14rem, 15vw, 22rem) !important;
	width: clamp(14rem, 15vw, 22rem) !important;
}
body.tn-redesign .tn-site.is-pinned .tn-works h3 { font-size: clamp(1.125rem, 0.9rem + 0.5vw, 1.5rem) !important; }
body.tn-redesign .tn-site.is-pinned .tn-panel--contact { width: 100vw; }

/* Mobil / tablet: panely pod sebou */
body.tn-redesign .tn-site:not(.is-pinned) .tn-panel--img { min-height: calc(100svh - var(--tn-adminbar-h, 0px)) !important; }
body.tn-redesign .tn-site:not(.is-pinned) .tn-panel--photo { min-height: 0 !important; aspect-ratio: 1 / 1; }
body.tn-redesign .tn-site:not(.is-pinned) .tn-panel--text,
body.tn-redesign .tn-site:not(.is-pinned) .tn-panel--works,
body.tn-redesign .tn-site:not(.is-pinned) .tn-panel--contact { padding: var(--tn-section) var(--tn-gutter); }
body.tn-redesign .tn-site:not(.is-pinned) .tn-panel--works > .wp-block-group__inner-container { flex-direction: column; align-items: stretch; }
body.tn-redesign .tn-site:not(.is-pinned) .tn-works-title { writing-mode: horizontal-tb; transform: none; }
body.tn-redesign .tn-site:not(.is-pinned) .tn-hero-scroll { display: none; }
/* Mobil / tablet: úvodní fotka přes celou výšku displeje */
body.tn-redesign .tn-site:not(.is-pinned) .tn-hero {
	min-height: calc(100vh - var(--tn-adminbar-h, 0px)) !important;
	min-height: calc(100svh - var(--tn-adminbar-h, 0px)) !important;
}


/* Hero: úvodní text nad TARA / NOVA, obojí dole vlevo */
body.tn-redesign .tn-hero { align-items: flex-end !important; }
body.tn-redesign .tn-hero .wp-block-cover__inner-container { display: flex; flex-direction: column; justify-content: flex-end; }
body.tn-redesign .tn-hero .tn-hero-title { margin: 0 !important; }
body.tn-redesign .tn-hero .tn-hero-intro {
	order: -1;
	position: static;
	max-width: none;
	margin: 0 0 clamp(1.25rem, 0.8rem + 1.5vw, 2.5rem) !important;
	font-size: clamp(1rem, 0.9rem + 0.4vw, 1.25rem) !important;
	line-height: 1.5;
	color: rgb(255 255 255 / 0.85);
}


/* Larsson styl: druhý řádek velkého nadpisu patkový (Zodiak) */
body.tn-redesign .tn-serif {
	font-family: var(--tn-serif) !important;
	font-weight: 300 !important;
	letter-spacing: -0.01em;
}


/* Realizace – popisky jako Journal v template, fotky ČB → barva při hoveru */
body.tn-redesign .tn-works h3 {
	font-family: var(--tn-sans) !important;
	font-size: clamp(1.25rem, 0.9rem + 1vw, 2rem) !important;
	font-weight: 300 !important;
	line-height: 1.15 !important;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	margin: 1.25rem 0 0.6rem !important;
}
body.tn-redesign .tn-works .tn-label {
	font-family: var(--tn-serif) !important;
	font-size: 1.125rem !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--tn-fg) !important;
	display: inline-block;
	padding-bottom: 0.15em;
	border-bottom: 1px solid currentColor;
}
@media (hover: hover) {
	body.tn-redesign .tn-works .wp-block-image img {
		filter: grayscale(1);
		transition: transform 1.6s var(--tn-ease), filter 0.8s var(--tn-ease);
	}
	body.tn-redesign .tn-works .wp-block-column:hover img { filter: grayscale(0); }
	body.tn-redesign .tn-works .wp-block-column:hover h3 a { color: inherit; }
}


/* ---------- 16. Kurzor jako v template ---------- */
html.tn-has-cursor body.tn-redesign,
html.tn-has-cursor body.tn-redesign a,
html.tn-has-cursor body.tn-redesign button { cursor: none; }
body.tn-redesign .tn-cursor {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100000;
	pointer-events: none;
	mix-blend-mode: difference;
	opacity: 0;
	transition: opacity 0.3s;
	will-change: transform;
}
body.tn-redesign .tn-cursor.is-visible { opacity: 1; }
body.tn-redesign .tn-cursor::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 1.25rem;
	height: 1.25rem;
	margin: -0.625rem 0 0 -0.625rem;
	border-radius: 50%;
	background: #fff;
	transition: transform 0.5s var(--tn-ease), width 0.5s var(--tn-ease), height 0.5s var(--tn-ease), margin 0.5s var(--tn-ease), background-color 0.3s;
}
body.tn-redesign .tn-cursor.is-link::before { transform: scale(2); }
/* Nad fotkou: kruh jako černobílá „lupa“ – obraz pod ním bez barev */
body.tn-redesign .tn-cursor.is-big { mix-blend-mode: normal; }
body.tn-redesign .tn-cursor.is-big::before {
	width: 7rem;
	height: 7rem;
	margin: -3.5rem 0 0 -3.5rem;
	background: transparent;
	-webkit-backdrop-filter: grayscale(1) invert(1) blur(6px);
	backdrop-filter: grayscale(1) invert(1) blur(6px); /* ČB inverze + rozostření, bez obrysu */
}
body.tn-redesign .tn-cursor-label {
	position: absolute;
	left: 0;
	top: 0;
	transform: translate(-50%, -50%) scale(0.6);
	font-family: var(--tn-sans);
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: var(--tn-track);
	text-transform: uppercase;
	white-space: nowrap;
	color: #111;
	opacity: 0;
	transition: opacity 0.3s, transform 0.5s var(--tn-ease);
}
body.tn-redesign .tn-cursor.is-big .tn-cursor-label { opacity: 1; transform: translate(-50%, -50%) scale(1); }


/* ---------- 17. Podstránky – layout „journal single“ z template ---------- */
body.tn-sub .content-container.site-container { max-width: none; padding: 0; }
body.tn-sub .content-area { margin: 0; }
body.tn-sub .entry.single-entry { background: transparent; box-shadow: none; border-radius: 0; }
body.tn-sub .entry-content-wrap { padding: 0 !important; }
body.tn-sub .entry-content { margin: 0; }
body.tn-sub .entry-content > * { max-width: none; }

/* Fotka nahoře */
body.tn-sub .tn-art-hero {
	height: calc(78vh - var(--tn-adminbar-h, 0px));
	height: calc(78svh - var(--tn-adminbar-h, 0px));
	min-height: 22rem;
	margin: 0 !important;
	overflow: hidden;
	background: #121110;
}
body.tn-sub .tn-art-hero-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	animation: tn-kb 24s var(--tn-ease) both;
}

/* Šedý pás s názvem */
body.tn-sub .tn-art-head {
	margin: 0 !important;
	padding: clamp(2.5rem, 1.5rem + 4vw, 6rem) var(--tn-gutter);
	background: var(--tn-bg-alt);
}
body.tn-sub .tn-art-head .tn-label { color: var(--tn-fg-soft); margin: 0 0 1.25rem; }
body.tn-sub .tn-art-head .tn-label a { color: inherit; text-decoration: none; }
body.tn-sub .tn-art-title {
	font-family: var(--tn-sans) !important;
	font-size: clamp(2.5rem, 1rem + 5vw, 6.5rem) !important;
	font-weight: 300 !important;
	line-height: 0.95 !important;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	margin: 0 0 clamp(1.25rem, 0.8rem + 1.5vw, 2.5rem) !important;
	max-width: 22ch;
}
body.tn-sub .tn-art-intro p {
	max-width: 62rem;
	margin: 0;
	font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
	line-height: 1.6;
}

/* Obsah */
body.tn-sub .tn-art-body {
	margin: 0 !important;
	padding: clamp(3rem, 2rem + 4vw, 7rem) var(--tn-gutter);
}
body.tn-sub .tn-art-body > * { max-width: 62rem; margin-left: 0; margin-right: 0; }
body.tn-sub .tn-art-body > p { font-size: 1.0625rem; line-height: 1.7; margin: 0 0 1.25rem; }
body.tn-sub .tn-art-body > p:empty { display: none; }
body.tn-sub .tn-art-body h2,
body.tn-sub .tn-art-body h3 {
	font-family: var(--tn-sans) !important;
	font-size: clamp(1.375rem, 1rem + 1vw, 2.25rem) !important;
	font-weight: 300 !important;
	line-height: 1.15 !important;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	margin: clamp(2.5rem, 2rem + 2vw, 4rem) 0 1.25rem !important;
}
body.tn-sub .tn-art-body > .wp-block-columns,
body.tn-sub .tn-art-body > .wp-block-gallery,
body.tn-sub .tn-art-body > .wp-block-video,
body.tn-sub .tn-art-body > .wp-block-image,
body.tn-sub .tn-art-body > .wp-block-cover { max-width: none; margin-top: clamp(2.5rem, 2rem + 2vw, 4rem); margin-bottom: 0; }
body.tn-sub .tn-art-body > .wp-block-columns { padding: 0; gap: var(--tn-gap); }
body.tn-sub .tn-art-body .wp-block-video video { width: 100%; height: auto; display: block; }
body.tn-sub .tn-art-body .wp-block-video figcaption { text-align: left; font-size: 1rem; color: var(--tn-fg-soft); }

/* Galerie: čistá mřížka 3:2 */
body.tn-sub .tn-art-body .wp-block-gallery {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--tn-gap) !important;
}
@media (min-width: 1100px) {
	body.tn-sub .tn-art-body .wp-block-gallery.columns-3,
	body.tn-sub .tn-art-body .wp-block-gallery.columns-default { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
body.tn-sub .tn-art-body .wp-block-gallery > figure.wp-block-image {
	width: auto !important;
	margin: 0 !important;
	aspect-ratio: 3 / 2;
	overflow: hidden;
}
body.tn-sub .tn-art-body .wp-block-gallery > figure.wp-block-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform 1.6s var(--tn-ease);
}
@media (hover: hover) {
	body.tn-sub .tn-art-body .wp-block-gallery > figure.wp-block-image:hover img { transform: scale(1.04); }
	body.tn-sub .wp-block-column > .wp-block-cover .wp-block-cover__image-background { filter: grayscale(1); transition: transform 1.6s var(--tn-ease), filter 0.8s var(--tn-ease); }
	body.tn-sub .wp-block-column > .wp-block-cover:hover .wp-block-cover__image-background { filter: grayscale(0); }
}
@media (max-width: 600px) {
	body.tn-sub .tn-art-body .wp-block-gallery { grid-template-columns: minmax(0, 1fr); }
}

/* Autor (šedý pás) */
body.tn-sub .tn-art-author {
	margin: 0 !important;
	padding: clamp(2.5rem, 1.5rem + 3vw, 5rem) var(--tn-gutter);
	background: var(--tn-bg-alt);
}
body.tn-sub .tn-art-author-head { display: flex; align-items: center; gap: 1.25rem; margin-bottom: 1.5rem; }
body.tn-sub .tn-art-avatar { width: 4.5rem; height: 4.5rem; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
body.tn-sub .tn-art-author-name {
	font-family: var(--tn-sans);
	font-size: clamp(1.375rem, 1rem + 1vw, 2rem);
	font-weight: 300;
	text-transform: uppercase;
	line-height: 1.1;
	margin: 0 0 0.25rem;
}
body.tn-sub .tn-art-author .tn-label { color: var(--tn-fg-soft); margin: 0; }
body.tn-sub .tn-art-author > p:not(.tn-link) { max-width: 62rem; font-size: 1.0625rem; margin: 0 0 1rem; }

/* Další realizace */
body.tn-sub .tn-art-related { margin: 0 !important; padding: clamp(3rem, 2rem + 4vw, 7rem) var(--tn-gutter); }
body.tn-sub .tn-art-related-word {
	font-family: var(--tn-serif);
	font-size: clamp(5rem, 1rem + 17vw, 20rem);
	font-weight: 300;
	line-height: 0.8;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	margin: 0 0 clamp(1.5rem, 1rem + 2vw, 3rem);
	white-space: nowrap;
}
body.tn-sub .tn-art-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--tn-gap); }
body.tn-sub .tn-card { display: block; color: inherit; text-decoration: none; }
body.tn-sub .tn-card-img { display: block; aspect-ratio: 4 / 5; overflow: hidden; }
body.tn-sub .tn-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 1.6s var(--tn-ease), filter 0.8s var(--tn-ease);
}
body.tn-sub .tn-card-title {
	display: block;
	margin-top: 1rem;
	font-family: var(--tn-sans);
	font-size: clamp(1.125rem, 0.9rem + 0.6vw, 1.625rem);
	font-weight: 300;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	line-height: 1.2;
}
@media (hover: hover) {
	body.tn-sub .tn-card-img img { filter: grayscale(1); }
	body.tn-sub .tn-card:hover .tn-card-img img { filter: grayscale(0); transform: scale(1.04); }
}
@media (max-width: 600px) { body.tn-sub .tn-art-cards { grid-template-columns: minmax(0, 1fr); } }

/* Kontakt na podstránkách */
body.tn-sub .tn-sub-contact { margin: 0 !important; min-height: 85vh; min-height: 85svh; }
body.tn-sub .tn-sub-contact > .wp-block-group__inner-container { min-height: calc(85svh - var(--tn-bar-h) - 6rem); }
body.tn-sub .tn-sub-contact .wp-block-columns { display: flex; flex-wrap: wrap; }
body.tn-sub .tn-sub-contact .wp-block-column { flex: 1 1 14rem; }

/* Autor: portrét v hero zobrazit celý */
body.tn-sub--author .tn-art-hero { height: auto; min-height: 0; aspect-ratio: auto; display: flex; justify-content: center; }
body.tn-sub--author .tn-art-hero-img { width: auto; max-width: 100%; height: calc(78svh - var(--tn-adminbar-h, 0px)); object-fit: contain; animation: none; }


body.tn-sub .tn-art-body > .wp-block-video { max-width: 62rem; }
body.tn-sub .tn-art-body .wp-block-video video { max-height: 80vh; background: #121110; }
/* Autor: malý portrét v obsahu je už nahoře velký */
body.tn-sub--author .tn-art-body .wp-block-image:has(img.wp-image-414) { display: none; }
/* Podstránky: texty vždy zarovnané vlevo jako v template */
body.tn-sub .tn-art-intro p,
body.tn-sub .tn-art-body > p,
body.tn-sub .tn-art-body > h2,
body.tn-sub .tn-art-body > h3,
body.tn-sub .tn-art-body .wp-block-column > p { text-align: left !important; }


/* ---------- 18. Podstránky – desktop rozvržení jako „The Art of Design“ ---------- */
body.tn-sub .tn-art-head-foot { margin-top: clamp(1.25rem, 0.8rem + 1.5vw, 2.5rem); }
body.tn-sub .tn-art-more {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: 1.75rem;
	font-family: var(--tn-serif);
	font-size: 1.125rem;
	color: inherit;
	text-decoration: none;
}
body.tn-sub .tn-art-more-ico {
	position: relative;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--tn-fg);
	transition: transform 0.5s var(--tn-ease);
}
body.tn-sub .tn-art-more-ico::before,
body.tn-sub .tn-art-more-ico::after {
	content: "";
	position: absolute;
	left: 50%;
	background: var(--tn-bg);
}
body.tn-sub .tn-art-more-ico::before { top: 28%; width: 1px; height: 44%; transform: translateX(-50%); }
body.tn-sub .tn-art-more-ico::after {
	top: 52%;
	width: 0.4rem;
	height: 0.4rem;
	background: none;
	border-right: 1px solid var(--tn-bg);
	border-bottom: 1px solid var(--tn-bg);
	transform: translate(-50%, -50%) rotate(45deg);
}
@media (hover: hover) { body.tn-sub .tn-art-more:hover .tn-art-more-ico { transform: translateY(0.25rem); } }
html { scroll-behavior: smooth; }

body.tn-sub .tn-card-more {
	display: inline-block;
	margin-top: 0.4rem;
	font-family: var(--tn-serif);
	font-size: 1.0625rem;
	border-bottom: 1px solid currentColor;
	padding-bottom: 0.1em;
}
body.tn-sub .tn-art-related-word { white-space: normal; font-size: clamp(3.5rem, 1rem + 8vw, 12rem); text-align: center; }
body.tn-sub .tn-art-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.tn-sub .tn-card-img { aspect-ratio: 2 / 3; }
@media (max-width: 900px) { body.tn-sub .tn-art-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { body.tn-sub .tn-art-cards { grid-template-columns: minmax(0, 1fr); } }

@media (min-width: 1024px) {
	body.tn-sub { --tn-split: 50%; }
	body.tn-sub .tn-art-top {
		display: grid;
		grid-template-columns: 1fr 1fr;
		min-height: calc(100vh - var(--tn-adminbar-h, 0px));
		min-height: calc(100svh - var(--tn-adminbar-h, 0px));
	}
	body.tn-sub .tn-art-top--noimg { grid-template-columns: 1fr; min-height: 0; }
	body.tn-sub .tn-art-top .tn-art-hero { height: auto; min-height: 0; }
	body.tn-sub .tn-art-top .tn-art-head {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		background: var(--tn-bg);
		padding: calc(var(--tn-bar-h) + clamp(1.5rem, 1rem + 2vw, 3.5rem)) var(--tn-gutter) clamp(2rem, 1rem + 3vw, 4.5rem) clamp(2rem, 1rem + 3vw, 5rem);
	}
	body.tn-sub .tn-art-top .tn-art-title { font-size: clamp(2.75rem, 1rem + 3.2vw, 5.5rem) !important; max-width: 14ch; }
	body.tn-sub .tn-art-top .tn-art-intro p { max-width: 34rem; font-size: 1.0625rem; }

	/* obsah a autor v pravém sloupci */
	body.tn-sub .tn-art-body { padding-left: calc(var(--tn-split) + clamp(2rem, 1rem + 3vw, 5rem)); }
	body.tn-sub .tn-art-body > * { max-width: 40rem; }
	body.tn-sub .tn-art-body > .wp-block-columns,
	body.tn-sub .tn-art-body > .wp-block-gallery,
	body.tn-sub .tn-art-body > .wp-block-video,
	body.tn-sub .tn-art-body > .wp-block-image,
	body.tn-sub .tn-art-body > .wp-block-cover { max-width: none; }
	body.tn-sub .tn-art-author { margin-left: var(--tn-split) !important; padding-left: clamp(2rem, 1rem + 3vw, 5rem); }
	body.tn-sub .tn-art-author > p:not(.tn-link) { max-width: 34rem; }

	/* Autor: portrét vlevo celý */
	body.tn-sub--author .tn-art-top .tn-art-hero { display: block; }
	body.tn-sub--author .tn-art-top .tn-art-hero-img { width: 100%; height: 100%; object-fit: cover; }
}


/* Hlavička nad úvodní fotkou podstránky: bílé logo a slogan, bez inverze */
body.tn-sub .tn-bar.is-over-photo { mix-blend-mode: normal; color: #fff; }
body.tn-sub .tn-bar.is-over-photo .tn-bar-brand { color: #fff; text-shadow: 0 1px 12px rgb(0 0 0 / 0.25); }
@media (min-width: 1024px) {
	/* vpravo je světlý pás – hamburger tmavý */
	body.tn-sub .tn-bar.is-over-photo .tn-burger { color: var(--tn-fg); }
}

/* Nadpis podstránky: Zodiak část vždy na novém řádku */
body.tn-sub .tn-art-title .tn-serif { display: block; }


/* Hlavička: barvy podle podkladu (JS), plynulý přechod */
body.tn-redesign .tn-bar-brand,
body.tn-redesign .tn-burger { color: var(--tn-fg); transition: color 0.35s var(--tn-ease); }
body.tn-redesign .tn-bar.is-logo-light .tn-bar-brand { color: #fff; }
body.tn-redesign .tn-bar.is-burger-light .tn-burger { color: #fff; }
html.tn-menu-open body.tn-redesign .tn-bar .tn-bar-brand,
html.tn-menu-open body.tn-redesign .tn-bar .tn-burger { color: #f2eee6 !important; }
body.tn-sub .tn-bar.is-over-photo { color: inherit; }
body.tn-sub .tn-bar.is-over-photo .tn-bar-brand { text-shadow: none; }

/* ---------- 19. Obor jako pás panelů (layout „work“) ---------- */
body.tn-sub--category .tn-cat { margin: 0 !important; }
body.tn-sub--category .tn-cat .tn-panel { position: relative; overflow: hidden; margin: 0; }
body.tn-sub--category .tn-cat-hero { background: #121110; display: flex; align-items: center; justify-content: center; }
body.tn-sub--category .tn-cat-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* úvodní fotka oboru bez nápisu – bez ztmavení */
body.tn-sub--category .tn-cat-hero-title {
	position: relative;
	z-index: 1;
	margin: 0 !important;
	padding: 0 var(--tn-gutter);
	text-align: center;
	color: #fff !important;
	font-family: var(--tn-sans) !important;
	font-size: clamp(3rem, 1rem + 5vw, 7.5rem) !important;
	font-weight: 300 !important;
	line-height: 0.95 !important;
	letter-spacing: -0.02em;
	text-transform: uppercase;
}
body.tn-sub--category .tn-cat-hero-title .tn-serif { display: block; }
body.tn-sub--category .tn-cat-hero-label {
	position: absolute;
	z-index: 1;
	left: 0;
	right: 0;
	bottom: var(--tn-gutter);
	margin: 0;
	text-align: center;
	color: rgb(255 255 255 / 0.8);
}

body.tn-sub--category .tn-cat-text {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 2.5rem;
	background: var(--tn-bg);
	padding: calc(var(--tn-bar-h) + clamp(1rem, 0.5rem + 2vw, 3rem)) clamp(2rem, 1rem + 3vw, 5rem) clamp(2rem, 1rem + 3vw, 4.5rem);
}
body.tn-sub--category .tn-cat-text .tn-label { color: var(--tn-fg-soft); margin: 0 0 1.25rem; }
body.tn-sub--category .tn-cat-h {
	font-family: var(--tn-sans) !important;
	font-size: clamp(2.5rem, 1rem + 3.4vw, 5.5rem) !important;
	font-weight: 300 !important;
	line-height: 0.95 !important;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	margin: 0 !important;
}
body.tn-sub--category .tn-cat-h a { color: inherit; text-decoration: none; }
body.tn-sub--category .tn-cat-h .tn-serif { display: block; }
body.tn-sub--category .tn-cat-lead { margin-bottom: clamp(1.5rem, 1rem + 1.5vw, 2.5rem); }
body.tn-sub--category .tn-cat-lead p {
	margin: 0;
	max-width: 40ch;
	font-family: var(--tn-sans);
	font-size: clamp(1.25rem, 1rem + 0.6vw, 1.625rem) !important;
	font-weight: 300;
	line-height: 1.2;
	text-align: left !important;
}
body.tn-sub--category .tn-cat-cols {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem clamp(1.5rem, 1rem + 2vw, 3.5rem);
}
body.tn-sub--category .tn-cat-cols p { margin: 0; font-size: 1rem; line-height: 1.65; text-align: left !important; }
body.tn-sub--category .tn-cat-bottom .tn-link { margin-top: 1.75rem; }

body.tn-sub--category .tn-cat-img { display: block; background: #121110; }
body.tn-sub--category .tn-cat-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s var(--tn-ease); }
@media (hover: hover) { body.tn-sub--category a.tn-cat-img:hover img { transform: scale(1.04); } }
body.tn-sub--category .tn-cat-video { background: #121110; display: flex; align-items: center; justify-content: center; }
body.tn-sub--category .tn-cat-video video { width: 100%; height: 100%; object-fit: cover; display: block; }
body.tn-sub--category .tn-cat-video { cursor: pointer; }
body.tn-sub--category .tn-cat-video::after { content: ""; position: absolute; inset: 0; background: rgb(0 0 0 / 0.15); pointer-events: none; transition: opacity 0.6s var(--tn-ease); }
body.tn-sub--category .tn-cat-video.is-playing::after { opacity: 0; }
body.tn-sub--category .tn-play {
	position: absolute;
	z-index: 2;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	padding: 0;
	border: 0;
	background: none;
	color: #fff;
	cursor: pointer;
	transition: opacity 0.5s var(--tn-ease);
}
body.tn-sub--category .tn-play-ico {
	position: relative;
	width: clamp(5rem, 3rem + 4vw, 7.5rem);
	height: clamp(5rem, 3rem + 4vw, 7.5rem);
	border-radius: 50%;
	background: rgb(255 255 255 / 0.92);
	transition: transform 0.6s var(--tn-ease);
}
body.tn-sub--category .tn-play-ico::after {
	content: "";
	position: absolute;
	left: 54%;
	top: 50%;
	transform: translate(-50%, -50%);
	border-style: solid;
	border-width: 0.7rem 0 0.7rem 1.15rem;
	border-color: transparent transparent transparent #121110;
}
body.tn-sub--category .tn-play-label {
	font-family: var(--tn-sans);
	font-size: var(--tn-label);
	font-weight: 500;
	letter-spacing: var(--tn-track);
	text-transform: uppercase;
}
@media (hover: hover) { body.tn-sub--category .tn-cat-video:hover .tn-play-ico { transform: scale(1.06); } }
body.tn-sub--category .tn-cat-video.is-playing { cursor: auto; }
html.tn-has-cursor body.tn-sub--category .tn-cat-video.is-playing,
html.tn-has-cursor body.tn-sub--category .tn-cat-video.is-playing * { cursor: auto; }
body.tn-sub--category .tn-cat-video.is-playing .tn-play { opacity: 0; pointer-events: none; }

/* desktop – připnutý pás */
body.tn-sub--category .tn-cat.is-pinned .tn-cat-hero { width: calc(var(--tn-ph) * 1.15); }
body.tn-sub--category .tn-cat.is-pinned .tn-cat-text { width: max(52vw, 46rem); }
body.tn-sub--category .tn-cat.is-pinned .tn-cat-text--intro { width: max(62vw, 52rem); }
body.tn-sub--category .tn-cat.is-pinned .tn-cat-img { width: calc(var(--tn-ph) * 0.8); }
body.tn-sub--category .tn-cat.is-pinned figure.tn-cat-img { width: calc(var(--tn-ph) * 1.2); }
body.tn-sub--category .tn-cat.is-pinned .tn-cat-video { width: 100vw; } /* video přes celou plochu */

/* mobil / tablet – pod sebou */
body.tn-sub--category .tn-cat:not(.is-pinned) .tn-cat-hero { min-height: calc(100svh - var(--tn-adminbar-h, 0px)); }
body.tn-sub--category .tn-cat:not(.is-pinned) .tn-cat-text { padding: var(--tn-section) var(--tn-gutter); }
body.tn-sub--category .tn-cat:not(.is-pinned) .tn-cat-img { aspect-ratio: 4 / 5; }
body.tn-sub--category .tn-cat:not(.is-pinned) figure.tn-cat-img { aspect-ratio: 3 / 2; }
body.tn-sub--category .tn-cat:not(.is-pinned) .tn-cat-video { aspect-ratio: 16 / 9; }
@media (max-width: 700px) { body.tn-sub--category .tn-cat-cols { grid-template-columns: minmax(0, 1fr); } }
body.tn-sub--category .tn-cat .tn-sub-contact { min-height: 0; }

/* Odznak v admin baru */
#wpadminbar .tn-redesign-badge > .ab-item { background: #876b45 !important; color: #fff !important; }

/* 20. Kategorie: vizuální panely se nikdy nedotýkají (galerie bez podstránek) */
body.tn-sub--category .tn-cat.is-pinned .tn-cat-img + .tn-cat-img,
body.tn-sub--category .tn-cat.is-pinned .tn-cat-video + .tn-cat-img,
body.tn-sub--category .tn-cat.is-pinned .tn-cat-img + .tn-cat-video { margin-left: clamp(1.5rem, 3vw, 3.5rem); }
body.tn-sub--category .tn-cat:not(.is-pinned) .tn-cat-img + .tn-cat-img,
body.tn-sub--category .tn-cat:not(.is-pinned) .tn-cat-video + .tn-cat-img { margin-top: 1rem; }

/* 21. Obor: hlavní nadpis bílý ve fotce vlevo dole, velikost jako „Pojďme tvořit“ */
body.tn-sub--category .tn-cat-hero { align-items: flex-end; justify-content: flex-start; }
body.tn-sub--category .tn-cat-hero::after { content: ""; position: absolute; inset: 45% 0 0 0; background: linear-gradient(to top, rgb(0 0 0 / 0.42), rgb(0 0 0 / 0)); pointer-events: none; }
body.tn-sub--category .tn-cat-hero .tn-cat-hero-title {
	z-index: 2;
	padding: 0 var(--tn-gutter) clamp(2rem, 1rem + 3vw, 4.5rem);
	text-align: left;
	font-size: var(--tn-display) !important;
	line-height: 1 !important;
	letter-spacing: -0.03em;
}
body.tn-sub--category .tn-cat.is-pinned .tn-cat-hero .tn-cat-hero-title { white-space: nowrap; }
body.tn-sub--category .tn-cat.is-pinned .tn-cat-hero { min-width: max-content; }
body.tn-sub--category .tn-cat.is-pinned .tn-cat-text--intro .tn-cat-top { margin-bottom: auto; }

/* 22. Obor: odkaz „Vybrané realizace →“ v pravém dolním rohu úvodního panelu */
body.tn-sub--category .tn-cat-text--intro { position: relative; }
body.tn-sub--category .tn-cat-more {
	position: absolute;
	right: clamp(2rem, 1rem + 3vw, 5rem);
	bottom: clamp(2rem, 1rem + 3vw, 4.5rem);
	margin: 0 !important;
	font-size: var(--tn-label) !important;
	font-weight: 500;
	letter-spacing: var(--tn-track);
	text-transform: uppercase;
	white-space: nowrap;
}
body.tn-sub--category .tn-cat-more a { display: inline-flex; align-items: center; gap: 0.75em; color: inherit; text-decoration: none; }
body.tn-sub--category .tn-cat-more-arrow { display: inline-block; font-size: 1.5em; line-height: 1; transition: transform 0.5s var(--tn-ease); }
@media (hover: hover) { body.tn-sub--category .tn-cat-more a:hover .tn-cat-more-arrow { transform: translateX(0.4em); } }
body.tn-sub--category .tn-cat-text--intro .tn-cat-bottom { padding-bottom: 2.5rem; }
body.tn-sub--category .tn-cat:not(.is-pinned) .tn-cat-more { position: static; align-self: flex-end; }
body.tn-sub--category .tn-cat:not(.is-pinned) .tn-cat-text--intro .tn-cat-bottom { padding-bottom: 0; }

/* 23. Obor: nadpis ve fotce nahoře ve stejné výšce jako „Pojďme tvořit“ */
body.tn-sub--category .tn-cat-hero { align-items: flex-start; }
body.tn-sub--category .tn-cat-hero::after { inset: 0 0 45% 0; background: linear-gradient(to bottom, rgb(0 0 0 / 0.42), rgb(0 0 0 / 0)); }
body.tn-sub--category .tn-cat-hero .tn-cat-hero-title {
	padding: calc(var(--tn-bar-h) + clamp(1rem, 0.5rem + 2vw, 3rem) + 1.375rem + 1rem) var(--tn-gutter) 0;
}


/* 24. Obor: nadpis ve fotce = přesně typografie „Pojďme tvořit“ */
body.tn-sub--category .tn-cat-hero .tn-cat-hero-title {
	font-family: var(--tn-sans) !important;
	font-size: var(--tn-display) !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	letter-spacing: -0.03em;
}

/* 25. Obor: úvodní fotka černobíle */
body.tn-sub--category .tn-cat-hero-img { filter: grayscale(1); }

/* 26. Obor: nadpis otočený o 90° jako „Realizace“ na úvodu (stejná velikost), bílý, bez inverze */
body.tn-sub--category .tn-cat.is-pinned .tn-cat-hero { min-width: 0; }
body.tn-sub--category .tn-cat.is-pinned .tn-cat-hero::after { inset: 0 55% 0 0; background: linear-gradient(to right, rgb(0 0 0 / 0.42), rgb(0 0 0 / 0)); }
body.tn-sub--category .tn-cat.is-pinned .tn-cat-hero .tn-cat-hero-title {
	position: absolute;
	z-index: 2;
	left: var(--tn-gutter);
	top: calc(var(--tn-bar-h) + 1rem);
	bottom: var(--tn-gutter);
	padding: 0 !important;
	font-size: clamp(3rem, 1rem + 6vw, 8rem) !important;
	line-height: 0.8 !important;
	letter-spacing: -0.01em;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	text-align: start;
	white-space: normal;
	color: #fff !important;
	mix-blend-mode: normal;
}
body.tn-sub--category .tn-cat.is-pinned .tn-cat-hero .tn-cat-hero-title .tn-serif { display: inline; }

/* 27. Obor: otočený nadpis – 1. řádek Zodiak, 2. řádek (od předložky/spojky) Satoshi a menší */
body.tn-sub--category .tn-cat-hero .tn-cat-hero-title { font-family: var(--tn-serif) !important; }
body.tn-sub--category .tn-cat-hero .tn-cat-hero-title .tn-serif {
	display: block;
	font-family: var(--tn-sans) !important;
	font-size: 0.5em;
	line-height: 1;
	letter-spacing: -0.02em;
}
body.tn-sub--category .tn-cat.is-pinned .tn-cat-hero .tn-cat-hero-title { white-space: nowrap; }
body.tn-sub--category .tn-cat.is-pinned .tn-cat-hero .tn-cat-hero-title .tn-serif { display: block; margin-block-start: 0.2em; }

/* 28. Obor: bez úvodní fotky – otočený nadpis na světlém pozadí, panel široký jen podle nadpisu */
body.tn-sub--category .tn-cat-hero { background: var(--tn-bg) !important; }
body.tn-sub--category .tn-cat-hero::after { display: none !important; }
body.tn-sub--category .tn-cat-hero .tn-cat-hero-title { color: var(--tn-fg) !important; }
body.tn-sub--category .tn-cat.is-pinned .tn-cat-hero {
	width: auto;
	min-width: 0;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	padding: calc(var(--tn-bar-h) + 1rem) 0 var(--tn-gutter) var(--tn-gutter);
}
body.tn-sub--category .tn-cat.is-pinned .tn-cat-hero .tn-cat-hero-title { position: relative; left: auto; top: auto; bottom: auto; }
body.tn-sub--category .tn-cat:not(.is-pinned) .tn-cat-hero { min-height: 0; display: block; padding: calc(var(--tn-bar-h) + 2rem) var(--tn-gutter) 0; }
body.tn-sub--category .tn-cat:not(.is-pinned) .tn-cat-hero .tn-cat-hero-title { position: static; padding: 0 !important; }
body.tn-sub--category .tn-cat.is-pinned .tn-cat-hero .tn-cat-hero-title,
body.tn-sub--category .tn-cat .tn-cat-hero .tn-cat-hero-title { color: var(--tn-fg) !important; }

/* 29. Realizace: „Moje další práce“ – menší, Satoshi, vlevo */
body.tn-sub .tn-art-related .tn-art-related-word {
	font-family: var(--tn-sans);
	font-size: clamp(2.5rem, 1rem + 3.4vw, 5.5rem);
	font-weight: 300;
	line-height: 0.95;
	letter-spacing: -0.02em;
	text-align: left;
	white-space: normal;
}

/* 30. Typografie: bez osamocených slov na konci odstavců a nadpisů */
body.tn-redesign p, body.tn-redesign li, body.tn-redesign figcaption { text-wrap: pretty; }
body.tn-redesign h1, body.tn-redesign h2, body.tn-redesign h3 { text-wrap: balance; }

/* 31. Patička: podpis „Webdesign by Soulistka“ v pravém rohu (stejně jako okzaluzie.cz) */
body.tn-redesign .tn-panel--contact .tn-credit {
	margin: 1.25rem 0 0 !important;
	text-align: right;
	font-family: var(--tn-sans);
	font-size: var(--tn-label) !important;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: rgb(242 238 230 / 0.6);
}
body.tn-redesign .tn-panel--contact .tn-credit-author { color: var(--tn-accent); text-decoration: none; transition: color 0.3s var(--tn-ease); }
@media (hover: hover) { body.tn-redesign .tn-panel--contact .tn-credit-author:hover { color: #f2eee6; } }
/* 31b. Podpis vlevo */
body.tn-redesign .tn-panel--contact .tn-credit { text-align: left; }
/* 31c. Podpis v 1. sloupci dole – na účaří posledního řádku 2. sloupce */
body.tn-redesign .tn-panel--contact .wp-block-columns { align-items: stretch !important; }
body.tn-redesign .tn-panel--contact .wp-block-column:first-child { display: flex; flex-direction: column; }
body.tn-redesign .tn-panel--contact .wp-block-column .tn-credit { margin: auto 0 0.6rem !important; line-height: inherit; }
body.tn-redesign .tn-panel--contact .wp-block-column p.tn-credit { text-transform: none; letter-spacing: 0; color: rgb(242 238 230 / 0.6); }
body.tn-redesign .tn-panel--contact .wp-block-column p.tn-credit .tn-credit-author { color: var(--tn-accent); }
/* 31d. Podpis ve 3. sloupci dole; větší mezera mezi 2. a 3. sloupcem */
body.tn-redesign .tn-panel--contact .wp-block-column:first-child { display: block; }
body.tn-redesign .tn-panel--contact .wp-block-column:nth-child(3) { display: flex; flex-direction: column; }
@media (min-width: 782px) { body.tn-redesign .tn-panel--contact .wp-block-column:nth-child(3) { margin-left: clamp(2rem, 1rem + 4vw, 6rem); } }
@media (min-width: 782px) { body.tn-redesign .tn-panel--contact .wp-block-column:nth-child(2) { flex: 1.5 1 20rem; } }

/* 32. Úvod: „Posuňte doprava →“ – šipka jako u „Vybrané realizace“, jemně pulzuje */
body.tn-redesign .tn-hero-scroll::after { content: "→"; display: inline-block; margin-left: 0.6em; font-size: 1.4em; line-height: 0; vertical-align: -0.08em; animation: tn-nudge 2.4s var(--tn-ease) infinite; }
@keyframes tn-nudge { 0%, 60%, 100% { transform: translateX(0); } 30% { transform: translateX(0.35em); } }
@media (prefers-reduced-motion: reduce) { body.tn-redesign .tn-hero-scroll::after { animation: none; } }

/* 33. Mobil/tablet: lišta po odscrollování se světlým pozadím (text nepodjíždí pod logo a menu) */
@media (max-width: 1023px) {
	body.tn-redesign .tn-bar { transition: background-color 0.35s var(--tn-ease); }
	body.tn-redesign .tn-bar.is-solid {
		background-color: rgb(248 246 241 / 0.94);
		background-color: color-mix(in srgb, var(--tn-bg) 94%, transparent);
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
		color: var(--tn-fg);
	}
	html.tn-menu-open body.tn-redesign .tn-bar.is-solid { background-color: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
}

/* 34. Kadence „boxed“ článek má na mobilu záporné okraje (-16 px) → obsah lepil na kraj displeje */
body.tn-redesign article.entry { margin-left: 0 !important; margin-right: 0 !important; box-shadow: none !important; }

/* 35. Úvod – Realizace: panel roste s počtem karet (všechny karty se dají doscrollovat) */
body.tn-redesign .tn-site.is-pinned .tn-panel--works { width: max-content; }
body.tn-redesign .tn-site.is-pinned .tn-panel--works > .wp-block-group__inner-container,
body.tn-redesign .tn-site.is-pinned .tn-panel--works .wp-block-columns.tn-works { width: max-content !important; max-width: none !important; }

/* 36. Titulky k videu (vlastní vrstva, Satoshi, bílé) */
body.tn-redesign .tn-subs {
	position: absolute;
	z-index: 3;
	left: 50%;
	bottom: clamp(2rem, 1rem + 5vh, 5rem);
	transform: translateX(-50%);
	width: max-content;
	max-width: min(86%, 52rem);
	margin: 0;
	text-align: center;
	color: #fff;
	font-family: var(--tn-sans);
	font-size: clamp(1rem, 0.85rem + 0.6vw, 1.5rem);
	font-weight: 500;
	line-height: 1.35;
	text-shadow: 0 0 2px rgb(0 0 0 / 0.9), 0 1px 14px rgb(0 0 0 / 0.65);
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.4s var(--tn-ease);
}
body.tn-redesign .tn-cat-video.is-playing .tn-subs { opacity: 1; }
body.tn-redesign .tn-subs:empty { display: none; }

/* 37. Stránka 404 v novém vzhledu */
body.tn-404-page .tn-404-top {
	background: var(--tn-bg);
	min-height: 75vh;
	min-height: 75svh;
	padding: calc(var(--tn-bar-h) + clamp(3rem, 2rem + 6vh, 7rem)) var(--tn-gutter) clamp(4rem, 3rem + 6vh, 8rem);
}
body.tn-404-page .tn-404-top .tn-label { color: var(--tn-fg-soft); margin: 0 0 1.25rem; }
body.tn-404-page .tn-404-h {
	font-family: var(--tn-sans) !important;
	font-size: var(--tn-display) !important;
	font-weight: 300 !important;
	line-height: 0.95 !important;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	margin: 0 0 clamp(1.5rem, 1rem + 2vw, 3rem) !important;
}
body.tn-404-page .tn-404-h .tn-serif { display: block; }
body.tn-404-page .tn-404-text { max-width: 38rem; font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem); line-height: 1.55; margin: 0 0 1.5rem; }
body.tn-404-page .tn-404-list { list-style: none; margin: 0 0 clamp(2rem, 1.5rem + 2vw, 3.5rem); padding: 0; }
body.tn-404-page .tn-404-list a { display: inline-block; padding: 0.3rem 0; font-size: var(--tn-label); font-weight: 500; letter-spacing: var(--tn-track); text-transform: uppercase; color: var(--tn-fg); text-decoration: none; transition: color 0.3s var(--tn-ease); }
@media (hover: hover) { body.tn-404-page .tn-404-list a:hover { color: var(--tn-accent); } }
body.tn-404-page .tn-404-home { margin: 0; font-size: var(--tn-label); font-weight: 500; letter-spacing: var(--tn-track); text-transform: uppercase; }
body.tn-404-page .tn-404-home a { display: inline-flex; align-items: center; gap: 0.75em; color: var(--tn-fg); text-decoration: none; }
body.tn-404-page .tn-404-home .tn-cat-more-arrow { font-size: 1.5em; line-height: 1; transition: transform 0.5s var(--tn-ease); }
@media (hover: hover) { body.tn-404-page .tn-404-home a:hover .tn-cat-more-arrow { transform: translateX(0.4em); } }
body.tn-404-page .tn-sub-contact { min-height: 0; }

/* 38. Patička – přepínač jazyka CZ | EN (oddělený blok, aktivní jazyk zvýrazněný) */
body.tn-redesign .tn-panel--contact .wp-block-column:first-child { display: flex; flex-direction: column; }
body.tn-redesign .tn-panel--contact .tn-lang { margin: auto 0 calc(0.6rem + 7.4px); padding-top: 1.5rem; /* spodní hrana = účaří posledního řádku 2. sloupce */ }
body.tn-redesign .tn-lang-pill { display: inline-flex; padding: 4px; gap: 4px; border: 1px solid rgb(242 238 230 / 0.35); border-radius: 999px; }
body.tn-redesign .tn-panel--contact .tn-lang-opt { display: inline-flex; align-items: center; justify-content: center; min-width: 3.5rem; padding: 0.55rem 1.1rem; border-radius: 999px; font-size: 16px; font-weight: 500; letter-spacing: var(--tn-track); line-height: 1; white-space: nowrap; color: #f2eee6; transition: background-color 0.3s var(--tn-ease), color 0.3s var(--tn-ease); }
body.tn-redesign .tn-panel--contact .tn-lang-opt.is-current { background: #f2eee6; color: #121110; pointer-events: none; }
@media (hover: hover) { body.tn-redesign .tn-panel--contact .tn-lang-opt:not(.is-current):hover { background: rgb(242 238 230 / 0.12); color: #f2eee6; } }
body.tn-redesign .tn-panel--contact .tn-lang-opt:focus-visible { outline: 2px solid var(--tn-accent); outline-offset: 2px; }

/* 39. Mobil / tablet: slova v nadpisech se nikdy nedělí (velikost dorovná JS podle nejdelšího slova) */
@media (max-width: 1023px) {
	body.tn-redesign .entry-content :is(h1, h2, h3),
	body.tn-redesign :is(.tn-cat-hero-title, .tn-cta-link, .tn-404-h) { overflow-wrap: normal !important; word-break: normal !important; -webkit-hyphens: manual !important; hyphens: manual !important; }
}

/* 40. Moje další práce: větší mezera mezi kartami (je jasné, co k čemu patří) */
body.tn-sub .tn-art-cards { row-gap: clamp(3.5rem, 2.5rem + 4vw, 5rem); }

/* 41. Mobil: slogan „Autorská tvorba z přírodních materiálů“ nahoře, hned pod logem */
@media (max-width: 700px) {
	body.tn-redesign .tn-hero .wp-block-cover__inner-container { position: static; }
	body.tn-redesign .tn-hero .wp-block-cover__inner-container > * { position: relative; z-index: 1; }
	body.tn-redesign .tn-hero .tn-hero-label {
		position: absolute;
		z-index: 2;
		top: calc(var(--tn-bar-h) / 2 + 1.3rem);
		left: var(--tn-gutter);
		right: var(--tn-gutter);
		margin: 0 !important;
	}
}

/* 42. Mobil / tablet: obory (skupiny výrobků) se při scrollu překrývají – další panel najede přes předchozí */
@media (max-width: 1023px) {
	body.tn-redesign .tn-site:not(.is-pinned) .tn-hero,
	body.tn-redesign .tn-site:not(.is-pinned) .tn-panel--img { position: sticky !important; top: 0; }
	body.tn-redesign .tn-site:not(.is-pinned) .tn-panel--img,
	body.tn-redesign .tn-site:not(.is-pinned) .tn-panel--text { box-shadow: 0 -1.5rem 3rem rgb(0 0 0 / 0.35); }
}

/* 43. Mobil – detail realizace: mezi fotkami a videi všude stejná tenká mezera (jako mezi fotkami ve sloupcích) */
@media (max-width: 781px) {
	body.tn-sub .tn-art-body > :is(figure, .wp-block-image, .wp-block-video, .wp-block-gallery, .wp-block-columns:has(img, video)) + :is(figure, .wp-block-image, .wp-block-video, .wp-block-gallery, .wp-block-columns:has(img, video)),
	body.tn-sub .tn-art-body > :is(figure, .wp-block-image, .wp-block-video, .wp-block-gallery, .wp-block-columns:has(img, video)) + .wp-block-spacer + :is(figure, .wp-block-image, .wp-block-video, .wp-block-gallery, .wp-block-columns:has(img, video)) { margin-top: 12px !important; }
	body.tn-sub .tn-art-body > :is(figure, .wp-block-image, .wp-block-video, .wp-block-gallery, .wp-block-columns:has(img, video)) + .wp-block-spacer:has(+ :is(figure, .wp-block-image, .wp-block-video, .wp-block-gallery, .wp-block-columns:has(img, video))) { display: none; }
	body.tn-sub .tn-art-body figure { margin-bottom: 0; }
}

/* 44. Patička – Facebook a Instagram s ikonou */
body.tn-redesign .tn-panel--contact .tn-social { white-space: nowrap; }
body.tn-redesign .tn-panel--contact .tn-social-ico { display: inline-block; width: 1.2em; height: 1.2em; margin-right: 0.6em; vertical-align: -0.22em; }

/* 45. Mobil – Vybrané realizace: karty se při scrollu překrývají (další najede přes předchozí, pod lištou) */
@media (max-width: 781px) {
	body.tn-redesign .tn-site:not(.is-pinned) .tn-works { row-gap: 0 !important; }
	body.tn-redesign .tn-site:not(.is-pinned) .tn-works > .wp-block-column {
		position: sticky;
		top: calc(var(--tn-adminbar-h, 0px) + var(--tn-bar-h));
		background: var(--tn-bg, #faf8f3);
		padding: 1.25rem 0 1.5rem;
	}
}

/* 46. Mobil – portrét se při scrollu otevře, citát se rozsvěcuje slovo po slově (řízeno JS) */
@media (max-width: 1023px) {
	body.tn-redesign .tn-site:not(.is-pinned) .tn-panel--photo { overflow: hidden; }
	body.tn-redesign .tn-site:not(.is-pinned) .tn-panel--photo .wp-block-cover__image-background { will-change: clip-path, transform; }
	body.tn-redesign .tn-qw { transition: opacity 0.25s linear; }
}

/* 47. Mobil – Moje další práce: karty se při scrollu překrývají (stejně jako Vybrané realizace) */
@media (max-width: 600px) {
	body.tn-sub .tn-art-cards { row-gap: 0 !important; }
	body.tn-sub .tn-art-cards > .tn-card {
		position: sticky;
		top: calc(var(--tn-adminbar-h, 0px) + var(--tn-bar-h));
		background: var(--tn-bg, #faf8f3);
		padding: 1.25rem 0 2rem;
	}
}
