/* Fix mobile spacing and off-center margins */
@media screen and (max-width: 767px) {

  html,
  body {
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x: hidden;
  }

  .elementor,
  .elementor-section,
  .elementor-container,
  .elementor-column,
  .elementor-widget-wrap,
  .e-con,
  .e-con-inner {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .elementor-section,
  .elementor-container,
  .e-con,
  .e-con-inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .elementor-widget {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  img {
    max-width: 100%;
    height: auto;
  }
}
/* Entire single job page */
.single-job_listing .site-main,
.single-job_listing main {
  max-width: 1100px;
  margin: 0 auto;
  padding: 60px 24px;
}

/* Job title */
.single-job_listing h1 {
  color: #12395b;
  font-size: 42px;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 20px;
}

/* Job details row */
.single-job_listing .job-listing-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin: 0 0 30px;
  padding: 0;
}

/* Company information */
.single-job_listing .company {
  margin: 25px 0 35px;
  padding: 20px;
  background: #f5f6f7;
  border-radius: 8px;
}

/* Job description */
.single-job_listing .job_description {
  color: #333333;
  font-size: 17px;
  line-height: 1.7;
}

/* Section headings */
.single-job_listing .job_description h2,
.single-job_listing .job_description h3 {
  color: #12395b;
  margin-top: 36px;
  margin-bottom: 15px;
}

/* Apply form */
.single-job_listing .application,
.single-job_listing .job_application {
  margin-top: 40px;
}

/* Form fields */
.single-job_listing input[type="text"],
.single-job_listing input[type="email"],
.single-job_listing input[type="tel"],
.single-job_listing input[type="file"],
.single-job_listing select,
.single-job_listing textarea {
  width: 100%;
  border: 1px solid #cccccc;
  border-radius: 30px;
  padding: 12px;
  font-size: 16px;
}

/* Apply and submit buttons */
.single-job_listing button,
.single-job_listing input[type="submit"],
.single-job_listing .application_button {
  background-color: #3a4e9b;
  color: #ffffff;
  border: 1px solid #3a4e9b;
  border-radius: 30px;
  padding: 13px 20px;
  font-weight: 500;
}

/* Button hover */
.single-job_listing button:hover,
.single-job_listing input[type="submit"]:hover,
.single-job_listing .application_button:hover,
.single-job_listing button:focus,
.single-job_listing input[type="submit"]:focus,
.single-job_listing .application_button:focus {
  background-color: #ed1a40;
  border-color: #ed1a40;
  color: #ffffff;
}

/* Mobile */
@media screen and (max-width: 767px) {
  .single-job_listing .site-main,
  .single-job_listing main {
    padding: 35px 18px;
  }

  .single-job_listing h1 {
    font-size: 30px;
  }

  .single-job_listing .job-listing-meta {
    display: block;
  }
}
/* Full Time badge under job title */
.single-job_listing .job-listing-meta li.job-type {
  background-color: #3a4e9b;
  color: #ffffff;
  border-radius: 30px;
  padding: 10px 10px;
}
/* Hides stray empty list item (bullet dot) above 3rd post card in Elementor Posts widget. 
 * Ref: ZD-11428083 */
.elementor-element-2423f73 ul[role="list"] {
    list-style: none;
    margin: 0;
    padding: 0;
}
.elementor-element-2423f73 ul[role="list"] li {
    display: none;
}
.cdmo-location-line,
.cdmo-location-line .elementor-heading-title {
  white-space: nowrap;
  width: max-content;
  max-width: 100%;
  font-size: clamp(13px, 2.2vw, 20px);
}