body {
    font-family: sans-serif;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    background-color: #FFFFFF; /* Hungarian Flag White */
    color: #333;
}

.site-container {
    max-width: 1200px; /* Max width for the main content area */
    margin: 0 auto; /* Center the container */
    padding: 0 20px; /* Add horizontal padding for spacing on smaller screens */
    box-sizing: border-box; /* Ensure padding doesn't add to the max-width */
}

header {
    background: #FF0000; /* Hungarian Flag Red */
    color: #FFFFFF; /* White text on Red background */
    padding: 0.5rem 1rem; /* Adjusted padding */
}

.header-content {
    display: flex;
    align-items: center; /* Vertically center logo and title */
    justify-content: flex-start; /* Align items to the start (left) */
    max-width: 1200px; /* Optional: constrain header width on very large screens */
    margin: 0 auto; /* Center header content if max-width is applied */
}

.header-logo {
    max-height: 60px; /* Control logo size */
    width: auto; /* Maintain aspect ratio */
    margin-right: 15px; /* Space between logo and title */
}

header h1 {
    margin: 0; /* Remove default h1 margin */
    font-size: 2rem; /* Slightly reduced font size to accommodate logo */
    color: #FFFFFF; /* Ensure H1 is white */
    text-align: left; /* Align text to the left */
    flex-grow: 1; /* Allow title to take remaining space if needed */
}

.hero-banner {
    width: 100%;
    height: 400px; /* Initial height for the hero banner */
    overflow: hidden; /* Ensures the image doesn't spill out if it's larger */
}

.event-photo { /* Now refers to the hero image */
    width: 100%;
    height: 100%;
    object-fit: cover; /* Scales the image to maintain aspect ratio while filling the element's entire content box */
    display: block; /* Remove any potential space below the image */
}

section {
    padding: 20px;
    margin: 20px 0; /* Adjusted to 0 horizontal margin as site-container handles padding */
    background: #FFFFFF; /* Hungarian Flag White */
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

h2 {
    color: #008000; /* Hungarian Flag Green */
}

hr.subtle-divider {
    border: 0;
    height: 1px;
    background-color: #DAA520; /* Mustard yellow / Ochre - Grabowski's coat */
    margin: 40px 20%;
}

footer {
    text-align: center;
    padding: 20px;
    margin-top: 30px;
    font-size: 0.9em;
    color: #777;
}

/* Basic responsive design for smaller screens */
@media (max-width: 768px) {
    section {
        margin: 10px 0; /* Adjusted to 0 horizontal margin */
    }
}

/* Header adjustments for small screens */
@media (max-width: 600px) {
    .header-content {
        flex-direction: column; /* Stack logo and title */
        padding-bottom: 0.5rem; /* Add some padding at the bottom when stacked */
    }

    .header-logo {
        margin: 0 auto 10px auto; /* Center logo and add bottom margin */
        max-height: 50px; /* Slightly smaller logo on mobile */
    }

    header h1 {
        font-size: 1.5rem; /* Adjust title font size for stacked layout */
        text-align: center; /* Center title text */
    }

    .hero-banner {
        height: 300px; /* Reduced height for hero banner on small screens */
    }
}
