/* Styles for the self-hosted enquiry form (replaces the ScaleSuite/GoHighLevel embed).
   Kept separate from the Tailwind bundle so it survives any future rebuild. */

.bbe-form { display: flex; flex-direction: column; gap: 1rem; }

.bbe-row { display: grid; gap: 1rem; }
@media (min-width: 768px) { .bbe-row-2 { grid-template-columns: 1fr 1fr; } }

.bbe-field { display: flex; flex-direction: column; gap: 0.375rem; }

.bbe-label { font-size: 0.875rem; font-weight: 600; color: hsl(var(--foreground)); }
.bbe-label .bbe-req { color: hsl(var(--primary)); margin-left: 0.125rem; }

.bbe-input,
.bbe-select,
.bbe-textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  font: inherit;
  font-size: 1rem;
  color: hsl(var(--foreground));
  background: hsl(var(--background));
  border: 1px solid hsl(var(--border));
  border-radius: 0.5rem;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.bbe-textarea { resize: vertical; min-height: 7rem; }

.bbe-input:focus,
.bbe-select:focus,
.bbe-textarea:focus {
  outline: none;
  border-color: hsl(var(--primary));
  box-shadow: 0 0 0 3px hsl(var(--primary) / 0.18);
}

.bbe-input[aria-invalid="true"],
.bbe-textarea[aria-invalid="true"] { border-color: #dc2626; }

.bbe-error { font-size: 0.8125rem; color: #dc2626; }

.bbe-submit {
  width: 100%;
  padding: 1rem 2rem;
  font: inherit;
  font-size: 1rem;
  font-weight: 700;
  color: hsl(var(--primary-foreground));
  background: hsl(var(--primary));
  border: none;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: opacity 0.15s, background-color 0.15s;
}
.bbe-submit:hover:not(:disabled) { opacity: 0.92; }
.bbe-submit:disabled { opacity: 0.6; cursor: not-allowed; }

.bbe-note { font-size: 0.8125rem; color: hsl(var(--muted-foreground)); text-align: center; }

.bbe-success {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 0.75rem; text-align: center; padding: 2.5rem 1.5rem;
  border: 1px solid hsl(var(--border)); border-radius: 0.5rem;
  background: hsl(var(--background));
}
.bbe-success-title { font-size: 1.375rem; font-weight: 800; color: hsl(var(--foreground)); }
.bbe-success-text { color: hsl(var(--muted-foreground)); max-width: 28rem; }

.bbe-alert {
  padding: 0.875rem 1rem; border-radius: 0.5rem; font-size: 0.875rem;
  background: #fef2f2; border: 1px solid #fecaca; color: #991b1b;
}

/* Honeypot — hidden from humans, visible to naive bots */
.bbe-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
