.fkjp-wrap{max-width:1100px;margin:0 auto;padding:24px 16px;}
.fkjp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:1024px){.fkjp-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.fkjp-grid{grid-template-columns:1fr;}}
.fkjp-card{
  background:#fff;border:1px solid #e5e7eb;border-radius:16px;
  padding:16px;box-shadow:0 6px 24px rgba(0,0,0,.06);
    margin-bottom: 10px;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.fkjp-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.10);border-color:#d1d5db}
.fkjp-top{display:flex;gap:12px;align-items:center;margin-bottom:10px}

.fkjp-logo,
.fkjp-detail-logo{
  height:44px;
  width:fit-content;         /* wichtig */
  max-width:140px;
  flex:0 0 auto;             /* wichtig */
  overflow:hidden;           /* ok, aber wir verhindern crop am img */
  display:inline-flex;       /* inline-flex -> shrink-to-fit */
  align-items:center;
  justify-content:center;
  padding:2px 6px;           /* etwas horizontalen "Atem" */
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:10px;
}

.fkjp-logo img,
.fkjp-detail-logo img,
.fkjp-logo-img{
  height:44px !important;    /* erzwingt die Höhe */
  width:auto !important;     /* verhindert quadratisch */
  max-width:100% !important;
  max-height:44px !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block;
}


.fkjp-title{font-size:16px;font-weight:700;line-height:1.25;margin:0}
.fkjp-meta{font-size:12px;opacity:.75;margin-top:2px}
.fkjp-desc{font-size:13px;line-height:1.45;opacity:.9;margin:10px 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fkjp-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}
.fkjp-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 12px;border-radius:12px;text-decoration:none;
  background:#111827;color:#fff;font-weight:600;font-size:13px
}
.fkjp-chip{font-size:12px;padding:6px 10px;border-radius:999px;background:#f3f4f6;border:1px solid #e5e7eb}

/* Filter in einer Zeile */
.fkjp_jobs_filter { margin: 0 0 18px; }

.fkjp_jobs_filter__row{
  display:flex;
  gap:12px;
  align-items:flex-end;
  flex-wrap:wrap;
}

.fkjp_jobs_filter__field{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width: 180px;
}

.fkjp_jobs_filter__field span{
  font-size:12px;
  opacity:.75;
  font-weight:600;
}

.fkjp_jobs_filter__field input,
.fkjp_jobs_filter__field select{
  height:44px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:0 12px;
  background:#fff;
}

.fkjp_jobs_filter__field select[multiple]{
  height:44px; /* bleibt "1 Zeile" */
}

.fkjp_jobs_filter__actions{
  display:flex;
  gap:10px;
  align-items:center;
  height:44px;
}

.fkjp_jobs_filter__hint{
  margin-top:8px;
  font-size:12px;
  opacity:.65;
}

/* optional: ghost button falls du das noch nicht hast */
.fkjp-btn--ghost{
  background:transparent;
  border:1px solid #e5e7eb;
  color:#111827;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  border-radius:14px;
  font-weight:800;
}
/* Filterleiste */
.fkjp_jobs_filter { margin: 0 0 18px; }
.fkjp_jobs_filter__row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:flex-end;
}
.fkjp_jobs_filter__field{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width: 170px;
}
.fkjp_jobs_filter__field--q{
  flex: 1 1 260px;
  min-width: 240px;
}
.fkjp_jobs_filter__field span{
  font-size:12px;
  opacity:.75;
}
.fkjp_jobs_filter__field input,
.fkjp_jobs_filter__field select{
  height:42px;
  padding:0 12px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
}
.fkjp_jobs_filter__actions{
  display:flex;
  gap:10px;
  align-items:center;
}
.fkjp_jobs_filter__btn{
  height:42px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid #e5e7eb;
  background:#fff;
  font-weight:700;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
}
.fkjp_jobs_filter__btn--primary{
  background:#111827;
  border-color:#111827;
  color:#fff;
}

/* Pagination (paginate_links type=list) */
.fkjp-pagination{
  margin: 22px 0 0;
  display:flex;
  justify-content:center;
}

.fkjp-pagination .page-numbers{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.fkjp-pagination .page-numbers li{
  margin:0;
  padding:0;
}

/* Links + current */
.fkjp-pagination .page-numbers a,
.fkjp-pagination .page-numbers span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:42px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#111827;
  font-weight:700;
  text-decoration:none;
  line-height:1;
  transition: transform .08s ease, border-color .08s ease, box-shadow .08s ease;
}

.fkjp-pagination .page-numbers a:hover{
  border-color:#cbd5e1;
  box-shadow: 0 6px 18px rgba(17,24,39,.08);
  transform: translateY(-1px);
}

.fkjp-pagination .page-numbers a:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(17,24,39,.18);
  border-color:#111827;
}

/* Active page */
.fkjp-pagination .page-numbers .current{
  background:#111827;
  border-color:#111827;
  color:#fff;
  box-shadow: 0 10px 26px rgba(17,24,39,.18);
}

/* Prev/Next a bit wider */
.fkjp-pagination .page-numbers .prev,
.fkjp-pagination .page-numbers .next{
  min-width:52px;
  padding:0 16px;
}

/* Dots */
.fkjp-pagination .page-numbers .dots{
  border-color: transparent;
  background: transparent;
  color:#6b7280;
  min-width:auto;
  padding:0 6px;
}

.fkjp-job-count{
    margin: 10px 0 18px;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
    display:flex;
    justify-content:flex-end;
    opacity:.85;
}

/* Mobile */
@media (max-width: 520px){
  .fkjp-pagination .page-numbers a,
  .fkjp-pagination .page-numbers span{
    min-width:38px;
    height:38px;
    border-radius:12px;
    padding:0 12px;
  }
}


/* optional: mobile */
@media (max-width: 780px){
  .fkjp_jobs_filter__row{ gap:10px; }
  .fkjp_jobs_filter__actions{ width:100%; }
}

