/* Hauptmenü Schriftgröße */
.sp-megamenu-parent > li > a, 
.sp-megamenu-parent > li > span {
    font-size: 24px !important;
}

/* Mobiles Menü (Off-Canvas) Schriftgröße */
.offcanvas-menu .offcanvas-inner ul.menu > li > a {
    font-size: 24px !important;
}
/* Slider mittig zentrieren */
.center-slider {
    margin: 0 auto !important;
    float: none !important;
    display: block !important;
}
/* Macht alle Beitrags- und Modul-Boxen in der Mitte, Links und Rechts weiß */
.blog-item, 
article.item-page, 
div[itemprop="articleBody"],
.sidebar-left .card, .sidebar-left .module,
.sidebar-right .card, .sidebar-right .module,
aside [class*="card"], aside [class*="module"],
#sidebar-left .com-content, #sidebar-right .com-content {
    background-color: #ffffff !important; /* Erzwingt den weißen Hintergrund */
    padding: 25px !important;              /* Innenabstand für den Text */
    margin-bottom: 20px !important;        /* Abstand zwischen den Boxen nach unten */
    box-shadow: 0 4px 6px rgba(0,0,0,0.05) !important; /* Eleganter, dezenter Schatten */
    border-radius: 6px !important;         /* Leicht abgerundete Ecken */
}
/* Macht auch die DPCalendar-Detailansicht und Event-Seiten weiß */
.blog-item, 
article.item-page, 
div[itemprop="articleBody"],
.sidebar-left .card, .sidebar-left .module,
.sidebar-right .card, .sidebar-right .module,
aside [class*="card"], aside [class*="module"],
#sidebar-left .com-content, #sidebar-right .com-content,
/* NEU: DPCalendar Detailseiten-Klassen */
.com-dpcalendar-event,
.com-dpcalendar-event__details,
#dp-container,
.dp-container {
    background-color: #ffffff !important; /* Weißer Hintergrund */
    padding: 25px !important;              /* Innenabstand für die Textinhalte */
    margin-bottom: 20px !important;        /* Abstand nach unten */
    box-shadow: 0 4px 6px rgba(0,0,0,0.05) !important; /* Eleganter Schatten */
    border-radius: 6px !important;         /* Leicht abgerundete Ecken */
}
/* Reduziert den oberen Abstand des Main Bodys (Helix Standard ist oft 100px) */
#sp-main-body, 
.com-content #sp-main-body {
    padding-top: 30px !important; /* Standardwert stark verkleinert */
}

/* Optional: Verkleinert auch den Abstand direkt über dem Beitragstitel */
.com-content article, 
.item-page {
    margin-top: 0px !important;
}
/* --- CSS FÜR DAS SHOWTANZGRUPPEN-GRID --- */

/* 1. Grid-Layout: Erzwingt genau 5 Spalten nebeneinander auf Desktop-Bildschirmen */
@media (min-width: 992px) {
    .groups-grid {
        display: grid;
        grid-template-columns: repeat(5, 1fr) !important; /* Exakt 5 gleich große Spalten */
        gap: 12px;                                       /* Etwas kompakterer Abstand zwischen den Karten */
        padding: 10px 0;
        width: 100%;
    }
}

/* Tablet-Ansicht: 2 oder 3 Spalten nebeneinander */
@media (min-width: 576px) and (max-width: 991px) {
    .groups-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
}

/* Smartphone-Ansicht: Alle Karten untereinander */
@media (max-width: 575px) {
    .groups-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
    }
}


/* 2. Styling der einzelnen Karten (Cards) */
.group-card {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    overflow: hidden; /* Verhindert, dass Bilder über die runden Ecken ragen */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.group-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.1);
}

/* 3. Slider/Bilder-Bereich: Stapelt Bilder übereinander und blendet inaktive aus */
.group-slider {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3; /* Erzwingt ein einheitliches Bildformat */
    background-color: #000;
}

.group-slider img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

/* Zeigt nur das aktive Bild */
.group-slider img.active {
    position: relative;
    opacity: 1;
}

/* 4. Text-Inhalt der Karten */
.group-card-body {
    padding: 15px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

/* Überschriften / Titel */
.group-card-body h2 {
    font-size: 1.25rem;
    margin: 0 0 10px 0;
    line-height: 1.3;
}

.group-card-body h2 a {
    color: #333333;
    text-decoration: none;
}

.group-card-body h2 a:hover {
    color: #b30000; /* Optionale Hover-Farbe für die Titel */
}

/* Beschreibungstext */
.group-card-body p {
    font-size: 0.9rem;
    color: #666666;
    margin: 0 0 20px 0;
    flex-grow: 1; /* Schiebt den Link immer nach ganz unten */
    line-height: 1.4;
}

/* 5. "Mehr erfahren"-Link am Fuß der Karte */
.group-link {
    font-size: 0.95rem;
    font-weight: bold;
    color: #c00d0d !important; /* Das Rot aus deinem Design */
    text-decoration: none;
    display: inline-block;
    margin-top: auto;
    transition: color 0.2s ease;
}

.group-link:hover {
    color: #8f0606 !important;
    text-decoration: underline;
}
/* Styling für die Instagram-Box */
.ig-teaser-gilde {
    display: block !important;
    max-width: 450px;
    margin-top: 20px;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 15px !important;
    background-color: #ffffff !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.04) !important;
    text-decoration: none !important;
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out !important;
    cursor: pointer !important;
}

/* Der Hover-Effekt (Anheben + stärkerer Schatten) */
.ig-teaser-gilde:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 16px rgba(0,0,0,0.1) !important;
    text-decoration: none !important;
}

/* Tabellen-Absicherung für das Layout */
.ig-teaser-gilde table { width: 100%; border-collapse: collapse; border: 0 !important; margin: 0; background: transparent !important; }
.ig-teaser-gilde tr { border: 0 !important; background: transparent !important; }
.ig-cell-logo { display: table-cell !important; width: 50px; vertical-align: top; padding: 0; border: 0 !important; }
.ig-cell-logo img { width: 50px; height: 50px; display: block; border: 0; max-width: none; }
.ig-cell-space { display: table-cell !important; width: 15px; border: 0 !important; padding: 0; }
.ig-cell-text { display: table-cell !important; vertical-align: top; text-align: left; padding: 0; border: 0 !important; line-height: 1.4; }

/* Text-Styling innerhalb der Box */
.ig-cell-text strong { font-size: 1.05rem; color: #000; display: block; margin-bottom: 2px; font-family: sans-serif; }
.ig-cell-text span { font-size: 0.95rem; color: #555; display: block; margin-bottom: 4px; font-family: sans-serif; }
.ig-cell-text em { font-size: 0.9rem; color: #c13584; font-style: normal; font-weight: bold; display: block; font-family: sans-serif; }
/* ==========================================================================
   NEUE SYSTEM-STEUERUNG FÜR DIE GLIGHTBOX
   ========================================================================== */

/* Legt Standardschriftarte DSGVO-konform fest - Nachteil: Blendet die Social-Media-Icons aus*/
/*html, body, p, a, h1, h2, h3, h4, h5, h6, li, span {
/*    font-family: Arial, Helvetica, sans-serif !important;
/*}
/* Blendet den roten Featured-Badge aus */
.article-list .article .featured-article-badge, 
.article-details .featured-article-badge,
span.featured-article-badge {
    display: none !important;
    visibility: hidden !important;
}
/* Zentriert Videos (iframes) innerhalb des Modulcontainers */
.sp-column iframe, 
.sp-column video {
    display: block;
    margin: 0 auto;
    max-width: 100%;
}
/* Erlaubt wieder Klicks auf das Logo, sorgt aber dafür, dass die Lightbox ignoriert wird */
.ig-cell-logo a, 
.ig-cell-logo img {
    pointer-events: auto !important;
}

