/* PubLiga – styles for pub pages, legal pages and admin (loaded after site.css) */
footer a { color:#9b8f84; }
main.wide { max-width:760px; text-align:left; width:100%; }
main.wide .logo { text-align:center; }
.card { background:var(--card); border:1px solid #3a2f26; border-radius:14px; padding:20px; margin-top:20px; }
.pub-head { text-align:center; margin-top:18px; }
.pub-head h1 { font-size:clamp(28px,6vw,40px); }
.pub-head .where { color:var(--muted); margin-top:4px; }
.board { width:100%; border-collapse:collapse; margin-top:10px; font-size:15px; }
.board th, .board td { padding:8px 6px; border-bottom:1px solid #3a2f26; text-align:left; }
.board th { color:var(--muted); font-weight:600; font-size:13px; }
.empty { color:var(--muted); text-align:center; padding:12px 0; }
.btnrow { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:16px; }
.btn { display:inline-block; background:var(--amber); color:#1a1300; font-weight:700; padding:10px 18px; border-radius:10px; text-decoration:none; border:0; cursor:pointer; font-size:15px; }
.btn.ghost { background:transparent; color:var(--text); border:1px solid #3a2f26; }
/* legal pages */
.legal h1 { font-size:clamp(26px,5vw,34px); margin-top:24px; }
.legal h2 { font-size:20px; margin-top:28px; color:var(--amber); }
.legal p, .legal li { font-size:16px; line-height:1.6; color:var(--muted); }
.legal p { margin-top:10px; }
.legal ul { margin:10px 0 0 22px; }
.legal li { margin-top:6px; }
.legal .updated { font-size:14px; }
.legal a { color:var(--amber); }
/* admin */
.admin table { width:100%; border-collapse:collapse; font-size:14px; }
.admin th, .admin td { padding:8px 6px; border-bottom:1px solid #3a2f26; text-align:left; vertical-align:top; }
.admin label { display:block; margin-top:12px; font-size:14px; color:var(--muted); }
.admin input[type=text], .admin input[type=password], .admin input[type=datetime-local], .admin select { width:100%; padding:10px; margin-top:4px; border-radius:8px; border:1px solid #3a2f26; background:#14110f; color:var(--text); font-size:15px; }
.admin .msg { padding:10px 14px; border-radius:8px; margin-top:16px; background:#1f2a1a; color:#cfe8c0; }
.admin .msg.err { background:#2a1a1a; color:#f0c0c0; }
.admin form.inline { display:inline; }
.admin .small { font-size:13px; color:var(--muted); }
/* game nights */
.admin details.card summary { cursor:pointer; font-weight:700; }
.admin .board input[type=text] { margin-top:0; padding:6px 8px; }
.results h3 { font-size:16px; margin-top:14px; }
.results ol { margin:6px 0 0 22px; color:var(--muted); }
.results li b { color:var(--text); }
.tabs { display:flex; flex-wrap:wrap; gap:6px; justify-content:center; margin-top:14px; }
.tabs a { padding:6px 12px; border:1px solid #3a2f26; border-radius:999px; color:var(--muted); text-decoration:none; font-size:14px; }
.tabs a[aria-current] { background:var(--amber); color:#1a1300; border-color:var(--amber); font-weight:700; }
.board .small, .card .small { font-size:13px; color:var(--muted); }
.board a { color:inherit; }
.linkbtn { background:none; border:0; color:var(--muted); cursor:pointer; padding:0 2px; text-decoration:underline dotted; }
#qrbox:fullscreen { background:#14110f; display:flex; flex-direction:column; align-items:center; justify-content:center; }
#qrbox:fullscreen svg { width:60vmin !important; height:60vmin !important; }
.admin textarea { width:100%; padding:10px; margin-top:4px; border-radius:8px; border:1px solid #3a2f26; background:#14110f; color:var(--text); font:inherit; font-size:15px; resize:vertical; }
.pub-about p { margin-top:8px; line-height:1.5; }
.pub-about p:first-child { margin-top:0; }
.pub-about a { color:var(--amber); }
.tiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:10px; }
.tile { background:#14110f; border:1px solid #3a2f26; border-radius:10px; padding:12px; text-align:center; }
.tile b { display:block; font-size:26px; color:var(--amber); }
.tile span { font-size:13px; color:var(--muted); }
