/* Formulário de registo para descarregar (só incluído na versão do site com formulário) */
#regDialog [hidden]{display:none !important}
.reg-dialog{width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);overflow:auto}
.reg-dialog::backdrop{background:rgba(10,20,25,.55)}
.form-card{position:relative;padding:24px 22px 22px}
.reg-close{position:absolute;top:10px;right:12px;width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:var(--ink);font-size:1.7rem;line-height:1;cursor:pointer}
.reg-close:hover{background:var(--accent-soft)}
.reg-close:focus-visible{outline:3px solid var(--accent)}
#reg-title{margin:0 40px 8px 0}
.form-card form{display:grid;gap:14px;margin-top:14px}
.field label{display:block;font-weight:650;margin-bottom:4px}
.field input[type=text],.field input[type=email],.field select{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
.field input:focus-visible,.field select:focus-visible{outline:3px solid var(--accent);outline-offset:1px}
.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--red)}
.req{color:var(--red);font-weight:800}
.fhelp{font-size:.88rem;color:var(--ink-faint);margin:4px 0 0}
.ferr{font-size:.92rem;color:var(--red);margin:4px 0 0;min-height:0}
.ferr:empty{display:none}
.formerr{font-weight:650}
.field.check{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:start}
.field.check input{width:20px;height:20px;margin-top:3px}
.field.check label{font-weight:500;margin:0}
.field.check .fhelp{grid-column:2}
.combo{position:relative}
.opts{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 4px);max-height:260px;overflow:auto;margin:0;padding:4px;list-style:none;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}
.opts li{padding:8px 10px;border-radius:8px;cursor:pointer;font-size:.96rem}
.opts li[aria-selected=true],.opts li:hover{background:var(--accent-soft)}
.opts li.none{cursor:default;color:var(--ink-faint)}
#reg-btn[disabled]{opacity:.6;cursor:progress}
#regOk{border-left:4px solid var(--green);background:var(--accent-soft);padding:14px 18px;border-radius:0 10px 10px 0;margin-top:14px}
#regOk p:last-child{margin-bottom:0}
.radios{border:0;margin:0;padding:0;min-width:0}
.radios legend{font-weight:650;margin-bottom:6px;padding:0}
.radios[aria-invalid=true] legend{color:var(--red)}
.field label.radio{display:flex;align-items:center;gap:10px;font-weight:500;margin:0 0 6px;cursor:pointer}
.field label.radio input{width:20px;height:20px;margin:0;flex:none}
.field label.radio input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
