/* MN8 client onboarding form — mn8digital.com/onboarding. GEL design tokens. */
.onb-root {
  --bg:#02122F; --card:#051F45; --card2:#0B2C5A; --text:#F2F2F2; --body:#C7D2E4;
  --muted:#9CAAC0; --lime:#86E54A; --ink:#141414; --border:rgba(128,164,223,.22);
  --border2:rgba(128,164,223,.38); --r:.875rem;
  background:var(--bg); color:var(--body);
  font-family:Montserrat,-apple-system,"Segoe UI",sans-serif;
  min-height:100vh; padding:0 16px 80px; font-size:16px; line-height:1.6;
}
.onb-root *{box-sizing:border-box}
.onb-wrap{max-width:860px;margin:0 auto}

/* hero */
.onb-hero{padding:64px 0 28px;text-align:left}
.onb-hero .brand{color:var(--lime);font-weight:800;letter-spacing:2.5px;font-size:13px}
.onb-hero h1{color:var(--text);font-size:clamp(28px,5vw,44px);line-height:1.12;margin:12px 0 10px;font-weight:800}
.onb-hero p{max-width:640px;margin:8px 0}
.onb-hero .rule{background:var(--card);border:1px solid var(--border2);border-left:4px solid var(--lime);
  border-radius:10px;padding:12px 16px;margin-top:18px;color:var(--text);font-size:15px}

/* sections */
.onb-sec{background:var(--card);border:1px solid var(--border);border-radius:var(--r);
  padding:26px 28px;margin:18px 0}
.onb-sec h2{color:var(--text);font-size:19px;margin:0 0 6px;font-weight:700;display:flex;align-items:center;gap:12px}
.onb-sec h2 .n{background:var(--lime);color:var(--ink);font-weight:800;font-size:14px;
  border-radius:8px;min-width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center}
.onb-sec h2 em{font-size:13px;color:var(--muted);font-style:normal;font-weight:500}
.onb-hint{color:var(--muted);font-size:14px;margin:4px 0 14px}
.onb-hint strong{color:#F5B759}
.onb-privacy{color:var(--muted);font-size:13px;margin-top:14px}

/* questions */
.onb-q{margin:16px 0;border:0;padding:0}
.onb-q label, .onb-q legend{display:block;color:var(--text);font-weight:600;font-size:15px;margin-bottom:2px;padding:0}
.onb-row{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
@media(max-width:640px){.onb-row{grid-template-columns:1fr}}

/* inputs */
.onb-root input[type=text], .onb-root input[type=email], .onb-root input[type=tel],
.onb-root input[type=url], .onb-root input[type=number], .onb-root textarea{
  width:100%;background:var(--card2);border:1px solid var(--border2);border-radius:10px;
  color:var(--text);padding:11px 14px;font-size:16px;font-family:inherit;margin-top:7px}
.onb-root input:focus, .onb-root textarea:focus{outline:2px solid var(--lime);outline-offset:1px;border-color:var(--lime)}
.onb-root ::placeholder{color:var(--muted);opacity:.7}
.onb-short input{max-width:220px}
.onb-root textarea{min-height:76px;resize:vertical}

/* radio / checkbox pills */
.onb-root .wpcf7-radio, .onb-root .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:9px;margin-top:9px}
.onb-root .wpcf7-list-item{margin:0}
.onb-root .wpcf7-list-item label{display:inline-flex;align-items:center;cursor:pointer;margin:0;
  border:1.5px solid var(--border2);border-radius:999px;padding:8px 18px;font-weight:500;
  font-size:14.5px;color:var(--body);background:var(--card2);transition:all .12s}
.onb-root .wpcf7-list-item label:hover{border-color:var(--lime)}
.onb-root .wpcf7-list-item input{position:absolute;opacity:0;pointer-events:none}
.onb-root .wpcf7-list-item label:has(input:checked){background:var(--lime);color:var(--ink);
  border-color:var(--lime);font-weight:700}
.onb-root .wpcf7-list-item label:has(input:focus-visible){outline:2px solid var(--lime);outline-offset:2px}

/* honeypot */
.onb-hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}

/* submit */
.onb-root .onb-submit{background:var(--lime);color:var(--ink);font-weight:800;font-size:17px;
  border:0;border-radius:12px;padding:16px 34px;cursor:pointer;margin-top:18px;font-family:inherit}
.onb-root .onb-submit:hover{filter:brightness(1.08)}
.onb-root .wpcf7-spinner{margin:10px}

/* CF7 validation + response */
.onb-root .wpcf7-not-valid-tip{color:#FF8A8A;font-size:13px;margin-top:5px}
.onb-root .wpcf7-response-output{border:1.5px solid var(--lime)!important;border-radius:12px;
  padding:16px 20px!important;margin:22px 0 0!important;color:var(--text);font-size:16px;background:var(--card2)}
.onb-root form.invalid .wpcf7-response-output{border-color:#FF8A8A!important}

/* v2: beat the diteck theme's display font + spacing on headings, align legends */
.onb-root h1, .onb-root h2, .onb-root legend {
  font-family: Montserrat, -apple-system, "Segoe UI", sans-serif !important;
  letter-spacing: normal !important; word-spacing: normal !important;
  text-transform: none !important;
}
.onb-root fieldset.onb-q{margin:16px 0;min-width:0}
.onb-root legend{float:none;width:auto;margin:0 0 2px;line-height:1.5}
