/* Job-Sparte: bestehende Archivo-Typografie und Shaman-Farben aus globals.css. */
.jobs-editorial { width:100%; max-width:76rem; margin-inline:auto; padding:clamp(1.25rem,4vw,2.5rem); color:var(--color-ink); }
.jobs-editorial h1 { font-size:clamp(2rem,4.5vw,3.7rem); line-height:1.15; max-width:20ch; margin:1.25rem 0 2rem; }
.jobs-editorial h1 span { color:var(--color-accent); }
.jobs-editorial h2 { font-size:clamp(1.8rem,4vw,2.7rem); margin:.5rem 0 1.5rem; }
.jobs-editorial h3 { font-size:clamp(1.25rem,2.5vw,1.65rem); line-height:1.2; }
.jobs-editorial h4 { font-size:1.25rem; line-height:1.25; }
.jobs-editorial p { max-width:70ch; }
.jobs-editorial h1,.jobs-editorial h2,.jobs-editorial h3 { text-wrap:balance; overflow-wrap:break-word; }
.jobs-intro,.jobs-card-description { text-wrap:pretty; }
.jobs-story,.jobs-side { overflow-wrap:break-word; }
.jobs-hero { padding:clamp(2rem,6vw,4rem) 0; }
.jobs-kicker,.jobs-section-number { font-size:.75rem; font-weight:800; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; color:var(--color-accent); }
.jobs-hero-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; }
.jobs-intro { font-size:clamp(1.05rem,2vw,1.25rem); line-height:1.6; max-width:58ch!important; }
.jobs-button { background:var(--color-gold); color:var(--color-void); border-color:var(--color-gold); flex-shrink:0; }
.jobs-button:hover { background:var(--color-paper); color:var(--color-void); border-color:var(--color-paper); }
.jobs-strip { display:flex; flex-wrap:wrap; gap:.75rem 2rem; border-block:1px solid var(--color-line); padding:1rem 0; font-weight:700; }
.jobs-strip span::before { content:'↗'; color:var(--color-accent); padding-right:.7rem; }
.jobs-selection,.jobs-method,.jobs-suggest { padding-block:clamp(2.5rem,5vw,4rem); }
.jobs-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; }
.jobs-count { font-size:2.5rem; font-weight:800; font-variant-numeric:tabular-nums; color:var(--color-accent); }
.jobs-count span { font-size:.85rem; color:var(--color-mute); font-weight:500; }
.jobs-filters { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; margin:1.5rem 0 .75rem; }
.jobs-filters label:not(.jobs-checkbox) { display:flex; flex:1 1 13rem; flex-direction:column; gap:.35rem; font-weight:700; }
.jobs-filters input:not([type=checkbox]),.jobs-filters select { width:100%; min-width:0; min-height:3rem; padding:.7rem; background:var(--color-paper); color:var(--color-ink); border:1px solid var(--color-line); font:inherit; font-size:1rem; }
.jobs-checkbox { display:flex; align-items:center; gap:.7rem; min-height:3rem; font-size:.9rem; }
.jobs-note,.jobs-help { font-size:.9rem; line-height:1.6; color:var(--color-mute); }
.jobs-help { margin:1.5rem 0; }
.jobs-empty { padding:2rem 0; }
.jobs-empty p { margin:1rem 0; }
.jobs-card { border-top:1px solid var(--color-line); }
.jobs-card:last-child { border-bottom:1px solid var(--color-line); }
.jobs-card-summary { list-style:none; display:grid; grid-template-columns:minmax(0,1fr) minmax(14rem,.42fr); gap:2rem; padding:2rem 0; cursor:pointer; }
.jobs-card-summary::-webkit-details-marker { display:none; }
.jobs-card-summary:focus-visible { outline:1px solid var(--color-line); outline-offset:4px; }
.jobs-card-main,.jobs-card-pay { min-width:0; }
.jobs-card-main h3 { margin:.75rem 0; }
.jobs-index { display:inline-block; min-width:2rem; color:var(--color-mute); font-variant-numeric:tabular-nums; }
.jobs-card-hook { font-weight:700; margin:.75rem 0; }
.jobs-card-description { line-height:1.65; color:var(--color-mute); }
.jobs-card-meta { display:flex; flex-wrap:wrap; gap:.5rem 1rem; margin-top:1rem; font-size:.9rem; }
.jobs-card-meta span { border:1px solid var(--color-mute); padding:.2rem .6rem; }
.jobs-salary { font-size:clamp(1.7rem,3vw,2.3rem); font-weight:700; color:var(--color-accent); line-height:1.2; margin:.6rem 0; font-variant-numeric:tabular-nums; }
.jobs-base { margin:.75rem 0; font-size:.9rem; }
.jobs-toggle { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-top:1rem; font-weight:700; color:var(--color-accent); }
.jobs-toggle-icon { font-size:1.5rem; }
.jobs-show-less { display:none; }
.jobs-card[open] .jobs-show-less { display:inline; }
.jobs-card[open] .jobs-show-more { display:none; }
.jobs-card[open] .jobs-toggle-icon { transform:rotate(45deg); }
.jobs-card-expanded { border-top:1px solid var(--color-mute); padding:2rem 0 3rem; }
.jobs-story { max-width:70ch; }
.jobs-story section { margin-bottom:2rem; }
.jobs-story h2,.jobs-story h4 { margin:.5rem 0 1rem; }
.jobs-story p { line-height:1.65; }
.jobs-facts,.jobs-pay-details { margin:1.5rem 0; }
.jobs-facts>div,.jobs-pay-details>div { padding:.85rem 0; border-top:1px solid var(--color-line); }
.jobs-facts dt,.jobs-pay-details dt { font-size:.85rem; font-weight:700; color:var(--color-mute); }
.jobs-facts dd,.jobs-pay-details dd { margin-top:.25rem; line-height:1.6; }
.jobs-verdict { padding-left:1.25rem; border-left:3px solid var(--color-gold); }
.jobs-catch-label { margin-top:1rem; font-weight:700; color:var(--color-accent); }
.jobs-warning { margin:1rem 0; }
.jobs-questions { list-style:decimal; padding-left:1.5rem; }
.jobs-questions li { padding-left:.35rem; margin:.6rem 0; line-height:1.6; }
.jobs-apply { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; }
.jobs-apply .jobs-note { flex-basis:100%; }
.jobs-permalink,.jobs-read,.jobs-back { display:inline-flex; align-items:center; min-height:2.75rem; color:var(--color-accent); text-decoration:underline; }
.jobs-method { border-top:1px solid var(--color-line); }
.jobs-method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin:2rem 0; }
.jobs-method-grid h3 { margin-bottom:1rem; }
.jobs-method-grid p,.jobs-suggest p { line-height:1.65; }
.jobs-suggest { border-top:1px solid var(--color-line); display:grid; grid-template-columns:2fr 1fr; gap:3rem; }
.jobs-gym h3 { margin:.5rem 0 1rem; }
.jobs-gym a { display:inline-flex; min-height:2.75rem; align-items:center; color:var(--color-accent); text-decoration:underline; }
.jobs-detail-head { padding:2rem 0 3rem; }
.jobs-detail-head h1 { font-size:clamp(2rem,5vw,3.5rem); }
.jobs-detail-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(15rem,1fr); gap:3rem; }
.jobs-side { align-self:start; border:1px solid var(--color-line); padding:1.5rem; }
.jobs-side .jobs-note { margin:1rem 0; }
.jobs-header,.jobs-footer { padding:1.25rem; border-block:1px solid var(--color-line); display:flex; justify-content:space-between; gap:1rem; }
.jobs-header nav,.jobs-footer nav { display:flex; gap:1rem; }
@media(max-width:760px) {
  .jobs-hero-bottom { align-items:flex-start; flex-direction:column; }
  .jobs-card-summary,.jobs-method-grid,.jobs-suggest,.jobs-detail-layout { grid-template-columns:1fr; }
  .jobs-card-summary { gap:1.25rem; }
  .jobs-card-pay { border-left:3px solid var(--color-gold); padding-left:1rem; }
  .jobs-method-grid { gap:1.75rem; }
  .jobs-section-heading { align-items:flex-start; }
  .jobs-count { font-size:2rem; }
  .jobs-count span { display:block; }
  .jobs-story { max-width:100%; }
}

/* Light editorial surfaces shared with the rest of the site. */
.jobs-card { margin-block:1rem; padding-inline:clamp(1rem,2.5vw,2rem); border:1px solid var(--color-line); border-radius:8px; background:var(--color-surface); }
.jobs-card:last-child { border-bottom:1px solid var(--color-line); }
.jobs-card-summary { padding-block:1.65rem; }
.jobs-card[open] { border-color:var(--color-line-ink); }
.jobs-card-pay { background:var(--color-gold-wash); padding:1.25rem; border-radius:6px; align-self:start; }
.jobs-filters { padding:1.25rem; background:var(--color-paper); border-radius:8px; }
.jobs-filters input:not([type=checkbox]),.jobs-filters select { background:var(--color-surface); border-color:var(--color-line-ink); border-radius:4px; }
.jobs-side { background:var(--color-surface); border-radius:8px; }
.jobs-button:hover { background:#efc321; border-color:#dfb616; }
.jobs-card-summary:focus-visible { outline:3px solid var(--color-accent); }
.jobs-story,.jobs-card-description { font-size:1.0625rem; }
.jobs-card-meta span { border-color:var(--color-line); border-radius:4px; background:var(--color-paper); }
@media(max-width:760px) { .jobs-card-pay { border-left:0; } .jobs-filters { padding:1rem; } }

/* Begrenzte, filterbare Stellenseiten statt hunderter offener Profile. */
.jobs-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin:2rem 0;padding:1.25rem 0;border-top:1px solid #d8d4c9;color:inherit;font-size:1rem}.jobs-pagination a,.jobs-pagination button{display:inline-flex;align-items:center;min-height:44px;padding:.65rem 1rem;border:1px solid currentColor;border-radius:.45rem;background:transparent;color:inherit;font:inherit;text-decoration:none;cursor:pointer}.jobs-pagination :is(a,button):focus-visible{outline:3px solid #967023;outline-offset:4px}
