/* ═══════════════════════════════════════════════════
   CONTACT PAGE — contact.css
═══════════════════════════════════════════════════ */

/* ── TOPIC LIST ── */
.contact-topics {
  display: flex; flex-direction: column; gap: 1rem;
  margin-top: 1.25rem;
}
.contact-topic {
  display: flex; align-items: flex-start; gap: 1rem;
  background: var(--white);
  border: 1px solid rgba(26,35,66,0.08);
  border-left: 4px solid var(--gold);
  padding: 1.1rem 1.25rem;
}
.contact-topic-icon {
  color: var(--gold); font-size: 0.65rem;
  flex-shrink: 0; margin-top: 0.4rem;
}
.contact-topic-name {
  font-family: 'Cinzel', serif; font-size: 0.88rem;
  color: var(--navy); display: block; margin-bottom: 0.35rem;
}
.contact-topic p {
  font-size: 0.97rem !important; margin-bottom: 0 !important;
}
.contact-inline-link {
  color: var(--navy); text-decoration: none;
  border-bottom: 1px solid rgba(26,35,66,0.25);
  transition: color 0.2s, border-color 0.2s;
}
.contact-inline-link:hover { color: var(--gold); border-color: var(--gold); }

/* ── CONTACT GATE ── */
.contact-gate {
  background: var(--white);
  border: 1px solid rgba(26,35,66,0.1);
  border-top: 4px solid var(--gold);
  padding: 2rem 2rem 1.75rem;
  margin-top: 1.5rem;
  display: flex; flex-direction: column; gap: 1.5rem;
}

/* ── HONEYPOT — invisible to humans, attractive to bots ── */
/* Critical: hidden with CSS position/opacity only, NOT display:none or hidden */
/* Bots fill all fields; humans never see or tab to this */
.contact-honeypot {
  position: absolute;
  left: -9999px;
  top: -9999px;
  width: 1px; height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  tab-index: -1;
}

/* ── CAPTCHA ── */
.contact-captcha-block {
  display: flex; flex-direction: column; gap: 0.75rem;
}
.contact-captcha-prompt {
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 1rem; color: var(--text-soft);
  line-height: 1.6; margin: 0 !important;
}
.contact-captcha-row {
  display: flex; align-items: center; gap: 1.25rem;
  flex-wrap: wrap;
}
.contact-captcha-question {
  font-family: 'Cinzel', serif; font-size: 1.15rem;
  color: var(--navy); font-weight: 400;
  min-width: 160px;
}
.contact-captcha-input {
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 1.15rem; color: var(--text);
  width: 80px; padding: 0.45rem 0.75rem;
  border: 2px solid rgba(26,35,66,0.2);
  background: var(--ivory);
  outline: none;
  transition: border-color 0.2s;
  text-align: center;
}
.contact-captcha-input:focus {
  border-color: var(--gold);
}
.contact-captcha-input.is-correct {
  border-color: #4a9a4a;
  background: rgba(74,154,74,0.06);
}
.contact-captcha-input.is-wrong {
  border-color: var(--crimson);
  background: rgba(123,29,29,0.05);
}
.contact-captcha-hint {
  font-family: 'Lato', sans-serif; font-size: 0.62rem;
  letter-spacing: 0.08em; color: var(--text-soft);
  opacity: 0.55;
}
.contact-captcha-feedback {
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 0.95rem; font-style: italic;
  min-height: 1.4rem;
  transition: color 0.2s;
}
.contact-captcha-feedback.feedback-error { color: var(--crimson); }
.contact-captcha-feedback.feedback-ok    { color: #4a7a4a; }

/* ── SEND BUTTON ── */
.contact-send-btn {
  display: inline-flex; align-items: center; gap: 0.75rem;
  align-self: flex-start;
  font-family: 'Lato', sans-serif; font-size: 0.7rem;
  letter-spacing: 0.16em; text-transform: uppercase;
  background: var(--navy); color: var(--gold);
  border: 2px solid var(--gold);
  padding: 0.85rem 1.75rem;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.contact-send-btn:hover {
  background: var(--gold); color: var(--navy);
}
.contact-send-btn:disabled {
  opacity: 0.4; cursor: not-allowed;
}
.contact-send-icon { font-size: 1rem; }

.contact-gate-note {
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 0.88rem; font-style: italic;
  color: var(--text-soft); line-height: 1.65;
  margin: 0 !important; opacity: 0.7;
}

/* ── SUCCESS STATE ── */
.contact-success {
  background: var(--navy);
  border-top: 4px solid #4a9a4a;
  padding: 1.75rem 2rem;
  margin-top: 1.5rem;
  display: flex; flex-direction: column;
  align-items: flex-start; gap: 0.75rem;
}
.contact-success[hidden] { display: none; }
.contact-success-icon {
  font-size: 1.5rem; color: #6abf6a;
}
.contact-success p {
  font-family: 'EB Garamond', Georgia, serif;
  font-size: 1rem; color: rgba(255,255,255,0.75);
  line-height: 1.75; margin: 0 !important;
}
.contact-success strong { color: var(--white); }
.contact-success em { color: var(--gold); font-style: italic; }
.contact-retry-btn {
  font-family: 'Lato', sans-serif; font-size: 0.62rem;
  letter-spacing: 0.12em; text-transform: uppercase;
  background: none; border: 1px solid rgba(255,255,255,0.2);
  color: rgba(255,255,255,0.5); padding: 0.4rem 1rem;
  cursor: pointer; margin-top: 0.25rem;
  transition: border-color 0.2s, color 0.2s;
}
.contact-retry-btn:hover {
  border-color: var(--gold); color: var(--gold);
}
