/*test zeilenumbruch allgemein, 25.03.26*/
/*#main-wrapper .row {
    flex-wrap: nowrap;

    margin-top: 0.75rem;
}*/

#content{
    margin-top: 1rem;
}
/*Aktuelles und Kurse Startseite platzieren*/
.aktuelles-startseite .view-content.row,
.kurstermine-startseite .view-content.row {

    display: flex;
    flex-wrap: wrap;

    gap: 1.5rem;

    align-items: stretch;
}
.aktuelles-startseite .views-row,
.kurstermine-startseite .views-row {

    flex: 0 0 calc((100% - 3rem) / 3);

    min-width: 0;
}
.aktuelles-startseite .views-field-title h3 {
    line-height: 1.1;
}
.aktuelles-startseite .views-row .views-field {
    margin-bottom: 0;
}
.aktuelles-startseite .views-field-title h3,
.kurstermine-startseite .views-field-title h3{
    line-height: 0.5;
    min-height: calc(2 * 1.3em);
    margin-top: 0;
}
.aktuelles-startseite .views-field-field-thumbnail img {
    /*width: 100%;*/
    min-height: 171px;
    display: block;
}
.aktuelles-startseite .views-field-field-dachzeile {
    display: flex;
    align-items: flex-end;
}
.aktuelles-startseite .views-field-field-dachzeile a {
    text-decoration: none !important;
    font-weight: bold;
}
.aktuelles-startseite .views-field-field-dachzeile p {
    margin: 0 0 0.2rem 0;
    line-height: 1.4;
}
/*Bootstrap-Padding rausnehmen*/
.kurstermine-startseite .view-content.row > .views-row{
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* Oberer Bereich */
.kurstermine-startseite .views-field-field-course-date,
.kurstermine-startseite .views-field-field-course-connector {
    background: var(--tum-primary);
    color: white;
    padding: 1rem;
}

/* Schrift oben weiß */
.kurstermine-startseite .views-field-field-course-date *,
.kurstermine-startseite .views-field-field-course-connector * {
    color: white;
}

/* Unterer Bereich */
.kurstermine-startseite .views-field-field-course-duration,
.kurstermine-startseite .views-field-field-course-format-single,
.kurstermine-startseite .views-field-field-course-room,
.kurstermine-startseite .views-field-field-course-language,
.kurstermine-startseite .views-field-field-course-specification,
.kurstermine-startseite .views-field-view-node {
    background: var(--tum-grey);
    padding-left: 1rem;
}
.kurstermine-startseite .views-field-field-course-specification {
    min-height: calc(2 * 1.3em);
    line-height: 1.3;
    flex-grow: 1;
}
/*kein weißbereich zwischen den Kurselementen*/
.kurstermine-startseite .views-field {
    margin-bottom: 0 !important;
}
/* Gesamte Kurskarte gleich hoch */
.kurstermine-startseite .views-row{
    display: flex;
    flex-direction: column;
    flex: 0 0 calc((100% - 3rem) / 3);
    background: #f0f5fa;
    min-width: 0;
}

/* Unterer Inhaltsbereich kompakter */
.kurstermine-startseite .views-field-field-course-duration,
.kurstermine-startseite .views-field-field-course-format-single,
.kurstermine-startseite .views-field-field-course-room,
.kurstermine-startseite .views-field-field-course-language,
.kurstermine-startseite .views-field-field-course-specification{
    padding-bottom: 0.35rem;
    line-height: 1.3;
}
/*Kursdatum*/
.kurstermine-startseite .views-field-field-course-date{
    padding-bottom: 0.5rem;
}
/*Kursüberschrift*/
.kurstermine-startseite .views-field-field-course-connector{
    padding-top: 0;
    Padding-bottom: 1.5rem;
    margin-top: 0 !important;
}
.kurstermine-startseite .views-field-field-course-connector h3{
    margin-top: 0 !important;
    min-height: calc(2 * 1.3em);
}
.kurstermine-startseite .views-field-field-course-duration{
    padding-top: 1rem;
}
/* Letzter Textblock mit größerem Abstand zum Button */
.kurstermine-startseite .views-field-field-course-specification{
    padding-bottom: 2.5rem;
}
/* Register now immer unten ausrichten */
.kurstermine-startseite .views-field-view-node{
    margin-top: auto !important;
    padding-top: 2rem;
    padding-bottom: 1.5rem;
}

/* Register now als Button */
.kurstermine-startseite .views-field-view-node a{
    display: inline-block;
    border: 2px solid var(--tum-secondary);
    color: var(--tum-secondary);
    padding: 0.65rem 1.25rem;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.2s ease;
}

.kurstermine-startseite .views-field-view-node a:hover{
    background: var(--tum-accordion-level-c);
    border: 2px solid var(--tum-accordion-level-c);
    color: white;
}


/*responive einbau*/
.tum-frontpage {
    overflow-x: hidden;
}

.tum-frontpage *,
.tum-frontpage *::before,
.tum-frontpage *::after {
    box-sizing: border-box;
}
.tum-frontpage .view,
.tum-frontpage .view-content,
.tum-frontpage .views-row,
.tum-frontpage .block,
.tum-frontpage .slide,
.tum-frontpage .slide__content {
    min-width: 0;
}
.slick-slide img,
.aktuelles-startseite img,
.kurstermine-startseite img {
    max-width: 100%;
    height: auto;
    display: block;
}
.tum-frontpage .row {
    margin-left: 0;
    margin-right: 0;
}
.tum-frontpage .slick-list {
    overflow: hidden;
}

.tum-frontpage .slick-slider {
    max-width: 100%;
}
.tum-frontpage .aktuelles-startseite .view-content {
    display: grid;

    grid-template-columns:
		repeat(auto-fit, minmax(280px, 1fr));

    gap: 2rem;
}
.tum-frontpage #main-wrapper .row {
    display: flex;
    flex-wrap: nowrap;
}
main,
.content,
.region-content,
.layout-content {
    min-width: 0;
    flex: 1 1 auto;
}

/******.tum-frontpage .kurstermine-startseite .view-content {
    display: grid;
    gap: 1.5rem;
}*/

/* =========================================
   STARTSEITEN SLIDER
   ========================================= */

/* --- 1. Haupt-Container des Sliders --- */
.slick-slider {
    position: relative;
    margin-bottom: 20px; /* Kleiner Abstand nach unten */
    /*flex-wrap: nowrap;*/
    padding: 0;
}

/* --- 2. Die einzelnen Slides und das Bild --- */
.slick-slide,
.slide {
    position: relative;
}
.tum-slider .view-content.row > .slick-wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Das Bild (auch wenn es ein Link ist) auf volle Breite zwingen */
.slick-slide img,
.slide img,
.slick-slide a img,
.slide a img {
    width: 100%;
    height: auto;
    display: block;
    border: none;
}

/* --- 3. Die Pfeile direkt am Bildrand --- */
.slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 30;
    background-color: rgba(0, 0, 0, 0.5); /* Halbtransparent schwarz */
    border: none;
    width: 40px;
    height: 40px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background-color 0.3s ease;

    /* Text im Button unsichtbar machen */
    font-size: 0 !important;
    color: transparent !important;
}

/* Kasten bleibt beim Hovern unverändert halbtransparent */
.slick-arrow:hover {
    background-color: rgba(0, 0, 0, 0.5);
}

.slick-prev { left: 10px; }
.slick-next { right: 10px; }

/* --- 4. Die massiven Dreieck-Symbole --- */
.slick-prev::before,
.slick-next::before {
    font-family: Arial, sans-serif;
    font-size: 18px !important;  /* Größe der Dreiecke */
    color: #ffffff !important;   /* Standard: Weißer Pfeil */
    opacity: 1;
    display: block;
    transition: color 0.3s ease;
}

.slick-prev::before { content: '\25C0'; /* ◀ */ }
.slick-next::before { content: '\25B6'; /* ▶ */ }

/* Pfeil wird beim Hovern SCHWARZ */
.slick-arrow:hover::before {
    color: #000000 !important;
}

/* --- 5. Navigation-Dots ausblenden --- */
.slick-dots {
    display: none !important;
}

/* --- 6. Das Text-Overlay (Caption) linksbündig zentrieren --- */
/* (Wir nutzen slick-caption und slide__caption zur Sicherheit für Drupal) */
.slick-caption,
.slide__caption {
    position: absolute;
    top: 50%;
    left: 6%;
    right: 6%;

    transform: translateY(-50%);

    width: auto;
    max-width: 88%;

    z-index: 20;

    color: white;
    text-align: left;

    box-sizing: border-box;

    overflow-wrap: break-word;
    word-break: break-word;
    /* Lässt Klicks durch den Textblock hindurch auf das Bild darunter fallen */
    pointer-events: none;
}


.slick-caption .views-field,
.slide__caption .views-field {
    margin-bottom: 5px;
}

/* --- 7. Typografie: Dachzeile --- */
.slick-caption .views-field:nth-child(1),
.slide__caption .views-field:nth-child(1) {
    font-family: Arial, sans-serif;
    font-size: 16px;
    font-weight: bold;
    text-transform: none;
    letter-spacing: 1px;
    margin-bottom: 8px;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.8);
}

/* --- 8. Typografie: Die großen Textzeilen (Titel) --- */
.slick-caption .views-field:nth-child(2),
.slick-caption .views-field:nth-child(3),
.slide__caption .views-field:nth-child(2),
.slide__caption .views-field:nth-child(3) {
    font-family: Arial, sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    line-height: 1.1;
    font-weight: normal;
    text-shadow: 2px 2px 5px rgba(0,0,0,0.8);
    margin-bottom: 6px;
}

/* --- 9. Call to Action Button --- */
.slick-caption .views-field:last-child,
.slide__caption .views-field:last-child {
    margin-top: 25px;
}

.slick-caption .views-field:last-child a,
.slide__caption .views-field:last-child a {
    display: inline-block;
    background-color: #337ab7;
    color: #ffffff !important;
    padding: 8px 12px;
    font-size: 14px;
    font-weight: bold;
    text-transform: none;
    text-decoration: none;
    border: none;
    transition: background-color 0.3s ease;

    /* Aktiviert den Klick exakt nur für diesen Button wieder */
    pointer-events: auto;
}

.slick-caption .views-field:last-child a:hover,
.slide__caption .views-field:last-child a:hover {
    background-color: #23527c;
}

/* test caption slider fixen*/
/* Slider-Inhalte innerhalb halten */
.slick-slider,
.slick-list,
.slick-track,
.slide,
.slide__content {
    overflow: hidden;
}

/* Pfeile innerhalb halten */
.slick-prev {
    left: 1rem;
}

.slick-next {
    right: 1rem;
}
@media (max-width: 768px) {

    .slick-caption,
    .slide__caption {
        width: 85%;
        left: 5%;
    }

    .slick-caption .views-field:nth-child(2),
    .slick-caption .views-field:nth-child(3),
    .slide__caption .views-field:nth-child(2),
    .slide__caption .views-field:nth-child(3) {

        font-size: 2rem;
        line-height: 1.2;
    }

    .slick-caption .views-field:last-child a,
    .slide__caption .views-field:last-child a {

        padding: 0.75rem 1rem;
        font-size: 0.9rem;
    }
    .aktuelles-startseite .views-row,
    .kurstermine-startseite .views-row {

        flex: 1 1 100%;
    }
    /* =========================================
   MOBILE STARTSEITE
   ========================================= */

    @media (max-width: 768px) {

        /* Slider komplett ausblenden */
        .tum-slider,
        .slick-slider,
        .slick-wrapper {
            display: none !important;
        }

        /* Aktuelles + Kurse untereinander */
        .aktuelles-startseite .view-content.row,
        .kurstermine-startseite .view-content.row {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
        }

        .aktuelles-startseite .views-row,
        .kurstermine-startseite .views-row {
            width: 100%;
            flex: 1 1 100%;
        }

        /* Suchbereich umbauen */
        .search-container .search-wrapper {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        /* Suchfeld volle Breite */
        .search-container .search-input {
            width: 100%;
        }

        /* Untere Zeile mit Button + Icons */
        .search-container .search-icons {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            flex-wrap: wrap;
        }

        /* Suchbutton kompakter */
        .search-container .search-button {
            width: auto;
            padding: 0.75rem 1rem;
        }

        /* Icons kleiner */
        .search-container .search-icons img {
            width: 32px;
            height: 32px;
        }

        /* Links unter den Icons kleiner */
        .search-container .search-icons a {
            font-size: 0.85rem;
        }
    }

        /* Slider komplett ausblenden */
        .tum-slider,
        .slick-slider,
        .slick-wrapper {
            display: none !important;
        }

        /* Aktuelles + Kurse untereinander */
        .aktuelles-startseite .view-content.row,
        .kurstermine-startseite .view-content.row {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
        }

        .aktuelles-startseite .views-row,
        .kurstermine-startseite .views-row {
            width: 100%;
            flex: 1 1 100%;
        }


    }

/* =========================================
   ENDE STARTSEITEN SLIDER
   ========================================= */
