/* MSSL widget refinement v2.8.2 — unique filename bypasses stale asset caches. */
.mssl-calendar .mssl-snapshot {
  border-radius: 19px;
  box-shadow: 0 11px 30px rgba(18,62,91,.085);
}
.mssl-calendar .mssl-snapshot > header {
  align-items: center;
  min-height: 84px;
  padding: 14px 17px;
}
.mssl-calendar .mssl-snapshot > header::before {
  background: rgba(255,255,255,.22);
  bottom: 0;
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  width: 100%;
}
.mssl-calendar .mssl-snapshot > header::after {
  border-width: 14px;
  height: 105px;
  right: -43px;
  top: -54px;
  width: 105px;
}
.mssl-calendar .mssl-snapshot__eyebrow {
  font-size: .49rem;
  letter-spacing: .13em;
  margin-bottom: 4px;
}
.mssl-calendar .mssl-snapshot > header h3 {
  font-size: clamp(1.15rem,1.8vw,1.38rem);
  letter-spacing: -.015em;
  margin: 0 0 5px;
}
.mssl-calendar .mssl-snapshot > header p {
  font-size: .59rem;
  letter-spacing: .035em;
}
.mssl-calendar .mssl-snapshot__count {
  flex-basis: 34px;
  font-size: .82rem;
  height: 34px;
}
.mssl-calendar .mssl-snapshot__events {
  gap: 8px;
  padding: 11px;
}
.mssl-calendar .mssl-snapshot-event {
  background: linear-gradient(145deg,#fbfcfb,#f5f8f6);
  border-radius: 13px;
  gap: 10px;
  grid-template-columns: 47px minmax(0,1fr) 26px;
  padding: 9px;
}
.mssl-calendar .mssl-snapshot-event > time {
  border-radius: 10px;
  height: 54px;
  width: 47px;
}
.mssl-calendar .mssl-snapshot-event > time strong { font-size: 1.18rem; }
.mssl-calendar .mssl-snapshot-event > time span,
.mssl-calendar .mssl-snapshot-event > time small { font-size: .47rem; }
.mssl-calendar .mssl-snapshot-event__type {
  font-size: .47rem;
  padding: 4px 6px;
}
.mssl-calendar .mssl-snapshot-event h4 {
  font-size: .82rem;
  margin: 5px 0 4px;
}
.mssl-calendar .mssl-snapshot-event p { font-size: .59rem; }
.mssl-calendar .mssl-snapshot-event__arrow {
  height: 26px;
  width: 26px;
}
.mssl-calendar .mssl-snapshot.is-this-month .mssl-snapshot__events,
.mssl-calendar .mssl-snapshot.is-upcoming .mssl-snapshot__events {
  align-content: start;
}
.mssl-calendar .mssl-snapshot__empty { min-height: 82px; padding: 13px; }

@media (max-width: 720px) {
  .mssl-calendar .mssl-snapshot > header { min-height: 80px; padding: 13px 15px; }
}
@media (max-width: 480px) {
  .mssl-calendar .mssl-snapshot > header { min-height: 78px; padding: 12px 14px; }
  .mssl-calendar .mssl-snapshot-event { grid-template-columns: 45px minmax(0,1fr); }
  .mssl-calendar .mssl-snapshot-event > time { height: 52px; width: 45px; }
}
