/*
 * Inhalts-Styles (alles innerhalb von .entry-content).
 * Wird im Frontend UND im Block-Editor geladen, damit Redakteure beim
 * Bearbeiten dieselbe Darstellung sehen wie Besucher.
 * Neue Regeln für Seiteninhalte bitte HIER ergänzen, nicht in main.css.
 */

/* --- Content typography --- */
.entry-content {
    font-size: 1.05rem;
    color: var(--gray);
}

.entry-content > * + * { margin-top: 1.25rem; }
/* Erstes Element (seit Wegfall der Eyebrow meist die H2) ohne zusätzlichen Abstand nach oben */
.entry-content > :first-child { margin-top: 0; }

.entry-content h2 {
    font-size: 1.9rem;
    font-weight: 700;
    color: var(--dark);
    margin-top: 2.6rem;
    line-height: 1.25;
}

.entry-content h3 {
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--dark);
    margin-top: 2rem;
}

.entry-content p { line-height: 1.75; }

.entry-content a { color: var(--green); text-decoration: underline; text-underline-offset: 2px; }

.entry-content a:hover { color: var(--green-dark); }

.entry-content strong { color: var(--dark); }
/* Hervorgehobene Zeilen unter der Überschrift: gleicher Abstand für Motto und grünen Sub-Claim */
.entry-content .motto-sub,
.entry-content p.is-style-lead {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
}

.entry-content > .motto-sub:first-child,
.entry-content > p.is-style-lead:first-child { margin-top: 0; }

/* Motto-Sub-Headline (unter der Haupt-Überschrift) */
.entry-content .motto-sub {
    color: var(--green);
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1.25;
    padding-left: 18px;
    border-left: 4px solid var(--green);
}

.entry-content .motto-sub .motto-sub__lead {
    display: block;
    color: var(--gray);
    font-size: .62em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 4px;
}

.entry-content p.is-style-lead {
    font-size: 1.3rem;
    line-height: 1.5;
    color: var(--green);
    font-weight: 600;
    padding-left: 18px;
    border-left: 4px solid var(--green);
}

.entry-content ul { list-style: disc; padding-left: 1.4em; }

.entry-content ul li { margin-top: .5rem; }
/* Images */
.entry-content figure.wp-block-image {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.entry-content figure.wp-block-image img {
    width: 100%;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}
/* WLV-Logo: klein, rechts neben der Überschrift */
.entry-content figure.wp-block-image.wlv-logo {
    float: right;
    width: 150px;
    max-width: 40%;
    margin: 4px 0 16px 28px;
}

.entry-content figure.wp-block-image.wlv-logo img {
    width: 100%;
    border-radius: 0;
    box-shadow: none;
}
@media (max-width: 600px) {
.entry-content figure.wp-block-image.wlv-logo { width: 120px; margin-left: 18px; }
}/* Media + Text */
.entry-content .wp-block-media-text {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    margin: 2.5rem 0;
}

.entry-content .wp-block-media-text.has-media-on-the-right { grid-template-columns: 1fr 1fr; }

.entry-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: 2; }

.entry-content .wp-block-media-text__media img {
    width: 100%;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.entry-content .wp-block-media-text__content > :first-child { margin-top: 0; }

.entry-content .wp-block-media-text__content h3 { margin-top: 0; }
/* Columns */
.entry-content .wp-block-columns {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
}

.entry-content .wp-block-column { flex: 1 1 240px; }
/* Buttons → theme styling */
.entry-content .wp-block-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 2rem 0;
}

.entry-content .wp-block-button__link {
    display: inline-block;
    background: var(--green);
    color: var(--white);
    padding: 13px 26px;
    border-radius: var(--radius);
    font-weight: 600;
    font-size: .98rem;
    border: 2px solid var(--green);
    text-decoration: none;
    transition: background var(--transition), transform var(--transition);
}

.entry-content .wp-block-button__link:hover {
    background: var(--green-dark);
    border-color: var(--green-dark);
    color: var(--white);
    transform: translateY(-1px);
}

.entry-content .wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent;
    color: var(--green);
    border-color: var(--green);
}

.entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover {
    background: var(--green);
    color: var(--white);
}
/* Kleinere Buttons (z. B. News-Header) */
.entry-content .buttons-small .wp-block-button__link {
    padding: 9px 18px;
    font-size: .85rem;
}
/* DSGVO-Ausklappbox */
.entry-content .dsgvo-box {
    border: 1px solid #e2e2e2;
    border-radius: var(--radius);
    padding: 4px 18px;
    margin: 1.5rem 0 2.5rem;
    background: var(--light-gray);
}

.entry-content .dsgvo-box > summary {
    cursor: pointer;
    font-weight: 600;
    color: var(--dark);
    padding: 12px 0;
    list-style: none;
}

.entry-content .dsgvo-box > summary::-webkit-details-marker { display: none; }

.entry-content .dsgvo-box > summary::before {
    content: "+";
    display: inline-block;
    width: 1.2em;
    color: var(--green);
    font-weight: 700;
}

.entry-content .dsgvo-box[open] > summary::before { content: "\2212"; }

.entry-content .dsgvo-box__body { padding: 4px 0 14px; }

.entry-content .dsgvo-box__body p { font-size: .88rem; line-height: 1.6; color: var(--gray); margin-bottom: .8rem; }
/* Nativer WordPress-Block "Details": Absätze liegen direkt im <details> (Frontend)
   bzw. in einem Editor-Container (Block-Editor) – daher Nachfahren-Selektor. */
.entry-content .dsgvo-box > summary ~ p,
.entry-content .dsgvo-box .block-editor-inner-blocks p { font-size: .88rem; line-height: 1.6; color: var(--gray); margin: 0 0 .8rem; }
.entry-content .dsgvo-box > summary + p { margin-top: 4px; }
.entry-content .dsgvo-box > p:last-child { margin-bottom: calc(.8rem + 14px); }
/* PDF-Download-Button */
.entry-content a.pdf-download {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 13px 22px;
    border: 2px solid var(--green);
    border-radius: var(--radius);
    background: var(--green);
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    transition: background var(--transition), transform var(--transition);
}

.entry-content a.pdf-download:hover { background: var(--green-dark); border-color: var(--green-dark); color: #fff; transform: translateY(-1px); }

.entry-content a.pdf-download .pdf-download__icon { flex-shrink: 0; }

.entry-content a.pdf-download .pdf-download__badge {
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .04em;
    background: rgba(255,255,255,.22);
    padding: 3px 7px;
    border-radius: 4px;
}
/* Social-Media-Buttons (Presse) */
.entry-content .social-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 1.5rem 0 2rem;
}

.entry-content a.social-buttons__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 11px 20px;
    border: 2px solid var(--green);
    border-radius: var(--radius);
    background: var(--green);
    color: #fff;
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
    transition: background var(--transition), border-color var(--transition), transform var(--transition);
}

.entry-content a.social-buttons__link:hover {
    background: var(--green-dark);
    border-color: var(--green-dark);
    color: #fff;
    transform: translateY(-1px);
}

.entry-content a.social-buttons__link svg { flex-shrink: 0; }
/* Key-Facts-Panel (Querformat, Icon oben / Zahl unten) – Referenzen */
/* Dezente Social-Links mit Plattform-Icon (News) */
.entry-content .news-social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 1.5rem 0 2.5rem;
}

.entry-content .news-social__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    border: 1px solid #dcdcdc;
    border-radius: 999px;
    background: transparent;
    color: var(--gray);
    font-size: .82rem;
    font-weight: 600;
    text-decoration: none;
    transition: color var(--transition), border-color var(--transition), background var(--transition);
}

.entry-content .news-social__link svg { width: 16px; height: 16px; flex-shrink: 0; }

.entry-content .news-social__link:hover {
    color: var(--green);
    border-color: var(--green);
    background: rgba(56, 178, 54, .06);
}
/* Embeds (YouTube) */
.entry-content .wp-block-embed { margin: 2.5rem 0; }

.entry-content .wp-block-embed__wrapper { position: relative; }

.entry-content .wp-embed-aspect-16-9 .wp-block-embed__wrapper { padding-top: 56.25%; }

.entry-content .wp-embed-aspect-16-9 .wp-block-embed__wrapper > iframe,
.entry-content .wp-embed-aspect-16-9 .wp-block-embed__wrapper > .yt-fassade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: var(--radius);
}

.entry-content .wp-block-separator {
    border: 0;
    border-top: 1px solid #e3e3e3;
    margin: 2.5rem 0;
}
@media (max-width: 768px) {
.entry-content .wp-block-media-text,
    .entry-content .wp-block-media-text.has-media-on-the-right { grid-template-columns: 1fr; gap: 24px; }

.entry-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: -1; }
}/* --- Filterbereich --- */
.entry-content .job_filters {
    background: #fff;
    border: 1px solid #e2e2e2;
    border-radius: var(--radius);
    margin: 1.5rem 0 2rem;
    overflow: hidden;
}

.entry-content .job_filters .search_jobs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
    padding: 22px 22px 4px;
    background: none;
}
/* Das Plugin nutzt einen Clearfix (::before/::after mit display:table) für
   sein Float-Layout. Im Grid werden daraus zwei zusätzliche Rasterzellen,
   die alle Felder um eine Position verschieben – deshalb abschalten. */
.entry-content .job_filters .search_jobs::before,
.entry-content .job_filters .search_jobs::after { content: none; display: none; }
/* Plugin setzt float:left/right und feste Breiten – das bricht das Grid. */
.entry-content .job_filters .search_jobs > div {
    float: none;
    width: auto;
    min-width: 0;
}
/* Plugin blendet die Feldbeschriftungen aus; wir zeigen sie wie in den
   übrigen Formularen der Seite (auch besser für Screenreader). */
.entry-content .job_filters .search_keywords label,
.entry-content .job_filters .search_location label { display: block; }

.entry-content .job_filters label {
    display: block;
    font-size: .95rem;
    font-weight: 600;
    color: var(--dark);
    margin-bottom: 8px;
}

.entry-content .job_filters input[type="text"] {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d2d2d2;
    border-radius: var(--radius);
    font-family: var(--font);
    font-size: 1rem;
    color: var(--dark);
    background: var(--white);
    transition: border-color var(--transition);
}

.entry-content .job_filters input[type="text"]:focus {
    outline: none;
    border-color: var(--green);
    box-shadow: 0 0 0 3px rgba(33,186,0,.12);
}
/* "Nur Remote" – als normale Zeile, nicht als Spalte */
.entry-content .job_filters .search_remote_position {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 9px;
}

.entry-content .job_filters .search_remote_position label {
    margin: 0;
    font-weight: 400;
    font-size: .95rem;
    color: var(--gray);
}
/* Suchbutton im Theme-Stil */
.entry-content .job_filters .search_submit {
    grid-column: 1 / -1;
    padding-bottom: 18px;
}

.entry-content .job_filters input[type="submit"] {
    display: inline-block;
    width: auto;
    background: var(--green);
    color: var(--white);
    border: 2px solid var(--green);
    border-radius: var(--radius);
    padding: 12px 26px;
    font-family: var(--font);
    font-weight: 600;
    font-size: .95rem;
    cursor: pointer;
    transition: background var(--transition), transform var(--transition);
}

.entry-content .job_filters input[type="submit"]:hover {
    background: var(--green-dark);
    border-color: var(--green-dark);
    transform: translateY(-1px);
}
/* Beschäftigungsarten als Chips */
.entry-content .job_filters ul.job_types {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 16px 22px;
    border-top: 1px solid #eee;
    background: var(--light-gray);
}

.entry-content .job_filters ul.job_types li { margin: 0; padding: 0; border: 0; }

.entry-content .job_filters ul.job_types li label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    padding: 6px 14px;
    background: #fff;
    border: 1px solid #dcdcdc;
    border-radius: 999px;
    font-size: .85rem;
    font-weight: 600;
    color: var(--gray);
    cursor: pointer;
    transition: border-color var(--transition), color var(--transition);
}

.entry-content .job_filters ul.job_types li label:hover { border-color: var(--green); color: var(--green); }

.entry-content .job_filters ul.job_types input[type="checkbox"] { accent-color: var(--green); margin: 0; }
/* Ergebniszähler + RSS dezent *//* Enthält nur noch den ausgeblendeten RSS-Link -> kompletter Streifen weg. */
.entry-content .job_filters .showing_jobs { display: none; }

.entry-content .job_filters .rss_link,
.entry-content .job_listings .rss_link { display: none; }
/* --- Stellenliste: Karten statt Tabellenzeilen --- */
.entry-content ul.job_listings {
    list-style: none;
    margin: 0 0 2rem;
    padding: 0;
    border: 0;
    display: grid;
    gap: 14px;
}

.entry-content ul.job_listings li.job_listing {
    border: 1px solid #e2e2e2;
    border-radius: var(--radius);
    background: #fff;
    padding: 0;
    overflow: hidden; /* Plugin färbt den Link beim Hover eckig ein – an den runden Ecken abschneiden */
    transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.entry-content ul.job_listings li.job_listing:hover {
    border-color: var(--green);
    box-shadow: var(--shadow);
    transform: translateY(-2px);
}

.entry-content ul.job_listings li.job_listing a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 24px;
    padding: 20px 24px;
    text-decoration: none;
}
/* In der Liste nur den Stellentitel zeigen: kein Platzhalter-Logo, kein Ort,
   kein Datum, kein Typ-Etikett (alle Stellen sind Vollzeit in Münster). */
.entry-content ul.job_listings li.job_listing .company_logo,
.entry-content ul.job_listings li.job_listing div.company,
.entry-content ul.job_listings li.job_listing .location,
.entry-content ul.job_listings li.job_listing ul.meta { display: none; }

.entry-content ul.job_listings li.job_listing .position {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0;
}

.entry-content ul.job_listings li.job_listing .position h3 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--dark);
    line-height: 1.3;
}

.entry-content ul.job_listings li.job_listing:hover .position h3 { color: var(--green); }

/* "Keine Stellen gefunden" */
.entry-content ul.job_listings li.no_job_listings_found {
    padding: 22px 24px;
    color: var(--gray);
    background: var(--light-gray);
    border: 1px dashed #d8d8d8;
}
/* Mehr-laden-Button */
.entry-content a.load_more_jobs {
    display: inline-block;
    padding: 12px 26px;
    border: 2px solid var(--green);
    border-radius: var(--radius);
    color: var(--green);
    font-weight: 600;
    text-decoration: none;
    transition: background var(--transition), color var(--transition);
}

.entry-content a.load_more_jobs:hover { background: var(--green); color: #fff; }

.entry-content a.load_more_jobs strong { font-weight: 600; }
/* --- Einzelne Stellenanzeige --- */
/* Beschreibung liegt nicht direkt in .entry-content -> Absatzabstände hier setzen
   (niedrige Spezifität, damit Überschriften ihren größeren Abstand behalten) */
:where(.single_job_listing .job_description) > * + * { margin-top: 1.25rem; }
:where(.single_job_listing .job_description) > :first-child { margin-top: 0; }
@media (max-width: 700px) {
.entry-content .job_filters .search_jobs { grid-template-columns: 1fr; }

.entry-content ul.job_listings li.job_listing a { gap: 8px; }

}

/* Formulare (Contact Form 7) im Inhalt: stand früher nach den Inhaltsregeln
   und hatte daher 1.5rem statt des allgemeinen Block-Abstands */
.entry-content > .wpcf7 { margin-top: 1.5rem; }
/* Formular als Contact-Form-7-Block (mit Wrapper-DIV) – gleicher Abstand wie vorher */
.entry-content > .wp-block-contact-form-7-contact-form-selector { margin-top: 1.5rem; }
.entry-content .wp-block-contact-form-7-contact-form-selector > .wpcf7 { margin-top: 0; }

/* Bewerbungskasten unter jeder Stellenanzeige (Inhalt: private Seite "job-hinweis", inc/jobs.php) */
.entry-content .job-hinweis {
    position: relative;
    margin-top: 3rem;
    padding: 44px 48px;
    background: var(--dark);
    border-radius: 16px;
    color: rgba(255,255,255,.75);
    overflow: hidden;
}

.entry-content .job-hinweis::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: var(--green);
}

.entry-content .job-hinweis > :first-child { margin-top: 0; }

.entry-content .job-hinweis h3 {
    margin: 0;
    color: var(--white);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
}

.entry-content .job-hinweis p { margin: 0; line-height: 1.7; }

.entry-content .job-hinweis p + p { margin-top: .9rem; }

.entry-content .job-hinweis .job-hinweis__claim {
    margin-top: .35rem;
    color: var(--green);
    font-size: 1.25rem;
    font-weight: 700;
}

.entry-content .job-hinweis .wp-block-columns {
    margin-top: 2rem;
    gap: 32px 48px;
    align-items: flex-start;
}

.entry-content .job-hinweis .wp-block-column + .wp-block-column {
    padding-left: 48px;
    border-left: 1px solid rgba(255,255,255,.14);
}

.entry-content .job-hinweis .job-hinweis__label {
    color: rgba(255,255,255,.55);
    font-size: .8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: .5rem;
}

.entry-content .job-hinweis strong { color: var(--white); }

.entry-content .job-hinweis a { color: var(--green); text-decoration: none; }

.entry-content .job-hinweis a[href^="tel:"] { white-space: nowrap; }

.entry-content .job-hinweis a:hover { color: var(--white); text-decoration: underline; text-underline-offset: 2px; }

.entry-content .job-hinweis .wp-block-buttons { margin: 1.4rem 0; }

.entry-content .job-hinweis .wp-block-button__link {
    color: var(--white);
    text-decoration: none;
    padding: 14px 28px;
}

.entry-content .job-hinweis .wp-block-button__link::after {
    content: '\2192';
    display: inline-block;
    margin-left: 10px;
    transition: transform var(--transition);
}

.entry-content .job-hinweis .wp-block-button__link:hover { color: var(--white); text-decoration: none; }

.entry-content .job-hinweis .wp-block-button__link:hover::after { transform: translateX(3px); }

@media (max-width: 700px) {
    .entry-content .job-hinweis { padding: 36px 24px; }
    .entry-content .job-hinweis h3 { font-size: 1.3rem; }
    .entry-content .job-hinweis .wp-block-button__link { padding: 14px 18px; font-size: .9rem; white-space: nowrap; }
    .entry-content .job-hinweis .wp-block-column + .wp-block-column {
        padding-left: 0;
        padding-top: 28px;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.14);
    }
}

@media (max-width: 359px) {
    .entry-content .job-hinweis .wp-block-button__link { white-space: normal; }
    .entry-content .job-hinweis .wp-block-button__link::after { display: none; }
}

