/* phprs.eu – jeden soubor stylů, žádný preprocesor. Barvy podle identity phpRS, písmo Noto Sans. */

/* Noto Sans (OFL), hostované u sebe; rozsahy znaků shodné s Google Fonts: latinka a rozšířená latinka (čeština, slovenština, němčina) */
@font-face {
	font-family: "Noto Sans";
	src: url("/assets/fonts/noto-sans-latin-wght-normal.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Noto Sans";
	src: url("/assets/fonts/noto-sans-latin-ext-wght-normal.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
	--bg: #F6F7F9;
	--plocha: #FFFFFF;
	--text: #0F1424;
	--tlumeny: #4D5573;
	--linka: #E3E6EE;
	--znacka: #2B5BE3;
	--znacka-hover: #1E44B8;
	--odkaz: #2B5BE3;
	--kod-bg: #ECEFF7;
	--tmava: #0F1424;
	--na-tmave: #E9ECF6;
	--na-tmave-tlumeny: #A9B2CF;
	--akcent-na-tmave: #8FA8F5;
	--linka-na-tmave: #232B47;
	--bila: #FFFFFF;
	--na-znacce-tlumeny: #E6ECFD;
	--svetle-tl-hover: #DCE4FB;
	--logo-php: #0F1424;
	--logo-rs: #2B5BE3;
	--stin: 0 1px 2px rgba(15, 20, 36, .06), 0 12px 32px -12px rgba(15, 20, 36, .18);
	--nadpisy: "Noto Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--pismo: "Noto Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
	--mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;
	--sirka: 1160px;
	--okraj: clamp(16px, 4vw, 40px);
	--mezera-sloupcu: clamp(2rem, 5vw, 4.5rem);
	--mezera-hlava: clamp(1.75rem, 3vw, 2.75rem);
	color-scheme: light;
}

/* Tmavý režim je tu dvakrát (podle systému a po ručním přepnutí) – CSS bez preprocesoru to jinak neumí. Oba bloky musí zůstat shodné. */

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--bg: #0B0F1C;
		--plocha: #121830;
		--text: #E9ECF6;
		--tlumeny: #A3ABC6;
		--linka: #232B47;
		--odkaz: var(--akcent-na-tmave);
		--kod-bg: #19213F;
		--tmava: #060912;
		--logo-php: var(--bila);
		--logo-rs: var(--akcent-na-tmave);
		--stin: 0 0 0 1px var(--linka);
		color-scheme: dark;
	}
}

:root[data-theme="dark"] {
	--bg: #0B0F1C;
	--plocha: #121830;
	--text: #E9ECF6;
	--tlumeny: #A3ABC6;
	--linka: #232B47;
	--odkaz: var(--akcent-na-tmave);
	--kod-bg: #19213F;
	--tmava: #060912;
	--logo-php: var(--bila);
	--logo-rs: var(--akcent-na-tmave);
	--stin: 0 0 0 1px var(--linka);
	color-scheme: dark;
}

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

html { -webkit-text-size-adjust: 100%; scroll-padding-top: 5.5rem; }

body {
	margin: 0;
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	background: var(--bg);
	color: var(--text);
	font: 17px/1.65 var(--pismo);
}
main { flex: 1 0 auto; }

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

a { color: var(--odkaz); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }

:focus-visible { outline: 2px solid var(--odkaz); outline-offset: 3px; border-radius: 4px; }
/* na tmavých a modrých plochách by modrý obrys zanikl */
.pas-tmavy :focus-visible, .paticka :focus-visible { outline-color: var(--bila); }

h1, h2, h3 { font-family: var(--nadpisy); line-height: 1.15; letter-spacing: -.02em; text-wrap: balance; margin: 0; }
h1 { font-size: clamp(2.2rem, 1.4rem + 3.2vw, 3.6rem); font-weight: 800; letter-spacing: -.035em; }
h2 { font-size: clamp(1.5rem, 1.2rem + 1.1vw, 2rem); font-weight: 700; }
h3 { font-size: 1.15rem; font-weight: 700; letter-spacing: -.01em; }
/* dlouhá (hlavně německá) slova v nadpisech se na úzkém telefonu smějí rozdělit, jinak by roztáhla stránku */
@media (max-width: 420px) { h1, h2 { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; } }
p { margin: 0; }

code { font: .88em var(--mono); background: var(--kod-bg); padding: .12em .38em; border-radius: 5px; overflow-wrap: anywhere; }

.obal { width: 100%; max-width: var(--sirka); margin-inline: auto; padding-inline: var(--okraj); }
.uzky { max-width: 760px; }
.jen-ctecka { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.drobne { font-size: .9rem; color: var(--tlumeny); }

.jen-tmavy { display: none; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .jen-svetly { display: none; }
	:root:not([data-theme="light"]) .jen-tmavy { display: block; }
}
:root[data-theme="dark"] .jen-svetly { display: none; }
:root[data-theme="dark"] .jen-tmavy { display: block; }

.preskocit { position: absolute; left: 16px; top: -4rem; background: var(--znacka); color: var(--bila); padding: .5rem .9rem; border-radius: 8px; z-index: 20; }
.preskocit:focus { top: 12px; outline-color: var(--text); }

/* --- tlačítka ------------------------------------------------------------------------------------------------------ */

.tl {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	font: 650 1rem/1.2 var(--nadpisy); text-decoration: none;
	padding: .85em 1.35em; border-radius: 10px; border: 1.5px solid var(--znacka);
	background: var(--znacka); color: var(--bila); transition: background .15s, border-color .15s, transform .15s;
}
.tl:hover { background: var(--znacka-hover); border-color: var(--znacka-hover); }
.tl:active { transform: translateY(1px); }
.tl-obrys { background: transparent; color: var(--text); border-color: var(--linka); }
.tl-obrys:hover { background: var(--plocha); border-color: var(--tlumeny); }
.tl-svetly, .paticka a.tl-svetly { background: var(--bila); color: var(--tmava); border-color: var(--bila); }
.tl-svetly:hover { background: var(--svetle-tl-hover); border-color: var(--svetle-tl-hover); }
.tl-maly { padding: .55em 1em; font-size: .9rem; }
.tlacitka { display: flex; flex-wrap: wrap; gap: .75rem; }

.sipka { font: 650 1rem var(--nadpisy); text-decoration: none; }
.sipka::after { content: " →"; display: inline-block; transition: transform .15s; white-space: pre; }
.sipka:hover::after { transform: translateX(3px); }

/* --- hlavička ------------------------------------------------------------------------------------------------------ */

.hlavicka { position: sticky; top: 0; z-index: 10; background: color-mix(in srgb, var(--bg) 88%, transparent); -webkit-backdrop-filter: saturate(1.4) blur(12px); backdrop-filter: saturate(1.4) blur(12px); border-bottom: 1px solid var(--linka); }
.hlavicka-radek { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4.25rem; }
.logo { display: inline-flex; }
.logo svg { height: 2.1rem; width: auto; display: block; }
.menu { display: flex; align-items: center; gap: clamp(.9rem, 2vw, 1.75rem); }
.menu > a { white-space: nowrap; }
.menu > a:not(.tl) { font: 600 .95rem var(--nadpisy); color: var(--text); text-decoration: none; padding-block: .4rem; border-bottom: 2px solid transparent; }
.menu > a:not(.tl):hover { border-bottom-color: var(--linka); }
.menu > a[aria-current="page"]:not(.tl) { border-bottom-color: var(--znacka); }
.jazyky { display: inline-flex; gap: 2px; padding: 3px; border: 1px solid var(--linka); border-radius: 10px; }
.jazyky a { font: 650 .78rem/1 var(--nadpisy); letter-spacing: .04em; text-decoration: none; color: var(--tlumeny); padding: .5rem .55rem; border-radius: 7px; }
.jazyky a:hover { color: var(--text); }
.jazyky a[aria-current] { background: var(--kod-bg); color: var(--text); }
.rezim { display: inline-grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 10px; border: 1px solid var(--linka); background: transparent; color: var(--text); cursor: pointer; }
.rezim:hover { background: var(--plocha); }
/* ikona říká, co platí: půlkruh = podle systému (bez data-theme), slunce = světlý, měsíc = tmavý */
.rezim svg { display: none; }
:root:not([data-theme]) .rezim-auto, :root[data-theme="light"] .rezim-light, :root[data-theme="dark"] .rezim-dark { display: block; }
.menu-tl { display: none; font: 600 .95rem var(--nadpisy); padding: .55em 1em; border-radius: 10px; border: 1px solid var(--linka); background: transparent; color: var(--text); cursor: pointer; }

/* 940 px: pod touto šířkou se německá nabídka s přepínačem jazyků nevejde na řádek */
@media (max-width: 940px) {
	.menu-tl { display: inline-block; }
	.menu { display: none; position: absolute; inset: 100% 0 auto 0; flex-wrap: wrap; justify-content: space-between; gap: 0; max-height: calc(100dvh - 4.25rem); overflow-y: auto; padding: .5rem var(--okraj) 1.25rem; background: var(--bg); border-bottom: 1px solid var(--linka); box-shadow: 0 24px 32px -24px rgba(15, 20, 36, .35); }
	.menu.je-otevrene { display: flex; }
	.menu > a { flex: 0 0 100%; }
	.menu > a:not(.tl) { padding-block: .85rem; border-bottom: 1px solid var(--linka); }
	.menu > a[aria-current="page"]:not(.tl) { border-bottom-color: var(--linka); color: var(--odkaz); }
	.menu .tl { margin-top: 1rem; }
	.menu .jazyky, .menu .rezim { margin-top: 1rem; }
}

/* --- úvod ---------------------------------------------------------------------------------------------------------- */

.uvod { padding-block: clamp(2.5rem, 6vw, 5rem) 0; }
.uvod-mrizka { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(2rem, 5vw, 5rem); align-items: end; }
.uvod-text { display: flex; flex-direction: column; gap: 1.4rem; max-width: 44rem; }
.stitek-verze { font: 600 .85rem var(--nadpisy); color: var(--tlumeny); letter-spacing: .01em; }
.stitek-verze a { color: var(--odkaz); text-decoration: none; }
.perex { font-size: clamp(1.1rem, 1rem + .45vw, 1.3rem); line-height: 1.55; color: var(--tlumeny); max-width: 40rem; }
.uvod-cisla { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 9.5rem)); gap: 1.5rem 2rem; padding-bottom: .35rem; }
.uvod-cisla div { border-top: 2px solid var(--text); padding-top: .6rem; }
.uvod-cisla dt { font: 800 2.4rem/1 var(--nadpisy); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.uvod-cisla dd { margin: .35rem 0 0; font-size: .9rem; line-height: 1.35; color: var(--tlumeny); }
.uvod .okno { margin-top: clamp(2.5rem, 5vw, 4rem); margin-bottom: -1px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom: 0; }

@media (max-width: 900px) {
	.uvod-mrizka { grid-template-columns: 1fr; align-items: start; }
	.uvod-cisla { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
	.uvod-cisla dt { font-size: 1.9rem; }
}
@media (max-width: 520px) {
	.uvod-cisla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.okno { margin: 0; border: 1px solid var(--linka); border-radius: 14px; overflow: hidden; background: var(--plocha); box-shadow: var(--stin); }
.okno img { width: 100%; }
.okno:not(:has(img)) { display: none; } /* sestavení bez snímků obrazovek */

/* --- pásy ---------------------------------------------------------------------------------------------------------- */

.pas { padding-block: clamp(3rem, 7vw, 6rem); border-top: 1px solid var(--linka); }
.pas-plocha { background: var(--plocha); }
.pas-tmavy { background: var(--tmava); color: var(--na-tmave); border-top-color: transparent; }
.pas-tmavy p { color: var(--na-tmave-tlumeny); }
.pas-tmavy h2 { color: var(--bila); }
.pas p + p { margin-top: 1rem; }

.nadpis-pasu { margin-bottom: var(--mezera-hlava); }
.pod-nadpisem { margin-top: calc(-1 * clamp(1rem, 2vw, 1.75rem)); margin-bottom: var(--mezera-hlava); color: var(--tlumeny); max-width: 44rem; }

.duvody { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.75rem); }
@media (max-width: 1040px) { .duvody { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .duvody { grid-template-columns: minmax(0, 1fr); } }
.duvody article { display: flex; flex-direction: column; gap: .7rem; border-top: 2px solid var(--znacka); padding-top: 1.1rem; }
.duvody p { color: var(--tlumeny); font-size: 1rem; }

.dvoji { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--mezera-sloupcu); align-items: center; }
.dvoji-text { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.dvoji h2 { margin-bottom: 1.1rem; }
.dvoji p { color: var(--tlumeny); }
.pas-tmavy .dvoji p { color: var(--na-tmave-tlumeny); }
@media (max-width: 860px) { .dvoji, .dvoji-text { grid-template-columns: minmax(0, 1fr); } }

/* tři šablony: tři sloupce, na telefonu pod sebou (dva sloupce by nechaly třetí náhled osamocený) */
.sablony-nahled { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2rem); }
@media (max-width: 600px) { .sablony-nahled { grid-template-columns: minmax(0, 1fr); } }
.sablony-nahled a { display: flex; flex-direction: column; gap: .7rem; text-decoration: none; color: var(--text); font: 650 1rem var(--nadpisy); }
.sablony-nahled img { width: 100%; border: 1px solid var(--linka); border-radius: 10px; aspect-ratio: 4 / 3; object-fit: cover; object-position: top; transition: transform .2s, box-shadow .2s; }
.sablony-nahled a:hover img { transform: translateY(-3px); box-shadow: var(--stin); }

.instalace, .stahnout { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--mezera-sloupcu); align-items: start; }
.instalace h2, .stahnout h2 { margin-bottom: 1.1rem; }
.instalace > div p { color: var(--tlumeny); }
@media (max-width: 860px) { .instalace, .stahnout { grid-template-columns: minmax(0, 1fr); } }

.kroky { list-style: none; margin: 0; padding: 0; counter-reset: krok; display: grid; gap: 0; }
.kroky li { counter-increment: krok; position: relative; padding: 1.05rem 0 1.05rem 3.6rem; border-top: 1px solid var(--linka); }
.kroky li:last-child { border-bottom: 1px solid var(--linka); }
.kroky li::before { content: counter(krok); position: absolute; left: 0; top: 1.05rem; font: 800 1.5rem/1.2 var(--nadpisy); color: var(--odkaz); font-variant-numeric: tabular-nums; }
.kroky-male li { padding-block: .8rem; font-size: 1rem; color: var(--tlumeny); }
.kroky-male li::before { top: .8rem; font-size: 1.25rem; }

/* --- záhlaví podstránek -------------------------------------------------------------------------------------------- */

.zahlavi { padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.zahlavi .obal { display: flex; flex-direction: column; gap: 1.25rem; }
.zahlavi h1 { font-size: clamp(2rem, 1.4rem + 2.4vw, 3rem); }
.kotvy { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; }
.kotvy a { font: 600 .9rem var(--nadpisy); text-decoration: none; color: var(--text); padding: .45em .9em; border: 1px solid var(--linka); border-radius: 999px; background: var(--plocha); }
.kotvy a:hover { border-color: var(--znacka); color: var(--odkaz); }

.skupina-hlava { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 1rem var(--mezera-sloupcu); align-items: baseline; margin-bottom: var(--mezera-hlava); }
.skupina-hlava p { color: var(--tlumeny); font-size: 1.1rem; }
@media (max-width: 760px) { .skupina-hlava { grid-template-columns: minmax(0, 1fr); } }
.okno-skupina { margin-bottom: var(--mezera-hlava); }

.funkce { margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); gap: 0 clamp(1.5rem, 3vw, 3rem); }
.funkce div { padding-block: 1.1rem; border-top: 1px solid var(--linka); }
.funkce dt { font: 700 1rem/1.3 var(--nadpisy); }
.funkce dd { margin: .35rem 0 0; color: var(--tlumeny); font-size: .95rem; line-height: 1.55; }
.funkce + p { margin-top: 2rem; }

.sablona-dvojice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
@media (max-width: 700px) { .sablona-dvojice { grid-template-columns: minmax(0, 1fr); } }

.vydani { background: var(--plocha); border: 1px solid var(--linka); border-radius: 14px; padding: clamp(1.25rem, 3vw, 2rem); display: flex; flex-direction: column; gap: 1rem; }
.vydani p + p { margin-top: 0; }
.vydani-verze { font: 600 1.1rem var(--nadpisy); color: var(--tlumeny); }
.vydani-verze strong { display: block; overflow-wrap: anywhere; font-size: 2rem; letter-spacing: -.03em; color: var(--text); font-weight: 800; }

.odrazky { margin: 0; padding: 0; list-style: none; }
.odrazky li { padding-block: .85rem; border-top: 1px solid var(--linka); color: var(--tlumeny); }
.odrazky li strong { color: var(--text); }

/* --- tabulky, poznámky, próza -------------------------------------------------------------------------------------- */

.tabulka { overflow-x: auto; margin-block: 1.25rem; border: 1px solid var(--linka); border-radius: 10px; background: var(--plocha); }
.tabulka table { border-collapse: collapse; width: 100%; font-size: .95rem; line-height: 1.5; }
.tabulka th, .tabulka td { text-align: left; vertical-align: top; padding: .75rem 1rem; border-top: 1px solid var(--linka); }
.tabulka thead th { border-top: 0; font: 700 .78rem var(--nadpisy); text-transform: uppercase; letter-spacing: .06em; color: var(--tlumeny); }
.tabulka tbody tr:first-child th, .tabulka tbody tr:first-child td { border-top: 0; }
.tabulka thead + tbody tr:first-child th, .tabulka thead + tbody tr:first-child td { border-top: 1px solid var(--linka); }
.tabulka .vpravo { text-align: right; }
.tabulka .nastred { text-align: center; }
.tabulka th[scope="row"] { font: 650 .95rem var(--nadpisy); white-space: nowrap; }
@media (max-width: 560px) {
	.tabulka th[scope="row"] { white-space: normal; }
	.tabulka th, .tabulka td { padding: .65rem .8rem; }
}

.proza { max-width: 46rem; }
.proza > * + * { margin-top: 1.1rem; }
.proza h2 { font-size: 1.55rem; margin-top: 2.75rem; padding-top: 1.5rem; border-top: 1px solid var(--linka); }
.proza h1 + h2, .proza h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.proza h3 { margin-top: 2rem; }
.proza ul, .proza ol { padding-left: 1.4rem; margin-block: 1.1rem; }
.proza li + li { margin-top: .5rem; }
.proza li > ul, .proza li > ol, .proza li > pre, .proza li > p { margin-top: .6rem; }
.proza li::marker { color: var(--tlumeny); font-variant-numeric: tabular-nums; }
.proza pre { background: var(--tmava); color: var(--na-tmave); padding: 1rem 1.15rem; border-radius: 10px; overflow-x: auto; font: .86rem/1.6 var(--mono); border: 1px solid var(--linka); }
.proza pre code { background: none; padding: 0; font: inherit; overflow-wrap: normal; }
.poznamka { border: 1px solid var(--linka); border-left: 3px solid var(--znacka); background: var(--plocha); padding: 1rem 1.2rem; border-radius: 0 10px 10px 0; }
.poznamka > * + * { margin-top: .6rem; }

/* --- dokumentace --------------------------------------------------------------------------------------------------- */

.doc { display: grid; grid-template-columns: 15.5rem minmax(0, 1fr) 13rem; gap: clamp(1.5rem, 4vw, 3.5rem); padding-block: clamp(1.5rem, 4vw, 3rem) clamp(3rem, 6vw, 5rem); align-items: start; }
.doc-nav, .doc-obsah { position: sticky; top: 5.5rem; max-height: calc(100vh - 6.5rem); overflow-y: auto; font-size: .95rem; line-height: 1.4; }
.doc-nav h2, .doc-obsah h2 { font: 700 .78rem var(--nadpisy); text-transform: uppercase; letter-spacing: .08em; color: var(--tlumeny); margin: 1.5rem 0 .5rem; }
.doc-obsah h2 { margin-top: 0; }
.doc-nav ul, .doc-obsah ul { list-style: none; margin: 0; padding: 0; }
.doc-nav a, .doc-obsah a { display: block; padding: .4rem .7rem; margin-left: -.7rem; border-radius: 7px; color: var(--text); text-decoration: none; }
.doc-obsah a { color: var(--tlumeny); padding-block: .3rem; }
.doc-nav a:hover, .doc-obsah a:hover { background: var(--kod-bg); color: var(--text); }
.doc-nav a[aria-current="page"] { background: var(--kod-bg); color: var(--odkaz); font-weight: 650; }
.doc-kapitoly summary { display: none; }
.doc-kapitoly > p { margin-top: 1rem; }
.doc-verze { margin-top: 1.75rem; padding-top: 1rem; border-top: 1px solid var(--linka); color: var(--tlumeny); font-size: .85rem; }
.doc-text h1 { font-size: clamp(1.9rem, 1.4rem + 1.8vw, 2.6rem); margin-bottom: 1.5rem; }

.doc-hledani { position: relative; }
.doc-hledani input { width: 100%; font: inherit; font-size: .95rem; padding: .6rem .8rem; border-radius: 9px; border: 1px solid var(--linka); background: var(--plocha); color: var(--text); }
.doc-hledani input::placeholder { color: var(--tlumeny); opacity: 1; }
.doc-hledani input:focus { outline: 2px solid var(--odkaz); outline-offset: 1px; }
.doc-vysledky { list-style: none; margin: .4rem 0 0; padding: .35rem; border: 1px solid var(--linka); border-radius: 10px; background: var(--plocha); box-shadow: var(--stin); }
.doc-vysledky a { margin: 0; padding: .5rem .6rem; }
.doc-vysledky a span { display: block; font-size: .78rem; color: var(--tlumeny); margin-top: .1rem; }
.doc-vysledky li.nic { padding: .5rem .6rem; color: var(--tlumeny); }

.doc-dal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 3.5rem; }
.doc-dal a { display: flex; flex-direction: column; gap: .2rem; padding: 1rem 1.15rem; border: 1px solid var(--linka); border-radius: 10px; text-decoration: none; color: var(--text); font: 650 1rem/1.3 var(--nadpisy); background: var(--plocha); }
.doc-dal a:hover { border-color: var(--znacka); }
.doc-dal a span { font: 600 .78rem var(--nadpisy); text-transform: uppercase; letter-spacing: .07em; color: var(--tlumeny); }
.doc-dal-vpred { grid-column: 2; text-align: right; }

@media (max-width: 1080px) {
	.doc { grid-template-columns: 14rem minmax(0, 1fr); }
	.doc-obsah { display: none; }
}
@media (max-width: 760px) {
	.doc { grid-template-columns: minmax(0, 1fr); }
	.doc-nav { position: static; max-height: none; border-bottom: 1px solid var(--linka); padding-bottom: 1.25rem; }
	.doc-kapitoly { margin-top: .9rem; }
	.doc-kapitoly summary { display: block; cursor: pointer; font: 650 .95rem var(--nadpisy); padding: .6rem .8rem; border: 1px solid var(--linka); border-radius: 9px; background: var(--plocha); }
	.doc-dal { grid-template-columns: minmax(0, 1fr); }
	.doc-dal-vpred { grid-column: 1; text-align: left; }
}

/* --- patička ------------------------------------------------------------------------------------------------------- */

.paticka { background: var(--tmava); color: var(--na-tmave-tlumeny); padding-block: clamp(2.5rem, 5vw, 4rem) 2rem; font-size: .95rem; --logo-php: var(--bila); --logo-rs: var(--akcent-na-tmave); }
.paticka a { color: var(--na-tmave); text-decoration: none; }
.paticka a:hover { text-decoration: underline; }
.podpora-pruh { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem 2rem; padding: clamp(1.25rem, 3vw, 1.75rem) clamp(1.25rem, 3vw, 2rem); border-radius: 14px; background: var(--znacka); color: var(--bila); }
.podpora-pruh div { display: flex; flex-direction: column; gap: .3rem; max-width: 40rem; }
.podpora-pruh strong { font: 750 1.2rem/1.25 var(--nadpisy); }
.podpora-pruh span { color: var(--na-znacce-tlumeny); line-height: 1.5; }
.podpora-pruh .tl:hover { text-decoration: none; }
.paticka-mrizka { display: grid; grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); gap: 2rem; padding-block: clamp(2rem, 4vw, 3rem); }
.paticka-o { display: flex; flex-direction: column; gap: 1rem; max-width: 24rem; }
.paticka h2 { font: 700 .78rem var(--nadpisy); text-transform: uppercase; letter-spacing: .08em; color: var(--na-tmave-tlumeny); margin-bottom: .9rem; }
.paticka ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.paticka-spodek { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem; padding-top: 1.5rem; border-top: 1px solid var(--linka-na-tmave); font-size: .85rem; }
@media (max-width: 700px) { .paticka-mrizka { grid-template-columns: repeat(2, minmax(0, 1fr)); } .paticka-o { grid-column: 1 / -1; } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
}
