/* WP Job Manager submit job form */
#submit-job-form {
  background: #f4f6fa;
  padding: 40px;
  border-radius: 16px;
}

/* Section headers */
#submit-job-form fieldset label {
  color: #253572;
  font-weight: 400;
  font-size: 24px;
}

/* Inputs */
#submit-job-form input,
#submit-job-form textarea,
#submit-job-form select {
  width: 100%;
  border: 1px solid #b8c2d6;
  border-radius: 8px;
  padding: 14px;
  color: #2c2f36;
  font-size: 24px;
  background: #ffffff;
}

/* Focus state */
#submit-job-form input:focus,
#submit-job-form textarea:focus,
#submit-job-form select:focus {
  border-color: #ed1a40;
  outline: none;
  box-shadow: 0 0 0 2px rgba(237, 26, 64, 0.15);
}

/* Submit button */
#submit-job-form input[type="submit"],
#submit-job-form button {
  background: #253572;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  padding: 14px 26px;
  font-weight: 400;
  cursor: pointer;
}

/* Submit button hover */
#submit-job-form input[type="submit"]:hover,
#submit-job-form button:hover {
  background: #ed1a40;
}

/* Help text */
#submit-job-form small,
#submit-job-form .description {
  color: #5f6b7a;
  font-size: 18px;
}
/* Full Time badge */
.single_job_listing .job-type,
.single_job_listing .full-time,
.job_listing .job-type,
.job_listing .full-time {
  background: #B8C2D6 !important;
  color: #ffffff !important;
  border-radius: 20px !important;
  padding: 5px 15px !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

/* Apply for job button */
.single_job_listing .application .application_button,
.single_job_listing .application_button,
.application_button {
  background: #ed1a40 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 15px !important;
  padding: 8px 20px !important;
  font-weight: 300 !important;
  text-decoration: none !important;
}

/* Apply for job button hover */
.single_job_listing .application .application_button:hover,
.single_job_listing .application_button:hover,
.application_button:hover {
  background: #253572 !important;
  color: #ffffff !important;
}
/* Job posting title */
.single_job_listing h1,
.single-job_listing h1 {
  font-size: 40px !important;
  line-height: 1.15 !important;
}

/* Job description body text */
.single_job_listing,
.single_job_listing p,
.single_job_listing li {
  font-size: 18px !important;
	font-weight: 300 !important;
  line-height: 1.5 !important;
}

/* Job section headings */
.single_job_listing h2,
.single_job_listing h3 {
  font-size: 24px !important;
	font-weight: 700 !important;
  line-height: 1.3 !important;
}

/* Full Time badge */
.single_job_listing .job-type,
.single_job_listing .full-time {
  font-size: 24px !important;
}

/* Apply button */
.single_job_listing .application_button {
  font-size: 18px !important;
}

/* Form labels */
#submit-job-form label {
  font-size: 18px !important;
}

/* Form fields */
#submit-job-form input,
#submit-job-form textarea,
#submit-job-form select {
  font-size: 18px !important;
}
/* Job application submit button */
.single-job_listing input[type="submit"],
.single-job_listing button[type="submit"],
.job-manager-application-form input[type="submit"],
.job-manager-application-form button[type="submit"] {
  background-color: #253572 !important;
  color: #ffffff !important;
  border: 1px solid #253572 !important;
  border-radius: 20px !important;
  font-weight: 500;
  text-transform: none;
  padding: 12px 24px;
}

/* Hover state */
.single-job_listing input[type="submit"]:hover,
.single-job_listing button[type="submit"]:hover,
.job-manager-application-form input[type="submit"]:hover,
.job-manager-application-form button[type="submit"]:hover {
  background-color: #ED1A40 !important;
  border-color: #ED1A40 !important;
  color: #ffffff !important;
}
/* Global Elementor Mobile Responsiveness Reset */
@media (max-width: 767px) {

  /* Prevent horizontal scrolling */
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body {
    font-size: 16px !important;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box !important;
  }

  /* Keep Elementor containers inside the screen */
  .elementor,
  .elementor-section,
  .elementor-container,
  .elementor-column,
  .elementor-widget-wrap,
  .elementor-widget,
  .e-con,
  .e-con-inner {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Clean mobile spacing for sections and containers */
  .elementor-section,
  .e-con {
    padding-left: 20px !important;
    padding-right: 20px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Stack columns cleanly */
  .elementor-container {
    flex-wrap: wrap !important;
  }

  .elementor-column {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .elementor-widget-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Reset extreme desktop margins on mobile */
  .elementor-widget,
  .elementor-column,
  .elementor-section,
  .e-con {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Fix button placement and prevent overlap */
  .elementor-widget-button {
    position: static !important;
    display: block !important;
    clear: both !important;
    margin-top: 24px !important;
    margin-bottom: 24px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    z-index: auto !important;
    text-align: center !important;
  }

  .elementor-button-wrapper {
    position: static !important;
    display: flex !important;
    justify-content: center !important;
    clear: both !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  .elementor-button {
    position: relative !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    max-width: calc(100vw - 40px) !important;
    white-space: normal !important;
    text-align: center !important;
    transform: none !important;
  }

  /* Stop mobile overlap from positioning effects */
  .elementor-widget-button,
  .elementor-button-wrapper,
  .elementor-button {
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
  }

  /* Improve spacing around text */
  .elementor-widget-heading,
  .elementor-widget-text-editor {
    margin-bottom: 16px !important;
  }

  .elementor-widget-text-editor p {
    margin-bottom: 16px !important;
  }

  /* Mobile-friendly typography */
  h1,
  .elementor-heading-title.elementor-size-default {
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  h1 {
    font-size: clamp(32px, 9vw, 42px) !important;
    line-height: 1.15 !important;
  }

  h2 {
    font-size: clamp(26px, 7vw, 34px) !important;
    line-height: 1.2 !important;
  }

  h3 {
    font-size: clamp(22px, 6vw, 28px) !important;
    line-height: 1.25 !important;
  }

  p,
  .elementor-widget-text-editor {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  /* Keep background overlays contained */
  .elementor-background-overlay {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* Reduce oversized spacer widgets on mobile */
  .elementor-widget-spacer {
    display: none !important;
  }

  /* Clean list spacing */
  ul,
  ol {
    padding-left: 22px !important;
  }

  /* Make forms fit mobile */
  input,
  textarea,
  select,
  button {
    max-width: 100% !important;
  }
}
/* Header layout fix: logo, menu, and search */

/* Keep the main header row aligned */
.elementor-location-header .elementor-container,
.elementor-location-header .elementor-widget-wrap {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}

/* Menu gets flexible space but should not overlap search */
.elementor-nav-menu--main {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.elementor-nav-menu--main .elementor-nav-menu {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  gap: 0 !important;
}

.elementor-nav-menu--main .elementor-item {
  white-space: nowrap !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
  font-size: 18px !important;
}

/* Search widget keeps its own space */
.elementor-search-form,
.elementor-widget-search-form {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 180px !important;
  margin-left: 12px !important;
  z-index: 2 !important;
}

/* Prevent the menu from sitting on top of search */
.elementor-nav-menu,
.elementor-nav-menu--main {
  z-index: 1 !important;
}

/* Tablet and smaller: switch to mobile menu sooner */
@media (max-width: 1100px) {
  .elementor-nav-menu--main .elementor-item {
    font-size: 18px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
	
	
/* 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 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.elementor-element-2423f73 ul[role="list"] li {
    display: none !important;
}