/* =========================================================
   KIBiS CELLE – DIRECTORIST SINGLE LISTING
   Gutenberg
   Desktop + Tablet + Smartphone

   Farben:
   Blau:  #0c367f
   Rot:   #d31335
   Text:  #292929
   Rand:  #dfe3e8
   Weiß:  #ffffff
   ========================================================= */


/* =========================================================
   1. GESAMTER LISTING-BEREICH
   ========================================================= */

.kibis-single {
    width: 100%;
    max-width: 1200px;

    margin: 0 auto;
    padding: 48px 24px 64px;

    box-sizing: border-box;

    background-color: #ffffff !important;

    /* äußerer weißer Bereich abgerundet */
    border-radius: 18px;

    overflow: hidden;
}


.kibis-single > * {
    width: 100%;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box;
}


/* =========================================================
   2. HEADER
   ========================================================= */

.kibis-header {
    width: 100%;
    max-width: none !important;

    margin: 0 0 40px;
}


.kibis-header .directorist-single-listing-header {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(320px, 0.85fr);

    grid-template-areas:
        "top top"
        "title image";

    column-gap: 48px;
    row-gap: 20px;

    align-items: center;

    width: 100%;
    max-width: none;

    margin: 0;
    padding: 0;
}


.kibis-header .directorist-single-listing-top {
    grid-area: top;

    width: 100%;
    margin: 0;
}


/* =========================================================
   3. TITEL
   ========================================================= */

.kibis-header
.directorist-listing-details__listing-title {
    grid-area: title;

    width: 100%;
    min-width: 0;

    margin: 0 !important;
    padding: 0;

    /*
     * Dunkleres KIBiS-Blau statt des
     * bisherigen sehr hellen Blaus.
     */
    color: #0c367f;

    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.2em;
    font-weight: 700;

    white-space: normal;

    overflow-wrap: normal;
    word-break: normal;
}


/* =========================================================
   4. BILD / SLIDER DESKTOP
   ========================================================= */

.kibis-header
#directorist-single-listing-slider-wrap {
    grid-area: image;

    width: 100% !important;
    max-width: 100% !important;

    aspect-ratio: 4 / 3;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;

    overflow: hidden;

    border-radius: 14px;

    background: transparent !important;
    background-color: transparent !important;
}


.kibis-header
#directorist-single-listing-slider-wrap
.directorist-swiper {
    width: 100% !important;
    max-width: 100% !important;

    height: 100% !important;

    margin: 0 !important;

    background: transparent !important;
    background-color: transparent !important;
}


.kibis-header
#directorist-single-listing-slider-wrap
.swiper-wrapper {
    width: 100% !important;
    height: 100% !important;
}


.kibis-header
#directorist-single-listing-slider-wrap
.swiper-slide {
    display: flex !important;

    align-items: center;
    justify-content: center;

    width: 100% !important;
    height: 100% !important;

    overflow: hidden;

    background: transparent !important;
}


.kibis-header
#directorist-single-listing-slider-wrap
.swiper-slide img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    min-width: 100% !important;
    max-width: none !important;

    object-fit: contain !important;
    object-position: center !important;

    margin: 0 !important;
}


/* =========================================================
   5. INHALTSBEREICH DESKTOP
   Beschreibung links / Kontakt rechts
   ========================================================= */

.kibis-content {
    display: grid;

    grid-template-columns:
        minmax(0, 2fr)
        minmax(300px, 1fr);

    gap: 24px;

    align-items: start;

    width: 100%;
    max-width: none !important;

    margin: 0;
    padding: 0;
}


/* =========================================================
   6. BESCHREIBUNG
   ========================================================= */

.kibis-main,
.kibis-description {
    width: 100%;
    min-width: 0;
    max-width: none;

    margin: 0;
    padding: 0;
}


/* =========================================================
   7. SEITENLEISTE
   ========================================================= */

.kibis-sidebar {
    display: flex;
    flex-direction: column;

    width: 100%;
    min-width: 0;
    max-width: none;

    gap: 24px;

    margin: 0;
    padding: 0;
}


.kibis-contact,
.kibis-website {
    width: 100%;
    min-width: 0;
    max-width: none;

    margin: 0;
    padding: 0;
}


/* =========================================================
   8. ALLGEMEINE KARTEN
   ========================================================= */

.kibis-single .directorist-card {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    box-sizing: border-box;

    background-color: #ffffff !important;

    /*
     * Dezenter Rahmen statt Schatten.
     */
    border: 1px solid #dfe3e8 !important;

    border-radius: 14px;

    box-shadow: none !important;

    overflow: hidden;
}


/* =========================================================
   9. KONTAKT-STAPEL
   1 bis 3 Kontaktkarten wirken wie EIN Block
   ========================================================= */

.kibis-contact {
    display: flex;
    flex-direction: column;

    gap: 0 !important;
}


/*
 * Mittlere Kontaktkarten ohne Rundung.
 */
.kibis-contact .directorist-card {
    border-radius: 0 !important;
}


/*
 * Erste Kontaktkarte oben rund.
 */
.kibis-contact .directorist-card:first-child {
    border-radius:
        14px
        14px
        0
        0 !important;
}


/*
 * Letzte Kontaktkarte unten rund.
 */
.kibis-contact .directorist-card:last-child {
    border-radius:
        0
        0
        14px
        14px !important;
}


/*
 * Nur eine Kontaktkarte:
 * alle Ecken rund.
 */
.kibis-contact .directorist-card:only-child {
    border-radius: 14px !important;
}


/*
 * Keine doppelte Rahmenlinie zwischen
 * mehreren Kontaktkarten.
 */
.kibis-contact
.directorist-card + .directorist-card {
    border-top: 0 !important;
}


/* =========================================================
   10. HOMEPAGE
   ========================================================= */

.kibis-website {
    width: 100%;
}


/*
 * Leere Homepage automatisch ausblenden.
 */
.kibis-website:not(:has(.directorist-single-info)) {
    display: none !important;
}


/* =========================================================
   11. TREFFEN
   ========================================================= */

.kibis-meeting {
    width: 100%;
    max-width: none !important;

    margin-top: 24px !important;

    padding: 0;
}


/* =========================================================
   12. SONSTIGES ZUM KONTAKT
   ========================================================= */

.kibis-contact-other {
    width: 100%;
    max-width: none !important;

    margin-top: 24px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;

    padding: 0;
}


/*
 * Leeren Bereich automatisch ausblenden.
 */
.kibis-contact-other:not(:has(.directorist-single-info)) {
    display: none !important;
}


/* =========================================================
   13. FLYER
   ========================================================= */

.kibis-flyer {
    width: 100%;
    max-width: none !important;

    margin-top: 24px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;

    padding: 0;
}


/* =========================================================
   14. KARTENKOPF
   ========================================================= */

.kibis-single .directorist-card__header {
    position: relative;

    /*
     * Unten etwas mehr Platz für
     * den kurzen roten Akzent.
     */
    padding: 18px 24px 21px;

    /*
     * Die bisherige durchgehende
     * rote Linie vollständig entfernen.
     */
    border-bottom: 0 !important;
}


/*
 * Kurze rote Akzentlinie.
 */
.kibis-single
.directorist-card__header::after {
    content: "";

    position: absolute;

    left: 24px;
    bottom: 0;

    width: 56px;
    height: 3px;

    background-color: #d31335;

    border-radius: 2px;
}


.kibis-single
.directorist-card__header__title {
    margin: 0;

    color: #0c367f;

    font-size: 24px !important;
    line-height: 1.25em !important;
    font-weight: 700 !important;
}


/* =========================================================
   15. KARTENINHALT
   ========================================================= */

.kibis-single .directorist-card__body {
    padding: 24px;
}


/* =========================================================
   16. FLIESSTEXT / BESCHREIBUNG
   ========================================================= */

.kibis-single
.directorist-listing-details__text {
    color: #292929;
}


.kibis-single
.directorist-listing-details__text p {
    margin-top: 0;
    margin-bottom: 16px;

    color: #292929;

    font-size: 18px !important;
    line-height: 1.65em !important;
    font-weight: 400 !important;
}


.kibis-single
.directorist-listing-details__text p:last-child {
    margin-bottom: 0;
}


/*
 * Angenehme Zeilenlänge bei längeren
 * Beschreibungen.
 */
.kibis-description
.directorist-listing-details__text {
    max-width: 72ch;

    font-size: 18px !important;
    line-height: 1.65em !important;
    font-weight: 400 !important;
    color: #292929 !important;
}


/* =========================================================
   17. TREFFEN – TYPOGRAFIE
   ========================================================= */

.kibis-meeting
.directorist-listing-details__text,
.kibis-meeting
.directorist-listing-details__text p {
    font-size: 18px !important;
    line-height: 1.6em !important;
    font-weight: 400 !important;

    color: #292929 !important;
}


/* =========================================================
   18. KONTAKT – ALLGEMEIN
   ========================================================= */

.kibis-single
.directorist-details-info-wrap
.directorist-single-info {
    margin-bottom: 18px;
}


.kibis-single
.directorist-details-info-wrap
.directorist-single-info:last-child {
    margin-bottom: 0;
}


/* Beschriftungen */
.kibis-contact
.directorist-single-info__label {
    color: #292929 !important;

    font-size: 16px !important;
    line-height: 1.5em !important;
    font-weight: 700 !important;
}


/* Werte */
.kibis-contact
.directorist-single-info__value {
    color: #292929 !important;

    font-size: 17px !important;
    line-height: 1.5em !important;
    font-weight: 400 !important;
}


/* =========================================================
   19. SONSTIGES ZUM KONTAKT – TYPOGRAFIE
   ========================================================= */

.kibis-contact-other
.directorist-details-info-wrap,
.kibis-contact-other
.directorist-single-info,
.kibis-contact-other
.directorist-single-info__label,
.kibis-contact-other
.directorist-single-info__value {
    font-size: 17px !important;
    line-height: 1.55em !important;
}


/* =========================================================
   20. LINKS
   ========================================================= */

.kibis-single
.directorist-single-info__value a {
    color: #0c367f !important;

    font-size: 17px;
    line-height: 1.5em;
    font-weight: 600;

    text-decoration: underline;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 3px;

    overflow-wrap: anywhere;
    word-break: normal;
}


.kibis-single
.directorist-single-info__value a:hover,
.kibis-single
.directorist-card__body a:hover {
    color: #d31335 !important;

    text-decoration-thickness: 2px;
}


/* =========================================================
   21. TASTATURFOKUS / BARRIEREFREIHEIT
   ========================================================= */

.kibis-single a:focus-visible,
.kibis-single button:focus-visible {
    outline: 3px solid #d31335 !important;

    outline-offset: 4px !important;

    border-radius: 3px;
}


/*
 * Links auch ohne Farberkennung
 * als Links erkennbar.
 */
.kibis-single
.directorist-single-info__value a,
.kibis-single
.directorist-card__body a {
    text-decoration: underline;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 3px;
}


/*
 * Lange Wörter, URLs und E-Mail-Adressen
 * dürfen den Container nicht sprengen.
 */
.kibis-single a,
.kibis-single p,
.kibis-single
.directorist-single-info__value {
    overflow-wrap: anywhere;
}


/*
 * Kein Blocksatz.
 */
.kibis-single p {
    text-align: left;
}


/* =========================================================
   22. HOMEPAGE-LINK
   ========================================================= */

.kibis-contact
.directorist-single-info__value
a[href^="http"] {
    font-size: 0 !important;
}


.kibis-contact
.directorist-single-info__value
a[href^="http"]::after {
    content: "Webseite besuchen";

    font-size: 17px;
    line-height: 1.5em;
    font-weight: 600;
}


/* =========================================================
   23. FLYER-LINK
   ========================================================= */

.kibis-flyer
.directorist-single-info__label,
.kibis-flyer
.directorist-single-info__value {
    font-size: 17px !important;
    line-height: 1.5em !important;
}


.kibis-flyer
.directorist-single-info__value a {
    font-size: 0 !important;
}


.kibis-flyer
.directorist-single-info__value a::after {
    content: "Flyer öffnen";

    font-size: 17px;
    line-height: 1.5em;
    font-weight: 600;
}


/* =========================================================
   24. TABLET
   ========================================================= */

@media (max-width: 1024px) and (min-width: 768px) {

    .kibis-single {
        padding-left: 24px;
        padding-right: 24px;
    }


    .kibis-header
    .directorist-single-listing-header {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(300px, 0.8fr);

        column-gap: 32px;
    }


    .kibis-content {
        grid-template-columns:
            minmax(0, 1.5fr)
            minmax(280px, 1fr);
    }
}


/* =========================================================
   25. SMARTPHONE
   ========================================================= */

@media (max-width: 767px) {

    /* -----------------------------------------------------
       Gesamtbereich
       ----------------------------------------------------- */

    .kibis-single {
        width: 100%;
        max-width: 100%;

        margin: 0 auto;

        padding: 32px 20px 48px;

        box-sizing: border-box;

        /*
         * Etwas kleinere Außenrundung
         * auf dem Smartphone.
         */
        border-radius: 14px;
    }


    /* -----------------------------------------------------
       Header
       ----------------------------------------------------- */

    .kibis-header {
        width: 100%;

        margin-bottom: 32px;
    }


    .kibis-header
    .directorist-single-listing-header {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr);

        grid-template-areas:
            "top"
            "title"
            "image";

        gap: 20px;

        width: 100%;

        margin: 0;
        padding: 0;
    }


    /* -----------------------------------------------------
       Titel
       ----------------------------------------------------- */

    .kibis-header
    .directorist-listing-details__listing-title {
        width: 100%;

        margin: 0 !important;

        color: #0c367f;

        font-size: 26px !important;
        line-height: 1.25em !important;
        font-weight: 700;
    }


    /* =====================================================
       Mobiles Bild
       natürliche Größe + zentriert + Verlauf
       ===================================================== */

    .kibis-header
    #directorist-single-listing-slider-wrap {
        grid-area: image;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        aspect-ratio: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;
        background-color: transparent !important;

        border: 0 !important;
        border-radius: 0 !important;

        overflow: visible !important;

        -webkit-mask-image:
            linear-gradient(
                to bottom,
                #000 0%,
                #000 88%,
                transparent 100%
            );

        mask-image:
            linear-gradient(
                to bottom,
                #000 0%,
                #000 88%,
                transparent 100%
            );
    }


    .kibis-header
    #directorist-single-listing-slider-wrap
    .directorist-swiper {
        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;

        overflow: visible !important;
    }


    .kibis-header
    #directorist-single-listing-slider-wrap
    .swiper-wrapper {
        display: flex !important;

        align-items: center !important;

        width: 100% !important;
        height: auto !important;
    }


    .kibis-header
    #directorist-single-listing-slider-wrap
    .swiper-slide {
        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;

        overflow: visible !important;
    }


    .kibis-header
    #directorist-single-listing-slider-wrap
    .swiper-slide img {
        display: block !important;

        width: auto !important;
        height: auto !important;

        min-width: 0 !important;
        min-height: 0 !important;

        max-width: 100% !important;
        max-height: 360px !important;

        object-fit: contain !important;
        object-position: center center !important;

        margin: 0 auto !important;

        border: 0 !important;
        border-radius: 10px;
    }


    /* =====================================================
       Inhalt einspaltig
       ===================================================== */

    .kibis-content {
        display: flex;

        flex-direction: column;

        width: 100%;
        max-width: 100%;

        gap: 24px;

        margin: 0;
        padding: 0;
    }


    .kibis-main {
        display: block;

        width: 100%;
        max-width: 100%;

        margin: 0;
        padding: 0;
    }


    .kibis-sidebar {
        display: flex;

        flex-direction: column;

        width: 100%;
        max-width: 100%;

        gap: 24px;

        margin: 0;
        padding: 0;
    }


    /* -----------------------------------------------------
       Alle Bereiche gleich breit
       ----------------------------------------------------- */

    .kibis-description,
    .kibis-contact,
    .kibis-website,
    .kibis-meeting,
    .kibis-contact-other,
    .kibis-flyer {
        width: 100% !important;
        max-width: 100% !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        box-sizing: border-box;
    }


    /* -----------------------------------------------------
       Kontaktstapel
       ----------------------------------------------------- */

    .kibis-contact {
        gap: 0 !important;
    }


    /* -----------------------------------------------------
       Treffen / Sonstiges / Flyer
       ----------------------------------------------------- */

    .kibis-meeting,
    .kibis-contact-other,
    .kibis-flyer {
        margin-top: 24px !important;
    }


    /* =====================================================
       Kartenkopf
       ===================================================== */

    .kibis-single
    .directorist-card__header {
        padding:
            18px
            20px
            21px;
    }


    /*
     * Kurze rote Linie an den
     * mobilen Innenabstand anpassen.
     */
    .kibis-single
    .directorist-card__header::after {
        left: 20px;

        width: 52px;
    }


    .kibis-single
    .directorist-card__header__title {
        font-size: 22px !important;
        line-height: 1.25em !important;
    }


    /* =====================================================
       Karteninhalt
       ===================================================== */

    .kibis-single
    .directorist-card__body {
        padding: 22px 20px;
    }


    /* =====================================================
       Fließtext mobil
       ===================================================== */

    .kibis-single
    .directorist-listing-details__text p {
        font-size: 17px !important;
        line-height: 1.6em !important;
    }


    .kibis-description
    .directorist-listing-details__text {
        max-width: none !important;

        font-size: 17px !important;
        line-height: 1.6em !important;
    }


    .kibis-meeting
    .directorist-listing-details__text,
    .kibis-meeting
    .directorist-listing-details__text p {
        font-size: 17px !important;
        line-height: 1.6em !important;
    }


    /* =====================================================
       Kontakt mobil
       ===================================================== */

    .kibis-single
    .directorist-details-info-wrap
    .directorist-single-info {
        display: flex;

        flex-wrap: wrap;

        width: 100%;

        row-gap: 8px;

        margin-bottom: 22px;
    }


    .kibis-single
    .directorist-details-info-wrap
    .directorist-single-info:last-child {
        margin-bottom: 0;
    }


    .kibis-single
    .directorist-details-info-wrap
    .directorist-single-info__value {
        flex-basis: 100%;

        width: 100%;

        margin-left: 0;
    }


    .kibis-contact
    .directorist-single-info__label {
        font-size: 16px !important;
        line-height: 1.5em !important;
    }


    .kibis-contact
    .directorist-single-info__value,
    .kibis-contact
    .directorist-single-info__value a {
        font-size: 17px !important;
        line-height: 1.5em !important;
    }


    /* =====================================================
       Sonstiges mobil
       ===================================================== */

    .kibis-contact-other
    .directorist-details-info-wrap,
    .kibis-contact-other
    .directorist-single-info,
    .kibis-contact-other
    .directorist-single-info__label,
    .kibis-contact-other
    .directorist-single-info__value {
        font-size: 17px !important;
        line-height: 1.55em !important;
    }


    /* =====================================================
       Flyer mobil
       ===================================================== */

    .kibis-flyer
    .directorist-single-info__label,
    .kibis-flyer
    .directorist-single-info__value {
        font-size: 17px !important;
        line-height: 1.5em !important;
    }


    /* -----------------------------------------------------
       Lange Links / E-Mail-Adressen
       ----------------------------------------------------- */

    .kibis-single
    .directorist-single-info__value,
    .kibis-single
    .directorist-single-info__value a {
        overflow-wrap: anywhere;

        word-break: normal;
    }
}


/* =========================================================
   26. KLEINE SMARTPHONES
   ========================================================= */

@media (max-width: 420px) {

    .kibis-single {
        padding-left: 16px;
        padding-right: 16px;
    }


    .kibis-header
    .directorist-listing-details__listing-title {
        font-size: 25px !important;
        line-height: 1.25em !important;
    }


    .kibis-header
    #directorist-single-listing-slider-wrap
    .swiper-slide img {
        max-height: 320px !important;
    }


    .kibis-single
    .directorist-card__header {
        padding-left: 18px;
        padding-right: 18px;
    }


    .kibis-single
    .directorist-card__header::after {
        left: 18px;
    }


    .kibis-single
    .directorist-card__body {
        padding-left: 18px;
        padding-right: 18px;
    }
}


/* =========================================================
   27. REDUZIERTE BEWEGUNGEN
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .kibis-single *,
    .kibis-single *::before,
    .kibis-single *::after {
        scroll-behavior: auto !important;

        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;

        transition-duration: 0.01ms !important;
    }
}

/* =========================================================
   DIRECTORIST ICONS
   Ohne Kreis, Icon selbst in KIBiS-Blau
   ========================================================= */

/* Grauen Kreis / Hintergrund entfernen */
.kibis-single .directorist-single-info__label-icon {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    color: #0c367f !important;
}


/* Das eigentliche Masken-Element darf
   KEINEN eigenen Hintergrund bekommen */
.kibis-single
.directorist-single-info__label-icon
.directorist-icon-mask {
    background: transparent !important;
    background-color: transparent !important;

    color: #0c367f !important;
}


/* Nur die tatsächlich gezeichnete Icon-Maske färben */
.kibis-single
.directorist-single-info__label-icon
.directorist-icon-mask::before,
.kibis-single
.directorist-single-info__label-icon
.directorist-icon-mask::after {
    background-color: #0c367f !important;
}

/* =========================================================
   FLYER
   Überflüssiges Label vollständig entfernen
   ========================================================= */

.kibis-flyer .directorist-single-info__label {
    display: none !important;
}

/* =========================================================
   KIBiS Single Listing – Smartphone
   ========================================================= */

@media (max-width: 767px) {

    /* --------------------------------------
       Header: Titel und Bild untereinander
       -------------------------------------- */

    .kibis-listing-header {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 24px !important;
    }

    .kibis-header-text,
    .kibis-header-bild {
        width: 100% !important;
        max-width: 100% !important;

        flex: 0 0 auto !important;

        margin: 0 !important;
    }


    /* --------------------------------------
       Beschreibung + Seitenleiste
       untereinander
       -------------------------------------- */

    .kibis-listing-inhalt {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        gap: 24px !important;
    }


    /* --------------------------------------
       Hauptinhalt / Beschreibung
       -------------------------------------- */

    .kibis-hauptinhalt {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        flex: 0 0 auto !important;

        margin: 0 !important;
        padding: 0 !important;

        gap: 24px !important;
    }

    .kibis-hauptinhalt > .elementor-element {
        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;

        align-self: stretch !important;
    }

    .kibis-hauptinhalt .directorist-card {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;

        box-sizing: border-box !important;
    }


    /* --------------------------------------
       Seitenleiste
       Kontakt / Sonstiges / Homepage
       -------------------------------------- */

    .kibis-seitenleiste {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        flex: 0 0 auto !important;

        margin: 0 !important;
        padding: 0 !important;

        gap: 24px !important;
    }

    .kibis-seitenleiste > .elementor-element {
        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;

        align-self: stretch !important;
    }

    .kibis-seitenleiste .directorist-card {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;

        box-sizing: border-box !important;
    }


    /* --------------------------------------
       Sonstiges zum Kontakt
       -------------------------------------- */

    .kibis-kontakt-sonstiges {
        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    /*
       Wenn Directorist in diesem Bereich keine
       Kontaktinformation ausgibt, verschwindet
       der komplette Elementor-Container.
    */
    .kibis-kontakt-sonstiges:not(:has(.directorist-single-info)) {
        display: none !important;
    }


    /* --------------------------------------
       Homepage und Social Media
       -------------------------------------- */

    .kibis-kontakt-homepage {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    .kibis-kontakt-homepage .directorist-card {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;

        box-sizing: border-box !important;
    }

    /*
       Auch Homepage komplett ausblenden,
       wenn Directorist dort keine Information
       ausgegeben hat.
    */
    .kibis-kontakt-homepage:not(:has(.directorist-single-info)) {
        display: none !important;
    }


    /* --------------------------------------
       Kontaktfelder auf Mobil
       -------------------------------------- */

    .directorist-details-info-wrap .directorist-single-info {
        flex-wrap: wrap !important;

        row-gap: 6px !important;

        margin-bottom: 22px !important;
    }

    .directorist-details-info-wrap
    .directorist-single-info:last-child {
        margin-bottom: 0 !important;
    }

    .directorist-details-info-wrap
    .directorist-single-info__label {
        font-weight: 700;
    }

    .directorist-details-info-wrap
    .directorist-single-info__value {
        flex-basis: 100% !important;
        width: 100% !important;

        margin-left: 0 !important;
    }


    /* --------------------------------------
       Lange Links / URLs
       -------------------------------------- */

    .directorist-details-info-wrap
    .directorist-single-info__value a {
        overflow-wrap: anywhere;
        word-break: normal;
    }


    /* --------------------------------------
       Treffen
       -------------------------------------- */

    .kibis-treffen {
        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        padding: 0 !important;
    }

    .kibis-treffen .directorist-card {
        width: 100% !important;
        max-width: 100% !important;

        box-sizing: border-box !important;
    }


    /* --------------------------------------
       Flyer
       -------------------------------------- */

    .kibis-flyer {
        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        padding: 0 !important;
    }

    .kibis-flyer .directorist-card {
        width: 100% !important;
        max-width: 100% !important;

        box-sizing: border-box !important;
    }
}