.tabi-form-builder {
  background: var(--tabi-bg);
  color: var(--tabi-text);
  padding: 24px;
  border-radius: 18px;
  box-sizing: border-box;
  width: 100%;
  font-family: var(--tabi-font-family);
  font-size: var(--tabi-font-size);
}

.tabi-form-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.tabi-field {
  width: var(--tabi-col);
  min-width: min(100%, 220px);
  box-sizing: border-box;
}

.tabi-label {
  display: block;
  font-size: var(--tabi-label-size);
  font-weight: 600;
  margin-bottom: 8px;
}

.tabi-form-builder input:not([type="radio"]):not([type="checkbox"]),
.tabi-form-builder textarea,
.tabi-form-builder select {
  width: 100%;
  border: 1px solid var(--tabi-input-border);
  background: var(--tabi-input-bg);
  color: var(--tabi-text);
  border-radius: var(--tabi-radius);
  padding: 14px 16px;
  min-height: 50px;
  box-sizing: border-box;
  font: inherit;
}

.tabi-form-builder textarea {
  min-height: 140px;
  resize: vertical;
}

.tabi-choices {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.tabi-choice {
  display: flex;
  align-items: center;
  gap: 8px;
}

.tabi-form-builder .tabi-submit {
  margin-top: 18px;
  border: 0 !important;
  background: none !important;
  background-color: var(--tabi-btn-bg) !important;
  background-image: none !important;
  color: var(--tabi-btn-text) !important;
  border-radius: var(--tabi-btn-radius) !important;
  padding: 14px 22px;
  font-weight: 700;
  cursor: pointer;
  font-family: var(--tabi-font-family);
  font-size: var(--tabi-button-font-size);
  box-shadow: none !important;
  appearance: none;
  -webkit-appearance: none;
}

.tabi-form-message {
  margin-bottom: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 14px;
}

.tabi-form-message.success {
  background: #e8fff1;
  color: #166534;
}

.tabi-form-message.error {
  background: #fff1f2;
  color: #9f1239;
}

@media (max-width: 767px) {
  .tabi-form-builder { padding: 18px; }
  .tabi-field { width: 100% !important; min-width: 100%; }
}


.tabi-form-message {
  display: none;
  margin-top: 16px;
}

.tabi-submit[disabled] {
  opacity: .7;
  cursor: wait;
}

.tabi-submit.is-loading {
  pointer-events: none;
}

.tabi-form-builder .tabi-form-message.success,
.tabi-form-builder .tabi-form-message.error {
  display: block;
}


.tabi-form-builder input:not([type="radio"]):not([type="checkbox"])::placeholder,
.tabi-form-builder textarea::placeholder {
  color: var(--tabi-placeholder-color);
  opacity: 1;
}

.tabi-form-builder .tabi-select-placeholder {
  color: var(--tabi-placeholder-color);
}

.tabi-form-builder .tabi-select-field:not(.tabi-select-placeholder) {
  color: var(--tabi-text);
}
