/* A compact, shared two-week calendar. All styles stay within this component. */
.cast-calendar{position:relative;isolation:isolate;scroll-margin-top:110px;width:100%;min-width:0;padding:17px 19px 13px;border:1px solid #74613a;border-radius:14px;background:radial-gradient(ellipse at 100% 0,#cfad3520,transparent 70%),#141512;box-shadow:0 10px 32px #0002;text-align:left}
.cast-calendar .calendar-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}
.cast-calendar .calendar-heading>div{min-width:0}
.cast-calendar .calendar-bookings{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;padding:8px 10px;border:1px solid #756335;border-radius:6px;color:#ecd18a;background:#e6bd3610;font:600 12px/1.35 Inter,sans-serif;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s}
.cast-calendar .calendar-bookings:hover{border-color:#e6c35e;background:#e6bd3620}
.cast-calendar .calendar-bookings:focus-visible{outline:2px solid var(--yellow,#ffd000);outline-offset:3px}
.cast-calendar .calendar-title{font:600 24px/1.05 'Barlow Condensed',Impact,sans-serif;letter-spacing:0;color:var(--ink,#f5f4ee);margin:0}
.cast-calendar .calendar-range{display:block;color:#bcb9aa;font:400 12px/1.5 Inter,sans-serif;margin-top:4px}
.cast-calendar [data-calendar-grid]{display:grid;grid-template-rows:auto repeat(2,1fr);gap:7px}
.cast-calendar .calendar-weekdays,.cast-calendar .calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.cast-calendar .calendar-weekdays{color:#a4a497;font:500 11px/1.3 Inter,sans-serif;text-transform:uppercase;letter-spacing:.06em;text-align:center;margin-bottom:0}
.cast-calendar .calendar-week+.calendar-week{margin-top:0}
.cast-calendar .calendar-day{display:flex;min-width:0;min-height:70px;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 2px;border:1px solid #55503a;border-radius:7px;background:#23231a;color:#e6e4d9;text-decoration:none;font:400 10px/1.15 Inter,sans-serif;cursor:default}
.cast-calendar .calendar-day-number{font:600 23px/1 'Barlow Condensed',Impact,sans-serif}
.cast-calendar .calendar-day-status{font:600 12px/1.2 'Barlow Condensed',Impact,sans-serif;letter-spacing:0;max-width:100%;overflow-wrap:normal;text-align:center}
.cast-calendar .calendar-day[data-status=free]{border-color:#897342;color:#ecd18a;background:linear-gradient(145deg,#3b321e,#242219)}
.cast-calendar .calendar-day[data-status=booked]{border-color:#41463e;background:#20231f;color:#b4b9af;cursor:default}
.cast-calendar .calendar-day[data-status=unknown]{border-color:#393b34;background:#1d201b;color:#9ea297;cursor:default}
.cast-calendar .calendar-day[data-status=past]{border-color:#292c27;background:#141713;color:#90978a;cursor:default}
.cast-calendar .calendar-footer{margin-top:11px}
.cast-calendar .calendar-note{font:400 12px/1.55 Inter,sans-serif;color:#b9bbae;max-width:none;margin:0}
.cast-calendar .calendar-status{font:400 10px/1.5 Inter,sans-serif;color:#d9ca9c;margin:6px 0 0;min-height:0}
.cast-calendar .calendar-status:empty{display:none}
.cast-calendar .calendar-loading{font:400 12px/1.6 Inter,sans-serif;color:#aeb0a6;margin:20px 0}
.cast-calendar .calendar-no-script{font:400 12px/1.5 Inter,sans-serif;color:#c5bc9f}
.index-page .welcome-content>.cast-calendar{width:min(800px,100%);margin:6px 0 0}
.entry-reveal .index-page .welcome-content>.cast-calendar{--entry-delay:.62s}
.checkout .cast-calendar{margin:14px 0 17px;padding:15px}
.checkout .cast-calendar .calendar-title{font-size:23px}

@media(max-width:520px){.cast-calendar{padding:14px 8px 11px;border-radius:11px}.cast-calendar .calendar-heading{gap:7px;margin-bottom:12px}.cast-calendar .calendar-title{font-size:22px}.cast-calendar .calendar-bookings{font-size:12px;padding:8px;gap:5px}.cast-calendar [data-calendar-grid]{display:grid;grid-template-rows:auto repeat(2,1fr);gap:7px}
.cast-calendar .calendar-weekdays,.cast-calendar .calendar-week{gap:3px}.cast-calendar [data-calendar-grid]{gap:4px}.cast-calendar .calendar-day{min-height:70px;border-radius:5px;padding:6px 0}.cast-calendar .calendar-day-number{font-size:22px}.cast-calendar .calendar-day-status{font-size:12px}.cast-calendar .calendar-weekdays{font-size:11px;letter-spacing:0}.cast-calendar .calendar-note,.cast-calendar .calendar-status{font-size:12px}.checkout .cast-calendar{padding:13px 9px}.checkout .cast-calendar .calendar-day{min-height:70px}.checkout .cast-calendar .calendar-title{font-size:21px}}

/* Share the lower hero row with the seasonal offer instead of pushing the filmstrip away. */
@media(min-width:901px){
 .index-page .welcome-content:has(>.cast-calendar):has(>.launch-welcome){display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:18px;justify-items:center}
 .index-page .welcome-content:has(>.cast-calendar):has(>.launch-welcome)>*{grid-column:1/-1}
 .index-page .welcome-content:has(>.cast-calendar):has(>.launch-welcome)>.cast-calendar{grid-column:1;width:100%;height:100%;margin:6px 0 0}
 .index-page .welcome-content:has(>.cast-calendar)>.launch-welcome{grid-column:2;width:100%;height:100%;max-width:none;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:14px;padding:24px;margin:6px 0 0}
 .index-page .welcome-content:has(>.cast-calendar)>.launch-welcome .eyebrow{font-size:10px;line-height:1.5;margin:0}
 .index-page .welcome-content:has(>.cast-calendar)>.launch-welcome h2{font-size:clamp(36px,3.4vw,46px);line-height:1.02;margin:0}
 .index-page .welcome-content:has(>.cast-calendar)>.launch-welcome p:not(.eyebrow){font-size:15px;line-height:1.5;margin:0;max-width:none}
 .index-page .welcome-content:has(>.cast-calendar)>.launch-welcome small{font-size:11px;line-height:1.6;margin-top:auto;padding-top:13px;border-top:1px solid #a98b3a44}
 .index-page .welcome-content:has(>.cast-calendar)>.launch-welcome .launch-included{display:flex;align-items:center;gap:8px;border:0;padding:0;font-size:12px}
 .index-page .welcome-content:has(>.cast-calendar)>.launch-welcome .launch-included>span:first-child{font-size:18px}
}

.cast-calendar .calendar-day-league{display:block;max-width:100%;font:600 12px/1.1 'Barlow Condensed',Impact,sans-serif;color:#d8c890;text-align:center;overflow-wrap:anywhere;padding:0}@media(max-width:520px){.cast-calendar .calendar-day-league{font-size:10px}.admin-view .calendar-day-league{font-size:10px}}@media(max-width:360px){.cast-calendar .calendar-day-league{font-size:10px}}
@media(max-width:360px){
 .checkout .cast-calendar{width:calc(100% + 26px);margin-left:-13px;margin-right:-13px}
 .admin-view>.cast-calendar{width:calc(100% + 28px);margin-left:-14px;margin-right:-14px}
}

.cast-calendar .calendar-cast-title{max-width:100%;font:600 11px/1.15 "Barlow Condensed",Impact,sans-serif;text-align:center;overflow-wrap:normal}.cast-calendar .calendar-day-league+.calendar-cast-title{margin-top:5px}
@media(max-width:520px){.cast-calendar .calendar-cast-title{font-size:10px}}

.cast-calendar .calendar-day[data-status=booked] .calendar-day-league,.cast-calendar .calendar-day[data-status=past] .calendar-day-league{color:inherit}

.cast-calendar .calendar-day-offer{color:#ffcf24;letter-spacing:.06em;margin-top:2px}

/* The day schedule opens inside its own calendar; it never extends the card. */
.cast-calendar button.calendar-day{cursor:pointer;width:100%}
.cast-calendar button.calendar-day:hover,.cast-calendar button.calendar-day[aria-expanded=true]{border-color:#e9c848}
.cast-calendar button.calendar-day:focus-visible{outline:2px solid #ffd000;outline-offset:2px}
.cast-calendar a.calendar-day{cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.cast-calendar a.calendar-day:hover{border-color:#ffe179;background:linear-gradient(145deg,#574722,#30291b);box-shadow:inset 0 0 0 1px #ffe17940}
.cast-calendar a.calendar-day:focus-visible{outline:2px solid #ffd000;outline-offset:2px}
.cast-calendar .calendar-multiple{display:inline-flex;align-items:center;gap:4px;margin-top:3px;padding:2px 5px;border:1px solid #c5a54680;border-radius:4px;background:#e3bd211a;font:600 11px/1.4 Inter,sans-serif;color:#ffe179;white-space:nowrap}
.cast-calendar .calendar-multiple::after{content:"";width:4px;height:4px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(-45deg)}
.cast-calendar .calendar-schedule{position:absolute;z-index:3;top:64px;right:12px;bottom:12px;width:min(390px,calc(100% - 24px));display:flex;flex-direction:column;min-height:0;max-height:390px;padding:0;border:1px solid #b69b50;border-radius:11px;background:linear-gradient(135deg,#272419,#141612 65%);box-shadow:0 12px 30px #000b,0 0 0 3px #161710;overflow:hidden;text-align:left}
.cast-calendar .calendar-schedule[hidden]{display:none}
.cast-calendar .calendar-schedule:not([hidden]){animation:calendar-schedule-in .16s ease-out}
.cast-calendar .calendar-schedule-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 14px 11px;border-bottom:1px solid #d7b94935;flex-shrink:0}
.cast-calendar .calendar-schedule h3{font:600 24px/1.05 'Barlow Condensed',Impact,sans-serif;margin:0;color:#f2eee0}
.cast-calendar .calendar-schedule-eyebrow{font:600 10px/1.3 Inter,sans-serif;letter-spacing:.1em;color:#e1c469;margin:0 0 6px}
.cast-calendar .calendar-schedule-close{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;padding:0;border:1px solid #827145;border-radius:7px;background:#1a1b15;color:#f4d471;font:400 27px/1 Arial,sans-serif;cursor:pointer}
.cast-calendar .calendar-schedule-close:hover{background:#3b331e;border-color:#f4d471}
.cast-calendar .calendar-schedule-close:focus-visible,.cast-calendar .calendar-schedule-body:focus-visible{outline:2px solid #ffd000;outline-offset:-3px}
.cast-calendar .calendar-schedule-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px 16px 16px;scrollbar-width:thin;scrollbar-color:#8d773c #191b16}
.cast-calendar .calendar-schedule-zone{font:400 12px/1.5 Inter,sans-serif;color:#bebdaf;margin:0 0 10px}
.cast-calendar .calendar-schedule ol{list-style:none;margin:0;padding:0 0 0 11px;border-left:1px solid #bba24670}
.cast-calendar .calendar-schedule li{position:relative;display:flex;flex-direction:column;gap:5px;padding:0 0 14px 6px;font:400 14px/1.4 Inter,sans-serif;color:#ede9dc;overflow-wrap:anywhere}
.cast-calendar .calendar-schedule li::before{content:"";position:absolute;left:-15px;top:5px;width:6px;height:6px;border-radius:50%;background:#f2ce57;box-shadow:0 0 7px #eac13e55}
.cast-calendar .calendar-schedule li:last-child{padding-bottom:0}
.cast-calendar .calendar-schedule li strong{color:#f2d27c}
.cast-calendar .calendar-schedule small{font:400 12px/1.4 Inter,sans-serif;color:#b5b8ab}
.cast-calendar .calendar-schedule-note{font:400 13px/1.5 Inter,sans-serif;color:#b5b8ab;margin:14px 0 3px}
.cast-calendar .calendar-schedule .text-link{font-size:14px;margin-top:7px}
@keyframes calendar-schedule-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.cast-calendar .calendar-schedule:not([hidden]){animation:none}}
@media(max-width:520px){.cast-calendar .calendar-schedule{top:65px;right:8px;bottom:8px;width:calc(100% - 16px)}.cast-calendar .calendar-multiple{font-size:10px;padding:2px 3px;gap:3px}.cast-calendar .calendar-schedule h3{font-size:23px}}

.cast-calendar .calendar-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin:5px 0}.cast-calendar .calendar-admin-action,.cast-calendar .calendar-admin-add{font:600 12px/1.2 Inter,sans-serif;cursor:pointer;border:1px solid #a48d43;border-radius:5px;padding:8px 11px;background:#1b1c16;color:#f5d363}.cast-calendar .calendar-admin-action:hover{border-color:#ffe187;background:#332f1c}.cast-calendar .calendar-admin-add{margin-top:16px;background:#ffd000;border-color:#ffd000;color:#10120c;padding:10px 22px}.cast-calendar .calendar-admin-action:focus-visible,.cast-calendar .calendar-admin-add:focus-visible{outline:2px solid #fff;outline-offset:2px}
.calendar-day.calendar-fuse-esports{position:relative;isolation:isolate;overflow:hidden}.calendar-day.calendar-fuse-esports:before{content:'';position:absolute;inset:8px;z-index:-1;background:url('/fuse-esports-calendar.png') center/contain no-repeat;transform:scale(1.25);opacity:.2;pointer-events:none}.calendar-day.calendar-fuse-esports .calendar-day-status,.calendar-day.calendar-fuse-esports .calendar-day-league{text-shadow:0 1px 4px #000,0 0 8px #000}.calendar-esports-badge{display:inline-flex!important;align-items:center;gap:.4rem;width:fit-content!important;margin:.2rem 0 .6rem!important;color:#ffd000!important;font-size:.75rem!important;font-weight:800;letter-spacing:.12em}.calendar-esports-badge:before{content:'';display:inline-block;width:22px;height:26px;background:url('/fuse-esports-calendar.png') center/contain no-repeat}.calendar-admin-action[aria-pressed=true]{border-color:#ffd000;color:#ffd000}
