/* Karriere (www/unternehmen/karriere/, www/en-pages/company/careers/): Familien-Stylesheet zu karriere/_tpl/kr.php.
   Baut auf feature-page.css, solution-page.css und industry-page.css auf (Hero, Abschnittsmarken, Listen wie auf
   den Branchenseiten); hier nur, was die Karriereseiten zusätzlich brauchen. */

.kr-hero { padding-bottom: clamp(32px, 4vw, 48px); }
.kr-hero h1 { max-width: 20ch; margin-left: auto; margin-right: auto; }

/* Eckdaten unter dem Hero einer Stelle */
.kr-facts { list-style: none; margin: clamp(28px, 4vw, 40px) auto 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 900px; }
.kr-facts li { display: flex; flex-direction: column; gap: 2px; padding: 10px 16px; border-radius: 12px; border: 1px solid var(--ds-border-default); background: var(--ds-surface-default); text-align: left; }
.kr-facts small { font-size: 11.5px; font-weight: 600; letter-spacing: var(--ds-type-eyebrow-tracking); text-transform: uppercase; color: var(--ds-text-secondary); }
.kr-facts b { font-size: 15px; color: var(--ds-text-primary); }
@media (max-width: 560px) {
  .kr-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .kr-facts b { font-size: 14px; }
}

/* Abschnittsköpfe */
.kr-h { max-width: 24ch; }
.kr-lead { max-width: 60ch; }

/* Gründe als Karten (vier, ab Desktop in einer Reihe) */
.kr-why { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
@media (min-width: 761px) { .kr-why { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1241px) { .kr-why { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.kr-why li { display: flex; flex-direction: column; gap: 10px; padding: 22px; border-radius: 16px; border: 1px solid var(--sp-line); background: var(--sp-warm); }
.kr-why li .illuicon { width: 44px; height: 44px; display: block; }
.kr-why b { font-family: var(--font-display); font-size: 17px; letter-spacing: -.015em; color: var(--sp-ink); }
.kr-why span { font-size: 14px; line-height: 1.55; color: var(--sp-muted); }
.kr-why a { color: var(--sp-accent); }

/* Offene Stellen als Zeilen */
.kr-jobs { list-style: none; margin: 36px 0 0; padding: 0; display: grid; gap: 12px; }
.kr-job {
  display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 18px;
  padding: 20px 24px; border-radius: 16px; border: 1px solid var(--sp-line); background: var(--ds-surface-default);
  color: var(--sp-ink); text-decoration: none; transition: border-color .18s, transform .18s;
}
a.kr-job:focus-visible { outline: 2px solid var(--ds-action-brand); outline-offset: 3px; }
@media (hover: hover) { a.kr-job:hover { border-color: var(--sp-accent); transform: translateY(-1px); } }
.kr-job > i { display: flex; }
.kr-job > i .illuicon { width: 44px; height: 44px; }
.kr-job-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.kr-job-body small { font-size: 12px; font-weight: 600; letter-spacing: var(--ds-type-eyebrow-tracking); text-transform: uppercase; color: var(--sp-accent); }
.kr-job-body b { font-family: var(--font-display); font-size: 19px; letter-spacing: -.015em; }
.kr-job-body span { font-size: 14.5px; line-height: 1.5; color: var(--sp-muted); }
.kr-job-body em { font-style: normal; font-size: 13px; color: var(--sp-muted); }
.kr-job > .svgicon { color: var(--sp-accent); }
div.kr-job { grid-template-columns: 52px minmax(0, 1fr); }
@media (max-width: 560px) {
  .kr-job { grid-template-columns: minmax(0, 1fr) auto; padding: 18px; }
  .kr-job > i { display: none; }
  div.kr-job { grid-template-columns: minmax(0, 1fr); }
}
.kr-note { margin-top: 18px; font-size: 15px; color: var(--sp-muted); }
.kr-note a { color: var(--sp-accent); }

/* Stellenseite: Inhalt links, Seitenkarte rechts (ab Desktop mitlaufend) */
.kr-job-section { padding-top: clamp(40px, 5vw, 72px); }
.kr-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
@media (min-width: 981px) { .kr-grid { grid-template-columns: minmax(0, 1fr) 340px; gap: 56px; align-items: start; } }
.kr-main { display: grid; gap: clamp(40px, 5vw, 56px); }
.kr-block .bp-setup { margin-top: 24px; }
.kr-list { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 12px; }
.kr-list li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: start; font-size: 16.5px; line-height: 1.55; color: var(--sp-ink); }
.kr-list li .svgicon { margin-top: 4px; color: var(--sp-accent); }
.kr-more { font-size: 15px; line-height: 1.6; color: var(--sp-muted); }
.kr-more a { color: var(--sp-accent); }

.kr-aside { position: relative; }
@media (min-width: 981px) { .kr-card { position: sticky; top: 96px; } }
.kr-card { display: flex; flex-direction: column; gap: 16px; padding: 24px; border-radius: 18px; border: 1px solid var(--sp-line); background: var(--sp-warm); }
.kr-card-title { font-family: var(--font-display); font-size: 18px; letter-spacing: -.015em; color: var(--sp-ink); }
.kr-card dl { margin: 0; display: grid; gap: 10px; }
.kr-card dt { font-size: 11.5px; font-weight: 600; letter-spacing: var(--ds-type-eyebrow-tracking); text-transform: uppercase; color: var(--sp-muted); }
.kr-card dd { margin: 2px 0 0; font-size: 15px; color: var(--sp-ink); }
.kr-card .btn { justify-content: center; }
.kr-card p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--sp-muted); }
.kr-card p a { color: var(--sp-accent); white-space: nowrap; }

/* Aktionen unter Abschnitten und FAQ wie auf den Branchenseiten */
.kr-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.kr-faq-title { font-size: clamp(26px, 2.6vw, 34px); }
.kr-faq-q { margin: 0; font-size: inherit; letter-spacing: -.01em; }
