/* ===== Global Reset ===== */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Trebuchet MS', 'Lucida Sans Unicode',
                 'Lucida Grande', 'Lucida Sans',
                 Arial, sans-serif;
}

body {
    background-color: #e7ecff; /* default site background */
}

/* ===== Navigation ===== */
nav {
    height: 80px;
    background: rgb(0, 0, 39);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 30px;
}

.logo {
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 0 2rem;
}

nav a {
    color: #fff;
    font-size: 1rem;
    padding: 0 1.5rem;
    text-decoration: none;
}

nav a:hover {
    color: darkgray;
}

/* ===== Competitions Page ===== */
.competitions-page {
    min-height: calc(100vh - 80px);
    padding: 4rem 2rem;
}

.competitions-page h1 {
    text-align: center;
    font-size: 2.6rem;
    margin-bottom: 3rem;
    color: rgb(0, 0, 39);
}

/* ===== List Container ===== */
.competitions-list {
    max-width: 900px;
    margin: 0 auto;
}

/* ===== Individual Competition Item ===== */
.competition-item {
    background-color: #ffffff; /* white box */
    padding: 2.2rem 2.5rem;
    border-radius: 14px;
    border-bottom: 1px solid #ddd;

    display: flex;
    flex-direction: column;
    justify-content: center;

    animation: fadeIn 0.6s ease-out;
    transition: transform 0.2s ease, background-color 0.2s ease;
    margin-bottom: 1.8rem;
}

.competition-item:last-child {
    margin-bottom: 0;
    border-bottom: none;
}

/* Hover lift effect */
.competition-item:hover {
    transform: translateY(-4px);
    background-color: #f5f7ff; /* subtle highlight */
}

/* Header row: competition name + year */
.competition-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
}

.competition-header h3 {
    font-size: 1.45rem;
    color: rgb(0, 0, 39);
}

.competition-year {
    font-size: 0.95rem;
    color: #555;
    white-space: nowrap;
}

/* Meta line (role/placement/etc.) */
.competition-meta {
    font-size: 0.95rem;
    font-weight: 600;
    color: #333;
    margin: 0.6rem 0;
}

/* Description */
.competition-desc {
    font-size: 1rem;
    line-height: 1.6;
    color: #444;
}

/* ===== Animations ===== */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Optional: stagger fade-in */
.competition-item:nth-child(1) { animation-delay: 0s; }
.competition-item:nth-child(2) { animation-delay: 0.1s; }
.competition-item:nth-child(3) { animation-delay: 0.2s; }
.competition-item:nth-child(4) { animation-delay: 0.3s; }
.competition-item:nth-child(5) { animation-delay: 0.4s; }

/* ===== Mobile Styles ===== */
@media (max-width: 768px) {

    nav {
        flex-direction: column;
        height: auto;
        padding: 1rem;
        gap: 0.5rem;
    }

    nav a {
        padding: 0.5rem;
        font-size: 0.95rem;
    }

    .competitions-page {
        padding: 3rem 1.5rem;
    }

    .competitions-page h1 {
        font-size: 2.2rem;
    }

    .competition-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .competition-year {
        font-size: 0.9rem;
    }
}
