/* Knox Esports — month calendar (demo stand-in for Events Calendar Pro's month view). Brand: orange #F59535 · black · white · #F0F0F0. Radius 0 everywhere. Orange is a fill or marker only; text on light backgrounds stays black. */
.knox-month{--km-orange:#F59535;--km-line:#d4d4d4;--km-muted:#595959;color:#000}
.knox-month,.knox-month *{box-sizing:border-box}  /* corners: see LIGHT SITE at the end */
.knox-month__frame{transition:opacity .15s}
.knox-month[aria-busy="true"] .knox-month__frame{opacity:.5}

.knox-month__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}
.knox-month .knox-month__title{flex:1;margin:0;font-size:clamp(17px,2.4vw,24px);line-height:1.3;letter-spacing:.1em;text-align:center;color:#000}
.knox-month .knox-month__nav,.knox-month .knox-month__nav:visited{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:2px solid #000;background:#fff;color:#000;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.knox-month .knox-month__nav:hover{background:#000;color:#fff}
.knox-month .knox-month__nav:focus-visible{outline:2px solid #000;outline-offset:3px}
.knox-month__nav span[aria-hidden]{font-size:20px;line-height:1}

.knox-month table.knox-month__grid{width:100%;margin:0;table-layout:fixed;border-collapse:collapse;background:#fff}
.knox-month .knox-month__grid th{padding:10px 8px;border:1px solid #000;background:#000;color:#fff;font-size:11px;font-weight:700;letter-spacing:.14em;text-align:left;text-transform:uppercase}
.knox-month .knox-month__grid th abbr{border:0;text-decoration:none;cursor:default}
.knox-month .knox-month__grid td{height:124px;padding:6px;border:1px solid var(--km-line);background:#fff;vertical-align:top}
.knox-month .knox-month__cell.is-outside{background:#f7f7f7}
.knox-month__num{display:inline-block;min-width:26px;padding:1px 5px;font-size:13px;font-weight:700;line-height:1.5;text-align:center}
.knox-month__cell.is-outside .knox-month__num,.knox-month__cell.is-past .knox-month__num{color:#707070}
.knox-month__cell.is-today .knox-month__num{background:var(--km-orange);color:#000}
.knox-month ul.knox-month__events{list-style:none;margin:4px 0 0!important;padding:0!important}
.knox-month ul.knox-month__events>li{margin:0 0 4px!important;padding:0!important}
.knox-month .knox-month__event,.knox-month .knox-month__event:visited{display:block;padding:3px 6px 4px;border-left:3px solid var(--km-orange);background:#f2f2f2;color:#000;font-size:12px;line-height:1.35;text-decoration:none}
.knox-month .knox-month__event:hover,.knox-month .knox-month__event:focus-visible{background:#000;color:#fff}
.knox-month .knox-month__event:focus-visible{outline:2px solid #000;outline-offset:1px}
/* The two-line clamp sits on an inner span so the chip's padding can't reveal a sliver of a third line. */
.knox-month__clamp{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.knox-month__time{font-weight:700}
.knox-month .knox-month__event.is-soldout{border-left-color:#8c8c8c;color:#4a4a4a}
.knox-month__flag{padding:0 3px;background:#000;color:#fff;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.knox-month .knox-month__event:hover .knox-month__flag,.knox-month .knox-month__event:focus-visible .knox-month__flag{background:#fff;color:#000}
.knox-month .knox-month__more,.knox-month .knox-month__more:visited{font-size:12px;font-weight:700;color:#000;text-decoration:underline;text-underline-offset:2px}
.knox-month__empty{margin:14px 0 0;color:var(--km-muted);font-size:15px}
.knox-month__daybtn,.knox-month__agenda{display:none}

/* Phones: compact grid with event dots; tap a day to list its events below. */
@media (max-width:781px){
  .knox-month__head{margin-bottom:12px}
  /* Arrow-only month buttons (their aria-labels still name the month) leave room for the title on narrow phones. */
  .knox-month .knox-month__nav,.knox-month .knox-month__nav:visited{justify-content:center;min-width:44px;padding:0 10px}
  .knox-month__nav-label{display:none}
  .knox-month .knox-month__title{font-size:15px;letter-spacing:.06em}
  .knox-month .knox-month__grid th{padding:8px 0;font-size:10px;letter-spacing:.04em;text-align:center}
  .knox-month .knox-month__grid td{height:auto;padding:0;text-align:center}
  .knox-month .knox-month__num,.knox-month .knox-month__cell>.screen-reader-text,.knox-month .knox-month__events,.knox-month .knox-month__more{display:none!important}
  .knox-month .knox-month__daybtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-height:48px;margin:0;padding:6px 0;border:0;background:transparent;color:#000;font:inherit;font-size:14px;font-weight:700;line-height:1;letter-spacing:0;text-transform:none;box-shadow:none;cursor:pointer}
  .knox-month .knox-month__daybtn:hover{background:#ececec;color:#000}
  .knox-month:not(.is-enhanced) .knox-month__daybtn{pointer-events:none}
  .knox-month .knox-month__cell.is-outside .knox-month__daybtn,.knox-month .knox-month__cell.is-past .knox-month__daybtn{color:#707070}
  .knox-month .knox-month__cell.is-today .knox-month__daynum{padding:2px 5px;background:var(--km-orange);color:#000}
  .knox-month__dot{display:block;width:6px;height:6px;background:var(--km-orange)}
  .knox-month .knox-month__daybtn[aria-pressed="true"],.knox-month .knox-month__daybtn[aria-pressed="true"]:hover{background:#000;color:#fff}
  .knox-month .knox-month__daybtn[aria-pressed="true"] .knox-month__dot{background:#fff}
  .knox-month .knox-month__daybtn:focus-visible{outline:2px solid #000;outline-offset:-3px}
  .knox-month .knox-month__daybtn[aria-pressed="true"]:focus-visible{outline-color:var(--km-orange)}
  .knox-month__agenda{display:block;margin-top:16px}
  .knox-month.is-enhanced .knox-month__day{display:none}
  .knox-month.is-enhanced .knox-month__day.is-selected{display:block}
  .knox-month__day{margin:0 0 16px}
  .knox-month .knox-month__day-title{margin:0 0 8px;font-size:14px;letter-spacing:.1em;color:#000}
  .knox-month ul.knox-month__list{list-style:none;margin:0!important;padding:0!important}
  .knox-month ul.knox-month__list>li{margin:0 0 8px!important;padding:0!important}
  .knox-month .knox-month__item,.knox-month .knox-month__item:visited{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;padding:12px 14px;border-left:4px solid var(--km-orange);background:#fff;color:#000;text-decoration:none}
  .knox-month .knox-month__item:focus-visible{outline:2px solid #000;outline-offset:2px}
  .knox-month__item-time{grid-row:span 2;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
  .knox-month__item-name{font-size:15px;font-weight:600;line-height:1.35}
  .knox-month__item-meta{font-size:13px;color:var(--km-muted)}
  .knox-month .knox-month__item.is-soldout{border-left-color:#8c8c8c}
  .knox-month__dayempty{margin:0;padding:14px;background:#fff;color:var(--km-muted);font-size:14px}
}

/* ---- Dark variant: [knox_month_calendar theme="dark"] on the black board sections (Sep 20, 2026). ---- */
.knox-month--dark{--km-line:#2a2a2a;--km-muted:#b8b8b8;color:#fff}
.knox-month--dark .knox-month__title{color:#fff}
.knox-month--dark .knox-month__nav,.knox-month--dark .knox-month__nav:visited{border-color:#3a3a3a;background:transparent;color:#fff}
.knox-month--dark .knox-month__nav:hover{border-color:var(--km-orange);background:transparent;color:var(--km-orange)}
.knox-month--dark .knox-month__nav:focus-visible{outline-color:var(--km-orange)}
.knox-month--dark table.knox-month__grid{background:#111}
.knox-month--dark .knox-month__grid th{border-color:#2a2a2a;background:#0a0a0a;color:#b8b8b8}
.knox-month--dark .knox-month__grid td{background:#111}
.knox-month--dark .knox-month__cell.is-outside{background:#0c0c0c}
.knox-month--dark .knox-month__cell.is-past .knox-month__num,.knox-month--dark .knox-month__cell.is-outside .knox-month__num{color:#6d6d6d}
.knox-month--dark .knox-month__event,.knox-month--dark .knox-month__event:visited{background:#1b1b1b;color:#fff}
.knox-month--dark .knox-month__event:hover,.knox-month--dark .knox-month__event:focus-visible{background:var(--km-orange);color:#000}
.knox-month--dark .knox-month__event:focus-visible{outline-color:var(--km-orange)}
.knox-month--dark .knox-month__event.is-soldout{border-left-color:#7a4a17;color:#c2c2c2}
.knox-month--dark .knox-month__flag{background:#7a4a17;color:#fff}
.knox-month--dark .knox-month__event:hover .knox-month__flag,.knox-month--dark .knox-month__event:focus-visible .knox-month__flag{background:#000;color:#fff}
.knox-month--dark .knox-month__more,.knox-month--dark .knox-month__more:visited{color:var(--km-orange)}
@media (max-width:781px){
  .knox-month--dark .knox-month__daybtn{color:#fff}
  .knox-month--dark .knox-month__daybtn:hover{background:#1f1f1f;color:#fff}
  .knox-month--dark .knox-month__cell.is-outside .knox-month__daybtn,.knox-month--dark .knox-month__cell.is-past .knox-month__daybtn{color:#6d6d6d}
  .knox-month--dark .knox-month__daybtn[aria-pressed="true"],.knox-month--dark .knox-month__daybtn[aria-pressed="true"]:hover{background:var(--km-orange);color:#000}
  .knox-month--dark .knox-month__daybtn[aria-pressed="true"] .knox-month__dot{background:#000}
  .knox-month--dark .knox-month__daybtn:focus-visible{outline-color:var(--km-orange)}
  .knox-month--dark .knox-month__day-title{color:#fff}
  .knox-month--dark .knox-month__item,.knox-month--dark .knox-month__item:visited{background:#1b1b1b;color:#fff}
  .knox-month--dark .knox-month__item:focus-visible{outline-color:var(--km-orange)}
  .knox-month--dark .knox-month__item.is-soldout{border-left-color:#7a4a17}
  .knox-month--dark .knox-month__dayempty{background:#1b1b1b;color:var(--km-muted)}
}

/* ---- Category colour coding (Sep 20, 2026): gaming = white/black, education = #0066FF, entertainment = orange ---- */
.knox-month{--kc-gaming:#000;--kc-education:#0066FF;--kc-entertainment:#F59535;--kc-none:#9a9a9a}
.knox-month--dark{--kc-gaming:#fff;--kc-none:#5f5f5f}
/* An event with no program keeps a neutral marker — orange would read as Entertainment. */
.knox-month .knox-month__event,.knox-month .knox-month__item{border-left-color:var(--kc-none)}
.knox-month .knox-month__event--gaming{border-left-color:var(--kc-gaming)}
.knox-month .knox-month__event--education{border-left-color:var(--kc-education)}
.knox-month .knox-month__event--entertainment{border-left-color:var(--kc-entertainment)}
.knox-month .knox-month__item--gaming{border-left-color:var(--kc-gaming)}
.knox-month .knox-month__item--education{border-left-color:var(--kc-education)}
.knox-month .knox-month__item--entertainment{border-left-color:var(--kc-entertainment)}
/* A sold-out chip keeps its muted marker, so the category colour doesn't imply availability. */
.knox-month .knox-month__event.is-soldout,.knox-month .knox-month__item.is-soldout{border-left-color:#8c8c8c}
.knox-month--dark .knox-month__event.is-soldout,.knox-month--dark .knox-month__item.is-soldout{border-left-color:#7a4a17}

.knox-month ul.knox-month__legend{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;margin:16px 0 0!important;padding:0!important;font-size:12px;letter-spacing:.06em;color:var(--km-muted)}
.knox-month ul.knox-month__legend>li{display:flex;align-items:center;gap:8px;margin:0!important}
.knox-month__key::before{content:"";width:14px;height:4px;flex:0 0 auto}
.knox-month__key--gaming::before{background:var(--kc-gaming)}
.knox-month__key--education::before{background:var(--kc-education)}
.knox-month__key--entertainment::before{background:var(--kc-entertainment)}

/* ================================================================
   Flyer thumbnails in the day cells (Sep 30, 2026) and the slate
   theme: the dark variant now sits on medium slate, not black.
   ================================================================ */
.knox-month ul.knox-month__events>li{margin:0 0 6px!important}
.knox-month ul.knox-month__events>li.is-extra{display:none}
.knox-month .knox-month__cell.is-expanded ul.knox-month__events>li.is-extra{display:block}
.knox-month .knox-month__grid td{height:132px}
.knox-month .knox-month__more,.knox-month .knox-month__more:visited{display:inline-block;margin-top:2px;font-size:12px}

/* Category toggles above the grid */
.knox-month__filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.knox-month__filter{appearance:none;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid #9aa4b2;background:transparent;color:inherit;font:inherit;font-size:13px;font-weight:700;letter-spacing:.06em;cursor:pointer;box-shadow:none}
.knox-month__filter::before{content:"";width:12px;height:12px;flex:0 0 auto;background:#fff;outline:1px solid rgba(255,255,255,.4)}
.knox-month__filter:not([data-cat]),.knox-month__filter[data-cat=""]{padding-left:14px}
.knox-month__filter[data-cat=""]::before{display:none}
.knox-month__filter--gaming::before{background:#000}
.knox-month__filter--education::before{background:#0066FF}
.knox-month__filter--entertainment::before{background:#F59535}
.knox-month__filter:hover{border-color:#F59535;background:transparent;color:inherit}
.knox-month__filter[aria-pressed="true"]{background:#fff;border-color:#fff;color:#000}
.knox-month__filter:focus-visible{outline:2px solid #F59535;outline-offset:2px}
.knox-month[data-show="gaming"] li[data-cat]:not([data-cat="gaming"]),
.knox-month[data-show="education"] li[data-cat]:not([data-cat="education"]),
.knox-month[data-show="entertainment"] li[data-cat]:not([data-cat="entertainment"]){display:none!important}
.knox-month[data-show="gaming"] li.is-extra[data-cat="gaming"],
.knox-month[data-show="education"] li.is-extra[data-cat="education"],
.knox-month[data-show="entertainment"] li.is-extra[data-cat="entertainment"]{display:block}
.knox-month[data-show="gaming"] .knox-month__more,.knox-month[data-show="education"] .knox-month__more,.knox-month[data-show="entertainment"] .knox-month__more{display:none!important}

/* Slate variant (was black): white type, 6.9:1 in a cell */
.knox-month--dark{--km-line:rgba(255,255,255,.13);--km-muted:#EEF1F5;--kc-gaming:#000;--kc-none:#9aa4b2}
.knox-month--dark .knox-month__nav,.knox-month--dark .knox-month__nav:visited{border-color:rgba(255,255,255,.4);color:#fff}
.knox-month--dark .knox-month__nav:hover{border-color:var(--km-orange);color:#fff}
.knox-month--dark table.knox-month__grid{background:#657489}
.knox-month--dark .knox-month__grid th{border-color:rgba(255,255,255,.13);background:#495668;color:#EEF1F5}
.knox-month--dark .knox-month__grid td{background:#657489}
.knox-month--dark .knox-month__cell.is-outside{background:#5B6A7F}
.knox-month--dark .knox-month__cell.is-past .knox-month__num,.knox-month--dark .knox-month__cell.is-outside .knox-month__num{color:#DCE2EA}
.knox-month--dark .knox-month__cell.is-past .kft{opacity:.78}
.knox-month--dark .knox-month__more,.knox-month--dark .knox-month__more:visited{color:#fff}
.knox-month--dark .knox-month__filter{border-color:rgba(255,255,255,.4);color:#fff}
.knox-month--dark .knox-month__filter[aria-pressed="true"]{background:#fff;color:#000}
.knox-month--dark ul.knox-month__legend{color:#EEF1F5}
.knox-month--dark .knox-month__key::before{outline:1px solid rgba(255,255,255,.4);height:8px}
@media (max-width:781px){
  .knox-month .knox-month__grid td{height:auto}
  .knox-month--dark .knox-month__daybtn:hover{background:#717F94}
  .knox-month--dark .knox-month__cell.is-outside .knox-month__daybtn,.knox-month--dark .knox-month__cell.is-past .knox-month__daybtn{color:#DCE2EA}
  .knox-month--dark .knox-month__item,.knox-month--dark .knox-month__item:visited{background:#5C6B80;color:#fff}
  .knox-month--dark .knox-month__item-meta{color:#E1E6EC}
  .knox-month--dark .knox-month__dayempty{background:#5C6B80;color:#E1E6EC}
  .knox-month__filters{gap:6px}
  .knox-month__filter{min-height:38px;padding:0 10px;font-size:12px}
}

/* ---- Light variant on the tinted sections (Oct 1, 2026): slate instead of black, flyer cards outlined ---- */
.knox-month:not(.knox-month--dark) .knox-month__grid th{background:#495668;border-color:#495668;color:#fff}
.knox-month:not(.knox-month--dark) .knox-month__nav,.knox-month:not(.knox-month--dark) .knox-month__nav:visited{border-color:#495668;color:#151515}
.knox-month:not(.knox-month--dark) .knox-month__nav:hover{background:#495668;border-color:#495668;color:#fff}
.knox-month:not(.knox-month--dark) .knox-month__title{color:#151515}
.knox-month:not(.knox-month--dark) .knox-month__filter{border-color:#9AA4B2;color:#151515;background:#fff}
.knox-month:not(.knox-month--dark) .knox-month__filter::before{outline-color:rgba(0,0,0,.25)}
.knox-month:not(.knox-month--dark) .knox-month__filter[aria-pressed="true"]{background:#495668;border-color:#495668;color:#fff}
.knox-month:not(.knox-month--dark) .kft{box-shadow:0 0 0 1px #D7DCE3}
.knox-month:not(.knox-month--dark) .kft:hover,.knox-month:not(.knox-month--dark) .kft:focus-visible{box-shadow:0 0 0 2px #F59535}
.knox-month:not(.knox-month--dark) .knox-month__cell.is-past .kft{opacity:.72}

/* ================================================================
   LIGHT SITE (Oct 2, 2026, Chris): the month calendar in the light
   look — a white, rounded grid on the soft-grey band, pill filters
   and month buttons, Sora titles. Event chips keep their category
   colours (Gaming black, Education blue, Entertainment orange).
   ================================================================ */
.knox-month{--km-line:#E3E3E8;--km-muted:#6E6E73;color:#1D1D1F}
.knox-month .knox-month__title,.knox-month:not(.knox-month--dark) .knox-month__title{font-family:var(--knox-font-text,system-ui,sans-serif);font-size:clamp(22px,2.6vw,32px);font-weight:700;letter-spacing:-.02em;text-transform:none;color:#1D1D1F}
.knox-month:not(.knox-month--dark) .knox-month__nav,.knox-month:not(.knox-month--dark) .knox-month__nav:visited{min-height:40px;border:0;border-radius:980px;background:#fff;color:#1D1D1F;font-weight:600;letter-spacing:0;text-transform:none;box-shadow:inset 0 0 0 1px #D2D2D7}
.knox-month:not(.knox-month--dark) .knox-month__nav:hover{background:#1D1D1F;color:#fff;box-shadow:none}
.knox-month table.knox-month__grid{border-collapse:separate;border-spacing:0;border:1px solid #E3E3E8;border-radius:22px;overflow:hidden;background:#fff}
.knox-month:not(.knox-month--dark) .knox-month__grid th{background:#fff;border:0;border-bottom:1px solid #E3E3E8;color:#6E6E73;font-weight:600;letter-spacing:.04em}
.knox-month .knox-month__grid td{border:0;border-right:1px solid var(--km-line);border-bottom:1px solid var(--km-line)}
.knox-month .knox-month__grid td:last-child{border-right:0}
.knox-month .knox-month__grid tr:last-child td{border-bottom:0}
.knox-month .knox-month__cell.is-outside{background:#FAFAFB}
.knox-month__cell.is-today .knox-month__num{border-radius:980px}
.knox-month .kft{border-radius:8px}
.knox-month:not(.knox-month--dark) .knox-month__filter{border:0;border-radius:980px;background:#fff;color:#1D1D1F;font-weight:600;letter-spacing:0;box-shadow:inset 0 0 0 1px #D2D2D7}
.knox-month:not(.knox-month--dark) .knox-month__filter:hover{box-shadow:inset 0 0 0 1.5px #1D1D1F;background:#fff;color:#1D1D1F}
.knox-month:not(.knox-month--dark) .knox-month__filter[aria-pressed="true"]{background:#1D1D1F;color:#fff;box-shadow:none}
.knox-month__filter::before{border-radius:4px;outline:0}
.knox-month ul.knox-month__legend{letter-spacing:0}
.knox-month__key::before{height:8px;width:14px;border-radius:4px}
@media (max-width:781px){
  .knox-month .knox-month__daybtn{border-radius:12px}
  .knox-month .knox-month__cell.is-today .knox-month__daynum{border-radius:980px}
  .knox-month__dot{border-radius:50%}
  .knox-month .knox-month__day-title{font-family:var(--knox-font-text,system-ui,sans-serif);font-weight:700;letter-spacing:-.01em;text-transform:none}
  .knox-month .knox-month__item,.knox-month .knox-month__item:visited{border-radius:14px}
  .knox-month__item-time{letter-spacing:0;text-transform:none}
  .knox-month__dayempty{border-radius:14px}
}


/* TYPE (Oct 6, 2026, Chris): the month title in the display face (Bebas Neue), the rest in the text face. */
.knox-month .knox-month__title,.knox-month:not(.knox-month--dark) .knox-month__title{font-family:var(--knox-font-display,Impact,sans-serif);font-size:clamp(30px,3.2vw,42px);font-weight:400;letter-spacing:.012em;text-transform:uppercase}
@media (max-width:781px){.knox-month .knox-month__day-title{font-family:var(--knox-font-display,Impact,sans-serif);font-size:22px;font-weight:400;letter-spacing:.02em;text-transform:uppercase}}
