/* =============================================================
   CONTACT FORM — Optimized CSS
   Structure:
   1. CF7 Response & Validation
   2. Form Wrapper & Layout
   3. Floating Label
   4. Input Fields (text / email / tel / select)
   5. Textarea
   6. Select Customisation
   7. Phone (iti) Input
   8. File Upload Input
   9. Submit Button
   10. Contact & Career Form Layout (2-col grid)
   11. Responsive — ≥ 1200px
   12. Responsive — ≤ 768px
   ============================================================= */

/* -------------------------------------------------------------
   1. CF7 Response & Validation
   ------------------------------------------------------------- */
.wpcf7-response-output {
  margin: 15px 0 0 !important;
  padding: 0 !important;
  border: none !important;
}

.home-general-form-wrapper .wpcf7-response-output {
  margin-top: 1rem;
  font-size: 0.875rem;
}

.error {
  color: #e81010;
}

.home-general-form-wrapper .error {
  color: #e81010 !important;
  font-size: 0.813rem;
  position: absolute;
  bottom: -12px;
  left: 0;
}

.contact-page-form span.wpcf7-not-valid-tip {
  font-size: 12px !important;
  margin-top: 6px;
}

select.custom-validate-select option:first-child {
  opacity: 0.8;
  color: gray;
}

/* -------------------------------------------------------------
   2. Form Wrapper & Layout
   ------------------------------------------------------------- */
.home-general-form-wrapper {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.5vw, 32px);
}

.home-general-form-wrapper .form-group {
  position: relative;
}

.home-general-form-wrapper .form-group p {
  position: relative;
  margin: 0;
  line-height: 0;
}

.home-general-form-wrapper .form-group p>br {
  display: none;
}

.home-general-form-wrapper .wpcf7-form-control-wrap {
  display: block;
}

/* -------------------------------------------------------------
   3. Floating Label
   ------------------------------------------------------------- */
.home-general-form-wrapper .form-group label {
  position: absolute;
  left: 16px;
  top: 24px;
  font-size: 16px;
  font-weight: 500;
  color: #898989;
  background: #fff;
  padding: 0;
  pointer-events: none;
  transition: 0.25s ease;
  line-height: 1;
  z-index: 1;
}

.home-general-form-wrapper .form-group label.required::after {
  content: "*";
  color: #898989;
  margin-left: 0.25rem;
}

/* Float — focused or filled */
.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: 10px;
  font-size: 14px;
}

/* Select — floated label */
.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.7rem;
  left: 1rem;
  font-size: 0.875rem;
  color: #6f7587;
}

/* Placeholder hidden (triggers :not(:placeholder-shown)) */
.home-general-form-wrapper .wpcf7-form-control::placeholder {
  opacity: 0;
}

/* -------------------------------------------------------------
   4. Input Fields — text / email / tel / select
   ------------------------------------------------------------- */
.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 {
  width: 100%;
  height: 73px;
  padding: 20px 16px 10px 16px;
  border: 1px solid #dcdcdc !important;
  outline: none;
  background-color: #fff;
  font-family: var(--font-inter);
  font-size: 18px;
  font-weight: 500;
  transition: border-color 0.2s ease;
}

.home-general-form-wrapper .wpcf7-form-control.inputfile {
  width: 100%;
  padding: 2.4375rem 3.125rem 1rem 0.75rem;
  border: 1px solid #dcdcdc !important;
  outline: none;
  background-color: #fff;
  font-family: var(--font-inter);
  font-size: clamp(14px, 1.2vw, 1.125rem);
  font-weight: 600;
  transition: border-color 0.2s ease;
}

.home-general-form-wrapper .wpcf7-form-control:focus {
  border-color: #9ca3af;
}

/* WebKit autofill override */
.home-general-form-wrapper .wpcf7-form-control.wpcf7-text:-webkit-autofill,
.home-general-form-wrapper input:-webkit-autofill,
.home-general-form-wrapper textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  -webkit-text-fill-color: #000 !important;
  font-family: var(--font-inter) !important;
  font-size: 18px !important;
}

/* Mobile */
@media (max-width: 768px) {

  .home-general-form-wrapper .wpcf7-form-control.wpcf7-text:-webkit-autofill,
  .home-general-form-wrapper input:-webkit-autofill,
  .home-general-form-wrapper textarea:-webkit-autofill {
    font-size: 16px !important;
  }
}

/* -------------------------------------------------------------
   5. Textarea
   ------------------------------------------------------------- */
.home-general-form-wrapper .wpcf7-form-control.wpcf7-textarea {
  width: 100%;
  height: 140px;
  max-height: 200px;
  padding: 44px 16px 16px 16px !important;
  border: 1px solid #dcdcdc !important;
  outline: none;
  font-family: var(--font-inter);
  font-size: 18px;
  font-weight: 500;
  resize: none;
}

/* Textarea label — default */
.home-general-form-wrapper .form-group:has(.wpcf7-textarea) label {
  top: 1.9rem;
}

/* Textarea label — floated */
.home-general-form-wrapper .form-group:has(.wpcf7-textarea:focus) label,
.home-general-form-wrapper .form-group:has(.wpcf7-textarea:not(:placeholder-shown)) label,
.home-general-form-wrapper .form-group:has(.wpcf7-textarea) label.filled {
  top: 1rem;
  width: 94%;
  /* padding: 11px 0; */
  font-size: 14px;
}

/* -------------------------------------------------------------
   6. Select Customisation
   ------------------------------------------------------------- */
.home-general-form-wrapper .wpcf7-form-control.wpcf7-select,
.home-general-form-wrapper .custom-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.home-general-form-wrapper .custom-select {
  position: relative;
}

.home-general-form-wrapper .custom-select::after {
  content: "";
  position: absolute;
  top: 68%;
  right: 1rem;
  width: 10px;
  height: 10px;
  pointer-events: none;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23363B4C' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.careerForm select.wpcf7-form-control {
  /* padding: 2.4375rem 1rem 0.75rem !important; */
}

/* -------------------------------------------------------------
   7. Phone (iti) Input
   ------------------------------------------------------------- */
.home-general-form-wrapper .iti__selected-country {
  padding: 2.4375rem 1rem 0.75rem;
}

.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: 1rem;
}

.iti__search-input {
  padding: 0.625rem;
  border-radius: 0;
  border-bottom: 1px solid #eaeaea;
  font-size: 0.875rem;
}

/* -------------------------------------------------------------
   8. File Upload Input
   ------------------------------------------------------------- */

/* -------------------------------------------------------------
   9. Submit Button
   ------------------------------------------------------------- */
.home-general-form-wrapper .wpcf7-form-control.wpcf7-submit {
  font-family: var(--font-inter) !important;
  font-size: 0.875rem;
  color: #fff !important;
  background-color: #00338d !important;
  border: 1px solid #00338d !important;
  padding: 15px 47px !important;
  margin-top: 0px !important;
  min-width: unset !important;
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color 0.3s,
    color 0.3s,
    border-color 0.3s;
}

@media screen and (min-width: 1200px) {
  .home-general-form-wrapper .wpcf7-form-control.wpcf7-submit:hover {
    background-color: #012462fa !important;
  }
}


/* -------------------------------------------------------------
   10. Contact & Career Form Layout — 2-col grid
   ------------------------------------------------------------- */
@media screen and (min-width: 1200px) {
  .contact-page-form {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
  }

  .contact-page-form .form-group {
    width: calc(50% - 15px);
  }

  .contact-page-form .w-full {
    width: 100%;
  }

  .careerForm {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 30px;
  }

  .careerForm .form-group {
    width: calc(50% - 16px);
  }

  .careerForm .w-full {
    width: 100%;
  }
}

/* -------------------------------------------------------------
   11. Responsive — ≥ 1200px (desktop refinements)
   ------------------------------------------------------------- */
@media screen and (min-width: 1200px) {
  .home-general-form-wrapper .wpcf7-form-control.wpcf7-submit {
    font-size: 1.125rem;
    padding: 1.3rem 2.1875rem;
    min-width: 11.9375rem;
  }

  .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: 2.4375rem 1rem 0.75rem;
  }

  .home-general-form-wrapper .wpcf7-form-control.inputfile {
    padding: 2.4375rem 3rem 1rem 0.75rem;
  }

  .home-general-form-wrapper .form-group label {
    top: 1.9rem;
  }

  .home-general-form-wrapper .form-group:has(.phone-input) label.required {
    top: 1.9rem;
  }

  .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: 1rem;
    font-size: 14px;
  }

  .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: 1rem;
  }
}

/* -------------------------------------------------------------
   12. Responsive — ≤ 768px (mobile)
   ------------------------------------------------------------- */
@media (max-width: 768px) {

  .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 {
    height: 56px !important;
    font-size: 16px !important;
    padding: 16px 14px 6px 14px !important;
  }

  .home-general-form-wrapper .wpcf7-form-control.wpcf7-textarea {
    font-size: 16px !important;
    min-height: 120px !important;
  }

  .home-general-form-wrapper .form-group label {
    top: 18px !important;
    font-size: 13px !important;
  }

  .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: 8px !important;
    font-size: 11px !important;
  }

  .home-general-form-wrapper .form-group:has(.wpcf7-textarea) label {
    top: 14px !important;
  }

  .home-general-form-wrapper .form-group:has(.wpcf7-textarea:focus) label,
  .home-general-form-wrapper .form-group:has(.wpcf7-textarea) label.filled {
    top: 6px !important;
    font-size: 11px !important;
  }

  .home-general-form-wrapper input.wpcf7-file {
    height: 88px !important;
  }

  .home-general-form-wrapper .wpcf7-form-control.wpcf7-textarea {
    padding: 32px 14px 6px 14px !important;
  }
}

/* input file style */

.file-input-wrapper svg {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.file-input-wrapper {
  /* padding: 0; */
  /* opacity: 0; */
  /* border: 1px solid #dcdcdc;
  height: 73px; */
}

/* .file-input-wrapper .wpcf7-form-control.inputfile{
  padding: 0 !important;  
  height: 69px;
}
.file-upload{
    border: 1px solid #dcdcdc;

} */
/* .inputfile.form-control {
  visibility: hidden;
} */

input[type="file"]::file-selector-button {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.home-general-form-wrapper .form-group.file-upload {
  height: 104px;
}

.home-general-form-wrapper.careerForm>p {
  padding-top: 0;
}

/* Textarea label — floated (active/filled) */
.home-general-form-wrapper .form-group:has(.wpcf7-textarea:focus) label,
.home-general-form-wrapper .form-group:has(.wpcf7-textarea:not(:placeholder-shown)) label,
.home-general-form-wrapper .form-group:has(.wpcf7-textarea) label.filled {
  top: 1px !important;
  padding: 16px 0 !important;

  @media (max-width: 768px) {
    padding: 9px 0 !important;
  }

}

.home-general-form-wrapper .form-group p>br {
  display: none;
}

@media (max-width: 768px) {
  .home-general-form-wrapper.contact-page-form {
    gap: 26px;
  }
}



.wpcf7-response-output {
  color: green !important;
}

.select2-container--open .select2-selection--single::after {
  transform: translateY(-50%) rotate(180deg);
}


