.pvs-schedule{--pvs-red:#c51f2d;--pvs-dark:#101827;--pvs-gray:#667085;--pvs-line:#e6e8ec;--pvs-bg:#f7f8fa;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;border:1px solid var(--pvs-line);box-shadow:0 8px 28px rgba(16,24,39,.08);margin:24px 0;color:#151b26}.pvs-schedule-header{background:linear-gradient(115deg,#101827,#202b3c);color:#fff;padding:24px 28px;border-top:5px solid var(--pvs-red)}.pvs-brandline{font-size:11px;font-weight:800;letter-spacing:.18em;color:#f3b7bd;margin-bottom:9px}.pvs-header-main{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.pvs-schedule-header h2{color:#fff!important;font-size:30px!important;line-height:1.1!important;margin:0 0 4px!important;text-transform:uppercase;letter-spacing:-.02em}.pvs-subtitle{font-size:13px;letter-spacing:.08em;color:#cfd5de}.pvs-district{margin-top:12px;font-size:13px;color:#d9dee6}.pvs-record{text-align:right;border-left:1px solid rgba(255,255,255,.22);padding-left:22px;min-width:90px}.pvs-record span{display:block;font-size:10px;letter-spacing:.13em;color:#bfc7d1}.pvs-record strong{display:block;font-size:26px;line-height:1.1}.pvs-games{display:block}.pvs-game{display:grid;grid-template-columns:86px minmax(0,1fr) 130px;min-height:112px;border-bottom:1px solid var(--pvs-line);background:#fff}.pvs-game:last-child{border-bottom:0}.pvs-game-date{background:var(--pvs-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;text-transform:uppercase;border-right:1px solid var(--pvs-line)}.pvs-game-date strong{font-size:29px;line-height:1;color:#111827}.pvs-month{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--pvs-red)}.pvs-day{font-size:11px;color:#7b8390;margin-top:4px}.pvs-game-info{padding:17px 20px;min-width:0}.pvs-week-row{display:flex;gap:10px;align-items:center;margin-bottom:4px;color:#7b8390;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.pvs-site{padding:2px 6px;background:#eef0f3;color:#344054}.pvs-game-info h3{margin:0!important;font-size:20px!important;color:#172033!important;line-height:1.25!important}.pvs-at{font-size:13px;color:#7b8390;font-weight:600}.pvs-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:6px;color:#667085;font-size:12px}.pvs-meta span+span:before{content:"•";margin-right:9px;color:#b6bcc5}.pvs-location{font-size:11px;color:#7b8390;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pvs-location a{color:inherit;text-decoration:none}.pvs-location a:hover{text-decoration:underline}.pvs-game-result{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:16px 20px;background:#fbfbfc;border-left:1px solid var(--pvs-line)}.pvs-final,.pvs-upcoming{font-size:10px;font-weight:900;letter-spacing:.11em;color:#667085}.pvs-score{display:flex;align-items:center;gap:9px;margin-top:5px}.pvs-score strong,.pvs-game-result>strong{font-size:20px;color:#111827}.pvs-result-badge{display:inline-grid;place-items:center;width:25px;height:25px;font-weight:900;font-size:12px;color:#fff;background:#475467}.pvs-result-w{background:#157347}.pvs-result-l{background:#b42318}.pvs-schedule-footer{font-size:11px;color:#7b8390;background:#f7f8fa;border-top:1px solid var(--pvs-line);padding:10px 18px;text-align:right}.pvs-schedule-message{padding:12px;border:1px solid #ddd;background:#fafafa}@media(max-width:650px){.pvs-schedule-header{padding:20px}.pvs-header-main{align-items:flex-start}.pvs-schedule-header h2{font-size:24px!important}.pvs-record{padding-left:14px}.pvs-game{grid-template-columns:66px minmax(0,1fr)}.pvs-game-date strong{font-size:24px}.pvs-game-info{padding:14px}.pvs-game-result{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;padding:9px 14px;border-left:0;border-top:1px solid var(--pvs-line)}.pvs-score{margin:0}.pvs-location{white-space:normal}.pvs-schedule-footer{text-align:left}}

/* v1.2 automatic team and sport directories */
.pvs-virtual-page{padding:32px 18px 56px;background:#f5f6f8;min-height:60vh}
.pvs-virtual-inner{max-width:1180px;margin:0 auto}
.pvs-directory{font-family:inherit}
.pvs-directory-hero,.pvs-team-hero{background:#111820;color:#fff;padding:28px 30px;margin:0 0 24px;border-top:5px solid #b71920;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.pvs-directory-hero h1,.pvs-team-hero h1{margin:4px 0 6px;font-size:clamp(30px,5vw,48px);line-height:1.05;color:#fff}
.pvs-directory-hero p,.pvs-team-hero p{margin:0;color:#d9dde2}
.pvs-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.pvs-team-card{display:flex;gap:16px;align-items:center;padding:20px;background:#fff;border:1px solid #dde1e6;text-decoration:none!important;color:#15191e!important;box-shadow:0 4px 14px rgba(0,0,0,.04);transition:transform .15s ease,box-shadow .15s ease}
.pvs-team-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.09)}
.pvs-team-card img,.pvs-team-initials{width:64px;height:64px;object-fit:contain;flex:0 0 64px}
.pvs-team-initials{display:grid;place-items:center;background:#151b23;color:#fff;font-weight:800;font-size:22px}
.pvs-team-card h2{font-size:20px;line-height:1.15;margin:0 0 5px;color:#15191e}
.pvs-team-card h2 span{font-weight:500}
.pvs-team-card p{margin:0 0 8px;color:#67707a;font-size:14px}
.pvs-sport-chips{display:flex;flex-wrap:wrap;gap:6px}
.pvs-sport-chips span{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#eef0f3;padding:5px 7px;color:#323943}
.pvs-team-hero{background:var(--pvs-team-primary,#111820);border-color:var(--pvs-team-secondary,#b71920)}
.pvs-team-hero-main{display:flex;align-items:center;gap:20px}
.pvs-team-hero-main img{width:86px;height:86px;object-fit:contain;background:#fff;padding:8px}
.pvs-team-hero h1 span{font-weight:400}
.pvs-directory-title{margin:8px 0 14px;font-size:22px}
.pvs-sport-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.pvs-sport-card{display:flex;flex-direction:column;gap:4px;padding:19px 20px;background:#fff;border-left:4px solid #b71920;text-decoration:none!important;color:#14191f!important;box-shadow:0 4px 14px rgba(0,0,0,.04)}
.pvs-sport-card:hover{box-shadow:0 8px 22px rgba(0,0,0,.08)}
.pvs-sport-card .pvs-sport-name{font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#b71920}
.pvs-sport-card strong{font-size:19px}
.pvs-sport-card span:not(.pvs-sport-name){color:#67707a;font-size:13px}
.pvs-sport-card em{font-style:normal;font-weight:700;margin-top:9px}
@media(max-width:600px){.pvs-virtual-page{padding:18px 10px 36px}.pvs-directory-hero,.pvs-team-hero{padding:22px 18px}.pvs-team-card{padding:16px}.pvs-team-hero-main{align-items:flex-start}.pvs-team-hero-main img{width:64px;height:64px}}
.pvs-breadcrumb{max-width:1180px;margin:0 auto 10px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:13px;color:#707983}
.pvs-breadcrumb a{color:#4c5661;text-decoration:none!important;font-weight:700}
.pvs-breadcrumb a:hover{text-decoration:underline!important}

/* v1.3.2 branding + generated page sponsor/widget regions */
.pvs-page-shell{--pvs-team-primary:#d81f2a;--pvs-team-secondary:#101827}
.pvs-page-shell .pvs-schedule-header{border-top-color:var(--pvs-team-primary,#d81f2a)}
.pvs-page-shell .pvs-month{color:var(--pvs-team-primary,#d81f2a)}
.pvs-team-hero{background:linear-gradient(115deg,#101827,#202b3c);border-color:var(--pvs-team-primary,#d81f2a)}
.pvs-team-hero .pvs-brandline{color:#f3b7bd}
.pvs-page-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:24px;align-items:start}
.pvs-page-sidebar:empty{display:none}
.pvs-page-columns:has(.pvs-page-sidebar:empty){grid-template-columns:minmax(0,1fr)}
.pvs-content-slot{margin:18px 0;max-width:100%;overflow:hidden}
.pvs-content-slot-top{margin-top:0;margin-bottom:18px}
.pvs-content-slot-sidebar{margin:0}
.pvs-content-slot img{max-width:100%;height:auto}
.pvs-content-slot iframe{max-width:100%}
.pvs-content-slot .wp-block-image{margin:0}
.pvs-content-slot>a>img{display:block}
.pvs-page-sidebar .pvs-content-slot{position:relative}
@media(max-width:820px){.pvs-page-columns{grid-template-columns:1fr}.pvs-page-sidebar{order:2}.pvs-content-slot-sidebar{margin-top:0}}

/* v1.3.3 uniform sponsor rail + team-logo branding */
.pvs-page-columns{grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:24px}
.pvs-page-main,.pvs-page-sidebar{min-width:0}
.pvs-page-sidebar .pvs-content-slot{margin:24px 0;background:#fff;border:1px solid #e2e6eb;border-top:5px solid var(--pvs-team-primary,#d81f2a);padding:20px;box-shadow:0 8px 28px rgba(16,24,39,.07);font-size:14px;line-height:1.55;color:#172033}
.pvs-page-sidebar .pvs-content-slot>*:first-child{margin-top:0}
.pvs-page-sidebar .pvs-content-slot>*:last-child{margin-bottom:0}
.pvs-page-sidebar .pvs-content-slot h1,.pvs-page-sidebar .pvs-content-slot h2,.pvs-page-sidebar .pvs-content-slot h3,.pvs-page-sidebar .pvs-content-slot h4{color:#101827;margin-top:0}
.pvs-page-sidebar .pvs-content-slot img{display:block;margin-left:auto;margin-right:auto}
.pvs-content-slot-top,.pvs-content-slot-above,.pvs-content-slot-below,.pvs-content-slot-footer{background:#fff;border:1px solid #e2e6eb;padding:18px 20px;box-shadow:0 5px 18px rgba(16,24,39,.05)}
.pvs-content-slot-top:empty,.pvs-content-slot-above:empty,.pvs-content-slot-below:empty,.pvs-content-slot-footer:empty{display:none}
.pvs-header-team{display:flex;align-items:center;gap:16px;min-width:0}
.pvs-schedule-logo{width:62px;height:62px;display:grid;place-items:center;background:#fff;border:1px solid rgba(255,255,255,.35);padding:5px;flex:0 0 62px}
.pvs-schedule-logo img{max-width:100%;max-height:100%;object-fit:contain}
.pvs-page-shell .pvs-schedule-header{border-top-color:var(--pvs-team-primary,#d81f2a)}
.pvs-page-shell .pvs-content-slot-sidebar{border-top-color:var(--pvs-team-primary,#d81f2a)}
.pvs-page-shell .pvs-sport-card{border-left-color:var(--pvs-team-primary,#d81f2a)}
@media(max-width:820px){.pvs-page-columns{grid-template-columns:1fr}.pvs-page-sidebar .pvs-content-slot{margin-top:0}.pvs-schedule-logo{width:52px;height:52px;flex-basis:52px}}
@media(max-width:520px){.pvs-header-team{align-items:flex-start}.pvs-schedule-logo{width:46px;height:46px;flex-basis:46px}.pvs-content-slot-top,.pvs-content-slot-above,.pvs-content-slot-below,.pvs-content-slot-footer,.pvs-page-sidebar .pvs-content-slot{padding:15px}}

/* v1.3.4 transparent logos + adjustable logo scale */
.pvs-team-hero-main img{width:var(--pvs-team-logo-size,86px);height:var(--pvs-team-logo-size,86px);max-width:120px;max-height:120px;object-fit:contain;background:transparent!important;padding:0!important;border:0!important;filter:none}
.pvs-schedule-logo{width:var(--pvs-team-logo-size,72px);height:var(--pvs-team-logo-size,72px);max-width:120px;max-height:120px;display:grid;place-items:center;background:transparent!important;border:0!important;padding:0!important;flex:0 0 var(--pvs-team-logo-size,72px)}
.pvs-schedule-logo img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:transparent}
.pvs-team-card img{background:transparent;object-fit:contain}
@media(max-width:820px){.pvs-schedule-logo{width:min(var(--pvs-team-logo-size,72px),64px);height:min(var(--pvs-team-logo-size,72px),64px);flex-basis:min(var(--pvs-team-logo-size,72px),64px)}}
@media(max-width:520px){.pvs-schedule-logo{width:min(var(--pvs-team-logo-size,72px),54px);height:min(var(--pvs-team-logo-size,72px),54px);flex-basis:min(var(--pvs-team-logo-size,72px),54px)}}


/* v1.3.5 team palette consistency */
.pvs-page-shell .pvs-brandline{color:var(--pvs-team-primary,#f3b7bd)}
.pvs-team-hub.pvs-page-shell .pvs-team-hero{border-top-color:var(--pvs-team-primary,#d81f2a)}
.pvs-team-hub.pvs-page-shell .pvs-sport-card{border-left-color:var(--pvs-team-primary,#d81f2a)}
.pvs-team-hub.pvs-page-shell .pvs-sport-card .pvs-sport-name{color:var(--pvs-team-primary,#b71920)}
.pvs-team-hub.pvs-page-shell .pvs-brandline{color:var(--pvs-team-primary,#f3b7bd)}

/* v1.3.6 flexible team header styling */
.pvs-page-shell .pvs-schedule-header,.pvs-team-hub.pvs-page-shell .pvs-team-hero{background:linear-gradient(115deg,var(--pvs-header-bg,#101827),var(--pvs-header-bg2,#202b3c));color:var(--pvs-header-text,#fff);border-top-color:var(--pvs-header-accent,#d81f2a)}
.pvs-page-shell .pvs-schedule-header h2,.pvs-team-hub.pvs-page-shell .pvs-team-hero h1{color:var(--pvs-header-text,#fff)!important}
.pvs-page-shell .pvs-schedule-header .pvs-brandline,.pvs-team-hub.pvs-page-shell .pvs-team-hero .pvs-brandline{color:var(--pvs-header-text,#fff)!important;opacity:.88}
.pvs-page-shell .pvs-schedule-header .pvs-subtitle,.pvs-page-shell .pvs-schedule-header .pvs-district,.pvs-page-shell .pvs-schedule-header .pvs-record span,.pvs-team-hub.pvs-page-shell .pvs-team-hero p{color:var(--pvs-header-text,#fff)!important;opacity:.82}
.pvs-page-shell .pvs-schedule-header .pvs-record{border-left-color:color-mix(in srgb,var(--pvs-header-text,#fff) 28%,transparent)}

/* v1.4.0 PVS Scoreboard schedule style */
.pvs-style-scoreboard{box-shadow:0 6px 22px rgba(16,24,39,.08)}
.pvs-style-scoreboard .pvs-schedule-header{padding:18px 22px;border-top-width:4px}
.pvs-style-scoreboard .pvs-brandline{font-size:9px;margin-bottom:6px;letter-spacing:.2em}
.pvs-style-scoreboard .pvs-schedule-header h2{font-size:25px!important;margin-bottom:2px!important}
.pvs-style-scoreboard .pvs-subtitle{font-size:11px;letter-spacing:.1em}
.pvs-style-scoreboard .pvs-district{margin-top:8px;font-size:11px}
.pvs-style-scoreboard .pvs-record{min-width:74px;padding-left:16px}.pvs-style-scoreboard .pvs-record strong{font-size:23px}.pvs-style-scoreboard .pvs-record span{font-size:9px}
.pvs-style-scoreboard .pvs-schedule-logo{width:min(var(--pvs-team-logo-size,72px),58px);height:min(var(--pvs-team-logo-size,72px),58px);flex-basis:min(var(--pvs-team-logo-size,72px),58px)}
.pvs-style-scoreboard .pvs-game{grid-template-columns:68px minmax(0,1fr) 118px;min-height:82px;border-bottom-color:#dfe3e8}
.pvs-style-scoreboard .pvs-game-date{background:#f4f5f7}.pvs-style-scoreboard .pvs-game-date strong{font-size:24px}.pvs-style-scoreboard .pvs-month{font-size:10px}.pvs-style-scoreboard .pvs-day{font-size:9px;margin-top:2px}
.pvs-style-scoreboard .pvs-game-info{padding:11px 16px}.pvs-style-scoreboard .pvs-week-row{font-size:9px;margin-bottom:2px}.pvs-style-scoreboard .pvs-site{padding:1px 5px;border-radius:2px}.pvs-style-scoreboard .pvs-game-info h3{font-size:18px!important;line-height:1.18!important}.pvs-style-scoreboard .pvs-at{font-size:11px}.pvs-style-scoreboard .pvs-meta{margin-top:4px;font-size:10px;gap:7px}.pvs-style-scoreboard .pvs-meta span+span:before{margin-right:7px}.pvs-style-scoreboard .pvs-location{font-size:10px;margin-top:3px}
.pvs-style-scoreboard .pvs-game-result{padding:10px 15px;background:#f8f9fb}.pvs-style-scoreboard .pvs-final,.pvs-style-scoreboard .pvs-upcoming{font-size:9px;letter-spacing:.13em}.pvs-style-scoreboard .pvs-score{gap:7px;margin-top:3px}.pvs-style-scoreboard .pvs-score strong,.pvs-style-scoreboard .pvs-game-result>strong{font-size:21px;letter-spacing:-.02em}.pvs-style-scoreboard .pvs-result-badge{width:23px;height:23px;font-size:11px}
.pvs-style-scoreboard .pvs-game-upcoming .pvs-game-result{border-left:3px solid var(--pvs-header-accent,#d81f2a)}
.pvs-style-scoreboard .pvs-game-final .pvs-game-result{border-left:1px solid var(--pvs-line)}
@media(max-width:650px){.pvs-style-scoreboard .pvs-schedule-header{padding:16px}.pvs-style-scoreboard .pvs-schedule-header h2{font-size:22px!important}.pvs-style-scoreboard .pvs-game{grid-template-columns:58px minmax(0,1fr);min-height:76px}.pvs-style-scoreboard .pvs-game-date strong{font-size:21px}.pvs-style-scoreboard .pvs-game-info{padding:10px 12px}.pvs-style-scoreboard .pvs-game-info h3{font-size:16px!important}.pvs-style-scoreboard .pvs-game-result{grid-column:1/-1;padding:7px 12px}.pvs-style-scoreboard .pvs-score strong,.pvs-style-scoreboard .pvs-game-result>strong{font-size:18px}}


/* v1.4.1 PVS Game Cards */
.pvs-style-gamecards{background:transparent;border:0;box-shadow:none;overflow:visible}
.pvs-style-gamecards .pvs-schedule-header{border-radius:14px 14px 0 0;padding:24px 28px 0;box-shadow:0 10px 30px rgba(16,24,39,.12)}
.pvs-style-gamecards .pvs-header-main{align-items:center}
.pvs-style-gamecards .pvs-schedule-logo{width:min(var(--pvs-team-logo-size,92px),96px);height:min(var(--pvs-team-logo-size,92px),96px);flex-basis:min(var(--pvs-team-logo-size,92px),96px)}
.pvs-style-gamecards .pvs-schedule-header h2{font-size:32px!important}
.pvs-style-gamecards .pvs-subtitle{font-size:12px;font-weight:800;letter-spacing:.14em}
.pvs-style-gamecards .pvs-summary-strip{display:flex;gap:18px;flex-wrap:wrap;margin:20px -28px 0;padding:11px 28px;background:rgba(0,0,0,.16);border-top:1px solid rgba(255,255,255,.12);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--pvs-header-text,#fff)}
.pvs-style-gamecards .pvs-summary-strip span+span:before{content:"•";margin-right:18px;opacity:.6}
.pvs-style-gamecards .pvs-games{display:grid;gap:12px;margin-top:14px}
.pvs-style-gamecards .pvs-game{display:grid;grid-template-columns:108px 82px minmax(0,1fr) 150px;align-items:center;min-height:118px;background:#fff;border:1px solid #dfe4ea;border-radius:12px;overflow:hidden;box-shadow:0 5px 18px rgba(16,24,39,.055);position:relative}
.pvs-style-gamecards .pvs-game:hover{box-shadow:0 10px 28px rgba(16,24,39,.10)}
.pvs-style-gamecards .pvs-next-game{border:2px solid var(--pvs-header-accent,#d81f2a);box-shadow:0 10px 30px color-mix(in srgb,var(--pvs-header-accent,#d81f2a) 18%,transparent)}
.pvs-style-gamecards .pvs-card-date{align-self:stretch;background:#f4f6f8;border-right:1px solid #e1e5ea;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:12px 8px;text-transform:uppercase}
.pvs-style-gamecards .pvs-card-date>span{font-size:10px;font-weight:800;letter-spacing:.12em;color:#7a8491}
.pvs-style-gamecards .pvs-card-date>strong{font-size:22px;line-height:1.05;color:#141b26;margin:3px 0}
.pvs-style-gamecards .pvs-card-date>em{font-style:normal;font-size:11px;font-weight:800;color:var(--pvs-team-primary,#c51f2d)}
.pvs-style-gamecards .pvs-card-date>small{font-size:9px;font-weight:800;color:#8b949f;margin-top:7px;letter-spacing:.08em}
.pvs-style-gamecards .pvs-opponent-mark{width:64px;height:64px;margin:0 auto;display:grid;place-items:center;border-radius:12px;background:#f7f8fa;border:1px solid #e1e5ea;overflow:hidden}
.pvs-style-gamecards .pvs-opponent-mark img{width:54px;height:54px;object-fit:contain}
.pvs-style-gamecards .pvs-opponent-mark span{font-size:20px;font-weight:900;letter-spacing:.02em;color:#4b5563}
.pvs-style-gamecards .pvs-game-info{padding:17px 16px 17px 4px}
.pvs-style-gamecards .pvs-game-info h3{font-size:22px!important;line-height:1.15!important;margin-top:4px!important}
.pvs-style-gamecards .pvs-week-row{margin:0 0 4px;font-size:9px}
.pvs-style-gamecards .pvs-next-label{color:var(--pvs-header-accent,#d81f2a);font-weight:900;letter-spacing:.12em}
.pvs-style-gamecards .pvs-site{border-radius:999px;padding:3px 7px}
.pvs-style-gamecards .pvs-meta{font-size:11px;margin-top:6px}
.pvs-style-gamecards .pvs-location{font-size:11px;margin-top:5px}
.pvs-style-gamecards .pvs-game-result{align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;padding:16px 20px;background:#fbfcfd;border-left:1px solid #e5e8ec;text-align:right}
.pvs-style-gamecards .pvs-final,.pvs-style-gamecards .pvs-upcoming{font-size:9px;font-weight:900;letter-spacing:.14em;color:#7b8491}
.pvs-style-gamecards .pvs-score{margin-top:4px;gap:8px}
.pvs-style-gamecards .pvs-score strong{font-size:30px;line-height:1;letter-spacing:-.04em}
.pvs-style-gamecards .pvs-game-result>strong{font-size:24px;line-height:1.05;margin-top:5px;letter-spacing:-.02em;color:#151b26}
.pvs-style-gamecards .pvs-result-badge{width:28px;height:28px;font-size:12px}
.pvs-style-gamecards .pvs-game-final{opacity:.94}
.pvs-style-gamecards .pvs-game-final:hover{opacity:1}
@media(max-width:760px){
  .pvs-style-gamecards .pvs-schedule-header{padding:20px 18px 0}.pvs-style-gamecards .pvs-summary-strip{margin:18px -18px 0;padding:10px 18px;gap:10px}.pvs-style-gamecards .pvs-summary-strip span+span:before{margin-right:10px}
  .pvs-style-gamecards .pvs-schedule-logo{width:min(var(--pvs-team-logo-size,86px),78px);height:min(var(--pvs-team-logo-size,86px),78px);flex-basis:min(var(--pvs-team-logo-size,86px),78px)}
  .pvs-style-gamecards .pvs-game{grid-template-columns:88px 70px minmax(0,1fr);min-height:104px}
  .pvs-style-gamecards .pvs-opponent-mark{width:56px;height:56px}.pvs-style-gamecards .pvs-opponent-mark img{width:48px;height:48px}
  .pvs-style-gamecards .pvs-game-info{padding:14px 10px 14px 0}.pvs-style-gamecards .pvs-game-info h3{font-size:19px!important}
  .pvs-style-gamecards .pvs-game-result{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;padding:9px 14px;border-left:0;border-top:1px solid #e5e8ec;text-align:left}
  .pvs-style-gamecards .pvs-game-result>strong{font-size:20px;margin:0}.pvs-style-gamecards .pvs-score strong{font-size:24px}
}
@media(max-width:500px){
  .pvs-style-gamecards .pvs-header-main{align-items:flex-start}.pvs-style-gamecards .pvs-schedule-header h2{font-size:25px!important}
  .pvs-style-gamecards .pvs-game{grid-template-columns:76px 58px minmax(0,1fr)}
  .pvs-style-gamecards .pvs-card-date>strong{font-size:18px}.pvs-style-gamecards .pvs-card-date>em{font-size:9px}
  .pvs-style-gamecards .pvs-opponent-mark{width:48px;height:48px;border-radius:9px}.pvs-style-gamecards .pvs-opponent-mark img{width:41px;height:41px}.pvs-style-gamecards .pvs-opponent-mark span{font-size:16px}
  .pvs-style-gamecards .pvs-game-info h3{font-size:17px!important}.pvs-style-gamecards .pvs-meta,.pvs-style-gamecards .pvs-location{font-size:10px}
}

/* v1.4.2 Unified generated-page card system */
.pvs-directory-hero,
.pvs-team-hub .pvs-team-hero{
  border-radius:14px;
  overflow:hidden;
}

.pvs-unified-card{
  position:relative;
  border-radius:12px!important;
  overflow:hidden;
  border:1px solid #dfe4ea!important;
  box-shadow:0 5px 18px rgba(16,24,39,.055)!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.pvs-unified-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--pvs-header-accent,var(--pvs-team-primary,#c51f2d));
}
.pvs-unified-card:hover{
  transform:translateY(-2px);
  border-color:#cfd6de!important;
  box-shadow:0 10px 28px rgba(16,24,39,.10)!important;
}
.pvs-card-kicker{
  display:block;
  font-size:9px!important;
  font-weight:900!important;
  line-height:1.2;
  letter-spacing:.14em!important;
  text-transform:uppercase;
  color:var(--pvs-header-accent,var(--pvs-team-primary,#c51f2d))!important;
  margin:0 0 5px!important;
}
.pvs-card-arrow{
  flex:0 0 auto;
  align-self:center;
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#f3f5f7;
  color:#182131;
  font-size:18px;
  font-weight:800;
  transition:transform .16s ease,background .16s ease;
}
.pvs-unified-card:hover .pvs-card-arrow{transform:translateX(2px);background:#e9edf1}

/* Team + sport directory cards */
.pvs-team-grid{gap:14px}
.pvs-team-card.pvs-unified-card{
  display:grid;
  grid-template-columns:74px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  min-height:116px;
  padding:18px 18px 18px 22px;
  background:#fff;
}
.pvs-team-card-logo{
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#f7f8fa;
  border:1px solid #e2e6eb;
}
.pvs-team-card-logo img{
  width:58px!important;
  height:58px!important;
  max-width:58px!important;
  max-height:58px!important;
  object-fit:contain;
  background:transparent!important;
}
.pvs-team-card-logo .pvs-team-initials{
  width:100%;
  height:100%;
  border-radius:11px;
  background:#182131;
  color:#fff;
}
.pvs-team-card-body{min-width:0}
.pvs-team-card.pvs-unified-card h2{
  margin:0 0 4px!important;
  font-size:21px!important;
  line-height:1.1!important;
  color:#172033!important;
}
.pvs-team-card.pvs-unified-card h2 span{font-weight:500;color:#596272}
.pvs-team-card.pvs-unified-card p{margin:0 0 8px!important;font-size:12px;color:#697386}
.pvs-team-card.pvs-unified-card .pvs-sport-chips{gap:5px}
.pvs-team-card.pvs-unified-card .pvs-sport-chips span{
  border-radius:999px;
  padding:4px 7px;
  background:#f0f3f6;
  color:#445064;
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
}
.pvs-team-card.pvs-unified-card .pvs-card-cta{
  white-space:nowrap;
  align-self:center;
}

/* Team hub sport cards */
.pvs-sport-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.pvs-sport-card.pvs-unified-card{
  min-height:148px;
  padding:20px 20px 18px 24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#fff;
  border-left:1px solid #dfe4ea!important;
}
.pvs-sport-card-main{display:flex;flex-direction:column;gap:3px}
.pvs-sport-card.pvs-unified-card strong{
  font-size:24px;
  line-height:1.05;
  color:#172033;
  letter-spacing:-.02em;
}
.pvs-sport-card-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
  color:#687386;
  font-size:11px;
  font-weight:700;
}
.pvs-sport-card-meta span+span:before{content:"•";margin-right:8px;color:#a3aab4}
.pvs-card-cta{
  margin-top:16px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#172033;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
}
.pvs-card-cta b{font-size:16px;line-height:1}

/* Cleaner Game Cards: no opponent logos inside schedule rows */
.pvs-style-gamecards .pvs-game{
  grid-template-columns:108px minmax(0,1fr) 150px;
}
.pvs-style-gamecards .pvs-game-info{
  padding:17px 22px;
}
.pvs-style-gamecards .pvs-game-info h3{
  font-size:23px!important;
}
.pvs-style-gamecards .pvs-opponent-mark{display:none!important}

@media(max-width:760px){
  .pvs-team-card.pvs-unified-card{grid-template-columns:64px minmax(0,1fr) auto;min-height:102px;padding:15px 14px 15px 19px;gap:12px}
  .pvs-team-card-logo{width:58px;height:58px}.pvs-team-card-logo img{width:50px!important;height:50px!important;max-width:50px!important;max-height:50px!important}
  .pvs-team-card.pvs-unified-card h2{font-size:18px!important}
  .pvs-sport-grid{grid-template-columns:1fr}
  .pvs-style-gamecards .pvs-game{grid-template-columns:88px minmax(0,1fr)}
  .pvs-style-gamecards .pvs-game-info{padding:14px 16px}
  .pvs-style-gamecards .pvs-game-result{grid-column:1/-1}
}
@media(max-width:500px){
  .pvs-team-card.pvs-unified-card{grid-template-columns:54px minmax(0,1fr);padding:14px 13px 14px 18px}
  .pvs-team-card-logo{width:50px;height:50px}.pvs-team-card-logo img{width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important}
  .pvs-team-card.pvs-unified-card .pvs-card-arrow,.pvs-team-card.pvs-unified-card .pvs-card-cta{display:none}
  .pvs-style-gamecards .pvs-game{grid-template-columns:76px minmax(0,1fr)}
  .pvs-style-gamecards .pvs-game-info{padding:13px 14px}
}


/* v1.4.3 Game Cards + sponsor rail responsive cleanup */
/* Keep the schedule visually dominant when a sidebar/widget is present. */
.pvs-page-columns{
  grid-template-columns:minmax(0,1fr) minmax(220px,270px);
  gap:20px;
}
.pvs-page-sidebar{min-width:0;max-width:270px;width:100%}
.pvs-page-sidebar .pvs-content-slot{margin:0 0 20px}

/* Game Cards no longer reserve any opponent-logo/initials column. */
.pvs-style-gamecards .pvs-game{
  grid-template-columns:108px minmax(0,1fr) 168px!important;
}
.pvs-style-gamecards .pvs-opponent-mark{
  display:none!important;
  width:0!important;
  min-width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}
.pvs-style-gamecards .pvs-game-info{
  min-width:0;
  padding:17px 22px!important;
}
.pvs-style-gamecards .pvs-game-info h3{
  font-size:23px!important;
  overflow-wrap:anywhere;
}

/* Scores and start times must always remain intact on one line. */
.pvs-style-gamecards .pvs-game-result{
  min-width:168px;
  padding:16px 18px;
  white-space:nowrap;
}
.pvs-style-gamecards .pvs-score,
.pvs-style-gamecards .pvs-score strong,
.pvs-style-gamecards .pvs-game-result>strong,
.pvs-style-gamecards .pvs-final,
.pvs-style-gamecards .pvs-upcoming{
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
}
.pvs-style-gamecards .pvs-score strong{
  font-variant-numeric:tabular-nums;
}

/* Before the schedule gets cramped, stack the sponsor/widget rail underneath. */
@media(max-width:1180px){
  .pvs-page-columns{
    grid-template-columns:1fr!important;
    gap:18px;
  }
  .pvs-page-sidebar{
    order:2;
    max-width:none;
    width:100%;
  }
  .pvs-page-sidebar .pvs-content-slot{
    margin:0;
  }
}

@media(max-width:760px){
  .pvs-style-gamecards .pvs-game{
    grid-template-columns:88px minmax(0,1fr)!important;
  }
  .pvs-style-gamecards .pvs-game-info{
    padding:14px 16px!important;
  }
  .pvs-style-gamecards .pvs-game-result{
    min-width:0;
    grid-column:1/-1;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    white-space:nowrap;
  }
}
@media(max-width:500px){
  .pvs-style-gamecards .pvs-game{
    grid-template-columns:76px minmax(0,1fr)!important;
  }
  .pvs-style-gamecards .pvs-game-info{
    padding:13px 14px!important;
  }
}


/* v1.4.4 Premier Varsity Sports global brand palette cleanup */
:root{
  --pvs-brand-green:#00562F;
  --pvs-brand-green-dark:#071A12;
  --pvs-brand-gold:#F2C335;
}

/* Base schedule fallback now matches the live PVS green/gold identity. */
.pvs-schedule{
  --pvs-red:var(--pvs-brand-gold);
  --pvs-dark:var(--pvs-brand-green-dark);
}
.pvs-schedule-header{
  background:linear-gradient(115deg,var(--pvs-brand-green-dark),var(--pvs-brand-green));
  border-top-color:var(--pvs-header-accent,var(--pvs-brand-gold));
}
.pvs-brandline{color:var(--pvs-header-accent,var(--pvs-brand-gold))}
.pvs-month{color:var(--pvs-header-accent,var(--pvs-brand-gold))}

/* Global generated pages (/teams/, /sports/...) use PVS green + gold, not the legacy red. */
.pvs-directory-hero{
  background:linear-gradient(115deg,var(--pvs-brand-green-dark),var(--pvs-brand-green));
  border-top-color:var(--pvs-brand-gold);
}
.pvs-directory-hero .pvs-brandline{color:var(--pvs-brand-gold)!important}

/* Default page-shell values when no team palette is active. */
.pvs-page-shell{
  --pvs-team-primary:var(--pvs-brand-green);
  --pvs-team-secondary:var(--pvs-brand-gold);
  --pvs-header-accent:var(--pvs-brand-gold);
}

/* Team hub/schedule pages still honor explicit team colors/header settings. */
.pvs-team-hero{
  border-color:var(--pvs-header-accent,var(--pvs-team-secondary,var(--pvs-brand-gold)));
}
.pvs-page-shell .pvs-content-slot-sidebar{
  border-top-color:var(--pvs-header-accent,var(--pvs-team-primary,var(--pvs-brand-gold)));
}

/* Directory cards fall back to PVS gold; team-specific inline variables still override this. */
.pvs-unified-card:before{
  background:var(--pvs-header-accent,var(--pvs-team-primary,var(--pvs-brand-gold)));
}
.pvs-card-kicker{
  color:var(--pvs-header-accent,var(--pvs-team-primary,var(--pvs-brand-gold)))!important;
}
.pvs-sport-card .pvs-sport-name{
  color:var(--pvs-header-accent,var(--pvs-team-primary,var(--pvs-brand-gold)));
}

/* Keep game outcome red/green semantically distinct from branding. */
.pvs-result-w{background:#157347}
.pvs-result-l{background:#b42318}

/* v1.4.5 cache-bust + hard PVS directory brand fallback */
.pvs-virtual-page .pvs-directory-hero{
  background:linear-gradient(115deg,#071A12,#00562F)!important;
  border-top-color:#F2C335!important;
}
.pvs-virtual-page .pvs-directory-hero .pvs-brandline{
  color:#F2C335!important;
}
/* Global directory cards use gold unless a real team palette is supplied inline. */
.pvs-virtual-page .pvs-unified-card:not([style*="--pvs-team-primary"]):before{
  background:#F2C335!important;
}
/* Semantic result colors remain independent of the brand palette. */
.pvs-result-l{background:#b42318!important}
.pvs-result-w{background:#157347!important}


/* v1.4.7 schedule + sponsor rail structural alignment */
/* The schedule and sponsor rail are direct grid siblings and begin on the same row. */
.pvs-page-columns{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,320px);
  gap:24px;
  align-items:start;
}
.pvs-page-main,
.pvs-page-sidebar{
  min-width:0;
  align-self:start;
}
/* Remove the legacy schedule margin that previously pushed the header below the rail. */
.pvs-page-main > .pvs-schedule{
  margin-top:0!important;
}
.pvs-page-sidebar{
  width:100%;
  max-width:320px;
  margin:0!important;
  padding:0!important;
}
.pvs-page-sidebar > .pvs-content-slot{
  margin:0 0 18px!important;
  padding:20px;
  border:1px solid #e2e6eb;
  border-top:5px solid var(--pvs-header-accent,var(--pvs-team-primary,var(--pvs-brand-gold)));
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,24,39,.07);
}
.pvs-page-sidebar > .pvs-content-slot + .pvs-content-slot{
  margin-top:18px!important;
}
/* Optional desktop sticky behavior starts only after the page has reached the normal aligned position. */
@media(min-width:1181px){
  .pvs-page-columns.pvs-sidebar-sticky .pvs-page-sidebar{
    position:sticky;
    top:24px;
  }
}
/* Stack before the main schedule gets cramped. */
@media(max-width:1180px){
  .pvs-page-columns{
    grid-template-columns:1fr!important;
    gap:18px;
  }
  .pvs-page-sidebar,
  .pvs-page-columns.pvs-sidebar-sticky .pvs-page-sidebar{
    position:static;
    top:auto;
    order:2;
    max-width:none;
    width:100%;
  }
  .pvs-page-sidebar > .pvs-content-slot{
    border-radius:12px;
  }
}

/* v1.4.8 richer Teams directory */
.pvs-directory > .pvs-directory-hero{
  padding:24px 30px 25px;
  margin-bottom:22px;
}
.pvs-directory > .pvs-directory-hero h1{
  font-size:clamp(34px,4vw,46px);
}
.pvs-team-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.pvs-team-card.pvs-team-directory-card{
  grid-template-columns:128px minmax(0,1fr) auto 42px;
  min-height:176px;
  padding:22px 20px 22px 24px;
  gap:20px;
  border-radius:15px!important;
  isolation:isolate;
}
.pvs-team-card.pvs-team-directory-card:before{
  width:5px;
}
.pvs-team-card.pvs-team-directory-card:after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:176px;
  z-index:-1;
  background:linear-gradient(90deg,color-mix(in srgb,var(--pvs-team-primary,#F2C335) 10%, transparent),transparent);
  pointer-events:none;
}
.pvs-team-directory-card .pvs-team-card-logo{
  width:118px;
  height:118px;
  border-radius:16px;
  background:rgba(247,248,250,.88);
  border:1px solid #e1e5ea;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
.pvs-team-directory-card .pvs-team-card-logo img{
  width:102px!important;
  height:102px!important;
  max-width:102px!important;
  max-height:102px!important;
}
.pvs-team-directory-card .pvs-team-card-logo .pvs-team-initials{
  font-size:32px;
  border-radius:15px;
}
.pvs-team-directory-card .pvs-card-kicker{
  margin-bottom:7px!important;
}
.pvs-team-card.pvs-team-directory-card h2{
  font-size:27px!important;
  letter-spacing:-.025em;
  margin:0 0 3px!important;
}
.pvs-team-directory-card .pvs-team-mascot{
  color:#535e6d;
  font-size:14px;
  font-weight:700;
  margin-bottom:4px;
}
.pvs-team-directory-card .pvs-team-location{
  margin:0 0 11px!important;
  font-size:12px!important;
  color:#758091!important;
}
.pvs-team-directory-card .pvs-sport-chips span{
  padding:5px 9px;
  font-size:9px;
}
.pvs-team-card-summary{
  min-width:88px;
  text-align:right;
  padding:8px 18px 8px 20px;
  border-left:1px solid #e6e9ee;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-end;
}
.pvs-team-card-summary .pvs-summary-label{
  max-width:110px;
  color:#6c7685;
  font-size:10px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:5px;
}
.pvs-team-card-summary strong{
  color:#172033;
  font-size:25px;
  line-height:1;
}
.pvs-team-card-summary small{
  margin-top:4px;
  color:#8a94a2;
  font-size:8px;
  font-weight:900;
  letter-spacing:.15em;
}
.pvs-team-directory-card .pvs-card-arrow{
  width:38px;
  height:38px;
}
@media(max-width:980px){
  .pvs-team-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .pvs-team-card.pvs-team-directory-card{
    grid-template-columns:90px minmax(0,1fr) 36px;
    min-height:132px;
    padding:17px 14px 17px 19px;
    gap:14px;
  }
  .pvs-team-directory-card .pvs-team-card-logo{width:84px;height:84px;border-radius:13px}
  .pvs-team-directory-card .pvs-team-card-logo img{width:74px!important;height:74px!important;max-width:74px!important;max-height:74px!important}
  .pvs-team-card.pvs-team-directory-card h2{font-size:22px!important}
  .pvs-team-card-summary{display:none}
  .pvs-team-card.pvs-team-directory-card:after{width:125px}
}
@media(max-width:430px){
  .pvs-team-card.pvs-team-directory-card{grid-template-columns:76px minmax(0,1fr);padding-right:14px}
  .pvs-team-directory-card .pvs-team-card-logo{width:70px;height:70px}
  .pvs-team-directory-card .pvs-team-card-logo img{width:62px!important;height:62px!important;max-width:62px!important;max-height:62px!important}
  .pvs-team-directory-card .pvs-card-arrow{display:none}
}


/* v1.5.0 sport-aware volleyball result presentation */
.pvs-style-gamecards.pvs-sport-volleyball .pvs-game{
  grid-template-columns:108px minmax(0,1fr) minmax(300px,360px)!important;
}
.pvs-style-gamecards.pvs-sport-volleyball .pvs-game-result{
  min-width:300px;
  white-space:normal;
}
.pvs-volleyball-result .pvs-final{margin-bottom:5px}
.pvs-vb-match{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
}
.pvs-vb-match strong{
  font-size:27px;
  line-height:1;
  letter-spacing:-.035em;
  color:#111827;
  font-variant-numeric:tabular-nums;
}
.pvs-vb-sets{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:5px 7px;
  margin-top:8px;
  max-width:100%;
}
.pvs-vb-sets span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 7px;
  border:1px solid #e1e5ea;
  border-radius:7px;
  background:#fff;
  color:#4b5563;
  font-size:12px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
@media(max-width:980px){
  .pvs-style-gamecards.pvs-sport-volleyball .pvs-game{
    grid-template-columns:88px minmax(0,1fr)!important;
  }
  .pvs-style-gamecards.pvs-sport-volleyball .pvs-game-result{
    min-width:0;
    grid-column:1/-1;
    align-items:flex-start;
    text-align:left;
    border-left:0;
    border-top:1px solid #e5e8ec;
  }
  .pvs-style-gamecards.pvs-sport-volleyball .pvs-vb-match,
  .pvs-style-gamecards.pvs-sport-volleyball .pvs-vb-sets{justify-content:flex-start}
}
@media(max-width:500px){
  .pvs-style-gamecards.pvs-sport-volleyball .pvs-game{grid-template-columns:76px minmax(0,1fr)!important}
  .pvs-vb-match strong{font-size:23px}
  .pvs-vb-sets span{font-size:11px;padding:3px 6px}
}


/* v1.5.4 team hub sport-card hierarchy */
.pvs-team-hub .pvs-sport-card.pvs-unified-card .pvs-card-kicker{
  font-size:18px!important;
  line-height:1.1;
  font-weight:900;
  letter-spacing:.045em;
  margin-bottom:7px;
}
.pvs-team-hub .pvs-sport-card.pvs-unified-card{
  cursor:pointer;
}
.pvs-team-hub .pvs-sport-card.pvs-unified-card:hover .pvs-card-kicker{
  transform:translateX(2px);
}
.pvs-team-hub .pvs-sport-card.pvs-unified-card .pvs-card-kicker{
  transition:transform .16s ease;
}
@media (max-width:700px){
  .pvs-team-hub .pvs-sport-card.pvs-unified-card .pvs-card-kicker{font-size:16px!important;}
}

/* v1.7.0 compact game widgets */
.pvs-game-widget{--pvs-widget-green:#123e2b;--pvs-widget-gold:#d7ad36;width:100%;font-family:inherit;color:#17211c}
.pvs-game-widget-heading{border-top:4px solid var(--pvs-widget-gold);background:var(--pvs-widget-green);padding:12px 15px 13px;border-radius:10px 10px 0 0;color:#fff}
.pvs-game-widget-heading span{display:block;font-size:9px;line-height:1;font-weight:900;letter-spacing:.16em;color:var(--pvs-widget-gold);margin-bottom:6px}
.pvs-game-widget-heading h3{margin:0!important;color:#fff!important;font-size:20px!important;line-height:1.1!important;font-weight:900!important}
.pvs-game-widget-list{border:1px solid #dfe5e1;border-top:0;border-radius:0 0 10px 10px;overflow:hidden;background:#fff}
.pvs-game-widget-card{--pvs-primary:#123e2b;--pvs-secondary:#d7ad36;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 13px;text-decoration:none!important;color:inherit!important;background:#fff;border-bottom:1px solid #e7ebe8;position:relative;transition:background .15s ease}
.pvs-game-widget-card:last-child{border-bottom:0}
.pvs-game-widget-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--pvs-primary)}
.pvs-game-widget-logo{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:#f5f7f6;overflow:hidden;border:1px solid #e4e8e5}
.pvs-game-widget-logo img{width:36px!important;height:36px!important;max-width:36px!important;max-height:36px!important;object-fit:contain}
.pvs-game-widget-logo span{font-size:11px;font-weight:900;color:#516058}
.pvs-game-widget-main{min-width:0}
.pvs-game-widget-topline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:3px;color:#748078;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.pvs-game-widget-sport{color:var(--pvs-primary);font-weight:900}
.pvs-game-widget-team{display:block;font-size:13px;line-height:1.15;color:#18251e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pvs-game-widget-opponent{margin-top:2px;font-size:13px;line-height:1.25;font-weight:750;color:#39463f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pvs-game-widget-location{display:block;margin-top:4px;color:#78847e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pvs-game-widget-result{min-width:70px;text-align:right;white-space:nowrap}
.pvs-game-widget-result span{display:block;font-size:8px;line-height:1;font-weight:900;letter-spacing:.12em;color:#7d8982;margin-bottom:5px}
.pvs-game-widget-result strong{font-size:14px;line-height:1;font-weight:950;color:#17211c;font-variant-numeric:tabular-nums}
.pvs-game-widget-empty{padding:18px;border:1px solid #dfe5e1;border-top:0;border-radius:0 0 10px 10px;background:#fff;color:#6f7d75;font-size:13px}
@media(hover:hover) and (pointer:fine){.pvs-game-widget-card:hover{background:#f8faf9}}
@media(max-width:420px){
  .pvs-game-widget-card{grid-template-columns:38px minmax(0,1fr);padding:11px 10px;gap:9px}
  .pvs-game-widget-logo{width:36px;height:36px}.pvs-game-widget-logo img{width:31px!important;height:31px!important;max-width:31px!important;max-height:31px!important}
  .pvs-game-widget-result{grid-column:2;text-align:left;display:flex;align-items:center;gap:7px;margin-top:3px}.pvs-game-widget-result span{margin:0}.pvs-game-widget-team,.pvs-game-widget-opponent{white-space:normal}
}
.pvs-game-widget-card.pvs-widget-no-logo{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:420px){.pvs-game-widget-card.pvs-widget-no-logo{grid-template-columns:minmax(0,1fr)}.pvs-game-widget-card.pvs-widget-no-logo .pvs-game-widget-result{grid-column:1}}

/* v1.7.1 horizontal scoreboard carousel */
.pvs-scoreboard{--pvs-board-green:#00562f;--pvs-board-gold:#f2c335;width:100%;font-family:inherit;color:#132019;background:#fff;border:1px solid #dfe5e1;border-radius:10px;overflow:hidden}
.pvs-scoreboard-head{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--pvs-board-green);border-top:4px solid var(--pvs-board-gold);padding:9px 12px 10px;color:#fff}
.pvs-scoreboard-head>div:first-child{display:flex;align-items:baseline;gap:12px;min-width:0}.pvs-scoreboard-head span{font-size:8px;font-weight:900;letter-spacing:.14em;color:var(--pvs-board-gold);white-space:nowrap}.pvs-scoreboard-head strong{font-size:16px;line-height:1.1;font-weight:950;white-space:nowrap}
.pvs-scoreboard-controls{display:flex;gap:6px}.pvs-scoreboard-controls button{width:34px;height:32px;border:1px solid rgba(255,255,255,.32);border-radius:7px;background:rgba(255,255,255,.09);color:#fff;font-size:17px;line-height:1;cursor:pointer}.pvs-scoreboard-controls button:hover{background:rgba(255,255,255,.17)}
.pvs-scoreboard-track{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:thin;background:#fff}.pvs-scoreboard-track:focus{outline:2px solid var(--pvs-board-gold);outline-offset:-2px}
.pvs-scoreboard-tile{--pvs-primary:#00562f;--pvs-secondary:#f2c335;position:relative;flex:0 0 235px;min-width:0;scroll-snap-align:start;padding:10px 12px 11px;border-right:1px solid #e1e6e3;text-decoration:none!important;color:#17211c!important;background:#fff;transition:background .15s ease}.pvs-scoreboard-tile:last-child{border-right:0}.pvs-scoreboard-tile:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--pvs-primary)}
.pvs-scoreboard-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.pvs-scoreboard-meta span{font-size:8px;line-height:1;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.pvs-scoreboard-sport{color:var(--pvs-primary)!important}.pvs-scoreboard-status{color:#77847c!important}
.pvs-scoreboard-teamline{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center;min-height:26px}.pvs-scoreboard-teamline+.pvs-scoreboard-teamline{margin-top:2px}.pvs-scoreboard-logo{width:25px;height:25px;border-radius:5px;border:1px solid #e1e6e3;background:#f5f7f6;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:900;color:#5f6b64;overflow:hidden}.pvs-scoreboard-logo img{width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;object-fit:contain}.pvs-scoreboard-name{font-size:13px;font-weight:850;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pvs-scoreboard-teamline strong{font-size:19px;line-height:1;font-weight:950;font-variant-numeric:tabular-nums}.pvs-scoreboard-prefix{font-size:9px;font-weight:850;color:#7b8780;text-transform:uppercase;min-width:20px}
.pvs-scoreboard-result{position:absolute;right:10px;bottom:7px;font-size:8px;font-weight:950;letter-spacing:.08em}.pvs-scoreboard-result.pvs-result-w{color:#147b43}.pvs-scoreboard-result.pvs-result-l{color:#bd2c20}.pvs-scoreboard-result.pvs-result-t{color:#6b7470}.pvs-scoreboard-date{margin-top:7px;font-size:9px;font-weight:800;color:#76827b}
.pvs-scoreboard-empty{padding:18px;color:#6f7d75;font-size:13px}
@media(hover:hover) and (pointer:fine){.pvs-scoreboard-tile:hover{background:#f8faf9}}
@media(max-width:600px){.pvs-scoreboard-head>div:first-child{display:block}.pvs-scoreboard-head span{display:block;margin-bottom:4px}.pvs-scoreboard-tile{flex-basis:210px}.pvs-scoreboard-head strong{font-size:15px}}


/* v1.7.3 sport-aware scoreboard polish */
.pvs-scoreboard-compact .pvs-scoreboard-tile{flex-basis:250px;padding:11px 13px 14px}
.pvs-scoreboard-compact .pvs-scoreboard-meta{margin-bottom:9px}
.pvs-scoreboard-compact .pvs-scoreboard-name{font-size:14px;line-height:1.2}
.pvs-scoreboard-compact .pvs-scoreboard-teamline strong{font-size:20px}
.pvs-scoreboard-compact .pvs-scoreboard-prefix{font-size:8px;color:#7c8781}
.pvs-scoreboard-volleyball .pvs-scoreboard-teamline{min-height:29px}
.pvs-scoreboard-volleyball .pvs-scoreboard-teamline strong{min-width:22px;text-align:right}
.pvs-scoreboard-detailed .pvs-scoreboard-tile{flex-basis:285px;padding-bottom:29px}
.pvs-scoreboard-sets{margin:7px 0 0 0;padding-top:6px;border-top:1px solid #edf0ee;font-size:9px;line-height:1.35;font-weight:800;color:#68756e;white-space:normal}
.pvs-scoreboard-sets span{margin-right:6px;font-size:7px;letter-spacing:.1em;color:#87928c}
.pvs-scoreboard-detailed .pvs-scoreboard-result{bottom:8px}
@media(max-width:600px){.pvs-scoreboard-compact .pvs-scoreboard-tile{flex-basis:225px}.pvs-scoreboard-detailed .pvs-scoreboard-tile{flex-basis:265px}}


/* v1.7.3 compact volleyball scoreboard guard */
.pvs-scoreboard-compact .pvs-scoreboard-volleyball .pvs-scoreboard-teamline strong{font-size:22px;min-width:24px}
.pvs-scoreboard-compact .pvs-scoreboard-volleyball .pvs-scoreboard-result{font-weight:950}


/* v1.7.4 unified scoreboard tile redesign */
.pvs-scoreboard-compact .pvs-scoreboard-tile{flex-basis:276px;padding:11px 14px 13px}
.pvs-scoreboard-detailed .pvs-scoreboard-tile{flex-basis:310px;padding:11px 14px 15px}
.pvs-scoreboard-meta{margin-bottom:7px;padding-bottom:6px;border-bottom:1px solid #edf1ee}
.pvs-scoreboard-matchup{display:grid;grid-template-rows:auto auto auto;gap:2px;min-width:0}
.pvs-scoreboard-teamline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:28px;padding:2px 0}
.pvs-scoreboard-teamline:has(.pvs-scoreboard-logo){grid-template-columns:auto minmax(0,1fr) auto}
.pvs-scoreboard-teamline+.pvs-scoreboard-teamline{margin-top:0}
.pvs-scoreboard-name{font-size:14px;font-weight:780;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#202a25}
.pvs-scoreboard-points{font-size:22px!important;line-height:1;font-weight:820!important;min-width:24px;text-align:right;color:#37423c}
.pvs-scoreboard-teamline.is-winner .pvs-scoreboard-name,.pvs-scoreboard-teamline.is-winner .pvs-scoreboard-points{font-weight:950!important;color:#111a15}
.pvs-scoreboard-teamline.is-winner .pvs-scoreboard-name:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--pvs-primary,#00562f);margin-right:6px;vertical-align:middle}
.pvs-scoreboard-versus{font-size:8px;line-height:1;font-weight:950;letter-spacing:.12em;color:#8b9690;padding:1px 0 1px 0;text-transform:uppercase}
.pvs-scoreboard-logo{width:27px;height:27px}.pvs-scoreboard-logo img{width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important}
.pvs-scoreboard-logo-opponent{visibility:hidden}
.pvs-scoreboard-result{display:none!important}
.pvs-scoreboard-date{margin-top:7px;padding-top:6px;border-top:1px solid #edf1ee;font-size:9px;font-weight:800;color:#76827b}
.pvs-scoreboard-sets{margin-top:8px;padding-top:7px}
.pvs-scoreboard-volleyball .pvs-scoreboard-teamline{min-height:28px}
.pvs-scoreboard-compact .pvs-scoreboard-volleyball .pvs-scoreboard-teamline strong{font-size:22px;min-width:24px}
@media(max-width:600px){.pvs-scoreboard-compact .pvs-scoreboard-tile{flex-basis:250px}.pvs-scoreboard-detailed .pvs-scoreboard-tile{flex-basis:286px}.pvs-scoreboard-name{font-size:13px}.pvs-scoreboard-points{font-size:20px!important}}


/* v1.7.5 compact volleyball set detail */
.pvs-scoreboard-sets-compact{margin-top:7px;padding-top:6px;border-top:1px solid #edf1ee;font-size:8px;line-height:1.35;font-weight:750;color:#69756f;white-space:normal}
.pvs-scoreboard-sets-compact span{margin-right:5px;font-size:7px;letter-spacing:.1em;color:#8a958f}
.pvs-scoreboard-compact .pvs-scoreboard-volleyball{padding-bottom:12px}
@media(max-width:600px){.pvs-scoreboard-sets-compact{font-size:7.5px}}


/* v1.7.6 scoreboard typography polish — sizing only, layout preserved */
.pvs-scoreboard-meta span{font-size:9px;line-height:1;font-weight:900;letter-spacing:.085em}
.pvs-scoreboard-name{font-size:15px;line-height:1.16}
.pvs-scoreboard-points{font-size:24px!important}
.pvs-scoreboard-versus{font-size:9px;letter-spacing:.11em}
.pvs-scoreboard-date{font-size:10px}
.pvs-scoreboard-sets-compact{font-size:9px;line-height:1.35}
.pvs-scoreboard-sets-compact span{font-size:8px}
.pvs-scoreboard-sets{font-size:10px;line-height:1.35}
.pvs-scoreboard-sets span{font-size:8px}
@media(max-width:600px){
  .pvs-scoreboard-meta span{font-size:8.5px}
  .pvs-scoreboard-name{font-size:14px}
  .pvs-scoreboard-points{font-size:22px!important}
  .pvs-scoreboard-versus{font-size:8.5px}
  .pvs-scoreboard-date{font-size:9.5px}
  .pvs-scoreboard-sets-compact{font-size:8.5px}
}

/* v1.7.7 cleaner carousel scrolling — preserve swipe/arrow behavior, hide native bar */
.pvs-scoreboard-track{-ms-overflow-style:none;scrollbar-width:none}
.pvs-scoreboard-track::-webkit-scrollbar{width:0;height:0;display:none}
