/* P42 Intake Form — styled to match the Protocol 42 theme */

.p42-intake-form { margin: 0; }
.p42-intake-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 22px;
}
.p42-intake-grid p, .p42-intake-grid fieldset { margin: 0 0 14px; }
.p42-wide { grid-column: 1 / -1; }

.p42-intake-form label,
.p42-intake-form legend {
  display: block;
  font-family: var(--p42-font-display, "Space Grotesk", sans-serif);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--p42-ink, #16161a);
  margin-bottom: 7px;
}

.p42-intake-form input[type="text"],
.p42-intake-form input[type="email"],
.p42-intake-form input[type="tel"],
.p42-intake-form input[type="url"],
.p42-intake-form select,
.p42-intake-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 13px 16px;
  border-radius: 14px;
  border: 1px solid rgba(10,10,12,.12);
  background: linear-gradient(180deg, #fff, #fafafc);
  font: inherit;
  font-size: .95rem;
  color: var(--p42-ink, #16161a);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), inset 0 2px 4px rgba(10,10,12,.03);
  transition: border-color .3s, box-shadow .3s;
}
.p42-intake-form input:focus,
.p42-intake-form select:focus,
.p42-intake-form textarea:focus {
  outline: none;
  border-color: var(--p42-cyan, #00e0ff);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 0 0 4px rgba(0,224,255,.18);
}
.p42-intake-form textarea { resize: vertical; min-height: 150px; }

/* Needs checkboxes */
.p42-intake-needs { border: 0; padding: 0; }
.p42-intake-needs .p42-check {
  display: flex; align-items: center; gap: 10px;
  font-family: inherit; font-weight: 500; letter-spacing: 0;
  font-size: .92rem;
  padding: 10px 14px; margin-bottom: 8px;
  border: 1px solid rgba(10,10,12,.1);
  border-radius: 12px;
  background: linear-gradient(180deg, #fff, #f7f8fa);
  cursor: pointer;
  transition: border-color .25s, box-shadow .25s;
}
.p42-intake-needs .p42-check:hover { border-color: var(--p42-magenta, #ff2e9e); }
.p42-intake-needs .p42-check:has(input:checked) {
  border-color: var(--p42-cyan, #00e0ff);
  box-shadow: 0 0 0 3px rgba(0,224,255,.15);
}
.p42-intake-needs input[type="checkbox"] {
  width: 18px; height: 18px; accent-color: var(--p42-black, #0a0a0c); flex: none;
}

/* Submit */
.p42-intake-submit {
  display: inline-block;
  padding: 16px 40px;
  border: 0; border-radius: 999px;
  font-family: var(--p42-font-display, "Space Grotesk", sans-serif);
  font-weight: 600; font-size: .98rem;
  color: #fff; cursor: pointer;
  background: linear-gradient(180deg, #1d1d22, var(--p42-black, #0a0a0c));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 14px 30px -12px rgba(10,10,12,.5);
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s;
}
.p42-intake-submit:hover {
  transform: translateY(-2px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 20px 44px -14px rgba(10,10,12,.55), 0 0 0 3px rgba(0,224,255,.25);
}

/* Privacy line */
.p42-intake-privacy { font-size: .82rem; color: var(--p42-grey, #5c5f68); }

/* Honeypot: visually hidden, still bot-fillable */
.p42-hp { position: absolute !important; left: -9999px !important; height: 1px; overflow: hidden; }

/* Success / error notices */
.p42-intake-success, .p42-intake-error {
  border-radius: 16px; padding: 26px 30px; margin-bottom: 20px;
}
.p42-intake-success {
  background: linear-gradient(180deg, #f2fff7, #e8fbf0);
  border: 1px solid rgba(33,192,100,.35);
}
.p42-intake-success h3 { margin: 0 0 8px; }
.p42-intake-error {
  background: linear-gradient(180deg, #fff5f8, #ffecf3);
  border: 1px solid rgba(255,46,158,.35);
}

@media (max-width: 640px) {
  .p42-intake-grid { grid-template-columns: 1fr; }
}
