/* /poll/ — page-specific rules on top of swiss.css (strict CSP: no inline styles, so they live here). */
[hidden]{display:none !important;}
.poll-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

section.spread.q{padding-top:56px;padding-bottom:56px;}
section.spread.q h2{max-width:none;font-size:clamp(22px,3vw,34px);line-height:1.15;margin-bottom:12px;}
section.spread.q .sect-meta .req{color:var(--red);}
.q .opts{grid-column:5 / span 8;border-top:1px solid var(--rule);}
.q .hint{grid-column:5 / span 8;margin:0 0 20px;}
.q .opt{display:flex;align-items:flex-start;gap:14px;padding:14px 0;min-height:48px;border-bottom:1px solid var(--rule);
  font-family:var(--font-body);font-size:17px;line-height:1.4;cursor:pointer;}
.q .opt:hover{background:rgba(10,10,8,0.035);}
.q .opt input{flex:0 0 auto;width:22px;height:22px;margin:1px 0 0;accent-color:var(--red);}
.q .opt:has(input:checked){color:var(--red);}
.q .opt input:focus-visible,.q textarea:focus-visible,.q input[type=email]:focus-visible,.send:focus-visible{outline:2px solid var(--red);outline-offset:2px;}
.q textarea,.q input[type=email]{grid-column:5 / span 8;width:100%;font-family:var(--font-body);font-size:17px;line-height:1.5;
  color:var(--ink);background:transparent;border:1px solid var(--rule);border-radius:0;padding:12px 14px;}
.q textarea{min-height:140px;resize:vertical;}

.poll-actions{max-width:var(--maxw);margin:0 auto;padding:48px 40px 72px;border-bottom:1px solid var(--rule);}
.poll-actions .send{cursor:pointer;font:inherit;font-family:var(--font-mono);font-size:12px;}
.poll-actions .send:disabled{opacity:.55;cursor:default;}
#poll-msg{margin:20px 0 0;font-family:var(--font-body);font-size:16px;color:var(--red);min-height:1.5em;}
#poll-done h2{grid-column:5 / span 8;}
#poll-done .description{grid-column:5 / span 7;font-family:var(--font-body);font-size:18px;line-height:1.5;margin:0;}

[dir="rtl"] .poll-hp{left:auto;right:-9999px;}

@media (max-width:800px){
  .grid12{grid-template-columns:repeat(12,minmax(0,1fr));}
  .q .opt span{min-width:0;overflow-wrap:anywhere;}
  .poll-actions{padding-left:20px;padding-right:20px;}
  section.spread.q .sect-num{grid-column:1 / span 4;}
  .q .opts,.q .hint,.q textarea,.q input[type=email],#poll-done h2,#poll-done .description{grid-column:1 / span 12;}
  .q .opt{font-size:16px;padding:14px 2px;}
  .poll-actions .send{width:100%;text-align:center;}
}
