@import url('https://fonts.googleapis.com/css?family=Lato:400,500,700,900&display=swap');

/* Wrapper for container queries: narrow layout when block is in a thin column (e.g. sidebar on desktop) */
.ejs-container {
  container-type: inline-size;
  container-name: ejs;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.external-jobs-list {
  padding: 0;
  background: transparent;
  min-width: 0; /* allow narrow container to constrain width */
}

.external-job {
  display: flex;
  align-items: center;
  min-height: 110px;
  background: transparent;
  padding: 0;
  margin: 0;
  font-family: 'Lato', Arial, sans-serif;
  position: relative;
  box-sizing: border-box;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.external-job:hover {
  background-color: rgba(31, 32, 67, 0.05);
}

.external-job-logo {
  width: 55px;
  height: 55px;
  min-width: 55px;
  min-height: 55px;
  max-width: 55px;
  max-height: 55px;
  background: #999;
  border-radius: 0;
  object-fit: cover;
  margin-right: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}

.external-job-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.external-job-company {
  color: #1f2043;
  font-family: 'Lato', Arial, sans-serif;
  font-weight: 500;
  font-size: 20px;
  min-width: 180px;
  max-width: 180px;
  word-break: break-word;
  line-height: 1.1;
  margin-right: 35px;
  display: block;
  white-space: normal;
  overflow-wrap: break-word;
  text-overflow: ellipsis;
  flex-shrink: 0;
}

.external-job-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-width: 0;
  flex: 1;
  padding: 15px 0;
}

.external-job-title {
  font-family: 'Lato', Arial, sans-serif;
  font-weight: 900;
  font-size: 25px;
  color: #1f2043;
  line-height: 1.1;
  margin: 0 0 4px 0;
  white-space: normal;
  word-break: break-word;
}

.external-job-type {
  color: #1f2043;
  font-family: 'Lato', Arial, sans-serif;
  font-weight: 500;
  font-size: 20px;
  margin: 0;
  line-height: 1.1;
}

.ejs-divider {
  width: 100%;
  height: 1px;
  background: #1f2043;
  margin: 0;
  border: none;
}

.ejs-apply-btn {
  display: none;
}

/* ALLE JOBS Button Styling */
.alle-jobs-btn {
    background: transparent !important;
    color: #0e6354 !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    font-family: 'Lato', sans-serif !important;
    cursor: pointer;
    text-transform: none !important;
    letter-spacing: normal !important;
    text-decoration: none !important;
    display: inline-block;
    outline: none !important;
    box-shadow: none !important;
}

.alle-jobs-btn:hover {
    background: transparent !important;
    color: #0e6354 !important;
    text-decoration: none !important;
    border: none !important;
    box-shadow: none !important;
}

.alle-jobs-btn:active {
    background: transparent !important;
    color: #0e6354 !important;
    text-decoration: none !important;
    border: none !important;
    box-shadow: none !important;
}

.alle-jobs-btn:focus {
    background: transparent !important;
    color: #0e6354 !important;
    text-decoration: none !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Responsive design for tablet */
@media (max-width: 900px) {
  .external-job-company {
    margin-right: 25px;
    min-width: 150px;
    max-width: 150px;
    font-size: 18px;
  }
  .external-job-details {
    min-width: 0;
  }
  .external-job-title {
    font-size: 22px;
  }
  .external-job-type {
    font-size: 18px;
  }
}

/* Responsive design for mobile */
@media (max-width: 600px) {
  .external-job {
    flex-direction: row;
    align-items: center;
    height: auto;
    padding: 1px 0;
    min-height: 0;
  }
  .external-job-logo {
    margin-bottom: 0;
    margin-right: 15px;
    width: 45px;
    height: 45px;
    min-width: 45px;
    min-height: 45px;
    max-width: 45px;
    max-height: 45px;
  }
  .external-job-company {
    margin-right: 15px;
    min-width: 0;
    max-width: 120px;
    width: 120px;
    font-size: 16px;
    margin-bottom: 0;
  }
  .external-job-details {
    min-width: 0;
    width: 100%;
    padding: 15px 0;
  }
  .external-job-title {
    font-size: 16px;
    margin-bottom: 4px;
  }
  .external-job-type {
    font-size: 14px;
  }
  .ejs-divider {
    margin: 12px 0;
  }
}

@media (max-width: 768px) {
    .alle-jobs-btn {
        font-size: 15px !important;
        font-weight: 800 !important;
        color: #0e6354 !important;
        text-decoration: none !important;
        border: none !important;
        background: transparent !important;
        font-family: 'Lato', sans-serif !important;
    }
}

@media (max-width: 480px) {
    .alle-jobs-btn {
        font-size: 15px !important;
        font-weight: 800 !important;
        color: #0e6354 !important;
        text-decoration: none !important;
        border: none !important;
        background: transparent !important;
        font-family: 'Lato', sans-serif !important;
    }
}

/* --- Thin column / “mobile-like” on desktop ---
   When [external_jobs] is in a narrow container (e.g. sidebar), use compact layout.
   Same look as viewport mobile, but based on container width. */
@container ejs (max-width: 700px) {
  .ejs-container .external-job {
    flex-direction: column !important;
    align-items: flex-start !important;
    height: auto !important;
    padding: 12px 0 !important;
    min-height: 0 !important;
  }
  .ejs-container .external-job-logo {
    margin-right: 0 !important;
    margin-bottom: 10px !important;
    width: 45px !important;
    height: 45px !important;
    min-width: 45px !important;
    min-height: 45px !important;
    max-width: 45px !important;
    max-height: 45px !important;
  }
  .ejs-container .external-job-company {
    margin-right: 0 !important;
    margin-bottom: 6px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    font-size: 15px !important;
    flex-shrink: 1 !important;
  }
  .ejs-container .external-job-details {
    min-width: 0 !important;
    width: 100% !important;
    padding: 0 !important;
    flex: none !important;
  }
  .ejs-container .external-job-title {
    font-size: 16px !important;
    margin-bottom: 4px !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    min-width: 0 !important;
  }
  .ejs-container .external-job-type {
    font-size: 14px !important;
  }
  .ejs-container .ejs-divider {
    margin: 14px 0 !important;
  }
}

/* layout="narrow" or layout="compact": always stacked mobile-style (beats theme and media queries) */
.ejs-container.ejs-layout-narrow .external-job,
.ejs-container.ejs-layout-narrow .external-jobs-list .external-job {
  flex-direction: column !important;
  align-items: flex-start !important;
  height: auto !important;
  padding: 12px 0 !important;
  min-height: 0 !important;
}
.ejs-container.ejs-layout-narrow .external-job-logo,
.ejs-container.ejs-layout-narrow .external-jobs-list .external-job-logo {
  margin-right: 0 !important;
  margin-bottom: 10px !important;
  width: 45px !important;
  height: 45px !important;
  min-width: 45px !important;
  min-height: 45px !important;
  max-width: 45px !important;
  max-height: 45px !important;
}
.ejs-container.ejs-layout-narrow .external-job-company,
.ejs-container.ejs-layout-narrow .external-jobs-list .external-job-company {
  margin-right: 0 !important;
  margin-bottom: 6px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  font-size: 15px !important;
  flex-shrink: 1 !important;
}
.ejs-container.ejs-layout-narrow .external-job-details,
.ejs-container.ejs-layout-narrow .external-jobs-list .external-job-details {
  min-width: 0 !important;
  width: 100% !important;
  padding: 0 !important;
  flex: none !important;
}
.ejs-container.ejs-layout-narrow .external-job-title,
.ejs-container.ejs-layout-narrow .external-jobs-list .external-job-title {
  font-size: 16px !important;
  margin-bottom: 4px !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  min-width: 0 !important;
}
.ejs-container.ejs-layout-narrow .external-job-type,
.ejs-container.ejs-layout-narrow .external-jobs-list .external-job-type {
  font-size: 14px !important;
}
.ejs-container.ejs-layout-narrow .ejs-divider,
.ejs-container.ejs-layout-narrow .external-jobs-list .ejs-divider {
  margin: 14px 0 !important;
} 