/* Minimal, clean, and inherits settings */
.ssq-form {
  display: grid;
  gap: 10px;
  font-family: var(--ssq-font, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif);
  color: var(--ssq-color, #111);
  max-width: 520px;
  margin: 0; /* no heading or extra spacing */
}

.ssq-form input,
.ssq-form button {
  font: inherit;
  color: inherit;
  padding: 12px 14px;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  outline: none;
}

.ssq-form input:focus {
  border-color: #888;
}

/* Button uses CSS variables set by JS from settings */
.ssq-form button {
  border: 1px solid var(--ssq-btn-border, #222);
  background: var(--ssq-btn-bg, transparent);
  color: var(--ssq-btn-color, inherit);
  cursor: pointer;
  transition: transform .08s ease, background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

/* Hover and click effects */
.ssq-form button:hover {
  background: var(--ssq-btn-bg-hover, var(--ssq-color, #111));
  color: var(--ssq-btn-color-hover, #fff);
  border-color: var(--ssq-btn-border-hover, transparent);
  box-shadow: 0 6px 16px rgba(0,0,0,.15);
  transform: translateY(-1px);
}

.ssq-form button:active {
  transform: translateY(0);
  box-shadow: 0 3px 8px rgba(0,0,0,.12);
}

/* Keep the pressed/thank-you look while disabled */
.ssq-form button.ssq-clicked {
  background: var(--ssq-btn-bg-hover, var(--ssq-color, #111));
  color: var(--ssq-btn-color-hover, #fff);
  border-color: var(--ssq-btn-border-hover, transparent);
}

.ssq-form button:disabled {
  opacity: .75;
  cursor: not-allowed;
}

.ssq-form .ssq-msg {
  min-height: 1em;
  font-size: .95em;
}

/* Phone field visual improvement */
.ssq-form .ssq-phone {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}
