/* DiffeRENT HMO health check - customer form. Builds on site.css. No inline styles (strict CSP). */
[hidden]{display:none !important}
.hcpage{position:relative;overflow:hidden;padding:36px 0 64px;min-height:70vh}
.hcpage .aurora{opacity:.55}
.hc-wrap{position:relative;max-width:800px}
.hc-back-top{margin-left:auto}
.hc-card{border-radius:22px;border:1px solid rgba(160,185,255,.18);background:linear-gradient(180deg,rgba(18,28,62,.92),rgba(10,16,38,.96));box-shadow:0 40px 100px -30px rgba(0,0,0,.8);padding:22px 18px;display:grid;gap:16px;animation:rise .4s var(--ease)}
@media (min-width:640px){.hc-card{padding:34px}}
.hc-h1{font-size:clamp(26px,5vw,40px);font-weight:700;letter-spacing:-.03em;line-height:1.1}
.hc-h1:focus{outline:none}
.hc-intro{color:var(--muted);font-size:15px}
.hc-intro:empty{display:none}
.hc-small{color:var(--muted-2);font-size:13px;line-height:1.5}
.hc-small a,.hc-card .lead a{color:var(--blue-text)}
.hc-actions{display:flex;flex-wrap:wrap;gap:12px}
.hc-actions .btn{white-space:normal;text-align:center}

/* progress */
.hc-progress-row{display:grid;gap:8px}
.hc-count{font:600 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blue-text)}
.hc-progress{-webkit-appearance:none;appearance:none;width:100%;height:8px;border:0;border-radius:99px;background:rgba(160,185,255,.12);overflow:hidden}
.hc-progress::-webkit-progress-bar{background:rgba(160,185,255,.12);border-radius:99px}
.hc-progress::-webkit-progress-value{background:var(--blue);border-radius:99px;transition:width .3s var(--ease)}
.hc-progress::-moz-progress-bar{background:var(--blue);border-radius:99px}

/* questions. Copy deterrent: question text cannot be selected (not real protection, see JS). */
.hc-questions{display:grid;gap:18px}
.hc-q{border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:0;min-width:0;background:rgba(255,255,255,.02);display:grid;gap:12px}
.hc-q.is-error{border-color:var(--red)}
.hc-q-text{padding:0;font:600 16px/1.45 var(--body);color:var(--fg);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.hc-q-hint,.hc-q-upload{color:var(--muted-2);font-size:13.5px;-webkit-user-select:none;user-select:none}
.hc-q-err{color:var(--red-text);font-size:13.5px;font-weight:600}
.hc-opts{display:grid;gap:8px}
.hc-opt{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:12px 14px;border:1.5px solid var(--line-2);border-radius:12px;background:rgba(255,255,255,.03);cursor:pointer;transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}
.hc-opt:hover{border-color:var(--blue);background:var(--blue-soft)}
.hc-opt input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--red)}
.hc-opt span{font-size:15px;line-height:1.4}
.hc-opt:has(input:checked){border-color:var(--red);background:var(--red-soft)}
.hc-opt:has(input:focus-visible){outline:2px solid #8FB2FF;outline-offset:2px}
.hc-in{width:100%;min-height:48px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line-2);background:rgba(7,12,28,.6);color:var(--fg);font:500 16px var(--body);color-scheme:dark}
.hc-in:focus{border-color:var(--blue)}
.hc-in:disabled{opacity:.45}
.hc-in-short{max-width:240px}
.hc-unit{color:var(--muted-2);font-size:13px}
.hc-extra{display:flex;flex-wrap:wrap;gap:8px 18px}
.hc-check{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);cursor:pointer}
.hc-check input{width:18px;height:18px;accent-color:var(--red)}
.hc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* review */
.hc-review{display:grid;gap:14px}
.hc-rv-sec{border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:grid;gap:10px}
.hc-rv-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.hc-rv-head h2{font-size:18px}
.hc-rv-list{display:grid;gap:8px;margin:0}
.hc-rv-row{display:grid;gap:2px;font-size:14px}
.hc-rv-row dt{color:var(--muted-2);-webkit-user-select:none;user-select:none}
.hc-rv-row dd{margin:0;color:var(--fg);font-weight:600;overflow-wrap:anywhere}
.hc-declare{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--muted);line-height:1.5}
.hc-declare input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--red)}
.hc-declare a{color:var(--blue-text)}
.hc-error{color:var(--red-text);font-weight:600;font-size:14.5px}
.hc-msg{padding:14px 16px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--blue-soft);font-size:15px;line-height:1.5}
.hc-msg.is-bad{border-color:var(--red);background:var(--red-soft)}
.hc-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.hc-nav .btn[hidden]{display:none}
.hc-nav .btn[disabled]{opacity:.4;cursor:default}
.hc-foot{border-top:1px solid var(--line);padding:24px 0}
.hc-foot-in{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}

/* no printing of the questions (deterrent only) */
@media print{
  body *{display:none !important}
  body::before{content:"This form is not available for printing.";display:block;font:16px/1.5 sans-serif;color:#000;padding:24px}
}
@media (prefers-reduced-motion:reduce){.hc-card{animation:none}.hc-progress::-webkit-progress-value{transition:none}}
