/* 🏕 Veřejná stránka akce — styly .ak-* pro odkaz účastníkům (app/sdileno.html) i sekci Akce v hubu (web/muj-ucet/akce.js).
   DVĚ stejné kopie: app/modules/akce-public.css ←→ web/muj-ucet/akce-public.css (hub má jiný hosting). Hlídá test-akce-hub.js.
   Barvy jdou přes proměnné --card, --line, --acc, --acc-soft, --on-acc, --muted, --bad, --shadow — odkaz je má v :root,
   hub si je namapuje na svoje (.mu-akce ve styles.css), takže tmavý režim funguje na obou místech bez druhé sady pravidel. */
.ak-logo { width:40px; height:40px; border-radius:12px; object-fit:contain; background:#fff; }
.ak-hero { background:linear-gradient(135deg,#14532d,#16a34a); color:#fff; border-radius:16px; padding:16px; margin-bottom:12px; box-shadow:var(--shadow); }
.ak-hero__t { font-size:22px; font-weight:800; line-height:1.2; }
.ak-cd { display:inline-block; margin-top:6px; background:rgba(255,255,255,.18); border-radius:999px; padding:3px 11px; font-size:13px; font-weight:700; }
.ak-hero__m { display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:8px; font-size:14px; opacity:.92; }
.ak-tabs { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.ak-tabs button, .ak-go button { border:1px solid var(--line); background:var(--card); color:inherit; border-radius:999px;
  padding:8px 14px; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.ak-tabs button[aria-pressed="true"] { background:var(--acc); border-color:var(--acc); color:var(--on-acc); }
.ak-go { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px; margin-bottom:14px; }
.ak-go button { border-radius:14px; padding:14px; text-align:left; font-size:15px; }
.ak-card { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:14px; box-shadow:var(--shadow); margin-bottom:12px; overflow:hidden; }
.ak-card.is-today { border-color:var(--acc); }
.ak-h { font-weight:700; font-size:15px; margin-bottom:6px; }
.ak-i { display:flex; gap:10px; font-size:14.5px; padding:5px 0; border-top:1px dashed var(--line); }
.ak-i:first-of-type { border-top:0; }
.ak-i > span { flex:0 0 118px; font-weight:700; font-size:13px; line-height:1.55; color:var(--acc); white-space:nowrap; }
.ak-i > div { min-width:0; overflow-wrap:anywhere; }
.ak-race { padding:0; }
.ak-race__h { background:#14532d; color:#fff; font-weight:700; padding:11px 14px; }
.ak-race__b { padding:8px 14px 10px; }
.ak-map { position:relative; display:block; background:#eef4ea; border-bottom:1px solid var(--line); }
.ak-map img { display:block; width:100%; height:300px; object-fit:contain; }
.ak-map span { position:absolute; right:8px; bottom:8px; background:rgba(15,23,42,.78); color:#fff; font-size:12px; font-weight:700; padding:4px 9px; border-radius:999px; }
.ak-who { display:flex; flex-wrap:wrap; gap:6px; align-items:center; padding:10px 14px; border-top:1px solid var(--line); }
.ak-card.ak-who { border-top:1px solid var(--line); }
.ak-who b { width:100%; font-size:14px; }
.ak-who span { background:var(--acc-soft); border-radius:999px; padding:4px 10px; font-size:13px; font-weight:600; }
.ak-units { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr)); gap:12px; }
.ak-units .ak-card { margin-bottom:0; }
.ak-room { display:flex; gap:10px; padding:6px 0; border-top:1px dashed var(--line); font-size:14.5px; }
.ak-room:first-of-type { border-top:0; }
.ak-room i { flex:0 0 96px; font-style:normal; color:var(--muted); font-size:13px; }
.ak-m { color:var(--muted); font-size:13px; margin-top:3px; }
.ak-sect { font-weight:800; font-size:16px; margin:16px 0 8px; }
.ak-tip.is-pick { border-color:#facc15; }
.ak-fee { padding:10px 14px; border-top:1px solid var(--line); }
.ak-fee b { font-size:14.5px; }
.ak-qr { display:block; width:180px; max-width:100%; margin-top:8px; border-radius:10px; background:#fff; padding:6px; }
.ak-pack .ak-h { display:flex; justify-content:space-between; gap:8px; }
.ak-pack__n { color:var(--muted); font-size:13px; font-weight:600; }
.ak-chk { display:flex; align-items:flex-start; gap:10px; padding:8px 0; border-top:1px dashed var(--line); font-size:15px; cursor:pointer; }
.ak-chk:first-of-type { border-top:0; }
.ak-chk input { width:20px; height:20px; flex:0 0 auto; margin:1px 0 0; accent-color:var(--acc); }
.ak-chk input:checked + span { color:var(--muted); text-decoration:line-through; }
.ak-f { display:block; margin-bottom:10px; }
.ak-f span { display:block; font-size:13px; font-weight:600; color:var(--muted); margin-bottom:4px; }
.ak-f input, .ak-f select, .ak-f textarea { box-sizing:border-box; width:100%; font:inherit; font-size:16px; padding:10px 12px; border:1.5px solid var(--line); border-radius:10px; background:var(--card); color:inherit; }
.ak-2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ak-btn { width:100%; border:0; border-radius:12px; background:var(--acc); color:var(--on-acc); font:inherit; font-size:16px; font-weight:700; padding:13px; cursor:pointer; margin-top:4px; }
.ak-btn[disabled] { opacity:.6; }
.ak-err { color:var(--bad); font-size:14px; margin:6px 0; }
.ak-note { white-space:pre-line; font-size:14.5px; margin-top:6px; overflow-wrap:anywhere; }
.ak-card.ak-note { margin-top:0; }
.ak-contact { text-align:center; color:var(--muted); font-size:14px; margin:14px 0 4px; }
.kak-link { display:inline-block; margin:6px 6px 0 0; padding:4px 10px; border-radius:999px; background:var(--acc-soft); color:var(--acc);
  font-size:13px; font-weight:700; text-decoration:none; }
.kak-navs { display:flex; flex-wrap:wrap; align-items:center; gap:0 2px; margin-top:6px; }
.kak-navs > span { font-size:12px; color:var(--muted); margin-right:4px; }
@media (max-width:420px) { .ak-map img { height:240px; } }
@media (max-width:360px) { .ak-i > span { flex-basis:84px; white-space:normal; } }
