﻿/* Layout 4 forces gold accent regardless of tenant secondary. Body-level
   wins over the :root injection in _LayoutStyle4.cshtml. */
body{--sa-secondary:#d4a73a;--sa-secondary-bright:#e7bd44}
@font-face{font-family:'Antique Olive';src:url('/lib/fonts/Antique Olive T Compact Italic.otf') format('opentype'),url('/lib/fonts/Antique Olive T Compact Italic.woff') format('woff'),url('/lib/fonts/Antique Olive Compact.ttf') format('ttf');font-style:italic;font-weight:normal;}body{font-family:'Roboto Condensed',sans-serif;}a{text-decoration:none!important;cursor:pointer;}.bg-secondary{background-color:#bf000a!important;}.bg-primary{background-color:#2b2e91!important;}@media(max-width:56.25em){.force-mt-3{margin-top:3rem;}}@media(max-width:56.25em){.force-mt-5{margin-top:5rem;}}table.dataTable thead th{border-bottom:0!important;}.border-left-primary{border-left:solid 4px #bf000a;}@media only screen and (max-width:991px){.sponsor-banner{margin-top:15%!important;}}.header{position:relative;z-index:100;min-height:5rem;margin-bottom:0;}@media only screen and (min-width:1301px){.header{min-height:8rem;}}@media(max-width:56.25em){.header{min-height:6rem;position:fixed;top:0;right:0;left:0;}}.header .logo-container{display:block;position:absolute;left:0;transition:.2s;bottom:0;height:100%;width:225px;z-index:30;}.header .logo-container .mobile{display:none;}.header .logo{position:absolute;z-index:50;left:50%;width:75%;transform:translate(-50%,-50%);top:50%;}.header .logo-background{background:#fff;border-top-right-radius:137%;border-bottom-right-radius:85%;width:100%;height:100%;min-height:125px;bottom:0;left:0;}.header .menu-btn{display:none;width:auto;background:#2b2e91;position:relative;padding:0 2rem;float:right;height:4rem;cursor:pointer;}.header .menu-btn::after{background:hsla(0,0%,100%,.2);bottom:1.2rem;content:"";display:block;height:auto;left:0;position:absolute;top:1.2rem;width:1px;}@media(max-width:56.25em){.header .menu-btn{display:block;}}@media(max-width:25em){.header .menu-btn{padding:0 1.5rem;}}.header .menu-btn .menu-btn-container{display:inline-block;vertical-align:middle;}.header .menu-btn .menu-btn-container div{width:1.8rem;height:.2rem;background:#fff;margin-bottom:.3rem;border-radius:.3rem;position:relative;}.header .main-nav{padding-left:14rem;float:left;}@media(max-width:56.25em){.header .main-nav{padding-left:0;top:6rem;left:0;right:0;bottom:0;transform:translateX(-100%);opacity:0;overflow-y:auto;border-top:2px solid #e90052;background:transparent;}.header .main-nav::after{content:"";display:block;position:absolute;top:0;left:0;bottom:0;width:30%;background:#9e181e;z-index:-1;}}@media(max-width:960px){.header .main-nav{padding-left:14rem;}}.header .main-nav .nav-link{padding:0 2.6rem;}@media(max-width:56.25em){.header .main-nav .nav-link{font-size:.85rem;border:0;padding:1rem 1rem 1rem 2rem;line-height:1;background:#c9252d;width:30%;margin-bottom:.2rem;z-index:15;position:relative;font-weight:400;color:hsla(0,0%,100%,.6);display:-ms-flexbox;display:flex;height:3.4rem;-ms-flex-align:center;align-items:center;}.header .main-nav .nav-link.active.active{background-color:#c9252d;color:#fff;}.header .main-nav .nav-link.active.active::after{border-bottom-color:transparent;border-right-color:#fff;bottom:50%;left:100%;margin-left:-12px;margin-bottom:-6px;z-index:1;}.header .main-nav .nav-link.active.active+.dropdown{display:block;}.header .main-nav .nav-link::before{content:"";display:block;position:absolute;left:1rem;top:50%;transform:translateY(-50%);opacity:.6;}}@media(max-width:43.75em){.header .main-nav .dropdown{left:40%;width:60%;}.header .main-nav .nav-link,.header .main-nav::after{width:40%;}}.header .page-links{float:left;}@media(max-width:56.25em){.header .page-links{margin-left:0;float:none;position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto;-webkit-overflow-scrolling:touch;transform:translateZ(0);}}.header .page-links>li{float:left;position:relative;}.header .page-links>li:hover .dropdown,.header .page-links>li .open .dropdown{transform:scale(1) translateX(-50%);visibility:visible;}@media(max-width:56.25em){.header .page-links>li{position:static;}.header .page-links>li:hover .dropdown{display:none;transform:none;}}.header .nav-bar{background:#2b2e91!important;line-height:4rem;color:#fff;top:0;left:0;width:100%;transition:box-shadow .2s;-webkit-backface-visibility:hidden;backface-visibility:hidden;position:relative;}.header .nav-bar::before{content:"";display:block;}.header .nav-bar::after{content:"";display:table;clear:both;}@media(max-width:56.25em){.header .nav-bar{box-shadow:0 2px 3px rgba(0,0,0,.2);height:4rem;line-height:4rem;}.header .nav-bar li{float:none;}}.header ol,.header ul{padding-left:0;margin-top:0;margin-bottom:0;}.header ol li,.header ul li{list-style-type:none;}.header .nav-option,.header a.nav-link{position:relative;}.header .nav-option:before,.header .page-links li:before,.header a.nav-link:before{content:"";display:block;position:absolute;bottom:0;left:0;right:0;height:0;background:#e90052;transition:.2s;z-index:-1;}.header .nav-link{display:block;color:#fff;text-decoration:none;padding:0 2rem;transition:all .2s ease-in-out;cursor:pointer;position:relative;font-size:1rem;font-weight:400;}.header .nav-link .chevron-dropdown{margin-left:.8rem;display:inline-block;vertical-align:baseline;transform:translateY(-1.5px);}.header .nav-link.mobile{display:none;}.header .nav-link.active::after{content:"";display:block;border:6px solid transparent;border-bottom-color:#fff;position:absolute;bottom:0;left:50%;margin-left:-6px;}.header .dropdown{position:absolute;top:4rem;left:50%;background:#c9252d;min-width:100%;border-radius:0 0 2px 2px;transform:scale(0) translateX(-50%);transform-origin:left top;transition:all .1s;visibility:hidden;z-index:30;padding:1rem 2rem;box-shadow:0 2px 3px rgba(0,0,0,.1);white-space:nowrap;}.header .dropdown:before{content:"";display:block;border:8px solid transparent;border-bottom-color:#ff2882;position:absolute;top:-16px;left:50%;margin-left:-8px;}.header .dropdown ul{column-count:2;}@media(max-width:56.25em){.header .dropdown ul{column-count:auto;}}.header .dropdown li{display:block;float:none;line-height:normal;-moz-column-break-inside:avoid;column-break-inside:avoid;}@media(max-width:56.25em){.header .dropdown li{border-bottom:1px solid #e8e8e8;line-height:4rem;}}.header .dropdown a{display:block;line-height:2.4;min-width:9rem;color:#fff;text-decoration:none;font-weight:400;font-size:1.4rem;}@media(max-width:56.25em){.header .dropdown a{text-decoration:none;text-align:left;color:#242424;padding:1rem;font-size:.85rem;}}@media(max-width:56.25em){.header .dropdown{width:70%;min-width:0;position:fixed;top:0;right:0;bottom:0;left:30%;overflow:auto;-webkit-overflow-scrolling:touch;font-size:1.2rem;transform:none;visibility:visible;padding:0;box-shadow:none;display:none;background:#fff;}}@media(max-width:56.25em){.header .nav-bar,.header .nav-container{height:4rem;line-height:4rem;}}@media(max-width:430px){.header .nav-text{-ms-flex:0;flex:0;}}.fixed-container{top:0;left:0;right:0;}.fixed-container.fixed{position:fixed;}@media(max-width:56.25em){.fixed-container.fixed{position:static;}}.fixed-container.fixed .logo-container{height:auto!important;top:0;}.fixed-container.fixed .logo{margin-top:-.2rem;}.nav-container{min-height:4rem;}.sub-nav{line-height:2.2rem;box-shadow:0 1px 4px 0 #ccc6c6;position:relative;background:#fff;z-index:1;margin-left:0;margin-right:0;}.sub-nav::before{content:"";display:block;}@media(max-width:56.25em){.sub-nav{display:none;}}.sub-nav ul{padding-left:14.5rem;}.sub-nav ul::before{content:"";display:block;}.sub-nav ul::after{content:"";display:table;clear:both;}.sub-nav li{float:left;margin-left:0;margin-right:0;}.sub-nav a{display:block;color:#76766f;text-decoration:none;padding:.4rem 2rem;font-size:1rem;position:relative;transition:all .2s ease-in-out;}.sub-nav a.active{font-weight:400;}.sub-nav a:before{content:"";display:block;position:absolute;bottom:0;left:0;right:0;height:0;background:#bf000a;transition:.2s;z-index:-1;}.sub-nav a.active:before{height:4px;background:#bf000a;}@media(max-width:56.25em){.header-open .header .fixed-container,.header-open .header .nav-bar{position:static;}}.bg-gradient{background-image:linear-gradient(180deg,#000,#2b2e91)!important;}.bg-gradient-2{background-image:radial-gradient(circle,#2b2e91,#000)!important;}@media(max-width:63.9375em){.u-hide-tab{display:none!important;}}.u-show-tab{display:none!important;}@media(max-width:63.9375em){.u-show-tab{display:block!important;}}.header-open{overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;padding-top:6rem;}@media(max-width:56.25em){.header-open .header{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;z-index:100;}.header-open .header .fixed-container,.header-open .header .nav-bar{position:static;}.header-open .header .menu-btn{background:#e90052;}.header-open .header .menu-btn .menu-btn-container div:first-child{transform:rotate(45deg);top:.5rem;}.header-open .header .menu-btn .menu-btn-container div:nth-child(2){transform:scale(0);}.header-open .header .menu-btn .menu-btn-container div:nth-child(3){transform:rotate(-45deg);top:-.5rem;position:relative;}.header-open .header .main-nav{display:block;transform:translateX(0);opacity:1;position:absolute;top:4rem;right:0;bottom:0;left:0;}}.mobile-logo a img{height:45px;}.hide-scrollbar{overflow-x:hidden!important;}@media(max-width:56.25em){#sblwidget{display:none;}}.news-anchor-bottom{position:absolute;opacity:.7;width:100%;background:#000;color:#fff;bottom:0;height:75px;border-top:solid 1px #fff;}.category-column{column-count:2;}@media(max-width:56.25em){.category-column{column-count:1;}}.news-container-main{height:auto;}.news-container-main .card{background:none!important;border:0;}.news-container-main .card-image{border-radius:15px;}@media only screen and (max-width:1024px){.news-container-main .secondary-articles{display:none!important;}}@media only screen and (max-width:1024px){.news-container-main .card{font-size:15px;text-align:initial;}.news-container-main .card-title{white-space:normal;font-size:20px;}}.sport-header{position:relative;background-image:linear-gradient(135deg,#2b2e91 0%,#000 100%);background-position:top;padding:30px;display:flex;align-items:center;justify-content:center;color:#fff;}@media only screen and (max-width:991px){.sport-header{margin-top:15%;}}.sport-logo{position:absolute;top:10px;left:10px;width:100px;height:auto;}@media only screen and (max-width:991px){.sport-logo{width:50px;}}.display{position:relative;margin:0;padding:30px;color:#fff;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;font-size:100px;font-family:'Antique Olive',sans-serif;}@media only screen and (max-width:991px){.display{font-size:50px;}}.display::before,.display::after{content:"";height:2px;width:30%;background-color:#fff;position:absolute;top:50%;transform:translateY(-50%);}.display::before{left:-25%;}.display::after{right:-25%;}@media only screen and (max-width:1024px){.hub-items list-group-item a{font-size:20px;}}.info-center-heading{background-color:transparent!important;border:2px solid #fff;border-radius:10px;padding-bottom:5px;}@media only screen and (max-width:1024px){.info-center-heading{font-size:25px;}}.info-center-heading-news{width:50px;}@media only screen and (max-width:991px){.greedy-button{display:none!important;}}nav.greedy{position:relative;display:flex;align-items:center;background:#2b2e91!important;overflow-y:visible;}nav.greedy h1{display:flex;align-self:stretch;align-items:center;background:#2b2e91!important;color:#404040;padding:0 1.5rem;font-weight:bold;}nav.greedy button{align-self:stretch;transition:all .4s ease-out;padding:0 1rem 0 1.5rem;outline:0;border:0;font-size:.9rem;font-weight:bold;background:#2b2e91!important;color:#fff;margin-right:1%;}@media only screen and (max-width:991px){nav.greedy button{display:none!important;}}nav.greedy button.hidden{transition:none;width:0;padding:0;overflow:hidden;}nav.greedy button::after{content:attr(count);display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;background:#9f9f9f;color:#f2f2f2;box-shadow:0 0 1px 0 rgba(0,0,0,.8);border-radius:50%;font-size:14px;line-height:14px;margin-left:1rem;margin-right:calc(-1rem + -8px);}@media only screen and (min-width:992px){nav.greedy ul.links{display:flex;flex:1;}}nav.greedy ul.links li{flex:none;}nav.greedy .dropdown:hover{display:block;}#menu-7633>span.nav-text:hover{transform:scale(1) translateX(-50%);visibility:visible;}@media only screen and (max-width:600px){nav.greedy ul.page-links{top:0%;}}nav.greedy ul.hidden-links{position:absolute;background:#2b2e91!important;right:0;top:100%;z-index:9999;}@media only screen and (max-width:600px){nav.greedy ul.hidden-links{background:#c9252d!important;display:block!important;top:10%;}}nav.greedy ul.hidden-links li a{color:#fff!important;padding-right:1rem;}@media only screen and (max-width:600px){nav.greedy ul.hidden-links li a{text-decoration:none;text-align:left;color:#242424;padding:1rem;font-size:.85rem;}}nav.greedy ul.hidden-links.hidden{display:none;}.video-player-wrapper .video-header{margin-top:5px;}.video-player-wrapper .jwplayer{margin:0 auto;margin-bottom:25px;border-style:double;border-color:#808080;border-width:8px;}.video-player-wrapper .button{border-radius:4px;background-color:#f4511e;border:0;color:#fff;text-align:center;font-size:28px;padding:20px;width:100px;transition:all .5s;cursor:pointer;margin:5px;}@media only screen and (max-width:600px){.video-player-wrapper .button{font-size:20px;width:50px;padding:10px;}}.video-player-wrapper .button span{cursor:pointer;display:inline-block;position:relative;transition:.5s;}.video-player-wrapper .button span:after{content:'»';position:absolute;opacity:0;top:0;right:-20px;transition:.5s;}.video-player-wrapper .button:hover span{padding-right:25px;color:#fff;}.video-player-wrapper .button:hover span:after{opacity:1;right:0;}.forms-page{margin-top:75px;}.banner-wrapper-one{margin:0;padding:0;}@media only screen and (max-width:500px){.banner-wrapper-one .adzone .banner{margin:20px 0 20px 0;height:auto;}}.banner-wrapper-one .adzone .banner .ad-placement{width:600px;margin:0 auto;}@media only screen and (max-width:600px){.banner-wrapper-one .adzone .banner .ad-placement{width:auto;}}.banner-wrapper-one .adzone .banner .ad-placement img{border:1px solid;border-color:#d3d3d3;display:block;margin:0 auto;margin-top:5%;margin-bottom:5%;}@media only screen and (max-width:500px){.banner-wrapper-one .adzone .banner .ad-placement img{border:0;}}@media only screen and (max-width:600px){.adzone{margin-top:10%;}}*::-webkit-scrollbar{width:20px;}*::-webkit-scrollbar-track{background:#faf9f9;}*::-webkit-scrollbar-thumb{background-color:#fd0849;border-radius:25px;border:3px solid #fff;}.scorebook-news-widget-container{border-radius:10px;overflow:hidden;overflow-x:hidden;overflow-y:visible;box-shadow:0 0 10px 0 rgba(0,0,0,.1);}.scorebook-news-widget-container .sb-widget{width:100%;height:1000px;border-radius:10px;padding:10px;}.scorebook-news-widget-container .feed-title{font-size:50px;color:#000!important;padding-bottom:5px;position:-webkit-sticky;position:sticky;top:0;text-align:center;}.scorebook-news-widget-container .feed-item-title{border-top:2px solid #000;position:relative;color:#333;margin-bottom:10px;z-index:1;font-size:25px;line-height:1.33338;font-weight:400;letter-spacing:-.016em;text-align:left;}.scorebook-news-widget-container .feed-item-desc{display:none!important;}.scorebook-news-widget-container p{padding-bottom:5px;text-align:right;}.scorebook-news-widget-container p a{text-decoration:none;font-size:20px;background-color:#f00;color:#fff!important;padding:5px 6px 2px 6px;border-top:1px solid #ccc;border-right:1px solid #333;border-bottom:1px solid #333;border-left:1px solid #ccc;border-radius:8px;text-align:right;}.scorebook-news-widget-container .list-card-description{text-decoration:none;font-size:20px;background-color:#f00;background:linear-gradient(to right,#f00 50%,transparent 0);color:#fff!important;padding:5px 6px 2px 6px;border-top:1px solid #ccc;border-right:1px solid #333;border-bottom:1px solid #333;border-left:1px solid #ccc;border-radius:8px;text-align:right;}.scorebook-news-widget-container .feed-title-image{height:50px;width:50px;margin-right:10px;margin-left:10px;}.scorebook-news-widget-container .rssapp-list .list-card-description{display:none!important;}.fb_iframe_widget iframe{width:700px!important;height:800px;border-radius:10px;overflow:hidden;padding:10px;box-shadow:0 0 10px 0 rgba(0,0,0,.1);}@media(max-width:767px){.fb_iframe_widget iframe{width:100%!important;}}.fb-page{width:100%;}@media(max-width:767px){.fb_iframe_widget iframe{height:500px;margin-top:10px;}}.broadcast-card .away-logo-column img,.broadcast-card .home-logo-column img{max-width:512px;max-height:512px;}.broadcast-card-wrapper{display:flex;flex-direction:column;align-items:center;text-align:center;}.broadcast-card{position:relative;margin:10px;border-radius:10px;overflow:hidden;box-shadow:0 4px 8px rgba(0,0,0,.1);transition:transform .2s ease-in-out;float:left;}.broadcast-card a{text-decoration:none!important;color:inherit;}.broadcast-card-information{display:flex;flex-direction:column;}.broadcast-card-information a{text-decoration:none!important;color:inherit;}.score-ticker{display:flex;justify-content:space-between;}.team-score{display:flex;align-items:center;}.team-score span{font-size:18px;margin-right:5px;}.team-score i{font-size:18px;}.score-box{padding-bottom:10px;border-radius:0 0 10px 10px;}.broadcast-card:hover{transform:scale(1.05);}.score-overlay{position:absolute;top:0;right:0;padding:5px 10px;background-color:rgba(255,255,255,.8);border-radius:5px;font-weight:bold;}@media only screen and (max-width:991px){.score-overlay{display:none!important;}}.score-overlay span{display:block;margin-bottom:5px;}.broadcast-card::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:100%;height:100%;background-color:#d7d7d7;background-image:linear-gradient(-60deg,rgba(255,255,255,.8) 50%,#c2c7c9 50%);z-index:-1;}.away-logo-column img{position:relative;width:30%;height:auto;display:block;top:70px;left:50px;z-index:1;}.home-logo-column img{position:relative;width:30%;height:auto;display:block;left:60%;bottom:70px;z-index:1;}.broadcast-card:hover .play-button{opacity:1;}.play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s ease;z-index:3;}.live-overlay{position:absolute;bottom:5px;left:5px;padding:5px 15px;border-radius:20px;background-color:rgba(255,255,255,.8);background-color:#f00;color:#fff;display:none;font-weight:bold;letter-spacing:1px;}.broadcast-card.live .live-overlay{display:block;}.time-overlay{position:absolute;bottom:5px;left:5px;padding:5px 15px;border-radius:20px;font-weight:bold;letter-spacing:1px;}.broadcast-card:not(.live) .time-overlay{display:block;}.event-header{padding:16px 0;margin-bottom:16px;border-bottom:1px solid rgba(0,0,0,.1);}.team-title{font-size:1.8rem;font-weight:700;margin-bottom:12px;line-height:1.2;}.event-metadata{display:flex;flex-wrap:wrap;gap:20px;font-size:1rem;}.event-datetime,.event-venue{display:flex;align-items:center;gap:6px;}@media(max-width:768px){.team-title{font-size:1.5rem;}.event-metadata{flex-direction:column;gap:10px;}}.external-stream-container{background:rgba(0,0,0,.75);border-radius:8px;padding:20px;margin:15px 0;display:flex;align-items:center;box-shadow:0 4px 12px rgba(0,0,0,.2);border-left:4px solid #3498db;}.external-stream-container .alert-icon{font-size:2.5rem;color:#3498db;margin-right:20px;flex-shrink:0;}.external-stream-container .message-content{flex-grow:1;}.external-stream-container .message-content h4{color:#fff;margin-top:0;margin-bottom:8px;font-size:1.25rem;}.external-stream-container .message-content p{color:#e0e0e0;margin-bottom:15px;font-size:1rem;}.external-stream-container .btn-continue{background:#3498db;color:#fff;border:0;padding:10px 18px;border-radius:4px;font-weight:600;cursor:pointer;transition:background-color .2s;display:inline-flex;align-items:center;gap:8px;}.external-stream-container .btn-continue:hover{background:#2980b9;text-decoration:none;}#holder{background-color:#1a1a1a;border-radius:6px;overflow:hidden;margin-bottom:20px;}#holder-message .popup-blocked-message{margin-top:15px;padding:10px;background:rgba(255,193,7,.1);border-left:4px solid #ffc107;}#holder-message .popup-blocked-message a{color:#ffc107;text-decoration:underline;font-weight:600;}#holder-message .popup-blocked-message a:hover{color:#ffac33;}.event-header{padding:16px 0;margin-bottom:16px;border-bottom:1px solid rgba(0,0,0,.1);}.announcements .thumbnail-date{height:125px;border-radius:10px;text-align:center;}.announcements .thumbnail-date small{color:#000;}.news-container-main .hover-card:hover{transform:scale(1.05);box-shadow:0 0 20px rgba(0,0,0,.2);}.widget-container{margin-bottom:5%;height:800px;width:auto;border-radius:10px;background:transparent!important;}.widget-scroll{height:calc(100% - 40px);overflow-y:scroll;}.widget-scroll::-webkit-scrollbar{display:none;}.header-slanted-default{background-color:#fff;text-align:center;text-transform:uppercase;padding:5px 20px;margin:0 0 40px 0;display:inline-block;}.header-slanted{-ms-transform:skewX(-20deg);-webkit-transform:skewX(-20deg);transform:skewX(-20deg);}.header-slanted-content{-ms-transform:skewX(20deg);-webkit-transform:skewX(20deg);transform:skewX(20deg);display:inline-block;font-size:2em;letter-spacing:5px;font-weight:bold;}.fb-page{overflow:hidden;background-color:#fff;}.fb-page blockquote{border:0;margin:0;padding:0;}.fb-page a{color:#365899;}.presenting-sponsor .img-fluid{margin-top:-3.5%;max-width:65%;}@media only screen and (max-width:600px){.presenting-sponsor .img-fluid{margin-top:5.5%;max-width:120%;}}#app-downloads a{padding:10px;}#app-downloads #niaaa-icon{margin:20px auto 20px auto;width:auto;height:75px;}#app-downloads .custom-icon{width:auto;height:75px;margin-left:auto;margin-right:auto;border:2px solid #808080;border-radius:10px;}#app-downloads #badges{text-align:center;margin:20px;}#app-downloads #badges .app-icon{border-radius:15%;width:70px;margin:10px auto;}#app-downloads #badges img{display:inline-block;margin:10px auto;width:175px;height:auto;}@media only screen and (max-width:600px){#app-downloads #badges img{display:block;}}
/* ============================================================ */
/* STATE ASSOCIATION LAYOUT STYLE 2 — additions                 */
/* Promotional tiles, fan gallery, nav restyle, logo, footer    */
/* Migrated from inline <style> in _LayoutStyle2.cshtml         */
/* ============================================================ */

/* ---------- Promotional Tiles ---------- */
.sa-promo-tiles {
    padding: 48px 0 32px;
    background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.02) 100%);
}
.sa-promo-tiles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}
.sa-promo-tile {
    position: relative;
    display: block;
    min-height: 220px;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    color: #fff;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    background: #1a1a1a;
}
.sa-promo-tile:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22);
    color: #fff;
    text-decoration: none;
}
.sa-promo-tile-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}
.sa-promo-tile:hover .sa-promo-tile-img { transform: scale(1.05); }
.sa-promo-tile-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 22px 20px;
    background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.78) 100%);
    z-index: 1;
}
.sa-promo-tile-title {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 1.4rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 4px;
    line-height: 1.15;
}
.sa-promo-tile-subtitle {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 0.95rem;
    margin: 0;
    opacity: 0.92;
}
.sa-promo-tile-action {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(6px);
    border-radius: 50%;
    transition: background 0.2s ease;
}
.sa-promo-tile:hover .sa-promo-tile-action { background: rgba(255, 255, 255, 0.32); }
.sa-promo-tile-static { cursor: default; }
.sa-promo-tile-static:hover { transform: none; }

/* ---------- Fan Gallery ---------- */
.sa-fangallery { padding: 48px 0 24px; }
.sa-fangallery-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #e5e5e5;
}
.sa-fangallery-title {
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    font-size: 1.6rem;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.sa-fangallery-cta {
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    color: #2c5aa0;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 8px 16px;
    border: 2px solid #2c5aa0;
    border-radius: 4px;
    transition: background 0.2s ease, color 0.2s ease;
}
.sa-fangallery-cta:hover { background: #2c5aa0; color: #fff; text-decoration: none; }
.sa-fangallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 10px;
}
.sa-fangallery-item {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    border-radius: 6px;
    overflow: hidden;
    background: #1a1a1a;
}
.sa-fangallery-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s ease; }
.sa-fangallery-item:hover .sa-fangallery-img { transform: scale(1.06); }
.sa-fangallery-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0);
    color: #fff;
    font-size: 1.6rem;
    opacity: 0;
    transition: opacity 0.2s ease, background 0.2s ease;
}
.sa-fangallery-item:hover .sa-fangallery-overlay { opacity: 1; background: rgba(0, 0, 0, 0.45); }
.sa-fangallery-credit {
    position: absolute;
    bottom: 6px;
    left: 6px;
    right: 6px;
    font-size: 0.75rem;
    color: #fff;
    background: rgba(0, 0, 0, 0.55);
    padding: 3px 6px;
    border-radius: 3px;
    font-family: 'Roboto Condensed', sans-serif;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (max-width: 575px) {
    .sa-promo-tile { min-height: 180px; }
    .sa-promo-tile-title { font-size: 1.2rem; }
    .sa-fangallery-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
}

/* ---------- Legacy brand-token vars (still referenced by footer / sponsors / promo tiles) ---------- */
:root {
    --sa-nav-navy: #14305a;
    --sa-nav-navy-deep: #0e2546;
    --sa-nav-gold: #d4a73a;
    --sa-nav-gold-bright: #e7bd44;
    --sa-nav-red: #c8102e;
}

/* ---------- Footer ---------- */
.sa-footer-style2 {
    background: var(--sa-nav-navy-deep, #061f38);
    color: #ffffff;
    font-family: 'Roboto Condensed', sans-serif;
    margin: 0;
}
.sa-footer-accent-gold { height: 2px; background: var(--sa-nav-gold, #c9a23a); }

/* Quick-links strip (footer top) */
.sa-footer-quicklinks {
    background:
        linear-gradient(90deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 0.18) 100%),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.04) 0 2px, transparent 2px 14px),
        var(--sa-nav-red, #c8102e);
    padding: 14px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    border-bottom: 1px solid rgba(0, 0, 0, 0.20);
}
.sa-footer-quicklinks-row {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 22px;
}
.sa-footer-quicklinks-block { display: flex; align-items: center; gap: 12px; min-height: 38px; }
.sa-footer-quicklinks-divider { width: 1px; height: 32px; background: rgba(255, 255, 255, 0.28); }
.sa-quicklinks-label {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: rgba(255, 255, 255, 0.92);
    margin-right: 4px;
}
.sa-quicklinks-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: var(--sa-nav-red, #c8102e);
    background: #ffffff;
    text-decoration: none;
    font-size: 0.95rem;
    transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease;
}
.sa-quicklinks-icon:hover,
.sa-quicklinks-icon:focus {
    background: var(--sa-nav-gold, #c9a23a);
    color: var(--sa-nav-navy-deep, #061f38);
    transform: translateY(-2px);
    text-decoration: none;
}

/* Top-nav red strip */
.sa-topnav-strip {
    background:
        linear-gradient(90deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0) 65%, rgba(0, 0, 0, 0.18) 100%),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.04) 0 2px, transparent 2px 14px),
        var(--sa-nav-red, #c8102e);
    margin-top: 3.5%;
    padding: 12px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    border-bottom: 1px solid rgba(0, 0, 0, 0.20);
}
.sa-topnav-strip-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}
.sa-topnav-quicklinks { display: flex; align-items: center; gap: 10px; }
.sa-topnav-sponsor {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
    max-width: 360px;
}
@media (max-width: 575px) {
    .sa-topnav-sponsor { display: none; }
    .sa-topnav-strip-inner { justify-content: center; }
}

/* App store badges */
.sa-footer-quicklinks-app {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(0, 0, 0, 0.35);
    color: #ffffff;
    text-decoration: none;
    padding: 7px 16px 7px 12px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    transition: background 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
    font-family: 'Roboto Condensed', sans-serif;
}
.sa-footer-quicklinks-app:hover,
.sa-footer-quicklinks-app:focus {
    background: #000000;
    border-color: var(--sa-nav-gold, #c9a23a);
    color: #ffffff;
    transform: translateY(-2px);
    text-decoration: none;
}
.sa-footer-quicklinks-app i { font-size: 1.4rem; line-height: 1; }
.sa-footer-quicklinks-app-text { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.05; }
.sa-footer-quicklinks-app-text small {
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(255, 255, 255, 0.78);
    font-weight: 500;
}
.sa-footer-quicklinks-app-text strong {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.4px;
}
@media (max-width: 575px) {
    .sa-footer-quicklinks-row { gap: 14px; }
    .sa-footer-quicklinks-divider { display: none; }
    .sa-footer-quicklinks-block { gap: 8px; }
    .sa-footer-quicklinks-app { padding: 6px 12px 6px 10px; }
    .sa-footer-quicklinks-app-text small { font-size: 0.58rem; }
    .sa-footer-quicklinks-app-text strong { font-size: 0.85rem; }
}

/* Footer columns */
.sa-footer-main { padding: 48px 0 40px; }
.sa-footer-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 0;
    margin: 0;
}
.sa-footer-brand {
    flex: 0 0 auto;
    width: 240px;
    padding: 0 24px 24px 0;
    color: rgba(255, 255, 255, 0.78);
}
.sa-footer-brand-row { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.sa-footer-wordmark { font-family: 'Oswald', 'Roboto Condensed', sans-serif; line-height: 1.05; color: #ffffff; }
.sa-footer-wordmark-name { font-size: 1.05rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1.4px; }
.sa-footer-wordmark-meta {
    font-size: 0.7rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    color: rgba(255, 255, 255, 0.65);
    margin-top: 4px;
}
.sa-footer-shield { max-width: 56px; max-height: 56px; object-fit: contain; flex-shrink: 0; }
.sa-footer-description { font-size: 0.85rem; line-height: 1.6; color: rgba(255, 255, 255, 0.65); margin: 0; }
.sa-footer-col {
    flex: 1 1 0;
    min-width: 0;
    padding: 0 16px 24px;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
}
.sa-footer-col:first-of-type { border-left: 0; }
@media (max-width: 1199px) {
    .sa-footer-row { flex-wrap: wrap; }
    .sa-footer-brand { width: 100%; padding-right: 0; padding-bottom: 28px; }
    .sa-footer-col { flex: 1 1 22%; min-width: 140px; }
}
@media (max-width: 575px) {
    .sa-footer-col { flex: 1 1 45%; border-left: 0; }
}
.sa-footer-heading {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--sa-nav-gold, #c9a23a);
    margin: 0 0 18px;
}
.sa-footer-list { list-style: none; padding: 0; margin: 0; }
.sa-footer-list li { margin-bottom: 10px; }
.sa-footer-list a {
    color: #ffffff;
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 400;
    transition: color 0.15s ease;
}
.sa-footer-list a:hover,
.sa-footer-list a:focus { color: var(--sa-nav-gold, #c9a23a); text-decoration: none; }

.sa-footer-contact {
    background: var(--sa-nav-navy, #093259);
    color: rgba(255, 255, 255, 0.7);
    padding: 14px 0;
    text-align: center;
    font-size: 0.85rem;
    font-family: 'Roboto Condensed', sans-serif;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.sa-footer-contact-sep { margin: 0 8px; color: rgba(255, 255, 255, 0.35); }
.sa-footer-legal {
    background: #050d18;
    color: rgba(255, 255, 255, 0.5);
    padding: 12px 0;
    text-align: center;
    font-size: 0.78rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-family: 'Roboto Condensed', sans-serif;
}
.sa-footer-legal a {
    color: rgba(255, 255, 255, 0.78);
    text-decoration: none;
    transition: color 0.15s ease;
}
.sa-footer-legal a:hover { color: var(--sa-nav-gold, #c9a23a); }
.sa-footer-legal-sep { margin: 0 8px; color: rgba(255, 255, 255, 0.25); }

/* Reset footer wrapper margin */
body > footer.mt-2,
main + footer.mt-2 { margin-top: 0 !important; }
/* ============= END Layout Style 2 additions ============= */

/* ============================================================ */
/* Footer tweaks: phone moved under brand, link font matches nav */
/* ============================================================ */

/* Phone / contact under the brand column */
.sa-footer-brand-contact {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.85rem;
    line-height: 1.6;
    font-family: 'Roboto Condensed', sans-serif;
}
.sa-footer-brand-contact-line {
    margin-bottom: 4px;
}
.sa-footer-brand-contact-line i {
    color: var(--sa-nav-gold, #c9a23a);
    margin-right: 6px;
    width: 14px;
    text-align: center;
}

/* Footer link items now match the main nav: Oswald, 1rem, weight 500 */
.sa-footer-list a {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* ============================================================ */
/* PLATINUM SPONSORS — SA Layout Style 2                        */
/* Mirrors school-side Style 19 (.plat19-*) using Oswald + Owl  */
/* ============================================================ */
.sa-plat {
    background: #f5f5f5;
    border-top: 1px solid #e6e7e8;
    border-bottom: 1px solid #e6e7e8;
    padding: 24px 0;
}
.sa-plat-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 16px;
}
.sa-plat-heading {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #999;
    text-align: center;
    margin: 0 0 16px;
}
.sa-plat-carousel-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
}
.sa-plat-arrow {
    background: transparent;
    border: 1px solid #e6e7e8;
    color: #888;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 0.75rem;
    flex-shrink: 0;
    transition: all 0.2s ease;
}
.sa-plat-arrow:hover {
    border-color: #999;
    color: #333;
    background: #fff;
}
.sa-plat-arrow:focus-visible {
    outline: 2px solid var(--sa-nav-gold, #c9a23a);
    outline-offset: 2px;
}
.sa-plat-track {
    flex: 1;
    min-width: 0;
}
.sa-plat-slide {
    padding: 0 16px;
    outline: none;
}
.sa-plat-link {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 140px;
    padding: 16px;
    transition: opacity 0.2s ease;
}
.sa-plat-link:hover {
    opacity: 0.7;
}
.sa-plat-logo {
    max-height: 120px;
    max-width: 280px;
    width: auto;
    height: auto;
    object-fit: contain;
}
.sa-plat-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 12px;
}
.sa-plat-pause {
    background: transparent;
    border: none;
    color: #aaa;
    font-size: 0.75rem;
    cursor: pointer;
    padding: 4px 8px;
    transition: color 0.2s ease;
}
.sa-plat-pause:hover {
    color: #555;
}
.sa-plat-pause:focus-visible {
    outline: 2px solid var(--sa-nav-gold, #c9a23a);
    outline-offset: 2px;
}
.sa-plat-view-all {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    color: #888;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: color 0.2s ease;
}
.sa-plat-view-all:hover {
    color: #333;
    text-decoration: none;
}
.sa-plat-view-all i {
    font-size: 0.6rem;
    transition: transform 0.2s ease;
}
.sa-plat-view-all:hover i {
    transform: translateX(3px);
}

/* Owl carousel adjustments for sponsor slider */
.sa-plat-slider .owl-stage {
    display: flex;
    align-items: center;
}
.sa-plat-slider .owl-item {
    display: flex;
    align-items: center;
}

@media (max-width: 992px) {
    .sa-plat-link { height: 100px; }
    .sa-plat-logo { max-height: 80px; max-width: 200px; }
}
@media (max-width: 768px) {
    .sa-plat-slide { padding: 0 8px; }
    .sa-plat-logo { max-height: 60px; max-width: 160px; }
}
@media (max-width: 575px) {
    .sa-plat { padding: 16px 0; }
    .sa-plat-heading { font-size: 0.7rem; }
    .sa-plat-container { padding: 0 8px; }
    .sa-plat-arrow { width: 28px; height: 28px; }
    .sa-plat-controls { gap: 8px; }
    .sa-plat-view-all { font-size: 0.6rem; }
    .sa-plat-link { height: 80px; }
    .sa-plat-logo { max-height: 60px; max-width: 140px; }
}
/* ============= END Platinum Sponsors ============= */

/* ============================================================ */
/* SPONSORS PAGE — SA Sites (/sponsor)                          */
/* Platinum sponsors prominent at top, banner grid below        */
/* ============================================================ */
.sa-sponsors-page {
    background: #fdfcf8;
    padding: 0 0 60px;
}
.sa-sponsors-hero {
    background:
        linear-gradient(180deg, var(--sa-nav-navy-deep, #061f38) 0%, var(--sa-nav-navy, #14305a) 100%);
    color: #ffffff;
    padding: 56px 0 48px;
    border-bottom: 4px solid var(--sa-nav-gold, #d4a73a);
    text-align: center;
}
.sa-sponsors-eyebrow {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-size: 0.78rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 4px;
    color: var(--sa-nav-gold, #d4a73a);
    margin-bottom: 12px;
}
.sa-sponsors-title {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-size: 3rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 14px;
    color: #ffffff;
}
.sa-sponsors-lede {
    max-width: 640px;
    margin: 0 auto;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.05rem;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.5;
}
.sa-sponsors-section {
    padding: 56px 0 24px;
}
.sa-sponsors-section-platinum {
    background: #ffffff;
    border-bottom: 1px solid #ece7d5;
}
.sa-sponsors-section-banner {
    background: #fdfcf8;
}
.sa-sponsors-section-header {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 36px;
}
.sa-sponsors-section-eyebrow {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--sa-nav-navy-deep, #061f38);
    flex-shrink: 0;
}
.sa-sponsors-section-platinum .sa-sponsors-section-eyebrow {
    color: var(--sa-nav-gold, #d4a73a);
}
.sa-sponsors-section-rule {
    flex: 1 1 auto;
    height: 2px;
    background: linear-gradient(90deg, currentColor, transparent);
    color: var(--sa-nav-gold, #d4a73a);
    opacity: 0.55;
}

/* Platinum row: large, generous spacing, 3 per row at desktop */
.sa-sponsors-platinum-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 32px 24px;
    align-items: stretch;
    justify-items: stretch;
}
.sa-sponsors-platinum-card {
    background: #ffffff;
    border: 1px solid #ece7d5;
    border-radius: 12px;
    box-shadow: 0 8px 28px rgba(20, 48, 90, 0.08);
    padding: 36px 28px 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.sa-sponsors-platinum-card:hover {
    transform: translateY(-3px);
    border-color: var(--sa-nav-gold, #d4a73a);
    box-shadow: 0 14px 32px rgba(20, 48, 90, 0.14);
}
.sa-sponsors-platinum-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 140px;
    padding: 12px;
}
.sa-sponsors-platinum-logo {
    max-height: 120px;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}
.sa-sponsors-platinum-name {
    margin-top: 18px;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    color: var(--sa-nav-navy-deep, #061f38);
}
.sa-sponsors-grid{display:grid;align-items:stretch;justify-items:stretch}.sa-sponsors-card{background:#fff;border:1px solid #ece7d5;border-radius:12px;box-shadow:0 8px 28px rgba(20,48,90,.08);display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.sa-sponsors-card:hover{transform:translateY(-3px);border-color:var(--sa-secondary,var(--sa-nav-gold,#d4a73a));box-shadow:0 14px 32px rgba(20,48,90,.14)}.sa-sponsors-card-link{display:flex;align-items:center;justify-content:center;width:100%;padding:12px}.sa-sponsors-card-logo{max-width:100%;width:auto;height:auto;object-fit:contain}.sa-sponsors-card-name{font-family:'Oswald','Roboto Condensed',sans-serif;font-weight:600;text-transform:uppercase;color:var(--sa-nav-navy-deep,#061f38)}.sa-sponsors-grid.sa-sponsors-tier-1{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px 24px}.sa-sponsors-tier-1 .sa-sponsors-card{padding:40px 30px 24px}.sa-sponsors-tier-1 .sa-sponsors-card-link{height:160px;padding:14px}.sa-sponsors-tier-1 .sa-sponsors-card-logo{max-height:140px}.sa-sponsors-tier-1 .sa-sponsors-card-name{margin-top:20px;font-size:1.1rem;letter-spacing:1.5px}.sa-sponsors-grid.sa-sponsors-tier-2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px 20px}.sa-sponsors-tier-2 .sa-sponsors-card{padding:30px 22px 18px}.sa-sponsors-tier-2 .sa-sponsors-card-link{height:120px;padding:10px}.sa-sponsors-tier-2 .sa-sponsors-card-logo{max-height:100px}.sa-sponsors-tier-2 .sa-sponsors-card-name{margin-top:16px;font-size:1rem;letter-spacing:1.3px}.sa-sponsors-grid.sa-sponsors-tier-3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px 16px}.sa-sponsors-tier-3 .sa-sponsors-card{padding:22px 16px 14px}.sa-sponsors-tier-3 .sa-sponsors-card-link{height:90px;padding:8px}.sa-sponsors-tier-3 .sa-sponsors-card-logo{max-height:75px}.sa-sponsors-tier-3 .sa-sponsors-card-name{margin-top:12px;font-size:.95rem;letter-spacing:1.2px}.sa-sponsors-grid.sa-sponsors-tier-4{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px 12px}.sa-sponsors-tier-4 .sa-sponsors-card{padding:16px 12px 12px}.sa-sponsors-tier-4 .sa-sponsors-card-link{height:70px;padding:6px}.sa-sponsors-tier-4 .sa-sponsors-card-logo{max-height:58px}.sa-sponsors-tier-4 .sa-sponsors-card-name{margin-top:10px;font-size:.9rem;letter-spacing:1.1px}@media (max-width:768px){.sa-sponsors-tier-1 .sa-sponsors-card{padding:28px 20px 18px}.sa-sponsors-tier-1 .sa-sponsors-card-link{height:120px}.sa-sponsors-tier-1 .sa-sponsors-card-logo{max-height:100px}.sa-sponsors-tier-2 .sa-sponsors-card-link{height:100px}.sa-sponsors-tier-2 .sa-sponsors-card-logo{max-height:84px}}

/* Banner grid: smaller logos, denser */
.sa-sponsors-banner-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 16px;
}
.sa-sponsors-banner-card {
    background: #ffffff;
    border: 1px solid #ece7d5;
    border-radius: 8px;
    padding: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.18s ease, border-color 0.18s ease;
}
.sa-sponsors-banner-card:hover {
    transform: translateY(-2px);
    border-color: var(--sa-nav-gold, #d4a73a);
}
.sa-sponsors-banner-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 80px;
}
.sa-sponsors-banner-logo {
    max-height: 70px;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

.sa-sponsors-empty {
    padding: 64px 0;
    text-align: center;
    color: #888;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.1rem;
}

@media (max-width: 768px) {
    .sa-sponsors-hero { padding: 40px 0 32px; }
    .sa-sponsors-title { font-size: 2.2rem; }
    .sa-sponsors-section { padding: 40px 0 16px; }
    .sa-sponsors-platinum-grid { gap: 20px 16px; }
    .sa-sponsors-platinum-card { padding: 24px 18px 18px; }
    .sa-sponsors-platinum-link { height: 110px; }
    .sa-sponsors-platinum-logo { max-height: 90px; }
}
@media (max-width: 480px) {
    .sa-sponsors-banner-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
}
/* ============= END SA Sponsors page ============= */

/* ============================================================ */
/* SPONSORS PAGE — Banner section (AWAAdvertisements / CrossQ)  */
/* Adds list-style banner cards with website/call CTAs          */
/* Supersedes earlier .sa-sponsors-banner-grid layout            */
/* ============================================================ */
.sa-sponsors-banner-intro {
    text-align: center;
    color: #666;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1rem;
    margin: 0 0 32px;
}
.sa-sponsors-banner-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: center;
}
.sa-sponsors-banner-card-large {
    background: #ffffff;
    border: 1px solid #ece7d5;
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(20, 48, 90, 0.08);
    width: 100%;
    max-width: 720px;
    padding: 24px;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.sa-sponsors-banner-card-large:hover {
    transform: translateY(-2px);
    border-color: var(--sa-nav-gold, #d4a73a);
    box-shadow: 0 10px 24px rgba(20, 48, 90, 0.12);
}
.sa-sponsors-banner-name {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.6px;
    color: var(--sa-nav-navy-deep, #061f38);
    margin: 0 0 16px;
}
.sa-sponsors-banner-image-link {
    display: inline-block;
    width: 100%;
}
.sa-sponsors-banner-image {
    max-width: 85%;
    height: auto;
    border-radius: 6px;
    margin: 0 auto;
    display: inline-block;
}
.sa-sponsors-banner-actions {
    margin-top: 18px;
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}
.sa-sponsors-banner-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 22px;
    background: var(--sa-nav-navy, #14305a);
    color: #ffffff;
    text-decoration: none;
    border-radius: 6px;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: background 0.18s ease, transform 0.18s ease;
}
.sa-sponsors-banner-btn:hover {
    background: var(--sa-nav-navy-deep, #061f38);
    color: #ffffff;
    transform: translateY(-1px);
    text-decoration: none;
}
.sa-sponsors-banner-btn-secondary {
    background: var(--sa-nav-gold, #d4a73a);
    color: var(--sa-nav-navy-deep, #061f38);
}
.sa-sponsors-banner-btn-secondary:hover {
    background: var(--sa-nav-gold-bright, #e7bd44);
    color: var(--sa-nav-navy-deep, #061f38);
}

@media (max-width: 575px) {
    .sa-sponsors-banner-card-large { padding: 18px 14px; }
    .sa-sponsors-banner-image { max-width: 100%; }
    .sa-sponsors-banner-btn { padding: 8px 16px; font-size: 0.8rem; }
}
/* ============= END SA Sponsors banner section ============= */

/* ============================================================ */
/* LAYOUT 4 — PROMOTIONAL TILES (Tickets / Watch / Merch / etc.) */
/* Classification-driven theme: each tile gets a bg color, icon, */
/* eyebrow, italic Oswald headline, subtitle, and CTA pill.      */
/* ============================================================ */
.sa4-promo {
    padding: 36px 0 12px;
    background: #f4f4f4;
}
.sa4-promo-container { padding: 0 32px; }
.sa4-promo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 14px;
}
.sa4-promo-tile {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    min-height: 280px;
    padding: 28px 28px 22px;
    border-radius: 0;
    color: #ffffff;
    text-decoration: none;
    overflow: hidden;
    transition: transform 0.22s ease, box-shadow 0.22s ease;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.10);
}
.sa4-promo-tile:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 26px rgba(0, 0, 0, 0.18);
    color: #ffffff;
    text-decoration: none;
}
.sa4-promo-tile-static { cursor: default; }
.sa4-promo-tile-static:hover { transform: none; box-shadow: 0 6px 14px rgba(0, 0, 0, 0.10); }

.sa4-promo-tile-icon {
    font-size: 1.8rem;
    margin-bottom: 22px;
    opacity: 0.95;
}
.sa4-promo-tile-eyebrow {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-size: 0.72rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 8px;
    opacity: 0.85;
}
.sa4-promo-tile-title {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-style: italic;
    font-weight: 800;
    font-size: 1.55rem;
    line-height: 1.05;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 10px;
}
.sa4-promo-tile-subtitle {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0;
    opacity: 0.85;
    flex: 1 1 auto;
}
.sa4-promo-tile-cta {
    margin-top: 22px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.6px;
    background: rgba(0, 0, 0, 0.32);
    color: #ffffff;
    border-radius: 2px;
    transition: background 0.18s ease, transform 0.18s ease;
}
.sa4-promo-tile:hover .sa4-promo-tile-cta {
    background: rgba(0, 0, 0, 0.55);
}
.sa4-promo-tile-cta i { font-size: 0.75rem; }

/* ----- Per-classification themes ----- */
/* Tickets — deep navy with gold accent icon */
.sa4-promo-tile-tickets {
    background: #0a1f3d;
    color: #ffffff;
}
.sa4-promo-tile-tickets .sa4-promo-tile-icon { color: #c9a23a; }

/* Watch — red */
.sa4-promo-tile-watch {
    background: var(--sa-primary);
    color: #ffffff;
}
.sa4-promo-tile-watch .sa4-promo-tile-icon {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.96);
    color: var(--sa-primary);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Merch — gold */
.sa4-promo-tile-merch {
    background: #d4a73a;
    color: #0a1f3d;
}
.sa4-promo-tile-merch .sa4-promo-tile-icon { color: #0a1f3d; }
.sa4-promo-tile-merch .sa4-promo-tile-cta {
    background: #0a1f3d;
    color: #ffffff;
}
.sa4-promo-tile-merch:hover .sa4-promo-tile-cta { background: #061734; }

/* Schedule — green */
.sa4-promo-tile-schedule {
    background: #2c6e49;
    color: #ffffff;
}
.sa4-promo-tile-schedule .sa4-promo-tile-icon { color: #f6c744; }

/* News — teal/blue */
.sa4-promo-tile-news {
    background: #1f4e79;
    color: #ffffff;
}
.sa4-promo-tile-news .sa4-promo-tile-icon { color: #f6c744; }

/* Standings — purple */
.sa4-promo-tile-standings {
    background: #4a3b6b;
    color: #ffffff;
}
.sa4-promo-tile-standings .sa4-promo-tile-icon { color: #f6c744; }

/* Champions — black with gold */
.sa4-promo-tile-champions {
    background: #1a1a1a;
    color: #ffffff;
}
.sa4-promo-tile-champions .sa4-promo-tile-icon { color: #d4a73a; }

/* Tournament — slate */
.sa4-promo-tile-tournament {
    background: #2d3a4a;
    color: #ffffff;
}
.sa4-promo-tile-tournament .sa4-promo-tile-icon { color: #f6c744; }

/* Default — neutral navy */
.sa4-promo-tile-default {
    background: #14305a;
    color: #ffffff;
}
.sa4-promo-tile-default .sa4-promo-tile-icon { color: #c9a23a; }

/* Mobile: horizontal swipe slider (scroll-snap). One tile is ~82% of viewport,
   peeking at the next so users see there is more to swipe to. */
@media (max-width: 768px) {
    .sa4-promo-container { padding: 0; }
    .sa4-promo-grid {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 0 16px 12px 16px;
        scrollbar-width: none;
    }
    .sa4-promo-grid::-webkit-scrollbar { display: none; }
    .sa4-promo-tile {
        flex: 0 0 82%;
        scroll-snap-align: start;
        min-height: 200px;
        padding: 22px 22px 18px;
    }
    .sa4-promo-tile-title { font-size: 1.3rem; }
}
/* ============= END Layout 4 promo tiles ============= */

/* ============================================================ */
/* LAYOUT 4 ("For the Fans") — Phase 2/3/4 styles               */
/* Tenant brand colors are injected at render time by            */
/* _LayoutStyle4.cshtml as CSS custom properties on :root        */
/* (--sa-primary, --sa-secondary, etc.). This file uses them via */
/* var() with sensible neutral fallbacks.                        */
/* ============================================================ */

/* --- Footer: pulls from tenant primary deep variant --- */
.sa-footer-style2 {
    background: var(--sa-primary-deep, var(--sa-primary)) !important;
}

/* ============================================================ */
/* UPCOMING GAMES (Phase 2) — .ue4-*                            */
/* ============================================================ */
.ue4-section {
    background: #fefcf6;
    border-bottom: 1px solid #e6e0cd;
    margin-bottom: 18px;
}
.ue4-bar {
    display: flex;
    align-items: stretch;
    background: var(--sa-primary-deep, var(--sa-primary));
    color: #fff;
    border-top: 3px solid var(--sa-secondary);
}
.ue4-bar-marker { width: 8px; background: var(--sa-secondary); }
.ue4-bar-label {
    padding: 14px 18px;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-style: italic;
    font-weight: 800;
    font-size: 1.3rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #fff;
}
.ue4-bar-label em { color: var(--sa-secondary); font-style: italic; }
.ue4-bar-week {
    padding: 0 18px;
    display: flex;
    align-items: center;
    font-family: 'Roboto Mono', monospace;
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-left: 1px solid rgba(255, 255, 255, 0.18);
}
.ue4-bar-more {
    margin-left: auto;
    padding: 0 18px;
    display: flex;
    align-items: center;
    text-decoration: none;
    text-transform: uppercase;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-size: 0.95rem;
    color: #fff;
    letter-spacing: 0.16em;
    font-weight: 800;
}
.ue4-bar-more:hover { color: var(--sa-secondary); }

.ue4-scroll {
    display: flex;
    gap: 12px;
    padding: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
}
.ue4-scroll::-webkit-scrollbar { height: 8px; }
.ue4-scroll::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.15); border-radius: 4px; }
.ue4-card {
    flex: 0 0 280px;
    border: 1px solid #e6e0cd;
    background: #fff;
    display: flex;
    flex-direction: column;
    scroll-snap-align: start;
    transition: border-color 0.15s, box-shadow 0.15s;
    text-decoration: none;
    color: inherit;
}
.ue4-card:hover {
    border-color: var(--sa-primary);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
    color: inherit;
    text-decoration: none;
}
.ue4-date {
    background: var(--sa-primary);
    color: #fff;
    padding: 12px 16px;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 900;
    font-style: italic;
    line-height: 1;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.ue4-date-day { font-size: 1.05rem; }
.ue4-date-time { font-size: 0.85rem; color: var(--sa-secondary); font-weight: 800; }

.ue4-body {
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-grow: 1;
}
.ue4-team {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 700;
    font-size: 0.92rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.ue4-helmet {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--sa-primary);
    color: #fff;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 900;
    font-size: 0.62rem;
    letter-spacing: 0.04em;
}
.ue4-team-name { line-height: 1.1; }
.ue4-vs {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-style: italic;
    font-weight: 900;
    font-size: 0.7rem;
    color: #6c6855;
    padding-left: 38px;
    letter-spacing: 0.2em;
}
.ue4-meta {
    margin-top: auto;
    padding-top: 8px;
    border-top: 1px dashed #e6e0cd;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: 'Roboto Mono', monospace;
    font-size: 0.65rem;
    color: #6c6855;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    flex-wrap: wrap;
    gap: 6px;
}
.ue4-meta-pill {
    background: var(--sa-primary);
    color: #fff;
    padding: 2px 6px;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 700;
}
.ue4-cta {
    padding: 10px 16px;
    background: #f7f4ea;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 800;
    font-size: 0.7rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--sa-primary);
    border-top: 1px solid #e6e0cd;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}
.ue4-cta:hover {
    background: var(--sa-primary-deep, var(--sa-primary));
    color: #fff;
    text-decoration: none;
}

/* ============================================================ */
/* FAN WALL (Phase 3) — .fp4-*                                  */
/* ============================================================ */
.fp4-section {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: var(--sa-primary-deep, var(--sa-primary));
    background-image:
        radial-gradient(ellipse at top right, rgba(255, 255, 255, 0.08) 0%, transparent 60%),
        repeating-linear-gradient(45deg, transparent 0 79px, rgba(255, 255, 255, 0.025) 79px 80px);
    margin: 0 0 24px;
}
.fp4-panel {
    padding: 36px 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}
.fp4-tag {
    display: inline-flex;
    align-self: flex-start;
    gap: 8px;
    align-items: center;
    background: var(--sa-secondary);
    color: var(--sa-primary-deep, var(--sa-primary));
    padding: 5px 12px;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 900;
    font-size: 0.7rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}
.fp4-h {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-style: italic;
    font-weight: 900;
    font-size: 2rem;
    line-height: 0.95;
    text-transform: uppercase;
    letter-spacing: -0.005em;
    margin: 0;
    color: #fff;
}
.fp4-h em { color: var(--sa-secondary); font-style: italic; }
.fp4-deck {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.85rem;
    line-height: 1.5;
    max-width: 380px;
}
.fp4-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.fp4-btn {
    padding: 12px 18px;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 800;
    font-size: 0.78rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.fp4-btn:hover { filter: brightness(1.1); text-decoration: none; }
.fp4-btn-primary { background: var(--sa-primary); color: #fff; }
.fp4-btn-secondary { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, 0.25); }
.fp4-stats {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    margin-top: 6px;
}
.fp4-stat {
    font-family: 'Roboto Mono', monospace;
    font-size: 0.65rem;
    letter-spacing: 0.18em;
    color: rgba(255, 255, 255, 0.55);
    text-transform: uppercase;
}
.fp4-stat b {
    display: block;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 900;
    font-style: italic;
    font-size: 1.4rem;
    color: var(--sa-secondary);
    letter-spacing: 0;
    line-height: 1;
    margin-bottom: 4px;
}

.fp4-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 1fr;
    gap: 0;
    height: 100%;
    min-height: 360px;
}
.fp4-thumb {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    display: block;
    background: var(--sa-primary);
}
.fp4-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.fp4-thumb:hover img { transform: scale(1.05); }
.fp4-thumb-credit {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 8px 10px;
    background: linear-gradient(to top, rgba(0,0,0,0.85), transparent);
    font-family: 'Roboto Mono', monospace;
    font-size: 0.6rem;
    letter-spacing: 0.12em;
    color: rgba(255,255,255,0.85);
    text-transform: uppercase;
}
.fp4-thumb-heart {
    position: absolute;
    top: 8px; right: 10px;
    font-family: 'Roboto Mono', monospace;
    font-size: 0.65rem;
    color: #fff;
    letter-spacing: 0.08em;
    background: rgba(0,0,0,0.45);
    padding: 2px 8px;
    border-radius: 12px;
}
.fp4-thumb-heart i { color: var(--sa-primary); margin-right: 4px; }
.fp4-empty {
    grid-column: 1 / -1;
    padding: 36px;
    color: rgba(255,255,255,0.7);
    text-align: center;
}
.fp4-empty a { color: var(--sa-secondary); }

@media (max-width: 767px) {
    .fp4-panel { padding: 28px 24px; border-right: 0; }
    .fp4-h { font-size: 1.6rem; }
    .fp4-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 480px) {
    .fp4-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================ */
/* THE WALL (Phase 4) — .wall4-*                                */
/* ============================================================ */
.wall4-section { margin-bottom: 36px; }
.wall4-bar {
    display: flex;
    align-items: stretch;
    background: var(--sa-primary-deep, var(--sa-primary));
    color: #fff;
    border-top: 3px solid var(--sa-secondary);
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.wall4-marker { width: 8px; background: var(--sa-secondary); flex-shrink: 0; }
.wall4-label {
    padding: 14px 16px;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-style: italic;
    font-weight: 900;
    font-size: 1.3rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #fff;
}
.wall4-label em { color: var(--sa-secondary); font-style: italic; }
.wall4-filters {
    display: flex;
    flex-wrap: wrap;
}
.wall4-filter {
    padding: 14px 18px;
    background: transparent;
    border: 0;
    cursor: pointer;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 800;
    font-size: 0.95rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.82);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: color 0.15s, background 0.15s;
}
.wall4-filter:hover { color: var(--sa-secondary); }
.wall4-filter.active {
    color: var(--sa-primary-deep, var(--sa-primary));
    background: var(--sa-secondary);
}
.wall4-count {
    font-family: 'Roboto Mono', monospace;
    font-size: 0.65rem;
    padding: 1px 6px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    font-weight: 400;
    letter-spacing: 0.08em;
}
.wall4-filter.active .wall4-count { background: rgba(0, 0, 0, 0.15); }
.wall4-submit {
    padding: 14px 18px;
    background: var(--sa-primary);
    color: #fff;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 900;
    font-size: 0.78rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.wall4-submit:hover { filter: brightness(1.15); color: #fff; text-decoration: none; }

.wall4-masonry {
    columns: 4;
    column-gap: 14px;
    padding: 0 8px;
}
@media (max-width: 1100px) { .wall4-masonry { columns: 3; } }
@media (max-width: 800px) { .wall4-masonry { columns: 2; } }
@media (max-width: 500px) { .wall4-masonry { columns: 1; } }

.wall4-card,
.wall4-juicer-placeholder {
    break-inside: avoid;
    margin-bottom: 14px;
    background: #fff;
    border: 1px solid #e6e0cd;
    overflow: hidden;
}
.wall4-card-image {
    position: relative;
    background: var(--sa-primary-deep, var(--sa-primary));
}
.wall4-card-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}
.wall4-card-image-placeholder {
    aspect-ratio: 16 / 9;
}
.wall4-tag {
    position: absolute;
    top: 12px; left: 12px;
    padding: 4px 10px;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 800;
    font-size: 0.62rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}
.wall4-tag-news { background: var(--sa-primary); color: #fff; }
.wall4-tag-fan { background: var(--sa-secondary); color: var(--sa-primary-deep, var(--sa-primary)); }
.wall4-tag i { margin-right: 6px; }

.wall4-card-body { padding: 16px; color: #0a0a0a; }
.wall4-card-title {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-style: italic;
    font-weight: 900;
    font-size: 1.6rem;
    line-height: 1.1;
    text-transform: uppercase;
    margin: 0 0 10px;
    letter-spacing: -0.005em;
    color: #0a0a0a;
    color: #1a1814;
}
.wall4-card-title a { color: inherit; text-decoration: none; }
.wall4-card-title a:hover { color: var(--sa-primary); }
.wall4-card-deck {
    margin: 0 0 10px;
    font-size: 1.05rem;
    font-weight: 500;
    color: #1a1a1a;
    line-height: 1.5;
}
.wall4-card-meta {
    display: flex;
    gap: 10px;
    padding-top: 12px;
    border-top: 1px dashed #b8b3a0;
    font-family: 'Roboto Mono', monospace;
    font-size: 0.95rem;
    font-weight: 800;
    color: #1a1a1a;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.wall4-card-meta a { color: var(--sa-primary); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.wall4-card-meta a:hover { color: #000; }
.wall4-card-meta i { color: var(--sa-primary); }
.wall4-card-handle {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 900;
    font-size: 1.25rem;
    color: #000;
    margin-bottom: 8px;
    letter-spacing: 0.01em;
}
.wall4-card-caption {
    margin: 0 0 10px;
    font-size: 1.05rem;
    font-weight: 500;
    color: #1a1a1a;
    line-height: 1.5;
}

.wall4-juicer-placeholder {
    background: var(--sa-primary-deep, var(--sa-primary));
    color: #fff;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 22px;
}
.wall4-juicer-inner {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
}
.wall4-juicer-inner i {
    font-size: 1.6rem;
    color: var(--sa-secondary);
}
.wall4-juicer-inner strong {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 800;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
}
.wall4-juicer-inner span {
    font-family: 'Roboto Mono', monospace;
    font-size: 0.65rem;
    letter-spacing: 0.14em;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
}
/* --- Wall toolbar: single bar with title, filters, stats, CTAs --- */
.wall4-stats {
    display: inline-flex; align-items: center; gap: 18px;
    padding: 0 18px; margin-left: auto;
    border-left: 1px solid rgba(255, 255, 255, 0.12);
    border-right: 1px solid rgba(255, 255, 255, 0.12);
}
.wall4-stat { display: inline-flex; flex-direction: column; line-height: 1; }
.wall4-stat b {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 800; font-size: 1.25rem;
    color: var(--sa-secondary, #d4a73a); line-height: 1;
}
.wall4-stat span {
    font-family: 'Roboto Mono', monospace;
    font-size: 0.6rem; letter-spacing: 0.18em;
    text-transform: uppercase; color: rgba(255, 255, 255, 0.55);
    margin-top: 4px;
}
.wall4-cta-group {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 0 14px; align-self: center;
}
.wall4-cta {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 0 14px; height: 36px;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 700; font-size: 0.78rem;
    letter-spacing: 0.06em; text-transform: uppercase;
    text-decoration: none; border-radius: 4px;
    transition: background 0.15s ease, color 0.15s ease;
    white-space: nowrap;
}
.wall4-cta-primary { background: var(--sa-secondary, #d4a73a); color: #0a0a0a; }
.wall4-cta-primary:hover { background: #fff; color: #0a0a0a; }
.wall4-cta-secondary {
    color: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: transparent;
}
.wall4-cta-secondary:hover {
    color: var(--sa-secondary, #d4a73a);
    border-color: var(--sa-secondary, #d4a73a);
}

@media (max-width: 900px) {
    .wall4-stats { margin-left: 0; padding: 12px 16px; width: 100%; justify-content: space-around; border-left: 0; border-right: 0; border-top: 1px solid rgba(255, 255, 255, 0.08); }
    .wall4-cta-group { padding: 12px 16px; width: 100%; border-top: 1px solid rgba(255, 255, 255, 0.08); justify-content: stretch; }
    .wall4-cta { flex: 1; justify-content: center; }
    .wall4-stat b { font-size: 1.05rem; }
}

/* --- School-tag chips on fan cards (links a photo to one or more schools) --- */
.wall4-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 4px 0 8px;
}
.wall4-card-tag-chip {
    display: inline-flex;
    align-items: center;
    background: color-mix(in srgb, var(--sa-primary, #14305a) 14%, transparent);
    color: var(--sa-primary-deep, var(--sa-primary, #14305a));
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.02em;
    padding: 4px 10px;
    border-radius: 12px;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}
.wall4-card-tag-chip:hover,
.wall4-card-tag-chip:focus-visible {
    background: var(--sa-primary, #14305a);
    color: #fff;
    outline: none;
    text-decoration: none;
}
.wall4-card-tag-chip::before {
    content: "🏫";
    margin-right: 4px;
    font-size: 0.85em;
    filter: grayscale(0.4);
}

/* --- Heart splash on dblclick + like icon state --- */
.wall4-card { position: relative; user-select: none; -webkit-user-select: none; }
.wall4-card-title a, .wall4-card a { user-select: text; }
.wall4-heart-splash {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    pointer-events: none; opacity: 0; z-index: 5;
    color: #ed1c24 !important;
}
.wall4-heart-splash i,
.wall4-heart-splash svg {
    font-size: 7.5rem;
    width: 7.5rem;
    height: 7.5rem;
    color: #ed1c24 !important;
    fill: #ed1c24 !important;
    text-shadow: 0 4px 18px rgba(0, 0, 0, 0.55), 0 0 2px rgba(255, 255, 255, 0.7);
    filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.55));
    transform: scale(0.4);
}
.wall4-heart-splash.is-active { animation: wall4-heart-fade 0.7s ease-out forwards; }
.wall4-heart-splash.is-active i,
.wall4-heart-splash.is-active svg { animation: wall4-heart-pop 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) forwards; }
@keyframes wall4-heart-fade {
    0% { opacity: 0; }
    20% { opacity: 1; }
    70% { opacity: 1; }
    100% { opacity: 0; }
}
@keyframes wall4-heart-pop {
    0%   { transform: scale(0.4); }
    25%  { transform: scale(1.25); }
    50%  { transform: scale(0.95); }
    100% { transform: scale(1.1); }
}
.wall4-like {
    display: inline-flex; align-items: center; gap: 4px;
    transition: color 0.18s ease;
}
.wall4-like i.fa-heart { color: rgba(0, 0, 0, 0.35); transition: color 0.18s ease, transform 0.2s ease; }
.wall4-card.is-liked .wall4-like { color: #c8102e !important; }
.wall4-card.is-liked .wall4-like i.fa-heart { color: #c8102e !important; transform: scale(1.15); }
.wall4-card.is-liked .wall4-like .wall4-like-count { color: #c8102e !important; }
@media (prefers-reduced-motion: reduce) {
    .wall4-heart-splash.is-active, .wall4-heart-splash.is-active i, .wall4-heart-splash.is-active svg { animation-duration: 0.01s; }
}

/* --- Wall video card (YouTube embed sourced from SocialMedia feeds) --- */
.wall4-card-video { background: #0a0a0a; color: #fff; }
.wall4-card-video-frame {
    position: relative;
    aspect-ratio: 16 / 9;
    background: #000;
    overflow: hidden;
}
.wall4-card-video-frame iframe {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    border: 0; display: block;
}
.wall4-tag-video {
    position: absolute;
    top: 8px; left: 8px;
    background: var(--sa-secondary, #d4a73a);
    color: #0a0a0a;
    padding: 3px 8px; border-radius: 3px;
    font-family: 'Roboto Mono', monospace;
    font-size: 0.62rem; letter-spacing: 0.14em;
    font-weight: 700; text-transform: uppercase;
    z-index: 2; pointer-events: none;
}
.wall4-tag-video i { margin-right: 4px; }
.wall4-card-video .wall4-card-body { padding: 12px 14px 14px; }
.wall4-card-video .wall4-card-title {
    color: #fff; font-size: 1rem; margin: 0 0 6px;
}
.wall4-card-video .wall4-card-meta {
    display: inline-flex; align-items: center;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.85rem; text-decoration: none;
    transition: color 0.15s ease;
}
.wall4-card-video .wall4-card-meta:hover { color: var(--sa-secondary, #d4a73a); }
.wall4-card-video .wall4-card-meta .fa-youtube { color: #ff0000; font-size: 1.05rem; }

/* --- Next-game countdown banner (lives at the top of the .ue4-section) --- */
.ue4-cd {
    display: grid;
    grid-template-columns: 1fr auto auto;
    grid-template-areas: "match clock actions";
    align-items: center;
    gap: 18px;
    padding: 16px 20px;
    background: linear-gradient(135deg, #0a0a0a 0%, color-mix(in srgb, var(--sa-primary-deep, var(--sa-primary, #14305a)) 90%, black) 100%);
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    border-top: 3px solid var(--sa-secondary, #d4a73a);
    position: relative;
}
.ue4-cd-matchup { grid-area: match; min-width: 0; }
.ue4-cd-clock   { grid-area: clock; display: inline-flex; gap: 10px; align-items: stretch; }
.ue4-cd-live    { grid-area: clock; display: inline-flex; align-items: center; gap: 8px;
                  font-family: 'Oswald', 'Roboto Condensed', sans-serif;
                  font-weight: 800; font-size: 1.05rem; letter-spacing: 0.14em;
                  text-transform: uppercase;
                  background: #c8102e; color: #fff;
                  padding: 10px 16px; border-radius: 6px;
                  animation: ue4-cd-live-pulse 1.4s ease-in-out infinite; }
.ue4-cd-live-dot { width: 9px; height: 9px; border-radius: 50%; background: #fff;
                   box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
                   animation: ue4-cd-dot-pulse 1.4s ease-in-out infinite; }
@keyframes ue4-cd-live-pulse {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.8; }
}
@keyframes ue4-cd-dot-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.6); }
    70%  { box-shadow: 0 0 0 8px rgba(255, 255, 255, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}
.ue4-cd-actions { grid-area: actions; display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; position: relative; }

.ue4-cd-eyebrow {
    font-family: 'Roboto Mono', monospace;
    font-size: 0.62rem; letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--sa-secondary, #d4a73a);
    margin-bottom: 6px;
}
.ue4-cd-teams {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-style: italic; font-weight: 800;
    font-size: 1.55rem;
    line-height: 1.05;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    margin-bottom: 6px;
    word-break: break-word;
}
.ue4-cd-vs {
    color: var(--sa-secondary, #d4a73a);
    font-style: normal;
    margin: 0 8px;
}
.ue4-cd-meta {
    display: flex; flex-wrap: wrap; gap: 8px;
    font-family: 'Roboto Mono', monospace;
    font-size: 0.7rem; letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.65);
}
.ue4-cd-meta i { margin-right: 4px; color: var(--sa-secondary, #d4a73a); }

.ue4-cd-unit {
    display: flex; flex-direction: column; align-items: center;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 6px;
    padding: 8px 12px;
    min-width: 56px;
}
.ue4-cd-num {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 800;
    font-size: 1.6rem;
    line-height: 1;
    color: var(--sa-secondary, #d4a73a);
    font-variant-numeric: tabular-nums;
}
.ue4-cd-label {
    font-family: 'Roboto Mono', monospace;
    font-size: 0.55rem; letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    margin-top: 4px;
}

.ue4-cd-btn {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 9px 14px;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 700; font-size: 0.78rem;
    letter-spacing: 0.06em; text-transform: uppercase;
    text-decoration: none; border-radius: 4px;
    border: 0; cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
    white-space: nowrap;
}
.ue4-cd-btn-watch    { background: #c8102e; color: #fff; }
.ue4-cd-btn-watch:hover { background: #a30c25; color: #fff; }
.ue4-cd-btn-tickets  { background: var(--sa-secondary, #d4a73a); color: #0a0a0a; }
.ue4-cd-btn-tickets:hover { background: #fff; color: #0a0a0a; }
.ue4-cd-btn-cal {
    background: transparent; color: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.25);
}
.ue4-cd-btn-cal:hover {
    color: var(--sa-secondary, #d4a73a);
    border-color: var(--sa-secondary, #d4a73a);
}
.ue4-cd-cal-menu {
    position: absolute;
    top: calc(100% + 6px); right: 0;
    background: #161616;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    padding: 4px 0;
    min-width: 180px;
    z-index: 5;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.35);
}
.ue4-cd-cal-menu a {
    display: block;
    padding: 9px 14px;
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 0.92rem;
}
.ue4-cd-cal-menu a:hover {
    background: rgba(255, 255, 255, 0.06);
    color: var(--sa-secondary, #d4a73a);
}

@media (max-width: 768px) {
    .ue4-cd {
        grid-template-columns: 1fr;
        grid-template-areas: "match" "clock" "actions";
        gap: 12px;
        padding: 14px 16px;
    }
    .ue4-cd-clock { justify-content: space-between; gap: 6px; }
    .ue4-cd-unit { padding: 8px; min-width: 0; flex: 1; }
    .ue4-cd-num { font-size: 1.35rem; }
    .ue4-cd-actions { width: 100%; }
    .ue4-cd-actions .ue4-cd-btn { flex: 1; justify-content: center; }
    .ue4-cd-cal-menu { right: auto; left: 0; }
    .ue4-cd-teams { font-size: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
    .ue4-cd-live, .ue4-cd-live-dot { animation: none; }
}

/* --- Broadcast indicators on Upcoming Games cards --- */
.ue4-card-broadcast { box-shadow: inset 0 0 0 2px var(--sa-secondary, #d4a73a), 0 2px 6px rgba(0, 0, 0, 0.08); }
.ue4-live-pill {
    display: inline-flex; align-items: center; gap: 6px;
    background: #c8102e; color: #fff;
    font-family: 'Roboto Mono', monospace;
    font-size: 0.6rem; letter-spacing: 0.18em;
    text-transform: uppercase; font-weight: 700;
    padding: 3px 8px; border-radius: 3px;
    margin-top: 4px; align-self: flex-start;
}
.ue4-live-dot {
    width: 6px; height: 6px;
    background: #fff; border-radius: 50%;
    animation: ue4-pulse 1.4s ease-in-out infinite;
}
@keyframes ue4-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(1.4); }
}
.ue4-broadcast-pill {
    display: inline-flex; align-items: center; gap: 6px;
    background: var(--sa-secondary, #d4a73a); color: #0a0a0a;
    font-family: 'Roboto Mono', monospace;
    font-size: 0.6rem; letter-spacing: 0.14em;
    text-transform: uppercase; font-weight: 700;
    padding: 3px 8px; border-radius: 3px;
    margin-top: 4px; align-self: flex-start;
}
.ue4-cta-watch { background: #0a0a0a; color: #fff; }
.ue4-cta-watch:hover { background: var(--sa-secondary, #d4a73a); color: #0a0a0a; }

/* --- FullCalendar broadcast marker (Calendar/Games view) --- */
.l4-cal-bcast {
    display: inline-block;
    margin-left: 6px;
    padding: 0 5px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.18);
    font-family: 'Roboto Mono', monospace;
    font-size: 0.7em; font-weight: 700; letter-spacing: 0.06em;
    color: #fff; vertical-align: middle;
}

@media (prefers-reduced-motion: reduce) {
    .ue4-live-dot { animation: none; }
}
/* ============================================================ */
/* STATE ASSOCIATION FAN PHOTOS (.safp-*) — gallery + school    */
/* page section. Reuses .wall4-card-fan masonry markup.         */
/* ============================================================ */
.safp-section { margin: 0 0 28px; }
.safp-page { padding: 28px 0 56px; }
.safp-school-section { padding: 28px 16px 0; }
.safp-bar {
    display: flex;
    align-items: stretch;
    background: var(--sa-primary-deep, var(--sa-primary, #14305a));
    color: #fff;
    border-top: 3px solid var(--sa-secondary, #d4a73a);
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.safp-marker { width: 8px; background: var(--sa-secondary, #d4a73a); flex-shrink: 0; }
.safp-label {
    padding: 14px 18px;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-style: italic; font-weight: 900;
    font-size: 1.3rem; text-transform: uppercase;
    letter-spacing: 0.02em; color: #fff;
}
.safp-view-all {
    margin-left: auto; padding: 14px 18px; align-self: center;
    color: rgba(255, 255, 255, 0.85); text-decoration: none;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 700; font-size: 0.85rem;
    letter-spacing: 0.1em; text-transform: uppercase;
    transition: color 0.15s ease;
}
.safp-view-all:hover { color: var(--sa-secondary, #d4a73a); text-decoration: none; }
.safp-view-all i { margin-left: 6px; }
.safp-submit {
    padding: 14px 18px;
    background: var(--sa-secondary, #d4a73a); color: #0a0a0a;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 800; font-size: 0.85rem;
    letter-spacing: 0.1em; text-transform: uppercase;
    text-decoration: none;
    display: inline-flex; align-items: center; gap: 6px;
    transition: background 0.15s ease, color 0.15s ease;
}
.safp-submit:hover { background: #fff; color: #0a0a0a; text-decoration: none; }
.safp-empty {
    text-align: center; padding: 48px 24px;
    background: #fefcf6;
    border: 1px dashed #e6e0cd;
    border-radius: 8px;
}
.safp-empty-icon {
    font-size: 2.6rem;
    color: var(--sa-secondary, #d4a73a);
    margin-bottom: 12px;
}
.safp-empty-title {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-style: italic; font-weight: 900;
    font-size: 1.6rem; color: #0a0a0a;
    margin: 0 0 8px; text-transform: uppercase;
    letter-spacing: 0.01em;
}
.safp-empty-deck {
    color: #4a4438; font-size: 1rem;
    margin: 0 auto 18px; max-width: 480px;
}
.safp-empty-cta {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 12px 22px;
    background: var(--sa-secondary, #d4a73a); color: #0a0a0a;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 800; font-size: 0.95rem;
    letter-spacing: 0.08em; text-transform: uppercase;
    text-decoration: none; border-radius: 6px;
    transition: background 0.15s ease;
}
.safp-empty-cta:hover { background: #fff; color: #0a0a0a; text-decoration: none; }

@media (max-width: 768px) {
    .safp-label { font-size: 1.1rem; padding: 12px 14px; }
    .safp-view-all, .safp-submit { padding: 12px 14px; font-size: 0.78rem; }
    .safp-empty { padding: 32px 16px; }
    .safp-empty-title { font-size: 1.3rem; }
}
/* ============= END SA Fan Photos ============= */

/* ============= END Layout 4 Phase 2/3/4 ============= */

/* ============================================================== */
/* LAYOUT 4 — NEW HEADER (.l4-*) — mobile-first, fully isolated   */
/* Replaces the HeaderMenuStyle2 partial entirely. No reuse with  */
/* .fixed-container / .page-links / .nav-link — clean slate.      */
/* ============================================================== */

.l4-no-scroll { overflow: hidden; }

.l4-header {
    position: sticky;
    top: 0;
    z-index: 800;
    background: #0a0a0a;
    color: #fff;
    transition: box-shadow 0.2s ease;
}
.l4-header.is-stuck { box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22); }
.l4-header-inner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 18px;
    margin: 0 auto;
    min-height: 132px;
}

.l4-presenting-sponsor-mobile,
.l4-presenting-sponsor-desktop {
    flex: 0 1 auto;
    min-width: 0;
}

.l4-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    text-decoration: none;
    line-height: 1.1;
    flex-shrink: 0;
}
.l4-logo { height: 82px; width: auto; display: block; }
.l4-brand-text {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 700;
    font-size: 1.3rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    max-width: 16ch;
    display: none;
    color: #fff;
}
@media (min-width: 480px) { .l4-brand-text { display: inline; } }

.l4-primary { display: none; }
.l4-primary-list {
    list-style: none; margin: 0; padding: 0;
    display: flex; align-items: stretch; gap: 2px;
}
.l4-primary-item { position: relative; display: flex; align-items: stretch; }
.l4-primary-item.is-overflow { display: none !important; }
.l4-primary-more[hidden] { display: none !important; }
.l4-primary-more .l4-dropdown { right: 0; left: auto; min-width: 240px; }
.l4-more-section {
    font-family: 'Roboto Mono', monospace;
    font-size: 0.62rem; letter-spacing: 0.18em;
    text-transform: uppercase; color: var(--sa-secondary, #d4a73a);
    padding: 10px 16px 4px;
}
.l4-primary-more .l4-dropdown ul li > div a { display: block; padding: 8px 18px; color: #fff; text-decoration: none; font-family: 'Roboto Condensed', sans-serif; font-size: 0.95rem; }
.l4-primary-more .l4-dropdown ul li > div a:hover { background: rgba(255, 255, 255, 0.08); color: var(--sa-secondary, #d4a73a); }
.l4-primary-link {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 0 14px; background: transparent; border: 0;
    color: #fff;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 700; font-size: 1.2rem;
    letter-spacing: 0.05em; text-transform: uppercase;
    text-decoration: none; cursor: pointer; line-height: 1;
    transition: color 0.18s ease;
    position: relative; height: 100%;
}
.l4-primary-link:hover, .l4-primary-link:focus-visible { color: var(--sa-secondary, #d4a73a); outline: none; }
.l4-primary-link:focus-visible { box-shadow: inset 0 0 0 2px var(--sa-secondary, #d4a73a); }
.l4-primary-item.is-active > .l4-primary-link {
    color: var(--sa-secondary, #d4a73a); font-weight: 700;
}
.l4-primary-item.is-active > .l4-primary-link::after {
    content: ""; position: absolute;
    left: 14px; right: 14px; bottom: 14px;
    height: 2px; background: var(--sa-secondary, #d4a73a);
    border-radius: 1px;
}
.l4-caret { width: 10px; height: 6px; flex-shrink: 0; transition: transform 0.18s ease; }
.l4-primary-item.is-open > .l4-primary-link .l4-caret { transform: rotate(180deg); }

.l4-dropdown {
    position: absolute; top: 100%; left: 0;
    min-width: 220px;
    background: #161616;
    border-top: 3px solid var(--sa-secondary, #d4a73a);
    box-shadow: 0 16px 28px rgba(0, 0, 0, 0.28);
    padding: 8px 0;
    opacity: 0; visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.14s ease, transform 0.14s ease, visibility 0s linear 0.14s;
    z-index: 5;
}
.l4-primary-item:hover > .l4-dropdown,
.l4-primary-item.is-open > .l4-dropdown {
    opacity: 1; visibility: visible; transform: translateY(0);
    transition: opacity 0.14s ease, transform 0.14s ease, visibility 0s;
}
.l4-dropdown ul { list-style: none; margin: 0; padding: 0; }
.l4-dropdown li a {
    display: block; padding: 12px 18px;
    color: #fff;
    text-decoration: none;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.05rem; font-weight: 500;
    transition: background 0.15s ease, color 0.15s ease;
}
.l4-dropdown li a:hover, .l4-dropdown li a:focus-visible {
    background: rgba(255, 255, 255, 0.08);
    color: var(--sa-secondary, #d4a73a); outline: none;
}

.l4-actions {
    margin-left: auto;
    display: inline-flex; align-items: center; gap: 4px;
    flex-shrink: 0;
}
.l4-icon-btn {
    width: 44px; height: 44px;
    display: inline-flex; align-items: center; justify-content: center;
    background: transparent; border: 0; color: #fff;
    border-radius: 50%; cursor: pointer; font-size: 1rem;
    transition: background 0.15s ease, color 0.15s ease;
}
.l4-icon-btn:hover, .l4-icon-btn:focus-visible {
    background: rgba(255, 255, 255, 0.10);
    color: var(--sa-secondary, #d4a73a); outline: none;
}

.l4-burger {
    width: 44px; height: 44px;
    display: inline-flex; flex-direction: column;
    justify-content: center; align-items: center;
    gap: 5px;
    background: transparent; border: 0; cursor: pointer; padding: 0;
}
.l4-burger:focus-visible { outline: 2px solid var(--sa-secondary, #d4a73a); outline-offset: 2px; }
.l4-burger span {
    display: block; width: 22px; height: 2px;
    background: #fff; border-radius: 2px;
    transition: transform 0.22s ease, opacity 0.22s ease;
}
.l4-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.l4-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.l4-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.l4-search-panel {
    background: #141414;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden; max-height: 0;
    transition: max-height 0.22s ease;
}
.l4-search-panel.is-open { max-height: 120px; }
.l4-search-form {
    display: flex; gap: 10px; align-items: center;
    padding: 12px 14px; max-width: 1440px; margin: 0 auto;
}
.l4-search-form input[type="search"] {
    flex: 1;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff; padding: 12px 14px; border-radius: 6px;
    font-size: 1rem; line-height: 1.2;
}
.l4-search-form input[type="search"]::placeholder { color: rgba(255, 255, 255, 0.55); }
.l4-search-form input[type="search"]:focus {
    outline: 2px solid var(--sa-secondary, #d4a73a); outline-offset: 0;
}
.l4-search-submit {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 12px 16px;
    background: var(--sa-secondary, #d4a73a);
    color: var(--sa-primary, #14305a);
    border: 0; border-radius: 6px;
    font-family: 'Oswald', sans-serif;
    font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.06em; cursor: pointer; font-size: 0.85rem;
}
.l4-search-submit:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

.l4-drawer {
    position: fixed; top: 0; right: 0;
    width: min(86vw, 360px);
    height: 100vh; height: 100dvh;
    background: #0a0a0a; color: #fff;
    z-index: 900;
    display: flex; flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.24s cubic-bezier(0.2, 0.8, 0.2, 1);
    box-shadow: -16px 0 32px rgba(0, 0, 0, 0.35);
}
.l4-drawer.is-open { transform: translateX(0); }
.l4-drawer-scrim {
    position: fixed; inset: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    z-index: 850; opacity: 0;
    transition: opacity 0.22s ease;
}
.l4-drawer-scrim.is-open { opacity: 1; }

.l4-drawer-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.l4-drawer-brand {
    display: inline-flex; align-items: center; gap: 10px;
    color: #fff; text-decoration: none; min-width: 0;
}
.l4-drawer-brand img { height: 36px; width: auto; flex-shrink: 0; }
.l4-drawer-brand span {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 700; font-size: 0.92rem;
    letter-spacing: 0.04em; text-transform: uppercase;
    line-height: 1.1;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.l4-drawer-close {
    width: 44px; height: 44px;
    background: transparent; border: 0; cursor: pointer;
    position: relative; flex-shrink: 0;
}
.l4-drawer-close:focus-visible { outline: 2px solid var(--sa-secondary, #d4a73a); outline-offset: 2px; }
.l4-drawer-close span {
    position: absolute; left: 11px; right: 11px;
    height: 2px; background: #fff; border-radius: 2px;
    top: 21px;
}
.l4-drawer-close span:nth-child(1) { transform: rotate(45deg); }
.l4-drawer-close span:nth-child(2) { transform: rotate(-45deg); }

.l4-drawer-nav {
    flex: 1; overflow-y: auto; padding: 4px 0;
    -webkit-overflow-scrolling: touch;
}
.l4-drawer-list { list-style: none; margin: 0; padding: 0; }
.l4-drawer-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    position: relative;
}
.l4-drawer-link {
    display: flex; align-items: center; justify-content: space-between;
    width: 100%; padding: 16px 18px;
    background: transparent; border: 0; color: #fff;
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 700; font-size: 1.35rem;
    letter-spacing: 0.05em; text-transform: uppercase;
    text-align: left; text-decoration: none; cursor: pointer;
    line-height: 1.2; min-height: 64px;
    transition: background 0.14s ease, color 0.14s ease;
}
.l4-drawer-link:hover, .l4-drawer-link:focus-visible {
    background: rgba(255, 255, 255, 0.06);
    color: var(--sa-secondary, #d4a73a); outline: none;
}
.l4-drawer-item.is-active > .l4-drawer-link { color: var(--sa-secondary, #d4a73a); }
.l4-drawer-item.is-active::before {
    content: ""; position: absolute;
    left: 0; top: 12px; bottom: 12px; width: 3px;
    background: var(--sa-secondary, #d4a73a);
}
.l4-drawer-link .l4-caret { width: 12px; height: 8px; transition: transform 0.18s ease; flex: 0 0 auto; }
.l4-drawer-item.is-open > .l4-drawer-link .l4-caret { transform: rotate(180deg); }

.l4-drawer-sub {
    list-style: none; margin: 0; padding: 0 0 6px 0;
    background: rgba(0, 0, 0, 0.18);
}
.l4-drawer-sub li a {
    display: block; padding: 12px 18px 12px 36px;
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 0.95rem;
    transition: background 0.14s ease, color 0.14s ease;
    min-height: 44px;
}
.l4-drawer-sub li a:hover, .l4-drawer-sub li a:focus-visible {
    background: rgba(255, 255, 255, 0.06);
    color: var(--sa-secondary, #d4a73a); outline: none;
}

.l4-drawer-footer {
    padding: 12px 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.l4-drawer-search { display: flex; gap: 8px; align-items: center; }
.l4-drawer-search input[type="search"] {
    flex: 1;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #fff; padding: 12px; border-radius: 6px;
    font-size: 0.95rem; min-height: 44px;
}
.l4-drawer-search input[type="search"]::placeholder { color: rgba(255, 255, 255, 0.55); }
.l4-drawer-search input[type="search"]:focus {
    outline: 2px solid var(--sa-secondary, #d4a73a); outline-offset: 0;
}
.l4-drawer-search button {
    width: 44px; height: 44px;
    background: var(--sa-secondary, #d4a73a);
    color: var(--sa-primary, #14305a);
    border: 0; border-radius: 6px; cursor: pointer;
    flex-shrink: 0;
}

@media (min-width: 1024px) {
    .l4-header-inner { padding: 0 24px; min-height: 180px; gap: 24px; }
    .l4-primary { display: block; flex: 1; min-width: 0; }
    .l4-primary-list { justify-content: flex-end; padding-right: 8px; }
    .l4-primary-link { padding: 0 14px; height: 180px; }
    .l4-burger { display: none; }
    .l4-drawer, .l4-drawer-scrim { display: none !important; }
    .l4-logo { height: 136px; }
    .l4-brand-text { font-size: 1.05rem; max-width: 22ch; }
}

@media (prefers-reduced-motion: reduce) {
    .l4-drawer, .l4-drawer-scrim, .l4-search-panel,
    .l4-burger span, .l4-caret, .l4-primary-link, .l4-dropdown,
    .l4-drawer-link, .l4-icon-btn, .l4-header {
        transition: none !important;
    }
}
/* ============= END Layout 4 new header ============= */

/* ============================================================ */
/* LAYOUT 4 — APP DOWNLOAD CTA (.l4-app-cta-*)                  */
/* Sticky bottom-right card; fades in after 5s; auto-hides 15s. */
/* ============================================================ */
.l4-app-cta {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 880;
    width: min(360px, calc(100vw - 32px));
    background: #0a0a0a;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-top: 3px solid var(--sa-secondary, #d4a73a);
    border-radius: 10px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
    padding: 18px 20px 16px;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.28s ease, transform 0.28s ease;
    pointer-events: none;
}
.l4-app-cta.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.l4-app-cta-close {
    position: absolute;
    top: 8px; right: 8px;
    width: 32px; height: 32px;
    background: transparent;
    border: 0; cursor: pointer;
    border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    transition: background 0.15s ease;
}
.l4-app-cta-close:hover { background: rgba(255, 255, 255, 0.08); }
.l4-app-cta-close span {
    position: absolute; left: 9px; right: 9px;
    height: 2px; background: rgba(255, 255, 255, 0.7);
    border-radius: 2px;
}
.l4-app-cta-close span:nth-child(1) { transform: rotate(45deg); }
.l4-app-cta-close span:nth-child(2) { transform: rotate(-45deg); }

.l4-app-cta-eyebrow {
    font-family: 'Roboto Mono', monospace;
    font-size: 0.65rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--sa-secondary, #d4a73a);
    margin-bottom: 6px;
}
.l4-app-cta-eyebrow i { margin-right: 6px; }

.l4-app-cta-title {
    font-family: 'Oswald', 'Roboto Condensed', sans-serif;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1.2;
    letter-spacing: 0.02em;
    margin-bottom: 6px;
}
.l4-app-cta-title em {
    color: var(--sa-secondary, #d4a73a);
    font-style: italic;
    font-weight: 800;
}

.l4-app-cta-body {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 0.92rem;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.4;
    margin-bottom: 14px;
}

.l4-app-cta-buttons {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.l4-app-cta-buttons a {
    display: inline-flex;
    align-items: center;
    line-height: 0;
    transition: transform 0.15s ease, opacity 0.15s ease;
}
.l4-app-cta-buttons a:hover { transform: translateY(-1px); opacity: 0.92; }
.l4-app-cta-buttons img {
    height: 38px;
    width: auto;
    display: block;
}

.l4-app-cta-dismiss {
    background: transparent;
    border: 0;
    color: rgba(255, 255, 255, 0.55);
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    cursor: pointer;
    padding: 4px 0;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(255, 255, 255, 0.2);
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
}
.l4-app-cta-dismiss:hover {
    color: var(--sa-secondary, #d4a73a);
    text-decoration-color: var(--sa-secondary, #d4a73a);
}

@media (max-width: 575px) {
    .l4-app-cta {
        right: 12px;
        bottom: 12px;
        width: calc(100vw - 24px);
        padding: 16px 18px 14px;
    }
    .l4-app-cta-buttons img { height: 36px; }
}

@media (prefers-reduced-motion: reduce) {
    .l4-app-cta { transition: opacity 0.01s; }
}
/* ============= END Layout 4 app download CTA ============= */
.header-l4+.container-fluid{padding:0}.header-l4+.container-fluid .banner{margin:0;padding:0}.header-l4+.container-fluid .banner .row{margin:0}.header-l4+.container-fluid .banner [class*="col-"]{padding:0}.header-l4+.container-fluid .banner .ad-placement{margin:0;padding:0;line-height:0}.header-l4+.container-fluid+main{margin-top:0 !important}main>.container-fluid{margin-top:.25rem !important;margin-bottom:.25rem !important;padding:0}main>.container-fluid .banner{padding:0 !important;margin:0}main>.container-fluid .banner .ad-placement{margin:0 !important;padding:0;line-height:0}.gam-banner-ad,.gam-banner-ad-2{line-height:0}.gam-banner-ad iframe,.gam-banner-ad-2 iframe{display:block;margin:0 auto}
