/* Match the shared warm, framed layout used by privacy-policy.php. */
body.contact-page-body {
  background: #f8fafc !important;
  color: #27313b;
}
/* Contact page theme overrides. Kept inline temporarily for the staged site-wide CSS build. */
.contact-page {
  width: calc(100% - 32px) !important;
  max-width: 1180px !important;
  margin: 24px auto 40px !important;
  box-sizing: border-box;
  color: #263244;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 38px rgba(15, 23, 42, .055) !important;
  overflow: hidden;
}
.contact-page .contact-hero {
  padding: clamp(2rem, 5vw, 3.75rem) 1rem;
  background: linear-gradient(180deg, #fffaf5 0%, #ffffff 100%);
}
.contact-page .contact-hero-badge {
  color: #9a3d0a !important;
  background: #fff0e3 !important;
  border: 1px solid #f5d0b2 !important;
}
.contact-page .contact-hero-accent {
  color: #bd4c0b !important;
}
.contact-page .contact-panel {
  background: #fffaf5;
  border: 1px solid #f4dfce;
  border-radius: 1.25rem;
  box-shadow: 0 8px 24px rgba(82, 48, 20, .06);
}
.contact-page .contact-card {
  min-width: 0;
  color: #263244;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 1.1rem;
  box-shadow: 0 3px 12px rgba(31, 41, 55, .045);
}
.contact-page .contact-card h2,
.contact-page .contact-card h3 {
  color: #172033;
}
.contact-page input,
.contact-page select,
.contact-page textarea {
  box-sizing: border-box;
  max-width: 100%;
  color: #263244;
  background-color: #fff !important;
  border-color: #d8dee7;
}
.contact-page input::placeholder,
.contact-page textarea::placeholder {
  color: #8a95a6;
  opacity: 1;
}
.contact-page input:focus-visible,
.contact-page select:focus-visible,
.contact-page textarea:focus-visible,
.contact-page button:focus-visible,
.contact-page a:focus-visible {
  outline: 3px solid rgba(233, 101, 18, .35);
  outline-offset: 3px;
}
.contact-page input:focus,
.contact-page select:focus,
.contact-page textarea:focus {
  border-color: #e96512 !important;
  box-shadow: 0 0 0 3px rgba(233, 101, 18, .12);
}
.contact-page #submitBtn {
  min-height: 3.25rem;
  color: #fff !important;
  background: #e96512 !important;
  border: 1px solid #d95608 !important;
  box-shadow: 0 4px 10px rgba(217, 86, 8, .16);
}
.contact-page #submitBtn:hover:not(:disabled) {
  background: #c94d08 !important;
}
.contact-page #submitBtn:disabled {
  opacity: .65;
  cursor: wait;
}
.contact-page .contact-link,
.contact-page a.sp-text-orange-700,
.contact-page a.sp-text-orange-800,
.contact-page a.text-orange-700,
.contact-page a.text-orange-800 {
  color: #b74608 !important;
  text-underline-offset: 3px;
}
.contact-page .contact-link:hover,
.contact-page a.sp-text-orange-700:hover,
.contact-page a.sp-text-orange-800:hover,
.contact-page a.text-orange-700:hover,
.contact-page a.text-orange-800:hover {
  color: #8f3505 !important;
}
.contact-page .official-support-card {
  overflow-wrap: anywhere;
}
.contact-page .official-support-card > div > div {
  background: #fffaf5 !important;
  border-color: #f1dfd1 !important;
}
.contact-page .contact-notice {
  color: #7c3b12;
  background: #fff7ed !important;
  border: 1px solid #fed7aa !important;
  border-radius: 1rem;
}
.contact-page .contact-muted {
  color: #596579;
}
.contact-page .contact-content {
  background: #fffaf5 !important;
  border-color: #f4e5d8 !important;
}
.contact-page .bg-purple-100 {
  background-color: #ffeddc !important;
}
.contact-page .text-purple-600 {
  color: #c6530b !important;
}
.contact-page .bg-emerald-100 {
  background-color: #dcfce7 !important;
}
.contact-page .text-emerald-600 {
  color: #15803d !important;
}
.contact-page .bg-orange-100 {
  background-color: #ffeddc !important;
}
.contact-page .text-orange-600 {
  color: #c6530b !important;
}
.contact-page .bg-red-50 {
  background-color: #fff1f0 !important;
}
.contact-page .border-red-200 {
  border-color: #fecaca !important;
}
.contact-page .text-red-700 {
  color: #b42318 !important;
}
.contact-page .bg-amber-50 {
  background-color: #fff7ed !important;
}
.contact-page .border-amber-200 {
  border-color: #fed7aa !important;
}
.contact-page .text-amber-800 {
  color: #9a3412 !important;
}
.contact-page .text-amber-700 {
  color: #9a3412 !important;
}
.contact-page .contact-notice strong {
  color: #8f3505;
}
@media (max-width: 760px) {
  .contact-page {
    width: calc(100% - 20px) !important;
    max-width: none !important;
    margin: 12px 10px 28px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .045) !important;
    overflow: hidden;
  }
}
@media (max-width: 639px) {
  .contact-page .contact-hero {
    padding: 2rem 1rem;
  }
  .contact-page .contact-card {
    border-radius: .95rem;
    padding: 1.1rem;
  }
  .contact-page #contactMessage {
    min-height: 9rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .contact-page *,
  .contact-page *::before,
  .contact-page *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Brand consistency: Helpful Pages links stay orange in every interaction state. */
.contact-page .helpful-pages-section a:hover,
.contact-page .helpful-pages-section a:focus-visible {
  color: #8f3505 !important;
}

/* Helpful Pages: preserve the original colour on page load; change only on hover. */
.contact-page .helpful-pages-section a,
.contact-page .helpful-pages-section a:link,
.contact-page .helpful-pages-section a:visited,
.contact-page .helpful-pages-section a:focus,
.contact-page .helpful-pages-section a:focus-visible,
.contact-page .helpful-pages-section a:active {
  color: #263244;
}
.contact-page .helpful-pages-section a:hover {
  color: #b74608 !important;
  text-decoration-color: currentColor;
}
