/* =========================================================
   CONTACT PAGE
========================================================= */

.wlt-contact-page{
  width:100%;
  overflow:hidden;
  font-family:"Open Sans", sans-serif;
}

/* =========================================================
   HERO SECTION
========================================================= */

.wlt-contact-hero{
  position:relative;
  width:100%;
  height:450px;
  padding-bottom:90px;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}



.wlt-contact-hero__inner{
  position:relative;
  z-index:2;
  width:min(1440px, calc(100% - 48px));
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
}

.wlt-contact-hero__title{
  margin:0 0 12px;
  font-family:"Open Sans", sans-serif;
  font-size:48px;
  line-height:58px;
  font-weight:300;
  color:#FFFFFF;
}

.wlt-contact-hero__description{
  max-width:620px;
  margin:0;
  font-family:"Open Sans", sans-serif;
  font-size:16px;
  line-height:26px;
  font-weight:400;
  color:#DDDDDD;
}

/* =========================================================
   MAIN CONTACT SECTION
========================================================= */

.wlt-contact-main{
  width:100%;
  padding:90px 0;
  background:#FFFFFF;
}

.wlt-contact-main__inner{
  width:min(1440px, calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:60px;
  align-items:start;
}

.wlt-contact-left,
.wlt-contact-right{
  width:100%;
}

.wlt-contact-right{
  padding:30px;
  border-radius:20px;
  background:#F8F8F8;
}

/* =========================================================
   SECTION HEADINGS
========================================================= */

.wlt-contact-section-title{
  margin:0 0 16px;
  font-family:"Open Sans", sans-serif;
  font-size:36px;
  line-height:46px;
  font-weight:600;
  color:#003A5C;
  text-transform:capitalize;
}

.wlt-contact-divider{
  width:80px;
  height:2px;
  margin:0 0 22px;
  background:#DB8629;
}

.wlt-contact-section-description{
  margin:0 0 42px;
  font-family:"Open Sans", sans-serif;
  font-size:16px;
  line-height:26px;
  font-weight:400;
  color:#333333;
}

/* =========================================================
   CONTACT INFO ITEMS
========================================================= */

.wlt-contact-info-list{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:0;
}

.wlt-contact-info-item{
  display:grid;
  grid-template-columns:60px 1fr;
  gap:18px;
  align-items:flex-start;
}

.wlt-contact-info-item + .wlt-contact-info-item{
  margin-top:24px;
}

.wlt-contact-info-item__icon{
  width:60px;
  height:60px;
  border-radius:500px;
  background:#003A5C;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.wlt-contact-info-item__icon img{
  width:28px;
  height:28px;
  object-fit:contain;
  display:block;
}

.wlt-contact-info-item__content{
  width:100%;
}

/* Default (first item stays top aligned) */
.wlt-contact-info-item{
  display:grid;
  grid-template-columns:60px 1fr;
  gap:18px;
  align-items:flex-start;
}

/* From second item onwards → center vertically */
.wlt-contact-info-item + .wlt-contact-info-item{
  align-items:flex-end;
}

.wlt-contact-info-item + .wlt-contact-info-item .wlt-contact-info-item__content{
  padding-top:24px;
  border-top:1px solid #D9D9D9;
}

.wlt-contact-info-item--hours .wlt-contact-info-item__icon{
  margin-bottom: 14px; 
}

.wlt-contact-info-item__label{
  margin:0 0 4px;
  font-family:"Open Sans", sans-serif;
  font-size:16px;
  line-height:26px;
  font-weight:700;
  color:#003A5C;
}

.wlt-contact-info-item__value{
  margin:0;
  font-family:"Open Sans", sans-serif;
  font-size:16px;
  line-height:26px;
  font-weight:400;
  color:#333333;
}


/* =========================================================
   CONTACT FORM BASE
========================================================= */

.wlt-contact-right .wlt-contact-section-description{
	margin-bottom: 24px;
}

.wlt-contact-form{
  width:100%;
}

.wlt-contact-form form{
  width:100%;
}

/* CF7 Grid Layout */
.wlt-cf7-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:24px;
}

.wlt-cf7-field{
  display:flex;
  flex-direction:column;
  margin:0;
}

.wlt-cf7-field--full,
.wlt-cf7-submit-wrap{
  grid-column:1 / -1;
}

/* Labels */
.wlt-cf7-field > span{
  display:block;
  margin:0 0 8px;
  font-family:"Open Sans", sans-serif;
  font-size:16px;
  line-height:26px;
  font-weight:500;
  color:#000000;
  text-transform:capitalize;
}

.wlt-cf7-field label{
	display: inline-block;
	margin-bottom: 12px;
}

.wlt-cf7-field em{
  font-style:normal;
  color:#D82929;
}

/* Inputs */
.wlt-contact-form input[type="text"],
.wlt-contact-form input[type="email"],
.wlt-contact-form input[type="tel"],
.wlt-contact-form input[type="url"],
.wlt-contact-form input[type="number"],
.wlt-contact-form select,
.wlt-contact-form textarea{
  width:100%;
  min-height:52px;
  padding:12px 16px;
  border:1px solid #EEEEEE;
  border-radius:8px;
  background:#FFFFFF;
  font-family:"Open Sans", sans-serif;
  font-size:16px;
  line-height:26px;
  font-weight:400;
  color:#333333;
  outline:none;
  box-shadow:none;
  box-sizing:border-box;
  transition:border-color .25s ease, box-shadow .25s ease;
}

.wlt-contact-form textarea{
  height: 150px !important;
  min-height: 150px !important;
  max-height: 150px;
  resize: none; /* optional: prevents stretching */
}

.wlt-contact-form input::placeholder,
.wlt-contact-form textarea::placeholder{
  color:#9A9A9A;
  opacity:1;
}

.wlt-contact-form input:focus,
.wlt-contact-form select:focus,
.wlt-contact-form textarea:focus{
  border-color:#003A5C;
  box-shadow:0 0 0 3px rgba(0,58,92,.08);
}

/* Remove CF7 default paragraph spacing */
.wlt-contact-form p{
  margin:0;
}

.wlt-cf7-field label{
  margin-bottom:12px; /* adjust if needed */
}

/* =========================================================
   FORM SUBMIT BUTTON
========================================================= */

.wlt-cf7-submit-wrap{
  position:relative;
  display:inline-flex;
  width:max-content;
  margin-top:0;
}

.wlt-contact-form input[type="submit"],
.wlt-contact-form button[type="submit"]{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:12px 62px 12px 24px;
  border:0;
  border-radius:50px;
  background:#003A5C;
  font-family:"Open Sans", sans-serif;
  font-size:16px;
  line-height:26px;
  font-weight:500;
  color:#FFFFFF;
  text-align:center;
  text-transform:capitalize;
  cursor:pointer;
  box-shadow:none;
  transition:transform .25s ease, background .25s ease;
}

/* Submit Icon */
.wlt-cf7-submit-wrap::after{
  content:"";
  position:absolute;
  right:44px;
  top:50%;
  width:34px;
  height:34px;
  transform:translateY(-50%);
  border-radius:500px;
  background:#FFFFFF url("../images/main_menu_icon.svg") center/14px no-repeat;
  pointer-events:none;
}

/* CF7 Spinner */
.wlt-contact-form .wpcf7-spinner{
  margin:0 0 0 12px;
}

/* =========================================================
   CONTACT FORM 7 RESPONSE
========================================================= */

.wlt-contact-form .wpcf7-not-valid-tip{
  margin-top:6px;
  font-family:"Open Sans", sans-serif;
  font-size:13px;
  line-height:20px;
}

.wlt-contact-form .wpcf7-response-output{
  margin:18px 0 0;
  padding:12px 16px;
  border-radius:8px;
  font-family:"Open Sans", sans-serif;
  font-size:14px;
  line-height:22px;
}



/* =========================================================
   ENTRANCE ANIMATIONS
========================================================= */

.wlt-contact-animate{
  opacity:0;
  transform:translateY(28px);
  transition:
    opacity .75s ease,
    transform .75s ease;
  transition-delay:var(--wlt-delay, 0s);
}

.wlt-contact-animate.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (min-width:1025px) and (max-width:1280px){
  .wlt-contact-main__inner{
    gap:40px;
  }

  .wlt-contact-section-title{
    font-size:34px;
    line-height:44px;
  }

  .wlt-cf7-grid{
    gap:22px;
  }
}

@media (min-width:768px) and (max-width:1024px){
  .wlt-contact-hero{
    height:420px;
    padding-bottom:60px;
  }

  .wlt-contact-hero__title{
    font-size:42px;
    line-height:52px;
  }

  .wlt-contact-main{
    padding:70px 0;
  }

  .wlt-contact-main__inner{
    grid-template-columns:1fr;
    gap:50px;
  }

  .wlt-contact-right{
    padding:28px;
  }

  .wlt-cf7-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:22px;
  }

  .wlt-contact-form textarea{
    height:140px !important;
    min-height:140px !important;
    max-height:140px;
  }
}

@media (min-width:481px) and (max-width:767px){
  .wlt-contact-hero{
    height:380px;
    padding-bottom:60px;
  }

  .wlt-contact-hero__inner,
  .wlt-contact-main__inner{
    width:min(100% - 32px, 1440px);
  }

  .wlt-contact-hero__title{
    font-size:36px;
    line-height:46px;
  }

  .wlt-contact-hero__description{
    font-size:15px;
    line-height:25px;
  }

  .wlt-contact-main{
    padding:60px 10px;
  }

  .wlt-contact-main__inner{
    grid-template-columns:1fr;
    gap:42px;
  }

  .wlt-contact-section-title{
    font-size:30px;
    line-height:40px;
  }

  .wlt-contact-section-description{
    margin-bottom:34px;
  }

  .wlt-contact-right{
    padding:24px;
    border-radius:18px;
  }

  .wlt-contact-info-item{
    grid-template-columns:54px 1fr;
    gap:16px;
  }

  .wlt-contact-info-item__icon{
    width:54px;
    height:54px;
  }

  .wlt-contact-info-item__icon img{
    width:26px;
    height:26px;
  }

  .wlt-contact-info-item + .wlt-contact-info-item .wlt-contact-info-item__content{
    padding-top:20px;
  }

  .wlt-cf7-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .wlt-cf7-field label{
    margin-bottom:8px;
  }

  .wlt-contact-form input[type="text"],
  .wlt-contact-form input[type="email"],
  .wlt-contact-form input[type="tel"],
  .wlt-contact-form input[type="url"],
  .wlt-contact-form input[type="number"],
  .wlt-contact-form select,
  .wlt-contact-form textarea{
    min-height:50px;
    padding:11px 14px;
    font-size:15px;
    line-height:25px;
  }

  .wlt-contact-form textarea{
    height:120px !important;
    min-height:120px !important;
    max-height:120px;
  }

  .wlt-cf7-submit-wrap{
    width:max-content;
  }

  .wlt-contact-form input[type="submit"],
  .wlt-contact-form button[type="submit"]{
    min-height:56px;
    padding:11px 60px 11px 22px;
    font-size:15px;
    line-height:25px;
  }

  .wlt-cf7-submit-wrap::after{
    right: 156px;
    top: 28px;
    height:42px;
    background-size:14px;
  }
}

@media (min-width:320px) and (max-width:480px){
  .wlt-contact-hero{
    height:360px;
    padding-bottom:40px;
  }

  .wlt-contact-hero__inner,
  .wlt-contact-main__inner{
    width:min(100% - 24px, 1440px);
  }

  .wlt-contact-hero__title{
    font-size:32px;
    line-height:42px;
  }

  .wlt-contact-hero__description{
    font-size:15px;
    line-height:25px;
  }

  .wlt-contact-main{
    padding:50px 10px;
  }

  .wlt-contact-main__inner{
    grid-template-columns:1fr;
    gap:36px;
  }

  .wlt-contact-section-title{
    font-size:28px;
    line-height:38px;
  }

  .wlt-contact-section-description{
    margin-bottom:32px;
  }

  .wlt-contact-right{
    padding:20px;
    border-radius:16px;
  }

  .wlt-contact-info-item{
    grid-template-columns:50px 1fr;
    gap:14px;
  }

  .wlt-contact-info-item__icon{
    width:50px;
    height:50px;
  }

  .wlt-contact-info-item__icon img{
    width:24px;
    height:24px;
  }

  .wlt-contact-info-item + .wlt-contact-info-item .wlt-contact-info-item__content{
    padding-top:20px;
  }

  .wlt-cf7-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .wlt-cf7-field label{
    margin-bottom:8px;
  }

  .wlt-contact-form input[type="text"],
  .wlt-contact-form input[type="email"],
  .wlt-contact-form input[type="tel"],
  .wlt-contact-form input[type="url"],
  .wlt-contact-form input[type="number"],
  .wlt-contact-form select,
  .wlt-contact-form textarea{
    min-height:50px;
    padding:11px 14px;
    font-size:15px;
    line-height:25px;
  }

  .wlt-contact-form textarea{
    height:110px !important;
    min-height:110px !important;
    max-height:110px;
  }

  .wlt-cf7-submit-wrap{
    width:100%;
  }

  .wlt-contact-form input[type="submit"],
  .wlt-contact-form button[type="submit"]{
    width:100%;
    min-height:56px;
    padding:11px 60px 11px 22px;
    font-size:15px;
    line-height:25px;
  }

  .wlt-cf7-submit-wrap::after{
    right: 95px;
    top: 28px;
    width:42px;
    height:42px;
    background-size:14px;
  }
}