:root { --bg:#fafafa; --fg:#111; --muted:#666; --brand:#c22; }
* { box-sizing:border-box; }
body { margin:0; font:16px/1.5 system-ui, -apple-system, Segoe UI, Roboto, Arial; color:var(--fg); background:var(--bg); }
.card { max-width:760px; margin:24px auto; background:#fff; padding:24px; border-radius:16px; box-shadow:0 6px 30px rgba(0,0,0,.06); }
.card.center { text-align:center; }
.logo { display:block; max-width:180px; margin:0 auto 12px; }
h1 { margin:.2em 0 .4em; font-size:1.8rem; }
.tagline { margin:.2em 0 1em; color:var(--muted); }
.facts { list-style:none; padding:0; margin:0 0 18px; }
.facts li { margin:.2em 0; }
.btn { display:inline-block; padding:12px 18px; border-radius:999px; background:var(--brand); color:#fff; text-decoration:none; font-weight:600; }
.btn:hover { opacity:.9; }
.map img { width:100%; border-radius:12px; border:1px solid #eee; }
.map figcaption { font-size:.9rem; color:var(--muted); margin-top:6px; }
.grid { display:grid; gap:12px; grid-template-columns:1fr 1fr; }
@media (max-width:600px){ .grid{ grid-template-columns:1fr; } }
label { display:block; margin:10px 0; font-weight:600; }
input, textarea { width:100%; padding:10px; border:1px solid #ddd; border-radius:10px; font:inherit; }
.table { width:100%; border-collapse:collapse; }
.table th, .table td { border-bottom:1px solid #eee; padding:8px; text-align:left; }
.errors { background:#ffe9e9; color:#900; padding:10px 14px; border-radius:10px; margin:10px 0 14px; }
.smallprint { color:var(--muted); font-size:.85rem; }
footer { text-align:center; color:var(--muted); margin:16px 0 24px; font-size:.9rem; }
.heroimg {
  display:block;
  max-width:500px;   /* na velkém displeji nikdy nepřesáhne 500px */
  width:100%;        /* jinak roztáhne podle dostupného místa */
  margin:0 auto 16px;
  border-radius:12px;
}

@media (max-width:600px) {
  .heroimg {
    max-width:300px;  /* na mobilu omezeno, nebude přes celou šířku */
  }
}

