/* Contact form section appended by build.py.
   Visually matches the SuccessPath palette:
     --color-m04go011: #FFFCFB  (page bg)
     --color-m03o3as7: #27246D  (deep purple text/heading)
     --color-m03nyz9d: #FF7959  (CTA orange) */

.sp-contact {
  background: #FFFCFB;
  color: #27246D;
  padding: 80px 20px;
  font-family: Questrial, Montserrat, system-ui, sans-serif;
}
.sp-contact-inner {
  max-width: 640px;
  margin: 0 auto;
}
.sp-contact h2 {
  font-size: 2.25rem;
  margin: 0 0 12px;
  color: #27246D;
  font-weight: 400;
  line-height: 1.2;
}
.sp-contact > .sp-contact-inner > p {
  margin: 0 0 32px;
  font-size: 1.05rem;
  opacity: 0.85;
}
.sp-contact form { display: grid; gap: 18px; }
.sp-contact label {
  display: grid;
  gap: 6px;
  font-size: 0.95rem;
  font-weight: 600;
}
.sp-contact label > span:first-child { color: #27246D; }
.sp-contact input[type="text"],
.sp-contact input[type="email"],
.sp-contact input[type="tel"],
.sp-contact textarea {
  font: inherit;
  padding: 12px 14px;
  border: 2px solid #D8D9E0;
  border-radius: 8px;
  background: #fff;
  color: #27246D;
  outline: none;
  transition: border-color 0.15s;
  width: 100%;
  box-sizing: border-box;
}
.sp-contact input:focus,
.sp-contact textarea:focus { border-color: #FF7959; }
.sp-contact textarea { resize: vertical; min-height: 110px; }
.sp-contact .sp-consent {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  font-weight: 400;
  font-size: 0.875rem;
  opacity: 0.9;
}
.sp-contact .sp-consent input { margin-top: 4px; }
.sp-contact button[type="submit"] {
  font: inherit;
  font-weight: 600;
  padding: 14px 28px;
  background: #FF7959;
  color: #fff;
  border: 2px solid #FF7959;
  border-radius: 8px;
  cursor: pointer;
  width: max-content;
  transition: background 0.15s, transform 0.05s;
}
.sp-contact button[type="submit"]:hover { background: #ff6543; border-color: #ff6543; }
.sp-contact button[type="submit"]:active { transform: translateY(1px); }
.sp-contact-fallback {
  margin: 24px 0 0;
  font-size: 0.9rem;
  opacity: 0.7;
}
.sp-contact-fallback a { color: #27246D; }
.sp-contact-thanks {
  padding: 32px;
  border: 2px solid #FF7959;
  border-radius: 12px;
  background: #fff;
  text-align: center;
}
.sp-contact-thanks h3 { margin: 0 0 8px; color: #27246D; font-weight: 400; }
.sp-contact-thanks p { margin: 0; color: #27246D; opacity: 0.8; }

/* FontAwesome 5 Solid, self-hosted. Used by bullet-list ::marker rules that
   embed FA glyph codepoints (fa-check-circle \f058, fa-times-circle \f057,
   fa-circle \f111) via list-style-type. */
@font-face {
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/assets/fonts/fa-solid-900.woff2") format("woff2");
}

/* The only FA class used in markup is .fa-times (mobile-nav close button).
   We don't ship the FA class CSS, so render an inline close glyph instead. */
.fa-times::before { content: "\00d7"; font-size: 1.25em; line-height: 1; }

/* Reveal-on-scroll (replaces GHL's animation runtime) */
[data-animation-class] { opacity: 0; transform: translateY(12px); transition: opacity .6s ease, transform .6s ease; }
[data-animation-class].in-view { opacity: 1; transform: none; }

/* --- Footer bottom row: stack Privacy/PSL + copyright vertically, centered.
   Original layout was a 3-column row (privacy | copyright | "built with"),
   the third column is now empty after we removed the StickyDollar attribution. */
#row-oMGOgwGaC- > .inner {
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px;
}
#row-oMGOgwGaC- > .inner > div {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
}
/* The "built with StickyDollar" column is now empty — hide it entirely. */
#col-1D2efCVmkp { display: none !important; }
/* Center text inside both remaining columns. */
.cparagraph-SrxPxO8Iyc,
.cparagraph-seRHq4K68b { text-align: center !important; }
