/* ── Contact form — lives inside the terminal panel (#contact .term-lines) ──
   Styled in the existing dark/light theme: JetBrains Mono labels, outline
   fields that read on any terminal background, Span Orange (accent) submit. */

/* give the panel a little more room + let it scroll if a viewport is short */
.term-lines:has(.cform) { gap: 14px; padding: 26px 40px; overflow-y: auto; }
.term-lines:has(.cform) h2 { font-size: clamp(22px, 3vw, 34px); line-height: 1.05; }
.term.open { height: min(580px, 86vh); }

.cform { display: flex; flex-direction: column; gap: 12px; width: 100%; max-width: 560px; }
.cform-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cform-field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }

.cform label {
  font-family: var(--font-mono); font-size: 10px; font-weight: 500;
  letter-spacing: var(--tracking-caps); text-transform: uppercase;
  color: var(--text-secondary);
}

.cform input,
.cform select,
.cform textarea {
  width: 100%; box-sizing: border-box;
  font-family: var(--font-mono); font-size: 13px; line-height: 1.4;
  color: var(--text-primary);
  background: transparent;
  border: 1px solid var(--line-strong); border-radius: var(--radius-2, 2px);
  padding: 9px 11px;
  transition: border-color var(--dur-fast, .12s) var(--ease-out, ease), background var(--dur-fast, .12s) var(--ease-out, ease);
}
.cform textarea { resize: vertical; min-height: 74px; }
.cform input::placeholder,
.cform textarea::placeholder { color: var(--text-secondary); opacity: .7; }
.cform input:focus,
.cform select:focus,
.cform textarea:focus {
  outline: none;
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 7%, transparent);
}

/* custom select caret */
.cform-selwrap { position: relative; }
.cform select { appearance: none; -webkit-appearance: none; padding-right: 30px; cursor: pointer; }
.cform select option { color: #15181d; }   /* native dropdown list is light on every OS */
.cform-caret {
  position: absolute; right: 11px; top: 50%; transform: translateY(-50%);
  pointer-events: none; font-family: var(--font-mono); font-size: 11px; color: var(--text-secondary);
}

/* honeypot — hidden from humans, present for bots */
.cform-hp {
  position: absolute !important; left: -9999px !important;
  width: 1px; height: 1px; overflow: hidden;
}

.cform-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 2px; }
.cform button[type="submit"] { align-self: flex-start; }
.cform button[type="submit"][disabled] { opacity: .6; cursor: progress; }

.cform-status { font-family: var(--font-mono); font-size: 12px; letter-spacing: var(--tracking-mono); }
.cform-status.err { color: #ff7a7a; }
[data-theme="light"] .cform-status.err { color: #c01722; }

.cform-done { font-family: var(--font-mono); font-size: 14px; letter-spacing: var(--tracking-mono); }

.cform-fallback { font-family: var(--font-mono); font-size: 11px; color: var(--text-secondary); margin: 2px 0 0; }
.cform-fallback a { color: var(--text-secondary); text-decoration: underline; text-underline-offset: 2px; }
.cform-fallback a:hover { color: var(--accent); }

@media (max-width: 600px) {
  .cform-row { grid-template-columns: 1fr; }
  .term-lines:has(.cform) { padding: 20px 22px; }
}
