/* Kart's public jobs presentation; publication and application rules remain in Jobs. */
.kd-body.kd-source-jobs a:not(.btn):not(.nav-link):not(.navbar-brand) {
  color: var(--kd-text);
}
.kd-source-jobs .jobs-hub-navigation .list-group-item {
  margin: 0;
}
.kd-source-jobs .jobs-hub-navigation .list-group-item:is(:hover, :focus, :active, .active) {
  color: #fff;
  background: var(--kd-surface-raised);
  border-color: var(--kd-border);
  text-decoration: none;
}
.kd-source-jobs .jobs-hub-navigation .list-group-item.active {
  box-shadow: inset 3px 0 #8a9bac;
}
.kd-source-jobs :is(.jobs-hub-navigation .list-group-item, .jobs-hub-tool-card, .community-content-carousel .card):focus-visible {
  outline: 2px solid #8a9bac;
  outline-offset: -3px;
}
.kd-source-jobs :is(.community-content-carousel .card, .jobs-hub-tool-card, .jobs-latest-item a):is(:hover, :focus) {
  color: var(--kd-text);
  border-color: var(--kd-border);
  transform: none;
  text-decoration: none;
}
.kd-source-jobs :is(.community-content-carousel .h3, .jobs-latest-item .h2, .jobs-hub-tool-card strong) {
  font-family: var(--font-heading);
}
.kd-source-jobs .jobs-hub-tool-card {
  display: flex;
  padding: 0;
  background: var(--kd-surface);
  border-color: var(--kd-border) !important;
}
.kd-source-jobs .jobs-hub-tool-card > .card-body {
  flex: 1;
  color: var(--kd-text);
  font-weight: inherit;
}
.kd-source-jobs :is(.jobs-hub-tool-card .text-primary, .community-content-carousel .card-footer) {
  color: var(--kd-text) !important;
}

/* Jobs home: readable vacancies and compact discovery tools. */
body.kd-source-jobs .jobs-hub-main .jobs-hub-vacancy-title {
  font-family: var(--kd-font-body, Roboto, sans-serif) !important;
  font-size: 1.125rem; line-height: 1.45; font-weight: 650;
  display: block; overflow-wrap: anywhere;
}
body.kd-source-jobs .jobs-hub-main .community-content-carousel .card { background: #14191e !important; border: 1px solid var(--kd-border); }
.kd-source-jobs .jobs-hub-main .community-content-carousel .card-body { padding: 1.1rem; }
.kd-source-jobs .jobs-hub-main .community-content-carousel .card-footer { padding: .85rem 1.1rem; }
.kd-source-jobs .jobs-hub-main .jobs-hub-date { flex: 0 0 auto; white-space: nowrap; }
body.kd-source-jobs .jobs-hub-main .job-company-avatar:not(.job-company-avatar--logo) { background: #29343e; color: #eef3f7; border: 1px solid #45525f; }
.kd-source-jobs .jobs-hub-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.kd-source-jobs .jobs-hub-category-link { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .8rem; border: 1px solid var(--kd-border); border-radius: 6px; text-decoration: none; font-size: .9rem; }
.kd-source-jobs .jobs-hub-category-link:hover { background: #26323d; }
.kd-source-jobs .jobs-hub-employer { display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 1.5rem; }
.kd-source-jobs .jobs-hub-employer .btn { flex-shrink: 0; }
.kd-source-jobs .jobs-hub-search .form-control { min-width: 0; }
.kd-source-jobs .jobs-hub-navigation .list-group-item.active { box-shadow: inset 3px 0 var(--kd-yellow); }
@media(max-width: 575.98px) {
 .kd-source-jobs .jobs-hub-category-grid { grid-template-columns: 1fr; }
 .kd-source-jobs .jobs-hub-search .d-flex, .kd-source-jobs .jobs-hub-employer { flex-direction: column; align-items: stretch; }
}

/* Keep navigation rows within the sidebar instead of expanding the active row. */
body.kd-source-jobs .jobs-hub-navigation .list-group-item,
body.kd-source-jobs .jobs-hub-navigation .list-group-item.active {
  margin: 0 !important;
  width: 100%;
  border-radius: 0 !important;
  padding: .75rem 1rem;
  transform: none;
  box-sizing: border-box;
}
body.kd-source-jobs .jobs-hub-navigation .list-group-transparent { margin-inline: 0 !important; }

/* Category counts use the same territory catalogue as job search. */
.kd-source-jobs .jobs-hub-search .jobs-hub-category-filter { flex: 0 1 19rem; width: 19rem; min-width: 0; }
@media (max-width: 767.98px) {
  .kd-source-jobs .jobs-hub-search .d-flex { flex-direction: column; align-items: stretch; }
  .kd-source-jobs .jobs-hub-search .jobs-hub-category-filter { flex: auto; width: 100%; }
}

body.kd-source-jobs .job-company-avatar--logo { background-color: #fff; background-size: contain; }

/* Compact, equally sized search controls; keep the action label uncompressed. */
body.kd-source-jobs .jobs-hub-search :is(.form-control, .form-select, .btn) {
  height: 2.75rem !important;
  min-height: 2.75rem !important;
  padding-top: .5rem;
  padding-bottom: .5rem;
}
body.kd-source-jobs .jobs-hub-search .btn {
  flex: 0 0 auto;
  min-width: 8rem;
  padding-inline: 1.25rem;
  white-space: nowrap;
}
body.kd-source-jobs .jobs-hub-search .btn i { flex-shrink: 0; }

body.kd-source-jobs .jobs-hub-search .form-control { flex: 1 1 0; width: 0; }
body.kd-source-jobs .jobs-hub-search .jobs-hub-category-filter { flex-shrink: 0; }
@media (max-width: 767.98px) { body.kd-source-jobs .jobs-hub-search .form-control { flex: auto; width: 100%; } }
body.kd-source-jobs .jobs-hub-search :is(.form-control, .form-select) { padding-block: .5rem !important; line-height: 1.5 !important; }
