/* =========================================================
   LPL – styly motivu (front-end i editor)
   ========================================================= */

:root {
	--lpl-red: var(--wp--preset--color--cervena, #c8102e);
	--lpl-black: var(--wp--preset--color--cerna, #000);
	--lpl-white: var(--wp--preset--color--bila, #fff);
	--lpl-line: var(--wp--preset--color--seda, #d9d9d9);
	--lpl-muted: var(--wp--preset--color--tmave-seda, #5c5c5c);
	--lpl-display: var(--wp--preset--font-family--balto, "Franklin Gothic Medium", "Arial Black", Arial, sans-serif);
	--lpl-text: var(--wp--preset--font-family--bitter, Georgia, serif);
}

/* Bez mezer mezi hlavičkou, obsahem a patičkou i mezi sekcemi. */
body .wp-site-blocks > * { margin-block: 0; }
.lpl-main .wp-block-post-content > .lpl-section { margin-block: 0; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ---------- Sekce ---------- */
.lpl-section { padding-block: var(--wp--preset--spacing--60); }
.lpl-page { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); }
.lpl-center { text-align: center; }
.wp-block-buttons.lpl-center { justify-content: center; }

/* ---------- Štítky (nadpisy sekcí) ---------- */
.is-style-lpl-stamp-light,
.is-style-lpl-stamp-dark {
	width: fit-content;
	max-width: 100%;
	padding: 0.14em 0.32em 0.1em;
	transform: rotate(-2deg);
	transform-origin: left center;
}
h2.is-style-lpl-stamp-light,
h2.is-style-lpl-stamp-dark { font-size: clamp(1.9rem, 5.5vw, 3.25rem); }
.is-style-lpl-stamp-light { background: var(--lpl-white); color: var(--lpl-black); }
.is-style-lpl-stamp-dark { background: var(--lpl-black); color: var(--lpl-white); }
.lpl-center > .is-style-lpl-stamp-light,
.lpl-center > .is-style-lpl-stamp-dark { margin-inline: auto; transform-origin: center; }
.lpl-section .is-style-lpl-stamp-light + *,
.lpl-section .is-style-lpl-stamp-dark + * { margin-block-start: var(--wp--preset--spacing--50); }

.is-style-lpl-label {
	width: fit-content;
	max-width: 20ch;
	padding: 0.45em 0.6em;
	background: var(--lpl-white);
	color: var(--lpl-black);
	font-family: var(--lpl-display);
	font-weight: 900;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.1;
	text-transform: uppercase;
	transform: rotate(-1.5deg);
}

.is-style-lpl-badge {
	display: inline-block;
	padding: 0.4em 0.65em 0.35em;
	background: var(--lpl-black);
	color: var(--lpl-white);
	font-family: var(--lpl-display);
	font-weight: 900;
	font-size: 0.6875rem;
	line-height: 1;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/* ---------- Hlavička ---------- */
.lpl-header { padding-block: 0.9rem; }
.lpl-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.lpl-header .lpl-header__inner > * { margin-block: 0; }
.lpl-logo {
	font-family: var(--lpl-display);
	font-weight: 900;
	font-size: 1rem;
	line-height: 1.05;
	text-transform: uppercase;
}
.lpl-logo a {
	display: inline-block;
	padding: 0.35em 0.5em 0.3em;
	background: var(--lpl-black);
	color: var(--lpl-white);
	text-decoration: none;
	transform: rotate(-4deg);
}
.lpl-nav .wp-block-navigation__container { gap: clamp(1rem, 5vw, 4rem); }
.lpl-nav a { text-decoration: none; }
.lpl-nav a:hover { text-decoration: underline; text-decoration-thickness: 0.12em; text-underline-offset: 0.12em; }

/* ---------- Úvod ---------- */
.lpl-hero { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); overflow: hidden; }
.lpl-hero__photo { position: relative; z-index: 1; max-width: min(340px, 70%); margin: 0 0 0 8%; }
.lpl-hero__photo img {
	display: block;
	width: 100%;
	height: auto;
	/* Fotka je rastrovaná a má bílý obrys už v souboru (průhledné pozadí). */
}
.lpl-hero .lpl-hero__photo + .lpl-title-wrap { margin-block-start: -4.5rem; }

.lpl-title-wrap { position: relative; z-index: 2; transform: rotate(-3deg); transform-origin: left center; }
.lpl-title {
	display: inline;
	margin: 0;
	padding: 0.02em 0.2em;
	background: var(--lpl-black);
	color: var(--lpl-white);
	line-height: 1.22;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.lpl-hero .lpl-hero__label { position: relative; z-index: 3; margin: -0.4rem 0 0 auto; }

.lpl-hero .lpl-compare { margin-block-start: var(--wp--preset--spacing--50); align-items: flex-end; gap: 2rem; }
.lpl-compare .wp-block-column > * { margin-block: 0; }
.lpl-kicker {
	margin-block-end: 0.4rem;
	font-family: var(--lpl-display);
	font-weight: 900;
	font-size: 0.6875rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.lpl-compare .lpl-kicker { margin-block-end: 0.4rem; }
.lpl-number {
	font-family: var(--lpl-display);
	font-weight: 900;
	font-size: clamp(1.75rem, 4.6vw, 2.75rem);
	line-height: 1;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.lpl-number--struck s {
	text-decoration: none;
	background: linear-gradient(currentColor, currentColor) no-repeat 0 55% / 100% 0.12em;
}
@media (prefers-reduced-motion: no-preference) {
	.lpl-number--struck s { animation: lpl-strike 0.55s 0.5s cubic-bezier(0.6, 0, 0.3, 1) both; }
	@keyframes lpl-strike { from { background-size: 0 0.12em; } }
}
.lpl-number--boxed {
	display: inline-block;
	padding: 0.14em 0.3em 0.1em;
	background: var(--lpl-black);
	color: var(--lpl-white);
	border: 3px solid var(--lpl-white);
}
.lpl-compare .lpl-source { margin-block-start: 0.5rem; font-size: 0.75rem; line-height: 1.45; }
.lpl-hero .wp-block-buttons { margin-block-start: var(--wp--preset--spacing--50); }

/* ---------- Karty tvrzení ---------- */
.lpl-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr));
	gap: 1.5rem;
	align-items: start;
}
.lpl-section .lpl-cards > * { margin-block: 0; }
.is-style-lpl-card {
	position: relative;
	padding: 2.75rem 1.25rem 1.35rem;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}
.is-style-lpl-card > * { margin-block: 0; }
.is-style-lpl-card > * + * { margin-block-start: 0.35rem; }
.is-style-lpl-card > .is-style-lpl-badge { position: absolute; top: 0.85rem; right: 0.85rem; margin: 0; transform: rotate(2deg); }
.lpl-card__kicker {
	color: var(--lpl-red);
	font-family: var(--lpl-display);
	font-weight: 900;
	font-size: 0.6875rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.is-style-lpl-card > .lpl-card__kicker--reality { margin-block-start: 1rem; color: inherit; }
.lpl-card__quote { font-weight: 700; font-style: italic; font-size: var(--wp--preset--font-size--medium); line-height: 1.35; }
.lpl-card__source {
	font-family: var(--lpl-display);
	font-weight: 900;
	font-size: 0.625rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/* ---------- Panely, graf a tabulka ---------- */
.is-style-lpl-panel {
	padding: clamp(1rem, 3vw, 2rem);
	border: 3px solid var(--lpl-black);
	box-shadow: 8px 8px 0 var(--lpl-black);
}
.lpl-section .is-style-lpl-panel + .is-style-lpl-panel { margin-block-start: 2rem; }

.lpl-chart__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
	font-family: var(--lpl-display);
	font-weight: 900;
	font-size: 0.6875rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.lpl-chart__legend i {
	display: inline-block;
	width: 0.95em;
	height: 0.95em;
	margin-right: 0.45em;
	border: 2px solid var(--lpl-black);
	vertical-align: -0.15em;
}
.lpl-chart__legend .is-rent i { background: var(--lpl-black); }
.lpl-chart__legend .is-services i { background: var(--lpl-white); }
.lpl-chart svg { display: block; width: 100%; height: auto; overflow: visible; }
.lpl-chart .lpl-grid line { stroke: var(--lpl-line); stroke-width: 1; }
.lpl-chart .lpl-axis text { fill: var(--lpl-muted); font-family: var(--lpl-text); font-size: 12px; font-weight: 600; }
.lpl-chart .lpl-axis .lpl-year { fill: var(--lpl-black); font-weight: 700; }
.lpl-chart .lpl-bar-rent { fill: var(--lpl-black); }
.lpl-chart .lpl-bar-services { fill: var(--lpl-white); stroke: var(--lpl-black); stroke-width: 2; }
.lpl-chart .lpl-limit line { stroke: var(--lpl-red); stroke-width: 3; stroke-dasharray: 9 6; }
.lpl-chart .lpl-limit rect { fill: var(--lpl-red); }
.lpl-chart .lpl-limit text { fill: var(--lpl-white); font-family: var(--lpl-display); font-weight: 900; font-size: 12px; letter-spacing: 0.04em; }
.lpl-chart__fallback { margin: 0; color: var(--lpl-muted); font-size: var(--wp--preset--font-size--small); }

.wp-block-table.lpl-data-table { margin: 0; overflow-x: auto; }
.wp-block-table.lpl-data-table table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: var(--wp--preset--font-size--small); font-variant-numeric: tabular-nums; }
.wp-block-table.lpl-data-table thead,
.wp-block-table.lpl-data-table tfoot { border: 0; }
.wp-block-table.lpl-data-table th,
.wp-block-table.lpl-data-table td {
	padding: 0.55rem 0.6rem;
	border: 0;
	border-bottom: 1px solid var(--lpl-line);
	text-align: right;
}
.wp-block-table.lpl-data-table th:first-child,
.wp-block-table.lpl-data-table td:first-child { text-align: left; font-weight: 700; }
.wp-block-table.lpl-data-table thead th {
	border-bottom: 3px solid var(--lpl-black);
	vertical-align: bottom;
	font-family: var(--lpl-display);
	font-weight: 900;
	font-size: 0.6875rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.wp-block-table.lpl-data-table tbody td:last-child { font-weight: 700; }
.wp-block-table.lpl-data-table tfoot td {
	border: 0;
	background: var(--lpl-black);
	color: var(--lpl-white);
	font-family: var(--lpl-display);
	font-weight: 900;
	text-transform: uppercase;
}

.lpl-panel__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
}
.lpl-section .lpl-panel__foot { margin-block-start: 1.25rem; }
.lpl-section .lpl-panel__foot > * { margin-block: 0; }
.lpl-footnote { flex: 1 1 20rem; max-width: 62ch; color: var(--lpl-muted); font-size: 0.75rem; line-height: 1.5; }

/* ---------- Úvodní věta sekce ---------- */
.lpl-section .lpl-lead { max-width: 52ch; font-size: var(--wp--preset--font-size--large); font-weight: 700; line-height: 1.35; }

/* ---------- Koláž výstřižků ---------- */
.lpl-collage {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 1.25rem 1.5rem;
	align-items: center;
	margin-block-end: var(--wp--preset--spacing--50);
}
.lpl-section .lpl-collage > * { margin-block: 0; }
.lpl-section .lpl-collage + * { margin-block-start: var(--wp--preset--spacing--50); }
.lpl-clip { grid-column: span 3; }
.lpl-clip.lpl-clip--wide { grid-column: span 6; max-width: 46rem; }
.lpl-clip.lpl-clip--a { grid-column: span 4; }
.lpl-clip.lpl-clip--b { grid-column: span 2; }
.lpl-clip.lpl-clip--c { grid-column: span 3; }
.lpl-clip.lpl-clip--d { justify-self: end; }
.lpl-clip img {
	display: block;
	width: 100%;
	height: auto;
	padding: 0.6rem;
	background: var(--lpl-white);
	box-shadow: 6px 6px 0 rgba(255, 255, 255, 0.18);
}
.lpl-clip:nth-child(odd) { transform: rotate(-1.6deg); }
.lpl-clip:nth-child(even) { transform: rotate(1.4deg); }
.lpl-clip.lpl-clip--c { transform: rotate(-0.6deg); }
.lpl-clip figcaption {
	margin: 0.5rem 0 0;
	font-family: var(--lpl-display);
	font-weight: 900;
	font-size: 0.625rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: 0.75;
}
@media (max-width: 781px) {
	.lpl-collage { grid-template-columns: minmax(0, 1fr); }
	.lpl-clip, .lpl-clip.lpl-clip--a, .lpl-clip.lpl-clip--b, .lpl-clip.lpl-clip--c, .lpl-clip.lpl-clip--wide { grid-column: auto; }
	.lpl-clip.lpl-clip--b { max-width: 70%; }
}

/* ---------- Tabulka: pointa a cena peněz ---------- */
.lpl-section .is-style-lpl-panel .lpl-callout {
	width: fit-content;
	margin-block-start: 1.25rem;
	padding: 0.4em 0.65em;
	background: var(--lpl-red);
	color: var(--lpl-white);
	font-family: var(--lpl-display);
	font-weight: 900;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.15;
	text-transform: uppercase;
	transform: rotate(-1deg);
}
.lpl-money { font-size: var(--wp--preset--font-size--medium); }
.lpl-money > * { max-width: 62ch; }
.lpl-money .lpl-money__title { font-size: var(--wp--preset--font-size--x-large); }
.lpl-money .lpl-money__compare { max-width: none; align-items: flex-end; gap: 2rem; }
.lpl-money__compare .wp-block-column > * { margin-block: 0; }
.lpl-money__compare .lpl-kicker { margin-block-end: 0.4rem; }
.lpl-money .lpl-number--boxed { border-color: var(--lpl-black); }
.lpl-todo {
	padding: 0.6rem 0.8rem;
	border: 2px dashed var(--lpl-red);
	color: var(--lpl-red);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

/* ---------- Kdo to tvrdí ---------- */
.lpl-people {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr));
	gap: 1rem;
}
.lpl-section .lpl-people > * { margin-block: 0; }
.lpl-person { padding: 1rem 1.1rem 1.1rem; border: 3px solid var(--lpl-black); }
.lpl-person > * { margin-block: 0; }
.lpl-person__name { font-family: var(--lpl-display); font-weight: 900; font-size: 1.125rem; line-height: 1.1; text-transform: uppercase; }
.lpl-person .lpl-person__role { margin-block-start: 0.35rem; color: var(--lpl-muted); font-style: italic; }
.lpl-section .lpl-kdo__question { margin-block-start: var(--wp--preset--spacing--50); max-width: 34ch; font-weight: 700; font-size: var(--wp--preset--font-size--large); line-height: 1.35; }
.lpl-equation {
	width: fit-content;
	padding: 0.1em 0.35em;
	background: var(--lpl-red);
	color: var(--lpl-white);
	font-family: var(--lpl-display);
	font-weight: 900;
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.1;
	transform: rotate(-2deg);
}

/* ---------- Závěr ---------- */
.lpl-outro .lpl-punchline { max-width: 34ch; margin-inline: auto; font-weight: 700; font-size: var(--wp--preset--font-size--large); line-height: 1.4; }
.lpl-share { gap: 0.75rem; }
.lpl-outro .lpl-sources-title { margin-block-start: var(--wp--preset--spacing--50); font-size: var(--wp--preset--font-size--small); letter-spacing: 0.06em; }
.lpl-outro .lpl-sources-title + * { margin-block-start: 0.5rem; }
.lpl-sources { font-size: 0.75rem; line-height: 1.9; }

/* ---------- Patička ---------- */
.lpl-footer { padding-block: 1.5rem; border-top: 1px solid #333; font-size: 0.75rem; }
.lpl-footer a { color: inherit; }

/* ---------- Tlačítka ---------- */
.wp-element-button,
.wp-block-button__link { transition: background-color 0.15s, color 0.15s; }
.is-style-lpl-light .wp-block-button__link { background: var(--lpl-white); color: var(--lpl-black); }
:root .wp-element-button:hover,
:root .wp-block-button__link:hover { background: var(--lpl-red); color: var(--lpl-white); }
.has-cervena-background-color .wp-element-button:hover,
.has-cervena-background-color .wp-block-button__link:hover { background: var(--lpl-white); color: var(--lpl-black); }
.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible,
.lpl-section a:focus-visible,
.lpl-header a:focus-visible {
	outline: 3px solid var(--lpl-black);
	outline-offset: 3px;
	box-shadow: 0 0 0 3px var(--lpl-white);
}

/* ---------- Mobil ---------- */
@media (max-width: 781px) {
	.lpl-hero .lpl-hero__label { margin-inline-start: 0; }
	.lpl-hero__photo { margin-inline-start: 0; }
	.lpl-nav { font-size: 1rem; }
	.lpl-logo { font-size: 0.8125rem; }
}
@media (max-width: 380px) {
	.lpl-number { white-space: normal; }
}
