/* Be Wise contact pages: shared styles (hub /contact and every /<app>-contact page) */
:root{
  --brand:#16294A;            /* overridden per page with the app's own colour */
  --brand-2:#0E5B4E;
  --ink:#152238;
  --ink-soft:#4E5B72;
  --paper:#F4F6F8;
  --white:#FFFFFF;
  --gold:#E8A33D;
  --gold-dark:#C9852A;
  --line:#D9DEE5;
  --error:#B3261E;
  --ok:#1E6B45;
  --font-display:'Sora',system-ui,sans-serif;
  --font:'Inter',system-ui,-apple-system,sans-serif;
}
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
body{ font-family:var(--font); background:var(--paper); color:var(--ink); line-height:1.6; -webkit-font-smoothing:antialiased; }
a{ color:inherit; }
:focus-visible{ outline:3px solid var(--gold); outline-offset:2px; }
.wrap{ max-width:680px; margin:0 auto; padding:0 20px; }

/* Header */
header.cf-head{ background:linear-gradient(120deg,var(--brand) 0%,var(--brand) 55%,var(--brand-2) 140%); color:#fff; padding:18px 0 64px; }
.cf-head .wrap{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.cf-brand{ display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:800; font-size:1.2rem; text-decoration:none; color:#fff; }
.cf-brand img{ width:40px; height:40px; filter:drop-shadow(0 2px 6px rgba(0,0,0,.35)); }
.cf-back{ color:rgba(255,255,255,.85); font-size:.9rem; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.cf-back:hover{ color:#fff; }

/* Card */
main.cf-main{ margin-top:-44px; padding-bottom:48px; }
.cf-card{ background:var(--white); border:1px solid var(--line); border-radius:14px; padding:30px 28px 28px; }
.cf-card h1{ font-family:var(--font-display); font-weight:800; font-size:clamp(1.55rem,4vw,2rem); line-height:1.2; margin-bottom:8px; }
.cf-intro{ color:var(--ink-soft); margin-bottom:26px; max-width:52ch; }

/* Fields */
.cf-field{ margin-bottom:20px; }
.cf-field label, .cf-field legend{ display:block; font-weight:600; font-size:.95rem; margin-bottom:6px; }
.cf-hint{ display:block; font-weight:400; color:var(--ink-soft); font-size:.85rem; margin-top:-2px; margin-bottom:8px; }
fieldset.cf-field{ border:0; }
.cf-input, .cf-select, .cf-textarea{
  width:100%; font:inherit; font-size:16px; color:var(--ink); background:#fff;
  border:1.5px solid var(--line); border-radius:9px; padding:11px 13px;
}
.cf-textarea{ min-height:170px; resize:vertical; }
.cf-input:focus, .cf-select:focus, .cf-textarea:focus{ border-color:var(--brand); outline:none; box-shadow:0 0 0 3px rgba(232,163,61,.35); }
.cf-invalid{ border-color:var(--error) !important; }
.cf-err{ color:var(--error); font-size:.85rem; margin-top:6px; display:none; }
.cf-err.show{ display:block; }

/* Enquiry type options */
.cf-options{ display:grid; gap:10px; }
label.cf-option{ margin:0; font-weight:400; font-size:1rem; position:relative; display:flex; align-items:flex-start; gap:12px; border:1.5px solid var(--line); border-radius:10px; padding:13px 14px; cursor:pointer; background:#fff; }
label.cf-option:hover{ border-color:var(--ink-soft); }
.cf-option input{ width:20px; height:20px; margin-top:2px; accent-color:var(--brand); flex-shrink:0; }
.cf-option span{ font-weight:600; }
.cf-option small{ display:block; font-weight:400; color:var(--ink-soft); font-size:.85rem; }
label.cf-option:has(input:checked){ border-color:var(--brand); background:#F7F9FC; box-shadow:inset 4px 0 0 var(--gold); }

/* Subject line: filled in automatically */
.cf-subject{ background:#F7F9FC; border:1.5px dashed var(--line); color:var(--ink); }
.cf-subject:focus{ box-shadow:none; border-color:var(--line); }

/* Honeypot: kept out of sight and out of the tab order */
.cf-hp{ position:absolute !important; left:-10000px !important; width:1px; height:1px; overflow:hidden; }

.cf-turnstile{ margin:6px 0 18px; min-height:65px; }
.cf-privacy{ font-size:.85rem; color:var(--ink-soft); margin-bottom:18px; }
.cf-privacy a{ text-decoration:underline; }

.cf-send{
  font-family:var(--font-display); font-weight:700; font-size:1rem; color:#0E1830;
  background:linear-gradient(135deg,var(--gold),var(--gold-dark)); border:0; border-radius:50px;
  padding:14px 30px; cursor:pointer; min-width:190px;
}
.cf-send[disabled]{ opacity:.6; cursor:wait; }

.cf-status{ margin-top:16px; font-size:.95rem; }
.cf-status.error{ color:var(--error); }
.cf-done{ display:none; }
.cf-done.show{ display:block; }
.cf-done h2{ font-family:var(--font-display); font-size:1.4rem; margin-bottom:8px; color:var(--ok); }
.cf-done p{ margin-bottom:12px; }
.cf-done a{ font-weight:600; text-decoration:underline; }

/* Footer */
footer.cf-foot{ background:#0E1830; color:rgba(255,255,255,.7); font-size:.82rem; padding:26px 0 30px; }
footer.cf-foot p{ margin-bottom:6px; }
footer.cf-foot a{ color:inherit; text-decoration:underline; }
.cf-foot-logo{ width:18px; height:18px; vertical-align:-4px; margin-right:4px; }
.copy-symbol{ font-size:1.15em; }

@media (max-width:520px){
  .cf-card{ padding:24px 18px 22px; border-radius:12px; }
  .cf-send{ width:100%; }
}
@media (prefers-reduced-motion:reduce){ *{ transition:none !important; } }
