/* ── Hive Waitlist — Public Frontend Form ──────────────────────────────────── */

.hive-wl-public-wrap {
  max-width: 700px; margin: 0 auto; font-family: inherit;
}
.hive-wl-public-header { text-align: center; margin-bottom: 28px; }
.hive-wl-capacity-badge {
  display: inline-block; background: #fee2e2; color: #991b1b;
  padding: 4px 16px; border-radius: 20px; font-size: .8rem;
  font-weight: 600; margin-bottom: 12px;
}
.hive-wl-public-header h2 { font-size: 1.6rem; margin: 0 0 8px; }
.hive-wl-public-header p  { color: #64748b; }

.hive-wl-pub-form { background: #fff; border: 1px solid #e2e8f0;
  border-radius: 12px; padding: 28px; box-shadow: 0 4px 20px rgba(0,0,0,.07); }

.hive-wl-pub-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
  gap: 16px; margin-bottom: 16px;
}
.hive-wl-pub-field { display: flex; flex-direction: column; margin-bottom: 14px; }
.hive-wl-pub-field label {
  font-weight: 600; font-size: .82rem; color: #64748b; margin-bottom: 4px;
}
.hive-wl-pub-field input,
.hive-wl-pub-field select,
.hive-wl-pub-field textarea {
  border: 1px solid #cbd5e1; border-radius: 6px;
  padding: 8px 12px; font-size: .9rem; width: 100%; box-sizing: border-box;
  transition: border-color .15s;
}
.hive-wl-pub-field input:focus,
.hive-wl-pub-field select:focus,
.hive-wl-pub-field textarea:focus {
  outline: none; border-color: #f59e0b; box-shadow: 0 0 0 3px rgba(245,158,11,.15);
}

.hive-wl-pub-children { margin-bottom: 16px; }
.hive-wl-pub-children > label { font-weight: 700; display: block; margin-bottom: 8px; }
.child-row { display: flex; gap: 8px; align-items: center; margin-bottom: 8px; }
.child-row input  { flex: 1; border: 1px solid #cbd5e1; border-radius: 6px; padding: 8px 10px; font-size: .88rem; }
.child-row select { flex: 1; border: 1px solid #cbd5e1; border-radius: 6px; padding: 8px 10px; font-size: .88rem; }
.btn-remove-child {
  background: #fee2e2; border: 1px solid #fca5a5; color: #dc2626;
  border-radius: 4px; padding: 6px 10px; cursor: pointer; font-size: .8rem;
}
.hive-wl-add-child-btn {
  background: none; border: 1px dashed #cbd5e1; color: #64748b;
  padding: 6px 14px; border-radius: 6px; cursor: pointer; font-size: .82rem;
  transition: background .15s;
}
.hive-wl-add-child-btn:hover { background: #f8fafc; border-color: #94a3b8; }

/* ── SMS Consent ───────────────────────────────────────────────────────────── */
.hive-wl-sms-consent {
  background: #fffbeb; border: 1px solid #fde68a; border-radius: 8px;
  padding: 14px 16px; margin-bottom: 16px;
}
.hive-wl-consent-label {
  display: flex; align-items: flex-start; gap: 10px; cursor: pointer;
  font-size: .9rem; font-weight: 600; color: #1e293b;
}
.hive-wl-consent-label input[type="checkbox"] {
  margin-top: 2px; width: 18px; height: 18px; flex-shrink: 0; cursor: pointer;
  accent-color: #f59e0b;
}
.hive-wl-consent-disclaimer {
  margin: 8px 0 0 28px; font-size: .78rem; color: #64748b; line-height: 1.5;
}
.hive-wl-consent-disclaimer a { color: #f59e0b; text-decoration: underline; }

.hive-wl-pub-submit {
  width: 100%; padding: 14px; background: #f59e0b; color: #fff;
  border: none; border-radius: 8px; font-size: 1rem; font-weight: 700;
  cursor: pointer; transition: background .2s; margin-top: 8px;
}
.hive-wl-pub-submit:hover  { background: #d97706; }
.hive-wl-pub-submit:disabled { background: #94a3b8; cursor: not-allowed; }

.hive-wl-pub-error {
  background: #fee2e2; color: #991b1b; border-radius: 6px;
  padding: 10px 14px; margin-bottom: 12px; font-size: .875rem;
}

/* ── Success State ─────────────────────────────────────────────────────────── */
.hive-wl-pub-success {
  background: #f0fdf4; border: 1px solid #86efac; border-radius: 12px;
  padding: 36px 28px; text-align: center; color: #15803d;
}
.hive-wl-success-icon { font-size: 2.5rem; margin-bottom: 12px; }
.hive-wl-pub-success h3 { font-size: 1.4rem; margin: 0 0 10px; }
.hive-wl-pub-success p  { color: #166534; font-size: .95rem; }
