/* =========================================================
   IKARUS responsive.css
   Mobile / Tablet Optimierung
   ========================================================= */

* {
    box-sizing: border-box;
}





html,
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

img,
video,
iframe,
object,
embed {
    max-width: 100%;
}

img {
    height: auto;
}

/* =========================================================
   TABLET + HANDY
   ========================================================= */
@media (max-width: 768px) {

    body {
        font-size: 16px;
        line-height: 1.4;
        background: #ffffff;
    }

    /* =====================================================
       HEADER MOBILE
       Erzwingt volle Bildschirmbreite
       ===================================================== */

    .main-header {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;

        background: #003153 !important;
        padding: 16px 14px 18px 14px !important;
        text-align: center !important;
        overflow: hidden !important;
    }

    .logo-container {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        margin: 0 auto 14px auto !important;
        padding: 0 !important;
    }

    .logo-container a {
        display: inline-block !important;
        text-align: center !important;
    }

    .logo,
    .logo-container img {
        display: block !important;
        width: 170px !important;
        max-width: 70% !important;
        height: auto !important;
        max-height: 80px !important;
        margin: 0 auto !important;
        object-fit: contain !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .main-nav {
        display: block !important;
        width: 100% !important;
        max-width: 330px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    .main-nav ul {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }

    .main-nav li {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .main-nav a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        min-height: 34px !important;
        padding: 8px 6px !important;

        background: #ffffff !important;
        color: #003153 !important;

        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-align: center !important;
        text-decoration: none !important;

        border-radius: 4px !important;
        border: none !important;
        white-space: nowrap !important;
    }

    /* =====================================================
       HAUPTBEREICH
       ===================================================== */

    main,
    .content,
    .page-content,
    .container {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    h1 {
        max-width: 320px !important;
        margin: 26px auto 26px auto !important;

        font-size: 22px !important;
        line-height: 1.22 !important;
        font-weight: 700 !important;
        text-align: center !important;
        letter-spacing: 0.2px !important;

        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    h2 {
        font-size: 20px !important;
        line-height: 1.25 !important;
        text-align: center !important;
    }

    h3 {
        font-size: 17px !important;
        line-height: 1.25 !important;
    }

    /* =====================================================
       REGIONEN / PDF-KARTEN
       ===================================================== */

    .pdf-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 24px !important;

        width: 100% !important;
        max-width: 340px !important;
        margin: 20px auto 36px auto !important;
        padding: 0 !important;
    }

    .pdf-item {
        width: 100% !important;
        max-width: 320px !important;
        margin: 0 auto !important;

        border-radius: 7px !important;
        overflow: hidden !important;
    }

    .pdf-thumb-container {
        width: 100% !important;
        height: auto !important;
        overflow: hidden !important;
        border-radius: 7px 7px 0 0 !important;
    }

    .pdf-thumb-object {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        transform: none !important;
        transform-origin: center !important;
    }

    .pdf-desc {
        text-align: center !important;
        padding: 7px 6px 9px 6px !important;
    }

    .pdf-desc h3 {
        margin: 0 !important;
        font-size: 14px !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
    }

    /* =====================================================
       FOOTER MOBILE
       Volle Breite + saubere Spalten
       ===================================================== */

    footer,
    .footer,
    .main-footer {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;

        background: #003153 !important;
        padding: 34px 20px 40px 20px !important;
        text-align: center !important;
        overflow: hidden !important;
    }

    footer .footer-content,
    .footer-content,
    .footer-columns {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        column-gap: 20px !important;
        row-gap: 28px !important;

        width: 100% !important;
        max-width: 360px !important;
        margin: 0 auto !important;
        padding: 0 !important;

        align-items: start !important;
    }

    footer .footer-content > *,
    .footer-content > *,
    .footer-columns > * {
        width: 100% !important;
        min-width: 0 !important;
        text-align: left !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    footer h3,
    .footer h3,
    .main-footer h3 {
        margin: 0 0 9px 0 !important;

        font-size: 12px !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.4px !important;
    }

    footer p,
    footer a,
    footer li,
    .footer p,
    .footer a,
    .footer li,
    .main-footer p,
    .main-footer a,
    .main-footer li {
        font-size: 10.5px !important;
        line-height: 1.55 !important;
        margin: 3px 0 !important;

        word-break: normal !important;
        overflow-wrap: break-word !important;
    }

    footer ul,
    .footer ul,
    .main-footer ul {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    footer li,
    .footer li,
    .main-footer li {
        margin-bottom: 4px !important;
    }

    footer a,
    .footer a,
    .main-footer a {
        display: inline-block !important;
        text-decoration: none !important;
    }

    footer img,
    .footer img,
    .main-footer img {
        display: inline-block !important;
        max-width: 30px !important;
        height: auto !important;
        margin: 5px 6px 5px 0 !important;
        vertical-align: middle !important;
    }
}

/* =========================================================
   KLEINE HANDYS
   ========================================================= */
@media (max-width: 480px) {

    .main-header {
        padding: 15px 12px 17px 12px !important;
    }

    .logo,
    .logo-container img {
        width: 165px !important;
        max-width: 72% !important;
    }

    .main-nav {
        max-width: 315px !important;
    }

    .main-nav ul {
        gap: 7px !important;
    }

    .main-nav a {
        font-size: 11px !important;
        min-height: 33px !important;
        padding: 7px 5px !important;
    }

    h1 {
        max-width: 300px !important;
        margin: 24px auto 24px auto !important;
        font-size: 21px !important;
        line-height: 1.22 !important;
    }

    .pdf-grid {
        max-width: 320px !important;
        gap: 22px !important;
        margin: 20px auto 34px auto !important;
    }

    .pdf-item {
        max-width: 305px !important;
    }

    footer,
    .footer,
    .main-footer {
        padding: 34px 18px 40px 18px !important;
    }

    footer .footer-content,
    .footer-content,
    .footer-columns {
        grid-template-columns: 1fr 1fr !important;
        max-width: 330px !important;
        column-gap: 16px !important;
        row-gap: 26px !important;
    }

    footer h3,
    .footer h3,
    .main-footer h3 {
        font-size: 11px !important;
    }

    footer p,
    footer a,
    footer li,
    .footer p,
    .footer a,
    .footer li,
    .main-footer p,
    .main-footer a,
    .main-footer li {
        font-size: 9.5px !important;
        line-height: 1.5 !important;
    }

    footer img,
    .footer img,
    .main-footer img {
        max-width: 28px !important;
    }
}

/* =========================================================
   SEHR SCHMALE HANDYS
   ========================================================= */
@media (max-width: 360px) {

    .logo,
    .logo-container img {
        width: 155px !important;
        max-width: 74% !important;
    }

    .main-nav {
        max-width: 295px !important;
    }

    .main-nav a {
        font-size: 10px !important;
        min-height: 31px !important;
        padding: 7px 4px !important;
    }

    h1 {
        max-width: 270px !important;
        font-size: 20px !important;
    }

    .pdf-grid {
        max-width: 300px !important;
    }

    .pdf-item {
        max-width: 285px !important;
    }

    footer .footer-content,
    .footer-content,
    .footer-columns {
        max-width: 300px !important;
        column-gap: 12px !important;
    }

    footer p,
    footer a,
    footer li,
    .footer p,
    .footer a,
    .footer li,
    .main-footer p,
    .main-footer a,
    .main-footer li {
        font-size: 8.8px !important;
    }
}