.schedule-list-section{background:var(--light-gray);min-height:100vh}.view-toggle-container{justify-content:center;margin-bottom:20px;display:flex}.view-toggle{background:var(--light-gray);border-radius:15px;padding:4px;display:inline-flex;position:relative;overflow:hidden}.view-toggle-btn{color:var(--charcoal);cursor:pointer;z-index:2;text-transform:uppercase;letter-spacing:.5px;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 24px;font-size:.9rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.view-toggle-btn i{font-size:1.1rem;transition:all .3s}.view-toggle-btn.active{background:var(--white);color:var(--woodley-blue);transform:translateY(-1px);box-shadow:0 4px 15px #06c3}.view-toggle-btn.active i{color:var(--basketball-orange)}.view-toggle-btn:hover:not(.active){color:var(--woodley-blue);transform:translateY(-1px)}.sort-container{justify-content:center;margin-top:15px;display:none}.sort-container.show{display:flex}.sort-select-wrapper{min-width:200px;position:relative}#sort-select{background:var(--white);width:100%;color:var(--charcoal);cursor:pointer;appearance:none;border:2px solid #0066cc1a;border-radius:12px;padding:12px 40px 12px 16px;font-size:.9rem;font-weight:500;transition:all .3s}#sort-select:focus{border-color:var(--woodley-blue);outline:none;box-shadow:0 0 0 3px #0066cc1a}.sort-select-wrapper:after{content:"";color:var(--basketball-orange);pointer-events:none;font-family:bootstrap-icons;font-size:1rem;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.schedule-filters{background:var(--white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;margin-bottom:30px;padding:25px;box-shadow:0 8px 30px #00000014}.status-toggle{border:none;min-inline-size:0;margin:0;padding:0}.status-toggle-label{text-transform:uppercase;letter-spacing:.1em;color:var(--woodley-blue);margin-bottom:.5rem;font-size:.75rem;font-weight:700}.status-toggle-options{flex-wrap:wrap;gap:.75rem;display:flex}.status-toggle-option{cursor:pointer;background:#fffc;border:2px solid #0066cc1f;border-radius:16px;flex-direction:column;gap:.15rem;min-width:110px;padding:.75rem 1rem;transition:all .3s;display:flex;position:relative}.status-toggle-option:hover{border-color:#06c6;box-shadow:0 4px 18px #0066cc1f}.status-toggle-option.active{border-color:var(--woodley-blue);background:linear-gradient(135deg,#0066cc26,#0066cc0d);box-shadow:0 6px 20px #06c3}.status-toggle-option input{opacity:0;pointer-events:none;position:absolute}.status-toggle-option-label{color:var(--charcoal);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:700}.status-toggle-option.active .status-toggle-option-label{color:var(--woodley-blue)}.status-toggle-option-description{text-transform:uppercase;letter-spacing:.08em;color:#0000008c;font-size:.65rem}.status-toggle-option.active .status-toggle-option-description{color:var(--basketball-orange)}.schedule-filters .form-select,.schedule-filters .form-control{background:var(--white);border:2px solid #0066cc1a;border-radius:12px;padding:14px 18px;font-size:.9rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}.schedule-filters .form-select:focus,.schedule-filters .form-control:focus{border-color:var(--woodley-blue);outline:none;box-shadow:0 0 0 4px #0066cc1a}.clear-filters-btn{color:var(--basketball-orange);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;background:linear-gradient(135deg,#ff6b351a,#ff6b3533);border:2px solid #ff6b3533;border-radius:25px;align-items:center;gap:8px;padding:10px 20px;font-size:.6rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;top:8px}.clear-filters-btn:hover{background:var(--basketball-orange);color:var(--white);transform:translateY(-2px);box-shadow:0 8px 25px #ff6b354d}.clear-filters-btn i{transition:transform .3s}.clear-filters-btn:hover i{transform:rotate(90deg)}.grid-view{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:25px;display:grid}.schedule-card-wrapper{display:contents}.schedule-card-athletic{background:var(--white);border:none;border-top:4px solid #0000;border-radius:24px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;box-shadow:0 8px 30px #00000014}.schedule-card-athletic.upcoming{border-top-color:var(--woodley-green);background:linear-gradient(135deg,#00cc6605,#00cc660d)}.schedule-card-athletic.completed{border-top-color:var(--woodley-blue);background:linear-gradient(135deg,#0066cc05,#0066cc0d)}.schedule-card-athletic.cancelled{opacity:.8;background:linear-gradient(135deg,#dc354505,#dc35450d);border-top-color:#dc3545}.schedule-card-athletic:hover{transform:translateY(-8px)scale(1.02);box-shadow:0 25px 50px #00000026}.status-location-group{flex-direction:column;gap:8px;display:flex}.game-status-indicator{letter-spacing:.5px;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid;border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-size:.8rem;font-weight:700;display:inline-flex}.game-type-indicator{text-transform:uppercase;letter-spacing:.5px;color:var(--charcoal);opacity:.8;align-items:center;gap:6px;padding-left:16px;font-size:.75rem;font-weight:600;display:inline-flex}.game-type-regular{color:#6c757d}.game-type-playoff{color:#ffc107}.game-type-cup{color:var(--basketball-orange)}.game-type-finals{color:gold}.game-type-friendly{color:var(--woodley-green)}.status-upcoming{color:var(--woodley-green);background:linear-gradient(135deg,#00cc6626,#00cc6640);border-color:#00cc664d}.status-completed{color:var(--woodley-blue);background:linear-gradient(135deg,#0066cc26,#0066cc40);border-color:#0066cc4d}.status-cancelled{color:#dc3545;background:linear-gradient(135deg,#dc354526,#dc354540);border-color:#dc35454d}.location-indicator{text-transform:uppercase;letter-spacing:.5px;border-radius:16px;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.location-home{color:var(--woodley-blue);background:linear-gradient(135deg,#0066cc1a,#06c3);border:1px solid #06c3}.location-away{color:var(--basketball-orange);background:linear-gradient(135deg,#ff6b351a,#ff6b3533);border:1px solid #ff6b3533}.schedule-matchup{background:linear-gradient(135deg,#0066cc08,#00cc6608);border-radius:20px;justify-content:space-between;align-items:stretch;min-height:140px;margin:20px 0;padding:25px;display:flex;position:relative}.team-info{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:120px;transition:all .3s;display:flex;position:relative}.team-info.winner:after{content:"👑";z-index:10;font-size:1.2rem;animation:1s infinite bounce;position:absolute;top:-5px;right:10%}.schedule-team-logo{--framed-logo-size:70px;--framed-logo-border-width:4px;--framed-logo-border-color:#fffffff2;--framed-logo-shadow:0 12px 28px #00000029;flex-shrink:0;margin-bottom:10px}.schedule-card-athletic:hover .schedule-team-logo{transform:scale(1.1);box-shadow:0 12px 35px #0003}.team-name-schedule{color:var(--charcoal);text-transform:uppercase;letter-spacing:.5px;text-align:center;flex-shrink:0;justify-content:center;align-items:center;min-height:2.4em;margin-bottom:8px;font-size:.85rem;font-weight:700;line-height:1.2;display:flex}.team-score{color:var(--woodley-blue);letter-spacing:1px;flex-shrink:0;margin-top:auto;font-family:Bebas Neue,cursive;font-size:1.8rem;font-weight:800}.team-info.winner .team-score{color:var(--woodley-green)}.vs-section{text-align:center;flex-direction:column;flex:none;justify-content:center;align-items:center;min-height:120px;margin:0 20px;display:flex}.vs-text{background:var(--gradient-energy);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;flex-shrink:0;margin-bottom:5px;font-family:Bebas Neue,cursive;font-size:2.2rem;font-weight:700;display:block;position:relative}.draw-indicator{color:var(--charcoal);text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,gold,#ffed4e);border-radius:12px;flex-shrink:0;padding:4px 12px;font-size:.7rem;font-weight:700}.schedule-details{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f5f7fae6;border-radius:16px;margin:18px 0;padding:18px}.detail-item{color:var(--charcoal);justify-content:center;align-items:center;margin-bottom:8px;font-size:.9rem;font-weight:500;display:flex}.detail-item:last-child{margin-bottom:0}.detail-item i{text-align:center;width:24px;color:var(--basketball-orange);margin-right:8px;font-size:1.1rem}.wessex-link{background:linear-gradient(135deg,var(--woodley-blue),var(--woodley-green));text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:25px;align-items:center;gap:10px;padding:14px 28px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden;color:var(--white)!important}.wessex-link:before{content:"";background:linear-gradient(135deg,var(--basketball-orange),var(--woodley-blue));z-index:-1;width:100%;height:100%;transition:left .3s;position:absolute;top:0;left:-100%}.wessex-link:hover:before{left:0}.wessex-link:hover{transform:translateY(-3px);box-shadow:0 15px 35px #06c6;color:var(--white)!important}.list-view{display:block}.schedule-table-container{background:var(--white);border-radius:20px;overflow:hidden;box-shadow:0 8px 30px #00000014}.schedule-table{width:100%;display:table}.schedule-table-header{background:linear-gradient(135deg,var(--charcoal),#3a3a3a);color:var(--white);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:700;display:table-row}.schedule-table-header .table-cell{text-align:center;border-right:1px solid #ffffff1a;padding:20px 16px;display:table-cell}.schedule-table-header .table-cell:last-child{border-right:none}.schedule-table-body{display:table-row-group}.schedule-table-row{border-bottom:1px solid #0000000d;transition:all .3s;display:table-row}.schedule-table-row:hover{background:#0066cc08}.schedule-table-row.completed{background:#0066cc05}.schedule-table-row.cancelled{opacity:.7;background:#dc354505}.table-cell{vertical-align:middle;text-align:center;border-right:1px solid #0000000d;padding:20px 16px;display:table-cell}.table-cell:last-child{border-right:none}.date-time-info{text-align:center}.game-date{color:var(--charcoal);margin-bottom:4px;font-size:.9rem;font-weight:600}.game-time{color:#666;font-size:.8rem;font-weight:500}.teams-matchup{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.teams-matchup .team-info{background:#0066cc0d;border-radius:12px;align-items:center;gap:8px;padding:8px 12px;transition:all .3s;display:flex}.teams-matchup .team-info.winner{background:#00cc661a;border:2px solid #00cc664d}.teams-matchup .team-info.loser{background:#0000000d}.team-logo-small{--framed-logo-size:32px;--framed-logo-border-width:2px;--framed-logo-border-color:#fffffff2;--framed-logo-shadow:0 6px 18px #00000026}.team-name{color:var(--charcoal);font-size:.85rem;font-weight:600}.home-indicator{opacity:.7;font-size:.75rem;font-weight:500}.home-indicator.is-home{color:var(--woodley-blue);opacity:1}.vs-divider{color:#999;font-size:.8rem;font-weight:500}.venue-info{color:var(--charcoal);justify-content:center;align-items:center;gap:6px;font-size:.85rem;display:flex}.venue-info i{color:var(--basketball-orange)}.game-type-badge{text-transform:uppercase;letter-spacing:.5px;color:var(--charcoal);opacity:.8;align-items:center;gap:6px;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:16px;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.score-display{justify-content:center;align-items:center;gap:8px;font-family:Bebas Neue,cursive;font-size:1.4rem;font-weight:700;display:flex}.score{color:var(--charcoal);transition:all .3s}.score.winner-score{color:var(--woodley-green);font-size:1.6rem}.score-divider{color:#999;font-size:1.2rem}.draw-label{color:var(--charcoal);text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,gold,#ffed4e);border-radius:8px;margin-top:4px;padding:2px 8px;font-size:.6rem;font-weight:700}.not-played{color:#999;font-size:1.2rem}.action-link{background:linear-gradient(135deg,var(--woodley-blue),var(--woodley-green));text-transform:uppercase;letter-spacing:.5px;border-radius:16px;align-items:center;gap:6px;padding:8px 16px;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex;color:var(--white)!important}.action-link:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0066cc4d;color:var(--white)!important}.no-link{color:#999;font-size:1rem}.custom-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:30px 0;display:flex}.pagination-btn{background:var(--white);color:var(--charcoal);cursor:pointer;border:2px solid #0066cc1a;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-width:48px;padding:12px 16px;font-size:.9rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.pagination-btn:hover:not(.disabled){background:var(--woodley-blue);color:var(--white);transform:translateY(-2px);box-shadow:0 8px 20px #0066cc4d}.pagination-btn.active{background:var(--woodley-blue);color:var(--white);border-color:var(--woodley-blue)}.pagination-btn.disabled{opacity:.4;cursor:not-allowed;transform:none!important}.page-numbers{align-items:center;gap:4px;display:flex}.pagination-ellipsis{color:#999;padding:0 8px;font-weight:600}.pagination-info{color:var(--charcoal);text-align:center;background:#0066cc0d;border:2px solid #0066cc1a;border-radius:12px;margin-top:20px;padding:12px 20px;font-size:.85rem;font-weight:600}.status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.status-upcoming .status-dot{background:var(--woodley-green);animation:2s infinite pulse-dot}.status-completed .status-dot{background:var(--woodley-blue)}.status-cancelled .status-dot{background:#dc3545}@keyframes pulse-dot{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (max-width:1200px){.grid-view{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}}@media (max-width:768px){#toggle-and-sort-controls,.view-toggle-container{display:none}.sort-container{display:none!important}.schedule-controls{padding:15px 10px}.schedule-filters{margin-bottom:0;padding:15px 10px}.grid-view{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px}.schedule-card-athletic{border-radius:16px}.schedule-card-athletic .card-body{padding:15px!important}.game-status-indicator,.location-indicator,.game-type-indicator{font-size:.7rem}.schedule-matchup{min-height:90px;margin:15px 0;padding:15px}.team-info{min-height:80px}.vs-section{min-height:80px;margin:0 10px}.vs-text{font-size:1.5rem}.schedule-team-logo{width:45px;height:45px;margin-bottom:6px}.team-name-schedule{min-height:2em;margin-bottom:4px;font-size:.75rem}.team-score{font-size:1.3rem}.schedule-details{margin:12px 0;padding:12px}.detail-item{margin-bottom:6px;font-size:.8rem}.detail-item i{font-size:.9rem}.wessex-link{padding:10px 20px;font-size:.8rem}.schedule-table-container{border-radius:12px}.schedule-table-header,.schedule-table-row{display:block}.schedule-table-header{display:none}.schedule-table-row{background:var(--white);border-radius:12px;margin-bottom:15px;display:block;overflow:hidden;box-shadow:0 4px 15px #0000000d}.table-cell{text-align:left;border:none;border-bottom:1px solid #0000000d;padding:15px 20px;display:block}.table-cell:last-child{border-bottom:none}.table-cell:before{content:attr(data-label)": ";color:var(--woodley-blue);text-transform:uppercase;letter-spacing:.5px;min-width:80px;font-size:.8rem;font-weight:700;display:inline-block}.teams-matchup{flex-direction:column;gap:8px}.teams-matchup .team-info{justify-content:flex-start}.custom-pagination{gap:4px}.pagination-btn{min-width:40px;padding:10px 12px;font-size:.8rem}.pagination-btn span{display:none}.prev-btn:before{content:"‹";font-size:1.2rem}.next-btn:after{content:"›";font-size:1.2rem}}@media (max-width:576px){.view-toggle-container{display:none}.grid-view{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.schedule-card-athletic .card-body{padding:12px!important}.schedule-matchup{min-height:75px;margin:10px 0;padding:12px}.team-info{min-height:65px}.vs-section{min-height:65px;margin:0 8px}.vs-text{font-size:1.2rem}.schedule-team-logo{width:35px;height:35px;margin-bottom:4px}.team-name-schedule{min-height:1.8em;margin-bottom:3px;font-size:.65rem;line-height:1.1}.team-score{font-size:1.1rem}.schedule-details{margin:8px 0;padding:8px}.detail-item{margin-bottom:4px;font-size:.75rem}.detail-item i{width:16px;font-size:.8rem}.wessex-link{padding:8px 16px;font-size:.75rem}.game-status-indicator,.location-indicator,.game-type-indicator{font-size:.65rem}.custom-pagination{flex-direction:column;gap:15px}.page-numbers{order:-1}.pagination-info{padding:10px 15px;font-size:.8rem}}
