
.wsf-form {
  --fields-height: 45px;
  --fields-label: var(--accent);
  --fields-label-opacity: 0.6;
  --fields-label-font-size: var(--text-xs);
  --fields-background: var(--white);
  --fields-border-width: 1px;
  --fields-border-style: solid;
  --fields-border-color: var(--black-trans-10);
  --fields-border-radius: 1rem;
  --fields-text-color: var(--accent);
  --fields-font-size: var(--text-xs);
  --fields-block-padding: 1rem;
  --fields-line-height: 1;
  --fields-inline-padding: 1rem;
  --fields-text-alignment: left;
  --fields-text-weight: 500;
  --fields-text-letter-space: 0.5px;
  --fields-spacing: 1rem;
  --radio-btn-select-color: var(--action);
  --fields-focus-color: var(--action);
  /*-------------------------------*/
  --btn-background: var(--action);
  --btn-font-size: var(--text-xs);
  --btn-background-hover: var(--black);
  --btn-radius: var(--radius);
  --btn-text-color: var(--white);
  --btn-text-color-hover: var(--white);
  --btn-border-color: var(--action);
  --btn-border-color-hover: var(--black);
  --btn-height: 4.5rem;
  --btn-hover-transition: .4s ease;
  /*-------------------------------*/
}
.wsf-form .wsf-field-wrapper {
  margin-bottom: var(--fields-spacing);
}
.wsf-form .wsf-label {
  color: var(--fields-label);
  opacity: var(--fields-label-opacity);
  font-size: var(--fields-label-font-size);
}
.wsf-form input[type=date].wsf-field, .wsf-form input[type=datetime-local].wsf-field, .wsf-form input[type=file].wsf-field, .wsf-form input[type=month].wsf-field, .wsf-form input[type=password].wsf-field, .wsf-form input[type=search].wsf-field, .wsf-form input[type=time].wsf-field, .wsf-form input[type=week].wsf-field, .wsf-form input[type=email].wsf-field, .wsf-form input[type=number].wsf-field, .wsf-form input[type=tel].wsf-field, .wsf-form input[type=text].wsf-field, .wsf-form input[type=url].wsf-field, .wsf-form select.wsf-field:not([multiple]):not([size]) {
  height: var(--fields-height);
}
.wsf-form input[type=date].wsf-field, .wsf-form input[type=datetime-local].wsf-field, .wsf-form input[type=file].wsf-field, .wsf-form input[type=month].wsf-field, .wsf-form input[type=password].wsf-field, .wsf-form input[type=search].wsf-field, .wsf-form input[type=time].wsf-field, .wsf-form input[type=week].wsf-field, .wsf-form input[type=email].wsf-field, .wsf-form input[type=number].wsf-field, .wsf-form input[type=tel].wsf-field, .wsf-form input[type=text].wsf-field, .wsf-form input[type=url].wsf-field, .wsf-form select.wsf-field, .wsf-form textarea.wsf-field {
  background-color: var(--fields-background);
  border: var(--fields-border-width) var(--fields-border-style) var(--fields-border-color);
  border-radius: var(--fields-border-radius);
  color: var(--fields-text-color);
  font-size: var(--fields-font-size);
  padding: var(--fields-block-padding) var(--fields-inline-padding);
  text-align: var(--fields-text-alignment);
  font-weight: var(--fields-text-weight);
  letter-spacing: var(--fields-text-letter-space);
  line-height: var(--fields-line-height);
}
.wsf-form .wsf-bottom {
  margin-bottom: 0px !important;
}
.wsf-form .wsf-bottom .wsf-button[type="submit"] {
  background: var(--btn-background);
  color: var(--btn-text-color);
  padding-block: var(--btn-padding-block);
  padding-inline: var(--btn-padding-inline);
  min-inline-size: var(--btn-min-width);
  line-height: var(--btn-line-height);
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  font-style: var(--btn-font-style);
  text-transform: var(--btn-text-transform);
  letter-spacing: var(--btn-letter-spacing);
  text-decoration: var(--btn-text-decoration);
  border-width: var(--btn-border-width);
  border-style: var(--btn-border-style);
  border-radius: var(--btn-radius);
  border-color: var(--btn-border-color);
  transition: var(--btn-hover-transition);
  justify-content: var(--btn-justify-content, center);
  text-align: var(--btn-text-align, center);
  min-height: var(--btn-height);
  position: relative;
  isolation: isolate;
}
.wsf-form .wsf-bottom .wsf-button:hover {
  color: var(--btn-text-color-hover);
  background: var(--btn-background-hover);
  border-color: var(--btn-border-color-hover);
}
.wsf-form .wsf-field-wrapper:has(.wsf-field) {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: var(--space-xs);
}
.wsf-form .wsf-field-wrapper[data-type="html"]:has(+ .wsf-field-wrapper) {
  margin-bottom: var(--space-m);
}
.wsf-form .wsf-field-wrapper:has(+ .wsf-field-wrapper[data-type="html"]) {
  margin-bottom: var(--space-m);
}
.wsf-form .wsf-bottom:has(+ .wsf-field-wrapper) {
  margin-bottom: var(--space-s) !important;
}
.wsf-form input[type=radio].wsf-field:checked + label.wsf-label:before {
  background-color: var(--radio-btn-select-color);
  border-color: var(--radio-btn-select-color);
}
.wsf-form input[type=date].wsf-field:focus, .wsf-form input[type=datetime-local].wsf-field:focus, .wsf-form input[type=file].wsf-field:focus, .wsf-form input[type=month].wsf-field:focus, .wsf-form input[type=password].wsf-field:focus, .wsf-form input[type=search].wsf-field:focus, .wsf-form input[type=time].wsf-field:focus, .wsf-form input[type=week].wsf-field:focus, .wsf-form input[type=email].wsf-field:focus, .wsf-form input[type=number].wsf-field:focus, .wsf-form input[type=tel].wsf-field:focus, .wsf-form input[type=text].wsf-field:focus, .wsf-form input[type=url].wsf-field:focus, .wsf-form select.wsf-field:focus, .wsf-form textarea.wsf-field:focus {
  border-color: var(--fields-focus-color);
  box-shadow: none;
}
.wsf-form .wsf-alert.wsf-alert-success {
  background-color: var(--action);
  border-color: var(--black);
  color: var(--white);
  padding: var(--space-s);
  width: 100%;
  text-align: center;
  font-size: var(--text-m);
}

