.wpcf7-response-output {
  margin: 0;
  padding: 0.2em 1em;
  border: none;
}

.error {
  color: red;
  width: 100%;
}

select.custom-validate-select option:first-child {
  opacity: 0.8;
  color: gray;
}

/* Form CSS floating */

.home-general-form-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.home-general-form-wrapper .form-group {
  position: relative;
}

.home-general-form-wrapper .form-group p {
  position: relative;
  margin: 0;
}

.home-general-form-wrapper .form-group label {
  position: absolute;
  left: 1rem;
  top: 1.8rem;
  color: #6f7587;
  font-size: 1rem;
  pointer-events: none;
  transition: all 0.2s ease;
  background: white;
  padding: 0;
  z-index: 1;
}

.home-general-form-wrapper .form-group label.required::after {
  content: "*";
  color: #6f7587;
  margin-left: 0.25rem;
}

.home-general-form-wrapper .wpcf7-form-control-wrap {
  display: block;
}

.home-general-form-wrapper .wpcf7-form-control.wpcf7-text,
.home-general-form-wrapper .wpcf7-form-control.wpcf7-email,
.home-general-form-wrapper .wpcf7-form-control.wpcf7-tel,
.home-general-form-wrapper .wpcf7-form-control.wpcf7-select,
.home-general-form-wrapper .wpcf7-form-control.wpcf7-textarea {
  width: 100%;
  padding: 1rem 1rem 1rem;
  border: 2px solid #eaeaea;
  outline: none;
  transition: border-color 0.2s ease;
  background: white;
  font-size: 16px;
  font-weight: 400;
  font-family: "DM Sans", sans-serif;
  /* font-family: "Nohemi Med", sans-serif; */
  line-height: 1;
}

.home-general-form-wrapper .wpcf7-form-control.wpcf7-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.home-general-form-wrapper .wpcf7-form-control:focus {
  border-color: #9ca3af;
}

.home-general-form-wrapper .wpcf7-form-control:focus ~ label,
.home-general-form-wrapper .wpcf7-form-control:not(:placeholder-shown) ~ label {
  top: 0.9rem;
  left: 1rem;
  font-size: 0.875rem;
  color: #6f7587;
}

.home-general-form-wrapper .form-group:has(.wpcf7-form-control:focus) label,
.home-general-form-wrapper
  .form-group:has(.wpcf7-form-control:not(:placeholder-shown))
  label {
  top: 0.9rem;
  left: 1rem;
  font-size: 0.875rem;
  color: #6f7587;
}

.home-general-form-wrapper
  .form-group:has(select.wpcf7-form-control:not([value=""]))
  label,
.home-general-form-wrapper
  .form-group:has(select.wpcf7-form-control:focus)
  label {
  top: 0.9rem;
  left: 1rem;
  font-size: 0.875rem;
  color: #6f7587;
}

.home-general-form-wrapper .wpcf7-form-control::placeholder {
  /* opacity: 0; */
}

.home-general-form-wrapper .form-group:has(.phone-input) label,
.home-general-form-wrapper
  .form-group:has(.phone-input .wpcf7-form-control:focus)
  label,
.home-general-form-wrapper
  .form-group:has(.phone-input .wpcf7-form-control:not(:placeholder-shown))
  label {
  top: 0.9rem;
}

.home-general-form-wrapper .form-group:has(textarea.wpcf7-form-control) label {
  top: 1rem;
}

.home-general-form-wrapper .iti__selected-country {
  padding: 1rem 1rem 1rem 0.5rem;
}

.home-general-form-wrapper .wpcf7-form-control.wpcf7-textarea {
  resize: none;
  min-height: 7.5rem;
  max-height: 7.5rem;
}

.home-general-form-wrapper .form-group p > br {
  display: none;
}

.home-general-form-wrapper .error {
  color: #e81010;
  font-size: 0.75rem;
  position: absolute;
  bottom: -1.1875rem;
  left: 0;
}

/* .home-general-form-wrapper .hidden-fields-container {
  display: none;
} */

.home-general-form-wrapper .wpcf7-response-output {
  margin-top: 1rem;
}

.iti__search-input {
  padding: 0.625rem;
  border-radius: 0;
  border-bottom: 1px solid #eaeaea;
  font-size: 0.875rem;
}

.home-general-form-wrapper .wpcf7-form-control.wpcf7-submit {
  font-family: var(--font-secondary);
  font-size: 0.875rem;
  background-color: #e81010;
  border: 1px solid #e81010;
  color: #fff;
  padding: 0.75rem 1.25rem;
  display: inline-block;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  cursor: pointer;
  min-width: 8rem;
}

.home-general-form-wrapper {
  max-width: 36.4375rem;
  margin-inline-start: auto;
}

.iti__selected-dial-code {
  font-weight: 500;
  font-family: "Nohemi Med", sans-serif;
  font-size: 1.125rem;
}

@media screen and (min-width: 1200px) {
  .home-general-form-wrapper .wpcf7-form-control.wpcf7-submit {
    font-size: 1.125rem;
    padding: 1rem 2.1875rem;
    min-width: 11.9375rem;
  }
}

@media (hover: hover) and (pointer: fine) {
  .home-general-form-wrapper .wpcf7-form-control.wpcf7-submit:hover {
    background-color: #000000;
    border-color: #000000;
  }
}

.wpcf7-acceptance input[type="checkbox"] {
  display: inline-block !important;
  width: auto;
  height: auto;
  margin-right: 0.5rem;
  vertical-align: middle;
}

.wpcf7-acceptance label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

@media screen and (max-width: 767px) {
  .home-general-form-wrapper .wpcf7-form-control.wpcf7-text,
  .home-general-form-wrapper .wpcf7-form-control.wpcf7-email,
  .home-general-form-wrapper .wpcf7-form-control.wpcf7-tel,
  .home-general-form-wrapper .wpcf7-form-control.wpcf7-select,
  .home-general-form-wrapper .wpcf7-form-control.wpcf7-textarea {
    padding: 1rem  ;
    font-size: 1rem;
  }

  .home-general-form-wrapper .form-group label {
    top: 1.2rem;
    font-size: 0.875rem;
  }

  .home-general-form-wrapper .form-group:has(.phone-input) label,
  .home-general-form-wrapper
    .form-group:has(.phone-input .wpcf7-form-control:focus)
    label,
  .home-general-form-wrapper
    .form-group:has(.phone-input .wpcf7-form-control:not(:placeholder-shown))
    label {
    top: 0.5rem;
  }

  .home-general-form-wrapper .form-group:has(.wpcf7-form-control:focus) label,
  .home-general-form-wrapper
    .form-group:has(.wpcf7-form-control:not(:placeholder-shown))
    label {
    top: 0.5rem;
    font-size: 0.8125rem;
  }

  .home-general-form-wrapper
    .form-group:has(select.wpcf7-form-control:not([value=""]))
    label,
  .home-general-form-wrapper
    .form-group:has(select.wpcf7-form-control:focus)
    label {
    top: 0.5rem;
  }

  .home-general-form-wrapper .iti__selected-country {
    padding: 2.5rem 1rem 1rem 0.5rem;
  }

  .iti__selected-dial-code {
    font-size: 1rem;
  }
}

/*  */

/* --------------------------------------
   Map CF7 fields → .form-field styling
-------------------------------------- */
.home-general-form-wrapper input[type="text"],
.home-general-form-wrapper input[type="email"],
.home-general-form-wrapper input[type="tel"],
.home-general-form-wrapper textarea {
  height: 60px;
  padding: 18px;
  border-radius: 2px;
  border: 1px solid #b4b4b4 !important;
  color: #000;
  width: 100%;
  outline: none;
  font-size: 16px;
}
.home-general-form-wrapper {
  gap: 24px;
}

.home-general-form-wrapper .wpcf7-form-control.wpcf7-submit {
  background-color: #19a9e0 !important;
  border-radius: 8px !important;
  border: 1px solid #19a9e0 !important;
}
.home-general-form-wrapper .wpcf7-form-control.wpcf7-submit:hover {
  background-color: #19a8e0ad !important;
  background-color: #19a8e0ad !important;
}

.home-general-form-wrapper input::placeholder,
.home-general-form-wrapper textarea::placeholder {
  color: #696969 !important;
  font-size: 16px !important;
}

.home-general-form-wrapper .wpcf7-form-control.wpcf7-text::placeholder {
  color: #696969 !important;
  font-size: 16px !important;
}
/* input[type="text"]::placeholder {
  color: #696969 !important;
  font-size: 16px !important;
} */

@media screen and (max-width: 767px) {
  .home-general-form-wrapper .wpcf7-form-control.wpcf7-text {
    padding: 0.5rem 1rem 0.5rem;
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .home-general-form-wrapper .iti__selected-country {
    padding: 0.5rem 1rem 0.5rem;
    position: relative;
  }
}

.home-general-form-wrapper input:focus,
.home-general-form-wrapper textarea:focus {
  border: 1px solid rgb(68, 65, 65) !important;
}

.home-general-form-wrapper {
  max-width: unset !important;
}

.wpcf7 form .wpcf7-response-output {
  color: green;
  padding: 10px 0 0 !important;
  font-size: 14px !important;
  margin: 0 !important;
  border: 0 !important;
}

.home-general-form-wrapper .iti__selected-country::before {
  content: "";
  position: absolute;
  right: -3px;
  height: 10px;
  width: 13px;
  background-repeat: no-repeat;
  background-image: url('data:image/svg+xml,<svg fill="%23696969" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 30.727 30.727" xml:space="preserve"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><g><path d="M29.994,10.183L15.363,24.812L0.733,10.184c-0.977-0.978-0.977-2.561,0-3.536c0.977-0.977,2.559-0.976,3.536,0 l11.095,11.093L26.461,6.647c0.977-0.976,2.559-0.976,3.535,0C30.971,7.624,30.971,9.206,29.994,10.183z"></path></g></g></svg>');
  
}

.home-general-form-wrapper .iti__selected-country::after {
  content: "";
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 18px;
  background-color: #D4D4D4;
}
[dir="rtl"] .home-general-form-wrapper .iti__selected-country::after {
  left:-8px;
  right: inherit;
}