/**
 * Startseite: Hero-Teaser (ce_hbk_teaser_full / motiv_hg) – Mobilansicht
 *
 * Feste Hero-Höhe; Bild (.image > picture > img) füllt den Bereich per object-fit.
 * Hinweis: In main_*.css war `picture` fälschlich global mit 100vh belegt (nur Mensa).
 */

@media (max-width: 767px) {
    body.startseite .ce_hbk_teaser_full {
        --startseite-hero-h: clamp(280px, 56vh, 460px);
    }

    body.startseite .ce_hbk_teaser_full .owl-wrapper-outer,
    body.startseite .ce_hbk_teaser_full .owl-wrapper-outer .slider_wrap,
    body.startseite .ce_hbk_teaser_full .owl-carousel .owl-item {
        height: var(--startseite-hero-h) !important;
        max-height: var(--startseite-hero-h) !important;
        min-height: var(--startseite-hero-h) !important;
    }

    body.startseite .ce_hbk_teaser_full .slider_wrap {
        position: relative;
        overflow: hidden;
    }

    /* Bildlayer füllt den Slide (Text liegt absolut darüber) */
    body.startseite .ce_hbk_teaser_full .slider_wrap .image {
        position: absolute;
        inset: 0;
        z-index: 0;
        width: 100%;
        height: 100%;
        margin: 0;
    }

    body.startseite .ce_hbk_teaser_full .slider_wrap .image picture {
        display: block;
        width: 100%;
        height: 100% !important;
        max-height: 100% !important;
    }

    body.startseite .ce_hbk_teaser_full .slider_wrap .image img,
    body.mobile.startseite .container-fluid .slider_wrap .image img,
    body.mobile.startseite .container-fluid .slider_wrap > img {
        display: block;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: cover;
        object-position: center center;
        margin-top: 0 !important;
    }

    body.startseite .ce_hbk_teaser_full .slider_wrap .content,
    body.mobile.startseite .container-fluid .slider_wrap .content {
        position: absolute !important;
        left: 0;
        right: 0;
        bottom: 0.75rem !important;
        top: auto !important;
        width: 100% !important;
        padding: 0 0.65rem;
        box-sizing: border-box;
        z-index: 2;
    }

    body.startseite .ce_hbk_teaser_full .slider_wrap .content .lines,
    body.mobile.startseite .container-fluid .slider_wrap .content .lines {
        max-width: 100%;
        margin: 0;
        padding: 0.65rem 0.85rem 0.75rem;
        box-sizing: border-box;
    }

    body.startseite .ce_hbk_teaser_full .slider_wrap .content:not(.dark_mode) .lines {
        background: rgba(0, 0, 0, 0.52);
    }

    body.startseite .ce_hbk_teaser_full .slider_wrap .content.dark_mode .lines {
        background: rgba(255, 255, 255, 0.9);
    }

    body.startseite .ce_hbk_teaser_full .slider_wrap .content .lines h2,
    body.mobile.startseite .container-fluid .slider_wrap .content .lines h2 {
        font-size: clamp(1.25rem, 5.2vw, 1.65rem) !important;
        line-height: 1.15;
        margin: 0 0 0.35rem;
    }

    body.startseite .ce_hbk_teaser_full .slider_wrap .content .lines h3,
    body.mobile.startseite .container-fluid .slider_wrap .content .lines h3 {
        font-size: clamp(0.9rem, 3.6vw, 1.1rem) !important;
        line-height: 1.35;
        margin: 0;
    }

    body.startseite .ce_hbk_teaser_full .slider_wrap .content .lines .hbk-link {
        width: 40px;
        height: 40px;
        margin-top: 0.5rem;
        font-size: 1.35em;
    }

    body.startseite #maincontent .maincontent {
        padding-left: 0.65rem;
        padding-right: 0.65rem;
        box-sizing: border-box;
    }

    body.startseite #maincontent .container-fluid {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.startseite #maincontent .container-fluid > .mod_article > .ce_text,
    body.startseite #maincontent .mod_newslist {
        padding-left: 0.65rem;
        padding-right: 0.65rem;
        box-sizing: border-box;
    }
}
