
.scfv33-form {
  --scf-border: #d0d7de;
  --scf-border-focus: #2271b1;
  --scf-bg: #ffffff;
  --scf-text: #1f2328;
  --scf-muted: #57606a;
  --scf-error: #b42318;
  --scf-success: #027a48;
  --scf-radius: 12px;
  --scf-shadow: 0 1px 2px rgba(16,24,40,.06);
  --scf-gap: 1rem;

  max-width: 760px;
  color: var(--scf-text);
}

.scfv33-form p,
.scfv33-form fieldset {
  margin: 0 0 var(--scf-gap);
}

.scfv33-form fieldset {
  border: 1px solid var(--scf-border);
  border-radius: var(--scf-radius);
  padding: 1rem;
  background: var(--scf-bg);
}

.scfv33-form label,
.scfv33-form legend {
  display: block;
  font-weight: 600;
  margin-bottom: 0.4rem;
  color: var(--scf-text);
}

.scfv33-form small {
  display: block;
  margin-top: 0.45rem;
  color: var(--scf-muted);
  line-height: 1.45;
}

.scfv33-form input[type="text"],
.scfv33-form input[type="email"],
.scfv33-form input[type="tel"],
.scfv33-form input[type="file"],
.scfv33-form select,
.scfv33-form textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--scf-border);
  border-radius: var(--scf-radius);
  background: var(--scf-bg);
  color: var(--scf-text);
  padding: 0.8rem 0.95rem;
  box-shadow: var(--scf-shadow);
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.scfv33-form textarea {
  min-height: 10rem;
  resize: vertical;
}

.scfv33-form input[type="radio"],
.scfv33-form input[type="checkbox"] {
  width: auto;
  margin-right: 0.5rem;
}

.scfv33-form fieldset > div {
  margin: 0 0 0.6rem;
}

.scfv33-form .scfv33-consent {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
}

.scfv33-form .scfv33-consent input {
  width: auto;
  margin-top: 0.28rem;
}

.scfv33-form button[type="submit"] {
  appearance: none;
  border: 1px solid transparent;
  border-radius: 999px;
  background: #2271b1;
  color: #fff;
  padding: 0.85rem 1.2rem;
  font-weight: 600;
  cursor: pointer;
  transition: transform .05s ease, background-color .18s ease, opacity .18s ease;
}

.scfv33-form button[type="submit"]:hover {
  background: #135e96;
}

.scfv33-form button[type="submit"]:active {
  transform: translateY(1px);
}

.scfv33-form button[type="submit"]:disabled {
  opacity: .72;
  cursor: not-allowed;
}

.scfv33-form .scfv33-response {
  margin-top: 1rem;
  padding: 0.85rem 1rem;
  border-radius: var(--scf-radius);
  background: #f6f8fa;
  color: var(--scf-text);
  min-height: 1.25rem;
}

.scfv33-form .scfv33-response.is-success {
  background: #ecfdf3;
  color: var(--scf-success);
}

.scfv33-form .scfv33-response.is-error {
  background: #fef3f2;
  color: var(--scf-error);
}

.scfv33-form input:focus,
.scfv33-form select:focus,
.scfv33-form textarea:focus,
.scfv33-form button:focus {
  outline: 3px solid rgba(34,113,177,.18);
  outline-offset: 2px;
  border-color: var(--scf-border-focus);
  box-shadow: 0 0 0 1px var(--scf-border-focus);
}

.scfv33-hp {
  position: absolute;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

@media (max-width: 640px) {
  .scfv33-form {
    max-width: 100%;
  }

  .scfv33-form button[type="submit"] {
    width: 100%;
  }
}
