/* ======================================
   INTERNAL GOLF ASSOCIATION
   Main Stylesheet
====================================== */


:root {

    --iga-green: #0B3D2E;
    --iga-gold: #C9A227;
    --iga-black: #111111;
    --iga-white: #F7F7F2;
    --iga-gray: #707070;

}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


body {

    font-family: Arial, Helvetica, sans-serif;
    background: var(--iga-white);
    color: var(--iga-black);

}



/* =========================
   HEADER
========================= */


header {

    background: var(--iga-green);
    color:white;
    padding:20px;
    text-align:center;

}


header img {

    width:120px;
    margin-bottom:10px;

}


header h1 {

    font-size:32px;
    letter-spacing:2px;

}



nav {

    margin-top:20px;

}


nav a {

    color:white;
    text-decoration:none;
    margin:0 12px;
    font-weight:bold;
    text-transform:uppercase;
    font-size:14px;

}


nav a:hover {

    color:var(--iga-gold);

}



/* =========================
   HERO SECTION
========================= */


.hero {

    min-height:400px;
    background-image:
    linear-gradient(
        rgba(0,0,0,.5),
        rgba(0,0,0,.5)
    ),
    url("../images/hero-bg.jpg");

    background-size:cover;
    background-position:center;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;

    color:white;

}


.hero h2 {

    font-size:48px;

}


.hero p {

    font-size:20px;
    margin-top:15px;

}



/* =========================
   CARDS
========================= */


.container {

    width:90%;
    max-width:1200px;
    margin:auto;

}


.cards {

    display:grid;
    grid-template-columns:
    repeat(auto-fit,minmax(250px,1fr));

    gap:20px;

    margin:40px 0;

}



.card {

    background:white;
    padding:25px;
    border-radius:10px;

    box-shadow:
    0 4px 10px rgba(0,0,0,.1);

}


.card h3 {

    color:var(--iga-green);
    margin-bottom:15px;

}



/* =========================
   BUTTONS
========================= */


.button {

    display:inline-block;

    background:var(--iga-green);
    color:white;

    padding:12px 25px;

    border-radius:5px;

    text-decoration:none;

    margin-top:15px;

}


.button:hover {

    background:var(--iga-gold);

}



/* =========================
   FOOTER
========================= */


footer {

    background:var(--iga-black);
    color:white;

    text-align:center;

    padding:20px;

    margin-top:50px;

}



/* MOBILE */

@media(max-width:700px){

    nav a {

        display:block;
        margin:10px;

    }


    .hero h2 {

        font-size:32px;

    }

}

/* =========================
   PAGE TITLES
========================= */

.page-title {

    margin: 40px 0 30px;

}

.page-title h2 {

    color: var(--iga-green);
    font-size: 36px;
    margin-bottom: 10px;

}

.page-title p {

    color: var(--iga-gray);
    font-size: 17px;

}


/* =========================
   COMMISSIONER
========================= */

#pendingRounds {

    margin-top: 20px;

}


.approval-card {

    border-left: 6px solid var(--iga-gold);

}


.approval-header {

    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;

}


.approval-header h3 {

    color: var(--iga-green);

}


.status-pending {

    background: var(--iga-gold);
    color: var(--iga-black);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;

}

/* =========================
   ROUND APPROVALS
========================= */

.round-player {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 15px 0;

    border-bottom: 1px solid #ddd;

}


.round-player:last-child {

    border-bottom: none;

}


.round-player-details {

    color: var(--iga-gray);

    font-size: 14px;

    margin-top: 5px;

}


.playing-group {

    background: var(--iga-white);

    padding: 15px;

    border-radius: 6px;

    margin-bottom: 15px;

}


.playing-group p {

    margin-top: 5px;

    color: var(--iga-green);

    font-weight: bold;

}


.qualification-status {

    font-size: 13px;

    color: var(--iga-gray);

}


.approval-actions {

    margin-top: 20px;

    text-align: right;

}


.approval-actions button {

    border: none;

    cursor: pointer;

    font-family: inherit;

}

/* ==========================================
   IGA LEADERBOARD - MASTERS STYLE
   ========================================== */

.leaderboard-page-header {
    max-width: 1100px;
    margin: 40px auto 25px;
}

.leaderboard-page-header h1 {
    margin: 0;
    font-size: 30px;
    font-weight: 700;
    color: #111111;
}

.leaderboard-page-header p {
    margin: 5px 0 15px;
    color: #707070;
    font-size: 14px;
}


/* ==========================================
   LIVE NOTICE
   ========================================== */

.live-notice {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 8px 13px;

    background: #f7f2dc;
    border-left: 4px solid #C9A227;

    color: #665719;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: .5px;
}

.live-notice span {
    color: #707070;
    font-weight: 400;
    letter-spacing: 0;
}


/* ==========================================
   MAIN LEADERBOARD CARDS
   ========================================== */

.leaderboard-card {
    max-width: 1100px;
    margin: 0 auto 30px;

    padding: 0;

    overflow: hidden;

    border: 1px solid #deded9;
    border-radius: 5px;

    box-shadow: 0 2px 7px rgba(0,0,0,.08);
}


/* ==========================================
   GREEN SECTION HEADER
   ========================================== */

.leaderboard-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 20px 24px;

    background: #0B3D2E;
    color: #F7F7F2;
}

.leaderboard-section-header h2 {
    margin: 0;

    font-size: 21px;
    font-weight: 700;
}

.leaderboard-section-header p {
    margin: 4px 0 0;

    color: #d9e2de;

    font-size: 12px;
}


/* ==========================================
   TABLE
   ========================================== */

.leaderboard-table {
    width: 100%;
}

.leaderboard-row {
    display: grid;

    grid-template-columns:
        70px
        minmax(300px, 1fr)
        130px
        100px
        90px
        90px;

    align-items: center;

    min-height: 62px;

    padding: 0 25px;

    border-bottom: 1px solid #e6e6e2;

    background: #ffffff;

    font-size: 14px;
}

.leaderboard-row:last-child {
    border-bottom: none;
}


/* ==========================================
   TABLE HEADER
   ========================================== */

.leaderboard-header {
    min-height: 40px;

    background: #f0f1ed;

    color: #626262;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1px;

    text-transform: uppercase;
}


/* ==========================================
   PLAYER
   ========================================== */

.position {
    font-size: 15px;
    font-weight: 800;
    color: #444444;
}

.player-name {
    font-size: 15px;
    font-weight: 700;
    color: #222222;
}

.player-name:hover {
    color: #0B3D2E;
}


/* ==========================================
   POINTS
   ========================================== */

.points {
    color: #0B3D2E;

    font-size: 18px;
    font-weight: 800;
}


/* ==========================================
   LEADER ROW
   ========================================== */

.leaderboard-row:nth-child(2) {
    background: #fcfaf0;
}

.leaderboard-row:nth-child(2) .position {
    color: #C9A227;
}

.leaderboard-row:nth-child(2) .points {
    color: #9a7c08;
}


/* ==========================================
   ROW HOVER
   ========================================== */

.leaderboard-row:not(.leaderboard-header):hover {
    background: #f7f8f5;
}


/* ==========================================
   LIVE BADGE
   ========================================== */

.live-badge {
    display: inline-block;

    margin-left: 8px;
    padding: 3px 7px;

    background: #f7f2dc;

    border: 1px solid #dfd2a0;
    border-radius: 3px;

    color: #806b13;

    font-size: 8px;
    font-weight: 800;

    letter-spacing: .7px;

    vertical-align: middle;
}


/* ==========================================
   EVENT LEADERBOARD
   ========================================== */

.event-leaderboard {
    margin: 0;
    border: 1px solid #deded9;
    border-radius: 12px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
}

.event-leaderboard:last-child {
    margin-bottom: 0;
}


.event-header {
    display: flex;

    justify-content: space-between;
    align-items: center;

    padding: 17px 22px;

    border-bottom: 1px solid #deded9;
}

.event-header h3 {
    margin: 0;

    color: #ffffff;

    font-size: 17px;
    font-weight: 700;
}

.event-header p {
    margin: 4px 0 0;

    color: rgba(255, 255, 255, 0.85);

    font-size: 12px;
}


/* ==========================================
   EVENT TABLE
   ========================================== */

.event-leaderboard .leaderboard-row {
    grid-template-columns:
        45px
        minmax(120px, 1fr)
        65px
        65px
        65px;

    min-height: 55px;
    padding: 0 15px;
}

.event-leaderboard .leaderboard-header {
    min-height: 38px;
}


/* ==========================================
   STATUS
   ========================================== */

.status-approved,
.status-pending {
    display: inline-block;

    padding: 6px 10px;

    border-radius: 3px;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: .8px;
}

.status-approved {
    background: #e5efe9;
    color: #0B3D2E;

    border: 1px solid #cbded5;
}

.status-pending {
    background: #f7f2dc;
    color: #806b13;

    border: 1px solid #dfd2a0;
}


/* ==========================================
   LOADING
   ========================================== */

.loading {
    padding: 35px;

    text-align: center;

    color: #707070;

    font-size: 14px;
}


/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 700px) {

    .leaderboard-page-header {
        margin: 25px 15px 20px;
    }

    .leaderboard-page-header h1 {
        font-size: 24px;
    }

    .leaderboard-card {
        margin-left: 10px;
        margin-right: 10px;
    }

    .leaderboard-section-header {
        padding: 17px;
    }

    .leaderboard-section-header h2 {
        font-size: 18px;
    }

    .leaderboard-row {
        grid-template-columns:
            45px
            minmax(150px, 1fr)
            80px
            70px
            60px
            60px;

        padding: 0 12px;

        min-height: 54px;

        font-size: 12px;
    }

    .leaderboard-header {
        font-size: 8px;
    }

    .player-name {
        font-size: 13px;
    }

    .points {
        font-size: 16px;
    }

.event-leaderboard .leaderboard-row {
    grid-template-columns:
        40px
        minmax(120px, 1fr)
        55px
        55px
        55px;

    padding: 0 10px;
}

}

/* ==========================================
   IGA HOMEPAGE
========================================== */


/* ==========================================
   HERO
========================================== */

.iga-home-hero {

    background:
        linear-gradient(
            rgba(0, 59, 36, 0.94),
            rgba(0, 59, 36, 0.94)
        );

    color: white;

    padding: 75px 50px;

    text-align: center;

}


.iga-hero-content {

    max-width: 1100px;

    margin: 0 auto;

}


.iga-season-label {

    font-size: 14px;

    font-weight: bold;

    letter-spacing: 4px;

    margin-bottom: 15px;

    opacity: 0.85;

}


.iga-home-hero h1 {

    font-size: 64px;

    margin: 0;

    letter-spacing: 2px;

}


.iga-home-hero p {

    font-size: 24px;

    margin: 10px 0 20px;

}


.iga-current-season {

    display: inline-block;

    background: #d4af37;

    color: #111;

    padding: 8px 22px;

    border-radius: 30px;

    font-weight: bold;

    font-size: 14px;

    letter-spacing: 1px;

}



/* ==========================================
   FEATURE GRID
========================================== */

.home-feature-grid {

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1.4fr);

    gap: 25px;

    margin-top: 35px;

}


.home-feature-card {

    background: white;

    border-radius: 12px;

    padding: 30px;

    box-shadow:
        0 5px 20px rgba(0,0,0,0.08);

    border-top: 5px solid #003b24;

}


.leader-card {

    text-align: center;

}


.section-label {

    font-size: 12px;

    font-weight: bold;

    letter-spacing: 2px;

    color: #777;

    margin-bottom: 12px;

}


.leader-rank {

    font-size: 18px;

    font-weight: bold;

    color: #d4af37;

    margin-top: 10px;

}


.leader-name {

    font-size: 30px;

    font-weight: bold;

    color: #003b24;

    margin-top: 5px;

}


.leader-points {

    font-size: 54px;

    font-weight: bold;

    line-height: 1;

    margin-top: 20px;

}


.leader-points-label {

    font-size: 11px;

    font-weight: bold;

    letter-spacing: 2px;

    color: #777;

}


.leader-stats {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 10px;

    margin: 25px 0;

    padding-top: 20px;

    border-top: 1px solid #ddd;

}


.leader-stats div {

    display: flex;

    flex-direction: column;

}


.leader-stats strong {

    font-size: 18px;

}


.leader-stats span {

    font-size: 11px;

    color: #777;

    margin-top: 3px;

}

/* ==========================================
   CURRENT IGA LEADER LIST
========================================== */

.leader-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 15px;

}


.leader-title {

    font-size: 12px;

    font-weight: bold;

    letter-spacing: 2px;

    color: #777;

}


.leader-finalized {

    font-size: 10px;

    font-weight: bold;

    letter-spacing: 1px;

    color: #C9A227;

}


/* Leaderboard rows */

.leader-list {

    width: 100%;

}


.leader-list-row {

    display: grid;

    grid-template-columns:
        42px
        minmax(0, 1fr)
        85px
        85px;

    align-items: center;

    min-height: 55px;

    padding: 0;

    border-bottom: 1px solid #e2e2df;

}


.leader-list-row:last-child {

    border-bottom: none;

}


/* Position */

.leader-list-rank {

    font-size: 14px;

    font-weight: 700;

    color: #777;

}


/* Player */

.leader-list-player {

    min-width: 0;

}


.leader-list-player strong {

    display: block;

    font-size: 15px;

    font-weight: 700;

    color: #222;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

}


/* Rounds + Points */

.leader-list-rounds,
.leader-list-points {

    text-align: right;

}


.leader-list-rounds strong,
.leader-list-points strong {

    display: block;

    font-size: 15px;

    font-weight: 700;

    color: #222;

}


.leader-list-rounds span,
.leader-list-points span {

    display: block;

    margin-top: 2px;

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 1px;

    color: #888;

}


/* ==========================================
   1ST PLACE EMPHASIS
========================================== */

.leader-list-row.leader-first {

    min-height: 65px;

}


.leader-first .leader-list-rank {

    font-size: 16px;

    font-weight: 800;

    color: #0B3D2E;

}


.leader-first .leader-list-player strong {

    font-size: 17px;

}


.leader-first .leader-list-rounds strong,
.leader-first .leader-list-points strong {

    font-size: 17px;

}


.leader-first .leader-list-points strong {

    color: #0B3D2E;

}

/* ==========================================
   OPEN ROUNDS
========================================== */

.open-rounds-card {

    min-height: 250px;

}


.open-round-item {

    padding: 18px 0;

    border-bottom: 1px solid #ddd;

}


.open-round-item:last-child {

    border-bottom: none;

}


.open-round-top {

    display: flex;

    justify-content: space-between;

    align-items: flex-start;

    gap: 20px;

}


.open-round-name {

    font-size: 20px;

    font-weight: bold;

    color: #003b24;

}


.open-round-date {

    font-size: 13px;

    color: #777;

    margin-top: 4px;

}


.open-round-count {

    font-weight: bold;

    font-size: 18px;

    white-space: nowrap;

}


.open-round-course {

    font-size: 13px;

    margin-top: 8px;

    color: #555;

}


.open-round-status {

    margin-top: 12px;

    font-size: 13px;

}


.open-round-status strong {

    color: #003b24;

    font-size: 18px;

}


.open-round-status.pending {

    color: #9a7610;

}


.open-round-status.complete {

    color: #003b24;

}


.open-rounds-empty {

    text-align: center;

    padding: 35px 15px;

}


.open-rounds-icon {

    font-size: 35px;

    margin-bottom: 10px;

}



/* ==========================================
   GENERAL HOMEPAGE SECTIONS
========================================== */

.home-section {

    background: white;

    border-radius: 12px;

    padding: 30px;

    margin-top: 30px;

    box-shadow:
        0 5px 20px rgba(0,0,0,0.06);

}


.home-section-header {

    display: flex;

    justify-content: space-between;

    align-items: flex-end;

    margin-bottom: 25px;

}


.home-section-header h2 {

    margin: 0;

    color: #003b24;

}


.home-section-header a {

    color: #003b24;

    font-weight: bold;

    text-decoration: none;

}


.home-section-header a:hover {

    text-decoration: underline;

}



/* ==========================================
   TWO COLUMN AREA
========================================== */

.home-two-column {

    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 25px;

    margin-top: 30px;

}


.home-panel {

    background: white;

    border-radius: 12px;

    padding: 30px;

    box-shadow:
        0 5px 20px rgba(0,0,0,0.06);

}


.home-panel h2 {

    color: #003b24;

    margin-top: 0;

}



/* ==========================================
   RECENT ROUNDS
========================================== */

.recent-round-item {

    display: grid;

    grid-template-columns:
        1.2fr
        1fr
        auto;

    gap: 10px;

    padding: 16px 0;

    border-bottom: 1px solid #ddd;

}


.recent-round-item:last-child {

    border-bottom: none;

}


.recent-round-player {

    font-weight: bold;

}


.recent-round-course {

    font-size: 13px;

    color: #666;

}


.recent-round-score {

    display: flex;

    gap: 12px;

    font-size: 13px;

    font-weight: bold;

}


.recent-round-date {

    grid-column: 1 / -1;

    font-size: 11px;

    color: #888;

}



/* ==========================================
   LEAGUE RECORDS
========================================== */

.record-row {

    display: grid;

    grid-template-columns:
        1.5fr
        auto
        1fr;

    align-items: center;

    gap: 15px;

    padding: 15px 0;

    border-bottom: 1px solid #ddd;

}


.record-row:last-child {

    border-bottom: none;

}


.record-title {

    font-size: 13px;

}


.record-value {

    font-size: 26px;

    font-weight: bold;

    color: #003b24;

}


.record-player {

    font-size: 12px;

    color: #777;

    text-align: right;

}



/* ==========================================
   CHAMPIONSHIP WATCH
========================================== */

.championship-watch {

    background:
        linear-gradient(
            135deg,
            #003b24,
            #002b1b
        );

    color: white;

}


.championship-watch .section-label {

    color: #d4af37;

}


.championship-watch h2 {

    color: white;

}


.championship-watch
.home-section-header a {

    color: #d4af37;

}


.championship-grid {

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 15px;

}


.championship-mini-card {

    background: rgba(255,255,255,0.08);

    border: 1px solid
        rgba(255,255,255,0.15);

    border-radius: 10px;

    padding: 25px;

    text-align: center;

}


.mini-trophy {

    font-size: 35px;

}


.championship-mini-card h3 {

    font-size: 15px;

    margin: 12px 0;

}


.championship-mini-card > div:last-child {

    font-size: 14px;

    font-weight: bold;

}



/* ==========================================
   ROUND GALLERY
========================================== */

.round-gallery {

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 15px;

}


.home-empty {

    color: #777;

    font-size: 14px;

    padding: 20px 0;

}


.home-loading {

    color: #777;

    font-size: 14px;

    padding: 20px 0;

}


.home-error {

    color: #9b1c1c;

    font-size: 14px;

    padding: 20px 0;

}



/* ==========================================
   NEWS
========================================== */

.news-list {

    display: grid;

    gap: 10px;

}


.text-link {

    display: inline-block;

    margin-top: 15px;

    color: #003b24;

    font-weight: bold;

    text-decoration: none;

}


.text-link:hover {

    text-decoration: underline;

}



/* ==========================================
   MOBILE
========================================== */

@media (
    max-width: 900px
) {

    .home-feature-grid {

        grid-template-columns: 1fr;

    }


    .home-two-column {

        grid-template-columns: 1fr;

    }


    .championship-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }


    .round-gallery {

        grid-template-columns:
            repeat(2, 1fr);

    }

}


@media (
    max-width: 600px
) {

    .iga-home-hero {

        padding: 50px 20px;

    }


    .iga-home-hero h1 {

        font-size: 42px;

    }


    .iga-home-hero p {

        font-size: 19px;

    }


    .container {

        padding-left: 20px;

        padding-right: 20px;

    }


    .championship-grid {

        grid-template-columns: 1fr;

    }


    .round-gallery {

        grid-template-columns: 1fr;

    }


    .recent-round-item {

        grid-template-columns: 1fr;

    }


    .record-row {

        grid-template-columns:
            1fr auto;

    }


    .record-player {

        grid-column: 1 / -1;

        text-align: left;

    }

        .leader-list-row {

        grid-template-columns:
            32px
            minmax(0, 1fr)
            65px
            65px;

        min-height: 52px;

    }


    .leader-list-player strong {

        font-size: 14px;

    }


    .leader-first .leader-list-player strong {

        font-size: 15px;

    }

}

/* ==========================================
   EVENT LEADERBOARD CARDS
========================================== */

.event-leaderboards-title {
    margin-top: 32px;
    margin-bottom: 18px;
}


/* ------------------------------------------
   EVENT HEADER
------------------------------------------ */

.event-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 20px;
    border-left: 6px solid transparent;
    color: #ffffff;
}


.event-header-info {
    min-width: 0;
}


.event-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
}


.event-header h3 {
    margin: 0;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.3px;
}


.event-date {
    margin: 4px 0 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 12px;
}


/* ------------------------------------------
   STATUS TEXT
------------------------------------------ */

.event-status {
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-align: right;
    color: #ffffff;
}


/* ------------------------------------------
   OPEN / IN PROGRESS — SOLID GREEN
------------------------------------------ */

.event-status-open .event-header {
    background: #6fae78;
    border-left-color: #4f8f5a;
}

.event-status-progress .event-header {
    background: #287a3a;
    border-left-color: #1d5c2a;
}

.event-status-open .event-status {
    color: #ffffff;
}

.event-status-progress .event-status {
    color: #ffffff;
}


/* ------------------------------------------
   COMPLETE — GOLD
------------------------------------------ */

.event-status-complete .event-header {
    background: #b99528;
    border-left-color: #8c6d16;
}


.event-status-complete .event-status {
    color: #ffffff;
}


/* ------------------------------------------
   EVENT TABLE
------------------------------------------ */

.event-leaderboard .leaderboard-table {
    margin: 0;
    border-radius: 0;
    box-shadow: none;
}


.event-leaderboard .leaderboard-header {
    background: #f5f5f5;
    color: #666;
    font-size: 11px;
    letter-spacing: 0.6px;
}


.event-leaderboard .leaderboard-row {
    min-height: 48px;
}


.event-leaderboard .leaderboard-row:not(.leaderboard-header):hover {
    background: #fafafa;
}


/* ------------------------------------------
   POSITION
------------------------------------------ */

.event-leaderboard .position {
    font-weight: 700;
}


/* ------------------------------------------
   PLAYER NAME
------------------------------------------ */

.event-leaderboard .player-name {
    font-weight: 600;
}


/* ------------------------------------------
   EMPTY EVENT
------------------------------------------ */

.event-empty {
    padding: 28px 24px;
    text-align: center;
    color: #888;
    font-size: 14px;
}


/* ------------------------------------------
   MOBILE
------------------------------------------ */

@media (max-width: 700px) {

    .event-header {
        padding: 16px 18px;
    }


    .event-header h3 {
        font-size: 17px;
    }


    .event-status {
        font-size: 10px;
    }


    .event-leaderboard .leaderboard-row {
        min-height: 44px;
    }

}

/* ==========================================
   EVENT LEADERBOARD GRID
========================================== */

#eventLeaderboards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: start;
}

#eventLeaderboards .event-leaderboard {
    margin-bottom: 0;
    height: 100%;
}


/* ==========================================
   EVENT LEADERBOARD RESPONSIVE GRID
========================================== */

@media (max-width: 1100px) {

    #eventLeaderboards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 700px) {

    #eventLeaderboards {
        grid-template-columns: 1fr;
    }

}

/* ==========================================
IGA ROUNDS PAGE
========================================== */

.rounds-page {
padding-top: 38px;
padding-bottom: 65px;
}

/* ------------------------------------------
PAGE HEADER
------------------------------------------ */

.rounds-page-header {
position: relative;
display: flex;
justify-content: space-between;
align-items: flex-end;
gap: 30px;
margin-bottom: 38px;
padding: 30px 34px;
background: #003b24;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 5px 18px rgba(0, 59, 36, 0.16);
}

.rounds-page-header::after {
content: "";
position: absolute;
width: 360px;
height: 360px;
right: -120px;
top: -170px;
border: 1px solid rgba(255,255,255,0.08);
border-radius: 50%;
box-shadow:
0 0 0 35px rgba(255,255,255,0.025),
0 0 0 70px rgba(255,255,255,0.02),
0 0 0 105px rgba(255,255,255,0.015);
}

.rounds-page-header > * {
position: relative;
z-index: 1;
}

.rounds-page-header .page-eyebrow {
color: #b99528;
margin-bottom: 8px;
}

.rounds-page-header h1 {
margin: 0;
color: #ffffff;
font-size: 38px;
line-height: 1.1;
letter-spacing: -0.5px;
}

.rounds-page-header p {
margin: 9px 0 0;
color: rgba(255,255,255,0.72);
font-size: 14px;
}

.rounds-season-badge {
min-width: 190px;
padding: 14px 17px;
background: rgba(255,255,255,0.07);
border: 1px solid rgba(255,255,255,0.12);
border-radius: 7px;
text-align: right;
}

.rounds-season-badge span {
display: block;
margin-bottom: 5px;
color: #d2b45a;
font-size: 10px;
font-weight: 800;
letter-spacing: 1.2px;
}

.rounds-season-badge strong {
color: #ffffff;
font-size: 12px;
font-weight: 600;
}

/* ------------------------------------------
SECTIONS
------------------------------------------ */

.rounds-section {
margin-bottom: 42px;
}

.section-heading {
display: flex;
justify-content: space-between;
align-items: flex-end;
gap: 25px;
margin-bottom: 15px;
}

.section-eyebrow {
margin-bottom: 5px;
color: #287a3a;
font-size: 10px;
font-weight: 800;
letter-spacing: 1.4px;
}

.section-heading h2 {
margin: 0;
color: #1e2924;
font-size: 23px;
line-height: 1.2;
}

.section-description {
margin: 0;
color: #777;
font-size: 13px;
}

/* ------------------------------------------
SEASON SUMMARY
------------------------------------------ */

.season-progress-summary {
display: flex;
align-items: baseline;
gap: 5px;
color: #777;
font-size: 12px;
}

.season-progress-summary strong {
color: #003b24;
font-size: 23px;
}

/* ------------------------------------------
SEASON PROGRESS CARD
------------------------------------------ */

.season-progress-card {
background: #ffffff;
border: 1px solid #d9ded9;
border-radius: 9px;
padding: 25px;
box-shadow: 0 4px 15px rgba(0,0,0,0.045);
}

.season-progress-top {
display: flex;
justify-content: space-between;
align-items: center;
gap: 25px;
}

.progress-label {
display: block;
color: #1e2924;
font-size: 14px;
font-weight: 800;
}

.season-progress-top p {
margin: 5px 0 0;
color: #777;
font-size: 12px;
}

.progress-percentage {
color: #287a3a;
font-size: 27px;
font-weight: 800;
}

.season-progress-track {
height: 7px;
margin: 21px 0;
background: #e3e7e3;
border-radius: 10px;
overflow: hidden;
}

.season-progress-fill {
height: 100%;
background: #287a3a;
border-radius: 10px;
transition: width 0.4s ease;
}

.season-progress-courses {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
}

.progress-course {
display: flex;
align-items: center;
gap: 11px;
padding: 13px 14px;
background: #f7f9f7;
border: 1px solid #e3e8e3;
border-radius: 7px;
}

.progress-course-icon {
width: 34px;
height: 34px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
background: #003b24;
border-radius: 50%;
color: #ffffff;
font-size: 11px;
font-weight: 800;
}

.progress-course strong {
display: block;
color: #26322c;
font-size: 13px;
}

.progress-course span {
display: block;
margin-top: 3px;
color: #777;
font-size: 11px;
}

/* ------------------------------------------
TABLE CARDS
------------------------------------------ */

.rounds-table-card {
background: #ffffff;
border: 1px solid #d9ded9;
border-radius: 9px;
overflow: hidden;
box-shadow: 0 4px 15px rgba(0,0,0,0.045);
}

.rounds-table-wrapper {
width: 100%;
overflow-x: auto;
}

.rounds-completion-table,
.rounds-results-table {
width: 100%;
border-collapse: collapse;
}

.rounds-completion-table th,
.rounds-results-table th {
padding: 13px 16px;
background: #003b24;
color: #ffffff;
font-size: 10px;
font-weight: 800;
letter-spacing: 0.8px;
text-align: left;
white-space: nowrap;
}

.rounds-completion-table td,
.rounds-results-table td {
padding: 14px 16px;
border-bottom: 1px solid #edf0ed;
color: #444;
font-size: 13px;
white-space: nowrap;
}

.rounds-completion-table tbody tr:last-child td,
.rounds-results-table tbody tr:last-child td {
border-bottom: none;
}

.rounds-completion-table tbody tr:hover,
.rounds-results-table tbody tr:hover {
background: #f8faf8;
}

.table-loading {
padding: 30px !important;
color: #888 !important;
text-align: center;
}

.round-player-name {
color: #1e2924 !important;
font-weight: 700;
}

.round-points {
color: #287a3a !important;
font-weight: 800;
}

/* ------------------------------------------
ROUND HISTORY
------------------------------------------ */

.round-history-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 18px;
}

.round-history-card {
position: relative;
background: #ffffff;
border: 1px solid #d9ded9;
border-radius: 9px;
overflow: hidden;
box-shadow: 0 4px 15px rgba(0,0,0,0.045);
transition:
transform 0.2s ease,
box-shadow 0.2s ease;
}

.round-history-card:hover {
transform: translateY(-3px);
box-shadow: 0 8px 22px rgba(0,0,0,0.09);
}

.round-card-top {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 15px;
background: #f5f7f5;
border-bottom: 1px solid #e4e8e4;
}

.round-card-status {
font-size: 9px;
font-weight: 800;
letter-spacing: 1px;
}

.round-card-date {
color: #777;
font-size: 11px;
}

.round-card-complete {
border-top: 3px solid #b99528;
}

.round-card-complete .round-card-status {
color: #9b7516;
}

.round-card-open {
border-top: 3px solid #287a3a;
}

.round-card-open .round-card-status {
color: #287a3a;
}

.round-card-upcoming {
border-top: 3px solid #aeb5af;
}

.round-card-upcoming .round-card-status {
color: #7d847f;
}

.round-card-body {
padding: 19px;
}

.round-card-course {
display: flex;
align-items: center;
gap: 12px;
}

.round-card-course-icon {
width: 42px;
height: 42px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
background: #edf4ef;
border-radius: 7px;
color: #003b24;
font-size: 19px;
}

.round-card-course h3 {
margin: 0;
color: #1e2924;
font-size: 16px;
line-height: 1.2;
}

.round-card-course span {
display: block;
margin-top: 4px;
color: #777;
font-size: 11px;
}

.round-card-location {
margin-top: 17px;
padding-top: 14px;
border-top: 1px solid #edf0ed;
color: #666;
font-size: 12px;
}

.location-icon {
margin-right: 5px;
}

.round-card-footer {
display: flex;
justify-content: space-between;
align-items: center;
gap: 10px;
margin-top: 18px;
}

.round-card-result {
color: #777;
font-size: 11px;
}

.round-view-button {
border: none;
padding: 9px 12px;
background: #003b24;
border-radius: 5px;
color: #ffffff;
font-size: 9px;
font-weight: 800;
letter-spacing: 0.7px;
cursor: pointer;
transition: background 0.2s ease;
}

.round-view-button:hover {
background: #287a3a;
}

.round-view-button span {
margin-left: 4px;
}

.round-history-loading,
.round-history-empty {
grid-column: 1 / -1;
padding: 38px;
background: #ffffff;
border: 1px solid #d9ded9;
border-radius: 9px;
color: #888;
text-align: center;
}

function formatCourseProgress(count) {

    if (count >= 2) {
        return `
            <span class="course-progress complete">
                2 / 2
            </span>
        `;
    }

    if (count === 1) {
        return `
            <span class="course-progress partial">
                1 / 2
            </span>
        `;
    }

    return `
        <span class="course-progress none">
            0 / 2
        </span>
    `;
}


function updateCourseSummary(elementId, completed, required) {

    const element =
        document.getElementById(elementId);

    if (!element) {
        return;
    }

    element.textContent =
        `${completed} / ${required} rounds`;
}

/* ==========================================
   COURSE COMPLETION TRACKER
========================================== */

.course-progress-value {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    padding: 5px 9px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.2px;
}


/* ------------------------------------------
   NOT STARTED
------------------------------------------ */

.course-progress-value.progress-not-started {
    background: #f0f1ee;
    color: #888;
}


/* ------------------------------------------
   IN PROGRESS
------------------------------------------ */

.course-progress-value.progress-in-progress {
    background: #e3f0e5;
    color: #287a3a;
}


/* ------------------------------------------
   COMPLETE
------------------------------------------ */

.course-progress-value.progress-complete {
    background: #e7dba9;
    color: #806414;
}


/* ------------------------------------------
   PLAYER NAME
------------------------------------------ */

.rounds-completion-table
.round-player-name {
    font-weight: 800;
    color: #222;
}


/* ------------------------------------------
   TOTAL COLUMN
------------------------------------------ */

.rounds-completion-table th:last-child,
.rounds-completion-table td:last-child {
    border-left: 1px solid #e4e4df;
}


/* ------------------------------------------
   COMPLETED ROW
------------------------------------------ */

.rounds-completion-table tbody tr:hover {
    background: #fafbf9;
}

/* ------------------------------------------
FOOTER
------------------------------------------ */

footer {
margin-top: 20px;
}

footer div {
font-weight: 800;
}

footer span {
display: block;
margin-top: 4px;
color: #aaa;
font-size: 11px;
}

/* ------------------------------------------
MOBILE
------------------------------------------ */

@media (max-width: 1100px) {

```
.round-history-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
```

}

@media (max-width: 750px) {

```
.rounds-page {
    padding-top: 25px;
}

.rounds-page-header {
    flex-direction: column;
    align-items: flex-start;
    padding: 25px;
}

.rounds-season-badge {
    width: 100%;
    box-sizing: border-box;
    text-align: left;
}

.section-heading {
    flex-direction: column;
    align-items: flex-start;
}

.season-progress-top {
    align-items: flex-start;
}

.season-progress-courses {
    grid-template-columns: 1fr;
}

.round-history-grid {
    grid-template-columns: 1fr;
}

.rounds-page-header h1 {
    font-size: 32px;
}
```

}

/* =========================================================
   IGA ROUND DETAIL PAGE
========================================================= */

.round-page {
    padding-top: 40px;
    padding-bottom: 70px;
}


/* =========================================================
   LOADING / ERROR
========================================================= */

.round-loading {
    padding: 80px 20px;
    text-align: center;
    font-size: 16px;
    color: #666;
}

.round-error {
    padding: 50px 20px;
    text-align: center;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
}


/* =========================================================
   ROUND HERO
========================================================= */

.round-hero {
    background: #ffffff;
    border: 1px solid #dfe3e8;
    border-radius: 12px;
    padding: 38px 42px 32px;
    margin-bottom: 42px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.05);
}


.round-hero-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
}


.round-hero h1 {
    margin: 8px 0 8px;
    font-size: 42px;
    line-height: 1.1;
    letter-spacing: -1px;
}


.round-hero-course {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #666;
    font-size: 17px;
}


.round-hero-divider {
    color: #aaa;
}


.round-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 105px;
    padding: 9px 18px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
}


.round-status-finalized {
    background: #e7f4eb;
    color: #236b39;
}


.round-status-open {
    background: #fff4dc;
    color: #8a5b00;
}


.round-status-upcoming {
    background: #edf1f5;
    color: #59636d;
}


/* =========================================================
   HERO META
========================================================= */

.round-hero-meta {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid #e5e7eb;
    margin-top: 32px;
    padding-top: 25px;
}


.round-meta-item {
    padding: 0 22px;
    border-right: 1px solid #e5e7eb;
}


.round-meta-item:first-child {
    padding-left: 0;
}


.round-meta-item:last-child {
    border-right: none;
}


.round-meta-item span {
    display: block;
    margin-bottom: 7px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.4px;
    color: #8a9199;
}


.round-meta-item strong {
    font-size: 17px;
    color: #222;
}


/* =========================================================
   SECTIONS
========================================================= */

.round-section {
    margin-bottom: 42px;
}


.round-section .section-heading {
    margin-bottom: 18px;
}


/* =========================================================
   RESULTS CARD
========================================================= */

.round-results-card {
    background: #fff;
    border: 1px solid #dfe3e8;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.04);
}


.round-results-wrapper {
    width: 100%;
    overflow-x: auto;
}


.round-results-table {
    width: 100%;
    border-collapse: collapse;
}


.round-results-table th {
    padding: 15px 20px;
    background: #f5f6f8;
    border-bottom: 1px solid #dfe3e8;
    text-align: left;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.3px;
    color: #737b84;
}


.round-results-table td {
    padding: 19px 20px;
    border-bottom: 1px solid #edf0f2;
    font-size: 15px;
    color: #333;
}


.round-results-table tbody tr:last-child td {
    border-bottom: none;
}


.round-results-table tbody tr:hover {
    background: #fafbfc;
}


.round-results-table th:first-child,
.round-results-table td:first-child {
    width: 90px;
}


.round-results-table th:nth-child(3),
.round-results-table th:nth-child(4),
.round-results-table th:nth-child(5),
.round-results-table td:nth-child(3),
.round-results-table td:nth-child(4),
.round-results-table td:nth-child(5) {
    text-align: center;
}


.round-finish {
    font-weight: 700;
    font-size: 16px !important;
}


.round-player-name {
    font-weight: 700;
    color: #20252a !important;
}


.round-points {
    font-weight: 700;
}


/* =========================================================
   TOP 3
========================================================= */

.round-results-table tbody tr:nth-child(1) .round-finish {
    font-size: 18px !important;
}


.round-results-table tbody tr:nth-child(2) .round-finish,
.round-results-table tbody tr:nth-child(3) .round-finish {
    font-size: 17px !important;
}


/* =========================================================
   COURSE CARD
========================================================= */

.round-course-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    background: #fff;
    border: 1px solid #dfe3e8;
    border-radius: 10px;
    padding: 28px 32px;
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.04);
}


.round-course-main {
    display: flex;
    align-items: center;
    gap: 18px;
}


.round-course-icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f3f5;
    border-radius: 50%;
    font-size: 23px;
}


.round-course-main h3 {
    margin: 0 0 5px;
    font-size: 20px;
}


.round-course-main p {
    margin: 0;
    color: #727981;
    font-size: 14px;
}


.round-course-par {
    text-align: right;
    padding-left: 30px;
    border-left: 1px solid #e5e7eb;
}


.round-course-par span {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.3px;
    color: #8a9199;
    margin-bottom: 4px;
}


.round-course-par strong {
    font-size: 30px;
    line-height: 1;
}


/* =========================================================
   EVENT INFORMATION
========================================================= */

.round-information-card {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #fff;
    border: 1px solid #dfe3e8;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.04);
}


.round-information-item {
    padding: 25px;
    border-right: 1px solid #e5e7eb;
}


.round-information-item:last-child {
    border-right: none;
}


.round-information-item span {
    display: block;
    margin-bottom: 8px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.3px;
    color: #8a9199;
}


.round-information-item strong {
    font-size: 15px;
    color: #272c31;
}


/* =========================================================
   BACK BUTTON
========================================================= */

.round-back-container {
    display: flex;
    justify-content: center;
    margin-top: 15px;
}


.round-back-button {
    border: 1px solid #cfd5da;
    background: #fff;
    color: #333;
    padding: 12px 22px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.2s ease;
}


.round-back-button:hover {
    background: #f4f5f6;
    border-color: #aeb5bc;
    transform: translateY(-1px);
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 900px) {

    .round-hero {
        padding: 28px 25px;
    }


    .round-hero h1 {
        font-size: 34px;
    }


    .round-hero-top {
        flex-direction: column;
    }


    .round-status-badge {
        align-self: flex-start;
    }


    .round-hero-meta {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 22px;
    }


    .round-meta-item:nth-child(2) {
        border-right: none;
    }


    .round-meta-item:nth-child(3) {
        padding-left: 0;
    }


    .round-information-card {
        grid-template-columns: repeat(2, 1fr);
    }


    .round-information-item:nth-child(2) {
        border-right: none;
    }


    .round-information-item:nth-child(3) {
        border-top: 1px solid #e5e7eb;
    }


    .round-information-item:nth-child(4) {
        border-top: 1px solid #e5e7eb;
        border-right: none;
    }

}


@media (max-width: 600px) {

    .round-page {
        padding-top: 25px;
    }


    .round-hero {
        padding: 24px 20px;
        margin-bottom: 30px;
    }


    .round-hero h1 {
        font-size: 29px;
    }


    .round-hero-course {
        flex-wrap: wrap;
        font-size: 15px;
    }


    .round-hero-meta {
        grid-template-columns: 1fr;
    }


    .round-meta-item {
        padding: 0 !important;
        border-right: none;
    }


    .round-course-card {
        flex-direction: column;
        align-items: flex-start;
    }


    .round-course-par {
        width: 100%;
        padding-left: 0;
        padding-top: 20px;
        border-left: none;
        border-top: 1px solid #e5e7eb;
        text-align: left;
    }


    .round-information-card {
        grid-template-columns: 1fr;
    }


    .round-information-item {
        border-right: none;
        border-bottom: 1px solid #e5e7eb;
    }


    .round-information-item:last-child {
        border-bottom: none;
    }


    .round-results-table th,
    .round-results-table td {
        padding: 14px 12px;
    }

}
/* ==========================================
   ROUND STATS
========================================== */

.round-stats-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}

.round-stat-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 22px 20px;
    min-height: 110px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.round-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
}

.round-stat-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #7b8190;
}

.round-stat-card strong {
    font-size: 30px;
    line-height: 1;
    font-weight: 700;
    color: #1f2937;
}

/* ==========================================
   SCORING BREAKDOWN
========================================== */

.scoring-breakdown-card {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 35px;

    background: #ffffff;
    border: 1px solid #dfe3e8;
    border-radius: 10px;

    padding: 28px 32px;

    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.04);
}


.scoring-breakdown-total {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding-right: 30px;

    border-right: 1px solid #e5e7eb;
}


.scoring-breakdown-total span {
    margin-bottom: 8px;

    color: #8a9199;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1.3px;
}


.scoring-breakdown-total strong {
    color: #1f2937;

    font-size: 38px;
    line-height: 1;

    font-weight: 700;
}


.scoring-breakdown-bars {
    display: flex;
    flex-direction: column;
    justify-content: center;

    gap: 14px;
}


.scoring-row {
    display: grid;
    grid-template-columns: 135px 1fr;

    align-items: center;

    gap: 15px;
}


.scoring-label {
    display: flex;
    justify-content: space-between;
    align-items: center;

    gap: 10px;

    color: #555;

    font-size: 12px;
    font-weight: 600;
}


.scoring-label strong {
    color: #222;

    font-size: 13px;
    font-weight: 800;
}


.scoring-track {
    height: 9px;

    background: #edf0ed;

    border-radius: 20px;

    overflow: hidden;
}


.scoring-fill {
    height: 100%;

    width: 0;

    background: #287a3a;

    border-radius: 20px;

    transition: width 0.5s ease;
}


.scoring-fill.scoring-eagle {
    background: #b99528;
}


.scoring-fill.scoring-birdie {
    background: #4f9a63;
}


/* ==========================================
   SCORING BREAKDOWN MOBILE
========================================== */

@media (max-width: 700px) {

    .scoring-breakdown-card {
        grid-template-columns: 1fr;

        gap: 22px;

        padding: 24px 20px;
    }


    .scoring-breakdown-total {
        padding-right: 0;
        padding-bottom: 20px;

        border-right: none;
        border-bottom: 1px solid #e5e7eb;
    }


    .scoring-breakdown-total strong {
        font-size: 32px;
    }


    .scoring-row {
        grid-template-columns: 115px 1fr;

        gap: 12px;
    }

}

/* ==========================================
   ROUND STATS RESPONSIVE
========================================== */

@media (max-width: 1100px) {

    .round-stats-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}


@media (max-width: 700px) {

    .round-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .round-stat-card {
        padding: 18px 16px;
        min-height: 95px;
    }

    .round-stat-card strong {
        font-size: 26px;
    }

}


@media (max-width: 450px) {

    .round-stats-grid {
        grid-template-columns: 1fr 1fr;
    }

    .round-stat-label {
        font-size: 10px;
    }

}

/* ==========================================
   COURSE INFORMATION
========================================== */

.round-course-card {
    background: #ffffff;
    border: 1px solid #e1e5e8;
    border-radius: 12px;
    padding: 26px 30px;
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.04);
}


.round-course-main {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e5e7eb;
}


.round-course-icon {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f1f5f2;
    border-radius: 10px;

    font-size: 24px;
}


.round-course-main h3 {
    margin: 0 0 4px;

    color: #1f2937;

    font-size: 22px;
    font-weight: 700;
}


.round-course-main p {
    margin: 0;

    color: #7b8190;

    font-size: 13px;
}


/* ==========================================
   COURSE DETAILS
========================================== */

.round-course-details {
    display: grid;
    grid-template-columns: repeat(5, 1fr);

    padding: 24px 0;

    border-bottom: 1px solid #e5e7eb;
}


.round-course-detail {
    display: flex;
    flex-direction: column;
    gap: 7px;

    padding: 0 22px;

    border-right: 1px solid #e5e7eb;
}


.round-course-detail:first-child {
    padding-left: 0;
}


.round-course-detail:last-child {
    padding-right: 0;
    border-right: none;
}


.round-course-detail span {
    color: #7b8190;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.12em;
}


.round-course-detail strong {
    color: #1f2937;

    font-size: 24px;
    line-height: 1;

    font-weight: 700;
}


/* ==========================================
   COURSE WEBSITE
========================================== */

.round-course-website {
    padding-top: 20px;
}


.round-course-website a {
    color: var(--iga-green);

    font-size: 12px;
    font-weight: 700;

    text-decoration: none;
}


.round-course-website a:hover {
    color: var(--iga-gold);
    text-decoration: underline;
}

/* ==========================================
   COURSES PAGE HEADER
========================================== */

.page-header {
    margin-bottom: 34px;
}

.page-header .section-eyebrow {
    margin-bottom: 8px;
}

.page-header h1 {
    margin: 0;
    font-size: 34px;
    line-height: 1.15;
    font-weight: 750;
    letter-spacing: -0.02em;
}

.page-header p {
    max-width: 650px;
    margin: 10px 0 0;
    color: #7b8190;
    font-size: 14px;
    line-height: 1.6;
}

/* ==========================================
   COURSE INFORMATION MOBILE
========================================== */

@media (max-width: 700px) {

    .round-course-card {
        padding: 22px 20px;
    }


    .round-course-details {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 22px;
    }


    .round-course-detail {
        padding: 0 16px;
        border-right: 1px solid #e5e7eb;
    }


    .round-course-detail:nth-child(2n) {
        padding-right: 0;
        border-right: none;
    }


    .round-course-detail:nth-child(3),
    .round-course-detail:nth-child(4),
    .round-course-detail:nth-child(5) {
        padding-top: 18px;
        border-top: 1px solid #e5e7eb;
    }


    .round-course-detail:first-child {
        padding-left: 0;
    }


    .round-course-detail:nth-child(3) {
        padding-left: 0;
    }

}

/* ==========================================
   COURSE CARDS
========================================== */

#coursesContainer {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}

.course-card {
    background: #ffffff;
    border: 1px solid #e1e5e8;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.course-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 9px 24px rgba(0, 0, 0, 0.07);
}

.course-card-header {
    padding: 24px 26px;
    background: #f7f8f6;
    border-bottom: 1px solid #e5e7eb;
}

.course-card-header h2 {
    margin: 0 0 6px;
    color: #1f2937;
    font-size: 22px;
    font-weight: 700;
}

.course-card-header p {
    margin: 0;
    color: #7b8190;
    font-size: 13px;
}

.course-card-details {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    padding: 20px 24px;
}

.course-card-details > div {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 0 14px;
    border-right: 1px solid #e5e7eb;
}

.course-card-details > div:first-child {
    padding-left: 0;
}

.course-card-details > div:last-child {
    padding-right: 0;
    border-right: none;
}

.course-card-details span {
    color: #7b8190;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.course-card-details strong {
    color: #1f2937;
    font-size: 16px;
    font-weight: 700;
}

@media (max-width: 900px) {

    #coursesContainer {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 600px) {

    .course-card-details {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px 0;
    }

    .course-card-details > div {
        padding: 0 14px;
    }

    .course-card-details > div:nth-child(2n) {
        border-right: none;
    }

    .course-card-details > div:nth-child(3),
    .course-card-details > div:nth-child(4),
    .course-card-details > div:nth-child(5) {
        padding-top: 16px;
        border-top: 1px solid #e5e7eb;
    }

    .course-card-details > div:nth-child(3) {
        padding-left: 0;
    }

}

/* ==========================================
   COURSE EVENT HISTORY
========================================== */

.course-events {
    padding: 20px 24px 24px;
    border-top: 1px solid #e5e7eb;
}

.course-events-title {
    margin-bottom: 12px;
    color: #7b8190;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.course-event {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 11px 0;
    border-bottom: 1px solid #eef0f1;
}

.course-event:last-child {
    border-bottom: none;
}

.course-event span {
    color: #1f2937;
    font-size: 13px;
    font-weight: 600;
}

.course-event strong {
    flex-shrink: 0;
    color: #287a3a;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.course-no-events {
    color: #9aa0a6;
    font-size: 12px;
    font-style: italic;
}

/* ==========================================
   KING OF THE COURSE
========================================== */

.course-kings {
    padding: 20px 24px 24px;
    border-top: 1px solid #e5e7eb;
}

.course-king {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 12px 0;
    border-bottom: 1px solid #eef0f1;
}

.course-king:last-child {
    border-bottom: none;
}

.course-king > div {
    display: flex;
    align-items: center;
    gap: 12px;
}

.course-king span {
    min-width: 42px;
    color: #7b8190;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.course-king > div strong {
    color: #1f2937;
    font-size: 13px;
    font-weight: 700;
}

.course-king > strong {
    color: #287a3a;
    font-size: 14px;
    font-weight: 800;
}

.course-folgers-players {
    padding: 0 0 12px 54px;
}

.course-folgers-players div {
    padding: 4px 0;
    color: #1f2937;
    font-size: 12px;
}