/* Contact page — Maple Groove Financial. Page-scoped (only /contact
   loads it), same pattern as the calculator CSS files. Layout modeled
   on the Wealth Planners contact page (info cards beside a "send us a
   message" card), rebuilt with MGF brand tokens — not copied verbatim.
   Brand tokens (--ink, --accent, --blue, --rule…) come from styles.css. */

.contact-grid{
  display:grid;grid-template-columns:1fr 1.6fr;gap:20px;
  margin-top:38px;align-items:start;
}

/* ── info cards (left) ─────────────────────────────────────── */
.contact-info{display:grid;gap:14px}
.ci-card{background:#0c0c0c;border:1px solid var(--rule-2);border-radius:12px;padding:16px 18px}
.ci-label{font-size:10px;letter-spacing:0.25em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:7px}
.ci-value{font-size:14px;color:var(--ink);line-height:1.55}
.ci-value a{color:var(--blue);text-decoration:none}
.ci-value a:hover{text-decoration:underline}
.ci-note{font-size:11px;color:var(--ink-faint);margin-top:6px;line-height:1.5}

/* ── form card (right) ─────────────────────────────────────── */
.contact-form-card{background:#0c0c0c;border:1px solid var(--rule-2);border-radius:12px;padding:24px 26px}
.cf-title{font-family:'Bebas Neue',sans-serif;font-size:24px;font-weight:400;letter-spacing:0.05em;color:var(--ink);margin-bottom:20px}

.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cf-field{margin-bottom:16px;min-width:0}
.cf-field label{display:block;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:7px}
.cf-field label .opt{color:var(--ink-faint);text-transform:none;letter-spacing:0.03em}
.cf-field input,
.cf-field select,
.cf-field textarea{
  width:100%;background:#070707;border:1px solid var(--rule-2);border-radius:8px;
  color:var(--ink);font-family:'Space Mono',ui-monospace,monospace;font-size:14px;
  padding:11px 13px;
}
.cf-field input::placeholder,.cf-field textarea::placeholder{color:var(--ink-faint)}
.cf-field textarea{min-height:140px;resize:vertical;line-height:1.6}
.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{outline:none;border-color:var(--blue)}
.cf-field.invalid input,.cf-field.invalid textarea{border-color:var(--accent)}

/* honeypot — visually gone, still in the DOM for bots to fill */
.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.cf-send{
  background:var(--accent);border:none;border-radius:8px;color:#fff;
  font-family:'Space Mono',ui-monospace,monospace;font-size:13px;font-weight:700;
  letter-spacing:0.08em;text-transform:uppercase;padding:13px 30px;cursor:pointer;
  transition:transform .15s, filter .15s;
}
.cf-send:hover{transform:translateY(-1px);filter:brightness(1.12)}

.cf-note{margin-top:14px;font-size:11px;color:var(--ink-faint);line-height:1.6}

/* ── inline status blocks (mirror the WP form: big and unmissable,
      not a tiny toast) ─────────────────────────────────────────── */
.cf-block{border:1px solid;border-radius:10px;padding:16px 18px;margin-bottom:18px}
.cf-block--success{background:#06140c;border-color:var(--green)}
.cf-block--error{background:#1a0707;border-color:var(--accent)}
.cf-block__title{font-size:14px;font-weight:700;margin-bottom:4px}
.cf-block--success .cf-block__title{color:var(--green)}
.cf-block--error .cf-block__title{color:var(--accent-glow)}
.cf-block__body{font-size:12.5px;line-height:1.6;color:var(--ink-dim);margin:0}

.cf-send:disabled{opacity:0.55;cursor:default;transform:none;filter:none}

/* once sent, the success block replaces the fields (WP behaviour) */
#contact-form.is-sent .cf-row,
#contact-form.is-sent .cf-field,
#contact-form.is-sent .cf-send,
#contact-form.is-sent .cf-note{display:none}

/* ── responsive ────────────────────────────────────────────── */
@media(max-width:920px){
  .contact-grid{grid-template-columns:1fr}
  .contact-info{grid-template-columns:1fr 1fr;order:2}
  .contact-form-card{order:1}
}
@media(max-width:680px){
  .cf-row{grid-template-columns:1fr}
  .contact-info{grid-template-columns:1fr}
}
