/* ================================================
   QCLS BRAND CSS — Neon One Global Custom CSS
   Brand System V2.0 · June 2026
================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;700&family=Plus+Jakarta+Sans:wght@300;400;500;600&family=Oswald:wght@500;600&display=swap');

:root {
  --void: #0A1A12;
  --deep: #0A4A3A;
  --teal: #1D9E75;
  --amber: #E8A020;
  --coral: #E8644A;
  --sand: #F0E6D0;
  --nw: #F8F5EE;
  --border: #E0D8C8;
  --mid: #4A6558;
}

body, .neon-form-wrapper, .neonForm, #neonForm {
  font-family: 'Plus Jakarta Sans', sans-serif;
  background-color: var(--nw);
  color: var(--void);
}

.neon-form-container, .neonFormContainer, form {
  background: #ffffff;
  border: 1px solid var(--border);
  border-top: 3px solid var(--teal);
  border-radius: 4px;
  padding: 2rem;
  max-width: 680px;
  margin: 0 auto;
}

h1, h2, h3 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  color: var(--void);
  letter-spacing: -0.01em;
}

label, .neon-label, .field-label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mid);
  display: block;
  margin-bottom: 0.35rem;
}

input[type="text"], input[type="email"], input[type="tel"],
input[type="number"], input[type="date"], input[type="password"],
textarea, select {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.95rem;
  color: var(--void);
  background: #ffffff;
  border: 1.5px solid var(--border);
  border-radius: 3px;
  padding: 0.65rem 0.85rem;
  width: 100%;
  transition: border-color 0.2s;
  outline: none;
}

input[type="text"]:focus, input[type="email"]:focus,
input[type="tel"]:focus, input[type="number"]:focus,
input[type="date"]:focus, textarea:focus, select:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 3px rgba(29, 158, 117, 0.12);
}

input[type="submit"], button[type="submit"],
.neon-submit-btn, .submit-button {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #ffffff;
  background: var(--teal);
  border: none;
  border-radius: 3px;
  padding: 0.75rem 2rem;
  cursor: pointer;
  transition: background 0.2s;
  width: 100%;
  margin-top: 0.5rem;
}

input[type="submit"]:hover, button[type="submit"]:hover,
.neon-submit-btn:hover { background: var(--deep); }

.required, abbr[title="required"] { color: var(--coral); }

.neon-error, .field-error, .error-message {
  font-size: 0.8rem;
  color: var(--coral);
  margin-top: 0.3rem;
}

.neon-success, .confirmation-message, .success-message {
  font-family: 'Plus Jakarta Sans', sans-serif;
  background: rgba(29, 158, 117, 0.08);
  border: 1px solid rgba(29, 158, 117, 0.3);
  border-left: 4px solid var(--teal);
  color: var(--void);
  padding: 1.25rem 1.5rem;
  border-radius: 3px;
  font-size: 0.95rem;
  line-height: 1.7;
}

input[type="checkbox"], input[type="radio"] {
  accent-color: var(--teal);
}

.donation-amount-btn, .amount-option {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 600;
  border: 1.5px solid var(--border);
  border-radius: 3px;
  color: var(--void);
  background: #ffffff;
  padding: 0.6rem 1.25rem;
  cursor: pointer;
  transition: all 0.2s;
}

.donation-amount-btn:hover, .donation-amount-btn.selected,
.amount-option.selected {
  border-color: var(--teal);
  background: rgba(29, 158, 117, 0.08);
  color: var(--teal);
}

.neon-footer, .form-footer, .legal-text {
  font-size: 0.75rem;
  color: var(--mid);
  line-height: 1.6;
  margin-top: 1.5rem;
}

a { color: var(--teal); text-decoration: none; }
a:hover { color: var(--deep); text-decoration: underline; }