/* Typical content pages (page.php: legal pages, seasonal info pages).
   Own type pair (Newsreader + Work Sans) and palette, deliberately scoped
   to this template only — the homepage and listing page keep their own
   design language. Ported from the "Hlavicka podstranky" reference
   (claude.ai/design). */

.zb-tp-body {
	margin: 0;
	background: #f5f1e9;
	font-family: 'Work Sans', -apple-system, sans-serif;
	color: #1f2420;
}
.zb-tp-body a {
	color: #a97a2e;
	text-decoration: none;
}
.zb-tp-body a:hover {
	color: #8a6224;
	text-decoration: underline;
}

.zb-tp-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background: rgba(245, 241, 233, 0.92);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(31, 36, 32, 0.1);
}
.zb-tp-header-inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 20px;
	height: 74px;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 16px;
}
.zb-tp-back {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #5b6058;
}
.zb-tp-back:hover {
	color: #1a1f1b;
}
.zb-tp-back-arrow {
	font-size: 15px;
	line-height: 1;
}
.zb-tp-logo {
	display: flex;
	align-items: center;
	justify-self: center;
}
.zb-tp-logo img {
	height: 30px;
	width: auto;
	display: block;
}
.zb-tp-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
}
.zb-tp-contact {
	font-size: 13px;
	color: #5b6058;
	white-space: nowrap;
}
.zb-tp-contact:hover {
	color: #1a1f1b;
}

.zb-tp-wrap {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 20px;
}
.zb-tp-intro {
	max-width: 720px;
	margin: 0 auto;
	padding: 48px 0 26px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.zb-tp-breadcrumb {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 12px;
	color: #a89f92;
}
.zb-tp-breadcrumb a {
	color: #a89f92;
}
.zb-tp-breadcrumb a:hover {
	color: #5b6058;
}
.zb-tp-breadcrumb-current {
	color: #5b6058;
}
.zb-tp-title {
	font-family: 'Newsreader', serif;
	font-weight: 500;
	font-size: clamp(28px, 4.2vw, 40px);
	line-height: 1.16;
	margin: 0;
	color: #1a1f1b;
	letter-spacing: -0.015em;
}
.zb-tp-meta {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 13px;
	color: #8b8378;
	border-top: 1px solid rgba(31, 36, 32, 0.1);
	margin-top: 4px;
	padding-top: 14px;
}
.zb-tp-meta-sep {
	width: 1px;
	height: 12px;
	background: rgba(31, 36, 32, 0.18);
}

.zb-tp-content {
	max-width: 720px;
	margin: 0 auto;
	padding: 0 0 90px;
	font-size: 15px;
	line-height: 1.75;
	color: #4b514a;
}
.zb-tp-content h3 {
	font-family: 'Newsreader', serif;
	font-weight: 500;
	font-size: 22px;
	color: #1a1f1b;
	margin: 30px 0 4px;
}
.zb-tp-content h3:first-child {
	margin-top: 0;
}
.zb-tp-content p {
	margin: 0 0 14px;
}
.zb-tp-content ul {
	margin: 0 0 14px;
	padding-left: 20px;
}
.zb-tp-content li {
	margin-bottom: 8px;
}

/* Same 1240px boxing as .zb-shell (assets/css/home.css) so the shared
   footer renders at an identical width here as on the homepage — without
   this, the footer that used to sit inside the old page.php's own
   max-width:1240px wrapper went full-bleed the moment that wrapper was
   replaced by this template's own (unconstrained) shell. */
.zb-tp-shell {
	max-width: 1240px;
	margin: 0 auto;
}

@media (min-width: 640px) {
	.zb-tp-header-inner,
	.zb-tp-wrap {
		padding-left: 40px;
		padding-right: 40px;
	}
}
