/* Ochrana osobních údajů — samostatný styl
   ============================================================================
   Legal stránka má záměrně vlastní stylesheet, ne style.css webu: je to jeden
   dlouhý textový sloupec, který nepotřebuje komponenty homepage a nemá se
   měnit pokaždé, když se hne design systém. Hodnoty tokenů níže jsou opsané
   ze style.css, aby stránka působila jako součást webu. */

@font-face {
	font-family: "Inter Display";
	src: url("../assets/fonts/inter-display-medium.woff2") format("woff2");
	font-style: normal;
	font-weight: 500;
	font-display: swap;
}

@font-face {
	font-family: "Inter Display";
	src: url("../assets/fonts/inter-display-semibold.woff2") format("woff2");
	font-style: normal;
	font-weight: 600;
	font-display: swap;
}

:root {
	--font-body: "Inter", "Helvetica Neue", Arial, sans-serif;
	--font-display: "Inter Display", "Helvetica Neue", Arial, sans-serif;

	--ink: #0a0a0d;
	--paper: #f6f7fb;
	--line: rgba(10, 10, 13, 0.15);
	--mute: #6b6b73;
	--accent: #cdf683;
	--accent-dark: #4d7c0f;

	--radius-pill: 999px;
	--control-height: 48px;
	--ease: cubic-bezier(0.22, 1, 0.36, 1);

	/* Užší sazba než na webu — text zásad se čte po řádcích, ne po sekcích. */
	--shell: min(1080px, calc(100vw - 48px));
}

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

html {
	background: var(--ink);
}

body {
	margin: 0;
	color: var(--ink);
	background: var(--paper);
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

::selection {
	color: var(--ink);
	background: var(--accent);
}

.shell {
	width: var(--shell);
	margin: 0 auto;
}

/* --- Hlavička a patička ---------------------------------------------------
   Jen logo a kontakt. Navigace webu sem nepatří — stránka se otevírá z odkazu
   v patičce nebo z formuláře a čtenář se má vrátit tam, odkud přišel. */

.page-header {
	color: #fff;
	background: var(--ink);
}

.page-header .shell {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 18px 0;
}

/* Logo je černé, hlavička taky — bez inverze bylo prakticky neviditelné
   (stejné řešení jako v patičce homepage). */
.page-header img {
	display: block;
	width: 132px;
	height: auto;
	filter: invert(1);
}

.header-contact {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: var(--control-height);
	padding: 0 26px;
	border-radius: var(--radius-pill);
	color: var(--ink);
	background: var(--accent);
	font-family: var(--font-display);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: -0.01em;
	text-decoration: none;
	transition: transform 0.3s var(--ease);
}

.header-contact:hover,
.header-contact:focus-visible {
	transform: translateY(-2px);
}

.header-contact:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}

.page-footer {
	color: rgba(255, 255, 255, 0.68);
	background: var(--ink);
}

.page-footer .shell {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	padding: 30px 0;
	font-size: 13px;
	letter-spacing: -0.01em;
}

.page-footer p {
	margin: 0;
}

.page-footer a {
	color: #fff;
	text-decoration-color: rgba(255, 255, 255, 0.4);
	text-underline-offset: 3px;
}

.page-footer a:hover,
.page-footer a:focus-visible {
	color: var(--accent);
}

/* --- Dokument -------------------------------------------------------------- */

.doc {
	max-width: 800px;
	margin: 0 auto;
	padding: clamp(36px, 4.5vw, 56px) 0 clamp(44px, 5.5vw, 72px);
	counter-reset: legal;
}

.doc-head {
	margin-bottom: clamp(26px, 3vw, 36px);
}

.doc-head h1 {
	margin: 0 0 8px;
	font-family: var(--font-display);
	font-size: clamp(30px, 3.6vw, 40px);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.17;
}

.doc-updated {
	margin: 0;
	color: var(--mute);
	font-size: 17px;
	letter-spacing: -0.01em;
}

.legal-section {
	margin-bottom: clamp(26px, 3vw, 38px);
	counter-increment: legal;
}

.legal-section:last-child {
	margin-bottom: 0;
}

.legal-section h2 {
	margin: 0 0 12px;
	font-family: var(--font-display);
	font-size: 21px;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.legal-section h2::before {
	content: counter(legal) ". ";
}

.legal-section p {
	margin: 0 0 11px;
	font-size: 17px;
}

.legal-section p:last-child {
	margin-bottom: 0;
}

.legal-section ul {
	margin: 0 0 11px;
	padding-left: 22px;
}

.legal-section li {
	margin-bottom: 5px;
	font-size: 17px;
}

.legal-section li::marker {
	color: var(--accent-dark);
}

.legal-section a {
	color: var(--ink);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-color: var(--accent-dark);
	text-decoration-thickness: 1.5px;
	text-underline-offset: 3px;
	transition: color 0.2s var(--ease);
}

.legal-section a:hover,
.legal-section a:focus-visible {
	color: var(--accent-dark);
}

.legal-note {
	color: var(--mute);
	font-size: 14px;
}

@media (max-width: 760px) {
	.page-header img {
		width: 116px;
	}
}
