/* ============================================================
   Amando – Offene Stellen / Stellenpool (nur auf doktype 8270 geladen)
   ============================================================ */
.jobs { background: #fff; padding: 104px 0; }
.jobs h2 { color: var(--petrol); font-size: clamp(28px, 3.4vw, 44px); max-width: 18ch; margin: 0 0 14px; }
.jobs .lead { color: var(--ink-muted); font-size: 17px; max-width: 56ch; margin: 0; }

.job-filter { display: flex; flex-wrap: wrap; gap: 18px; margin: 40px 0 24px; align-items: end; }
.job-filter .jf { display: flex; flex-direction: column; gap: 7px; min-width: 200px; flex: 1; }
.job-filter label { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--petrol-60); font-weight: 500; }
.job-filter select { font-family: var(--sans); font-size: 15px; padding: 13px 15px; border: 1px solid var(--line-strong); background: #fff; color: var(--ink); border-radius: 10px; cursor: pointer; }
.job-filter select:focus { outline: none; border-color: var(--petrol); box-shadow: 0 0 0 3px rgba(0, 83, 85, .12); }

.job-count { font-family: var(--sans); font-size: 14px; color: var(--ink-muted); margin: 0 0 20px; font-weight: 500; }

.job-list { display: flex; flex-direction: column; gap: 14px; }
.job-card { display: grid; grid-template-columns: 1fr auto; gap: 18px 28px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px 28px; transition: border-color .25s, transform .25s, box-shadow .25s; }
.job-card:hover { border-color: var(--petrol-60); transform: translateY(-3px); box-shadow: 0 14px 34px rgba(1, 62, 64, .07); }
.job-card h3 { color: var(--petrol); font-size: 20px; margin: 0; }
.job-card .jc-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.jc-meta .chip { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 500; color: var(--petrol); background: var(--paper-2); border: 1px solid var(--line); border-radius: 999px; padding: 6px 13px; line-height: 1; }
.jc-meta .chip svg { width: 13px; height: 13px; stroke: var(--petrol-60); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.job-card .jc-cta { justify-self: end; white-space: nowrap; }

.job-empty { display: none; text-align: center; padding: 46px 20px; color: var(--ink-muted); font-size: 16px; border: 1px dashed var(--line-strong); border-radius: 16px; background: var(--paper); }

/* Job-Detailseite + Bewerbung: Chips im Hero */
.job-detail-hero .jc-meta,
.bewerbung-hero .jc-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
/* Job-Detailseite: Inhalt linksbündig auf Lesebreite, Bewerben oben + CTA unten */
.job-article .job-apply-top, .job-article .news-body, .job-article .job-benefits, .job-article .job-cta { max-width: 860px; }
.job-apply-top { margin: 0 0 40px; }
.job-cta { margin-top: 48px; padding: 34px 40px; background: var(--paper-2); border: 1px solid var(--line); border-radius: 18px; }
.job-cta--top { margin-top: 0; margin-bottom: 40px; }
.job-cta h2 { font-family: var(--serif); font-weight: 500; color: var(--petrol); font-size: 22px; margin: 0 0 8px; }
.job-cta p { color: var(--ink-muted); font-size: 16px; line-height: 1.6; margin: 0 0 20px; }
.job-cta p a { color: var(--petrol); font-weight: 700; text-decoration: none; }
.job-cta p a:hover { color: var(--petrol-deep); }
.job-cta .nowrap { white-space: nowrap; }
.apply-contact { margin: 0 0 22px; }
.apply-contact a { display: block; font-weight: 700; color: var(--petrol); text-decoration: none; margin-bottom: 7px; }
.apply-contact a:hover { color: var(--petrol-deep); }
.apply-contact .nowrap { white-space: nowrap; }

/* Job-Detail: 2-Spalten-Layout, Bewerbungs-Card rechts sticky (Desktop) */
.job-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; align-items: start; }
.job-detail-aside { position: sticky; top: calc(var(--nav-h) + 24px); }
.job-apply-card { margin: 0; }
@media (max-width: 980px) {
  .job-detail-grid { grid-template-columns: 1fr; max-width: 860px; }
  .job-detail-aside { position: static; }
  .job-apply-card { margin-top: 44px; }
}

/* Job-Detail: mehr Luft zwischen den Abschnitten + Listen mit cleanem Haken */
.job-article .news-body h3 { margin-top: 2.4em; margin-bottom: .65em; }
.job-article .news-body > :first-child { margin-top: 0; }
.job-article .news-body ul { list-style: none; padding-left: 0; margin: 0 0 1.4em; }
.job-article .news-body ul li { position: relative; padding-left: 32px; margin-bottom: 11px; }
.job-article .news-body ul li::before,
.benefits-grid li::before {
  content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px;
  background-color: var(--blau);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Benefits-Sektion (zentral gepflegt, auf jeder Stellen-Detailseite) */
.job-benefits { margin-top: 8px; }
.job-benefits-h { font-family: var(--serif); font-weight: 500; color: var(--petrol); font-size: 22px; margin: 2.4em 0 .9em; }
.benefits-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 13px 28px; }
.benefits-grid li { position: relative; padding-left: 32px; color: var(--ink); font-size: 16px; line-height: 1.5; }
@media (max-width: 680px) { .benefits-grid { grid-template-columns: 1fr; } }

@media (max-width: 680px) {
  .jobs { padding: 64px 0; }
  .job-card { grid-template-columns: 1fr; }
  .job-card .jc-cta { justify-self: start; }
  .job-filter .jf { min-width: 100%; }
}

/* ============ Breadcrumb (auch auf Bewerbungsseite, die nur stellen.css lädt) ============ */
.crumb-bar{background:var(--paper-2);border-bottom:1px solid var(--line);}
.crumb-bar .crumb{font-family:var(--sans);font-size:13px;letter-spacing:.04em;color:var(--ink-muted);padding:14px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.crumb-bar .crumb a{color:var(--ink-muted);text-decoration:none;}
.crumb-bar .crumb a:hover{color:var(--petrol);text-decoration:underline;}
.crumb-bar .crumb span{opacity:.45;}
.crumb-bar .crumb .current{color:var(--petrol);font-weight:500;opacity:1;}

/* ============ Hero-Höhe: Stellen-Detail & Bewerbung identisch ============ */
.news-detail-hero.job-detail-hero,
.news-detail-hero.bewerbung-hero{box-sizing:border-box;min-height:430px;padding-top:calc(var(--nav-h) + 56px);padding-bottom:60px;display:flex;flex-direction:column;justify-content:flex-end}
.news-detail-hero.job-detail-hero > .shell,
.news-detail-hero.bewerbung-hero > .shell{width:100%;align-self:stretch}

/* ============ Bewerbungsformular ============ */
.bewerbung-form{max-width:760px;margin:0;padding-top:8px;padding-bottom:0}
/* mehr Abstand unter dem 2-Spalten-Grid (Formular + Sticky-Card) bis zur Folge-Section */
.job-detail-grid.bewerbung-grid{padding-bottom:72px}
/* Zurück-Link */
.bewerbung-back{max-width:760px;margin:6px 0 18px}
.bewerbung-back a{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:15px;color:var(--petrol);text-decoration:none}
.bewerbung-back a:hover{color:var(--petrol-deep);text-decoration:none}
.bewerbung-back .arr{font-size:17px;line-height:1}
/* 2-spaltige Feldzeilen (GridRow) */
.bewerbung-form .form-grid{display:grid;gap:0 16px;align-items:start;margin-bottom:20px}
.bewerbung-form .form-grid > div{min-width:0}
.bewerbung-form .form-grid .form-element{margin-bottom:0}
.bewerbung-form .form-grid-2{grid-template-columns:1fr 1fr}
.bewerbung-form .form-grid-21{grid-template-columns:2fr 1fr}
.bewerbung-form .form-grid-12{grid-template-columns:1fr 2fr}
@media(max-width:560px){.bewerbung-form .form-grid{grid-template-columns:1fr;row-gap:20px}}
.bewerbung-form form{display:block}
.bewerbung-form .form-element{margin-bottom:20px}
.bewerbung-form .form-label{display:block;margin-bottom:7px;font-family:var(--sans);font-weight:600;font-size:15px;color:var(--ink)}
.bewerbung-form .form-label .required-text,
.bewerbung-form .form-label abbr{color:var(--petrol);text-decoration:none}
.bewerbung-form .form-control,
.bewerbung-form .form-select{width:100%;padding:12px 14px;font-family:var(--sans);font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:10px;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.bewerbung-form select.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23013e40'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;padding-right:38px}
.bewerbung-form .form-control:focus,
.bewerbung-form .form-select:focus{outline:none;border-color:var(--petrol);box-shadow:0 0 0 3px rgba(0,83,85,.12)}
.bewerbung-form textarea.form-control{min-height:120px;resize:vertical}
.bewerbung-form input[type=file].form-control{padding:9px 12px;font-size:14px;background:var(--paper)}
.bewerbung-form input[type=file]::file-selector-button{margin-right:12px;padding:7px 14px;font-family:var(--sans);font-weight:600;font-size:14px;color:#fff;background:var(--petrol);border:0;border-radius:8px;cursor:pointer}
.bewerbung-form input[type=file]::file-selector-button:hover{background:var(--petrol-deep)}
/* Checkbox Datenschutz */
.bewerbung-form .form-element-check{margin-top:6px}
.bewerbung-form .form-check{display:flex;align-items:flex-start;gap:11px}
.bewerbung-form .form-check-input{flex:0 0 auto;width:20px;height:20px;margin-top:2px;accent-color:var(--petrol);cursor:pointer}
.bewerbung-form .form-check-label{font-family:var(--sans);font-size:14px;line-height:1.5;color:var(--ink-muted);cursor:pointer}
/* Datei wieder entfernen */
.bewerbung-form .file-clear[hidden]{display:none}
.bewerbung-form .file-clear{display:inline-flex;align-items:center;margin-top:9px;padding:5px 12px;font-family:var(--sans);font-size:13px;font-weight:600;color:var(--petrol);background:transparent;border:1px solid var(--line-strong);border-radius:8px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.bewerbung-form .file-clear:hover{color:#fff;background:var(--petrol);border-color:var(--petrol)}
/* Validierungs-Hinweise (Amando-Design) */
.bewerbung-form .form-control.is-invalid,
.bewerbung-form .form-select.is-invalid,
.bewerbung-form input.is-invalid,
.bewerbung-form select.is-invalid,
.bewerbung-form textarea.is-invalid{border-color:#c0392b;background:#fdf6f4}
.bewerbung-form .form-control.is-invalid:focus,
.bewerbung-form .form-select.is-invalid:focus{box-shadow:0 0 0 3px rgba(192,57,43,.14)}
.bewerbung-form .invalid-feedback{display:flex;align-items:flex-start;gap:8px;margin-top:8px;padding:9px 13px;font-family:var(--sans);font-size:13.5px;line-height:1.45;color:#9c2a18;background:#fcebe7;border:1px solid #f1c7bd;border-radius:9px}
.bewerbung-form .invalid-feedback::before{content:"";flex:0 0 auto;width:16px;height:16px;margin-top:1px;background:#c0392b;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 100 20 10 10 0 000-20zm0 5a1 1 0 011 1v5a1 1 0 01-2 0V8a1 1 0 011-1zm0 10.5a1.25 1.25 0 110-2.5 1.25 1.25 0 010 2.5z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 100 20 10 10 0 000-20zm0 5a1 1 0 011 1v5a1 1 0 01-2 0V8a1 1 0 011-1zm0 10.5a1.25 1.25 0 110-2.5 1.25 1.25 0 010 2.5z'/%3E%3C/svg%3E") center/contain no-repeat}
/* Submit */
.bewerbung-form .form-navigation{margin-top:28px}
.bewerbung-form .form-navigation .btn{font-size:16px}
/* Bestätigungsseite (Confirmation-Finisher rendert <div> statt <form>) */
.bewerbung-form > div{padding:24px 0 40px}
.bewerbung-form > div::before{content:"";display:block;width:64px;height:64px;margin:0 0 24px;border-radius:50%;background:var(--petrol) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f0e0af' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/32px no-repeat}
.bewerbung-form > div h2{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.4vw,40px);line-height:1.1;color:var(--petrol);margin:0 0 16px}
.bewerbung-form > div p{font-family:var(--sans);font-size:19px;line-height:1.7;color:var(--ink);max-width:46ch;margin:0}
