/* Save as /css/site.css and link only on this site. */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

/* ==========================
   GLOBAL / TYPOGRAPHY
   ========================== */
:root {
    --body-font-family: 'Montserrat', sans-serif;
    --bs-font-sans-serif: 'Montserrat', sans-serif;
    --bs-body-font-family: 'Montserrat', sans-serif;
    --heading-font-family: 'Montserrat', sans-serif;
}

.bg-white,
.bg-white.text-dark{
    --bs-link-color: var(--bs-primary);
    --bs-link-hover-color: var(--bs-body-color);
    color:var(--bs-body-color);
}

html.primary-color-light .bg-white,
html.primary-color-light .bg-white.text-dark{
    --bs-link-color: #000;
    --bs-link-hover-color: var(--bs-body-color);
    color:var(--bs-body-color);
}

.container-fluid [rel="wiki-link"] {
    color: var(--bs-primary);
}

/* Hide sections */
.sec-standings,
.sec-photo-gallery {
    display: none;
}

/* Slick arrows */
.section .slick-arrow {
    --bs-btn-color: var(--bs-primary);
}

.sec-banner .component-banner.layout-slider .slick-arrow-controls button.slick-arrow:hover {
    color: var(--bs-white);
}

.offcanvas-header {
background-color: var(--bs-secondary);
}

.accordion-button:not(.collapsed)::after {
color: var(--bs-secondary) !important;
}

.menu a[rel="wiki-link"] {
  color: var(--bs-secondary) !important;
}

/* ==========================
   HEADER – PRIMARY NAV
   ========================== */
/* Main Links */
.site-header .macro-primary-navigation .component-navbar-split.layout-standard .navbar .nav-item.parent > .nav-link,
.site-header .macro-primary-navigation .component-navbar-split.layout-standard .navbar .nav-item.parent > .nav-link > span > a.nav-link {
    color: var(--bs-secondary);
}

/* Dropdown & Hover States */
.site-header .macro-primary-navigation .component-navbar-split.layout-standard .dropdown-menu a,
.site-header .macro-primary-navigation .component-navbar-split.layout-standard .navbar .nav-item.parent:hover > .nav-link,
.site-header .macro-primary-navigation .component-navbar-split.layout-standard .navbar .nav-item.parent:hover > .nav-link > span > a.nav-link {
    color: var(--bs-secondary);
}

/* Icons & Search */
.site-header .macro-primary-navigation .component-navbar-split.layout-standard .headers-icon-links > div,
.site-header .macro-primary-navigation .component-navbar-split.layout-standard .search,
.site-header .macro-primary-navigation .component-navbar-split.layout-standard .search button,
.site-header .macro-primary-navigation .component-navbar-split.layout-standard .search > div {
    color: var(--bs-secondary) !important;
}

/* Social Header */
.site-header.social-new .social-collapse-btn,
.site-header.social-new .social-wrapper .nav-link {
    color: var(--bs-secondary) !important;
}

.site-header.social-new .nav-social-links.active .social-wrapper,
.site-header.social-new .nav-social-links:hover .social-wrapper,
.site-header.social-new .nav-social-links:focus .social-wrapper {
    z-index: 100;
}

/* Dropdown Dividers */
.site-header .macro-primary-navigation .component-navbar-split.layout-standard .navbar .dropdown-menu li.nav-item {
    border-top: 1px solid rgba(0, 0, 0, 0.125);
}
.site-header .macro-primary-navigation .component-navbar-split.layout-standard .navbar .dropdown-menu li.nav-item:first-child {
    border-top: 0;
}

/* Hover Accessibility (Underlines) */
.site-header .macro-primary-navigation .headers-icon-links a:hover,
.site-header .macro-primary-navigation .headers-icon-links a:focus-visible,
.site-header .macro-primary-navigation .search button:hover,
.site-header .macro-primary-navigation .search button:focus-visible {
    color: var(--bs-secondary);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.16em;
}

/* ==========================
   SECONDARY NAVIGATION
   ========================== */
.site-header .macro-secondary-navigation .component-navbar-secondary.layout-standard .navbar .nav-item:not(.parent) .nav-link {
    color: var(--bs-secondary);
}

.site-header .macro-secondary-navigation .component-navbar-secondary.layout-standard .navbar-nav > .nav-item:hover > .nav-link,
.site-header .macro-secondary-navigation .component-navbar-secondary.layout-standard .navbar .navbar-nav .nav-link.active {
    background-color: var(--bs-primary);
    color: var(--bs-secondary) !important;
}

.site-header .macro-secondary-navigation a.navbar-page-title:hover {
    color: var(--bs-tertiary);
}

/* Hide Secondary Thumbnails */
img.navbar-secondary-thumbnail.img-fluid.img-mh-2.d-none.d-sm-block {
    display: none !important;
}

/* ==========================
   NEXT EVENT / SCHEDULE
   ========================== */
.next-event-wrapper {
    --bs-link-color: var(--bs-secondary);
    --bs-link-hover-color: var(--bs-tertiary);
}
.next-event-wrapper [rel="wiki-link"] {
    color: var(--bs-secondary);
}

/* Scoreboard Tabs */
.sec-schedule-tabs .component-tabs .page-details {
    background-color: var(--bs-primary);
}

.sec-schedule-tabs .component-tabs .page-details .component-title {
    color: var(--bs-secondary) !important;
}

.sec-schedule-tabs .component-tabs .nav-pills .nav-link {
    color: var(--bs-secondary);
}

.sec-schedule-tabs .component-tabs .nav-pills .nav-link.active {
    color: var(--bs-primary);
    background-color: var(--bs-secondary);
}

/* Scoreboard Cards */
.sec-schedule-tabs .component-scoreboard.layout-small .card .sport-name a {
    color: var(--bs-secondary);
}

.section span.fa-ellipsis-vertical {
    color: var(--bs-secondary);
}

.sec-schedule-tabs .component-scoreboard.layout-small .card .middle-inner {
    border-top-color: var(--bs-secondary) !important;
}

/* ==========================
   NEWS & HEADLINES
   ========================== */
.sec-recent-news .card-title,
.sec-recent-news .card-title a,
.sec-recent-news .related-links a:hover,
.sec-recent-news .related-links a:focus {
    color: var(--bs-secondary);
}

.sec-recent-news .related-links {
    border-top: 2px solid var(--bs-secondary);
}

/* Archive Links */
.section .archive-link a {
    color: var(--bs-primary) !important;
    transition: color 0.2s ease;
}

.section.archive .archive-link a:hover,
.section .archive-link a:hover,
.sec-schedule-tabs .archive-link a:hover {
    color: var(--bs-secondary) !important;
}


.sec-top-stories-desktop .archive-link a:hover,
.sec-schedule-tabs .archive-link a:hover
{
    color: var(--bs-white) !important;
}


.section .archive-link a:focus-visible {
    color: var(--bs-secondary) !important;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.16em;
}

/* Headline Band */
.component-headlines .component-headings {
    background-color: var(--bs-primary);
}

.component-headlines .component-headings .component-title {
    color: var(--bs-secondary) !important;
}

/* Search */
.mmf-search .input-group .btn {
    color: var(--bs-tertiary);
}

/* ==========================
   ATHLETE OF THE WEEK
   ========================== */
.sec-featured-athletes,
.sec-featured-athletes .component-aotw.layout-align .player:after,
.sec-featured-athletes .component-aotw.layout-align .player .headshot,
.sec-featured-athletes .component-aotw.layout-align .player .player-details:after,
.sec-featured-athletes .component-aotw.layout-align .player .player-details .component-title,
.sec-featured-athletes .component-aotw.layout-align .player,
.sec-featured-athletes .component-aotw.layout-align .player .player-details:before {
    border-color: var(--bs-primary);
}

.sec-featured-athletes .component-aotw.layout-align .player .player-details .player-bio .synopsis.clamp-3 {
    -webkit-line-clamp: 2;
}
.sec-featured-athletes .component-aotw.layout-align .player .player-details .component-title {
    border-color: var(--bs-white);
}

/* ==========================
   VIDEO
   ========================== */
.component-video .component-headings {
    background-color: var(--bs-primary);
}

.component-video .component-headings .component-title {
    color: var(--bs-secondary) !important;
}

/* FIXED: Added closing brace below */
.sec-recent-videos .component-video.layout-slider .card-img-overlay a,
.sec-recent-videos .component-video.layout-slider .card-img-overlay .card-title {
    color: var(--bs-secondary) !important;
}

.sec-recent-videos .component-video.layout-slider .layout-wrapper .slick-arrow-controls > button:hover {
    color: var(--bs-white);
}

/* ==========================
   SOCIAL STREAM
   ========================== */
.sec-social-stream .item .social-widgets-wrap .social-embed-icon {
    background-color: var(--bs-primary);
}

.sec-social-stream .item .social-widgets-wrap .social-embed-icon span {
    color: var(--bs-secondary) !important;
}

.sec-social-stream .item .social-widgets-wrap .social-embed-content {
    min-height: 615px;
}

/* ==========================
   AFFILIATES & FOOTER
   ========================== */
.sec-affiliates {
    background-color: var(--bs-white);
}

.sec-affiliates [rel="wiki-link"] {
    color: var(--bs-secondary);
}

.copyright-privacy-links-section {
    background-color: var(--bs-primary) !important;
}

.site-footer .footer-details-wrapper a {
    color: var(--bs-primary) !important;
}

.site-footer .footer-details-wrapper a:hover,
.site-footer .footer-details-wrapper a:focus-visible {
    color: var(--bs-white) !important;
}

.site-footer .developer-logo .component-banner.layout-flex ul {
    display: none !important;
}

/* ==========================
   MEDIA QUERIES
   ========================== */

/* Desktop Only (>= 992px) */
@media (min-width: 992px) {
    .site-title-bar {
        background-image: url(https://theme-assets.prestosports.com/theme-assets/finishline/assets/images/flbg-fade4.png);
    }
    footer#site-footer {
        background-image: url(https://theme-assets.prestosports.com/theme-assets/finishline/assets/images/flbg-fade4.png);
    }

    /* Borders */
    .sec-schedule-tabs .component-scoreboard.layout-small .card {
        border-color: var(--bs-secondary);
    }
    .site-footer .developer-logo .footer-links ul {
        border-left: 1px solid var(--bs-primary) !important;
        border-right: 1px solid var(--bs-primary) !important;
    }
    .site-header .macro-primary-navigation .component-navbar-split.layout-standard .navbar .megamenu .dropdown-menu-inner ul[data-flex=true] > li.nav-item:not(.brand-icon) > a:after {
        border-color: var(--bs-secondary);
    }
    .site-header .macro-primary-navigation .component-navbar-split.layout-standard .navbar .dropdown-menu .level-4 li.nav-item {
        border-top: none;
    }

    /* Colors */
    .site-header .macro-secondary-navigation a,
    .site-header .macro-secondary-navigation .nav-item.dropdown.flexible-menu > a {
        color: var(--bs-secondary);
    }
}

/* Tablet & Down (< 992px) */
@media (max-width: 991px) {
    body {
        background: var(--bs-secondary);
    }

    .site-header .macro-primary-navigation {
        background-color: var(--bs-secondary) !important;
    }

    .site-title-bar .title-bar {
        display: block !important;
    }

    /* Invert colors for mobile headers */
    .sec-schedule-tabs .component-tabs .nav-pills {
        background: var(--bs-primary);
    }

    .component-video .component-headings,
    .component-video .component-headings .component-title,
    .sec-recent-news .component-headlines .component-headings,
    .sec-recent-news .component-headlines .component-headings .component-title {
        background-color: transparent;
        color: var(--bs-white) !important;
    }

    .sec-social-stream .item .social-widgets-wrap .social-embed-icon,
    .sec-social-stream .item .social-widgets-wrap .social-embed-icon span {
        background: transparent;
        color: var(--bs-white) !important;
    }
}

/* Large Desktop Specifics */
@media (min-width: 1200px) {
    .sec-featured-athletes .component-aotw.layout-align .slick-slider.players > button {
        bottom: 3rem !important;
    }
}

@media (min-width: 992px) {
    .component-navbar-split.layout-standard .navbar .nav-item:not(.parent) .nav-link {
        white-space:normal;
    }
}

@media (min-width: 992px) and (max-width: 1200px) {
    .sec-featured-athletes .component-aotw.layout-align .slick-slider.players > button {
        bottom: 2rem !important;
    }
    .sec-featured-athletes .component-aotw.layout-align .player .player-details .player-name {
        -webkit-line-clamp: 2;
        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

/* Accessibility: High Contrast for Filter Links */
.accordion-filter .filter-link {
    color: #003366; /* Dark Navy */
    transition: all 0.2s ease-in-out;
}

/* Year Link - Background/Text Combo */
.accordion-filter .year-link.active {
    background-color: #003366 !important; /* Worcester Navy */
    color: #ffffff !important; /* Pure White for contrast */
    text-decoration: underline; /* Extra visual cue */
}

/* Month Link - Active State */
.accordion-filter .month-link.active {
    color: #0056b3 !important; /* Slightly brighter blue */
    font-weight: 700 !important;
    background-color: #e9ecef; /* Light gray background to highlight selection */
    border-left: 4px solid #003366;
}

/* Focus states for Screen Readers/Keyboard Nav */
.accordion-filter a:focus {
    outline: 3px solid #ffcc00; /* Gold focus ring for visibility */
    outline-offset: 2px;
}

/* Ensure the icon remains visible */
.year-link.active .icon {
    color: #ffffff !important;
}