/* ============================================================
   KÖRPERLOTSEN – Jobs-Komponenten
   Job-Cards, Badges, Leer-State, Details-Accordion
   ============================================================ */

/* --- Job-Card -------------------------------------------- */

.job-card {
  background-color: var(--color-surface);
  border: 1.5px solid
    color-mix(in oklab, var(--color-secondary) 12%, transparent);
  border-radius: var(--radius-lg);
  padding: var(--space-8);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.job-card__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.job-card__titel {
  font-size: var(--text-xl);
  font-weight: 600;
  color: var(--color-secondary);
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.job-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.job-card__desc {
  color: var(--color-on-surface);
  line-height: var(--leading-relaxed);
}

/* --- Badges -------------------------------------------- */

.job-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.25rem 0.625rem;
  border-radius: var(--radius-full);
  background-color: color-mix(in oklab, var(--color-mint) 12%, transparent);
  color: var(--color-mint);
  white-space: nowrap;
}

.job-badge--location {
  background-color: color-mix(in oklab, var(--color-secondary) 8%, transparent);
  color: var(--color-secondary);
}

.job-badge--location .material-symbols-outlined {
  font-size: var(--text-sm);
}

/* --- Details-Accordion -------------------------------------------- */

.job-card__details {
  border-top: 1px solid
    color-mix(in oklab, var(--color-secondary) 10%, transparent);
  padding-top: var(--space-4);
}

.job-card__details summary {
  cursor: pointer;
  font-weight: 600;
  font-size: var(--text-sm);
  color: var(--color-mint);
  list-style: none;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  user-select: none;
}

.job-card__details summary::-webkit-details-marker {
  display: none;
}

.job-card__details summary::after {
  content: "expand_more";
  font-family: "Material Symbols Outlined";
  font-size: var(--text-lg);
  transition: transform var(--transition-fast);
}

.job-card__details[open] summary::after {
  transform: rotate(180deg);
}

.job-card__details[open] summary {
  margin-bottom: var(--space-5);
}

.job-card__list-wrap {
  margin-bottom: var(--space-5);
}

.job-card__list-wrap:last-child {
  margin-bottom: 0;
}

.job-card__list-heading {
  font-size: var(--text-sm);
  font-weight: 700;
  color: var(--color-secondary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: var(--space-3);
}

.job-card__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.job-card__list li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  font-size: var(--text-sm);
  line-height: var(--leading-relaxed);
  color: var(--color-on-surface);
}

.job-card__list .material-symbols-outlined {
  font-size: var(--text-base);
  color: var(--color-mint);
  flex-shrink: 0;
  margin-top: 0.2em;
}

/* --- Grid -------------------------------------------- */

.jobs-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
}

@media (min-width: 48rem) {
  .jobs-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* --- Leer-State -------------------------------------------- */

.jobs-empty {
  text-align: center;
  color: var(--color-on-surface);
  font-size: var(--text-lg);
  line-height: var(--leading-relaxed);
  padding: var(--space-12) var(--space-6);
  background-color: color-mix(in oklab, var(--color-secondary) 5%, transparent);
  border-radius: var(--radius-lg);
  border: 1.5px dashed
    color-mix(in oklab, var(--color-secondary) 20%, transparent);
}

/* --- Benefits auf Mint-Hintergrund ---------------------------------------- */

.jobs-benefits-section .section-headline__title,
.jobs-benefits-section .benefits-intro {
  color: var(--color-offwhite);
}

.jobs-benefits-section .eyebrow {
  color: color-mix(in oklab, var(--color-offwhite) 70%, transparent);
}

.jobs-benefits-section .section-headline__bar {
  background-color: var(--color-accent);
}

/* Anker-Ziel "Jetzt bewerben" nicht unter den fixen Header scrollen. */
#bewerbung-heading {
  scroll-margin-top: 88px;
}

@media (max-width: 900px) {
  #bewerbung-heading {
    scroll-margin-top: 72px;
  }
}

/* --- Benefit Cards (Look der Leistungen-Slab auf der Startseite) ---------- */

.benefit-grid {
  list-style: none;
  padding: 0;
  margin: var(--space-8) 0 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  color: var(--color-offwhite);
}

@media (max-width: 900px) {
  .benefit-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .benefit-grid {
    grid-template-columns: 1fr;
  }
}

.benefit-card {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 0.85rem 1.15rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius-lg);
  transition:
    border-color 0.2s,
    transform 0.2s;
}

.benefit-card:hover {
  border-color: rgba(255, 255, 255, 0.3);
  transform: translateY(-2px);
}

.benefit-card__num {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: 0.15em;
  opacity: 0.35;
}

.benefit-card__head {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.benefit-card__icon {
  font-size: var(--text-2xl);
  margin: 0;
  flex-shrink: 0;
}

.benefit-card__name {
  font-size: var(--text-base);
  font-weight: 700;
  margin: 0;
  color: var(--color-offwhite);
}

.benefit-card__desc {
  font-size: var(--text-sm);
  line-height: 1.5;
  flex: 1;
  margin: 0;
  opacity: 0.75;
}

/* --- Initiativbewerbung-Section ------------------------------------------- */

.initiativbewerbung-box {
  max-width: 42rem;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-6);
}

.initiativbewerbung-box p {
  font-size: var(--text-lg);
  line-height: var(--leading-relaxed);
  color: var(--color-on-surface);
}
