//Twenty Twenty-Four Theme Compatibility
.wp-block-jobus-shortcode-job-archive {
  max-width: 100% !important;
  background-color: #fff;
  margin: 0 !important;

  li {
    margin-left: 0 !important;
  }
}

.wp-block-jobus-shortcode-candidate-archive {
  max-width: 100% !important;
  background-color: #fff;
  margin: 0 !important;
}

.wp-block-jobus-shortcode-company-archive {
  max-width: 100% !important;
}

.jbs-job-details {
  max-width: 100% !important;
  background-color: var(--body_bg);

  a {
    text-decoration: none !important;
  }

  code {
    background: none;
  }
}

.jbs-job-details-two {
  a {
    text-decoration: none !important;
  }

  ul {
    margin-left: 0 !important;
  }
}

.jbs-related-job a {
  text-decoration: none !important;
}

.job-post-item-wrapper {
  .wrapper {
    ul {
      margin-left: 0 !important;
    }

    li {
      margin-top: 0 !important;
    }
  }
}

// twenty twenty five Theme Compatibility
.wp-theme-twentytwentyfive {
  .jbs-candidates-profile {

    .wp-block-heading,
    .title {
      top: -39px !important;
    }

    li {
      div {
        margin: 0 !important;
      }
    }
  }

  .job-company-info {
    .job-meta-data div {
      margin: -6px 0 25px !important;
    }
  }
}

// Hello Elementor Theme Compatibility
.site-main:has(.wp-block-jobus-shortcode-candidate-archive,
  .wp-block-jobus-shortcode-job-archive,
  .wp-block-jobus-shortcode-company-archive) {
  max-width: 100% !important;
}

.wp-theme-hello-elementor,
.wp-theme-hello-biz.jobus-frontend {
  .jbs-dashboard-template {
    button {
      border: none;
    }
  }

  .jbs-accordion-button {
    width: 100%;
    display: flex;
  }

  table tbody tr>td {
    background: none;
  }

  button.action-btn {
    background: none;
  }

  table thead:first-child tr:first-child th {
    border: none;
  }

  table.jbs-table.job-alert-table th {
    text-align: left;
  }

  .dashboard-body .job-alert-table th:last-child {
    text-align: right !important;
  }
}

// Astra Theme Compatibility
.wp-theme-astra {
  #jobusLoginModal .placeholder_icon .passVicon img {
    top: 16px;
  }

  .user-data-form .form-wrapper .input-group-meta .placeholder_icon img {
    top: 22%;
    transform: translateY(-22%);
  }

  .btn-one:focus {
    color: #000000 !important;
    background-color: var(--jbs-brand_color_3);
    border: 2px solid transparent;
  }

  .jbs-btn-close:focus,
  .jbs-btn-close:hover {
    outline: 0 !important;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25) !important;
    opacity: 1 !important;
    background: none !important;
    border: none !important;
  }

  // Sidebar range sliders — Astra's generic `input` reset ships
  // `padding`, `border`, `line-height`, and `min-height` that
  // inflate our 4px / 6px range inputs and float the thumb off
  // the visual track. `!important` is required because Astra's
  // rules load after our main stylesheet and rely on the same
  // `input[type=range]` tag specificity.
  .jbs-filter-area-tab .jbs-salary-slider .jbs-range-input input[type="range"],
  .jbs-filter-area-tab .jbs-radius-search-wrapper .jbs-radius-distance-slider input[type="range"] {
    padding: 0 !important;
    border: 0 !important;
    line-height: 1 !important;
    min-height: 0 !important;
    box-shadow: none !important;
  }

  // Salary dual-range stays transparent (track is the sibling .jbs-slider)
  // and must keep the -6px offset so both thumbs sit on the progress bar.
  .jbs-filter-area-tab .jbs-salary-slider .jbs-range-input input[type="range"] {
    height: 4px !important;
    top: -6px !important;
    background: transparent !important;
  }

  // Max-Distance single-range keeps the JS-painted gradient background.
  // `background-color: transparent` would wipe the JS gradient, so we
  // only reset the specific properties Astra injects.
  .jbs-filter-area-tab .jbs-radius-search-wrapper .jbs-radius-distance-slider input[type="range"] {
    height: 6px !important;
  }

  // Thumb pseudo-elements. Astra ships its own
  // `::-webkit-slider-thumb` / `::-moz-range-thumb` rules that strip
  // our soft drop shadow and occasionally resize the thumb. Pin every
  // visual property so Max-Distance and Salary thumbs look identical
  // to how they render on Hello / Blocksy / default themes.
  .jbs-filter-area-tab .jbs-salary-slider .jbs-range-input input[type="range"],
  .jbs-filter-area-tab .jbs-radius-search-wrapper .jbs-radius-distance-slider input[type="range"] {
    &::-webkit-slider-thumb {
      -webkit-appearance: none !important;
      appearance: none !important;
      width: 16px !important;
      height: 16px !important;
      border-radius: 50% !important;
      background: #fff !important;
      border: 2px solid var(--jbs-brand_color_1) !important;
      box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15) !important;
      cursor: pointer !important;
    }

    &::-moz-range-thumb {
      -moz-appearance: none !important;
      width: 16px !important;
      height: 16px !important;
      border-radius: 50% !important;
      background: #fff !important;
      border: 2px solid var(--jbs-brand_color_1) !important;
      box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15) !important;
      cursor: pointer !important;
    }
  }

  // Max-Distance single-range needs the Chrome-only thumb offset so
  // it centres on the 6 px track. Without this override Astra's
  // reset can shift the thumb a few pixels upward.
  .jbs-filter-area-tab .jbs-radius-search-wrapper .jbs-radius-distance-slider input[type="range"]::-webkit-slider-thumb {
    margin-top: -5px !important;
  }
}

.post-type-archive-jobus_job,
.post-type-archive-jobus_candidate,
.post-type-archive-jobus_company,
.single-jobus_company,
.single-jobus_candidate,
.single-jobus_job {
  .ast-container {
    display: block !important;
    max-width: 100% !important;
  }
}

.ast-container:has(.jbs-container, .jbs-dashboard-template) {
  max-width: 100% !important;
  padding: 0 !important;
  flex-direction: column !important;
}

.single-jobus_candidate {
  .ast-container {
    padding: 0;
  }
}

.card-box {
  .user-avatar-setting {
    .upload-btn {
      // padding-bottom: 30px;
      padding: 0px 10px;
    }
  }
}


.dashboard-body {
  .jbs-table-responsive {
    .action-btn {

      &:hover,
      &:focus {
        background-color: transparent;
      }
    }
  }
}

.ast-container {
  .jbs-dashboard-template {
    a {
      &:focus {
        outline: none !important;
      }
    }

    button {

      &:hover,
      &:focus {
        // background-color: transparent;
      }
    }
  }

  table.jbs-table.job-alert-table {
    border: none;
  }
}

.ast-container {
  a {
    &:focus {
      outline: none !important;
    }
  }

  button {

    &:hover,
    &:focus {
      // background-color: transparent;
    }
  }

  ul {
    padding-left: 0 !important;
    margin-left: 0 !important;
  }
}

.registration-section {
  ul {
    padding-left: 0 !important;
    margin-left: 0 !important;
  }
}

.jobus-frontend.elementor-template-full-width .ast-container {
  max-width: 100%;
  padding: 0;
}

// kadence Theme Compatibility

.site-container:has(.wp-block-jobus-shortcode-candidate-archive,
  .wp-block-jobus-shortcode-job-archive,
  .wp-block-jobus-shortcode-company-archive) {
  max-width: 100% !important;
  padding: 0 !important;
}

.content-area:has(.wp-block-jobus-shortcode-job-archive,
  .wp-block-jobus-shortcode-candidate-archive,
  .wp-block-jobus-shortcode-company-archive) {
  width: 100% !important;
  padding: 0 !important;
}

.wp-theme-kadence.jobus-frontend {
  ul {
    padding-left: 0;
  }
}

.candidate-profile-card .candidate-skills li {
  white-space: nowrap;
}

// Docy Theme Compatibility
body {
  &.docy {
    a {
      &:hover {
        text-decoration: none;
      }
    }

    .container:has(.jbs-container) {
      max-width: 100% !important;
      padding: 0 !important;
    }

    .jbs-container {
      ul {
        margin-left: 0 !important;

        &.jbs-pagination {
          padding-left: 0 !important;
        }
      }
    }

    .jbs-pagination {
      .page-numbers {
        border-left: none;
        border-top: none;
        border-bottom: none;
      }
    }

    .candidate-profile-card div.right-side ul.candidate-skills {
      padding-left: 0;
    }

    .jbs-table {

      thead,
      tbody tr {
        border: none;
        background: none;
      }
    }
  }
}

.wp-theme-docy {
  .user-data-form .form-wrapper .input-group-meta .placeholder_icon span:before {
    top: 24px;
  }

  .dashboard-body .placeholder_icon span::before {
    top: 20px;
  }

  .dashboard-body a {
    &:hover {
      text-decoration: none !important;
    }
  }

  .dashboard-body {

    table thead,
    .table_shortcode thead {
      background: none;
      border: none;
    }
  }
}

.jbs-nice-select {
  ul {
    padding-left: 0 !important;
    margin: 5px;
    border-radius: 10px !important;
  }
}


// GeneratePress Theme Compatibility
.grid-container.hfeed:has(.jbs-company-profiles, .jbs-candidates-profile, .job-listing-three, .jbs-job-details-two, .jbs-job-details, .candidates-profile-2, .company-details, .jbs-dashboard-template) {
  max-width: 100%;

  .site-content {
    display: block;
  }

  .jbs-job-details {
    margin-top: 0;
  }

  .dashboard-body .placeholder_icon span::before {
    top: 21px
  }

  table.jbs-table.job-alert-table {
    border: none;
  }
}

.jobus-frontend.elementor-template-full-width {
  .grid-container.hfeed {
    max-width: 100%;
  }
}

// Avada Theme Compatibility
.wp-theme-Avada.jobus-frontend {
  .clearfix {
    padding: 0 !important;

    .fusion-row:has(.jbs-container, .elementor-widget-jobus_companies, .elementor-widget-jobus_job_tabs, .jbs-dashboard-template) {
      max-width: 100% !important;
      padding: 0 !important;
    }
  }

  .fusion-row {
    .page-numbers.current {
      border-left: none;
      border-top: none;
      border-bottom: none;
      margin: 0 !important;
    }

    h6.fusion-responsive-typography-calculated {
      margin: 11px 0px;
    }
  }

}


// OceanWP Theme Compatibility

.wp-theme-oceanwp.jobus-frontend {
  a {
    &:focus {
      outline: none !important;
    }
  }
}


// Eduacademy Theme Compatibility

.jobus-frontend {
  .jbs-container {
    form {
      margin-bottom: 0;
    }
  }
}

// blocksy Theme Compatibility

.wp-theme-blocksy.jobus-frontend {
  .jbs-dashboard-template {
    .dashboard-wrapper {
      a {
        outline: none;

        &:focus {
          outline: none !important;
          box-shadow: none;
        }
      }

      .user-avatar-setting {
        .upload-btn {
          padding: 0 10px !important;
        }
      }
    }
  }
}

// jobi Theme Compatibility
.wp-theme-jobi {

  .job-details,
  .jbs-job-details,
  .jbs-candidates-profile {
    padding-top: 180px !important;
  }

  .dashboard-body {
    .passVicon {
      img {
        display: inline-block;
      }
    }
  }
}

// WordPress Default Themes (Twenty Twenty – Twenty Twenty Five) Compatibility
.jobus-frontend {

  &.wp-theme-twentytwenty,
  &.wp-theme-twentytwentyone,
  &.wp-theme-twentytwentytwo,
  &.wp-theme-twentytwentythree,
  &.wp-theme-twentytwentyfour,
  &.wp-theme-twentytwentyfive {
    .wp-site-blocks,
    .wp-site-blocks > main,
    main,
    article,
    .entry-content,
    .wp-block-post-content,
    .wp-block-post-template,
    .wp-block-query,
    .wp-block-group,
    .is-layout-constrained,
    .is-layout-flow,
    .site,
    .site-content,
    #primary,
    #main,
    .site-main,
    .content-area {
      &:has(> .jbs-container,
            > section.jbs,
            > .wp-block-jobus-shortcode-job-archive,
            > .wp-block-jobus-shortcode-candidate-archive,
            > .wp-block-jobus-shortcode-company-archive,
            .jbs-container,
            section.jbs,
            .wp-block-jobus-shortcode-job-archive,
            .wp-block-jobus-shortcode-candidate-archive,
            .wp-block-jobus-shortcode-company-archive) {
        max-width: none !important;
        width: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
      }
    }
    :is(.is-layout-constrained, .entry-content, .wp-block-post-content) > :is(
      section.jbs,
      .jbs-container,
      .wp-block-jobus-shortcode-job-archive,
      .wp-block-jobus-shortcode-candidate-archive,
      .wp-block-jobus-shortcode-company-archive
    ),
    :is(.is-layout-constrained, .entry-content, .wp-block-post-content) > *:has(
      section.jbs,
      .jbs-container,
      .wp-block-jobus-shortcode-job-archive,
      .wp-block-jobus-shortcode-candidate-archive,
      .wp-block-jobus-shortcode-company-archive
    ) {
      max-width: none !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }

    // Shortcode block wrappers themselves (Gutenberg-block delivery).
    .wp-block-jobus-shortcode-job-archive,
    .wp-block-jobus-shortcode-candidate-archive,
    .wp-block-jobus-shortcode-company-archive {
      max-width: none !important;
      width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }

    // Hide default-theme page furniture only on archive pages — scoped via
    // `:has()` so normal pages keep their title / nav / meta.
    &:has(.jbs-container,
          section.jbs,
          .wp-block-jobus-shortcode-job-archive,
          .wp-block-jobus-shortcode-candidate-archive,
          .wp-block-jobus-shortcode-company-archive) {

      // `.has-global-padding` adds horizontal padding via CSS vars on
      // constrained groups — zero it out so the shortcode reaches edge-to-edge.
      .has-global-padding {
        padding-left: 0 !important;
        padding-right: 0 !important;
      }

      .entry-header,
      .wp-block-post-title,
      .wp-block-post-featured-image,
      .wp-block-post-date,
      .wp-block-post-author,
      .entry-meta,
      .entry-footer,
      .post-navigation,
      .wp-block-post-navigation-link,
      nav.post-navigation {
        display: none !important;
      }

      .wp-site-blocks > main {
        margin-top: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
      }
    }
  }
}