/*
Theme Name:  theologiejobs.de
Description: Child-Theme von GeneratePress für theologiejobs.de – ein Angebot der Christlichen Jobbörse. Modern und bildstark: Albert Sans, Waldgrün, Sand, Gelb als Brücke zur Christlichen Jobbörse.
Template:    generatepress
Version:     1.8.1
Author:      Christliche Jobbörse
Text Domain: theologiejobs
*/

/* ---------- Schrift (lokal, keine Verbindung zu Google) ---------- */
@font-face{font-family:"Albert Sans";src:url("fonts/albert-sans-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Albert Sans";src:url("fonts/albert-sans-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Albert Sans";src:url("fonts/albert-sans-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Albert Sans";src:url("fonts/albert-sans-latin-800-normal.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}

/* ---------- Farben ---------- */
:root{
	--tj-tinte:#1B2420;
	--tj-grau:#4E5852;
	--tj-gruen:#12452F;
	--tj-gruen-dunkel:#0B2E1F;
	--tj-gruen-hell:#E5EFE9;
	--tj-gelb:#F2C14E;
	--tj-sand:#F4EEE4;
	--tj-foto:#4B3F33;
	--tj-linie:#E3E0D8;
	--tj-papier:#FFFFFF;
}

/* ---------- Grundlagen ---------- */
body{background:var(--tj-papier);color:var(--tj-tinte);font-size:18px;line-height:1.55}
body,button,input,select,textarea,.main-navigation,.site-title,h1,h2,h3,h4,h5,h6{font-family:"Albert Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,h3,h4,h5,h6{color:var(--tj-tinte);font-weight:800;letter-spacing:-.025em}
h1{font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.0}
h2{font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.15}
h3{font-size:1.25rem;line-height:1.3;letter-spacing:-.01em}
a{color:var(--tj-gruen)}
a:hover,a:focus{color:var(--tj-gruen-dunkel)}
:focus-visible{outline:3px solid var(--tj-gelb);outline-offset:2px}

.site,.site-header,.inside-article,.separate-containers .inside-article,.one-container .container,.site-footer,.site-info,.footer-widgets,.main-navigation,.main-navigation ul ul{background-color:var(--tj-papier)}
.site-info{color:var(--tj-grau);font-size:16px;border-top:1px solid var(--tj-linie)}

/* ---------- Kopf und Menü ---------- */
.main-title,.site-title{font-size:25px;font-weight:800;letter-spacing:-.03em}
.main-title a,.site-title a{color:var(--tj-tinte)}
.main-navigation .main-nav ul li a{color:var(--tj-tinte);font-size:17px;font-weight:500}
.main-navigation .main-nav ul li:not(.tj-cta) a:hover{color:var(--tj-gruen);background:transparent}
.main-navigation .main-nav ul li[class*="current-menu-"]:not(.tj-cta)>a{color:var(--tj-gruen);font-weight:700;background:transparent}
/* Menüpunkt „Stelle schalten“: im Menü die CSS-Klasse tj-cta vergeben */
.main-navigation .main-nav ul li.tj-cta{display:flex;align-items:center}
.main-navigation .main-nav ul li.tj-cta>a{background:var(--tj-gruen);color:#fff;font-weight:700;border-radius:8px;line-height:44px;padding-left:20px;padding-right:20px;margin-left:12px}
.main-navigation .main-nav ul li.tj-cta>a:hover,.main-navigation .main-nav ul li.tj-cta>a:focus{background:var(--tj-gruen-dunkel);color:#fff}

/* ---------- Formulare und Knöpfe ---------- */
button,input[type="button"],input[type="submit"],.button,.wp-block-button__link{background:var(--tj-gruen);color:#fff;border-radius:8px;font-weight:700}
button:hover,input[type="submit"]:hover,.button:hover,.wp-block-button__link:hover{background:var(--tj-gruen-dunkel);color:#fff}
input[type="text"],input[type="search"],input[type="email"],input[type="url"],textarea,select{border:1px solid #D7D2C7;border-radius:8px;background:#fff;color:var(--tj-tinte)}

/* ---------- Startseite (Vorlage „theologiejobs Startseite“) ---------- */
.home .entry-header{display:none}
.home .inside-article{padding-top:0}

/* Bildfläche: Hintergrundbild am Gruppen-Block setzen (Stile → Hintergrundbild) */
.tj-hero{position:relative;background-color:var(--tj-foto);background-size:cover;background-position:center;color:#fff;padding:96px 40px 140px}
.tj-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,16,12,.72) 0%,rgba(20,16,12,.45) 55%,rgba(20,16,12,.15) 100%);pointer-events:none}
.tj-hero>*{position:relative}
.tj-hero h1{color:#fff;max-width:13em;margin-bottom:.35em}
.tj-hero p{color:#F3ECE1;font-size:22px;max-width:28em;margin-bottom:0}

/* Suchleiste ragt in das Bild hinein */
.tj-suchbox{position:relative;margin-top:-56px;margin-bottom:56px}

.tj-abschnitt{margin-bottom:64px}
/* GeneratePress legt um Gruppen-Inhalte einen inneren Container mit 40px Abstand – hier aufheben */
.tj-abschnitt-kopf>.wp-block-group__inner-container,.tj-kachel>.wp-block-group__inner-container{padding:0;max-width:none;width:100%;margin:0}
.tj-abschnitt-kopf{margin-bottom:20px}
.tj-abschnitt-kopf>.wp-block-group__inner-container,.tj-abschnitt-kopf:not(:has(>.wp-block-group__inner-container)){display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px}
.tj-abschnitt-kopf h2{margin:0}
.tj-abschnitt-kopf p{margin:0;font-weight:700}

.tj-kacheln{gap:24px;margin-bottom:72px}
.tj-kachel{border-radius:16px;padding:32px;min-height:240px;display:flex;flex-direction:column;justify-content:flex-end}
.tj-kachel h2,.tj-kachel h3{margin:0 0 8px}
.tj-kachel p{margin:0 0 12px}
.tj-kachel-sand{background:var(--tj-sand)}
.tj-kachel-gruen{background:var(--tj-gruen);color:#fff}
.tj-kachel-gruen h2,.tj-kachel-gruen h3{color:#fff}
.tj-kachel-gruen p{color:#DDEAE2}
.tj-kachel-gruen a:not(.wp-block-button__link){color:#fff}
.tj-kachel-gruen .wp-block-button__link{background:var(--tj-gelb);color:var(--tj-tinte)}
.tj-kachel-gruen .wp-block-button__link:hover{background:#E8B43A;color:var(--tj-tinte)}

/* Startseite: Stellen links, Ausbildungsstätten und Arbeitgeber rechts */
.tj-start-spalten{gap:40px;margin-bottom:72px;align-items:flex-start}
.tj-start-seite{display:flex;flex-direction:column;gap:20px}
@media (min-width:782px){.tj-start-seite{position:sticky;top:24px}}
.tj-start-seite .tj-kachel{min-height:0;justify-content:flex-start;padding:28px}
.tj-ausbildung-box h2{font-size:1.6rem}
.tj-ausbildung-liste{list-style:none;margin:4px 0 16px;padding:0}
.tj-ausbildung-liste li{margin:0;border-top:1px solid #E2D8C8}
.tj-ausbildung-liste li:last-child{border-bottom:1px solid #E2D8C8}
.tj-ausbildung-liste a{display:block;padding:11px 0;color:var(--tj-tinte);text-decoration:none;font-weight:500}
.tj-ausbildung-liste a:hover{color:var(--tj-gruen)}
/* Kompaktere Stellen auf der Startseite */
.tjs-neueste .tjs-job{padding:16px 18px;gap:14px}
.tjs-neueste .tjs-job-logo{flex-basis:104px;width:104px;height:68px}
.tjs-neueste .tjs-job-logo span{font-size:22px}
.tjs-neueste .tjs-job-titel{font-size:18px}
.tjs-neueste .tjs-job-firma{margin-bottom:8px;font-size:15px}

/* ---------- Seite „Stelle schalten“ (Vorlage „theologiejobs Stelle schalten“) ---------- */
.tj-seitenkopf{background:var(--tj-sand);padding:64px 40px;margin-bottom:56px}
.tj-seitenkopf h1{margin-bottom:.3em}
.tj-seitenkopf p{font-size:21px;max-width:34em;margin:0}
.tj-schritte{counter-reset:schritt;gap:24px;margin:24px 0 32px}
.tj-schritt{counter-increment:schritt;border-top:3px solid var(--tj-gruen);padding-top:18px}
.tj-schritt h3::before{content:counter(schritt);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:10px;border-radius:50%;background:var(--tj-gruen);color:#fff;font-size:16px;vertical-align:2px}
.tj-knopf-gelb .wp-block-button__link{background:var(--tj-gelb);color:var(--tj-tinte);padding:16px 30px;font-size:18px}
.tj-knopf-gelb .wp-block-button__link:hover{background:#E8B43A;color:var(--tj-tinte)}
.tj-hinweis-klein{font-size:15px;color:var(--tj-grau);margin-top:10px}
.tj-ansprechpartner{border:1px solid var(--tj-linie);justify-content:flex-start}
.tj-ansprechpartner figure{margin:0 0 14px}
.tj-ansprechpartner img{border-radius:50%}

@media (max-width:781px){
	.tj-seitenkopf{padding:44px 20px}
	.tj-hero{padding:64px 20px 110px}
	.tj-hero p{font-size:19px}
	.tj-kachel{min-height:0}
}

/* ---------- Fußzeile ---------- */
.site-info .inside-site-info{display:block}
.site-info .copyright-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 32px;width:100%;text-align:left}
.tj-fussmenue ul{display:flex;flex-wrap:wrap;gap:6px 24px;list-style:none;margin:0;padding:0}
.tj-fussmenue li{margin:0}
.tj-fussmenue a,.tj-copyright a{color:var(--tj-grau)}
.tj-fussmenue a:hover,.tj-copyright a:hover{color:var(--tj-gruen)}

/* Startseite: Beitragsbild nur als Header-Hintergrund, nicht zusätzlich darüber */
.home .featured-image,.home .page-header-image,.home .page-header-image-single{display:none}

/* Widget-Bereich Startseite rechts */
.tj-widgetbereich{display:flex;flex-direction:column;gap:20px}
.tj-widget{margin:0}
.tj-widget img{display:block;width:100%;height:auto;border-radius:16px}
.tj-widget a:has(img){display:block;border-radius:16px;transition:box-shadow .15s}
.tj-widget a:has(img):hover,.tj-widget a:has(img):focus{box-shadow:0 12px 28px -16px rgba(18,69,47,.55)}
.tj-widget figure{margin:0}
.tj-widget-titel,.tj-widget h2,.tj-widget h3{font-size:1.2rem;margin:0 0 10px}
@media (prefers-reduced-motion:reduce){.tj-widget a:has(img){transition:none}}

/* Seitenüberschriften (H1 der Unterseiten): ruhiger als die Startseite */
.entry-header .entry-title{font-size:clamp(2rem,4.2vw,3.1rem);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:.45em}
/* Einleitender erster Absatz einer Seite */
.page:not(.home) .entry-content>p:first-child{font-size:20px;line-height:1.6;color:var(--tj-grau);max-width:44em;margin-bottom:2em}

/* ---------- Startseite: Zahlenleiste [tj_zahlen] ---------- */
.tj-abschnitt-zahlen{margin:8px 0 56px}
.tj-zahlen{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border-top:1px solid var(--tj-linie);border-bottom:1px solid var(--tj-linie)}
.tj-zahl{display:flex;align-items:baseline;gap:14px;padding:20px 24px 20px 0;color:var(--tj-tinte);text-decoration:none}
a.tj-zahl:hover .tj-zahl-wert,a.tj-zahl:focus .tj-zahl-wert{color:var(--tj-gruen-dunkel)}
a.tj-zahl:hover .tj-zahl-text{text-decoration:underline}
.tj-zahl+.tj-zahl{padding-left:24px;border-left:1px solid var(--tj-linie)}
.tj-zahl-wert{font-size:40px;font-weight:800;letter-spacing:-.03em;color:var(--tj-gruen);line-height:1}
.tj-zahl-text{font-size:16px;line-height:1.35;color:var(--tj-grau);max-width:16em}
@media (max-width:781px){.tj-zahl+.tj-zahl{border-left:0;padding-left:0;border-top:1px solid var(--tj-linie)}}

/* ---------- Startseite: So hilft Ihnen theologiejobs.de ---------- */
.tj-hilfe{margin:16px 0 80px}
.tj-hilfe>.wp-block-group__inner-container{padding:0}
.tj-hilfe h2{margin-bottom:24px}
.tj-hilfe-spalten{gap:24px}
.tj-hilfe-karte{position:relative;padding:28px 28px 24px;background:#fff;border:1px solid var(--tj-linie);border-radius:16px;display:flex;flex-direction:column}
.tj-hilfe-karte::before{content:"";display:block;width:44px;height:6px;border-radius:3px;margin-bottom:18px;background:var(--tj-gruen)}
.tj-hilfe-ocker::before{background:#B07A2A}
.tj-hilfe-gelb::before{background:var(--tj-gelb)}
.tj-hilfe-karte h3{margin:0 0 10px;font-size:1.3rem}
.tj-hilfe-karte p{margin:0 0 14px;color:var(--tj-grau)}
.tj-hilfe-karte .tj-hilfe-link{margin:auto 0 0;font-weight:700}
.tj-hilfe-karte .tj-hilfe-link a{color:var(--tj-gruen)}

/* ---------- Startseite: Unser Fundament ---------- */
.tj-fundament{background:var(--tj-gruen);color:#fff;padding:72px 40px;text-align:center;margin-bottom:0}
.tj-fundament h2{color:#fff;margin-bottom:18px}
.tj-fundament p{color:#DDEAE2;font-size:20px;line-height:1.6}
.tj-fundament .tj-fundament-link{margin:24px 0 0;font-weight:700}
.tj-fundament .tj-fundament-link a{color:var(--tj-gelb)}
@media (max-width:781px){.tj-fundament{padding:56px 20px}}

/* Zahlenleiste: Innenabstand von GeneratePress aufheben */
.tj-abschnitt-zahlen>.wp-block-group__inner-container{padding:0}

/* Volle-Breite-Streifen erzeugen keinen waagerechten Rollbalken */
.site{overflow-x:clip}

/* „Zum Verzeichnis“ im Kasten Ausbildungsstätten als gelber Knopf */
.tj-ausbildung-box p:last-child{margin:6px 0 0}
.tj-ausbildung-box p:last-child a{display:inline-block;padding:12px 22px;border-radius:8px;background:var(--tj-gelb);color:var(--tj-tinte);font-weight:700;text-decoration:none}
.tj-ausbildung-box p:last-child a:hover,.tj-ausbildung-box p:last-child a:focus{background:#E8B43A;color:var(--tj-tinte)}

/* ---------- Seite „Über uns“ (Vorlage „theologiejobs Über uns“) ---------- */
.page:not(.home) .entry-content>h2{margin-top:1.6em}
.page:not(.home) .entry-content>.tj-hilfe-spalten{gap:24px;margin:8px 0 56px}
.tj-fundament-box{margin:56px 0;border-radius:16px;padding:56px 32px}
.tj-fundament-box>.wp-block-group__inner-container{padding:0}
.tj-fundament-box .tj-fundament-link{font-style:italic;font-weight:400;color:var(--tj-gelb)}
.tj-ueber-kontakt{max-width:640px;margin-top:32px;padding:28px;border-radius:16px}
.tj-ueber-kontakt>.wp-block-group__inner-container{padding:0}

/* ---------- Knöpfe in Inhalten (stärker als die GeneratePress-Vorgabe) ---------- */
.entry-content .wp-block-button.tj-knopf-gelb .wp-block-button__link{background:var(--tj-gelb);color:var(--tj-tinte);border-radius:10px;padding:16px 28px;font-size:18px;font-weight:700}
.entry-content .wp-block-button.tj-knopf-gelb .wp-block-button__link:hover,.entry-content .wp-block-button.tj-knopf-gelb .wp-block-button__link:focus{background:#E8B43A;color:var(--tj-tinte)}
.entry-content .wp-block-button.tj-knopf-rand .wp-block-button__link{background:transparent;color:var(--tj-gruen);border:2px solid var(--tj-gruen);border-radius:10px;padding:14px 24px;font-size:18px;font-weight:700}
.entry-content .wp-block-button.tj-knopf-rand .wp-block-button__link:hover,.entry-content .wp-block-button.tj-knopf-rand .wp-block-button__link:focus{background:var(--tj-gruen);color:#fff}

/* ---------- Vorlage „Stelle schalten (neu)“ ---------- */
.tj-landing-kopf{background:var(--tj-sand);border-radius:20px;padding:48px;margin:8px 0 64px}
.tj-landing-kopf>.wp-block-group__inner-container{padding:0}
.tj-landing-spalten{gap:48px;margin:0}
.tj-landing-kopf h1{font-size:clamp(2rem,4vw,2.8rem);line-height:1.1;margin:0 0 18px}
.tj-landing-text{font-size:19px;line-height:1.6;margin:0 0 26px}
.tj-landing-knoepfe{gap:12px;margin-bottom:6px}
.tj-vorteile{background:#fff;border-radius:16px;padding:28px;box-shadow:0 16px 36px -24px rgba(27,36,32,.45)}
.tj-vorteile>.wp-block-group__inner-container{padding:0}
.tj-vorteile h3{margin:0 0 14px;font-size:1.25rem}
.tj-haken{list-style:none;margin:0;padding:0}
.tj-haken li{position:relative;margin:0;padding:10px 0 10px 38px;border-top:1px solid var(--tj-linie);font-size:17px;line-height:1.45}
.tj-haken li:first-child{border-top:0}
.tj-haken li::before{content:"";position:absolute;left:0;top:11px;width:24px;height:24px;border-radius:50%;background:var(--tj-gruen) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.tj-cta-box{background:var(--tj-gruen);border-radius:20px;padding:44px 48px;margin:16px 0 56px;display:block}
.tj-cta-box>.wp-block-group__inner-container{padding:0;display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}
.tj-cta-box h2{color:#fff;margin:0;font-size:clamp(1.4rem,2.6vw,1.9rem);max-width:22em}
.tj-cta-box .wp-block-buttons{margin:0}
@media (max-width:781px){
	.tj-landing-kopf{padding:28px 22px}
	.tj-landing-spalten{gap:28px}
	.tj-cta-box{padding:32px 24px}
}
.tj-kacheln .tj-kachel{justify-content:flex-start;min-height:0}

/* ---------- Mobil (ab 1.8.1): einheitlich 20px Seitenrand, weniger Leerraum ---------- */
@media (max-width:781px){
	/* Unterseiten: Seitenrand 20px statt 30px */
	body.separate-containers:not(.home) .inside-article,body.one-container:not(.home) .site-content{padding-left:20px;padding-right:20px}
	/* Startseite: alle Abschnitte mit gleichem Rand, Flächen ohne doppelten Innenabstand */
	.home .entry-content>.wp-block-group>.wp-block-group__inner-container{padding:0 20px}
	.home .tj-hero,.home .tj-fundament{padding-left:0;padding-right:0}
	.tj-hero{padding-top:52px;padding-bottom:92px}
	.tj-hero p{font-size:18px}
	.tj-suchbox{margin-bottom:28px}
	.tj-abschnitt-zahlen{margin:0 0 40px}
	.tj-zahl{padding:16px 0}
	.tj-zahl-wert{font-size:34px;min-width:1.35em}
	.tj-start-spalten{gap:28px;margin-bottom:48px}
	.tj-hilfe{margin:0 0 48px}
	.tj-hilfe-spalten{gap:14px}
	.tj-hilfe-karte{padding:22px 20px 20px}
	.tj-fundament{padding-top:48px;padding-bottom:48px}
	.tj-fundament p{font-size:18px;text-align:left}
	/* Kästen in Inhalten: weniger Innenabstand, damit Text Platz hat */
	.tj-kachel,.tj-start-seite .tj-kachel{padding:22px 20px}
	.tj-fundament-box{margin:40px 0;padding:36px 20px}
	.tj-fundament-box p{text-align:left}
	.tj-ueber-kontakt{padding:22px 20px}
	.tj-landing-kopf{padding:26px 16px;margin-bottom:44px}
	.tj-vorteile{padding:20px 16px}
	.tj-haken li{font-size:16px}
	.tj-cta-box{padding:28px 20px}
	.tj-cta-box .wp-block-buttons{width:100%}
	.tj-seitenkopf{padding:36px 20px;margin-bottom:40px}
	/* Knöpfe über die volle Breite – leichter zu treffen */
	.entry-content .wp-block-buttons>.wp-block-button{width:100%}
	.entry-content .wp-block-buttons>.wp-block-button .wp-block-button__link{display:block;width:100%;box-sizing:border-box;text-align:center}
	.tj-ausbildung-box p:last-child a{display:block;text-align:center}
	/* Fußzeile: größere Tippflächen */
	.site-info .inside-site-info{padding-left:20px;padding-right:20px}
	/* Kopf: gleicher Rand wie der Inhalt */
	.inside-header{padding-left:20px;padding-right:20px}
	.tj-fussmenue ul{gap:0 22px}
	.tj-fussmenue a{display:inline-block;padding:9px 0}
	.page:not(.home) .entry-content>p:first-child{font-size:18px;margin-bottom:1.5em}
	.page:not(.home) .entry-content>h2{margin-top:1.3em}
}
/* Handy-Menü (GeneratePress klappt bei 768px um): „Stelle schalten“ als breiter Knopf */
@media (max-width:768px){
	.main-navigation .main-nav ul li.tj-cta{display:block}
	.main-navigation .main-nav ul li.tj-cta>a{display:block;margin:8px 20px 14px;line-height:48px;text-align:center}
}
