/*
Theme Name: Essentials Child
Theme URI: https://essentials.pixfort.com/
Author: PixFort
Template: essentials
Author URI: http://themeforest.net/user/pixfort
Description: Essentials child theme
Version: 1.0.5
License: Envato Marketplaces Split Licence
License URI: https://themeforest.net/licenses/standard
Text Domain: essentials-child
Tags: header-builder, footer-builder, divider-builder, popup-builder, premium-design, translation-ready

*/

/* Google Fonts (Barlow, Barlow Condensed) werden in der functions.php eingebunden und über das Plugin "Local Google Fonts" lokal ausgeliefert. */

/* =============================================================================
   1. Bestehende Child-Theme-Styles
   ============================================================================= */

.pix-header .container, .pixfort-header-area .container {
    --pix-header-container-width: 1400px !important;
}

#pix-feature-3fefc0e {
    transition: transform 0.3s ease;
}

#pix-feature-3fefc0e:hover {
    transform: translateY(-7px);
}

#pix-feature-0d40dde {
    transition: transform 0.3s ease;
}

#pix-feature-0d40dde:hover {
    transform: translateY(-7px);
}

#pix-feature-73348f2 {
    transition: transform 0.3s ease;
}

#pix-feature-73348f2:hover {
    transform: translateY(-7px);
}

#cc7018c {
    transition: transform 0.3s ease;
}

#cc7018c:hover {
    transform: translateY(-7px);
}

#pix-feature-7705784 {
    transition: transform 0.3s ease;
}

#pix-feature-7705784:hover {
    transform: translateY(-7px);
}

.iom-kulturcafe-farbe .btn {
    background-color: #4F632A !important;
}

/* Alle Widget-Container im Raster gleich hoch */
.elementor-element-e797de6 .elementor-widget-pix-card,
.elementor-element-e797de6 .elementor-widget-container,
.elementor-element-e797de6 .pix-card-element {
    height: 100%;
}

/* Card-Content soll den verfügbaren Platz füllen */
.elementor-element-e797de6 .pix-card-content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Card-Body wächst mit → Footer bleibt unten */
.elementor-element-e797de6 .card-body {
    flex: 1;
}

.elementor-element-e797de6 .card-footer {
    text-align: left !important;
}

.elementor-element-e797de6 .pix-card-link {
    justify-content: flex-start !important;
}

/* =============================================================================
   2. Aus Customizer > Zusätzliches CSS übernommen (November 2026)
   ============================================================================= */

/* =============================================================================
   THE EVENTS CALENDAR – Custom Styles für a.l.s.o. e.V.
   Passend zum Website-Mockup (Ihlenfeldt Online-Marketing)

   SO EINBINDEN (kein Code nötig):
   ─────────────────────────────────────────────────────
   1. WordPress Backend öffnen
   2. Design → Customizer
   3. Links im Menü: "Zusätzliches CSS" anklicken
   4. Diesen kompletten Text reinkopieren
   5. Oben rechts auf "Veröffentlichen" klicken – fertig.

   NACH DEM EINBINDEN:
   ─────────────────────────────────────────────────────
   Plugin-Einstellung anpassen:
   Events → Einstellungen → Anzeige → Standardansicht: Liste

   Kategorien anlegen unter Events → Kategorien:
   Name: "Eintritt frei"           Slug: eintritt-frei
   Name: "Mit Anmeldung"           Slug: mit-anmeldung
   Name: "Frauen & Alleinerzieh."  Slug: frauen-alleinerziehende
   Name: "Treffpunkte"             Slug: treffpunkte
   ============================================================================= */


/* -----------------------------------------------------------------------------
   1. SCHRIFT
   ----------------------------------------------------------------------------- */



/* -----------------------------------------------------------------------------
   2. ALLGEMEINER WRAPPER
   ----------------------------------------------------------------------------- */
.tribe-events,
.tribe-events *,
.tribe-events-calendar,
.tribe-events-calendar * {
    font-family: 'Barlow', sans-serif !important;
    box-sizing: border-box;
}

.tribe-events .tribe-events-header__title,
.tribe-events h1.tribe-events-page-title,
.tribe-common .tribe-common-h2 {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-weight: 800 !important;
    font-size: 44px !important;
    line-height: 1.05 !important;
    color: #1C1A17 !important;
    letter-spacing: -0.01em !important;
}

.tribe-events .tribe-events-c-nav__prev,
.tribe-events .tribe-events-c-nav__next {
    font-family: 'Barlow', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #0A8799 !important;
    text-decoration: none !important;
    padding: 8px 16px;
    border: 1.5px solid rgba(10,135,153,0.3);
    border-radius: 4px;
    transition: background 0.15s, border-color 0.15s;
}

.tribe-events .tribe-events-c-nav__prev:hover,
.tribe-events .tribe-events-c-nav__next:hover {
    background: #E3F4F6 !important;
    border-color: #0A8799;
}

.tribe-events-past .tribe-events-header::before {
    content: '📁 Vergangene Veranstaltungen im Archiv';
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #EBF3D9;
    color: #6A9415;
    font-size: 12px;
    font-weight: 600;
    font-family: 'Barlow', sans-serif;
    padding: 5px 12px;
    border-radius: 4px;
    margin-bottom: 20px;
}


/* -----------------------------------------------------------------------------
   3. LISTEN-ANSICHT
   ----------------------------------------------------------------------------- */

.tribe-events-calendar-list__event-row,
.tribe-events .tribe-event {
    border-bottom: 1px solid rgba(28,26,23,0.10) !important;
    padding: 20px 0 !important;
    display: flex !important;
    gap: 18px !important;
    align-items: flex-start !important;
    background: transparent !important;
}

.tribe-events-calendar-list__event-row:first-child,
.tribe-events .tribe-event:first-child {
    padding-top: 0 !important;
}

/* Datum-Kachel links */
.tribe-events-calendar-list__event-datetime-wrapper,
.tribe-events .tribe-event-date-start {
    flex-shrink: 0 !important;
    width: 58px !important;
    text-align: center !important;
    background: #F7F5F1 !important;
    border-radius: 8px !important;
    padding: 10px 6px !important;
}

/* Tageszahl */
.tribe-events-calendar-list__event-date-tag-daynum,
.tribe-events-calendar-list__event-datetime-wrapper .tribe-event-date-start {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-weight: 800 !important;
    font-size: 28px !important;
    line-height: 1 !important;
    color: #0A8799 !important;
    display: block !important;
}

/* Monat */
.tribe-events-calendar-list__event-date-tag-month,
.tribe-events-calendar-list__event-datetime-wrapper abbr {
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #928D87 !important;
    display: block !important;
    font-style: normal !important;
    text-decoration: none !important;
}

/* Info-Bereich */
.tribe-events-calendar-list__event-details,
.tribe-events .tribe-event-info {
    flex: 1 !important;
}

/* Event-Titel */
.tribe-events-calendar-list__event-title,
.tribe-events .tribe-event-title,
.tribe-events h3.tribe-event-title a {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-weight: 700 !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
    color: #1C1A17 !important;
    margin-bottom: 4px !important;
    text-decoration: none !important;
    transition: color 0.15s;
}

.tribe-events h3.tribe-event-title a:hover,
.tribe-events-calendar-list__event-title a:hover {
    color: #0A8799 !important;
}

/* Uhrzeit & Ort */
.tribe-events-calendar-list__event-datetime,
.tribe-events .tribe-event-schedule-details,
.tribe-events .tribe-event-venue {
    font-size: 13px !important;
    color: #928D87 !important;
    display: inline !important;
}

.tribe-events .tribe-events-calendar-list__event-description {
    font-size: 14px !important;
    color: #57524C !important;
    line-height: 1.6 !important;
    margin-top: 6px !important;
}

/* Kategorie-Tags */
.tribe-events .tribe-event-categories a,
.tribe-events-calendar-list__event-categories a {
    display: inline-block;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 4px;
    text-decoration: none !important;
    margin-right: 4px;
    margin-top: 6px;
    background: #E3F4F6;
    color: #005A6B;
}

.tribe-events .cat-frauen-alleinerziehende a {
    background: #F7E0EE;
    color: #A3005A;
}

.tribe-events .cat-mit-anmeldung a {
    background: #FDF0E0;
    color: #D46A00;
}

.tribe-events .cat-treffpunkte a,
.tribe-events .cat-reparatur-cafe a {
    background: #EBF3D9;
    color: #6A9415;
}


/* -----------------------------------------------------------------------------
   4. MONATS-ANSICHT
   ----------------------------------------------------------------------------- */

.tribe-events-calendar {
    border-collapse: collapse !important;
    width: 100% !important;
    font-family: 'Barlow', sans-serif !important;
}

.tribe-events-calendar thead th,
.tribe-events .tribe-events-calendar-month__calendar-header-cell-title {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #928D87 !important;
    padding: 8px 12px !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(28,26,23,0.10) !important;
}

.tribe-events-calendar td,
.tribe-events .tribe-events-calendar-month__calendar-cell {
    border: 1px solid rgba(28,26,23,0.08) !important;
    vertical-align: top !important;
    padding: 10px !important;
    min-height: 80px;
}

.tribe-events-calendar td .tribe-events-calendar-month__calendar-cell-date-link,
.tribe-events-calendar .tribe-events-calendar-month__calendar-cell-date {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #57524C !important;
    text-decoration: none !important;
}

.tribe-events-calendar .tribe-events-present .tribe-events-calendar-month__calendar-cell-date,
.tribe-events-calendar td.tribe-events-present .tribe-events-calendar-month__calendar-cell-date-link {
    color: #0A8799 !important;
    font-weight: 800 !important;
}

.tribe-events-calendar td.tribe-events-past,
.tribe-events-calendar .tribe-events-past {
    background: #F7F5F1 !important;
    opacity: 0.7;
}

.tribe-events-calendar .tribe-events-calendar-month__calendar-event,
.tribe-events-calendar .tribe-events-calendar__dot {
    background: #0A8799 !important;
    border-radius: 4px !important;
    padding: 2px 6px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    margin-bottom: 2px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tribe-events-calendar-month__calendar-event-tooltip {
    background: #1C1A17 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    font-family: 'Barlow', sans-serif !important;
    font-size: 13px !important;
    color: rgba(255,255,255,0.85) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.2) !important;
}

.tribe-events-calendar-month__calendar-event-tooltip-title {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #FFFFFF !important;
    margin-bottom: 6px !important;
}


/* -----------------------------------------------------------------------------
   5. EINZEL-EVENT-SEITE
   ----------------------------------------------------------------------------- */

.tribe-events-back a {
    font-family: 'Barlow', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #0A8799 !important;
    text-decoration: none !important;
}

.tribe-events-single .tribe-events-single-event-title,
.tribe-events-single h1.tribe-events-single-event-title {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-weight: 800 !important;
    font-size: 48px !important;
    line-height: 1.05 !important;
    color: #1C1A17 !important;
    margin-bottom: 16px !important;
}

.tribe-events-single .tribe-events-meta-group,
.tribe-events-single .tribe-venue {
    background: #F7F5F1 !important;
    border: 1px solid rgba(28,26,23,0.10) !important;
    border-radius: 8px !important;
    padding: 20px 24px !important;
    margin-bottom: 20px !important;
}

.tribe-events-single .tribe-events-meta-group h3.tribe-events-single-section-title,
.tribe-events-single .tribe-venue-location h3 {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: #928D87 !important;
    margin-bottom: 12px !important;
    border-bottom: 1px solid rgba(28,26,23,0.10) !important;
    padding-bottom: 8px !important;
}

.tribe-events-single .tribe-event-schedule-details,
.tribe-events-single .tribe-venue-location address {
    font-size: 15px !important;
    color: #57524C !important;
    line-height: 1.7 !important;
    font-style: normal !important;
}

.tribe-events-gcal,
.tribe-events-ical {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: 'Barlow', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: #0A8799 !important;
    background: #E3F4F6 !important;
    border: none !important;
    padding: 8px 14px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    margin-right: 8px !important;
    transition: background 0.15s;
}

.tribe-events-gcal:hover,
.tribe-events-ical:hover {
    background: #C5ECF1 !important;
}


/* -----------------------------------------------------------------------------
   6. WIDGET (Sidebar / Startseite)
   ----------------------------------------------------------------------------- */

.tribe_events_list_widget .tribe-event-title a {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-weight: 700 !important;
    font-size: 17px !important;
    color: #1C1A17 !important;
    text-decoration: none !important;
}

.tribe_events_list_widget .tribe-event-title a:hover {
    color: #0A8799 !important;
}

.tribe_events_list_widget .tribe-events-schedule {
    font-size: 13px !important;
    color: #928D87 !important;
}

.widget .tribe_events_list_widget h2.tribe-events-widget-title,
.widget .tribe_mini_calendar_widget h2.tribe-events-widget-title {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-weight: 800 !important;
    font-size: 22px !important;
    color: #1C1A17 !important;
    margin-bottom: 16px !important;
}


/* -----------------------------------------------------------------------------
   7. BUTTONS
   ----------------------------------------------------------------------------- */

.tribe-events .tribe-events-calendar-list__event-details .tribe-read-more,
.tribe-events a.url {
    display: inline-flex !important;
    align-items: center !important;
    font-family: 'Barlow', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: #0A8799 !important;
    text-decoration: none !important;
    margin-top: 8px !important;
    transition: color 0.15s;
}

.tribe-events .tribe-events-calendar-list__event-details .tribe-read-more:hover {
    color: #005A6B !important;
}

.tribe-events .tribe-common-c-btn,
.tribe-events .tribe-common-c-btn-main,
.tribe-events a.tribe-events-c-subscribe-dropdown__button {
    font-family: 'Barlow', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    background: #0A8799 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 10px 20px !important;
    text-decoration: none !important;
    transition: background 0.15s !important;
    cursor: pointer !important;
}

.tribe-events .tribe-common-c-btn:hover,
.tribe-events .tribe-common-c-btn-main:hover {
    background: #077080 !important;
}


/* -----------------------------------------------------------------------------
   8. MOBILE
   ----------------------------------------------------------------------------- */

@media (max-width: 768px) {

    .tribe-events-calendar-list__event-row,
    .tribe-events .tribe-event {
        flex-direction: column !important;
        gap: 12px !important;
    }

    .tribe-events-calendar-list__event-datetime-wrapper {
        width: auto !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        background: transparent !important;
        padding: 0 !important;
    }

    .tribe-events-calendar-list__event-date-tag-daynum {
        font-size: 20px !important;
    }

    .tribe-events-single .tribe-events-single-event-title {
        font-size: 34px !important;
    }

    .tribe-events-single .tribe-events-meta-group {
        padding: 16px !important;
    }

}

/* =============================================================================
   a.l.s.o. STARTSEITE – Tablet & Handy (ergänzt 26.10.2026)
   Gilt nur für die Startseite (.elementor-3340). Kann komplett gelöscht werden,
   wenn die Abstände/Schriftgrößen später direkt in Elementor eingestellt sind.
   ============================================================================= */

/* Tablet (bis 1024 px) */
@media (max-width: 1024px) {
	/* Hero: Überschrift kleiner, Text und Bild untereinander (Richtung "Spalte" ist in Elementor für Tablet gesetzt; Abstände ebenfalls dort) */
	.elementor-3340 .elementor-element-d65c009 .heading-text,
	.elementor-3340 .elementor-element-10e2fad .heading-text { font-size: 60px !important; line-height: 1.05 !important; }
	.elementor-3340 .elementor-element-4b114d7 { flex-wrap: nowrap !important; align-items: center !important; gap: 32px !important; }
	.elementor-3340 .elementor-element-d1cb400,
	.elementor-3340 .elementor-element-766c420 { width: 100% !important; max-width: 100% !important; }
	/* Hero-Bild: Quadrat (1000 x 1000) auf feste Höhe bringen, sonst 768 px hoch */
	.elementor-3340 .elementor-element-1710a22 .swiper-slide img { width: 100% !important; height: 420px !important; object-fit: cover !important; }

	/* Leiste „Beratung · Kaufhaus · …": 5 Einträge passen nicht in eine Zeile → 3 Spalten (3 + 2) */
	.elementor-3340 .elementor-element-bf32c1f { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 24px; padding: 32px 24px !important; }
	.elementor-3340 .elementor-element-bf32c1f > .elementor-element { width: auto !important; max-width: none !important; margin: 0 !important; }
	.elementor-3340 .elementor-element-bf32c1f .elementor-widget-container { border-right: 0 !important; padding: 0 !important; }
}

/* Leiste „Fundwerk · Dienstleistungen · Beratung · Kulturcafé · Spenden": gleich breite Kacheln, oben bündig */
.elementor-3340 .elementor-element-bf32c1f .pix-feature-content { line-height: 1.4 !important; }
.elementor-3340 .elementor-element-bf32c1f .pix-feature-title { margin-bottom: 4px; }

/* Desktop (ab 1025 px): Icon über dem Text, Trennlinien über volle Höhe, ab 1400 px auf Inhaltsbreite */
@media (min-width: 1025px) {
	.elementor-3340 .elementor-element-bf32c1f { align-items: stretch !important; padding-left: max(0px, calc((100% - 1400px) / 2)) !important; padding-right: max(0px, calc((100% - 1400px) / 2)) !important; }
	.elementor-3340 .elementor-element-bf32c1f > .elementor-element { flex: 1 1 0 !important; min-width: 0; align-self: stretch !important; }
	.elementor-3340 .elementor-element-bf32c1f > .elementor-element > .elementor-widget-container { height: 100%; box-sizing: border-box; padding: 30px 24px !important; }
	.elementor-3340 .elementor-element-bf32c1f > .elementor-element:first-child > .elementor-widget-container { padding-left: 10px !important; }
	.elementor-3340 .elementor-element-bf32c1f .pix-feature-el.media { flex-direction: column; }
	.elementor-3340 .elementor-element-bf32c1f .pix-feature-icon { margin: 0 0 12px 0 !important; }
	.elementor-3340 .elementor-element-bf32c1f .pix-feature-title,
	.elementor-3340 .elementor-element-bf32c1f .pix-feature-content { overflow-wrap: break-word; hyphens: auto; }
}

/* Tablet/Handy: Kacheln oben bündig statt vertikal zentriert */
@media (max-width: 1024px) {
	.elementor-3340 .elementor-element-bf32c1f > .elementor-element { align-self: start !important; }
}

/* Handy (bis 767 px) */
@media (max-width: 767px) {
	/* Hero: Überschrift handytauglich, Text und Bild untereinander */
	.elementor-3340 .elementor-element-d65c009 .heading-text,
	.elementor-3340 .elementor-element-10e2fad .heading-text { font-size: clamp(44px, 13vw, 54px) !important; line-height: 1.05 !important; }
	/* zweite Zeile ist auf dem Desktop mit −17 px an die erste herangezogen – bei 44 px würden sie sich überlappen */
	.elementor-3340 .elementor-element-10e2fad .elementor-widget-container { margin-top: 0 !important; }
	.elementor-3340 .elementor-element-4b114d7 { flex-wrap: wrap !important; gap: 24px !important; }
	.elementor-3340 .elementor-element-d1cb400,
	.elementor-3340 .elementor-element-766c420 { width: 100% !important; max-width: 100% !important; }

	/* Leiste „Beratung · Kaufhaus · Kulturcafé · Spenden": eine Spalte, ohne Trennlinien vom Desktop.
	   Auf dem Desktop überlappt die Leiste das Hero-Bild (−130 px) – auf dem Handy würde das Bild sie verdecken. */
	.elementor-3340 .elementor-element-bf32c1f { margin-top: 0 !important; display: grid !important; grid-template-columns: 1fr; gap: 20px; padding: 32px 20px !important; }
	.elementor-3340 .elementor-element-bf32c1f > .elementor-element { width: auto !important; max-width: none !important; margin: 0 !important; }
	.elementor-3340 .elementor-element-bf32c1f .elementor-widget-container { border-right: 0 !important; padding: 0 !important; }

	/* „Wir helfen …" und „Drei Wege …": Seitenrand, Einleitungstext volle Breite */
	.elementor-3340 .elementor-element-e906ac8,
	.elementor-3340 .elementor-element-58e49ae { padding-left: 16px !important; padding-right: 16px !important; }
	.elementor-3340 .elementor-element-501a598 { width: 100% !important; max-width: 100% !important; }
}


/* =============================================================================
   Sticky Footer nur auf Seiten – bei Beiträgen (Termine, Blog) und der 404-Seite normal unter dem
   Inhalt. pixfort reserviert den Platz für den festen Footer erst beim Scrollen,
   vorher ist er hinter dem Inhalt versteckt. (ergänzt 26.10.2026)
   ============================================================================= */
body:is(.single, .error404) .pix-sticky-footer,
body:is(.single, .error404) .pix-sticky-footer.pix-sticky-footer-style { position: relative !important; bottom: auto !important; opacity: 1 !important; z-index: auto !important; }
body:is(.single, .error404) .pix-footer-sticky-placeholder { display: none !important; height: 0 !important; }
/* Farbverlauf-Ebene, die beim Sticky Footer den Footer „aufdeckt" – ohne Sticky Footer würde sie die Footer-Leiste überdecken */
body:is(.single, .error404) .pix-footer-overlay { display: none !important; }
/* Beiträge immer mindestens bildschirmhoch (inkl. Header und Footer): der graue Inhaltsbereich
   wächst mit, der Footer endet unten am Bildschirm. Die Admin-Leiste (nur eingeloggt) wird abgezogen. */
body:is(.single, .error404) { display: flex; flex-direction: column; min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px)); }
body:is(.single, .error404) > .site { flex: 1 0 auto; width: 100%; display: flex; flex-direction: column; }
body:is(.single, .error404) > .site > .site-content { flex: 1 0 auto; }

/* Beiträge (Termine, Blog) so breit wie Header, Footer und Seiten: 1400 px statt 1140 px (ergänzt 26.10.2026) */
body.single .site-content > .container,
body.error404 .site-content > .container,
body.single .pix-intro-container,
body.error404 .pix-intro-container { max-width: 1400px; }


/* =============================================================================
   404-Seite (Seite „404-Seite“, Inhalt im Block-Editor) – ergänzt 26.10.2026
   ============================================================================= */
.also-404 { max-width: 820px; padding: 48px 0 24px; font-family: "Barlow", sans-serif; }
.also-404__eyebrow { display: flex; align-items: center; gap: 14px; margin: 0 0 10px; font-family: "Barlow Condensed", sans-serif; font-weight: 800; font-size: 16px; letter-spacing: 1.5px; text-transform: uppercase; color: #bbdae4; }
.also-404__eyebrow::before { content: ""; width: 44px; height: 2.5px; background: #bbdae4; }
.also-404__title { margin: 0 0 18px; font-family: "Barlow Condensed", sans-serif; font-weight: 800; font-size: 48px; line-height: 1.15; color: #212529; }
.also-404__lead, .also-404__contact { font-size: 18px; line-height: 1.6; color: #212529; }
.also-404__buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 32px; }
.also-404__buttons .btn { padding: 12px 28px; border-radius: 8px; font-size: 16px; text-transform: uppercase; text-decoration: none !important; }
.also-404__buttons .btn-outline-primary { background: transparent; border: 2px solid #008fa5; color: #008fa5 !important; }
.also-404__buttons .btn-outline-primary:hover { background: #008fa5; color: #fff !important; }
.also-404__contact a { color: #008fa5; font-weight: 800; }
.also-404__subtitle { margin: 56px 0 24px; padding-top: 40px; border-top: 2px solid rgba(0, 88, 102, 0.34); font-family: "Barlow Condensed", sans-serif; font-weight: 800; font-size: 34px; color: #212529; }
@media (max-width: 767px) {
	.also-404 { padding-top: 24px; }
	.also-404__title { font-size: 34px; }
	.also-404__subtitle { font-size: 28px; }
	.also-404__buttons .btn { flex: 1 1 100%; justify-content: center; }
}

/* 404-Seite ohne Page-Header (Intro mit Hintergrund) */
body.error404 .pix-main-intro { display: none !important; }

/* Veranstaltungsliste (Plugin also-events): kompaktere Zeilenhöhen */
.also-row__title { line-height: 1.25 !important; margin-bottom: 6px !important; }
.also-row__text { line-height: 1.5 !important; }
.also-row__hint { line-height: 1.45 !important; margin-top: 6px !important; }

/* „Drei Wege, uns zu helfen": Buttons in allen drei Karten unten bündig */
.elementor-3340 :is(.elementor-element-d38c431, .elementor-element-f9aab4c, .elementor-element-f580e6e) > .elementor-element { flex-grow: 0 !important; }
.elementor-3340 :is(.elementor-element-d38c431, .elementor-element-f9aab4c, .elementor-element-f580e6e) > .elementor-widget-pix-feature + .elementor-widget-pix-button { margin-top: auto !important; padding-top: 20px; }
.elementor-3340 .elementor-element-f9aab4c > .elementor-widget-pix-button + .elementor-widget-pix-button { margin-top: 12px !important; }

/* Kontakt & Anfahrt (Startseite): Formular (CF7), Kontaktdaten, Karte */
.also-cf p { margin: 0 0 18px; }
.also-cf__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
.also-cf label { display: block; font-weight: 600; color: #212529; }
.also-cf .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.also-cf .form-control { width: 100% !important; max-width: none; height: auto; padding: 12px 16px !important; border: 1px solid #dfe5e8 !important; border-radius: 6px !important; background: #fff; box-shadow: none !important; font-size: 16px; }
.also-cf .form-control:focus { border-color: #008fa5 !important; outline: none; box-shadow: 0 0 0 3px rgba(0, 143, 165, .15) !important; }
.also-cf textarea.form-control { min-height: 160px; }
.also-cf select.form-control { -webkit-appearance: none; appearance: none; text-indent: 0 !important; line-height: 28.8px !important; padding-right: 44px !important; background: #fff 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 1l5 5 5-5' fill='none' stroke='%23212529' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center !important; cursor: pointer; }
.also-cf__privacy, .also-cf__privacy label { font-weight: 400; font-size: 15px; line-height: 1.5; }
.also-cf p.also-cf__privacy { margin-bottom: 24px !important; }
.also-cf__privacy .wpcf7-list-item { margin: 0; }
.also-cf__privacy input[type="checkbox"] { margin-right: 8px; }
.also-cf .wpcf7-submit { padding: 12px 28px !important; font-weight: 700; text-transform: uppercase; border-radius: 6px; }
.also-cf .wpcf7-submit:disabled { opacity: .5; }
.also-kontakt-info p { margin-bottom: 20px; }
.also-kontakt-info strong { color: #212529; }
.also-anfahrt-karte, .also-anfahrt-karte a { display: block; width: 100%; }
.also-anfahrt-karte img { width: 100% !important; height: 420px !important; object-fit: cover; border-radius: 12px; }
.also-anfahrt-quelle p { margin: 0; font-size: 13px; color: #6c757d; }
/* Karte in Website-Farben: graustufig, Petrol-Ton, oranger Marker (deckt den OSM-Marker ab) */
.also-anfahrt-karte a { position: relative; overflow: hidden; border-radius: 12px; }
.also-anfahrt-karte img { object-position: 50% 45%; filter: grayscale(1) contrast(.85) brightness(1.1); }
.also-anfahrt-karte a::after { content: ""; position: absolute; inset: 0; background: #008fa5; mix-blend-mode: color; opacity: .4; pointer-events: none; }
.also-anfahrt-karte a::before { content: ""; position: absolute; left: 50%; top: 48%; width: 36px; height: 48px; transform: translate(-50%, -100%); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='48' viewBox='0 0 36 48'%3E%3Cpath d='M18 0C8.1 0 0 8.1 0 18c0 13.5 18 30 18 30s18-16.5 18-30C36 8.1 27.9 0 18 0z' fill='%23ff9900'/%3E%3Ccircle cx='18' cy='18' r='7' fill='%23fff'/%3E%3C/svg%3E") no-repeat center / contain; z-index: 2; filter: drop-shadow(0 2px 4px rgba(0,0,0,.3)); pointer-events: none; }
@media (max-width: 767px) {
	.also-cf__row { grid-template-columns: 1fr; }
	.also-anfahrt-karte img { height: 280px !important; }
}


/* === Farbkonzept (Startseite, ID 3340; übernommen von Farbkonzept-Vorschau ID 15125 am 04.11.2026) === */

/* Primärbuttons: #007A98, Hover #006A7A */
.page-id-3340 .btn-primary,
.page-id-3340 .also-button,
.page-id-3340 .also-team__act,
.page-id-3340 .also-team__btn {
  background-color: #007A98 !important;
  border-color: #007A98 !important;
  color: #fff !important;
}
.page-id-3340 .btn-primary:hover,
.page-id-3340 .also-button:hover,
.page-id-3340 .also-team__act:hover,
.page-id-3340 .also-team__btn:hover {
  background-color: #006A7A !important;
  border-color: #006A7A !important;
}

/* "Alle Termine ansehen" nicht volle Breite */
.page-id-3340 .also-list--events .also-button {
  display: inline-flex !important;
  width: auto !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}

/* Team: "Anrufen" als weißer Button */
.page-id-3340 .also-team__act--tel {
  background-color: #fff !important;
  color: #007A98 !important;
  border: 1px solid #007A98 !important;
}
.page-id-3340 .also-team__act--tel:hover {
  background-color: #007A98 !important;
  color: #fff !important;
}

/* Bereichs-Kacheln: Verlauf hell -> dunkel */
.page-id-3340 #fundwerk .card-title        { color: #007A98 !important; }
.page-id-3340 #fundwerk .card-footer       { background-color: #007A98 !important; }
.page-id-3340 #dienstleistungen .card-title  { color: #006E86 !important; }
.page-id-3340 #dienstleistungen .card-footer { background-color: #006E86 !important; }
.page-id-3340 #treffpunkte .card-title     { color: #006175 !important; }
.page-id-3340 #treffpunkte .card-footer    { background-color: #006175 !important; }
.page-id-3340 #beratung .card-title        { color: #005463 !important; }
.page-id-3340 #beratung .card-footer       { background-color: #005463 !important; }
.page-id-3340 #kulturcafe .card-title      { color: #004752 !important; }
.page-id-3340 #kulturcafe .card-footer     { background-color: #004752 !important; }

/* Newsletter-Boxen in der Farbe der passenden Kachel */
.page-id-3340 .elementor-element-4084ff2 { background-color: #006175 !important; }
.page-id-3340 .elementor-element-ebc71c4 .btn { background-color: #fff !important; color: #006175 !important; }
.page-id-3340 .elementor-element-a5d8ec2 { background-color: #004752 !important; }
.page-id-3340 .elementor-element-6833a5e .btn { background-color: #fff !important; color: #004752 !important; }

/* Nebenbutton Beitrittserklärung */
.page-id-3340 .elementor-element-b6d1097 .btn { background-color: #BBDAE4 !important; color: #005866 !important; }

/* Ehrenamt-Karte: Oberkante Teal statt Grün */
.page-id-3340 .elementor-element-f580e6e { border-top-color: #007A98 !important; }


/* Anker-Offset: Sprungziele nicht unter dem fixen Header verstecken */
#fundwerk,
#dienstleistungen,
#treffpunkte,
#beratung,
#kulturcafe,
#newsletter,
#stellen,
#spendenkonto {
  scroll-margin-top: 100px;
}


/* Circles rund: Bilder nicht zusammenstauchen, immer quadratisch zuschneiden */
.elementor-widget-pix-circles .circle-item { flex-shrink: 0 !important; }
.elementor-widget-pix-circles .circle-item img {
  max-width: none !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center 20%;
}


/* Stage-Leiste (Startseite + Farbkonzept-Seite) */
/* Tablet: 2 Spalten, "Jetzt spenden" volle Breite */
@media (min-width: 768px) and (max-width: 1024px) {
  :is(.elementor-element-bf32c1f, .elementor-element-1f60a84) { flex-wrap: wrap !important; align-items: stretch !important; justify-content: flex-start !important; }
  :is(.elementor-element-bf32c1f, .elementor-element-1f60a84) > .elementor-widget-pix-feature { flex: 0 0 50% !important; width: 50% !important; max-width: 50% !important; margin: 0 !important; align-self: stretch !important; }
  :is(.elementor-element-bf32c1f, .elementor-element-1f60a84) > .elementor-widget-pix-feature:nth-child(5 of .elementor-widget-pix-feature) { flex-basis: 100% !important; width: 100% !important; max-width: 100% !important; }
  :is(.elementor-element-bf32c1f, .elementor-element-1f60a84) > .elementor-widget-pix-feature > .elementor-widget-container { height: 100%; box-sizing: border-box; padding: 28px 24px !important; margin: 0 !important; border: 0 !important; }
  :is(.elementor-element-bf32c1f, .elementor-element-1f60a84) > .elementor-widget-pix-feature:nth-child(1 of .elementor-widget-pix-feature) > .elementor-widget-container,
  :is(.elementor-element-bf32c1f, .elementor-element-1f60a84) > .elementor-widget-pix-feature:nth-child(3 of .elementor-widget-pix-feature) > .elementor-widget-container { border-right: 1px solid rgba(187, 218, 228, .5) !important; }
  :is(.elementor-element-bf32c1f, .elementor-element-1f60a84) > .elementor-widget-pix-feature:nth-child(3 of .elementor-widget-pix-feature) > .elementor-widget-container,
  :is(.elementor-element-bf32c1f, .elementor-element-1f60a84) > .elementor-widget-pix-feature:nth-child(4 of .elementor-widget-pix-feature) > .elementor-widget-container,
  :is(.elementor-element-bf32c1f, .elementor-element-1f60a84) > .elementor-widget-pix-feature:nth-child(5 of .elementor-widget-pix-feature) > .elementor-widget-container { border-top: 1px solid rgba(187, 218, 228, .5) !important; }
}
/* Mobil: linksbündige Liste mit Trennlinien */
@media (max-width: 767px) {
  :is(.elementor-element-bf32c1f, .elementor-element-1f60a84) { flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch !important; justify-content: flex-start !important; padding: 8px 0 !important; }
  :is(.elementor-element-bf32c1f, .elementor-element-1f60a84) > .elementor-widget-pix-feature { flex: 0 0 auto !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; align-self: stretch !important; }
  :is(.elementor-element-bf32c1f, .elementor-element-1f60a84) > .elementor-widget-pix-feature > .elementor-widget-container { padding: 18px 20px !important; margin: 0 !important; border: 0 !important; border-bottom: 1px solid rgba(187, 218, 228, .5) !important; text-align: left !important; }
  :is(.elementor-element-bf32c1f, .elementor-element-1f60a84) > .elementor-widget-pix-feature:nth-child(5 of .elementor-widget-pix-feature) > .elementor-widget-container { border-bottom: 0 !important; }
  :is(.elementor-element-bf32c1f, .elementor-element-1f60a84) > .elementor-widget-pix-feature .pix-feature-el { justify-content: flex-start !important; }
  :is(.elementor-element-bf32c1f, .elementor-element-1f60a84) > .elementor-widget-pix-feature .pix-feature-icon { width: 32px; flex: 0 0 32px; justify-content: center; }
}


/* Stage-Leiste nicht unter das Bild schieben (Desktop-Überlappung -130px nur ab 1025px) */
@media (min-width: 768px) and (max-width: 1024px) {
  :is(.elementor-element-bf32c1f, .elementor-element-1f60a84) { margin-top: -100px !important; }
}
@media (max-width: 767px) {
  :is(.elementor-element-bf32c1f, .elementor-element-1f60a84) { margin-top: 0 !important; }
}

/* =============================================================================
   3. Hauptmenü: Zwischengröße 1024–1199px, Menüpunkte einzeilig halten
   ============================================================================= */

@media (min-width: 1024px) and (max-width: 1199.98px) {
    header .navbar-nav > li.nav-item {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
    header .navbar-nav > li.nav-item > a.pix-nav-link {
        font-size: 15px !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
        white-space: nowrap;
    }
}

/* =============================================================================
   4. Blogbeiträge: Autor (Admin-Benutzername), Autorenbox und Teilen-Buttons ausblenden
   ============================================================================= */

.pix-post-meta-author > a {
    display: none !important;
}

.single-post .entry-footer,
.single-post .pix_post_social {
    display: none !important;
}

/* Mehr Abstand zwischen Kopfbereich und Beitragsbild/Seitenleiste */
.single-post .site-content {
    padding-top: 50px !important;
}

/* =============================================================================
   5. Blog-Seitenleiste: kompakte Darstellung der Widgets
   ============================================================================= */

#secondary .wp-block-heading {
    font-size: 22px;
    line-height: 1.25;
    margin: 0 0 12px;
}

#secondary .widget + .widget {
    margin-top: 32px;
}

/* Kommende Termine: nur Datum, Titel und Kurztext */
#secondary .also-row {
    display: grid !important;
    grid-template-columns: 58px 1fr !important;
    gap: 12px !important;
    align-items: start;
    padding: 12px 0 !important;
}

#secondary .also-row__media,
#secondary .also-row__hint {
    display: none !important;
}

#secondary .also-box {
    width: 58px !important;
    min-width: 0 !important;
    padding: 6px 4px !important;
}

#secondary .also-box__big {
    font-size: 24px !important;
    line-height: 1.1 !important;
}

#secondary .also-box__small {
    font-size: 10px !important;
}

#secondary .also-row__title {
    font-size: 16px !important;
    line-height: 1.3 !important;
    margin: 0 0 4px !important;
}

#secondary .also-row__text {
    font-size: 14px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Neueste Beiträge */
#secondary .wp-block-latest-posts {
    padding-left: 0;
    list-style: none;
}

#secondary .wp-block-latest-posts li {
    margin-bottom: 10px;
}

#secondary .wp-block-latest-posts__post-date {
    font-size: 13px;
    opacity: .7;
}

/* Newsletter-Boxen (wie auf der Startseite) */
#secondary .also-nl-boxes {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#secondary .also-nl-box {
    background: #006175;
    border-radius: 5px;
    overflow: hidden;
    color: #fff;
}

#secondary .also-nl-img {
    display: block;
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 5px 5px 0 0;
    margin: 0;
}

#secondary .also-nl-body {
    padding: 30px 30px 25px;
}

#secondary .also-nl-kicker {
    margin: 0 0 4px;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    line-height: 1.5;
    color: #fff;
}

#secondary .also-nl-box:first-child .also-nl-kicker-nt {
    text-transform: none;
}

#secondary .also-nl-title {
    margin: 0 0 8px;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.28;
    letter-spacing: -0.1px;
    color: #fff;
}

#secondary .also-nl-text {
    margin: 0 0 20px;
    font-family: "Barlow", sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #fff;
}

#secondary .also-nl-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    background: #fff;
    color: #006175 !important;
    border-radius: 5px;
    padding: 6px 20px;
    min-height: 37px;
    font-family: "Barlow", sans-serif;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
}

#secondary .also-nl-btn:hover {
    background: rgba(255, 255, 255, .88);
}

/* Zweite Box (Newsletter Kulturcafé) dunkler, wie auf der Startseite */
#secondary .also-nl-box:nth-child(2) {
    background: #004752;
}

#secondary .also-nl-box:nth-child(2) .also-nl-btn {
    color: #004752 !important;
}

/* =============================================================================
   6. Termine-Seite: seitlicher Abstand, solange der Inhalt schmaler als der Container ist
   ============================================================================= */

@media (max-width: 1439.98px) {
    .elementor-14595 .elementor-element-5572871 {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}


/* =============================================================================
   7. QA-Fixes (Nov 2026)
   ============================================================================= */

/* Startseite Hero-Slider: Pfeile liegen standardmäßig 80px außerhalb des Bildes.
   Unter 1680px würde der rechte Pfeil aus dem Bildschirm rutschen -> Pfeile ins Bild. */
@media (max-width: 1679.98px) {
    .elementor-element-1710a22 .pixfort-button-prev {
        left: 20px !important;
        right: auto !important;
    }
    .elementor-element-1710a22 .pixfort-button-next {
        right: 20px !important;
        left: auto !important;
    }
    /* Auf dem Foto etwas Kontrast für die Pfeile */
    .elementor-element-1710a22 .pixfort-button-prev,
    .elementor-element-1710a22 .pixfort-button-next {
        background-color: rgba(0, 0, 0, .35) !important;
        border-radius: 50%;
    }
}

/* Startseite "Arbeiten bei a.l.s.o.": Textspalte darf schrumpfen,
   damit der Button "Initiativ bewerben" nicht rechts abgeschnitten wird */
@media (min-width: 768px) {
    .elementor-element-fc2bc0f > .elementor-element-fdb41df {
        flex: 1 1 0%;
        min-width: 0;
    }
    .elementor-element-fc2bc0f > .elementor-element-7c764f8 {
        max-width: 100%;
    }
}

/* Lange URLs in Fließtexten (z. B. Datenschutz) umbrechen statt abschneiden */
.elementor-widget-text-editor a,
.pix-el-text a,
.entry-content a {
    overflow-wrap: anywhere;
}

/* Startseite Hero: Team-Fotos neben den Buttons nicht klickbar */
.elementor-element-d80c3f7 a.circle-item {
    pointer-events: none;
    cursor: default;
}

/* Startseite Hero: Slider-Bild ragte 10px über die Leistungsleiste (negativer Außenabstand) */
@media (min-width: 1025px) {
    .elementor-3340 .elementor-element-4b114d7 {
        margin-bottom: 0 !important;
    }
}

/* Startseite: Team-Bereich vorerst ausgeblendet (inkl. Menüpunkt "Team") */
.elementor-3340 .elementor-element-299a11f {
    display: none !important;
}
#menu-item-14959,
.menu-item-14959 {
    display: none !important;
}
