/* ==========================================================
   DRK Rottenburg Wiki
   Mobile View Fix
   ========================================================== */

@media screen and (max-width: 900px) {

    body {
        overflow-x: hidden !important;
    }

    .page-content,
    .page-content-inner,
    .entity-content,
    .page-display,
    main {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    p,
    li,
    div,
    td,
    h1,
    h2,
    h3,
    h4 {
        word-break: normal !important;
        overflow-wrap: break-word !important;
        hyphens: auto !important;
    }


    /* ===== Tabellen mobil stapeln ===== */

    .drk-clean-table,
    .drk-grid-table,
    .drk-clean-table tbody,
    .drk-grid-table tbody,
    .drk-clean-table tr,
    .drk-grid-table tr,
    .drk-clean-table td,
    .drk-grid-table td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        border-spacing: 0 !important;
    }

    .drk-clean-table,
    .drk-grid-table {
        table-layout: auto !important;
        border-collapse: collapse !important;
        margin-bottom: 28px !important;
    }

    .drk-clean-table td,
    .drk-grid-table td,
    .drk-card-wrap {
        padding: 0 !important;
        margin: 0 0 16px 0 !important;
        background: transparent !important;
        border: none !important;
    }


    /* ===== Rote Hero-Blöcke ===== */

    .drk-start-hero,
    .drk-guide-card-red,
    .drk-upload-card,
    td.drk-start-hero {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: auto !important;
        box-sizing: border-box !important;

        background: linear-gradient(135deg, #b00020 0%, #cf0026 58%, #7d0018 100%) !important;
        color: #ffffff !important;

        border-radius: 18px !important;
        overflow: hidden !important;
        position: relative !important;
        padding: 26px 18px !important;
        margin: 0 0 26px 0 !important;

        border: 1px solid rgba(255,120,130,0.24) !important;
        box-shadow: 0 14px 28px rgba(0,0,0,0.22) !important;
    }

    .drk-guide-card-red-content,
    .drk-upload-card-content {
        position: relative !important;
        z-index: 3 !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: center !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    .drk-guide-card-red-header,
    .drk-upload-card-header {
        display: block !important;
        text-align: center !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .drk-guide-card-red-badge,
    .drk-upload-card-badge {
        display: inline-block !important;
        width: 58px !important;
        height: 58px !important;
        line-height: 58px !important;
        font-size: 28px !important;
        margin: 0 auto 14px auto !important;
        border-radius: 15px !important;
        text-align: center !important;

        background: rgba(255,255,255,0.16) !important;
        border: 1px solid rgba(255,255,255,0.28) !important;
        color: #ffffff !important;
    }

    .drk-start-hero h1,
    .drk-start-hero h2,
    .drk-guide-card-red-title,
    .drk-upload-card-title {
        position: relative !important;
        z-index: 4 !important;
        color: #ffffff !important;
        font-size: 1.45rem !important;
        line-height: 1.18 !important;
        text-align: center !important;
        margin: 0 0 12px 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .drk-start-hero p,
    .drk-guide-card-red-intro,
    .drk-upload-card-intro {
        position: relative !important;
        z-index: 4 !important;
        color: #ffffff !important;
        font-size: 0.98rem !important;
        line-height: 1.45 !important;
        text-align: center !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .drk-start-hero::before,
    .drk-guide-card-red::before,
    .drk-upload-card::before {
        content: "" !important;
        position: absolute !important;
        top: -45px !important;
        right: -45px !important;
        width: 150px !important;
        height: 150px !important;
        border-radius: 50% !important;
        background: rgba(255,255,255,0.10) !important;
        z-index: 1 !important;
        pointer-events: none !important;
    }

    .drk-start-hero::after,
    .drk-guide-card-red::after,
    .drk-upload-card::after {
        content: "" !important;
        position: absolute !important;
        left: -45px !important;
        bottom: -35px !important;
        width: 170px !important;
        height: 70px !important;
        border-radius: 70px !important;
        background: rgba(255,255,255,0.08) !important;
        transform: rotate(-8deg) !important;
        z-index: 1 !important;
        pointer-events: none !important;
    }


    /* ===== Normale Kacheln ===== */

    .drk-card-link {
        width: 100% !important;
        max-width: 100% !important;
        min-height: auto !important;
        padding: 22px 18px !important;
        margin: 0 0 16px 0 !important;
        border-radius: 18px !important;
        box-sizing: border-box !important;
    }

    .drk-card-title {
        font-size: 1.25rem !important;
        line-height: 1.25 !important;
        min-height: 0 !important;
        margin: 0 0 10px 0 !important;
    }

    .drk-card-text {
        font-size: 0.98rem !important;
        line-height: 1.45 !important;
        min-height: 0 !important;
        text-align: left !important;
    }


    /* ===== Boxen ===== */

    .drk-soft-box,
    .drk-soft-box-blue,
    .drk-link-box,
    .drk-link-box-blue,
    .drk-link-box-red {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 18px !important;
        margin: 0 0 16px 0 !important;
        border-radius: 16px !important;
        overflow-wrap: anywhere !important;
    }

    .drk-soft-box ul,
    .drk-soft-box-blue ul {
        padding-left: 20px !important;
    }


    /* ===== Überschriften und Trenner ===== */

    .drk-section-title {
        font-size: 1.55rem !important;
        line-height: 1.25 !important;
        margin: 26px 0 16px 0 !important;
    }

    .drk-divider {
        margin: 30px 0 !important;
    }


    /* ===== Tabellen generell ===== */

    .page-content table,
    .page-content .drk-clean-table,
    .page-content .drk-grid-table {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: auto !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow: visible !important;
    }

    .page-content table tbody,
    .page-content table tr,
    .page-content table td {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .page-content .drk-clean-table > tbody > tr,
    .page-content .drk-grid-table > tbody > tr {
        display: block !important;
        width: 100% !important;
    }

    .page-content .drk-clean-table > tbody > tr > td,
    .page-content .drk-grid-table > tbody > tr > td,
    .page-content .drk-card-wrap {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 0 18px 0 !important;
        vertical-align: top !important;
    }

    .page-content td,
    .page-content th {
        word-break: normal !important;
        overflow-wrap: anywhere !important;
        white-space: normal !important;
        line-height: 1.45 !important;
    }

    .page-content table:not(.drk-grid-table):not(.drk-clean-table) {
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        border-radius: 14px !important;
    }


    /* ===== Guide-Items ===== */

    .drk-guide-list {
        display: block !important;
    }

    .drk-guide-item-red {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        margin-bottom: 12px !important;
        padding: 14px 15px !important;
        text-align: left !important;
    }

    .drk-guide-item-red .drk-guide-item-question,
    .drk-guide-item-red .drk-guide-item-answer {
        text-align: left !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }


    /* ===== PDF mobil ===== */

    .drk-pdf-viewer-box {
        width: 100% !important;
        max-width: 100% !important;
        height: 620px !important;
        margin: 20px 0 !important;
        box-sizing: border-box !important;
    }

    .drk-pdf-viewer-frame {
        width: 100% !important;
        height: 100% !important;
        border: 0 !important;
    }
}


@media screen and (max-width: 520px) {

    .drk-start-hero,
    .drk-guide-card-red,
    .drk-upload-card,
    td.drk-start-hero {
        padding: 24px 14px !important;
        border-radius: 16px !important;
    }

    .drk-start-hero h1,
    .drk-start-hero h2,
    .drk-guide-card-red-title,
    .drk-upload-card-title {
        font-size: 1.32rem !important;
    }

    .drk-start-hero p,
    .drk-guide-card-red-intro,
    .drk-upload-card-intro {
        font-size: 0.94rem !important;
    }

    .drk-card-link {
        padding: 20px 16px !important;
    }

    .drk-section-title {
        font-size: 1.42rem !important;
    }

    .drk-pdf-viewer-box {
        height: 560px !important;
    }

    .drk-form-embed-frame-wrap {
        height: 720px !important;
    }
}
