/* IT-SCHNITTSTELLE P1.4H
   Mobile Rescue Layer
   Ziel: Startseiten-Hero und Landingpage auf kleinen Displays zuverlässig lesbar machen.
   Diese Datei MUSS nach p14g-bullet-collision-fix.css geladen werden.
*/

@media (max-width: 767px) {

    /* -------------------------------------------------
       STARTSEITE: statischer Hero
       Ursache der bisherigen Kürzung:
       feste/minimale Höhe + absolute Caption + overflow:hidden.
       Auf Mobile wird der Hero deshalb in normalen Dokumentfluss überführt.
       ------------------------------------------------- */

    .its-static-hero {
        min-height: 0 !important;
        height: auto !important;
        overflow: visible !important;
        position: relative !important;
        background: #f5f8fa;
    }

    .its-static-hero .its-static-hero-item {
        min-height: 0 !important;
        height: auto !important;
        position: relative !important;
        overflow: visible !important;
    }

    .its-static-hero .fill {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        background-size: cover !important;
        background-position: center center !important;
        z-index: 0 !important;
    }

    .its-static-hero .fill::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        background: rgba(255,255,255,.88) !important;
    }

    .its-static-hero .its-static-hero-caption,
    #heroCarouselslide.its-static-hero .carousel-caption {
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        display: block !important;
        width: 100% !important;
        min-height: 0 !important;
        padding: 24px 16px 30px !important;
        z-index: 2 !important;
        color: #20262d !important;
        text-shadow: none !important;
    }

    .its-static-hero .its-static-hero-caption .container,
    #heroCarouselslide.its-static-hero .carousel-caption .container {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 24px 20px !important;
        border-radius: 12px !important;
        background: rgba(255,255,255,.94) !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    .its-static-hero .its-static-hero-caption h1,
    #heroCarouselslide.its-static-hero .carousel-caption h1 {
        margin: 0 0 14px !important;
        font-size: clamp(30px, 9vw, 38px) !important;
        line-height: 1.08 !important;
        text-align: left !important;
        color: #20262d !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }

    .its-static-hero .its-static-hero-caption p,
    #heroCarouselslide.its-static-hero .carousel-caption p {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        max-width: none !important;
        margin: 0 0 14px !important;
        font-size: 16px !important;
        line-height: 1.55 !important;
        text-align: left !important;
        color: #20262d !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    .its-static-hero .its-static-hero-caption .btn,
    #heroCarouselslide.its-static-hero .carousel-caption .btn {
        display: inline-block !important;
        float: none !important;
        min-height: 44px !important;
        margin-top: 6px !important;
        padding: 11px 16px !important;
    }

    /* -------------------------------------------------
       NAVIGATION / HEADER
       ------------------------------------------------- */

    #header,
    #header .topRow2,
    #header .container {
        max-width: 100% !important;
    }

    #header .topRow2 .webdesign-logo,
    .mainLogo {
        max-width: calc(100vw - 90px) !important;
        height: auto !important;
    }

    #header .topRow2 .webdesign-logo img,
    .mainLogo img {
        max-width: 100% !important;
        height: auto !important;
    }

    /* -------------------------------------------------
       ALLGEMEINE MOBILE-LESBARKEIT
       ------------------------------------------------- */

    body {
        overflow-x: hidden !important;
    }

    #content .container,
    .webdesign-content .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box !important;
    }

    #content p,
    #content li {
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    /* -------------------------------------------------
       LANDINGPAGE /it-projekt-pruefen
       ------------------------------------------------- */

    #c773 {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 14px 48px !important;
        box-sizing: border-box !important;
    }

    #c773 #c766 {
        margin: 10px 0 28px !important;
        padding: 30px 20px !important;
        border-radius: 12px !important;
    }

    #c773 #c766 h1 {
        font-size: clamp(30px, 9vw, 38px) !important;
        line-height: 1.08 !important;
    }

    #c773 #c766 p:first-of-type {
        font-size: 17px !important;
        line-height: 1.5 !important;
    }

    #c773 #c767,
    #c773 #c768,
    #c773 #c769,
    #c773 #c770,
    #c773 #c771,
    #c773 #c772 {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    #c773 #c767,
    #c773 #c768,
    #c773 #c770,
    #c773 #c771 {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }

    #c773 #c769,
    #c773 #c771,
    #c773 #c772 {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    #c773 h2 {
        font-size: 25px !important;
        line-height: 1.18 !important;
    }

    #c773 p,
    #c773 li {
        font-size: 16px !important;
        line-height: 1.55 !important;
    }

    #c773 .lp-internal-links a {
        display: inline-block !important;
        margin: 0 14px 8px 0 !important;
    }

    /* Ablauf auf Mobile kompakt */
    #c773 #c770 p:not(:last-child),
    #c773 #c770 p:last-child {
        margin-bottom: 12px !important;
        padding: 14px 14px 14px 16px !important;
    }

    /* Footer */
    #footer .container {
        width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    #footer [class*="col-"] {
        width: 100% !important;
        float: none !important;
    }
}