.finals-page {
    max-width: 1200px;
    margin: 2rem auto;
    padding: 0 1rem;
}

.finals-page h1 {
    text-align: center;
    color: #004080;
    margin-bottom: 2rem;
}

.round-section {
    margin-bottom: 40px;
}

.round-section h2 {
    margin-bottom: 15px;
    text-align: center;
}

.matches-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.match-card {
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 15px;
    width: 280px;
    text-align: center;
    background: #f9f9f9;
}

.match-card .teams {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.team img {
    width: 50px;
    height: 50px;
    object-fit: contain;
}

.score span {
    font-weight: bold;
    font-size: 1.2em;
}

.info {
    font-size: 0.9em;
    color: #555;
}

.info_score {
    text-align: center;
    font-size: 0.8rem;
    color: #555;
    font-weight: bold;
}

/* Generatation NAV back to top */
.generation-nav {
    position: sticky;
    top: 0;
    background: #fff;
    padding: .5rem;
    border-bottom: 1px solid #ccccff;
    z-index: 5;
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}
.generation-nav a {
    text-decoration: none;
    padding: .25rem .5rem;
    border-radius: .5rem;
    border: 1px solid #ddd;
}
.gen-block { scroll-margin-top: 80px; margin-top: 2rem; }
.back-to-top { margin-top: .5rem; display: inline-block; font-size: .9em; }

/* Finals Banner */
.banner {
    text-align: center;          /* Center the image horizontally */
    margin: 2rem 0;              /* Add space above & below */
}

.banner img {
    max-width: 100%;             /* Make it scale down on smaller screens */
    height: auto;                /* Keep aspect ratio */
    display: inline-block;       /* Allow centering with text-align */
}
