.elementor-3049 .elementor-element.elementor-element-bfc494d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-3049 .elementor-element.elementor-element-bfa0c7d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3049 .elementor-element.elementor-element-955ddec .jet-listing-dynamic-image{justify-content:flex-start;}.elementor-3049 .elementor-element.elementor-element-955ddec .jet-listing-dynamic-image__figure{align-items:flex-start;}.elementor-3049 .elementor-element.elementor-element-955ddec .jet-listing-dynamic-image a{display:flex;justify-content:flex-start;}.elementor-3049 .elementor-element.elementor-element-955ddec .jet-listing-dynamic-image__caption{text-align:left;}.elementor-3049 .elementor-element.elementor-element-b317c22{--display:flex;--gap:5px 5px;--row-gap:5px;--column-gap:5px;}.elementor-3049 .elementor-element.elementor-element-b317c22:not(.elementor-motion-effects-element-type-background), .elementor-3049 .elementor-element.elementor-element-b317c22 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-0b5617b );}.elementor-widget-heading .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-3049 .elementor-element.elementor-element-abd8a51 > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-3049 .elementor-element.elementor-element-abd8a51 .elementor-heading-title{font-size:20px;font-weight:600;}.elementor-3049 .elementor-element.elementor-element-7174dbf{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3049 .elementor-element.elementor-element-1e69967{width:var( --container-widget-width, 160px );max-width:160px;--container-widget-width:160px;--container-widget-flex-grow:0;}.elementor-3049 .elementor-element.elementor-element-8337dd3 .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap{width:auto;}.elementor-3049 .elementor-element.elementor-element-8337dd3 .jet-listing-dynamic-field .jet-listing-dynamic-field__content{width:auto;}.elementor-3049 .elementor-element.elementor-element-8337dd3 .jet-listing-dynamic-field{justify-content:flex-start;}.elementor-3049 .elementor-element.elementor-element-8337dd3 .jet-listing-dynamic-field__content{text-align:left;}.elementor-3049 .elementor-element.elementor-element-3440fe4{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3049 .elementor-element.elementor-element-b8fc6bf{width:var( --container-widget-width, 160px );max-width:160px;--container-widget-width:160px;--container-widget-flex-grow:0;}.elementor-3049 .elementor-element.elementor-element-abee77c .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap{width:auto;}.elementor-3049 .elementor-element.elementor-element-abee77c .jet-listing-dynamic-field .jet-listing-dynamic-field__content{width:auto;}.elementor-3049 .elementor-element.elementor-element-abee77c .jet-listing-dynamic-field{justify-content:flex-start;}.elementor-3049 .elementor-element.elementor-element-abee77c .jet-listing-dynamic-field__content{text-align:left;}.elementor-3049 .elementor-element.elementor-element-4d61537{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3049 .elementor-element.elementor-element-38d5d8d{width:var( --container-widget-width, 160px );max-width:160px;--container-widget-width:160px;--container-widget-flex-grow:0;}.elementor-3049 .elementor-element.elementor-element-a8e00a8 .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap{width:auto;}.elementor-3049 .elementor-element.elementor-element-a8e00a8 .jet-listing-dynamic-field .jet-listing-dynamic-field__content{width:auto;}.elementor-3049 .elementor-element.elementor-element-a8e00a8 .jet-listing-dynamic-field{justify-content:flex-start;}.elementor-3049 .elementor-element.elementor-element-a8e00a8 .jet-listing-dynamic-field__content{text-align:left;}.elementor-3049 .elementor-element.elementor-element-cbdc446{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3049 .elementor-element.elementor-element-8f8f760{width:var( --container-widget-width, 160px );max-width:160px;--container-widget-width:160px;--container-widget-flex-grow:0;}.elementor-3049 .elementor-element.elementor-element-8e3b1d7 .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap{width:auto;}.elementor-3049 .elementor-element.elementor-element-8e3b1d7 .jet-listing-dynamic-field .jet-listing-dynamic-field__content{width:auto;}.elementor-3049 .elementor-element.elementor-element-8e3b1d7 .jet-listing-dynamic-field{justify-content:flex-start;}.elementor-3049 .elementor-element.elementor-element-8e3b1d7 .jet-listing-dynamic-field__content{text-align:left;}.elementor-3049 .elementor-element.elementor-element-205d62b{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3049 .elementor-element.elementor-element-d6f3a36{width:var( --container-widget-width, 160px );max-width:160px;--container-widget-width:160px;--container-widget-flex-grow:0;}.elementor-3049 .elementor-element.elementor-element-548b28a .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap{width:auto;}.elementor-3049 .elementor-element.elementor-element-548b28a .jet-listing-dynamic-field .jet-listing-dynamic-field__content{width:auto;}.elementor-3049 .elementor-element.elementor-element-548b28a .jet-listing-dynamic-field{justify-content:flex-start;}.elementor-3049 .elementor-element.elementor-element-548b28a .jet-listing-dynamic-field__content{text-align:left;}.elementor-3049 .elementor-element.elementor-element-eb6bfdc{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:15px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3049 .elementor-element.elementor-element-3807e31{width:var( --container-widget-width, 160px );max-width:160px;--container-widget-width:160px;--container-widget-flex-grow:0;}.elementor-3049 .elementor-element.elementor-element-3807e31 .elementor-heading-title{font-weight:600;}.elementor-3049 .elementor-element.elementor-element-a6c23e6 .jet-listing-dynamic-repeater__items{flex-direction:flex-start;justify-content:flex-start;}.elementor-3049 .elementor-element.elementor-element-a6c23e6 .jet-listing-dynamic-repeater__item > *{justify-content:flex-start;}/* Start custom CSS for jet-listing-dynamic-repeater, class: .elementor-element-a6c23e6 *//* =========================================================
   STANDORT-LISTING
   Einheitliche tabellarische Darstellung mit JetEngine-Repeater
   ========================================================= */


/* =========================================================
   1. ÄUSSERER STANDORT-CONTAINER
   Klasse:
   standort-listing-item
   ========================================================= */

.standort-listing-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr);
    gap: 20px;
    align-items: stretch;
    width: 100%;
}


/* =========================================================
   2. BILDBEREICH
   Klasse:
   standort-listing-image
   ========================================================= */

.standort-listing-image {
    min-width: 0;
    height: 100%;
}

.standort-listing-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* =========================================================
   3. GESAMTER INFORMATIONSBEREICH
   Klasse:
   standort-daten
   ========================================================= */

.standort-daten {
    --label-breite: 165px;
    --spalten-abstand: 14px;

    width: 100%;
    height: 100%;
    padding: 14px 16px;
    background-color: #edf4fb;
    box-sizing: border-box;
}


/* =========================================================
   4. NORMALE INFORMATIONSZEILEN
   Klassen:
   standort-info-row
   standort-info-label
   standort-info-value
   ========================================================= */

.standort-daten .standort-info-row {
    display: grid;
    grid-template-columns: var(--label-breite) minmax(0, 1fr);
    column-gap: var(--spalten-abstand);
    align-items: start;
    width: 100%;
    margin: 0 0 6px;
    padding: 0;
    box-sizing: border-box;
}

.standort-daten .standort-info-label {
    min-width: 0;
    margin: 0;
    padding: 0;
    color: #2b4998;
    font-weight: 500;
    line-height: 1.35;
}

.standort-daten .standort-info-value {
    min-width: 0;
    margin: 0;
    padding: 0;
    color: #111;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.standort-daten .standort-info-value a {
    color: inherit;
    text-decoration: none;
}

.standort-daten .standort-info-value a:hover,
.standort-daten .standort-info-value a:focus-visible {
    text-decoration: underline;
}

.standort-daten .standort-info-value a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}


/* =========================================================
   5. ÖFFNUNGSZEITEN-ÜBERSCHRIFT
   Falls „Öffnungszeiten“ als normale Datenzeile eingebaut ist
   ========================================================= */

.standort-daten .standort-info-row.oeffnungszeiten-label-row {
    margin-bottom: 8px;
}


/* =========================================================
   6. DYNAMIC REPEATER
   Klasse am JetEngine Dynamic-Repeater-Widget:
   standort-oeffnungszeiten
   ========================================================= */

.standort-oeffnungszeiten {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/* Gesamte Repeater-Liste */
.standort-oeffnungszeiten .jet-listing-dynamic-repeater__items {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 6px !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* Jeder einzelne Repeater-Eintrag ist eine Tabellenzeile */
.standort-oeffnungszeiten .jet-listing-dynamic-repeater__item {
    display: grid !important;
    grid-template-columns:
        var(--label-breite, 165px)
        minmax(0, 1fr) !important;

    column-gap: var(--spalten-abstand, 14px) !important;
    row-gap: 0 !important;
    align-items: start !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* Linke Spalte: Wochentage */
.standort-oeffnungszeiten .standort-opening-day {
    display: block !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #2b4998;
    font-weight: 500;
    line-height: 1.35;
    text-align: left;

    box-sizing: border-box !important;
}


/* Rechte Spalte: Öffnungszeiten */
.standort-oeffnungszeiten .standort-opening-time {
    display: block !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #111;
    line-height: 1.35;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;

    box-sizing: border-box !important;
}


/* Eventuelle zusätzliche JetEngine-Wrapper neutralisieren */
.standort-oeffnungszeiten .jet-listing-dynamic-repeater__item > * {
    min-width: 0;
}


/* =========================================================
   7. TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .standort-listing-item {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 18px;
    }

    .standort-daten {
        --label-breite: 145px;
        --spalten-abstand: 12px;
    }
}


/* =========================================================
   8. MOBIL
   Bild und Daten untereinander
   Wochentag und Öffnungszeit ebenfalls untereinander
   ========================================================= */

@media (max-width: 767px) {

    .standort-listing-item {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .standort-listing-image {
        height: auto;
    }

    .standort-listing-image img {
        height: auto;
    }

    .standort-daten {
        padding: 14px;
    }


    /* Normale Informationszeilen mobil untereinander */
    .standort-daten .standort-info-row {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 2px;
        margin-bottom: 12px;
    }

    .standort-daten .standort-info-label {
        font-weight: 600;
    }


    /* Einzelne Repeater-Einträge mobil untereinander */
    .standort-oeffnungszeiten .jet-listing-dynamic-repeater__item {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 2px !important;
    }

    .standort-oeffnungszeiten .jet-listing-dynamic-repeater__items {
        gap: 12px !important;
    }

    .standort-oeffnungszeiten .standort-opening-day,
    .standort-oeffnungszeiten .standort-opening-time {
        display: block !important;
        width: 100% !important;
    }

    .standort-oeffnungszeiten .standort-opening-day {
        font-weight: 600;
    }
}/* End custom CSS */
/* Start custom CSS for jet-listing-dynamic-repeater, class: .elementor-element-a6c23e6 *//* =========================================================
   STANDORT-LISTING
   Einheitliche tabellarische Darstellung mit JetEngine-Repeater
   ========================================================= */


/* =========================================================
   1. ÄUSSERER STANDORT-CONTAINER
   Klasse:
   standort-listing-item
   ========================================================= */

.standort-listing-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr);
    gap: 20px;
    align-items: stretch;
    width: 100%;
}


/* =========================================================
   2. BILDBEREICH
   Klasse:
   standort-listing-image
   ========================================================= */

.standort-listing-image {
    min-width: 0;
    height: 100%;
}

.standort-listing-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* =========================================================
   3. GESAMTER INFORMATIONSBEREICH
   Klasse:
   standort-daten
   ========================================================= */

.standort-daten {
    --label-breite: 165px;
    --spalten-abstand: 14px;

    width: 100%;
    height: 100%;
    padding: 14px 16px;
    background-color: #edf4fb;
    box-sizing: border-box;
}


/* =========================================================
   4. NORMALE INFORMATIONSZEILEN
   Klassen:
   standort-info-row
   standort-info-label
   standort-info-value
   ========================================================= */

.standort-daten .standort-info-row {
    display: grid;
    grid-template-columns: var(--label-breite) minmax(0, 1fr);
    column-gap: var(--spalten-abstand);
    align-items: start;
    width: 100%;
    margin: 0 0 6px;
    padding: 0;
    box-sizing: border-box;
}

.standort-daten .standort-info-label {
    min-width: 0;
    margin: 0;
    padding: 0;
    color: #2b4998;
    font-weight: 500;
    line-height: 1.35;
}

.standort-daten .standort-info-value {
    min-width: 0;
    margin: 0;
    padding: 0;
    color: #111;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.standort-daten .standort-info-value a {
    color: inherit;
    text-decoration: none;
}

.standort-daten .standort-info-value a:hover,
.standort-daten .standort-info-value a:focus-visible {
    text-decoration: underline;
}

.standort-daten .standort-info-value a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}


/* =========================================================
   5. ÖFFNUNGSZEITEN-ÜBERSCHRIFT
   Falls „Öffnungszeiten“ als normale Datenzeile eingebaut ist
   ========================================================= */

.standort-daten .standort-info-row.oeffnungszeiten-label-row {
    margin-bottom: 8px;
}


/* =========================================================
   6. DYNAMIC REPEATER
   Klasse am JetEngine Dynamic-Repeater-Widget:
   standort-oeffnungszeiten
   ========================================================= */

.standort-oeffnungszeiten {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/* Gesamte Repeater-Liste */
.standort-oeffnungszeiten .jet-listing-dynamic-repeater__items {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 6px !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* Jeder einzelne Repeater-Eintrag ist eine Tabellenzeile */
.standort-oeffnungszeiten .jet-listing-dynamic-repeater__item {
    display: grid !important;
    grid-template-columns:
        var(--label-breite, 165px)
        minmax(0, 1fr) !important;

    column-gap: var(--spalten-abstand, 14px) !important;
    row-gap: 0 !important;
    align-items: start !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* Linke Spalte: Wochentage */
.standort-oeffnungszeiten .standort-opening-day {
    display: block !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #2b4998;
    font-weight: 500;
    line-height: 1.35;
    text-align: left;

    box-sizing: border-box !important;
}


/* Rechte Spalte: Öffnungszeiten */
.standort-oeffnungszeiten .standort-opening-time {
    display: block !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #111;
    line-height: 1.35;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;

    box-sizing: border-box !important;
}


/* Eventuelle zusätzliche JetEngine-Wrapper neutralisieren */
.standort-oeffnungszeiten .jet-listing-dynamic-repeater__item > * {
    min-width: 0;
}


/* =========================================================
   7. TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .standort-listing-item {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 18px;
    }

    .standort-daten {
        --label-breite: 145px;
        --spalten-abstand: 12px;
    }
}


/* =========================================================
   8. MOBIL
   Bild und Daten untereinander
   Wochentag und Öffnungszeit ebenfalls untereinander
   ========================================================= */

@media (max-width: 767px) {

    .standort-listing-item {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .standort-listing-image {
        height: auto;
    }

    .standort-listing-image img {
        height: auto;
    }

    .standort-daten {
        padding: 14px;
    }


    /* Normale Informationszeilen mobil untereinander */
    .standort-daten .standort-info-row {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 2px;
        margin-bottom: 12px;
    }

    .standort-daten .standort-info-label {
        font-weight: 600;
    }


    /* Einzelne Repeater-Einträge mobil untereinander */
    .standort-oeffnungszeiten .jet-listing-dynamic-repeater__item {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 2px !important;
    }

    .standort-oeffnungszeiten .jet-listing-dynamic-repeater__items {
        gap: 12px !important;
    }

    .standort-oeffnungszeiten .standort-opening-day,
    .standort-oeffnungszeiten .standort-opening-time {
        display: block !important;
        width: 100% !important;
    }

    .standort-oeffnungszeiten .standort-opening-day {
        font-weight: 600;
    }
}/* End custom CSS */