/* Booking form and assessment flow. Structure ported from the original site's AssessmentFlow,
   re-skinned with the live site's --mk-* tokens (see mk.css). All classes are prefixed wf-. */

.wf-page{padding-block:calc(var(--mk-nav-h) + var(--mk-s-4)) var(--mk-pad)}
.wf-head{max-width:44rem;margin:0 auto var(--mk-s-5)}
.wf-head h1{font-family:var(--mk-font-heading);font-weight:var(--mk-h-weight);letter-spacing:var(--mk-h-track);font-size:var(--mk-step-4);line-height:1.08;margin:.4rem 0 .8rem}
.wf-head .mk-lede{color:var(--mk-muted);max-width:38rem}
.wf-flow{max-width:44rem;margin-inline:auto}
.wf-step[hidden]{display:none}
.wf-step{animation:wf-in .38s var(--mk-ease) both}
@keyframes wf-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.wf-step{animation:none}}

/* intro */
.wf-intro h2{font-family:var(--mk-font-heading);font-size:var(--mk-step-3);margin:0 0 var(--mk-s-3)}
.wf-facts{list-style:none;padding:0;margin:0 0 var(--mk-s-3);display:grid;gap:.7rem;color:var(--mk-muted)}
.wf-facts strong{font-family:var(--mk-font-heading);font-size:var(--mk-step-1);color:var(--mk-primary);margin-right:.5rem}
.wf-note{padding:1rem 1.2rem;background:var(--mk-card-bg);border:1px solid #f0cdb8;border-radius:var(--mk-radius);color:var(--mk-muted);font-size:.95rem;margin-bottom:var(--mk-s-3)}

/* progress */
.wf-progress{height:4px;border-radius:2px;background:#f0cdb8;overflow:hidden}
.wf-progress span{display:block;height:100%;width:0;background:var(--mk-primary);transition:width .42s var(--mk-ease)}
.wf-progress-label{display:flex;justify-content:space-between;gap:1rem;margin:.7rem 0 var(--mk-s-4);font-size:.9rem;color:var(--mk-muted)}
.wf-progress-label b{font-weight:600;color:var(--mk-primary)}

/* question */
.wf-q{border:0;padding:0;margin:0;min-inline-size:0}
.wf-q legend{display:block;margin-bottom:var(--mk-s-3);padding:0}
.wf-q-text{display:block;font-family:var(--mk-font-heading);font-size:var(--mk-step-2);line-height:1.25;color:var(--mk-fg)}
.wf-q-help{display:block;margin-top:.6rem;color:var(--mk-muted);font-size:.95rem}
.wf-opts{display:grid;gap:.55rem}
.wf-opt{position:relative;display:block;cursor:pointer}
.wf-opt input{position:absolute;opacity:0;width:1px;height:1px}
.wf-opt-body{display:block;padding:1rem 1.2rem;min-height:56px;background:var(--mk-card-bg);border:1px solid #e6d3c4;border-radius:var(--mk-radius);transition:border-color var(--mk-dur) var(--mk-ease),background-color var(--mk-dur) var(--mk-ease),transform var(--mk-dur) var(--mk-ease)}
.wf-opt:hover .wf-opt-body{border-color:var(--mk-primary);transform:translateX(2px)}
.wf-opt input:checked+.wf-opt-body{border-color:var(--mk-primary);background:#fbeadf;font-weight:500}
.wf-opt input:focus-visible+.wf-opt-body{outline:3px solid var(--mk-primary);outline-offset:3px}
.wf-nav{margin-top:var(--mk-s-3);display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}
.wf-link{background:none;border:0;padding:0;font:inherit;color:var(--mk-link);text-decoration:underline;cursor:pointer}

/* crisis / helplines */
.wf-risk{margin-top:var(--mk-s-3);padding:1.2rem 1.4rem;border:1px solid var(--mk-primary);border-left-width:4px;border-radius:var(--mk-radius);background:#fbeadf}
.wf-risk h3{font-family:var(--mk-font-body);font-size:var(--mk-step-0);margin:0 0 .4rem}
.wf-risk p{color:var(--mk-muted);font-size:.95rem;margin:0}
.wf-risk ul{list-style:none;padding:0;margin:.8rem 0 0;display:grid;gap:.4rem}
.wf-risk li{font-size:.95rem;color:var(--mk-muted)}
.wf-risk a{color:var(--mk-link);font-weight:600;text-decoration:none}
.wf-risk .wf-risk-cta{margin-top:.8rem}

/* details + booking fields */
.wf-details h2,.wf-form h2{font-family:var(--mk-font-heading);font-size:var(--mk-step-2);margin:0 0 .6rem}
.wf-lede{color:var(--mk-muted);margin:0 0 var(--mk-s-3)}
.wf-fields{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.wf-field{display:grid;gap:.35rem}
.wf-field--full{grid-column:1 / -1}
.wf-field span{font-size:.9rem;color:var(--mk-muted)}
.wf-field input,.wf-field select,.wf-field textarea{width:100%;padding:.85rem 1rem;min-height:48px;font:inherit;color:var(--mk-fg);background:var(--mk-card-bg);border:1px solid #c9b3a2;border-radius:var(--mk-radius)}
.wf-field textarea{min-height:6rem;resize:vertical}
.wf-field input:focus-visible,.wf-field select:focus-visible,.wf-field textarea:focus-visible{outline:3px solid var(--mk-primary);outline-offset:2px}
.wf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.wf-consent{display:flex;gap:.7rem;align-items:flex-start;margin-top:var(--mk-s-3)}
.wf-consent input{margin-top:.25rem;width:20px;height:20px;flex:none;accent-color:var(--mk-primary)}
.wf-consent span{font-size:.95rem;color:var(--mk-muted)}
.wf-error{margin-top:.9rem;color:#a3271a;font-size:.95rem;font-weight:500}
.wf-error[hidden]{display:none}
.mk-btn[disabled]{opacity:.6;cursor:progress;transform:none}

/* result */
.wf-soft{padding:1.3rem 1.5rem;margin-bottom:var(--mk-s-4);background:#fbeadf;border-radius:var(--mk-radius)}
.wf-soft h3{font-family:var(--mk-font-body);font-size:var(--mk-step-1);margin:0 0 .4rem}
.wf-soft p{color:var(--mk-muted);margin:0}
.wf-soft a{color:var(--mk-link);font-weight:600}
.wf-res-head{display:grid;gap:clamp(1.2rem,4vw,2.4rem);align-items:center}
@media(min-width:40rem){.wf-res-head{grid-template-columns:auto 1fr}}
.wf-ring{position:relative;width:11rem;height:11rem}
.wf-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.wf-ring circle{fill:none;stroke-width:9;stroke-linecap:round}
.wf-ring-track{stroke:#f0cdb8}
.wf-ring-fill{stroke:var(--mk-primary)}
.wf-ring-num{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font-family:var(--mk-font-heading);font-size:var(--mk-step-4);line-height:1;color:var(--mk-fg);margin:0}
.wf-ring-of{font-size:.95rem;color:var(--mk-muted)}
.wf-res-head h2{font-family:var(--mk-font-heading);font-size:var(--mk-step-3);margin:.3rem 0 .5rem}
.wf-res-body{color:var(--mk-muted);margin:0}
.wf-res-sub{font-family:var(--mk-font-heading);font-size:var(--mk-step-1);margin:var(--mk-s-4) 0 var(--mk-s-2)}
.wf-pills{list-style:none;padding:0;margin:0;display:grid;gap:1.1rem}
.wf-pill{display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem}
.wf-pill-label{font-weight:600}
.wf-pill-score{font-family:var(--mk-font-heading);color:var(--mk-primary)}
.wf-pill-score span{color:var(--mk-muted);font-size:.9rem}
.wf-pill-track{grid-column:1 / -1;height:6px;border-radius:3px;background:#f0cdb8;overflow:hidden}
.wf-pill-fill{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--mk-primary),#e8b9a3);transform-origin:left;animation:wf-pill .7s var(--mk-ease) both}
@keyframes wf-pill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.wf-pill-fill{animation:none}}
.wf-pill-band{grid-column:1 / -1;font-size:.9rem;color:var(--mk-muted)}
.wf-next{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
.wf-next a{color:var(--mk-fg);text-decoration:none}
.wf-next a strong{color:var(--mk-link)}
.wf-next a:hover{text-decoration:underline}
.wf-actions{margin-top:var(--mk-s-4);display:flex;flex-wrap:wrap;gap:.8rem}
.wf-disclaimer{margin-top:var(--mk-s-4);padding-top:var(--mk-s-3);border-top:1px solid #e6d3c4;color:var(--mk-muted);font-size:.95rem}

/* success (booking) */
.wf-success{padding:1.5rem;background:var(--mk-card-bg);border-radius:var(--mk-radius-lg);box-shadow:var(--mk-shadow-1)}
.wf-success h2{font-family:var(--mk-font-heading);margin:0 0 .5rem}

/* hub cards */
.wf-choices{display:grid;gap:var(--mk-s-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}
.wf-choices .mk-card h2{font-family:var(--mk-font-heading);font-size:var(--mk-step-2);margin:.3rem 0 .4rem}
.wf-choices .mk-card p{color:var(--mk-muted)}
.wf-choices .mk-card .mk-btn{margin-top:var(--mk-s-2)}

/* prose pages (privacy) */
.wf-prose{max-width:44rem;margin-inline:auto}
.wf-prose h2{font-family:var(--mk-font-heading);font-size:var(--mk-step-2);margin:var(--mk-s-4) 0 var(--mk-s-2)}
.wf-prose p,.wf-prose li{color:var(--mk-fg)}
