/* ponytail: jedna tabule stylu pro web i administraci. Rozdelit az kdyz se
   vzhled h-rentu a adminu skutecne rozejde, ne drive. */
/* Stranky maji jen svetlou podobu. Bez tohohle vykresli prohlizec v tmavem
   rezimu tmave pozadi, zatimco text zustane skoro cerny podle promennych niz —
   popisky poli pak nejsou videt. */
:root { color-scheme: light; }
body { background: #fff; }
:root { --text: #1a1a1a; --tlum: #6b6b6b; --linka: #e2e2e2; --akcent: #0b5fa5; }
* { box-sizing: border-box; }
body { margin: 0; font: 16px/1.55 system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--text); }
main.siroky { max-width: 88rem; }
main { max-width: 62rem; margin: 0 auto; padding: 2rem 1.25rem; }
a { color: var(--akcent); }
.hlavicka { display: flex; align-items: center; gap: 1.5rem; padding: 0.9rem 1.25rem; border-bottom: 1px solid var(--linka); }
.hlavicka nav { display: flex; gap: 1rem; }
.znacka { font-weight: 700; text-decoration: none; color: var(--text); }
.znacka-logo { display: block; width: 150px; height: auto; filter: brightness(0) saturate(100%); }
.odhlaseni { margin-left: auto; }
.pata { border-top: 1px solid var(--linka); padding: 1.25rem; color: var(--tlum); }
label { display: block; font-weight: 600; margin-top: 0.85rem; }
input, textarea, select { width: 100%; max-width: 34rem; padding: 0.45rem 0.6rem; border: 1px solid var(--linka); border-radius: 3px; font: inherit; }
button { padding: 0.5rem 1.1rem; border: 1px solid var(--akcent); background: var(--akcent); color: #fff; border-radius: 3px; font: inherit; cursor: pointer; }
table { border-collapse: collapse; width: 100%; }
th, td { border: 1px solid var(--linka); padding: 0.35rem 0.55rem; text-align: left; }
.chyba { color: #a11; }
.nadpis-doplnek { margin-bottom: 0.25rem; color: var(--tlum); font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }
.nadpis-doplnek + h1 { margin-top: 0; }
.kontakt > section { margin-top: 2rem; }
.identifikace { display: grid; grid-template-columns: max-content 1fr; gap: 0.2rem 0.75rem; }
.identifikace dt { font-weight: 700; }
.identifikace dd { margin: 0; }
.kontaktni-osoby { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; }
.kontaktni-osoba { padding: 1rem; border: 1px solid var(--linka); border-radius: 4px; }
.kontaktni-osoba h3, .kontaktni-osoba p { margin: 0 0 0.35rem; }
.vice-radku { white-space: pre-line; }
.tabulka-obal { overflow-x: auto; }
.cenik { min-width: 58rem; }
.cenik td:nth-child(n+5), .cenik th:nth-child(n+5) { text-align: right; white-space: nowrap; }
.poznamka { color: var(--tlum); font-size: 0.9rem; }
.seznam-modelu { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 0.75rem; padding: 0; list-style: none; }
.seznam-modelu a { display: block; padding: 1rem; border: 1px solid var(--linka); border-radius: 4px; font-weight: 700; text-decoration: none; }
.markdown { max-width: 46rem; }
.markdown h1, .markdown h2, .markdown h3 { line-height: 1.2; margin-top: 1.6em; }

/* Opakovatelná položka formuláře (osoba, odkaz). Tlačítko musí být na vlastním
   řádku — vedle vstupu vypadalo, že patří k poslednímu poli. */
.polozka { margin: 1rem 0; padding: 0.75rem 1rem 1rem; border: 1px solid var(--linka); border-radius: 4px; }
.polozka h3 { margin: 0 0 0.25rem; font-size: 1rem; color: var(--tlum); }
.polozka label:first-of-type { margin-top: 0.35rem; }
.akce-polozky { margin: 1rem 0 0; }
.akce-polozky button { background: none; color: var(--akcent); }
.rozcestnik { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1rem; padding: 0; list-style: none; }
.rozcestnik a { display: block; padding: 1.25rem; border: 1px solid var(--linka); border-radius: 4px; text-decoration: none; }
.rozcestnik a strong { display: block; font-size: 1.05rem; }
.rozcestnik a span { color: var(--tlum); }

/* Editor a náhled vedle sebe. Náhled je lepivý, aby zůstal v dohledu i při
   dlouhém formuláři; pod 1100 px se sloupce složí pod sebe, jinak by na
   náhled zbylo míň místa, než potřebuje. */
.editor { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 2rem; align-items: start; }
.nahled { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); overflow-y: auto; padding: 1rem 1.25rem; border: 1px solid var(--linka); border-radius: 4px; background: #fafafa; }
.nahled h2 { margin-top: 0; font-size: 1rem; color: var(--tlum); text-transform: uppercase; letter-spacing: 0.06em; }
.nahled input, .nahled textarea { max-width: 100%; }
@media (max-width: 1100px) {
  .editor { grid-template-columns: 1fr; }
  .nahled { position: static; max-height: none; }
}
