/* CF 7 Form */
/* Styles configuration */
:root {
  --cf7-font: inherit;
  --cf7-font-size: var(--wp--preset--font-size--regular);
  --cf7-font-weight: var(--wp--custom--font-weight--light);
  --cf7-labels: var(--wp--preset--color--body);
  --cf7-input-text: var(--wp--preset--color--placeholder-text);
  --cf7-accent: var(--wp--preset--color--accent);
  --cf7-accent-hover: var(--wp--preset--color--accent);
  --cf7-accent-outline: #b9d9ff;
  --cf7-accent-text: var(--wp--preset--color--white);
  ;
  --cf7-warning: var(--wp--preset--color--error);
  ;
  --cf7-warning-bg: #FFEDEC;
  --cf7-success: var(--wp--preset--color--success);
  ;
  --cf7-success-bg: #E6FFF0;
}

::placeholder,
::-ms-input-placeholder {
  /* color: var(--wp--preset--color--placeholder-text); */
  color: red !important;
  opacity: 1;
}

/* General Settings */
.wpcf7,
.wpcf7 * {
  font-family: var(--cf7-font);
  font-weight: var(--cf7-font-weight);
}

.wpcf7-form-control-wrap {
  display: flex;
  flex-direction: column;
}

.wpcf7 label {
  color: var(--cf7-labels);
}

.wpcf7-form>p {
  margin-top: unset;
  margin-bottom: 30px;
  position: relative;
}

.wpcf7-form>p>br {
  display: none;
}

.wpcf7-form>p>label {
  margin-bottom: 7px;
  display: block;
  font-weight: var(--wp--custom--font-weight--regular);
}

.wpcf7-list-item,
.wpcf7-form-control {
  margin: unset !important;
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--small) !important;
  line-height: var(--wp--custom--line-height--1-2);
}

.wpcf7 a {
  color: var(--cf7-accent) !important;
  text-decoration: none;
}

.wpcf7 a:hover {
  color: var(--wp--preset--color--accent) !important;
}

/* General Inputs */
.wpcf7 input[type=color],
.wpcf7 input[type=date],
.wpcf7 input[type=datetime-local],
.wpcf7 input[type=datetime],
.wpcf7 input[type=email],
.wpcf7 input[type=month],
.wpcf7 input[type=number],
.wpcf7 input[type=search],
.wpcf7 input[type=tel],
.wpcf7 input[type=text],
.wpcf7 input[type=time],
.wpcf7 input[type=url],
.wpcf7 input[type=week],
.wpcf7 textarea,
.wpcf7 input[type="file"]::file-selector-button,
.wpcf7 select {
  height: 47px !important;
  padding: var(--wp--preset--spacing--spacing-15);
  background: var(--wp--preset--color--white);
  font-size: var(--wp--preset--font-size--regular);
  background-color: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--dark-grey);
}

.wpcf7 select {
  height: 47px !important;
  width: 100% !important;
  padding: 0 15px !important
}

.wpcf7 input[type=tel] {
  height: 47px !important;
  width: 100% !important;
}


.wpcf7 textarea {
  min-height: 200px;
}

/* Other Inputs */
.wpcf7 input[type=submit] {
  font-family: inherit;
  min-width: 175px;
  text-align: center;
  background-color: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--body);
  font-size: var(--wp--preset--font-size--regular);
  font-weight: var(--wp--custom--font-weight--medium);
  line-height: var(--wp--custom--line-height--medium);
  padding-top: var(--wp--preset--spacing--spacing-15);
  padding-right: var(--wp--preset--spacing--large);
  padding-bottom: var(--wp--preset--spacing--spacing-15);
  padding-left: var(--wp--preset--spacing--large);
  border: 1px solid var(--wp--preset--color--secondary);
  ;
  position: relative;
}

.wpcf7 input:hover[type=submit],
.wpcf7 input:focus[type=submit] {
  background-color: var(--wp--preset--color--accent);
  border: 1px solid var(--wp--preset--color--accent);
  ;
  color: var(--wp--preset--color--white);
  transition: .2s linear;
  cursor: pointer;
}

.wpcf7 input[type=file] {
  color: var(--cf7-input-text);
  font-size: var(--cf7-font-size);
  font-weight: var(--cf7-font-weight);
  font-family: var(--cf7-font);
}

.wpcf7 input:focus[type=file] {
  outline: none;
  border: 0;
}

/* .wpcf7 input[type=file]::file-selector-button,
.wpcf7 select
{
  border: 1px solid #D5E0EB;
  background-color: #ffffff;
  border-radius: 6px;
  line-height: 1.3;
  padding: 0.7rem 1rem;
  color: var(--cf7-input-text);
  min-height: 35px;
  font-size: var(--cf7-font-size);
  font-weight: var(--cf7-font-weight);
  font-family: var(--cf7-font);
} */
.wpcf7 input[type=file]::file-selector-button {
  cursor: pointer;
  margin-right: 20px;
}

/* Custom Checkbox */
.wpcf7 input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid var(--cf7-accent);
  border-radius: 6px;
  margin: 0;
  display: grid;
  place-content: center;
  cursor: pointer;
}

.wpcf7 input[type="checkbox"]:before {
  content: "\f147";
  font-family: 'dashicons';
  font-weight: 300;
  font-size: 15px;
  line-height: 17px;
  width: 18px;
  height: 18px;
  color: white;
  text-align: center;
  border-radius: 6px;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 20px 20px var(--cf7-accent);
}

.wpcf7 input[type="checkbox"]:checked::before {
  transform: scale(1);
}

.wpcf7-checkbox label,
.wpcf7-acceptance label,
.wpcf7-radio label {
  display: flex;
  align-items: center;
  gap: 0.325rem;
  line-height: 1;
}

/* Custom Radio */
.wpcf7 input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  margin: 0;
  font: inherit;
  color: var(--cf7-accent);
  width: 18px;
  height: 18px;
  border: 2px solid var(--cf7-accent);
  border-radius: 100%;
  display: grid;
  place-content: center;
  cursor: pointer;
}

.wpcf7 input[type="radio"]::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 100%;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em var(--cf7-accent);
}

.wpcf7 input[type="radio"]:checked::before {
  transform: scale(1);
}

/* Other States */
/* .wpcf7 input:hover[type=color],
.wpcf7 input:hover[type=date],
.wpcf7 input:hover[type=datetime-local],
.wpcf7 input:hover[type=datetime],
.wpcf7 input:hover[type=email],
.wpcf7 input:hover[type=month],
.wpcf7 input:hover[type=number],
.wpcf7 input:hover[type=search],
.wpcf7 input:hover[type=tel],
.wpcf7 input:hover[type=text],
.wpcf7 input:hover[type=time],
.wpcf7 input:hover[type=url],
.wpcf7 input:hover[type=week],
.wpcf7 input:hover[type=file]::file-selector-button,
.wpcf7 textarea:hover,
.wpcf7 select:hover
{
  border: 1px solid #92ACC7;
  outline: none;
  background-color: #ffffff;
  font-size: var(--cf7-font-size);
}
.wpcf7 input:focus[type=color],
.wpcf7 input:focus[type=date],
.wpcf7 input:focus[type=datetime-local],
.wpcf7 input:focus[type=datetime],
.wpcf7 input:focus[type=email],
.wpcf7 input:focus[type=month],
.wpcf7 input:focus[type=number],
.wpcf7 input:focus[type=search],
.wpcf7 input:focus[type=tel],
.wpcf7 input:focus[type=text],
.wpcf7 input:focus[type=time],
.wpcf7 input:focus[type=url],
.wpcf7 input:focus[type=week],
.wpcf7 input:focus[type="checkbox"],
.wpcf7 textarea:focus,
.wpcf7 select:focus,
.wpcf7 a:focus
{
  border: 1px solid #92ACC7;
  outline:none;
  box-shadow: 0 0 0 3px var(--cf7-accent-outline);
  background-color: #ffffff;
} */
/* Invalid Fields */
.wpcf7-not-valid-tip {
  color: var(--cf7-warning) !important;
  font-size: var(--cf7-font-size) !important;
  font-weight: var(--cf7-font-weight) !important;
}

/* .wpcf7-not-valid:not(input[type=file]):not(span) {
  border-color: #FFBAB6 !important;
  background-color: #FFFAFA !important;
} */

.wpcf7 input:disabled[type=submit],
.wpcf7 input:disabled[type=submit]:hover {
  color: #ffffff;
  background-color: var(--cf7-warning);
  border: 0;
  cursor: not-allowed;
}

/* Response Messages */
.wpcf7 form.init .wpcf7-response-output {
  display: none;
}

.wpcf7 form .wpcf7-response-output {
  /* Default */
  margin: 15px 0 !important;
  padding: 10px 20px !important;
  border: 0 !important;
  border-radius: 6px !important;
}

.wpcf7 form.sent .wpcf7-response-output {
  /* Success */
  background-color: var(--cf7-success-bg) !important;
  color: var(--cf7-success) !important;
  border: 0 !important;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  /* Failed */
  background-color: var(--cf7-warning-bg) !important;
  color: var(--cf7-warning) !important;
  border: 0 !important;
  line-height: 1.8;
}

.wpcf7-spinner {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--wp--preset--color--secondary) !important;
}

.wpcf7-spinner::before {
  background-color: var(--wp--preset--color--primary) !important;
}


/* Custom CSS */
.wpcf7-form .fieldset-project-type,
.wpcf7-form .fieldset-service-type,
.wpcf7-form .fieldset-project-budget {
  flex-wrap: wrap;
}

.wpcf7-form .fieldset-project-type label>input,
.wpcf7-form .fieldset-service-type label>input,
.wpcf7-form .fieldset-project-budget label>input {
  display: none;
}

.wpcf7-form .fieldset-project-type .wpcf7-list-item label>span,
.wpcf7-form .fieldset-service-type .wpcf7-list-item label>span,
.wpcf7-form .fieldset-project-budget .wpcf7-list-item label>span {
  display: flex;
  font-size: 14px;
  cursor: pointer;
  flex-wrap: wrap;
  padding: 12px 24px;
  justify-content: center;
  margin: unset !important;
  background: var(--wp--preset--color--grey);
  border: 2px solid var(--wp--preset--color--dark-grey);
  border-radius: var(--wp--custom--border-radius--full);
}

.wpcf7-form .wpcf7-radio .wpcf7-list-item label > span:hover {
  background: var(--wp--preset--color--dark-grey);
}

.wpcf7-form .fieldset-project-type .wpcf7-list-item input[type="radio"]:checked+span,
.wpcf7-form .fieldset-service-type .wpcf7-list-item input[type="radio"]:checked+span,
.wpcf7-form .fieldset-project-budget .wpcf7-list-item input[type="radio"]:checked+span {
  background: var(--wp--preset--color--secondary);
  border: 2px solid var(--wp--preset--color--secondary);
}