form {
  display: flex;
  flex-direction: column;
  gap: var(--spacer-xs);
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  box-shadow: none;
  color: unset !important;
}

textarea {
  field-sizing: content;
  resize: none;
}

@supports (-webkit-appearance: none) and (stroke-color: transparent) {
  textarea {
    height: 120px; /* or whatever fixed height you need */
  }
}

select {
  padding-left: 5px;
  -webkit-appearance: none;
  appearance: none;
}

.floating-label input,
.floating-label textarea,
.floating-label select {
  background: unset;
  border: unset;
  border-bottom: 1px solid;
  width: 100%;
  padding-top: 25px;
}
.floating-label input:focus {
  background-color: unset;
}
.floating-label p {
  position: relative;
}

.floating-label label {
  position: absolute;
  top: 10px;
  margin-top: auto;
  margin-bottom: auto;
  left: 13px;
  transition: 0.3s all ease-out;
  pointer-events: none;
}

.floating-label:focus-within label,
.floating-label.has-content label {
  top: -0.2rem;
  font-size: 1rem;
}

.wpcf7-not-valid-tip {
  display: none;
}
.wpcf7-response-output {
  display: none !important;
}

.wpcf7-form-control.wpcf7-not-valid {
  border-color: var(--red-error);
}

.floating-label p:has(.wpcf7-form-control.wpcf7-not-valid) label,
.floating-label p:has(.wpcf7-form-control.wpcf7-not-valid) select {
  color: var(--red-error);
}

input[type="submit"] {
  color: unset;
}
.submit p {
  width: fit-content;
  margin-left: auto;
}
.submit .wpcf7-spinner {
  display: none;
}

select {
  color: unset;
  padding-left: 15px;
}

.contact-block > div {
  min-height: 20vw;
}

.form-message {
  display: flex;
  flex-direction: column;
  gap: var(--spacer-xs);
}

.wpcf7-acceptance > span {
  margin-left: 0.5em;
}

.wpcf7-list-item-label,
.wpcf7-list-item-label a {
  font-size: 20px !important;
}

input[type="checkbox"] {
  vertical-align: middle; /* or top or text-bottom depending on your need */
  position: relative;
  top: 1px; /* Adjust this value to align visually */
}
