/* =========================================================
   Dakop — Typography
   Editorial serif headings (Cormorant) + clean sans body (Inter).
   ========================================================= */

@media (min-width: 641px) and (max-width: 1024px) {
	html {
		font-size: 17.5px;
	}
}

body {
	font-family: var(--ff-body);
	font-size: clamp(15px, 1vw + 12px, 17px);
	line-height: 1.65;
	color: var(--c-text);
	background: var(--c-bg);
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 {
	font-family: var(--ff-heading);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: -.01em;
	color: var(--c-text);
	margin: 0;
}

.h1, h1, .page-hero__title, .hero__title {
	font-size: clamp(2.6rem, 6vw + 1rem, 6.4rem);
	letter-spacing: -.02em;
	line-height: 1.02;
}

.h2, h2, .section-header__title {
	font-size: clamp(2rem, 3vw + 1rem, 3.6rem);
	line-height: 1.1;
	letter-spacing: -.015em;
}

.h3, h3 {
	font-size: clamp(1.5rem, 1.6vw + 1rem, 2.2rem);
	line-height: 1.2;
}

.h4, h4 {
	font-size: clamp(1.2rem, .8vw + 1rem, 1.5rem);
}

p, li, dd { color: var(--c-text); }

p { margin: 0 0 1.1em; }
p:last-child { margin-bottom: 0; }

a { transition: color .25s ease, opacity .25s ease; }

strong, b { font-weight: 600; }
em, i { font-style: italic; }

small, .small { font-size: .88em; color: var(--c-text-muted); }

.lead {
	font-size: clamp(1.1rem, .8vw + .95rem, 1.4rem);
	color: var(--c-text-muted);
	line-height: 1.6;
}

blockquote {
	margin: 0;
	padding-left: 1.25rem;
	border-left: 1px solid var(--c-accent);
	font-family: var(--ff-heading);
	font-style: italic;
	font-size: 1.4rem;
	color: var(--c-text);
}

code, kbd, pre, samp {
	font-family: var(--ff-mono);
	font-size: .9em;
}

code {
	background: var(--c-bg-alt);
	padding: .15em .45em;
	border-radius: 2px;
}

pre {
	background: var(--c-bg-alt);
	padding: 1.25rem;
	overflow: auto;
	border: 1px solid var(--c-border);
}

/* ── Prose — editorial blok pro stránky a články ─────────── */
.prose {
	font-size: 1.08rem;
	line-height: 1.85;
	text-wrap: pretty;
}
.prose > * + * { margin-top: 1.35em; }
.prose h2 { margin-top: 2.5em; margin-bottom: .6em; }
.prose h3 { margin-top: 2em; margin-bottom: .5em; }
.prose p { color: var(--c-text); text-wrap: pretty; }
.prose strong { color: var(--c-text); font-weight: 600; }
.prose a {
	color: var(--c-text);
	text-decoration: underline;
	text-decoration-color: var(--c-accent);
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}
.prose a:hover { color: var(--c-accent); text-decoration-color: var(--c-accent); }
.prose img, .prose figure { margin: 2em 0; }
.prose figcaption {
	color: rgba(255, 255, 255, 0.72) !important;
	font-size: .84rem !important;
	margin-top: .75rem !important;
	font-family: var(--ff-mono) !important;
	letter-spacing: .03em !important;
	line-height: 1.5 !important;
	text-align: center !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
}
.prose ul, .prose ol { padding-left: 1.5em; }
.prose li { margin-bottom: .4em; }
.prose ul li::marker { color: var(--c-accent); }
.prose hr {
	margin: 3em 0;
	height: 1px;
	background: var(--c-border);
}

/* ── Prose editorial — premium doplňky ───────────────────── */

/* Drop cap na první odstavec */
.prose--editorial > p:first-of-type::first-letter {
	font-family: var(--ff-heading);
	font-size: 4.2rem;
	line-height: .8;
	float: left;
	margin: .12em .18em 0 0;
	color: var(--c-accent);
	font-weight: 400;
}

/* První odstavec větší (lead) */
.prose--editorial > p:first-of-type {
	font-size: 1.18rem;
	line-height: 1.75;
	color: var(--c-text);
}

/* Pull quote — používej <blockquote class="pullquote"> nebo WP Blockquote */
.prose--editorial .pullquote,
.prose--editorial blockquote {
	position: relative;
	margin: 2.5em 0;
	padding: 2rem 2rem 2rem 3rem;
	border: none;
	background: var(--c-bg-alt);
	border-left: 3px solid var(--c-accent);
	font-family: var(--ff-heading);
	font-size: clamp(1.3rem, 2vw, 1.7rem);
	font-style: italic;
	line-height: 1.4;
	color: var(--c-text);
}
.prose--editorial .pullquote::before,
.prose--editorial blockquote::before {
	content: '\201C';
	position: absolute;
	top: .4rem;
	left: .9rem;
	font-size: 3rem;
	line-height: 1;
	color: var(--c-accent);
	font-family: var(--ff-heading);
	opacity: .6;
}

/* Obrázky v prose — zaoblené rohy, jemný shadow */
.prose--editorial img {
	border-radius: var(--radius, 0);
	box-shadow: 0 8px 40px rgba(0,0,0,.4);
	width: 100%;
	height: auto;
	display: block;
}

/* EXIF Info Badge pod fotkou */
.exif-badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: .6rem !important;
	background: rgba(22, 22, 22, 0.85) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	padding: .35rem .95rem !important;
	border-radius: 100px !important;
	font-family: var(--ff-mono) !important;
	font-size: .75rem !important;
	letter-spacing: .08em !important;
	color: rgba(255, 255, 255, 0.78) !important;
	margin-top: .65rem !important;
	box-shadow: 0 4px 14px rgba(0,0,0,.35) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
}
.exif-badge svg, .exif-badge span.dot {
	color: var(--c-accent) !important;
}

/* Callout Box pro tipy, zákulisí, postřehy */
.prose-callout {
	background: var(--c-bg-alt);
	border-left: 3px solid var(--c-accent);
	padding: 1.5rem 1.75rem;
	margin: 2.5rem 0;
	border-radius: 0 4px 4px 0;
}
.prose-callout__title {
	font-family: var(--ff-mono);
	font-size: .8rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--c-accent);
	margin-bottom: .5rem;
	display: block;
}
.prose-callout p:last-child {
	margin-bottom: 0;
}

/* Gutenberg columns (dvojice fotek vedle sebe) */
.prose .wp-block-columns {
	display: flex;
	gap: 1.5rem;
	margin: 2.5rem 0;
}
.prose .wp-block-column {
	flex: 1;
	min-width: 0;
}
@media (max-width: 640px) {
	.prose .wp-block-columns {
		flex-direction: column;
	}
}

/* ── Kicker ──────────────────────────────────────────────── */
.kicker {
	display: inline-flex;
	align-items: center;
	gap: .65rem;
	font-family: var(--ff-mono);
	font-size: .78rem;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--c-text-muted);
	margin-bottom: 1rem;
}
.kicker__dot {
	width: 6px;
	height: 6px;
	background: var(--c-accent);
	display: inline-block;
	border-radius: 50%;
}

/* ── Editorial display ───────────────────────────────────── */
.display {
	font-family: var(--ff-heading);
	font-weight: 400;
	font-size: clamp(3rem, 8vw, 8rem);
	line-height: 1;
	letter-spacing: -.03em;
}
