/* 
   Standard Layout System
   Version: 1.0
   =========================================== */

/* Basis Layout */
.std-site-wrapper {
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}

.std-main {
    flex: 1 0 auto;
    width: 100%;
}

/* Container System */
.std-container,
.std-container-fluid,
.std-container-sm,
.std-container-md,
.std-container-lg,
.std-container-xl {
    width: 100%;
    max-width: var(--site-max-width);
    margin: 0 auto;
    padding-left: var(--site-padding);
    padding-right: var(--site-padding);
    position: relative;
}

/* Standard Sektionen */
.std-section {
    width: 100%;
    padding: 6rem 0;
    position: relative;
    background: transparent;
}

.std-content-wrapper {
    padding: 3rem;
    border-radius: 16px;
    background: #f8f9fa;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
    margin: 2rem auto;
    max-width: 1200px;
}

/* Grid System */
.std-row {
    display: flex;
    flex-wrap: wrap;
    margin-left: calc(-1 * var(--site-padding));
    margin-right: calc(-1 * var(--site-padding));
}

[class*="std-col-"] {
    padding-left: var(--site-padding);
    padding-right: var(--site-padding);
}

/* Abstände Reset */
.container,
.container-fluid {
    margin-top: 0;
    margin-bottom: 0;
}

.header + main {
    margin-top: 0;
    padding-top: 0;
}

main > .subpage-hero:first-child {
    margin-top: 0;
    padding-top: 0;
}

/* Debug Layout */
body.debug::before {
    content: '';
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: var(--site-max-width);
    height: 100vh;
    background: transparent;
    pointer-events: none;
    z-index: 9999;
    border-left: 2px dashed rgba(255, 0, 0, 0.3);
    border-right: 2px dashed rgba(255, 0, 0, 0.3);
}

body.debug::after {
    content: '';
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 100vh;
    background: rgba(0, 0, 255, 0.5);
    pointer-events: none;
    z-index: 9999;
}

/* Container Debug */
.debug .container {
    background: rgba(255, 0, 0, 0.03);
    outline: 1px solid rgba(255, 0, 0, 0.1);
}

/* Section Debug */
.debug .section,
.debug .section-full {
    background: rgba(0, 255, 0, 0.02);
    outline: 1px solid rgba(0, 255, 0, 0.1);
}

/* Grid Debug */
.debug .row {
    background: rgba(0, 0, 255, 0.02);
    outline: 1px solid rgba(0, 0, 255, 0.1);
}

/* Responsive Layout */
@media (max-width: 1200px) {
    :root {
        --site-padding: 1.5rem;
    }
}

@media (max-width: 992px) {
    :root {
        --site-padding: 1.25rem;
    }
}

@media (max-width: 768px) {
    :root {
        --site-padding: 1rem;
    }
}

@media (max-width: 576px) {
    :root {
        --site-padding: 0.75rem;
    }
} 