/* ============================
   CONTACT FORM LAYOUT
   ----------------------------
   Theme-adaptive: colors come from the core tokens (--bg-*, --text,
   --border, --accent) rather than hard-coded white alphas / --text-inverse,
   so the form follows whatever palette a brand defines in css/brand/<abbr>.css
   (or the shared dark defaults in app_core.css) instead of assuming a dark
   surface. This is what kept it from washing out on a lighter brand.
   ============================ */

.form-container {
  max-width: 28rem;              /* centered card width */
  margin: 4rem auto;             /* center on page */
  padding: 2rem 2rem;
  background: var(--bg-2);       /* raised surface (was rgba white alpha) */
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  box-shadow: 0 0.25rem 0.75rem rgba(0,0,0,0.25);
  text-align: center;
  box-sizing: border-box;
}

.form-container h2 {
  margin-top: 0;
  margin-bottom: 1.5rem;
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--text);            /* was --text-inverse (always #fff) */
}

/* ============================
   INPUTS + TEXTAREA
   ============================ */

#contactForm input,
#contactForm textarea {
  width: 100%;
  padding: 0.65rem 0.75rem;
  margin-bottom: 1.25rem;
  border-radius: 0.4rem;
  border: 1px solid var(--border);
  background: var(--bg-1);
  color: var(--text);
  font-size: 1rem;
  box-sizing: border-box;
  resize: vertical;
  transition: border-color 0.2s ease, background 0.2s ease;
}

#contactForm input::placeholder,
#contactForm textarea::placeholder {
  color: var(--text-muted);
}

#contactForm input:focus,
#contactForm textarea:focus {
  border-color: var(--accent);
  background: var(--bg-3);
  outline: none;
}

/* Make textarea taller by default */
#contactForm textarea {
  min-height: 8rem;
}

/* ============================
   BUTTON ROW
   ============================ */

#contactForm .button-row,
#contactForm div[style*="display:flex"] {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 1.5rem;
}

#sendBtn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ============================
   INFO MESSAGE
   ============================ */

/* Removed 2026-09-21: this reached into the shared page shell and made the
   message box differ on this page alone. That is the header-and-message
   bouncing between pages. The shell owns it — see STANDARD PAGE TOP in
   common/common.css. */

/* ============================
  space for the dynamic text message that appears after form submission
   ============================ */

#formStatus {
  margin-top: 1.5rem;
}
