/* ADWIN event calendar */
.ux-event-calendar {
  --cal-bg: #070812;
  --cal-panel: rgba(15, 18, 31, .88);
  --cal-panel-strong: #111522;
  --cal-border: rgba(255, 102, 102, .13);
  --cal-border-soft: rgba(255,255,255,.07);
  --cal-text: #f8f9fc;
  --cal-muted: #8d96aa;
  --cal-accent: #ff6666;
  --cal-accent-2: #ff4d4d;
  padding: 42px 16px 72px;
  color: var(--cal-text);
}

.ux-event-calendar__shell {
  width: min(1220px, 100%);
  margin: 0 auto;
}

.ux-event-calendar__hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 26px;
}

.ux-event-calendar__eyebrow {
  margin-bottom: 8px;
  color: var(--cal-accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.ux-event-calendar h1 {
  margin: 0;
  font-size: clamp(34px, 5vw, 58px);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1;
}

.ux-event-calendar__hero p {
  max-width: 680px;
  margin: 13px 0 0;
  color: var(--cal-muted);
  font-size: 14px;
  line-height: 1.65;
}

.ux-event-calendar__source {
  min-width: 265px;
  padding: 14px;
  border: 1px solid var(--cal-border-soft);
  border-radius: 14px;
  background: rgba(255,255,255,.025);
}

.ux-event-calendar__source-row,
.ux-event-calendar__source-actions,
.ux-event-calendar__nowbar,
.ux-calendar-section__heading,
.ux-calendar-section__heading > div,
.ux-calendar-card__top,
.ux-calendar-card__time,
.ux-calendar-card__bottom {
  display: flex;
  align-items: center;
}

.ux-event-calendar__source-row {
  gap: 8px;
  color: #c6ccda;
  font-size: 11px;
  font-weight: 650;
}

.ux-event-calendar__source-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #8a91a1;
  box-shadow: 0 0 0 4px rgba(138,145,161,.08);
}

.ux-event-calendar__source-dot.is-live {
  background: #6ee7a4;
  box-shadow: 0 0 0 4px rgba(110,231,164,.09), 0 0 18px rgba(110,231,164,.25);
}

.ux-event-calendar__source-dot.is-fallback { background: #f3bd56; }

.ux-event-calendar__source-actions {
  gap: 7px;
  margin-top: 11px;
}

.ux-calendar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  height: 31px;
  padding: 0 10px;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.ux-calendar-btn--ghost {
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
  color: #d4d8e2;
}

.ux-calendar-btn--ghost:hover {
  border-color: rgba(255,102,102,.27);
  color: #fff;
  background: rgba(255,102,102,.07);
}

.ux-event-calendar__toolbar {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 16px;
  padding: 17px;
  border: 1px solid var(--cal-border-soft);
  border-radius: 16px;
  background: rgba(11, 14, 25, .82);
}

.ux-event-calendar__toolbar-label {
  display: block;
  margin-bottom: 9px;
  color: #717b91;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.ux-calendar-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.ux-calendar-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 31px;
  padding: 0 11px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 9px;
  background: rgba(255,255,255,.025);
  color: #9ea7ba;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
  transition: .18s ease;
}

.ux-calendar-chip span { color: #677085; }
.ux-calendar-chip:hover { color: #fff; border-color: rgba(255,102,102,.22); }
.ux-calendar-chip.is-active {
  color: #fff;
  border-color: rgba(255,102,102,.42);
  background: rgba(255,102,102,.12);
  box-shadow: inset 0 0 0 1px rgba(255,102,102,.04);
}
.ux-calendar-chip.is-active span { color: #ff9292; }

.ux-event-calendar__nowbar {
  gap: 10px;
  margin: 16px 2px 6px;
  color: #7b8498;
  font-size: 10px;
}
.ux-event-calendar__nowbar strong { color: #e6e9f0; font-size: 11px; }
.ux-event-calendar__count { margin-left: auto; }

.ux-calendar-sections { display: grid; gap: 28px; margin-top: 24px; }
.ux-calendar-section[hidden] { display: none !important; }

.ux-calendar-section__heading {
  justify-content: space-between;
  margin-bottom: 12px;
}
.ux-calendar-section__heading > div { gap: 9px; }
.ux-calendar-section__heading h2 { margin: 0; font-size: 18px; font-weight: 750; }
.ux-calendar-section__number {
  min-width: 27px;
  height: 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 8px;
  color: #8b94a7;
  font-size: 10px;
  font-weight: 700;
}

.ux-calendar-section__dot { width: 8px; height: 8px; border-radius: 50%; }
.ux-calendar-section__dot--live { background: #67df9a; box-shadow: 0 0 14px rgba(103,223,154,.45); }
.ux-calendar-section__dot--soon { background: #ff6666; box-shadow: 0 0 14px rgba(255,102,102,.32); }
.ux-calendar-section__dot--ended { background: #656d80; }

.ux-calendar-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.ux-calendar-card {
  position: relative;
  overflow: hidden;
  min-height: 198px;
  padding: 17px;
  border: 1px solid var(--cal-border-soft);
  border-radius: 14px;
  background: linear-gradient(150deg, rgba(19,22,36,.95), rgba(10,12,22,.96));
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
  animation: uxCalendarIn .28s cubic-bezier(.16,1,.3,1) both;
}

.ux-calendar-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: var(--calendar-game-color);
  opacity: .8;
}

.ux-calendar-card::after {
  content: '';
  position: absolute;
  right: -55px;
  top: -65px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--calendar-game-color) 16%, transparent), transparent 68%);
  pointer-events: none;
}

.ux-calendar-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--calendar-game-color) 30%, rgba(255,255,255,.08));
}

.ux-calendar-card__top { justify-content: space-between; gap: 10px; }
.ux-calendar-card__game,
.ux-calendar-card__type {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .035em;
}
.ux-calendar-card__game { color: #c3cada; }
.ux-calendar-card__game-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--calendar-game-color); box-shadow: 0 0 10px color-mix(in srgb, var(--calendar-game-color) 45%, transparent); }
.ux-calendar-card__type { color: #767f94; }

.ux-calendar-card h3 {
  position: relative;
  z-index: 1;
  margin: 17px 0 8px;
  color: #fff;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 750;
}
.ux-calendar-card p {
  position: relative;
  z-index: 1;
  margin: 0 0 13px;
  color: #828ca0;
  font-size: 11px;
  line-height: 1.5;
}
.ux-calendar-card__time { gap: 7px; color: #8b94a8; font-size: 10px; }
.ux-calendar-card__time i { color: var(--calendar-game-color); }
.ux-calendar-card__bottom {
  justify-content: space-between;
  margin-top: 19px;
  padding-top: 13px;
  border-top: 1px solid rgba(255,255,255,.055);
}
.ux-calendar-card__bottom strong { color: #cbd1dc; font-size: 10px; }
.ux-calendar-card__state {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #7f899d;
  font-size: 9px;
  font-weight: 750;
  text-transform: uppercase;
}
.ux-calendar-card.is-active .ux-calendar-card__state { color: #6fe3a2; }
.ux-calendar-live-pulse {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 4px rgba(111,227,162,.08);
  animation: uxCalendarPulse 1.7s ease-in-out infinite;
}

.ux-calendar-state,
.ux-calendar-empty {
  min-height: 250px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #788196;
  text-align: center;
}
.ux-calendar-state strong,
.ux-calendar-empty strong { color: #d9dde7; font-size: 13px; }
.ux-calendar-state span,
.ux-calendar-empty span { font-size: 10px; }
.ux-calendar-empty i { margin-bottom: 5px; font-size: 28px; color: #555e73; }

.ux-calendar-spinner {
  width: 28px;
  height: 28px;
  margin-bottom: 8px;
  border: 2px solid rgba(255,255,255,.08);
  border-top-color: #ff6666;
  border-radius: 50%;
  animation: uxCalendarSpin .75s linear infinite;
}

.ux-event-calendar__footer-note {
  display: flex;
  gap: 9px;
  margin-top: 32px;
  padding: 13px 15px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 11px;
  color: #6f788c;
  background: rgba(255,255,255,.018);
  font-size: 9px;
  line-height: 1.55;
}
.ux-event-calendar__footer-note i { margin-top: 2px; color: #ff6666; }

@keyframes uxCalendarIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes uxCalendarPulse { 50% { opacity: .4; transform: scale(.85); } }
@keyframes uxCalendarSpin { to { transform: rotate(360deg); } }

@media (max-width: 860px) {
  .ux-event-calendar { padding-top: 28px; }
  .ux-event-calendar__hero { align-items: stretch; flex-direction: column; }
  .ux-event-calendar__source { min-width: 0; }
  .ux-event-calendar__toolbar { grid-template-columns: 1fr; }
  .ux-calendar-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .ux-event-calendar { padding-inline: 11px; }
  .ux-event-calendar__hero h1 { font-size: 38px; }
  .ux-event-calendar__toolbar { padding: 13px; border-radius: 13px; }
  .ux-calendar-chip { min-height: 29px; padding-inline: 9px; }
  .ux-calendar-card { min-height: 0; padding: 14px; }
  .ux-calendar-card h3 { font-size: 15px; }
}
