/* Fonts */
.montserrat-regular {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;  
}
.montserrat-bold {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
}

.oswald-regular {
    font-family: "Oswald", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

/* Body */
#playerInfo {
    position: absolute;
    margin-top: 230px;
    margin-left: 10%;
    margin-right: 10%;
    padding-bottom: 20px;
    font-size: large;
}

.optionalInfo {
    display: none;
}

#playerName {
    font-size: xx-large;
}

#recruitingProfileSubheader {
    font-size: x-large;
    margin-bottom: 5px;
}

.playerInfoSubheader {
    font-size: x-large;
    padding-top: 8px;
    margin-bottom: 5px;
}

#personalRecordsWrapperWide {
    position: absolute;
    width: 500px;
    right: 10%;
    top: 380px;
}

#personalRecordsWrapper {
    display: none;
}

#seasonStatsWrapper {
    display: none;
}

#seasonStatsSelectWrapper, #videoSelectWrapper, #videoSelectWrapperWide {
    display: none;
    align-items: center;
}

#videoSelectWrapper, #videoSelectWrapperWide {
    margin-bottom: 5px;
}

#seasonStatsSelect, #videoSelectWide {
    margin-left: 5px;
    margin-top: 2px;
}

.seasonStats, .seasonStatsStat {
    display: none;
}

.seasonStatsHittingList {
    margin-top: 5px;
    padding-left: 20px;
    margin-bottom: 0px;
}

.profilePhotoWrapper {
    position: absolute;
    left: 10%;
    margin-top: 20px;
    display: flex;
    width: 160px;
    height: 200px;
    justify-content: center;
    align-items: center;
}

#profilePhotoWrapper1 {
    z-index: 1;
}
#profilePhotoWrapper2 {
    z-index: 0;
}

.profilePhoto {
    max-height: 200px;
    max-width: 100%;
    width: auto;
    opacity: 0;
    transition: all 2s ease-in-out;
    border: 2px solid black;
}

.profilePhotoActive {
    opacity: 1;
}

#videoWrapperWide {
    display: unset;
    position: absolute;
    right: 10%;
    /* top: 420px; */
    width: 500px;
    margin-top: 12px;
}

#videoWrapper {
    display: none;
}

.videoPlayer {
    width: 100%;
    margin-bottom: 10px;
}

/* Schedule Component - Desktop (Wide) */
#scheduleWrapperWide {
    position: absolute;
    width: 500px;
    right: 10%;
    top: 500px; /* Adjust this value if it overlaps with Personal Records */
}

/* Ensure mobile wrapper is hidden on desktop */
#scheduleWrapper {
    display: none; 
}

#scheduleTeamName {
    font-size: 1.1em;
    margin-bottom: 8px;
}

.scrollableContainer {
    position: relative;
    max-height: 300px;
    overflow-y: auto;
    padding-right: 15px; /* Leaves room for the scrollbar */
}

.scheduleGame {
    padding: 10px 12px; /* Replaces margin so backgrounds fill the space */
    border-bottom: 1px solid #ccc;
    font-size: 0.95em;
    line-height: 1.4;
}

/* Alternating background color */
.scheduleGame:nth-child(even) {
    background-color: #f5f5f5; /* Subtle light gray */
}

.scheduleGame:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.scheduleGameDate {
    font-weight: bold;
}

.nextUpcomingGame {
    background-color: #eaf6ea !important; /* Very soft green background */
    border-left: 4px solid #00563f; /* Dark green border */
    /* Adds a little extra padding to account for the border */
    padding-left: 10px; 
}

.nextGameBadge {
    display: inline-block;
    background-color: #00563f; /* Dark green */
    color: white;
    font-size: 0.75em;
    font-weight: bold;
    padding: 3px 6px;
    border-radius: 4px;
    margin-bottom: 6px;
    letter-spacing: 0.5px;
}

/* Calendar Button */
.calendarBtn {
    display: inline-block;
    margin-top: 6px;
    padding: 4px 10px;
    background-color: #f4f4f4;
    border: 1px solid #dcdcdc;
    border-radius: 4px;
    text-decoration: none;
    color: #333;
    font-size: 0.8em;
    font-weight: bold;
    transition: background-color 0.2s ease;
}

.calendarBtn:hover {
    background-color: #e0e0e0;
}

.calendarBtnIcon {
    margin-right: 4px;
}

/* Past Games */
.pastGame {
    color: #888; /* Gray out the standard text */
}

.pastGame a {
    color: #666; /* Gray out the map link slightly */
}

/* YouTube Global Live Button */
.scheduleHeaderActions {
    margin-bottom: 10px;
    margin-top: 4px;
}

.globalYoutubeBtn {
    display: inline-block;
    background-color: #ff0000; /* YouTube Red */
    color: #ffffff !important;
    padding: 6px 12px;
    text-decoration: none;
    border-radius: 4px;
    font-weight: bold;
    font-size: 0.9em;
    transition: background-color 0.2s ease;
}

.globalYoutubeBtn:hover {
    background-color: #cc0000;
}

/* YouTube Replay Button (Past Games) */
.ytReplayBtn {
    display: inline-block;
    margin-top: 6px;
    padding: 4px 10px;
    background-color: #f4f4f4;
    border: 1px solid #dcdcdc;
    border-radius: 4px;
    text-decoration: none;
    color: #cc0000 !important; /* Keep the text red to match YT branding */
    font-size: 0.8em;
    font-weight: bold;
    transition: background-color 0.2s ease;
}

.ytReplayBtn:hover {
    background-color: #e0e0e0;
}

/* GameChanger Button */
.gcBtn {
    display: inline-block;
    margin-top: 6px;
    padding: 4px 10px;
    background-color: #333;
    border: 1px solid #111;
    border-radius: 4px;
    text-decoration: none;
    color: #fff !important; /* Forces white text even inside the grayed-out .pastGame row */
    font-size: 0.8em;
    font-weight: bold;
    transition: background-color 0.2s ease;
}

.gcBtn:hover {
    background-color: #000;
}

/* Live GameChanger Button for Upcoming Games */
.liveGcBtn {
    background-color: #d92525; /* Broadcast Red */
    border-color: #b31b1b;
}

.liveGcBtn:hover {
    background-color: #b31b1b;
}

/* Button container to handle spacing */
.scheduleActionButtons {
    margin-top: 6px;
    display: flex;
    gap: 8px; /* Adds space between the buttons */
    flex-wrap: wrap; /* Keeps them from breaking out of the box on very small screens */
}

/* In The News Section */
#inTheNewsWrapper {
    width: calc(100% - 540px);
    min-width: 300px; /* Prevents text from getting overly squished right before the mobile breakpoint */
}

.newsScrollContainer {
    max-height: 250px; 
    margin-top: 8px;
    margin-bottom: 15px;
}

.newsItem {
    padding: 12px 12px;
    border-bottom: 1px solid #ccc;
    font-size: 0.95em;
}

/* Alternating background color to match Schedule */
.newsItem:nth-child(even) {
    background-color: #f5f5f5;
}

/* Clean up the final row */
.newsItem:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.newsSource {
    font-weight: bold;
    font-size: 1.05em;
    margin-bottom: 2px;
}

.newsDateTitle {
    font-style: italic;
    color: #444;
    margin-bottom: 8px;
}

.newsQuoteBlock {
    border-left: 2px solid #ccc;
    padding-left: 12px;
    margin-left: 6px;
    color: #333;
    line-height: 1.5;
}

.newsLink {
    display: inline-block;
    margin-top: 6px;
    font-weight: bold;
    color: #333;
    text-decoration: underline;
    transition: color 0.2s ease;
}

.newsLink:hover {
    color: #000;
}

@media screen and (max-width: 1000px) {
    .profilePhotoWrapper {
        left: 50%;
        -webkit-transform: translateX(-80px);
        transform: translateX(-80px);
    }

    #playerInfo {
        width: 320px;
        right: 50%;
        -webkit-transform: translateX(160px);
        transform: translateX(160px);
        margin-left: unset;
        margin-right: unset;
        font-size: medium;
    }

    #personalRecordsWrapperWide {
        display: none;
    }

    #personalRecordsWrapper {
        display: unset;
    }

    /* Hide the desktop schedule and show the mobile one */
    #scheduleWrapperWide {
        display: none;
    }

    #scheduleWrapper {
        display: unset;
    }

    #videoWrapperWide {
        display: none;
    }

    #videoWrapper {
        display: unset;
    }

    #inTheNewsWrapper {
        width: 100%;
    }
}