/* sst-cal-colors-20261019: day numbers coloured by event — red = Sale, green = new box release, half/half when both.
   Only for events that have not ended. Works on the existing sst-site-calendar markup (.sst-cal__day + .sst-cal__mark[data-type]). */
.sst-cal{--sst-cal-day-sale:#c62828;--sst-cal-day-sale-bg:#fdecea;--sst-cal-day-release:#15803d;--sst-cal-day-release-bg:#e8f5ec;
  --sst-cal-release:#15803d;--sst-cal-ship_start:#0e7490}
html[data-sst-theme="dark"] .sst-cal{--sst-cal-day-sale:#f87171;--sst-cal-day-sale-bg:#3f1616;--sst-cal-day-release:#4ade80;--sst-cal-day-release-bg:#143d26;
  --sst-cal-release:#4ade80;--sst-cal-ship_start:#22d3ee}
.sst-cal__mark[data-type="release"]{background:var(--sst-cal-release)}
.sst-cal__mark[data-type="ship_start"]{background:var(--sst-cal-ship_start)}

.sst-cal__day:has(.sst-cal__mark[data-type="sale"]:not(.is-ended)) .sst-cal__num{
  background:var(--sst-cal-day-sale-bg);color:var(--sst-cal-day-sale);box-shadow:inset 0 0 0 2px var(--sst-cal-day-sale);font-weight:800}
.sst-cal__day:has(.sst-cal__mark[data-type="release"]:not(.is-ended)) .sst-cal__num{
  background:var(--sst-cal-day-release-bg);color:var(--sst-cal-day-release);box-shadow:inset 0 0 0 2px var(--sst-cal-day-release);font-weight:800}
.sst-cal__day:has(.sst-cal__mark[data-type="sale"]:not(.is-ended)):has(.sst-cal__mark[data-type="release"]:not(.is-ended)) .sst-cal__num{
  background:linear-gradient(90deg,var(--sst-cal-day-sale-bg) 50%,var(--sst-cal-day-release-bg) 50%);color:inherit;
  box-shadow:inset 2px 0 0 0 var(--sst-cal-day-sale),inset -2px 0 0 0 var(--sst-cal-day-release),inset 0 2px 0 0 transparent;
  border:2px solid;border-color:var(--sst-cal-day-sale) var(--sst-cal-day-release) var(--sst-cal-day-release) var(--sst-cal-day-sale)}
/* the selected day keeps its own dark tile; the colour stays as a ring so it is still readable */
.sst-cal__day.is-selected:has(.sst-cal__mark[data-type="sale"]:not(.is-ended)) .sst-cal__num{background:transparent;color:var(--sst-cal-sel-ink)}
.sst-cal__day.is-selected:has(.sst-cal__mark[data-type="release"]:not(.is-ended)) .sst-cal__num{background:transparent;color:var(--sst-cal-sel-ink)}

/* legend under the grid (added by calendar-legend.js) */
.sst-cal-legend{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:8px 0 2px;font-size:12px;color:var(--sst-cal-muted,#6b6b6b)}
.sst-cal-legend span{display:inline-flex;align-items:center;gap:5px}
.sst-cal-legend i{width:12px;height:12px;border-radius:50%;display:inline-block}
.sst-cal-legend .is-sale i{background:var(--sst-cal-day-sale-bg);box-shadow:inset 0 0 0 2px var(--sst-cal-day-sale)}
.sst-cal-legend .is-release i{background:var(--sst-cal-day-release-bg);box-shadow:inset 0 0 0 2px var(--sst-cal-day-release)}
/* round day badge (same size for every coloured day, a bit larger than the "today" ring) */
.sst-cal__day:has(.sst-cal__mark[data-type="sale"]:not(.is-ended)) .sst-cal__num,
.sst-cal__day:has(.sst-cal__mark[data-type="release"]:not(.is-ended)) .sst-cal__num{
  display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;min-width:26px;margin-top:-3px;border-radius:999px;line-height:1;box-sizing:border-box}
.sst-cal__day:has(.sst-cal__mark[data-type="sale"]:not(.is-ended)) .sst-cal__marks,
.sst-cal__day:has(.sst-cal__mark[data-type="release"]:not(.is-ended)) .sst-cal__marks{margin-top:0}
/* dark mode: the selected day keeps the panel's grey background (no white tile), with a thin outline so it still stands out */
html[data-sst-theme="dark"] .sst-cal{--sst-cal-sel-bg:transparent;--sst-cal-sel-ink:#fff}
html[data-sst-theme="dark"] .sst-cal__day.is-selected{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px #6a6a70}
