body.vereine_verbande,
body.gastronomie_apart,
body.firefighters,
body.senioren_pflege,
body.kinderbetreuung,
body.arzte_apotheken,
body.kirchen_pfarramter {
    div#content{
        padding: 70px 0px;
    }

    /* Container for all cards - 2 columns grid */
    #position {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
        padding: 20px;
    }

    /* Individual card styling */
    .collection_list.vereine {
        background: var(--clr-primary-white);
        border-radius: var(--br-primary);
        padding: 0;
        @media (max-width: 1024px) {
            width: unset;
        }
    }

    /* Card container with left and right columns */
    #content .collection_container {
        padding: 25px 30px;
        color: var(--clr-primary-dark);
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        gap: 35px;
        align-items: start;
    }

    /* Vertical separator line */
    #content .collection_container::after {
        content: '';
        width: 1px;
        background: var(--clr-primary-dark);
        grid-column: 2;
        grid-row: 1;
        align-self: stretch;
    }

    /* Left column */
    .col_vereine_left {
        grid-column: 1;
    }

    /* Right column */
    .col_vereine_right {
        grid-column: 3;
        display: flex;
        flex-direction: column;
        gap: 0;
        &::before {
            content: "Verlinkungen";
            color: var(--primary-accent);
            font-weight: var(--fw-semibold);
            font-size: var(--fs-600);
            margin-bottom: 12px;
        }
    }
    /* Group label (Vereine) */
    .collection_group {
        color: var(--primary-accent);
        font-weight: var(--fw-semibold);
        font-size: var(--fs-600);
        margin-bottom: 12px;
    }

    /* Club name */
    .collection_content.vereinsname {
        font-weight: var(--fw-bold);
        font-size: var(--fs-800);
        margin-bottom: 15px;
        color: var(--clr-primary-dark);
    }

    /* Address with home icon */
    .collection_content.vereine_adress {
        position: relative;
        padding-left: 30px;
        margin-bottom: 10px;
        line-height: 1.5;
        max-width: 190px;
    }

    .collection_content.vereine_adress::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 18px;
        height: 18px;
        background: url('/userdata/02_Kollektionen/home_ver.svg') no-repeat center;
        background-size: contain;
    }

    /* Phone with phone icon */
    .collection_content.vereine_telefon {
        position: relative;
        padding-left: 30px;
        margin-bottom: 10px;
    }

    .collection_content.vereine_telefon::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 18px;
        height: 18px;
        background: url('/userdata/02_Kollektionen/phone_ver.svg') no-repeat center;
        background-size: contain;
    }

    /* Email with email icon */
    .collection_content.vereine_email {
        position: relative;
        padding-left: 30px;
        margin-bottom: 0;
    }

    .collection_content.vereine_email::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 18px;
        height: 18px;
        background: url('/userdata/06_Bausteine/mail_orig_w.svg') no-repeat center;
        background-size: contain;
    }

    /* Verlinkungen title */
    .collection_content.vereine_verlinkungen_text {
        color: var(--primary-accent);
        font-weight: var(--fw-semibold);
        font-size: var(--fs-600);
        margin-bottom: 12px;
    }

    /* Links styling for contact info */
    .collection_content.vereine_telefon a,
    .collection_content.vereine_email a {
        color: var(--clr-primary-dark);
        text-decoration: none;
    }

    .collection_content.vereine_telefon a:hover,
    .collection_content.vereine_email a:hover {
        color: var(--clr-primary-dark);
        text-decoration: none;
    }

    /* Links container - flexbox for responsive wrapping */
    .col_vereine_right {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        align-items: flex-start;
    }

    /* Verlinkungen title takes full width */
    .collection_content.vereine_verlinkungen_text {
        width: 100%;
    }

    /* Website and social media links */
    .collection_content.vereine_website,
    .collection_content.vereine_facebook,
    .collection_content.vereine_insta {
        margin-bottom: 0;
        flex-shrink: 0;
    }

    .collection_content.vereine_website a,
    .collection_content.vereine_facebook a,
    .collection_content.vereine_insta a {
        display: inline-block;
        padding: 8px 16px;
        border: 1px solid var(--primary-accent);
        border-radius: var(--br-button);
        font-size: var(--fs-500);
        transition: transform 0.2s ease;
        color: var(--clr-primary-dark);
        text-decoration: none;
        white-space: nowrap;
    }

    .collection_content.vereine_website a:hover,
    .collection_content.vereine_facebook a:hover,
    .collection_content.vereine_insta a:hover {
        transform: scale(1.05);
    }

    /* Hide empty links */
    .collection_content.vereine_website:empty,
    .collection_content.vereine_facebook:empty,
    .collection_content.vereine_insta:empty {
        display: none;
    }

    .collection_content.vereine_website a[href=""],
    .collection_content.vereine_facebook a[href=""],
    .collection_content.vereine_insta a[href=""] {
        display: none;
    }

    .collection_content.vereine_website a:not([href]),
    .collection_content.vereine_facebook a:not([href]),
    .collection_content.vereine_insta a:not([href]) {
        display: none;
    }

    /* Hide parent container if link is hidden */
    .collection_content.vereine_website:has(a[href=""]),
    .collection_content.vereine_facebook:has(a[href=""]),
    .collection_content.vereine_insta:has(a[href=""]) {
        display: none;
    }

    .collection_content.vereine_website:has(a:not([href])),
    .collection_content.vereine_facebook:has(a:not([href])),
    .collection_content.vereine_insta:has(a:not([href])) {
        display: none;
    }

    /* Responsive design */
    /* Tablets and below - single column cards, but keep 2-column layout inside */
    @media (max-width: 992px) {
        #position {
            grid-template-columns: 1fr;
            gap: 25px;
            padding: 15px;
        }
        
        .collection_container {
            padding: 20px 25px;
            gap: 30px;
        }
    }

    /* Mobile - stack everything vertically */
    @media (max-width: 570px) {
        #main-content #content.content-selector{
            padding: var(--p-300);
        }
        #position {
            padding: 10px;
            gap: 20px;
        }
        
        #content .collection_container {
            grid-template-columns: 1fr;
            gap: 0;
            padding: 20px;
        }
        
        #content .collection_container::after {
            display: none;
        }
        
        .col_vereine_left {
            grid-column: 1;
            padding-bottom: 20px;
            margin-bottom: 20px;
            border-bottom: 1px solid var(--clr-primary-grey);
        }
        
        .col_vereine_right {
            grid-column: 1;
            flex-direction: row;
            gap: 8px;
        }
    }

    /* Small mobile - adjust padding */
    @media (max-width: 480px) {

        #position {
            padding: 5px;
            gap: 15px;
        }
        
        #content .collection_container {
            padding: 15px;
        }
        
        .collection_content.vereine_website a,
        .collection_content.vereine_facebook a,
        .collection_content.vereine_insta a {
            padding: 6px 12px;
            font-size: var(--fs-500);
        }
    }

    @media (max-width: 435px) {
        #content .collection_list.vereine {
            height: unset !important;
        }
     }
}

/* Если все внутренние div в .col_vereine_right пустые - скрываем весь блок и псевдоэлементы */
.col_vereine_right:not(:has(div:not(:empty))) {
    display: none;
}
.col_vereine_right:not(:has(div:not(:empty)))::before,
.col_vereine_right:not(:has(div:not(:empty)))::after {
    display: none;
}

/* Hide vereine right pseudo and collection overlay for cards without any social/website links */
.collection_container.no-vereine-links::after { display: none !important; }
.collection_container.no-vereine-links .col_vereine_right:before { display: none !important; }


