.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );}.elementor-319545 .elementor-element.elementor-element-349db90{--grid-columns:1;}.elementor-319545 .elementor-element.elementor-element-349db90 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-319545 .elementor-element.elementor-element-349db90.elementor-element{--align-self:flex-start;}.elementor-319545 .elementor-element.elementor-element-349db90 .elementor-pagination{text-align:center;font-family:var( --e-global-typography-primary-font-family ), outfit;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-319545 .elementor-element.elementor-element-349db90 .elementor-pagination .page-numbers:not(.dots){color:var( --e-global-color-1ba0c4e );}body:not(.rtl) .elementor-319545 .elementor-element.elementor-element-349db90 .elementor-pagination .page-numbers:not(:first-child){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-319545 .elementor-element.elementor-element-349db90 .elementor-pagination .page-numbers:not(:last-child){margin-right:calc( 10px/2 );}body.rtl .elementor-319545 .elementor-element.elementor-element-349db90 .elementor-pagination .page-numbers:not(:first-child){margin-right:calc( 10px/2 );}body.rtl .elementor-319545 .elementor-element.elementor-element-349db90 .elementor-pagination .page-numbers:not(:last-child){margin-left:calc( 10px/2 );}.elementor-319545 .elementor-element.elementor-element-2ddb596{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--gap:48px 48px;--row-gap:48px;--column-gap:48px;--grid-auto-flow:row;}.elementor-319545 .elementor-element.elementor-element-ede5b2e{--grid-columns:5;--grid-row-gap:110px;}.elementor-319545 .elementor-element.elementor-element-ede5b2e > .elementor-widget-container{padding:0px 0px 32px 0px;}.elementor-319545 .elementor-element.elementor-element-ede5b2e .elementor-loop-container{grid-auto-rows:1fr;}.elementor-319545 .elementor-element.elementor-element-ede5b2e .e-loop-item > .elementor-section, .elementor-319545 .elementor-element.elementor-element-ede5b2e .e-loop-item > .elementor-section > .elementor-container, .elementor-319545 .elementor-element.elementor-element-ede5b2e .e-loop-item > .e-con, .elementor-319545 .elementor-element.elementor-element-ede5b2e .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-319545 .elementor-element.elementor-element-725eb0a{--grid-columns:3;}.elementor-widget-hotspot .widget-image-caption{color:var( --e-global-color-text );}.elementor-widget-hotspot{--hotspot-color:var( --e-global-color-primary );--hotspot-box-color:var( --e-global-color-secondary );--tooltip-color:var( --e-global-color-secondary );}.elementor-319545 .elementor-element.elementor-element-8b6824c .elementor-repeater-item-ff12956{--hotspot-min-width:116px;--hotspot-min-height:39px;left:70%;--hotspot-translate-x:70%;top:25.25%;--hotspot-translate-y:25.25%;}.elementor-319545 .elementor-element.elementor-element-8b6824c .elementor-repeater-item-bf68f04{--hotspot-min-width:116px;--hotspot-min-height:39px;left:13.5%;--hotspot-translate-x:13.5%;top:42%;--hotspot-translate-y:42%;}.elementor-319545 .elementor-element.elementor-element-8b6824c .elementor-repeater-item-a6a5242{--hotspot-min-width:116px;--hotspot-min-height:39px;left:70.5%;--hotspot-translate-x:70.5%;top:62.5%;--hotspot-translate-y:62.5%;}.elementor-319545 .elementor-element.elementor-element-8b6824c .elementor-repeater-item-edeb547{--hotspot-min-width:116px;--hotspot-min-height:39px;left:11.5%;--hotspot-translate-x:11.5%;top:83%;--hotspot-translate-y:83%;}.elementor-319545 .elementor-element.elementor-element-8b6824c .elementor-repeater-item-32a7f39{--hotspot-min-width:116px;--hotspot-min-height:39px;left:90.5%;--hotspot-translate-x:90.5%;top:81.5%;--hotspot-translate-y:81.5%;}.elementor-319545 .elementor-element.elementor-element-8b6824c .elementor-repeater-item-8b91ef7{--hotspot-min-width:116px;--hotspot-min-height:39px;left:46.5%;--hotspot-translate-x:46.5%;top:98.5%;--hotspot-translate-y:98.5%;}.elementor-319545 .elementor-element.elementor-element-8b6824c .e-hotspot--tooltip-position{right:initial;bottom:initial;left:initial;top:calc(100% + 5px );}.elementor-319545 .elementor-element.elementor-element-8b6824c{--hotspot-color:#FFFFFF;--hotspot-size:14px;--hotspot-min-width:0px;--hotspot-min-height:0px;--hotspot-box-color:var( --e-global-color-primary );--hotspot-padding:0px;--hotspot-border-radius:79px 79px 79px 79px;}.elementor-319545 .elementor-element.elementor-element-8b6824c .e-hotspot__label{font-family:"Outfit", outfit;}.elementor-319545 .elementor-element.elementor-element-9c025e3{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(3, 1fr);--grid-auto-flow:row;}.elementor-319545 .elementor-element.elementor-element-4ea98a1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:1024px) and (min-width:768px){.elementor-319545 .elementor-element.elementor-element-2ddb596{--content-width:500px;}}@media(min-width:2400px){.elementor-319545 .elementor-element.elementor-element-2ddb596{--grid-auto-flow:row;}.elementor-319545 .elementor-element.elementor-element-9c025e3{--grid-auto-flow:row;}}@media(max-width:1024px){.elementor-319545 .elementor-element.elementor-element-349db90{--grid-columns:2;}.elementor-319545 .elementor-element.elementor-element-2ddb596{--min-height:0px;--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-319545 .elementor-element.elementor-element-ede5b2e{--grid-columns:5;--grid-row-gap:16px;--grid-column-gap:16px;}.elementor-319545 .elementor-element.elementor-element-725eb0a{--grid-columns:2;}.elementor-319545 .elementor-element.elementor-element-9c025e3{--gap:32px 32px;--row-gap:32px;--column-gap:32px;--grid-auto-flow:row;}}@media(max-width:880px){.elementor-319545 .elementor-element.elementor-element-2ddb596{--grid-auto-flow:row;}.elementor-319545 .elementor-element.elementor-element-9c025e3{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-319545 .elementor-element.elementor-element-349db90{--grid-columns:1;}.elementor-319545 .elementor-element.elementor-element-349db90 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-319545 .elementor-element.elementor-element-2ddb596{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-319545 .elementor-element.elementor-element-ede5b2e{--grid-columns:3;--grid-row-gap:16px;--grid-column-gap:16px;}.elementor-319545 .elementor-element.elementor-element-ede5b2e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-319545 .elementor-element.elementor-element-725eb0a{--grid-columns:3;--grid-row-gap:-100px;--grid-column-gap:8px;}.elementor-319545 .elementor-element.elementor-element-9c025e3{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for loop-grid, class: .elementor-element-349db90 *//* In Elementor → Erweitert → Custom CSS des Buttons ODER
   im WordPress Customizer → Zusätzliches CSS */
a.elementor-button[href="https://heukelbach.org/bauen"] {
  pointer-events: auto !important;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-ede5b2e *//* FIX: Elementor-<style>-Tag aus Grid-Flow entfernen */
#mitarbeiter-loop-grid .elementor-loop-container > style {
    display: none !important;
}

/* ====================================================
   MITARBEITER POPUP – SPALTEN 4 & 5 SONDERREGEL
   Popup öffnet nach links statt nach rechts.

   Hinweis: Der nth-child-Zähler im Loop-Container
   ist durch ein vorgelagertes Element (z.B. Nav) um
   +1 verschoben. Deshalb:
     :nth-child(5n)   → trifft Spalte 4 jeder Zeile
     :nth-child(5n+1) → trifft Spalte 5 jeder Zeile
   ==================================================== */

@media (min-width: 768px) {

    /* ── 1. Popup horizontaler Versatz: -8px → -408px ─── */
    .elementor-loop-container .e-loop-item:nth-child(5n) .Mitarbeiter-pop-up,
    .elementor-loop-container .e-loop-item:nth-child(5n+1) .Mitarbeiter-pop-up {
        left: -408px !important;
        right: auto !important;
    }

    /* ── 1b. Tablet: Popup horizontaler Versatz -440px ── */
    @media (max-width: 1024px) {
        .elementor-loop-container .e-loop-item:nth-child(5n) .Mitarbeiter-pop-up,
        .elementor-loop-container .e-loop-item:nth-child(5n+1) .Mitarbeiter-pop-up {
            left: -440px !important;
        }
    }

    /* ── 2. Reihenfolge: .right VOR .left ─────────────── */
    .elementor-loop-container .e-loop-item:nth-child(5n) .Mitarbeiter-pop-up .right,
    .elementor-loop-container .e-loop-item:nth-child(5n+1) .Mitarbeiter-pop-up .right {
        order: -1 !important;
    }

    .elementor-loop-container .e-loop-item:nth-child(5n) .Mitarbeiter-pop-up .left,
    .elementor-loop-container .e-loop-item:nth-child(5n+1) .Mitarbeiter-pop-up .left {
        order: 0 !important;
    }

    /* ── 3a. Border-Radius .right → komplett 0 ──────── */
    .elementor-loop-container .e-loop-item:nth-child(5n) .Mitarbeiter-pop-up .right,
    .elementor-loop-container .e-loop-item:nth-child(5n+1) .Mitarbeiter-pop-up .right {
        border-radius: 0 !important;
    }

    /* ── 3b. Border-Radius .left → 125px oben rechts ─── */
    .elementor-loop-container .e-loop-item:nth-child(5n) .Mitarbeiter-pop-up .left,
    .elementor-loop-container .e-loop-item:nth-child(5n+1) .Mitarbeiter-pop-up .left {
        border-top-right-radius: 125px !important;
        border-top-left-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
        border-bottom-left-radius: 0 !important;
    }

} /* Ende @media (min-width: 768px) *//* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-725eb0a *//* ====================================================
   MITARBEITER LOOP MOBIL – SLIDER
   3 Spalten x 3 Zeilen pro Slide
   NUR für Smartphone (max-width: 767px)
   ==================================================== */

@media (max-width: 767px) {

    /* ── 1. Wrapper positionieren ─────────────────────── */
    #mitarbeiter-loop-mobil {
        position: relative;
        padding-top: 70px !important;
    }

    #mitarbeiter-loop-mobil .elementor-widget-container {
        position: relative;
    }

    /* ── 2. Grid-Layout: 3 Spalten, Zeilen frei ──────── */
    #mitarbeiter-loop-mobil .elementor-loop-container {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        grid-template-rows: none !important;        /* Elementor-Limit aufheben */
        grid-auto-rows: auto !important;
        align-items: stretch !important;
        /* CSS-Variablen überschreiben */
        --e-con-grid-template-rows: none !important;
        --e-con-grid-template-columns: repeat(3, 1fr) !important;
        --grid-columns: 3 !important;
    }

    /* ── 3. Elementor-Pagination verstecken ──────────── */
    #mitarbeiter-loop-mobil .elementor-pagination {
        display: none !important;
    }

    /* ── 4. style-Tag aus Grid-Flow entfernen ─────────── */
    #mitarbeiter-loop-mobil .elementor-loop-container > style {
        display: none !important;
    }

    /* ── 5. Navigations-Pfeile ───────────────────────── */
    .custom-grid-navigation-mobil {
        display: flex;
        gap: 16px;
        justify-content: flex-end;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 10;
    }

    .custom-grid-navigation-mobil button {
        background: #E5FE77;
        color: #1C6155;
        border: none;
        border-radius: 50%;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: all 0.3s ease;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }

    .custom-grid-navigation-mobil button:hover:not(:disabled) {
        background: #F0FEAE;
        transform: scale(1.05);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .custom-grid-navigation-mobil button:active:not(:disabled) {
        transform: scale(0.95);
    }

    .custom-grid-navigation-mobil button:disabled {
        opacity: 0.3;
        cursor: not-allowed;
        background: #cccccc;
    }

    .custom-grid-navigation-mobil svg {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        min-height: 20px !important;
        max-width: 20px !important;
        max-height: 20px !important;
    }

    .custom-grid-navigation-mobil button svg path {
        stroke-width: 2.5;
    }

    /* ── 6. Scroll-Punkte ─────────────────────────────── */
    .scroll-indicators-mobil {
        display: flex;
        justify-content: center;
        gap: 8px;
        margin-top: 24px;
    }

    .scroll-indicators-mobil .scroll-indicator-mobil {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background-color: #1C6155;
        transition: all 0.3s ease;
        cursor: pointer;
    }

    .scroll-indicators-mobil .scroll-indicator-mobil.active {
        background-color: #E5FE77;
        transform: scale(1.25);
    }

    /* ── 7. Fade-In Animation ────────────────────────── */
    @keyframes fadeInMobil {
        from { opacity: 0; transform: translateY(10px); }
        to   { opacity: 1; transform: translateY(0); }
    }

} /* Ende @media (max-width: 767px) *//* End custom CSS */