/* Klryz poll: sits on top of the main site stylesheet (../assets/style.css), so colours, fonts, header,
   footer, buttons and form fields all match klryz.com. Only poll-specific pieces live here. */
.skip{position:absolute;left:-9999px;background:var(--card);color:var(--ink);padding:10px 14px;z-index:50;border-radius:8px}
.skip:focus{left:8px;top:8px}
.poll-page .hero h1{color:#fff}
.note{background:var(--raised);border:1px solid var(--line);border-radius:14px;padding:12px 16px;color:var(--ink)}
.poll-form{padding:8px 24px 20px}
.q{padding:18px 0;border-bottom:1px solid var(--line)}
.q:last-of-type{border-bottom:0}
.q-label{display:block;font:700 1.08rem/1.35 var(--serif);color:var(--ink);margin-bottom:8px}
.q-sub{display:block;font-weight:600;margin:14px 0 6px;color:var(--ink)}
.q-hint{margin:-2px 0 10px;color:var(--muted);font-size:.92rem}
.req,.opt{display:inline-block;font:800 .66rem var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;vertical-align:middle;margin-left:6px}
.req{background:linear-gradient(135deg,var(--glow),var(--saffron));color:var(--deep)}
.opt{background:var(--raised);color:var(--muted)}
.scale,.checks{display:flex;flex-wrap:wrap;gap:8px}
.scale label,.checks label{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1.5px solid var(--line);border-radius:999px;background:var(--card);cursor:pointer;font-weight:600;margin:0}
.scale label:has(input:checked),.checks label:has(input:checked){border-color:var(--bright);background:var(--raised);color:var(--ink)}
.scale input,.checks input{accent-color:var(--bright);margin:0}
.poll-form input[type=text],.poll-form input[type=email],.poll-form input[type=number],.poll-form textarea{width:100%}
.poll-form textarea{min-height:110px}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding-top:18px}
.btn.primary{font-size:1.05rem}
.status{color:var(--muted);margin:0}
.status.err{color:var(--bad);font-weight:600}
.thanks{display:none;text-align:center}
.thanks .btn{margin:6px 4px}
:focus-visible{outline:3px solid var(--saffron);outline-offset:2px}
/* Admin */
.poll-admin .admin-login{max-width:420px}
.meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.charts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin:10px 0 26px}
.chart-block{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.chart-block h3{margin-top:0}
.suggestions{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 14px 14px 34px}
.suggestions li{margin:4px 0}
.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.table-wrap table{width:100%;border-collapse:collapse;font-size:.92rem}
.table-wrap th,.table-wrap td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.table-wrap th{background:var(--raised);font-weight:700}
