/* Mobile-First: Basis-Styles gelten für mobile Geräte */
/* Horizontal Overflow verhindern: Wetter-Referenz (layout.css) */
* {
    box-sizing: border-box;
}

/* VERPFLICHTEND: Horizontal Overflow verhindern (Regel 018.001) */
body {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* VERPFLICHTEND: Horizontal Overflow verhindern (Regel 011-ui-css-mobile.mdc 005.001) */
.base-layout-container {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    overflow-x: hidden;
    overflow-y: visible;
    box-sizing: border-box;
    position: relative;
    left: 0;
    right: 0;
}

/* VERPFLICHTEND: Horizontal Overflow verhindern (Regel 011-ui-css-mobile.mdc 005.001) */
.base-layout-page-wrapper {
    font-family: var(--font-family-primary);
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: visible;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    position: relative;
    left: 0;
    right: 0;
}

.base-layout-content {
    font-family: var(--font-family-primary);
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
    flex: 1;
    padding: 26px 0 44px;
    max-width: 100%;
    margin: 0 auto;
    width: 100%;
    overflow-x: hidden;
    overflow-y: visible;
    box-sizing: border-box;
    position: relative;
    left: 0;
    right: 0;
}

.base-layout-main {
    padding: 26px 0 44px;
}

/* Mobile-First: Responsive Design - Regel 022: 4 Breakpoints */
/* Basis-Styles gelten für mobile (max-width: 576px) - keine Media Query erforderlich */

/* VERPFLICHTEND: Header/Footer/Content gleiche max-width (011-ui-header.mdc 002, 011-ui-footer.mdc 003) */
/* max-width: 1600px (var(--max)) für alle Desktop-/Widescreen-Breakpoints */

/* Tablet/iPad (min-width: 600px) */
@media (min-width: 600px) {
    .base-layout-content {
        padding: 26px 0 44px;
        max-width: 100%;
    }
}

/* Kleiner Desktop/13-Zoll (min-width: 1024px) */
@media (min-width: 1024px) {
    .base-layout-content {
        max-width: var(--max);
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding: 26px 0 44px;
    }
}

/* Großer Desktop/Widescreen (min-width: 1440px) */
@media (min-width: 1440px) {
    .base-layout-content {
        max-width: var(--max);
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
}