
/**
 * OYROPA - HORIZONTAL SCROLLING FIX
 * Verhindert horizontales Scrolling auf Mobile
 * Version: 1.0
 * Date: 16.10.2025
 */

/* Global Box-Sizing */
*,
*::before,
*::after {
    box-sizing: border-box !important;
}

/* Body Overflow Prevention */
body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    width: 100% !important;
}

/* Container Max Width */
.container,
.container-fluid,
main,
section {
    max-width: 100vw !important;
    overflow-x: hidden !important;
}

/* Images & Media */
img,
video,
iframe,
embed,
object {
    max-width: 100% !important;
    height: auto !important;
}

/* Tables - Responsive Wrapper */
table {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

/* Pre & Code Blocks */
pre,
code {
    max-width: 100% !important;
    overflow-x: auto !important;
    word-wrap: break-word !important;
}

/* Long Words */
p,
div,
span,
li,
td,
th {
    word-wrap: break-word !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}

/* Grid & Flex Containers */
.row,
.d-flex,
.flex-row {
    flex-wrap: wrap !important;
    max-width: 100% !important;
}

/* Mobile Specific */
@media (max-width: 768px) {
    body {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Ensure no fixed widths on mobile */
    * {
        min-width: 0 !important;
    }

    /* Tables on mobile */
    table {
        font-size: 14px !important;
    }

    /* Admin Dashboards */
    .admin-dashboard,
    .dashboard-grid {
        padding: 10px !important;
        gap: 10px !important;
    }
}
