/* Stage 3D: calendar presentation only. Calendar filters, links and status logic stay in match-calendar.js. */
body.calendar-design{--cal-ui-panel:#fff;--cal-ui-soft:#eef6ff;--cal-ui-line:#dce8f4;--cal-ui-text:#102650;--cal-ui-muted:#617590;--cal-ui-shadow:0 6px 24px #173a6310;background:linear-gradient(120deg,#f5f9ff,#e7f5ff 45%,#f5f0ff)!important;color:var(--cal-ui-text)}
html[data-theme=dark] body.calendar-design{--cal-ui-panel:#101d35;--cal-ui-soft:#172a46;--cal-ui-line:#2d4262;--cal-ui-text:#eef6ff;--cal-ui-muted:#adbed4;--cal-ui-shadow:0 6px 24px #0003;background:linear-gradient(125deg,#060d24,#102445 55%,#180f30)!important}
body.calendar-design .calendar-page{--cal-surface:var(--cal-ui-panel);--cal-soft:var(--cal-ui-soft);--cal-blue:#127fb6;--cal-glow:#a22bdb;color:var(--cal-ui-text);min-width:0}
body.calendar-design main{max-width:1240px;margin-inline:auto;padding:20px 24px 36px;min-width:0}
body.calendar-design .calendar-hero{min-height:178px;border:1px solid var(--cal-ui-line);border-radius:18px;padding:20px 26px;background:linear-gradient(120deg,var(--cal-ui-panel),var(--cal-ui-soft));color:var(--cal-ui-text);box-shadow:var(--cal-ui-shadow)}
body.calendar-design .calendar-hero:after{display:none}
body.calendar-design .calendar-breadcrumb{color:var(--cal-ui-muted);font-size:12px}
body.calendar-design .calendar-hero-copy{margin-top:16px;max-width:100%}
body.calendar-design .calendar-kicker{color:#167aa7;font-size:10px;letter-spacing:.12em}
html[data-theme=dark] body.calendar-design .calendar-kicker{color:#76cbf6}
body.calendar-design .calendar-hero h1{font-size:clamp(30px,3.6vw,43px);line-height:1.15;margin:8px 0;color:var(--cal-ui-text)!important;letter-spacing:-.5px}
body.calendar-design .calendar-hero h1 br{display:none}
body.calendar-design .calendar-hero p{font-size:14px;max-width:570px;color:var(--cal-ui-muted)}
body.calendar-design .calendar-hero-slogan{right:24px;bottom:23px;font-size:17px;line-height:1.2;color:#268ac5;text-shadow:none;transform:none}
body.calendar-design .calendar-tabs{gap:0;justify-content:space-between;flex-wrap:nowrap;min-width:0;margin:14px 0 0;padding:3px 7px;border:1px solid var(--cal-ui-line);border-radius:14px;background:var(--cal-ui-panel);box-shadow:var(--cal-ui-shadow)}
body.calendar-design .calendar-page .calendar-tab{position:relative;min-height:48px;flex:1 0 auto;border:0;border-radius:9px;background:transparent;color:var(--cal-ui-muted);font-size:13px;text-decoration:none;box-shadow:none}
body.calendar-design .calendar-page .calendar-tab.active{color:var(--cal-ui-text);font-weight:800;background:var(--cal-ui-soft)}
body.calendar-design .calendar-page .calendar-tab.active:after{content:'';position:absolute;bottom:3px;left:12%;right:12%;height:3px;border-radius:5px;background:linear-gradient(90deg,#e219b6,#9235e1,#32b9f2)}
body.calendar-design .calendar-page .calendar-tab:hover{color:var(--cal-ui-text);background:var(--cal-ui-soft)}
body.calendar-design .calendar-filters{margin:14px 0 0;padding:18px;gap:12px;border:1px solid var(--cal-ui-line);border-radius:16px;background:var(--cal-ui-panel);box-shadow:var(--cal-ui-shadow)}
body.calendar-design .calendar-filters label{color:var(--cal-ui-muted);font-size:12px;gap:7px}
body.calendar-design .calendar-filters select{min-height:46px;padding:9px 11px;border-color:var(--cal-ui-line);border-radius:10px;background:var(--cal-ui-soft);color:var(--cal-ui-text);font-size:13px}
body.calendar-design #calendar-reset{min-height:46px;border:1px solid var(--cal-ui-line);border-radius:10px;background:var(--cal-ui-soft);color:var(--cal-ui-text);font-size:12px;font-weight:700}
body.calendar-design .calendar-feature-grid{grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:14px;margin-top:14px}
body.calendar-design .calendar-board,body.calendar-design .calendar-feature,body.calendar-design .calendar-results{border:1px solid var(--cal-ui-line);border-radius:16px;background:var(--cal-ui-panel);box-shadow:var(--cal-ui-shadow)}
body.calendar-design .calendar-board{padding:20px}
body.calendar-design .calendar-board-heading{margin-bottom:16px;gap:14px}
body.calendar-design .calendar-board .calendar-month-nav h2{font-size:22px;color:var(--cal-ui-text)}
body.calendar-design .calendar-page .calendar-month-nav button{width:42px;height:42px;min-width:42px;min-height:42px;border-color:var(--cal-ui-line);border-radius:9px;background:var(--cal-ui-soft);color:var(--cal-ui-text)}
body.calendar-design .calendar-board-counts{gap:7px 14px;color:var(--cal-ui-muted);font-size:11px}
body.calendar-design .calendar-weekday{text-align:center;color:var(--cal-ui-muted)}
body.calendar-design .calendar-page .calendar-grid{gap:5px}
body.calendar-design .calendar-page .calendar-day{min-width:0;min-height:48px;border:1px solid var(--cal-ui-line);border-radius:9px;background:var(--cal-ui-soft);color:var(--cal-ui-text)}
body.calendar-design .calendar-page .calendar-day.has-matches{border-color:#9bd7f4}
body.calendar-design .calendar-page .calendar-day.is-today{box-shadow:inset 0 0 0 2px #239ad2}
body.calendar-design .calendar-page .calendar-day[aria-pressed=true]{background:linear-gradient(115deg,#e20aaa,#852bdc 60%,#338de4);color:#fff;border-color:transparent;box-shadow:0 3px 12px #932fd633}
body.calendar-design .calendar-page .calendar-day[aria-pressed=true] .cal-dots i{background:#fff}
body.calendar-design .calendar-feature{padding:23px;overflow:hidden;background:linear-gradient(0deg,#07152ef0,#0a1e4c4d 62%),url('/launch-assets/home-footer-live.jpg') center/cover no-repeat;color:#fff}
body.calendar-design .calendar-results{margin-top:14px;overflow:hidden}
body.calendar-design .calendar-results-heading{padding:20px;gap:14px}
body.calendar-design .calendar-results-heading h2{font-size:22px;color:var(--cal-ui-text)}
body.calendar-design .calendar-results-heading p{color:var(--cal-ui-muted);line-height:1.5}
body.calendar-design .calendar-results-heading>div:last-child{color:var(--cal-ui-muted)}
body.calendar-design #calendar-all-month{min-height:40px;padding:8px 11px;border:1px solid var(--cal-ui-line);border-radius:9px;background:var(--cal-ui-soft);color:var(--cal-ui-text)}
body.calendar-design .cal-fixture-head{background:var(--cal-ui-soft);color:var(--cal-ui-muted)}
body.calendar-design .cal-fixture{min-height:82px;border-color:var(--cal-ui-line);color:var(--cal-ui-text);text-decoration:none}
body.calendar-design .cal-fixture:nth-child(even){background:var(--cal-ui-soft)}
body.calendar-design .cal-fixture:hover{background:color-mix(in srgb,#85cdf1 15%,var(--cal-ui-panel))}
body.calendar-design .cal-fixture-when{font-variant-numeric:tabular-nums;line-height:1.5}
body.calendar-design .cal-fixture-status{padding:6px 9px;border-radius:20px;background:var(--cal-ui-soft);color:var(--cal-ui-muted)}
body.calendar-design .cal-fixture-status.status-live{background:#c80065;color:#fff}
body.calendar-design .cal-fixture-status.status-finished{background:#d8f4e8;color:#166a50}
html[data-theme=dark] body.calendar-design .cal-fixture-status.status-finished{background:#184d43;color:#b7f4e2}
body.calendar-design .cal-fixture-tournament,body.calendar-design .cal-fixture-venue{color:var(--cal-ui-muted)}
body.calendar-design .cal-fixture-team{gap:9px}
body.calendar-design .cal-fixture-team img{width:39px;height:44px;object-fit:contain;filter:drop-shadow(0 2px 3px #0002)}
body.calendar-design .cal-fixture-team b{font-size:13px;line-height:1.35}
body.calendar-design .cal-fixture-score{font-size:21px;color:var(--cal-ui-text);font-variant-numeric:tabular-nums}
body.calendar-design .cal-fixture-more{border-color:var(--cal-ui-line);border-radius:8px;background:var(--cal-ui-soft);color:var(--cal-ui-text);font-size:11px}
body.calendar-design .calendar-empty{padding:25px;color:var(--cal-ui-muted)}
body.calendar-design .cal-undated{border-color:var(--cal-ui-line)}
body.calendar-design .cal-undated summary{min-height:44px;padding:9px 0;outline-offset:2px}
body.calendar-design .calendar-page :is(a,button,select,summary):focus-visible{outline:3px solid #a747db;outline-offset:3px}
@media(max-width:1050px){body.calendar-design .calendar-feature-grid{grid-template-columns:minmax(0,1fr) 230px}}
@media(max-width:800px){body.calendar-design .calendar-feature-grid{grid-template-columns:minmax(0,1fr)}body.calendar-design .calendar-feature{display:none}body.calendar-design .calendar-filters{grid-template-columns:repeat(2,minmax(0,1fr))}body.calendar-design .calendar-filters #calendar-reset{grid-column:1/-1;grid-row:auto}body.calendar-design .calendar-tabs{overflow-x:auto;justify-content:flex-start;scrollbar-width:thin}body.calendar-design .calendar-page .calendar-tab{flex:0 0 auto}body.calendar-design .cal-fixture{grid-template-columns:75px 1fr 65px 1fr 85px;grid-template-areas:'when status status tournament tournament' 'home home score away away' 'venue venue venue more more';gap:6px 9px}}
@media(max-width:740px){
 body.calendar-design main{padding:10px 10px 86px}
 body.calendar-design .calendar-hero{margin:0;min-height:0;padding:16px;border-radius:15px}
 body.calendar-design .calendar-hero-copy{margin-top:12px}
 body.calendar-design .calendar-hero h1{font-size:28px}
 body.calendar-design .calendar-hero p{font-size:12px}
 body.calendar-design .calendar-tabs{margin:10px 0 0;padding:3px 5px;border-radius:13px}
 body.calendar-design .calendar-page .calendar-tab{min-height:44px;padding:9px 12px;font-size:12px}
 body.calendar-design .calendar-filters{margin:10px 0 0;gap:10px;padding:13px;border-radius:15px}
 body.calendar-design .calendar-filters label{font-size:11px}
 body.calendar-design .calendar-filters select{font-size:12px;min-height:44px}
 body.calendar-design .calendar-board{padding:13px}
 body.calendar-design .calendar-board-heading{margin-bottom:10px}
 body.calendar-design .calendar-board .calendar-month-nav h2{font-size:18px}
 body.calendar-design .calendar-page .calendar-grid{gap:3px}
 body.calendar-design .calendar-page .calendar-day{min-height:42px;font-size:12px}
 body.calendar-design .calendar-board-counts{gap:5px 9px;font-size:10px}
 body.calendar-design .calendar-results{margin-top:12px;overflow:hidden}
 body.calendar-design .calendar-results-heading{padding:14px;flex-wrap:wrap}
 body.calendar-design .calendar-results-heading h2{font-size:19px}
 body.calendar-design .calendar-results-heading>div:last-child{flex-direction:row;align-items:center;gap:8px}
 body.calendar-design .cal-fixtures{padding:0 8px 8px}
 body.calendar-design .cal-fixture{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);grid-template-areas:'when when status' 'tournament tournament tournament' 'home score away' 'venue venue venue';gap:8px;padding:12px;margin-bottom:8px;border:1px solid var(--cal-ui-line);border-radius:11px;background:var(--cal-ui-panel)}
 body.calendar-design .cal-fixture:nth-child(even){background:var(--cal-ui-panel)}
 body.calendar-design .cal-fixture-when{font-size:11px}
 body.calendar-design .cal-fixture-tournament{font-size:10px}
 body.calendar-design .cal-fixture-team{display:flex;flex-direction:column;justify-content:center;gap:4px;text-align:center;min-height:76px}
 body.calendar-design .cal-fixture-team img{width:38px;height:42px}
 body.calendar-design .cal-fixture-team b{font-size:12px;overflow-wrap:anywhere}
 body.calendar-design .cal-fixture-score{font-size:19px}
 body.calendar-design .cal-fixture-venue{padding-top:7px;border-top:1px solid var(--cal-ui-line);font-size:10px}
}
@media(max-width:350px){body.calendar-design .calendar-filters{grid-template-columns:1fr}body.calendar-design .calendar-page .calendar-day{min-height:37px}body.calendar-design .cal-fixture-team img{width:33px;height:38px}body.calendar-design .cal-fixture-team b{font-size:11px}}
