:root { --ink: #1c1c1c; --muted: #555; --line: #c9c9c9; --accent: #1d5c9c; --err: #b00020; --ok: #1a7f37; }
* { box-sizing: border-box; }
body { margin: 0; background: #f4f4f2; color: var(--ink); font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.form-page { max-width: 44rem; margin: 2rem auto; padding: 2rem; background: #fff; border: 1px solid var(--line); border-radius: 6px; }
h1 { font-size: 1.6rem; margin: 0 0 1.5rem; }
label { display: block; font-weight: 600; margin-bottom: .25rem; }
input[type="text"], input[type="email"], input[type="date"], input[type="number"], select, textarea {
  width: 100%; padding: .5rem .6rem; font: inherit; border: 1px solid var(--line); border-radius: 4px; background: #fff; }
textarea { resize: vertical; }
.row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.check { display: flex; align-items: center; gap: .5rem; }
.check label { margin: 0; font-weight: normal; }
button { padding: .6rem 1.4rem; font: inherit; font-weight: 600; color: #fff; background: var(--accent); border: 0; border-radius: 4px; cursor: pointer; }
button:hover { filter: brightness(1.1); }
.error { display: block; color: var(--err); font-size: .9rem; margin-top: .25rem; }
.alert { padding: .75rem 1rem; border: 1px solid var(--err); color: var(--err); background: #fff5f6; border-radius: 4px; margin-bottom: 1rem; }
.success { padding: .75rem 1rem; border: 1px solid var(--ok); color: var(--ok); background: #f2fbf4; border-radius: 4px; }
/* honeypot — skrytý mimo obrazovku, ne display:none (některé boty to detekují) */
.hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 40rem) { .form-page { margin: 0; border: 0; border-radius: 0; padding: 1.25rem; } .row { grid-template-columns: 1fr; } }

/* nenapadny odkaz pod ramecek uvodni stranky */
.pod-ramecek { max-width: 44rem; margin: -1rem auto 2rem; padding: 0 2rem; text-align: right; }
.pod-ramecek a { color: var(--muted); font-size: .85rem; text-decoration: none; }
.pod-ramecek a:hover { color: var(--accent); text-decoration: underline; }
@media (max-width: 40rem) { .pod-ramecek { margin-top: .75rem; padding: 0 1.25rem; } }
