/**
 * CF7 Visual Builder - Frontend layout styles
 */

/* Radio and checkbox options displayed vertically */
.wpcf7 .wpcf7-form-control-wrap .wpcf7-list-item {
  display: block;
  margin: 0.5em 0 0 0;
}

.wpcf7 .wpcf7-form-control-wrap .wpcf7-list-item.first {
  margin-top: 0;
}

.cf7vb-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1rem;
}

.cf7vb-row.cf7vb-cols-2 .cf7vb-col {
  flex: 1;
  min-width: 200px;
}

.cf7vb-row.cf7vb-cols-3 .cf7vb-col {
  flex: 1;
  min-width: 150px;
}

.wpcf7 label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  font-size: 1rem;
  color: #212529;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  font-size: 1rem;
  color: #212529;
  line-height: 1.5;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 input[type="time"],
.wpcf7 input[type="datetime-local"],
.wpcf7 input[type="month"],
.wpcf7 input[type="week"],
.wpcf7 input[type="color"],
.wpcf7 input[type="search"],
.wpcf7 input[type="file"],
.wpcf7 input[type="range"] {

  width: 100% !important;
  padding: 0.375rem 0.75rem;
  font-size: 1rem !important;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da !important;
  border-radius: 0.25rem !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;

  &:focus {
    color: #212529;
    background-color: #fff;
    border-color: #86b7fe;
    outline: 0;
  }

}

.wpcf7 select {
  width: 100% !important;
  padding: 0.375rem 0.75rem;
  font-size: 1rem !important;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da !important;
  border-radius: 0.25rem !important;
}

.wpcf7 select:focus {
  color: #212529;
  background-color: #fff;
  border-color: #86b7fe;
  outline: 0;
}

.wpcf7 textarea {
  width: 100% !important;
  padding: 0.375rem 0.75rem;
  font-size: 1rem !important;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da !important;
  border-radius: 0.25rem !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.wpcf7 textarea:focus {
  color: #212529;
  background-color: #fff;
  border-color: #86b7fe;
  outline: 0;
}

.wpcf7 input[type="radio"],
.wpcf7 input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  border: 1px solid #ced4da !important;
  border-radius: 0.25rem !important;
  vertical-align: middle;
  margin-right: 0.5em;
}

.wpcf7 input[type="radio"]:checked,
.wpcf7 input[type="checkbox"]:checked {
  background-color: #007bff;
  border-color: #007bff;
}

/* Custom radio and checkbox styles */
.wpcf7 input[type="radio"]:checked:before,
.wpcf7 input[type="checkbox"]:checked:before {
  background-color: #007bff;
  border-color: #007bff;
}

.wpcf7 input[type="radio"]:checked:before,
.wpcf7 input[type="checkbox"]:checked:before {
  background-color: #007bff;
  border-color: #007bff;
}

.wpcf7 input[type="radio"]:checked,
.wpcf7 input[type="checkbox"]:checked {
  background-color: #007bff;
  border-color: #007bff;
}

.wpcf7 input[type="submit"] {
  width: 100% !important;
  padding: 0.375rem 0.75rem;
  font-size: 1rem !important;
  font-weight: 400;
  line-height: 1.5;
  color: #fff;
  background-color: #007bff;
  border: 1px solid #007bff;
  border-radius: 0.25rem !important;
}

.wpcf7 input[type="submit"]:focus {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
  outline: 0;
}

.wpcf7 input[type="submit"]:hover {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
  cursor: pointer;
}
