/* medi-jobs.net - Jobs-Suche/Detail. Werte aus dem Medilab-Theme (style.css / _variables.scss). */
:root {
    --mj-primary: #1977cc;
    --mj-primary-hover: #3291e6;
    --mj-heading: #2c4964;
    --mj-bg: #f1f7fd;
    --mj-muted: #5f6b77;
    --mj-border: #dde7f1;
    --mj-radius: 10px;
}

.jobs-hero { background: var(--mj-bg); padding: 28px 0 22px; }
.jobs-hero h1 { color: var(--mj-heading); font-size: 1.75rem; font-weight: 700; margin: 0 0 16px; }
.jobs-search .form-control, .jobs-search .form-select { height: 46px; border-color: var(--mj-border); }
.jobs-search .form-control:focus, .jobs-search .form-select:focus { border-color: var(--mj-primary); box-shadow: 0 0 0 .2rem rgba(25, 119, 204, .15); }
.jobs-search .btn-theme { height: 46px; width: 100%; border: 0; }

.jobs-main { padding: 24px 0 48px; }
.jobs-count { color: var(--mj-heading); font-weight: 600; margin: 0; }
.jobs-sort a { color: var(--mj-muted); margin-left: 12px; font-size: .9rem; }
.jobs-sort a.active { color: var(--mj-primary); font-weight: 600; }

/* Filter */
.facet { margin-bottom: 20px; }
.facet h2 { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--mj-muted); font-weight: 700; margin: 0 0 8px; }
.facet ul { list-style: none; padding: 0; margin: 0; }
.facet li a { display: flex; justify-content: space-between; gap: 8px; padding: 5px 8px; border-radius: 6px; color: #444; font-size: .9rem; }
.facet li a:hover { background: var(--mj-bg); color: var(--mj-primary); }
.facet li a.active { background: var(--mj-bg); color: var(--mj-primary); font-weight: 600; }
.facet .cnt { color: var(--mj-muted); font-variant-numeric: tabular-nums; }
.facet-reset { font-size: .85rem; }

/* Trefferliste */
.job-card { padding: 18px 20px; margin-bottom: 12px; border-radius: var(--mj-radius); }
.job-card:hover { box-shadow: 0 4px 22px #2c496426; }
.job-card h2 { font-size: 1.08rem; font-weight: 700; margin: 0 0 4px; line-height: 1.35; }
.job-card h2 a { color: var(--mj-heading); }
.job-card h2 a:hover { color: var(--mj-primary); }
.job-meta { color: var(--mj-muted); font-size: .88rem; display: flex; flex-wrap: wrap; column-gap: 16px; row-gap: 2px; margin-bottom: 6px; }
.job-meta .fa { color: var(--mj-primary); width: 14px; }
.job-excerpt { color: #555; font-size: .9rem; margin: 6px 0 0; }
.job-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.job-tag { background: var(--mj-bg); color: var(--mj-primary); font-size: .78rem; padding: 2px 10px; border-radius: 50px; }
.jobs-empty { padding: 32px; text-align: center; border-radius: var(--mj-radius); }

/* Detail */
.job-detail { padding: 24px 0 48px; }
.job-detail .breadcrumb { font-size: .85rem; margin-bottom: 12px; }
.job-detail h1 { color: var(--mj-heading); font-size: 1.6rem; font-weight: 700; line-height: 1.3; }
.job-body { padding: 24px 28px; border-radius: var(--mj-radius); }
.job-text { line-height: 1.7; max-width: 72ch; overflow-wrap: anywhere; }
.job-text h3, .job-text h4 { color: var(--mj-heading); font-size: 1.05rem; font-weight: 700; margin: 20px 0 8px; }
.job-text ul { padding-left: 1.2rem; }
.job-facts { padding: 20px; border-radius: var(--mj-radius); }
.job-facts dt { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--mj-muted); font-weight: 700; }
.job-facts dd { margin: 0 0 12px; }
.job-apply { display: block; margin: 1.25rem 0 1.5rem; }
.job-text + .job-apply { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--mj-border); }
.job-similar a { display: block; padding: 8px 0; border-top: 1px solid var(--mj-border); color: var(--mj-heading); font-size: .92rem; }
.job-similar a:hover { color: var(--mj-primary); }
.job-similar small { display: block; color: var(--mj-muted); }
.job-similar-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; padding-top: 20px; border-top: 1px solid var(--mj-border); }
.job-similar .job-similar-actions .btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 22px; border-top-width: 1px; border-radius: 6px; font-size: 14px; font-weight: 600; line-height: 1.35; white-space: normal; text-align: center; transition: background-color .18s, border-color .18s, color .18s, box-shadow .18s; }
.job-similar .job-similar-actions .btn-primary { color: #fff; }
.job-similar .job-similar-actions .job-btn-secondary { background: #fff; border: 1px solid var(--mj-border); color: var(--mj-heading); }
.job-similar .job-similar-actions .job-btn-secondary:hover { background: var(--mj-bg); border-color: var(--mj-primary); color: var(--mj-primary); }
.job-similar .job-similar-actions .job-btn-secondary:active { background: #e3eefa; }
.job-similar .job-similar-actions .fa { font-size: 1em; }
@media (max-width: 575.98px) {
    .job-similar-actions { flex-direction: column; }
    .job-similar .job-similar-actions .btn { width: 100%; }
}
.job-source { color: var(--mj-muted); font-size: .8rem; margin-top: 24px; }
.beruf-info { padding: 20px 24px; border-radius: var(--mj-radius); margin-bottom: 16px; }
.beruf-info .job-text { max-height: 12rem; overflow: hidden; }
.beruf-info.open .job-text { max-height: none; }

@media (max-width: 991.98px) {
    .jobs-hero h1 { font-size: 1.35rem; }
    .job-body { padding: 18px; }
}
.job-logo{max-width:120px;max-height:60px;object-fit:contain}
.breadcrumb{font-size:.875rem;margin-bottom:1rem}
.breadcrumb a{color:var(--mj-primary);text-decoration:none}
.job-hint { display: flex; gap: .5rem; align-items: flex-start; margin: 0 0 1.25rem; padding: .625rem .875rem; border-radius: var(--mj-radius, 8px); background: var(--mj-bg); color: var(--mj-muted); font-size: .9rem; line-height: 1.5; }
.job-hint .fa { color: var(--mj-primary); margin-top: .2rem; }
.job-hint a { font-weight: 600; }

/* Suchformular mobil: Umkreis und Button auf einer Linie, Umkreis ohne nativen Kasten (ueberschreibt portal.css) */
.mj-site .mj-search-field select{-webkit-appearance:none;appearance:none;border-radius:0;padding-right:22px;cursor:pointer;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231977cc' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 2px center}
.mj-site .mj-search-field select:focus{outline:0}
.mj-site .mj-search-field select:focus-visible{outline:2px solid var(--mj-primary,#1977cc);outline-offset:3px;border-radius:4px}
@media (max-width:575px){
    .mj-site .mj-search{align-items:flex-end}
    .mj-site .mj-search-field select{min-height:44px;padding-top:0;padding-bottom:0}
    .mj-site .mj-search>.mj-button{align-self:flex-end;min-height:44px;margin:0 0 10px 12px;display:flex;align-items:center;justify-content:center;gap:8px}
}

/* Standort auf Rubrikseiten: Ortszeile + Drawer (partials/locate.blade.php, js/locate.js) */
.mj-locate{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 24px}
.mj-locate-status{display:flex;gap:10px;align-items:baseline;margin:0;color:var(--mj-ink);font-size:14px}
.mj-locate-status .fa{color:var(--mj-primary)}
.mj-locate-status strong{color:var(--mj-heading)}
.mj-site .mj-locate .mj-chips{margin:0}
.mj-site .mj-locate .mj-chips a[aria-current]{background:var(--mj-primary);border-color:var(--mj-primary);color:#fff}
.mj-locate-actions{margin:0;font-size:13px;color:var(--mj-muted)}
.mj-locate-link{border:0;background:none;padding:0;color:var(--mj-primary);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.mj-site .mj-locate .mj-button{gap:10px;margin:0}
.mj-locate-drawer{position:fixed;z-index:1050;left:16px;right:16px;bottom:16px;max-width:420px;margin-left:auto;background:#fff;border:1px solid #e4edf5;border-radius:12px;box-shadow:0 12px 32px #2c496429;padding:20px 20px 12px;transform:translateY(calc(100% + 24px));opacity:0;transition:transform .22s ease,opacity .22s ease}
.mj-locate-drawer.is-open{transform:none;opacity:1}
.mj-locate-drawer h2{font-size:17px;line-height:1.3;margin:0 36px 6px 0;color:var(--mj-heading)}
.mj-locate-drawer p{font-size:13px;line-height:1.55;color:var(--mj-muted);margin:0 0 14px}
.mj-locate-close{position:absolute;top:8px;right:8px;width:40px;height:40px;border:0;border-radius:50%;background:none;color:var(--mj-muted);cursor:pointer}
.mj-locate-close:hover{background:var(--mj-soft);color:var(--mj-heading)}
.mj-locate-buttons{display:flex;flex-wrap:wrap;gap:8px}
.mj-site .mj-locate-drawer .mj-button{margin:0;padding:11px 18px;font-size:13px;gap:10px}
.mj-locate-buttons .mj-button{flex:1 1 auto}
.mj-site .mj-locate-drawer .mj-locate-secondary{background:#fff;border-color:#cfdfea;color:var(--mj-heading)}
.mj-site .mj-locate-drawer .mj-locate-secondary:hover{background:var(--mj-soft);border-color:var(--mj-primary);color:var(--mj-heading);box-shadow:none}
.mj-site .mj-locate-drawer .mj-button:disabled{opacity:.75;cursor:progress}
.mj-locate-manual{margin-top:14px}
.mj-locate-manual label{display:block;font-size:11px;font-weight:700;color:var(--mj-heading);margin-bottom:5px}
.mj-locate-manual div{display:flex;gap:8px}
.mj-locate-manual input{flex:1;min-width:0;border:1px solid #cfdfea;border-radius:30px;padding:9px 16px;font-size:16px;color:var(--mj-ink);background:#fff}
.mj-locate-manual input:focus{outline:2px solid var(--mj-primary);outline-offset:1px;border-color:var(--mj-primary)}
.mj-locate-drawer .mj-locate-error{color:#b3261e;margin:12px 0 0}
.mj-locate-dismiss{display:block;margin:8px auto 0;border:0;background:none;padding:8px 12px;color:var(--mj-muted);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.mj-locate-dismiss:hover{color:var(--mj-heading)}
@media (max-width:575px){
    .mj-locate-drawer{left:0;right:0;bottom:0;max-width:none;border-radius:16px 16px 0 0;border-bottom:0;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
    .mj-locate-status{font-size:13px}
}
@media (prefers-reduced-motion:reduce){.mj-locate-drawer{transition:none}}

/* ==== Unterseiten im Medilab-Stil (starter-page): zentrierter Titelblock, Brotkrumen als Band darunter,
        Abschnittstitel zentriert mit Doppellinie. Betrifft .mj-page-hero, .jobs-hero, Stellenseiten. ==== */
.mj-site .mj-page-hero,.mj-site .jobs-hero{background:#fff;padding:0;border-bottom:0;border-top:1px solid color-mix(in srgb,var(--mj-primary),transparent 80%)}
.mj-site .mj-page-hero>.container,.mj-site .jobs-hero>.container{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:72px}
.mj-site .mj-page-hero .mj-eyebrow,.mj-site .jobs-hero .mj-eyebrow{display:none}
.mj-site .mj-page-hero h1,.mj-site .jobs-hero h1{order:1;max-width:28ch;margin:0 0 14px;font-size:38px;font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--mj-heading)}
.mj-site .mj-page-hero>.container>p:not(.mj-eyebrow),.mj-site .jobs-hero .mj-search-intro{order:1;max-width:62ch;margin:0 auto;font-size:16px;line-height:1.65;color:var(--mj-muted)}
.mj-site .mj-page-hero .mj-breadcrumb,.mj-site .jobs-hero .mj-breadcrumb,.mj-site .job-detail>.container>nav[aria-label="breadcrumb"]{
    order:2;align-self:stretch;justify-content:flex-start;gap:10px;margin:56px 0 0;padding:18px 0;font-size:14px;font-weight:600;text-align:left;color:var(--mj-heading);
    background:color-mix(in srgb,var(--mj-primary),transparent 94%);box-shadow:0 0 0 100vmax color-mix(in srgb,var(--mj-primary),transparent 94%);clip-path:inset(0 -100vmax)}
.mj-site .mj-page-hero .mj-breadcrumb a,.mj-site .jobs-hero .mj-breadcrumb a{color:var(--mj-primary)}
.mj-site .mj-page-hero .mj-breadcrumb [aria-current],.mj-site .mj-page-hero .mj-breadcrumb>span:last-child,.mj-site .jobs-hero .mj-breadcrumb [aria-current]{color:var(--mj-heading)}
.mj-site .mj-page-hero .mj-breadcrumb span[aria-hidden],.mj-site .mj-page-hero .mj-breadcrumb>span:not(:last-child),.mj-site .jobs-hero .mj-breadcrumb span[aria-hidden]{color:color-mix(in srgb,var(--mj-ink),transparent 60%)}
/* Rubrik-/Suchseiten: Suche, Ortszeile, Chips unter dem Band, linksbuendig ueber den Treffern */
.mj-site .jobs-hero>.container>:not(h1):not(.mj-search-intro):not(.mj-breadcrumb):not(.mj-eyebrow){order:3;align-self:stretch;text-align:left}
.mj-site .jobs-hero>.container>.mj-breadcrumb+*,.mj-site .jobs-hero>.container>.mj-search,.mj-site .jobs-hero>.container>.mj-locate{margin-top:32px}
.mj-site .jobs-hero>.container{padding-bottom:28px}
.mj-site .jobs-hero{border-bottom:1px solid var(--mj-line)}
/* Stellen-Detailseite: Brotkrumen als Band oben */
.mj-site .job-detail>.container>nav[aria-label="breadcrumb"]{margin:-32px 0 28px}
.mj-site .job-detail>.container>nav[aria-label="breadcrumb"] .breadcrumb{margin:0;font-size:14px}
/* Abschnittstitel: zentriert mit Medilab-Doppellinie (nicht auf der Startseite) */
.mj-site main:not(:has(>.mj-home-hero)) .mj-section>.container:not(.mj-prose)>h2,.mj-site main:not(:has(>.mj-home-hero)) .mj-section-heading h2{position:relative;text-align:center;padding-bottom:20px;margin:0 0 20px}
.mj-site main:not(:has(>.mj-home-hero)) .mj-section>.container:not(.mj-prose)>h2::before,.mj-site main:not(:has(>.mj-home-hero)) .mj-section-heading h2::before{content:"";position:absolute;left:0;right:0;bottom:1px;margin:auto;width:160px;height:1px;background:color-mix(in srgb,var(--mj-ink),transparent 60%)}
.mj-site main:not(:has(>.mj-home-hero)) .mj-section>.container:not(.mj-prose)>h2::after,.mj-site main:not(:has(>.mj-home-hero)) .mj-section-heading h2::after{content:"";position:absolute;left:0;right:0;bottom:0;margin:auto;width:60px;height:3px;background:var(--mj-primary)}
.mj-site main:not(:has(>.mj-home-hero)) .mj-section>.container:not(.mj-prose)>h2{margin-bottom:36px}
.mj-site main:not(:has(>.mj-home-hero)) .mj-section-heading{display:block;text-align:center;margin-bottom:36px}
.mj-site main:not(:has(>.mj-home-hero)) .mj-section-heading .mj-eyebrow{display:none}
.mj-site main:not(:has(>.mj-home-hero)) .mj-section-heading p:not(.mj-eyebrow){max-width:62ch;margin:0 auto}
@media (max-width:575px){
    .mj-site .mj-page-hero>.container,.mj-site .jobs-hero>.container{padding-top:44px}
    .mj-site .mj-page-hero h1,.mj-site .jobs-hero h1{font-size:28px}
    .mj-site .mj-page-hero .mj-breadcrumb,.mj-site .jobs-hero .mj-breadcrumb{margin-top:36px;padding:14px 0;font-size:13px}
    .mj-site .job-detail>.container>nav[aria-label="breadcrumb"]{margin-bottom:20px;padding:12px 0}
}

/* Startseite "Welche Aufgabe suchen Sie?": statt dicker dunkler Trennlinie helle Karten (Medilab-Stil) */
.mj-site .mj-pathways article{border:1px solid var(--mj-line);border-radius:12px;background:#fff;padding:24px 24px 14px;box-shadow:0 2px 12px #2c49640a}
.mj-site .mj-pathway-section .mj-pathways article{border-top-width:1px;border-top-color:var(--mj-line)}

/* Ratgeber: Link "Quellen & Arbeitsweise" und Artikel-Meta unter die Einleitung, nicht ueber die Ueberschrift */
.mj-site .mj-page-hero>.container>.mj-text-link,.mj-site .mj-page-hero>.container>.mj-article-meta{order:1;margin-top:16px}
.mj-site .mj-page-hero .mj-lead{order:1;max-width:62ch;margin:0 auto;color:var(--mj-muted)}
/* Startseite: Nummern 01/02/03 in den Karten ausblenden */
.mj-site .mj-pathway-number{display:none}

/* Search-first landing pages: keep Medilab identity, put vacancies before guidance. */
.mj-site .jobs-hero.mj-search-first{background:#f2f7fb;border-top:0;border-bottom:1px solid #dce7ee;padding:0}
.mj-site .jobs-hero.mj-search-first>.container{display:block;text-align:left;padding-top:24px;padding-bottom:28px}
.mj-site .jobs-hero.mj-search-first .mj-breadcrumb{display:flex;position:static;order:initial;width:auto;max-width:100%;margin:0 0 22px;padding:0;background:none;box-shadow:none;border:0;font-size:12px;transform:none;left:auto;right:auto}
.mj-site .jobs-hero.mj-search-first .mj-breadcrumb::before,.mj-site .jobs-hero.mj-search-first .mj-breadcrumb::after{display:none}
.mj-site .jobs-hero.mj-search-first h1{font-size:clamp(28px,3vw,42px);max-width:none;margin:0 0 12px;line-height:1.17}
.mj-site .jobs-hero.mj-search-first .mj-search-intro{max-width:78ch;margin:0 0 22px;font-size:15px;line-height:1.6}
.mj-site .jobs-hero.mj-search-first>.container>.mj-search{margin-top:20px}
.mj-location-search{display:grid;grid-template-columns:minmax(200px,1fr) 150px auto;gap:20px;align-items:end;padding:20px;background:#fff;border:1px solid #d5e2ec;border-radius:12px;box-shadow:0 5px 18px #2c496407;max-width:100%}
.mj-location-search>div{min-width:0}
.mj-location-search label{display:block;font-size:12px;font-weight:700;color:#2c4964;margin:0 0 8px}
.mj-location-search input,.mj-location-search select{width:100%;min-width:0;height:46px;padding:10px 12px;border:1px solid #c7d7e4;border-radius:6px;background:#fff;color:#2c4964;font-size:16px}
.mj-location-search .mj-button{min-height:46px;white-space:nowrap}
.mj-search-shortcuts{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin-top:12px;font-size:12px}
.mj-search-shortcuts .mj-locate-link{font-size:12px}
.mj-search-shortcuts a{color:#176bb2;font-weight:600}
.mj-site .jobs-main{padding-top:28px}
#stellenangebote{scroll-margin-top:100px}
@media(max-width:600px){
.mj-site .jobs-hero.mj-search-first>.container{padding-top:18px;padding-bottom:20px}
.mj-site .jobs-hero.mj-search-first .mj-breadcrumb{font-size:11px;margin-bottom:18px;flex-wrap:wrap;gap:7px}
.mj-site .jobs-hero.mj-search-first h1{font-size:28px}
.mj-site .jobs-hero.mj-search-first .mj-search-intro{font-size:14px;margin-bottom:16px}
.mj-location-search{grid-template-columns:1fr 120px;gap:12px;padding:14px}
.mj-location-search>.mj-button{grid-column:1/-1;width:100%;justify-content:center}
.mj-search-shortcuts{font-size:11px;gap:10px 16px}
.mj-site .jobs-main{padding-top:20px}
}

.mj-location-context{font-size:13px;color:#526c7d;margin:12px 0 0;line-height:1.6}
