/* --- Global Styles --- */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    height: 100%; /* Ensures the body can expand to full height */
}

/* --- Main Layout: Body, Content, Footer --- */

body {
    /* Flexbox setup for the "footer at the bottom" layout */
    display: flex;
    flex-direction: column;
    min-height: 100vh;

    /* Your existing styling */
    margin: 0;
    background-color: #DECEBE;
    font-family: Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.1;
    color: #333;
}

/* The key step: tells the main content to grow and push the footer down */
.page-wrapper {
    flex-grow: 1;
}

footer {
    /* Prevents the footer from shrinking */
    flex-shrink: 0;
    /* Your existing styling */
    background-color: #2a2a2a;
    color: #DECEBE;
    text-align: center;
    padding: 10px;
    font-size: 0.9rem;
    font-weight: 600;
}


/* --- Utility Styles (for content inside the wrapper) --- */

.page-container {
    /* Use this class for centering content within the page-wrapper */
    width: 100%;
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
}