:root { --bg:#0b1220; --panel:#121b2e; --line:#243049; --text:#e6ebf5; --muted:#93a0b8;
  --accent:#f59e0b; --ok:#22c55e; --err:#ef4444; --radius:12px; }
* { box-sizing:border-box; }
body { margin:0; font:15px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; background:var(--bg); color:var(--text); }
a { color:var(--accent); }
header { border-bottom:1px solid var(--line); }
.wrap { max-width:960px; margin:0 auto; padding:0 20px; }
header .wrap { display:flex; align-items:center; justify-content:space-between; gap:12px; height:60px; }
.brand { font-weight:700; letter-spacing:.02em; color:var(--text); text-decoration:none; }
.brand b { color:var(--accent); }
nav a { color:var(--muted); text-decoration:none; margin-left:18px; }
nav a:hover { color:var(--text); }
main { padding:32px 0 64px; }
h1 { font-size:2rem; line-height:1.2; margin:.2em 0 .4em; }
h2 { font-size:1.2rem; margin:1.8em 0 .6em; }
.muted { color:var(--muted); }
.grid { display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.card { background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; }
.card h3 { margin:.1em 0 .4em; }
.tag { display:inline-block; font-size:.75rem; padding:.1em .55em; border-radius:99px; border:1px solid var(--line); color:var(--muted); }
.tag.free { color:var(--ok); border-color:#1f5134; }
ul.clean { padding-left:1.1em; margin:.4em 0; }
label { display:block; font-size:.85rem; color:var(--muted); margin:.9em 0 .3em; }
input, textarea, select { width:100%; padding:.6em .7em; border-radius:8px; border:1px solid var(--line); background:#0d1528; color:var(--text); font:inherit; }
textarea { min-height:90px; }
.row { display:flex; gap:12px; flex-wrap:wrap; }
.row > * { flex:1 1 200px; }
button, .btn { display:inline-block; padding:.65em 1.1em; border-radius:8px; border:1px solid var(--line); background:#1a2540; color:var(--text); font:inherit; cursor:pointer; text-decoration:none; }
button.primary, .btn.primary { background:var(--accent); border-color:var(--accent); color:#1b1204; font-weight:600; }
button:disabled { opacity:.5; cursor:default; }
.msg { margin-top:12px; padding:.6em .8em; border-radius:8px; display:none; }
.msg.ok { display:block; background:#0f2a1b; border:1px solid #1f5134; }
.msg.err { display:block; background:#2a1111; border:1px solid #5b1f1f; }
code, pre { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.85em; }
pre { background:#0d1528; border:1px solid var(--line); border-radius:8px; padding:.7em .85em; overflow-x:auto; white-space:pre-wrap; word-break:break-all; }
table { width:100%; border-collapse:collapse; font-size:.9rem; }
th, td { text-align:left; padding:.5em .6em; border-bottom:1px solid var(--line); vertical-align:top; }
.hp { position:absolute; left:-9999px; }
footer { border-top:1px solid var(--line); padding:20px 0; color:var(--muted); font-size:.85rem; }
@media (max-width:560px) { nav a { margin-left:10px; } h1 { font-size:1.6rem; } }

/* Ceník a místo pro obrázky */
.price { font-size:1.45rem; font-weight:700; margin:.3em 0 .1em; }
.price small { display:block; font-size:.75rem; font-weight:400; color:var(--muted); letter-spacing:.02em; }
.card.hlavni { border-color:var(--accent); }
.obrazek { display:flex; align-items:center; justify-content:center; text-align:center; min-height:220px;
  border:1px dashed var(--line); border-radius:var(--radius); background:#0d1528; color:var(--muted);
  font-size:.85rem; padding:16px; margin:.6em 0; }
.obrazek img { max-width:100%; height:auto; border-radius:var(--radius); }
