/* ASB Stellenanzeigen – Corporate Design: Noto Sans/Serif, ASB-Anthrazit als Schriftfarbe, ASB-Rot für
   Akzente und Buttons (Pill-Form), eckige Flächen, gepunktete Linien. Schriften liegen lokal. */
@font-face { font-family: "Noto Sans"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/noto-sans-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Noto Sans"; font-weight: 700; font-style: normal; font-display: swap; src: url("../fonts/noto-sans-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Noto Serif"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/noto-serif-latin-400-normal.woff2") format("woff2"); }

:root {
    --gelb: #FFEE00;
    --gelb-20: #fffccc;
    --rot: #E30613;
    --rot-dunkel: #b8040f;
    --tinte: #2D2D46;
    --tinte-20: #d5d5da;
    --tinte-15: #e0e0e3;
    --tinte-70: #6c6c7e;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: transparent; overflow-x: hidden; }
html.st-auto, html.st-auto body { overflow: hidden; }
body { font-family: "Noto Sans", Arial, sans-serif; color: var(--tinte); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
[hidden] { display: none !important; }
.st-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.st { padding: 4px 0 8px; }
.st-empty { font-family: "Noto Serif", Georgia, serif; letter-spacing: .01em; margin: 0; }
.st-empty a { color: var(--rot); }

/* Filter */
.st-filter { display: flex; flex-wrap: wrap; gap: 12px 16px; padding: 16px; background: var(--tinte-15); margin: 0 0 16px; }
.st-filter label { display: flex; flex-direction: column; gap: 4px; flex: 1 1 180px; min-width: 0; font-size: 13px; font-weight: 700; }
.st-filter select {
    font: inherit; font-weight: 400; font-size: 15px; color: var(--tinte); background: #fff;
    border: 1px solid var(--tinte-20); border-radius: 0; padding: 9px 36px 9px 12px; width: 100%;
    appearance: none; -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23E30613' d='M1.6 5.1a.6.6 0 0 1 .85 0L8 10.65l5.55-5.55a.6.6 0 1 1 .85.85l-6 6a.6.6 0 0 1-.85 0l-6-6a.6.6 0 0 1 0-.85'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 12px center; background-size: 14px;
}
.st-filter select:focus-visible { outline: 2px solid var(--rot); outline-offset: 1px; }
.st-count { margin: 0 0 8px; font-size: 14px; color: var(--tinte-70); }
.st-count strong { color: var(--tinte); }

/* Liste */
.st-list { list-style: none; margin: 0; padding: 0; border-top: 1px dotted var(--rot); }
.st-job { padding: 24px 0; border-bottom: 1px dotted var(--tinte-20); }
.st-job h2 { font-size: 21px; line-height: 1.3; font-weight: 700; margin: 0; letter-spacing: .01em; }
.st-meta { display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 8px 0 0; font-size: 14px; }
.st-meta span { display: inline-flex; align-items: flex-start; gap: 7px; }
.st-meta svg { width: 14px; height: 14px; flex: 0 0 14px; margin-top: 3px; fill: var(--rot); }
.st-text { font-family: "Noto Serif", Georgia, serif; letter-spacing: .01em; font-size: 15px; margin-top: 12px; }
.st-text p { margin: 0 0 8px; }
.st-text ul { margin: 0 0 8px; padding-left: 1.2em; }
.st-text li { margin: 2px 0; }
.st-text li::marker { color: var(--rot); }
.st-cta { margin: 14px 0 0; }
.st-btn {
    display: inline-flex; align-items: center; min-height: 44px; padding: 10px 24px; border-radius: 999px;
    background: var(--rot); color: #fff; font-weight: 700; font-size: 15px; text-decoration: none; border: 2px solid var(--rot);
}
.st-btn:hover { background: var(--rot-dunkel); border-color: var(--rot-dunkel); }
.st-btn:focus-visible { outline: 2px solid var(--tinte); outline-offset: 2px; }

@media (max-width: 520px) {
    .st-filter { padding: 12px; }
    .st-job { padding: 20px 0; }
    .st-job h2 { font-size: 19px; }
    .st-btn { width: 100%; justify-content: center; }
}
