/* theologiejobs.de – Stellen im Jobportal-Stil. Farben kommen aus dem Child-Theme, sonst Ersatzwerte. */
.tjs,.tjs-suchleiste{--tjs-tinte:var(--tj-tinte,#1B2420);--tjs-grau:var(--tj-grau,#4E5852);--tjs-gruen:var(--tj-gruen,#12452F);--tjs-gruen-dunkel:var(--tj-gruen-dunkel,#0B2E1F);--tjs-gruen-hell:var(--tj-gruen-hell,#E5EFE9);--tjs-gelb:var(--tj-gelb,#F2C14E);--tjs-sand:var(--tj-sand,#F4EEE4);--tjs-linie:var(--tj-linie,#E3E0D8)}

/* Seitenränder für Stellenliste und Stellenseite, falls die Seite auf „Volle Breite“ steht */
.entry-content>.tjs:not(.tjs-neueste){max-width:1160px;margin-left:auto;margin-right:auto;padding-left:clamp(16px,4vw,40px);padding-right:clamp(16px,4vw,40px);box-sizing:border-box}

/* ---------- Suchleiste (Startseite) ---------- */
.tjs-suchleiste{display:flex;flex-wrap:wrap;gap:10px;padding:14px;background:#fff;border:1px solid var(--tjs-linie);border-radius:16px;box-shadow:0 12px 32px -18px rgba(27,36,32,.45)}
.tjs-suchleiste input{flex:2 1 260px;min-width:0;height:56px;padding:0 18px;border:1px solid #D7D2C7;border-radius:10px;background:#fff;font:inherit;font-size:18px;color:var(--tjs-tinte)}
.tjs-suchleiste input[name="tj_ort"]{flex:1 1 160px}
.tjs-suchleiste button{height:56px;padding:0 28px;border:0;border-radius:10px;background:var(--tjs-gelb);color:var(--tjs-tinte);font:inherit;font-size:18px;font-weight:700;cursor:pointer}
.tjs-suchleiste button:hover{background:#E8B43A}

.tjs-angebot{display:block;margin:12px 0 0;font-size:15px;line-height:1.45;color:var(--tj-grau,#4E5852)}
.tjs-angebot a{color:var(--tj-tinte,#1B2420);font-weight:700}
.tjs-angebot-punkt{display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;background:#1ABC9C;vertical-align:1px}

/* ---------- Suchformular (Stellenseite) ---------- */
.tjs-suche{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px 16px;align-items:end;margin:0 0 28px;padding:20px;background:var(--tjs-sand);border-radius:16px}
.tjs-feld label{display:block;font-size:15px;font-weight:700;margin-bottom:6px}
.tjs-feld input,.tjs-feld select{width:100%;box-sizing:border-box;height:50px;padding:0 14px;border:1px solid #D7D2C7;border-radius:10px;background:#fff;color:var(--tjs-tinte);font:inherit;font-size:17px}
.tjs-knoepfe{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.tjs-knoepfe button{height:50px;padding:0 24px;border:0;border-radius:10px;background:var(--tjs-gelb);color:var(--tjs-tinte);font:inherit;font-size:17px;font-weight:700;cursor:pointer}
.tjs-knoepfe button:hover{background:#E8B43A}
.tjs-knoepfe a{font-size:16px}

.tjs-anzahl{margin:0 0 14px;font-size:17px;font-weight:700}
.tjs-leer{padding:18px 20px;background:var(--tjs-sand);border-radius:12px}

/* ---------- Stelle ---------- */
.tjs-job{position:relative;display:flex;gap:18px;align-items:flex-start;padding:20px 22px;margin:0 0 12px;background:#fff;border:1px solid var(--tjs-linie);border-radius:14px;transition:border-color .15s,box-shadow .15s}
.tjs-job:hover,.tjs-job:focus-within{border-color:var(--tjs-gruen);box-shadow:0 10px 26px -18px rgba(18,69,47,.6)}
.tjs-job-logo{flex:0 0 120px;width:120px;height:80px;border-radius:12px;background:var(--tjs-sand);display:flex;align-items:center;justify-content:center;overflow:hidden}
.tjs-job-logo:has(img){background:#fff;border:1px solid var(--tjs-linie);padding:6px;box-sizing:border-box}
.tjs-job-logo img{width:100%;height:100%;object-fit:contain}
.tjs-job-logo span{font-size:26px;font-weight:800;color:var(--tjs-gruen)}
.tjs-job-haupt{flex:1;min-width:0}
.tjs .tjs-job-titel{margin:0 0 2px;font-size:20px;font-weight:700;line-height:1.3;letter-spacing:-.01em}
.tjs-job-titel a{color:var(--tjs-tinte);text-decoration:none}
.tjs-job-titel a::after{content:"";position:absolute;inset:0;border-radius:14px}
.tjs-job-titel a:hover{color:var(--tjs-gruen)}
.tjs-job-titel a:focus-visible{outline:none}
.tjs-job:focus-within{outline:3px solid var(--tjs-gelb);outline-offset:2px}
.tjs-job-firma{margin:0 0 10px;font-size:16px;color:var(--tjs-grau)}
.tjs-job-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.tjs-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;background:var(--tjs-sand);font-size:14px;font-weight:500;color:var(--tjs-tinte)}
.tjs-tag-ort{background:var(--tjs-gruen-hell);color:var(--tjs-gruen)}
.tjs-job-kurz{margin:12px 0 0;font-size:16px;color:var(--tjs-grau);max-width:46em}
.tjs-job-datum{flex:0 0 auto;font-size:14px;color:var(--tjs-grau);white-space:nowrap}
.tjs-job-datum.ist-neu{color:var(--tjs-gruen);font-weight:700}
@media (max-width:600px){
	/* Logo über dem Titel, damit Titel und Text die volle Breite haben */
	.tjs-job,.tjs-neueste .tjs-job{flex-wrap:wrap;gap:10px;padding:16px}
	.tjs-job-logo,.tjs-neueste .tjs-job-logo{flex:0 0 auto;width:96px;height:60px}
	.tjs-job-logo span{font-size:20px}
	.tjs-job-haupt{flex:1 1 100%;order:2}
	.tjs-job-datum{order:1;margin-left:auto}
	.tjs .tjs-job-titel{font-size:18px}
	.tjs-job-kurz{margin-top:10px;font-size:15px}
}

/* ---------- Seitenzahlen ---------- */
.tjs-seiten{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:24px 0}
.tjs-seiten a,.tjs-seiten span{min-width:44px;height:44px;padding:0 6px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;text-decoration:none;color:var(--tjs-tinte);font-size:17px;font-weight:500}
.tjs-seiten a{border:1px solid var(--tjs-linie);background:#fff}
.tjs-seiten a:hover{border-color:var(--tjs-gruen);color:var(--tjs-gruen)}
.tjs-seiten .aktuell{background:var(--tjs-gruen);color:#fff;font-weight:700}

.tjs-quelle{font-size:15px;color:var(--tjs-grau);margin-top:1.5em}
.tjs-alle{margin:16px 0 0;font-weight:700}

/* ---------- Stelle schalten ---------- */
.tjs-schalten{margin:1em 0}
.tjs-schalten-knopf{display:inline-block;padding:14px 28px;background:var(--tj-gruen,#12452F);color:#fff;border-radius:10px;font-weight:700;text-decoration:none}
.tjs-schalten-knopf:hover,.tjs-schalten-knopf:focus{background:var(--tj-gruen-dunkel,#0B2E1F);color:#fff}
.tjs-hinweis{font-size:15px;color:var(--tj-grau,#4E5852);margin:.5em 0 0}

@media (prefers-reduced-motion:reduce){.tjs-job{transition:none}}

/* ---------- Detailseite einer Stelle ---------- */
.tjs-detailseite .entry-header{display:none}
.tjs-zurueck{margin:0 0 20px;font-size:16px;font-weight:700}
.tjs-zurueck a::before{content:"‹";margin-right:6px}
.tjs-detail-kopf{display:flex;flex-wrap:wrap;gap:20px 28px;align-items:flex-start;padding-bottom:28px;margin-bottom:32px;border-bottom:1px solid var(--tjs-linie)}
.tjs-detail-kopf>div:last-child{flex:1 1 360px;min-width:0}
.tjs-detail-logo{flex:0 0 160px;width:160px;height:100px}
.tjs .tjs-detail-titel{margin:0 0 6px;font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.12}
.tjs-detail-firma{margin:0 0 14px;font-size:19px;color:var(--tjs-grau)}
.tjs-detail-spalten{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
.tjs-detail-text{flex:999 1 520px;min-width:0;max-width:46em}
.tjs-detail-text h2{font-size:1.4rem;margin:1.6em 0 .5em}
.tjs-detail-text h3{font-size:1.15rem}
.tjs-detail-aktion{flex:1 1 280px;display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--tjs-sand);border-radius:16px}
@media (min-width:900px){.tjs-detail-aktion{position:sticky;top:24px}}
.tjs-detail-aktion-titel{margin:0;font-size:20px;font-weight:800}
.tjs-detail-hinweis{margin:0;font-size:15px;color:var(--tjs-grau)}
.tjs-knopf{display:block;text-align:center;padding:14px 20px;border-radius:10px;font-weight:700;text-decoration:none;line-height:1.3}
.tjs-knopf-gelb{background:var(--tjs-gelb);color:var(--tjs-tinte)}
.tjs-knopf-gelb:hover,.tjs-knopf-gelb:focus{background:#E8B43A;color:var(--tjs-tinte)}
.tjs-knopf-rand{border:2px solid var(--tjs-gruen);color:var(--tjs-gruen);background:#fff}
.tjs-knopf-rand:hover,.tjs-knopf-rand:focus{background:var(--tjs-gruen);color:#fff}
.tjs-weg .tjs-knopf{display:inline-block;background:var(--tjs-gruen);color:#fff}
.tjs-weitere{margin-top:56px;padding-top:32px;border-top:1px solid var(--tjs-linie)}
.tjs-weitere h2{margin:0 0 18px}

/* ---------- Mobil (ab 1.3.2) ---------- */
.tjs-detail-schnell{display:none}
@media (max-width:781px){
	/* Der Seitenrand kommt vom Theme – kein zweiter Rand */
	.entry-content>.tjs:not(.tjs-neueste){padding-left:0;padding-right:0}
	/* Suchleiste Startseite: Knopf über die volle Breite */
	.tjs-suchleiste{padding:12px;gap:8px}
	.tjs-suchleiste input{flex:1 1 100%;height:52px;font-size:17px}
	.tjs-suchleiste button{flex:1 1 100%;height:52px}
	/* Suchformular Stellenseite: kompakter, Auswahlfelder nebeneinander */
	.tjs-suche{grid-template-columns:1fr 1fr;gap:10px 12px;padding:16px;margin-bottom:22px}
	.tjs-suche>.tjs-feld:nth-child(-n+2),.tjs-suche>.tjs-knoepfe{grid-column:1/-1}
	.tjs-feld label{font-size:14px;margin-bottom:4px}
	.tjs-feld input,.tjs-feld select{height:46px;font-size:16px;padding:0 10px}
	.tjs-knoepfe button{flex:1 1 auto;height:48px}
	/* Stellenseite: Bewerben-Knopf gleich oben, nicht erst nach dem ganzen Anzeigentext */
	.tjs-detail-schnell{display:block;margin:16px 0 0}
	.tjs .tjs-detail-titel{font-size:1.75rem}
	.tjs-detail-kopf{gap:16px;padding-bottom:22px;margin-bottom:24px}
	.tjs-detail-logo{flex-basis:132px;width:132px;height:82px}
	.tjs-detail-spalten{gap:28px}
	.tjs-detail-aktion{padding:20px;scroll-margin-top:16px}
	.tjs-weitere{margin-top:40px;padding-top:24px}
}
