/* ── Karriere: Übersicht (/karriere) + Einzelseite (/karriere/{slug}) ──
   Tokens aus shared.css. Klassen: job-card* (Karten), jd-* (Detailseite). */

/* ── Hero (Übersicht) ─────────────────────────────── */
.hero--karriere{position:relative;min-height:40vh;display:flex;align-items:center;background:var(--stone-100);overflow:hidden}
.hero--karriere .container{position:relative;z-index:1;padding-top:3rem;padding-bottom:3rem}
.hero--karriere .hero-content{max-width:680px}
.hero--karriere h1{font-family:var(--font-serif);font-size:clamp(2.25rem,4.5vw,3.5rem);line-height:1.1;letter-spacing:-0.02em;color:var(--stone-900);margin-bottom:1rem}
.hero--karriere .hero-desc{font-size:clamp(1rem,1.4vw,1.125rem);line-height:1.65;color:var(--stone-500);max-width:560px;margin-bottom:0}

/* ── Sub-Nav ──────────────────────────────────────── */
.karriere-subnav{position:sticky;top:72px;z-index:50;background:var(--white);border-bottom:1px solid var(--stone-200);box-shadow:0 1px 3px rgba(0,0,0,.03)}
.karriere-subnav .container{display:flex;gap:0;align-items:stretch;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.karriere-subnav .container::-webkit-scrollbar{display:none}
.karriere-subnav-link{flex:0 0 auto;padding:1rem 1.5rem;font-size:0.9375rem;font-weight:500;color:var(--stone-600);text-decoration:none;border-bottom:2px solid transparent;display:flex;align-items:center;gap:0.5rem;white-space:nowrap;transition:color .2s,border-color .2s}
.karriere-subnav-link span{font-size:0.75rem;color:var(--stone-400);font-weight:400}
.karriere-subnav-link:hover{color:var(--stone-900)}
.karriere-subnav-link.active{color:var(--red);border-bottom-color:var(--red)}

.karriere-section{background:var(--white);scroll-margin-top:130px}
.karriere-section--alt{background:var(--stone-50)}

/* ── Karten ───────────────────────────────────────── */
.jobs-grid{display:grid;gap:var(--gap)}
.jobs-grid--3{grid-template-columns:repeat(3,1fr)}
.jobs-grid--2{grid-template-columns:repeat(2,1fr)}
.jobs-grid--rows{grid-template-columns:1fr}
.job-card{position:relative;background:var(--white);border:1px solid var(--stone-200);border-radius:12px;padding:clamp(1.5rem,2.5vw,2rem);display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1),border-color .35s}
.job-card:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(42,36,30,.08);border-color:var(--stone-300)}
.job-card--draft{border-style:dashed;opacity:.85}
.job-card-head{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}
.job-card-badge{display:inline-flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--red);background:rgba(180,28,28,.06);padding:.3rem .75rem;border-radius:4px;width:fit-content}
.job-card-draft{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--stone-500);background:var(--stone-100);padding:.3rem .75rem;border-radius:4px}
.job-card h3{font-family:var(--font-serif);font-size:1.3125rem;color:var(--stone-900);margin-bottom:.5rem;line-height:1.3}
.job-card h3 a{color:inherit}
.job-card h3 a:hover{color:var(--red)}
.job-card-facts{display:flex;flex-wrap:wrap;gap:.375rem 1rem;font-size:.8125rem;color:var(--stone-500);margin-bottom:1rem}
.job-card-facts span{display:inline-flex;align-items:center;gap:.375rem}
.job-card-facts span+span::before{content:'';width:3px;height:3px;border-radius:50%;background:var(--stone-300);margin-right:.25rem}
.job-card .job-desc{font-size:.9375rem;color:var(--stone-600);line-height:1.65;margin-bottom:1.25rem;flex:1}
.job-card-highlights{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;gap:.5rem}
.job-card-highlights li{font-size:.875rem;color:var(--stone-700);line-height:1.5;padding-left:1.5rem;position:relative}
.job-card-highlights li::before{content:'';position:absolute;left:0;top:.35em;width:.875rem;height:.875rem;border-radius:50%;background:rgba(180,28,28,.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b41c1c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/60% no-repeat}
.job-card .btn{align-self:flex-start}
.job-card--compact .job-card-badge{margin-bottom:1rem}

/* Karten als volle Reihen (Anzahl weder durch 2 noch 3 teilbar) */
.jobs-grid--rows .job-card{display:grid;grid-template-columns:1fr auto;grid-template-areas:"head head" "title cta" "facts cta" "desc cta" "hl cta";column-gap:2rem;align-items:center}
.jobs-grid--rows .job-card-head{grid-area:head}
.jobs-grid--rows .job-card h3{grid-area:title}
.jobs-grid--rows .job-card-facts{grid-area:facts}
.jobs-grid--rows .job-card .job-desc{grid-area:desc;margin-bottom:.75rem}
.jobs-grid--rows .job-card-highlights{grid-area:hl;margin-bottom:0;grid-template-columns:repeat(3,auto);justify-content:start;gap:.5rem 1.5rem}
.jobs-grid--rows .job-card .btn{grid-area:cta;align-self:center}

/* ── Ausbildungs-Banner ───────────────────────────── */
.ausbildung-banner{background:var(--stone-900);border-radius:12px;padding:clamp(2rem,4vw,3rem);display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;margin-bottom:clamp(2.5rem,5vw,4rem)}
.ausbildung-banner h2{font-family:var(--font-serif);font-size:clamp(1.5rem,2.5vw,2rem);color:var(--white);margin-bottom:.5rem}
.ausbildung-banner p{font-size:1rem;color:var(--stone-400);line-height:1.7;max-width:38em}
.ausbildung-banner .btn-primary{white-space:nowrap}

/* ── Was für alle gilt ────────────────────────────── */
.common-benefits{list-style:none;padding:0;margin:0;display:grid;gap:var(--gap)}
.common-benefits--3{grid-template-columns:repeat(3,1fr)}
.common-benefits--2{grid-template-columns:repeat(2,1fr)}
.common-benefits--1{grid-template-columns:1fr}
.common-benefits li{background:var(--white);border:1px solid var(--stone-200);border-radius:12px;padding:1.25rem 1.5rem 1.25rem 3.25rem;font-size:.9375rem;color:var(--stone-700);line-height:1.55;position:relative}
.common-benefits li::before{content:'';position:absolute;left:1.25rem;top:1.3rem;width:1.25rem;height:1.25rem;border-radius:50%;background:rgba(180,28,28,.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b41c1c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/60% no-repeat}

/* ── CTA ──────────────────────────────────────────── */
.karriere-cta{background:var(--white);border:1px solid var(--stone-200);border-radius:12px;padding:clamp(2rem,4vw,3rem);text-align:center}
.karriere-section--alt .karriere-cta{background:var(--white)}
.karriere-cta h3{font-family:var(--font-serif);font-size:clamp(1.5rem,2.5vw,2rem);color:var(--stone-900);margin-bottom:.5rem}
.karriere-cta p{font-size:1rem;color:var(--stone-500);line-height:1.7;max-width:40em;margin:0 auto 1.5rem}
.karriere-cta p a{color:var(--red);font-weight:500}
.karriere-cta .cta-links{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem}

/* ── Detailseite ──────────────────────────────────── */
.breadcrumb-bar{background:var(--stone-100);border-bottom:1px solid var(--stone-200);padding:.75rem 0}
.breadcrumb-bar a{font-size:.8125rem;font-weight:500;color:var(--stone-500);transition:color .2s;display:inline-flex;align-items:center;gap:.375rem}
.breadcrumb-bar a:hover{color:var(--stone-800)}

.jd-hero{background:var(--stone-100);padding:clamp(2.5rem,5vw,4rem) 0 clamp(2rem,4vw,3rem)}
.jd-hero-inner{max-width:820px}
.jd-kicker{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}
.jd-hero h1{font-family:var(--font-serif);font-size:clamp(1.875rem,3.8vw,3rem);line-height:1.12;letter-spacing:-.015em;color:var(--stone-900);margin-bottom:1rem}
.jd-lead{font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.6;color:var(--stone-600);max-width:640px;margin-bottom:1.5rem}
.jd-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}
.jd-chips li{font-size:.8125rem;font-weight:500;color:var(--stone-700);background:var(--white);border:1px solid var(--stone-200);padding:.375rem .875rem;border-radius:999px}

.jd-body{background:var(--white);padding-top:clamp(2.5rem,4vw,3.5rem)}
.jd-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.jd-main{max-width:720px}
.jd-intro p{font-size:1.0625rem;line-height:1.75;color:var(--stone-700)}
.jd-intro p+p{margin-top:1rem}
.jd-section{margin-top:clamp(2rem,3.5vw,2.75rem)}
.jd-section h2{font-family:var(--font-serif);font-size:1.375rem;color:var(--stone-900);margin-bottom:.875rem}
.jd-section p{font-size:1rem;line-height:1.7;color:var(--stone-600)}
.jd-section p+p,.jd-section p+ul{margin-top:.75rem}
.jd-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.jd-list li{font-size:1rem;line-height:1.6;color:var(--stone-700);padding-left:1.25rem;position:relative}
.jd-list li::before{content:'';position:absolute;left:0;top:.7em;width:5px;height:5px;border-radius:50%;background:var(--red)}
.jd-list--check li{padding-left:1.75rem}
.jd-list--check li::before{top:.3em;width:1rem;height:1rem;background:rgba(180,28,28,.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b41c1c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/60% no-repeat}
.jd-common{background:var(--stone-50);border:1px solid var(--stone-200);border-radius:12px;padding:clamp(1.5rem,2.5vw,2rem)}
.jd-common h2{font-size:1.25rem}
.jd-common p{margin-bottom:1rem}

.jd-apply-inline{margin-top:clamp(2.5rem,4vw,3.5rem);padding-top:clamp(2rem,3vw,2.5rem);border-top:1px solid var(--stone-200)}
.jd-apply-inline h2{font-family:var(--font-serif);font-size:1.5rem;color:var(--stone-900);margin-bottom:.5rem}
.jd-apply-inline p{font-size:1rem;color:var(--stone-600);line-height:1.7;margin-bottom:1.25rem}
.jd-apply-actions{display:flex;flex-wrap:wrap;gap:.75rem}

/* Seitenleiste */
.jd-aside{position:sticky;top:calc(72px + 1.5rem)}
.jd-card{background:var(--white);border:1px solid var(--stone-200);border-radius:12px;padding:clamp(1.5rem,2vw,1.75rem);box-shadow:0 8px 32px rgba(42,36,30,.06);display:flex;flex-direction:column;gap:1rem}
.jd-facts{margin:0;display:grid;gap:.75rem;padding-bottom:1rem;border-bottom:1px solid var(--stone-200)}
.jd-facts div{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;align-items:baseline}
.jd-facts dt{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--stone-400)}
.jd-facts dd{margin:0;font-size:.9375rem;font-weight:500;color:var(--stone-800);text-align:right}
.jd-card-highlights{list-style:none;padding:0 0 .25rem;margin:0;display:grid;gap:.5rem}
.jd-card-highlights li{font-size:.875rem;color:var(--stone-700);line-height:1.5;padding-left:1.5rem;position:relative}
.jd-card-highlights li::before{content:'';position:absolute;left:0;top:.3em;width:.9375rem;height:.9375rem;border-radius:50%;background:rgba(180,28,28,.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b41c1c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/60% no-repeat}
.jd-card .btn{justify-content:center;width:100%}
.jd-card-phone{gap:.5rem}
.jd-card-phone .jd-phone-number{display:none}
.jd-card-hint{font-size:.8125rem;color:var(--stone-500);line-height:1.55;margin:0}
.jd-card-contact{display:flex;flex-direction:column;gap:.25rem;padding-top:1rem;border-top:1px solid var(--stone-200);font-size:.875rem}
.jd-card-contact-label{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--stone-400);margin-bottom:.25rem}
.jd-card-contact strong{color:var(--stone-800);font-weight:600}
.jd-card-contact a{color:var(--stone-700)}
.jd-card-contact a:hover{color:var(--red)}

.jd-related-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap}

/* Auf Geräten ohne Telefonie zeigt der Knopf die Nummer statt „Anrufen" */
@media (hover:hover) and (pointer:fine){
  .jd-card-phone .jd-phone-label{display:none}
  .jd-card-phone .jd-phone-number{display:inline}
}

/* ── Responsive ───────────────────────────────────── */
@media (max-width:1024px){
  .jobs-grid--3{grid-template-columns:1fr}
  .jobs-grid--2{grid-template-columns:1fr}
  .common-benefits--3{grid-template-columns:1fr}
  .common-benefits--2{grid-template-columns:1fr}
  .ausbildung-banner{grid-template-columns:1fr;text-align:center}
  .ausbildung-banner .btn{justify-self:center}
  .jd-grid{grid-template-columns:1fr;gap:2rem}
  .jd-aside{position:static;order:-1}
  .jd-main{max-width:none}
  .jobs-grid--rows .job-card{display:flex}
  .jobs-grid--rows .job-card-highlights{grid-template-columns:1fr;margin-bottom:1.5rem}
}
@media (max-width:640px){
  .hero--karriere{min-height:35vh}
  .karriere-subnav{top:60px}
  .karriere-section{scroll-margin-top:110px}
  .jd-aside{top:auto}
  .jd-facts div{grid-template-columns:1fr}
  .jd-facts dd{text-align:left}
  .jd-apply-actions .btn,.karriere-cta .cta-links .btn{width:100%;justify-content:center}
}
