/* =====================================================================
   Startseite – Top-News-Layout.

   Wird in Assets.typoscript NACH theme.css geladen und in News.typoscript
   auf allen Seiten außer der Root-Seite der Site wieder entladen.
   Enthält wie theme.css keine Markenfarben und keine Content-IDs.
   ===================================================================== */

@media (min-width: 992px) {
    .contentcontainer[data-container-identifier="container_2_columns_left"] {
        grid-template-columns: 1fr;
    }
}

#maincontent {
    background-color: transparent;
    padding: 0;
    margin: 0;
}

#maincontent .news-top-item {
    margin-top: 0;
    padding: 0;
    min-height: 450px;
}

#maincontent .news-top-item-text {
    padding: 2rem 1rem;
}

/* Kacheln in der Farbe des Inhaltskastens (Stadthalle dunkel, Eisarena weiß) */
.news-top-item {
    position: relative;
    background-color: var(--theme-content);
    margin: 1rem;
}

.news-top-first {
    margin-bottom: 2rem;
}

.news-top-item-image img,
.news-top-item-image video {
    width: 100%;
    height: auto;
}

/* Die gelieferten Videos sind hochkant (9:16), ohne Zuschnitt waere der Hero
   rund 1600px hoch. aspect-ratio erzwingt den Rahmen, object-fit schneidet
   mittig zu. --news-media-ratio kommt aus theme.css. */
.news-top-item-image video {
    display: block;
    aspect-ratio: var(--news-media-ratio);
    object-fit: cover;
    object-position: center;
    background-color: #000;
}

div.news-top div.news-top-first div.news-top-item div.news-top-item-text {
    position: absolute;
    bottom: 0;
    right: 0;
    width: calc(50% - 40px);
    height: auto;
    min-height: calc(50% - 60px);
    max-height: calc(75%);
    padding: 30px 20px;
    background-color: var(--theme-content);
    z-index: 1;
}

/* Im Hero liegt der Textkasten unten rechts ueber dem Medium. Die
   Video-Controls sitzen ebenfalls unten – die linke Haelfte (Play, Ton)
   bleibt frei, damit das Video pausierbar bleibt. */
div.news-top div.news-top-first div.news-top-item--video div.news-top-item-text {
    max-height: calc(75% - 40px);
}

div.news-top div.news-top-items div.news-top-item {
    min-height: 275px;
    padding: 30px 20px 55px;
    background-color: var(--theme-content);
    border-bottom: 2px solid var(--theme-accent);
}

.news-top-items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

div.news-top-item-more a {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 45px;
    height: 45px;
    background-color: var(--theme-accent);
    text-decoration: none;
    font-size: 50px;
    color: #fff;
}

div.news-top-item-more a:hover {
    background-color: var(--theme-accent-hover);
}

div.news-top-item-more a::after {
    content: "+";
    position: absolute;
    top: -15px;
    left: 10px;
    color: white;
}

@media (max-width: 768px) {
    #maincontent .news-top-items {
        grid-template-columns: 1fr;
    }

    #maincontent .news-top-item {
        min-height: auto;
        border-bottom: 2px solid var(--theme-accent);
    }

    #maincontent .news-top-item img,
    #maincontent .news-top-item video {
        width: 100%;
    }

    #maincontent .news-top-item-text {
        position: inherit;
        width: 100%;
    }
}
