/* ---------------------------------------------------------------------------
   KWAVE — základ: reset nutného minima, typografie, odkazy, přístupnost
   --------------------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body.kwave {
	margin: 0;
	background: var(--kw-bg);
	color: var(--kw-text);
	font-family: var(--kw-font);
	font-size: var(--kw-text-base);
	line-height: var(--kw-leading);
	/* Dlouhá česká slova (např. „nejneobhospodařovávatelnějšímu") nesmí přetékat */
	overflow-wrap: break-word;
	text-rendering: optimizeLegibility;
}

/* Blocksy vypisuje vlastní kontejnery; náš layout je řídí sám. */
body.kwave #main-container { overflow-x: clip; }

h1, h2, h3, h4 {
	margin: 0 0 var(--kw-space-16);
	line-height: var(--kw-leading-tight);
	/* Mockup má nadpisy výrazně těžší než běžný web — 800 je záměr, ne překlep. */
	font-weight: 800;
	letter-spacing: -0.02em;
	text-wrap: balance; /* kde prohlížeč umí, rozloží titulek na hezčí řádky */
}

h1 { font-size: var(--kw-h1); }
h2 { font-size: var(--kw-h2); }
h3 { font-size: var(--kw-h3); }

p { margin: 0 0 var(--kw-space-20); }
p:last-child { margin-bottom: 0; }

a {
	color: var(--kw-accent-dark);
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
	transition: color var(--kw-transition);
}
a:hover { color: var(--kw-accent); }

/* Wordmark KWAVE. Jediné místo, kde se používá display řez. */
.kw-wordmark {
	font-family: var(--kw-font-display);
	font-weight: 400; /* Archivo Black má jen jeden řez, „tučně" by ho deformovalo */
	letter-spacing: -0.01em;
	line-height: 1;
	text-transform: uppercase;
}

/* Odkaz, který obaluje celou kartu, nemá být podtržený — podtrhává se titulek. */
a.kw-plain { color: inherit; text-decoration: none; }

img, video, iframe { max-width: 100%; height: auto; }
img { display: block; }

ul, ol { margin: 0 0 var(--kw-space-24); padding-left: 1.25em; }
li { margin-bottom: var(--kw-space-3); }

/* Citace: jen barevný pruh vlevo a kurzíva, bez podbarvení (podle předlohy). */
blockquote {
	margin: var(--kw-space-32) 0;
	padding: var(--kw-space-3) 0 var(--kw-space-3) var(--kw-space-20);
	border-left: 3px solid var(--kw-accent);
	font-size: 1.0625rem;
	font-style: italic;
	color: var(--kw-text);
}
blockquote p:last-child { margin-bottom: 0; }

hr { border: 0; border-top: 1px solid var(--kw-line); margin: var(--kw-space-32) 0; }

/* Přístupnost ------------------------------------------------------------- */

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: var(--kw-focus);
	outline-offset: 2px;
	border-radius: var(--kw-space-2);
}

.kw-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100;
	padding: var(--kw-space-4) var(--kw-space-16);
	background: var(--kw-accent);
	color: #fff;
	border-radius: 0 0 var(--kw-radius-sm) 0;
	text-decoration: none;
}
.kw-skip-link:focus {
	left: 0;
	color: #fff;
}

/* Pro čtečky obrazovky, vizuálně skryté (stejná technika jako WP .screen-reader-text) */
.kw-sr {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* Tisk: bez navigace, ať se článek dá vytisknout */
@media print {
	.kw-header, .kw-footer, .kw-quicknav, .kw-share, .kw-sidebar { display: none !important; }
	body.kwave { font-size: 12pt; }
}
