/* PSC Events Manager 2.9.23 final presentation authority.
 *
 * This file loads after the base and saved-design styles. It keeps every list
 * shortcode on one card contract and prevents featured images from becoming
 * full-width mobile hero images. Responsive classes are based on the card's
 * actual rendered width and are applied by assets/js/frontend.js. */

html body .psc-events.psc-events {
  font-family: var(--psc-events-font-family, inherit) !important;
}

html body .psc-events.psc-events .psc-event-list-title,
html body .psc-events.psc-events .psc-events-calendar-title,
html body .psc-events.psc-events .psc-event-modal-title,
html body .psc-events.psc-events .psc-events-subscribe-title,
html body .psc-events.psc-events .psc-events-countdown-title {
  font-family: var(--psc-events-heading-font-family, var(--psc-events-font-family, inherit)) !important;
}

html body .psc-events.psc-events .psc-event-list-title {
  color: var(--psc-events-list-title-color, var(--psc-text, #17212b)) !important;
  font-size: var(--psc-events-list-title-size, 1.35rem) !important;
  font-weight: var(--psc-events-list-title-weight, 900) !important;
}

html body .psc-events.psc-events .psc-event-list-subheading {
  color: var(--psc-events-list-subheading-color, var(--psc-muted, #66758a)) !important;
  font-size: var(--psc-events-list-subheading-size, 1rem) !important;
  font-weight: var(--psc-events-list-subheading-weight, 400) !important;
}

html body .psc-events.psc-events .psc-event-list-meta {
  color: var(--psc-events-list-meta-color, var(--psc-muted, #66758a)) !important;
  font-size: var(--psc-events-list-meta-size, .98rem) !important;
  font-weight: var(--psc-events-list-meta-weight, 400) !important;
}

html body .psc-events.psc-events .psc-event-list-location-row {
  color: var(--psc-events-list-location-color, var(--psc-muted, #66758a)) !important;
  font-size: var(--psc-events-list-location-size, .98rem) !important;
  font-weight: var(--psc-events-list-location-weight, 400) !important;
}

html body .psc-events.psc-events .psc-event-type-badge {
  background: var(--psc-events-list-badge-bg, var(--psc-green, #036636)) !important;
  color: var(--psc-events-list-badge-text, #fff) !important;
  font-size: var(--psc-events-list-badge-size, .72rem) !important;
  font-weight: var(--psc-events-list-badge-weight, 900) !important;
}

html body .psc-events.psc-events .psc-event-date-tile > span {
  color: var(--psc-events-date-tile-month-color, var(--psc-green, #036636)) !important;
  font-size: var(--psc-events-date-tile-month-size, .82rem) !important;
  font-weight: var(--psc-events-date-tile-month-weight, 800) !important;
}

html body .psc-events.psc-events .psc-event-date-tile > strong {
  color: var(--psc-events-date-tile-day-color, var(--psc-text, #17212b)) !important;
  font-size: var(--psc-events-date-tile-day-size, 2rem) !important;
  font-weight: var(--psc-events-date-tile-day-weight, 900) !important;
}

html body .psc-events.psc-events .psc-event-date-tile > .psc-event-date-dow {
  color: var(--psc-events-date-tile-dow-color, var(--psc-text, #17212b)) !important;
  font-size: var(--psc-events-date-tile-dow-size, .8rem) !important;
  font-weight: var(--psc-events-date-tile-dow-weight, 800) !important;
}

html body .psc-events.psc-events .psc-event-date-tile > .psc-event-date-year {
  color: var(--psc-events-date-tile-year-color, var(--psc-muted, #66758a)) !important;
  font-size: var(--psc-events-date-tile-year-size, .8rem) !important;
  font-weight: var(--psc-events-date-tile-year-weight, 800) !important;
}

html body .psc-events.psc-events .psc-events-calendar-filters input[type="search"] {
  min-width: 220px;
  min-height: 44px;
  padding: .55rem .7rem;
  border: 1px solid var(--psc-border, #dbe5ef);
  border-radius: 10px;
  background: #fff;
  color: var(--psc-text, #17212b);
  font: inherit;
}

html body .psc-events.psc-events .psc-events-calendar-mobile-dow {
  display: none;
}

/* One desktop card hierarchy for normal, range, and ongoing entries. */
html body .psc-events.psc-events .psc-event-list-card > .psc-event-list-summary,
html body .psc-events.psc-events .psc-event-list-card.is-date-range > .psc-event-list-summary,
html body .psc-events.psc-events .psc-event-list-card.is-ongoing-pinned > .psc-event-list-summary {
  display: grid !important;
  grid-template-columns: 84px 150px minmax(0, 1fr) 44px !important;
  grid-template-areas: "date image main toggle" !important;
  gap: 1rem !important;
  align-items: center !important;
  min-height: 116px !important;
  padding: 1rem 1.25rem !important;
}

html body .psc-events.psc-events .psc-event-list-card.has-no-featured-image > .psc-event-list-summary,
html body .psc-events.psc-events .psc-event-list-card.is-date-range.has-no-featured-image > .psc-event-list-summary,
html body .psc-events.psc-events .psc-event-list-card.is-ongoing-pinned.has-no-featured-image > .psc-event-list-summary {
  grid-template-columns: 84px minmax(0, 1fr) 44px !important;
  grid-template-areas: "date main toggle" !important;
}

html body .psc-events.psc-events .psc-event-list-summary > .psc-event-date-tile {
  grid-area: date !important;
  grid-column: auto !important;
  align-self: center !important;
}

html body .psc-events.psc-events .psc-event-list-summary > .psc-event-list-image {
  grid-area: image !important;
  grid-column: auto !important;
  width: 150px !important;
  min-width: 0 !important;
  max-width: 150px !important;
  margin: 0 !important;
  background: #f1f6fa !important;
}

html body .psc-events.psc-events .psc-event-list-summary > .psc-event-list-image img,
html body .psc-events.psc-events .psc-event-list-summary > .psc-event-list-image .psc-event-featured-image {
  display: block !important;
  width: 100% !important;
  height: 94px !important;
  max-height: 94px !important;
  object-fit: contain !important;
  object-position: center !important;
}

html body .psc-events.psc-events .psc-event-list-summary > .psc-event-list-main {
  grid-area: main !important;
  grid-column: auto !important;
  width: 100% !important;
  min-width: 0 !important;
}

html body .psc-events.psc-events .psc-event-list-summary > .psc-event-chevron {
  grid-area: toggle !important;
  grid-column: auto !important;
  position: static !important;
  justify-self: end !important;
}

/* Compact is a dense version of the same card, not a separate visual system. */
html body .psc-events.psc-events.is-compact .psc-event-list-card > .psc-event-list-summary,
html body .psc-events.psc-events .psc-events-list.is-compact .psc-event-list-card > .psc-event-list-summary {
  grid-template-columns: 60px 84px minmax(0, 1fr) 38px !important;
  grid-template-areas: "date image main toggle" !important;
  gap: .65rem !important;
  min-height: 86px !important;
  padding: .75rem .9rem !important;
}

html body .psc-events.psc-events.is-compact .psc-event-list-card.has-no-featured-image > .psc-event-list-summary,
html body .psc-events.psc-events .psc-events-list.is-compact .psc-event-list-card.has-no-featured-image > .psc-event-list-summary {
  grid-template-columns: 60px minmax(0, 1fr) 38px !important;
  grid-template-areas: "date main toggle" !important;
}

html body .psc-events.psc-events.is-compact .psc-event-list-image,
html body .psc-events.psc-events .psc-events-list.is-compact .psc-event-list-image {
  width: 84px !important;
  max-width: 84px !important;
}

html body .psc-events.psc-events.is-compact .psc-event-list-image img,
html body .psc-events.psc-events .psc-events-list.is-compact .psc-event-list-image img {
  height: 62px !important;
  max-height: 62px !important;
}

html body .psc-events.psc-events.is-compact .psc-event-list-title,
html body .psc-events.psc-events .psc-events-list.is-compact .psc-event-list-title {
  font-size: min(var(--psc-events-list-title-size, 1.35rem), 1.1rem) !important;
}

html body .psc-events.psc-events.is-layout-featured .psc-event-list-card > .psc-event-list-summary {
  grid-template-columns: 84px 180px minmax(0, 1fr) 44px !important;
}

html body .psc-events.psc-events.is-layout-featured .psc-event-list-card.has-no-featured-image > .psc-event-list-summary {
  grid-template-columns: 84px minmax(0, 1fr) 44px !important;
}

html body .psc-events.psc-events.is-layout-featured .psc-event-list-image {
  width: 180px !important;
  max-width: 180px !important;
}

html body .psc-events.psc-events.is-layout-featured .psc-event-list-image img {
  height: 112px !important;
  max-height: 112px !important;
}

/* Minimal lists retain the complete responsive event hierarchy and accordion
 * behavior without card framing or event-type decoration. */
html body .psc-events.psc-events.is-layout-minimal {
  gap: .5rem !important;
}

html body .psc-events.psc-events.is-layout-minimal .psc-event-list-card,
html body .psc-events.psc-events.is-layout-minimal .psc-event-list-card[open],
html body .psc-events.psc-events .psc-events-list.is-layout-minimal .psc-event-list-card,
html body .psc-events.psc-events .psc-events-list.is-layout-minimal .psc-event-list-card[open] {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body .psc-events.psc-events.is-layout-minimal .psc-event-list-card > .psc-event-list-summary,
html body .psc-events.psc-events .psc-events-list.is-layout-minimal .psc-event-list-card > .psc-event-list-summary {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

html body .psc-events.psc-events.is-layout-minimal .psc-event-date-tile,
html body .psc-events.psc-events .psc-events-list.is-layout-minimal .psc-event-date-tile {
  border: 0 !important;
}

html body .psc-events.psc-events.is-layout-minimal .psc-event-chevron,
html body .psc-events.psc-events .psc-events-list.is-layout-minimal .psc-event-chevron {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body .psc-events.psc-events.is-layout-minimal .psc-event-type-badge,
html body .psc-events.psc-events .psc-events-list.is-layout-minimal .psc-event-type-badge {
  display: none !important;
}

html body .psc-events.psc-events.is-layout-minimal .psc-event-list-details,
html body .psc-events.psc-events .psc-events-list.is-layout-minimal .psc-event-list-details {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Width-driven mobile card contract. Images remain thumbnails. */
html body .psc-events.psc-events.psc-events-list.is-mobile-list,
html body .psc-events.psc-events .psc-events-list.is-mobile-list {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  container-type: normal !important;
  container-name: none !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-date-range,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-ongoing-pinned {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  container-type: normal !important;
  container-name: none !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-date-range > .psc-event-list-summary,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-ongoing-pinned > .psc-event-list-summary {
  display: grid !important;
  grid-template-columns: 68px 104px minmax(0, 1fr) 40px !important;
  grid-template-rows: auto !important;
  grid-template-areas: "date image main toggle" !important;
  gap: .65rem !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 98px !important;
  padding: .8rem !important;
  position: relative !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.has-no-featured-image > .psc-event-list-summary,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-date-range.has-no-featured-image > .psc-event-list-summary,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-ongoing-pinned.has-no-featured-image > .psc-event-list-summary {
  grid-template-columns: 68px minmax(0, 1fr) 40px !important;
  grid-template-areas: "date main toggle" !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary > .psc-event-date-tile {
  grid-area: date !important;
  grid-column: auto !important;
  grid-row: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  justify-self: start !important;
  gap: .12rem !important;
  width: 64px !important;
  min-width: 64px !important;
  min-height: 76px !important;
  margin: 0 !important;
  padding: .4rem !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: color-mix(in srgb, var(--psc-events-list-accent, #036636) 8%, #fff) !important;
  text-align: center !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary > .psc-event-date-tile.is-date-range {
  min-height: 92px !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary > .psc-event-date-tile > span,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary > .psc-event-date-tile > strong,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary > .psc-event-date-tile > small {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  line-height: 1.05 !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary > .psc-event-date-tile > strong {
  font-size: min(var(--psc-events-date-tile-day-size, 2rem), 1.65rem) !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary > .psc-event-list-image {
  grid-area: image !important;
  grid-column: auto !important;
  grid-row: auto !important;
  display: block !important;
  align-self: center !important;
  justify-self: start !important;
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
  margin: 0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary > .psc-event-list-image img,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary > .psc-event-list-image .psc-event-featured-image {
  display: block !important;
  width: 104px !important;
  height: 72px !important;
  max-height: 72px !important;
  object-fit: contain !important;
  object-position: center !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary > .psc-event-list-main {
  grid-area: main !important;
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: center !important;
  justify-self: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary > .psc-event-chevron {
  grid-area: toggle !important;
  grid-column: auto !important;
  grid-row: auto !important;
  position: static !important;
  align-self: center !important;
  justify-self: end !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  margin: 0 !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card .psc-event-type-badge {
  display: inline-flex !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 .3rem !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: left !important;
  line-height: 1.2 !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card .psc-event-list-title {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: .12rem 0 .35rem !important;
  font-size: min(var(--psc-events-list-title-size, 1.35rem), 1.18rem) !important;
  line-height: 1.18 !important;
  overflow-wrap: anywhere !important;
  hyphens: none !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card .psc-event-list-subheading,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card .psc-event-list-excerpt {
  width: 100% !important;
  max-width: none !important;
  overflow-wrap: anywhere !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card .psc-event-list-meta {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: .35rem !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  font-size: min(var(--psc-events-list-meta-size, .98rem), .9rem) !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card .psc-event-list-meta > span,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card .psc-event-list-location-row,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card .psc-event-builder-meta-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: .4rem !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow-wrap: anywhere !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-details {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 1rem !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card .psc-event-details-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* Saved Card Builder previews receive the same narrow hierarchy. */
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.psc-event-builder-card > .psc-event-builder-summary,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.psc-event-builder-card .psc-event-builder-safe-summary {
  width: 100% !important;
  min-width: 0 !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.psc-event-builder-card .psc-event-builder-safe-summary {
  display: grid !important;
  grid-template-columns: 68px 104px minmax(0, 1fr) 40px !important;
  grid-template-areas: "safe-date safe-image safe-main safe-toggle" !important;
  gap: .65rem !important;
  align-items: center !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.psc-event-builder-card .psc-event-builder-safe-summary.has-no-featured-image {
  grid-template-columns: 68px minmax(0, 1fr) 40px !important;
  grid-template-areas: "safe-date safe-main safe-toggle" !important;
}

/* Restore usable interaction targets after legacy compact utility rules. */
html body .psc-events.psc-events .psc-event-button,
html body .psc-events.psc-events .psc-event-action-group > .psc-event-button,
html body .psc-events.psc-events .psc-event-modal-close,
html body .psc-events.psc-events .psc-event-chevron,
html body .psc-events.psc-events .psc-event-admin-edit-link,
html body .psc-events.psc-events .psc-event-admin-edit-button,
html body .psc-events.psc-events .psc-events-subscribe-button {
  min-height: 44px !important;
  padding: .55rem .85rem !important;
  font-family: var(--psc-events-font-family, inherit) !important;
  font-size: .875rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

html body .psc-events.psc-events .psc-event-modal-close,
html body .psc-events.psc-events .psc-event-chevron {
  padding: 0 !important;
}

html body .psc-events.psc-events .psc-event-action-label {
  font-size: .78rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

html body .psc-events.psc-events .psc-events-subscribe,
html body .psc-events.psc-events .psc-events-subscribe * {
  font-family: var(--psc-events-font-family, inherit) !important;
}

html body .psc-events.psc-events .psc-events-subscribe-title {
  font-family: var(--psc-events-heading-font-family, var(--psc-events-font-family, inherit)) !important;
}

@media (max-width: 782px) {
  html body .psc-events.psc-events .psc-events-calendar-filters {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body .psc-events.psc-events .psc-events-calendar-filters label,
  html body .psc-events.psc-events .psc-events-calendar-filters select,
  html body .psc-events.psc-events .psc-events-calendar-filters input[type="search"],
  html body .psc-events.psc-events .psc-events-calendar-filters .psc-event-button {
    width: 100% !important;
    min-width: 0 !important;
  }

  html body .psc-events.psc-events.is-mobile-columns-5 .psc-events-calendar-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  html body .psc-events.psc-events.is-mobile-columns-3 .psc-events-calendar-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body .psc-events.psc-events.is-mobile-columns-5 .psc-events-calendar-weekday,
  html body .psc-events.psc-events.is-mobile-columns-3 .psc-events-calendar-weekday {
    display: none !important;
  }

  html body .psc-events.psc-events .psc-events-calendar-mobile-dow {
    display: block !important;
    color: var(--psc-muted, #66758a) !important;
    font-size: .62rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }

  html body .psc-events.psc-events .psc-events-calendar-date-header {
    display: grid !important;
    gap: .18rem !important;
    justify-items: center !important;
  }
}

/* Extra-narrow containers can occur inside desktop page-builder columns. The
 * responsive controller applies this class from the card's rendered width, so
 * the layout does not depend on the browser viewport. */
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-narrow-card > .psc-event-list-summary,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-narrow-card.is-date-range > .psc-event-list-summary,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-narrow-card.is-ongoing-pinned > .psc-event-list-summary {
  grid-template-columns: 62px 84px minmax(38px, 1fr) !important;
  grid-template-rows: auto auto !important;
  grid-template-areas:
    "date image toggle"
    "main main main" !important;
  align-items: start !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-narrow-card.has-no-featured-image > .psc-event-list-summary,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-narrow-card.is-date-range.has-no-featured-image > .psc-event-list-summary,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-narrow-card.is-ongoing-pinned.has-no-featured-image > .psc-event-list-summary {
  grid-template-columns: 62px minmax(0, 1fr) 40px !important;
  grid-template-areas: "date main toggle" !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-narrow-card > .psc-event-list-summary > .psc-event-date-tile {
  width: 60px !important;
  min-width: 60px !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-narrow-card > .psc-event-list-summary > .psc-event-list-image,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-narrow-card > .psc-event-list-summary > .psc-event-list-image img {
  width: 84px !important;
  min-width: 84px !important;
  max-width: 84px !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-narrow-card > .psc-event-list-summary > .psc-event-list-image img {
  height: 64px !important;
  max-height: 64px !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-narrow-card:not(.has-no-featured-image) > .psc-event-list-summary > .psc-event-list-main {
  grid-column: 1 / -1 !important;
}

html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-narrow-card.psc-event-builder-card .psc-event-builder-safe-summary {
  grid-template-columns: 62px 84px minmax(38px, 1fr) !important;
  grid-template-areas: "safe-date safe-image safe-toggle" "safe-main safe-main safe-main" !important;
}

/* Viewport fallback for browsers without ResizeObserver. */
@media (max-width: 430px) {
  html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary,
  html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-date-range > .psc-event-list-summary,
  html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-ongoing-pinned > .psc-event-list-summary {
    grid-template-columns: 62px 84px minmax(38px, 1fr) !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
      "date image toggle"
      "main main main" !important;
    align-items: start !important;
  }

  html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.has-no-featured-image > .psc-event-list-summary,
  html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-date-range.has-no-featured-image > .psc-event-list-summary,
  html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.is-ongoing-pinned.has-no-featured-image > .psc-event-list-summary {
    grid-template-columns: 62px minmax(0, 1fr) 40px !important;
    grid-template-areas:
      "date main toggle" !important;
  }

  html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary > .psc-event-date-tile {
    width: 60px !important;
    min-width: 60px !important;
  }

  html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary > .psc-event-list-image,
  html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary > .psc-event-list-image img {
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
  }

  html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary > .psc-event-list-image img {
    height: 64px !important;
    max-height: 64px !important;
  }

  html body .psc-events.psc-events .psc-event-list-card.is-mobile-card:not(.has-no-featured-image) > .psc-event-list-summary > .psc-event-list-main {
    grid-column: 1 / -1 !important;
  }

  html body .psc-events.psc-events .psc-event-list-card.is-mobile-card.psc-event-builder-card .psc-event-builder-safe-summary {
    grid-template-columns: 62px 84px minmax(38px, 1fr) !important;
    grid-template-areas: "safe-date safe-image safe-toggle" "safe-main safe-main safe-main" !important;
  }
}

/* Accessible mist surfaces shared by all shortcode views. */
html body .psc-events.psc-events .psc-event-list-image,
html body .psc-events.psc-events .psc-event-modal-image {
  background: #f1f6fa !important;
}

/* Final compact action authority. Calendar navigation, filters, close controls,
 * and other primary interactions retain their accessible sizing; only the
 * secondary Add to Calendar and Share utilities use the extra-small treatment. */
html body .psc-events.psc-events .psc-event-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  width: auto !important;
  margin-top: 6px !important;
}

html body .psc-events.psc-events .psc-event-actions .psc-event-action-group {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 4px !important;
  width: auto !important;
  margin: 0 !important;
}

html body .psc-events.psc-events .psc-event-actions .psc-event-action-label {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 3px !important;
  min-width: 0 !important;
  margin: 0 2px 0 0 !important;
  font-family: var(--psc-events-font-family, inherit) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

html body .psc-events.psc-events .psc-event-actions .psc-event-action-label svg {
  width: 10px !important;
  min-width: 10px !important;
  height: 10px !important;
}

html body .psc-events.psc-events .psc-event-actions .psc-event-action-group > .psc-event-button {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 2px 6px !important;
  font-family: var(--psc-events-font-family, inherit) !important;
  font-size: .5rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* v2.9.22: anchor date and title columns at the top, including responsive
 * cards. Keep narrow featured-image cards' existing stacked grid intact. */
html body .psc-events.psc-events .psc-event-list-card > .psc-event-list-summary > .psc-event-date-tile,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary > .psc-event-date-tile,
html body .psc-events.psc-events .psc-event-list-card > .psc-event-list-summary > .psc-event-list-main,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card > .psc-event-list-summary > .psc-event-list-main,
html body .psc-events.psc-events .psc-event-builder-safe-date,
html body .psc-events.psc-events .psc-event-builder-safe-main {
  align-self: start !important;
}
html body .psc-events.psc-events .psc-event-list-title {
  margin-top: 0 !important;
}

/* Minimal details use a dedicated high-contrast color rather than inheriting
 * the saved muted color used by other layouts. */
html body .psc-events.psc-events.is-layout-minimal .psc-event-list-subheading,
html body .psc-events.psc-events.is-layout-minimal .psc-event-list-meta,
html body .psc-events.psc-events.is-layout-minimal .psc-event-list-location-row,
html body .psc-events.psc-events.is-layout-minimal .psc-event-list-excerpt,
html body .psc-events.psc-events .psc-events-list.is-layout-minimal .psc-event-list-subheading,
html body .psc-events.psc-events .psc-events-list.is-layout-minimal .psc-event-list-meta,
html body .psc-events.psc-events .psc-events-list.is-layout-minimal .psc-event-list-location-row,
html body .psc-events.psc-events .psc-events-list.is-layout-minimal .psc-event-list-excerpt {
  color: var(--psc-events-minimal-detail-color, #243746) !important;
}

/* v2.9.23: title alignment for category badges and saved builder columns. */
html body .psc-events.psc-events .psc-event-list-card .psc-event-list-summary .psc-event-date-tile,
html body .psc-events.psc-events .psc-event-list-card.is-mobile-card .psc-event-list-summary .psc-event-date-tile {
  margin-top: var(--psc-date-title-offset, 0px) !important;
}
html body .psc-events.psc-events .psc-event-list-card .psc-event-builder-column.is-date-column {
  align-self: start !important;
  justify-content: flex-start !important;
}

/* 2.9.27: opt-in left-to-right cards. Never changes the default stacked list.
 * Auto-fill preserves source/tab order and stable card widths on the last row.
 * The minimum track width follows the container, including narrow sidebars. */
html body .psc-events.psc-events.is-layout-horizontal {
  --psc-horizontal-columns: 3;
  --psc-horizontal-gap: 1rem;
}
html body .psc-events.psc-events.is-layout-horizontal.psc-events-columns-2 { --psc-horizontal-columns: 2; }
html body .psc-events.psc-events.is-layout-horizontal.psc-events-columns-4 { --psc-horizontal-columns: 4; }
html body .psc-events.psc-events.is-layout-horizontal.psc-events-list,
html body .psc-events.psc-events.is-layout-horizontal .psc-events-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, max(18rem, calc((100% - (var(--psc-horizontal-columns) - 1) * var(--psc-horizontal-gap)) / var(--psc-horizontal-columns)))), 1fr)) !important;
  gap: var(--psc-horizontal-gap) !important;
  align-items: start !important;
  min-width: 0;
}
html body .psc-events.psc-events.is-layout-horizontal .psc-event-list-card,
html body .psc-events.psc-events.is-layout-horizontal .psc-events-synced-list-item {
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
  overflow-wrap: anywhere;
}
html body .psc-events.psc-events.is-layout-horizontal .psc-events-list > .psc-events-empty,
html body .psc-events.psc-events.is-layout-horizontal.psc-events-list > .psc-events-empty {
  grid-column: 1 / -1;
}
/* A filtered item must stay hidden, even when a theme restyles grid children. */
html body .psc-events.psc-events.is-layout-horizontal .psc-events-synced-list-item[hidden] { display: none !important; }
/* Keep text readable with or without a thumbnail; long titles can wrap. */
html body .psc-events.psc-events.is-layout-horizontal .psc-event-list-card.is-mobile-card.is-narrow-card.has-no-featured-image > .psc-event-list-summary {
  grid-template-columns: 62px minmax(0, 1fr) 40px !important;
  grid-template-areas: "date . toggle" "main main main" !important;
}
html body .psc-events.psc-events.is-layout-horizontal .psc-event-list-card .psc-event-list-title {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
html body .psc-events.psc-events.is-layout-horizontal .psc-event-list-card.is-mobile-card.is-narrow-card.has-no-featured-image > .psc-event-list-summary > .psc-event-list-main {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
}
/* Explicit placement prevents legacy auto-row overrides from moving the toggle. */
html body .psc-events.psc-events.is-layout-horizontal .psc-event-list-card.is-mobile-card.is-narrow-card > .psc-event-list-summary > .psc-event-date-tile {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
html body .psc-events.psc-events.is-layout-horizontal .psc-event-list-card.is-mobile-card.is-narrow-card > .psc-event-list-summary > .psc-event-list-image {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
html body .psc-events.psc-events.is-layout-horizontal .psc-event-list-card.is-mobile-card.is-narrow-card > .psc-event-list-summary > .psc-event-chevron {
  grid-column: 3 !important;
  grid-row: 1 !important;
}
html body .psc-events.psc-events.is-layout-horizontal .psc-event-list-card.is-mobile-card.is-narrow-card > .psc-event-list-summary > .psc-event-list-main {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
}

/* Per-Event Type accents: event-local variables keep badges readable. */
html body .psc-events.psc-events .psc-events-calendar-item.is-multi-day[data-psc-event-color] {
  background: var(--psc-events-type-color, #036636) !important;
  color: var(--psc-events-type-text, #fff) !important;
  border-color: var(--psc-events-type-color, #036636) !important;
}
html body .psc-events.psc-events .psc-events-calendar-item.is-multi-day[data-psc-event-color] * {
  color: var(--psc-events-type-text, #fff) !important;
}
html body .psc-events.psc-events [data-psc-event-color] .psc-event-type-badge,
html body .psc-events.psc-events[data-psc-event-color] .psc-event-type-badge {
  background: var(--psc-events-type-color, #036636) !important;
  color: var(--psc-events-type-text, #fff) !important;
  border: 1px solid color-mix(in srgb, var(--psc-events-type-text, #fff) 25%, transparent) !important;
}
html body .psc-events.psc-events [data-psc-event-color] .psc-event-type-badge *,
html body .psc-events.psc-events[data-psc-event-color] .psc-event-type-badge * {
  color: var(--psc-events-type-text, #fff) !important;
}
/* 2.9.30: text-only, equal square cards. Unique classes avoid mobile-list rules. */
html body .psc-events.psc-events.is-layout-horizontal { --psc-horizontal-columns:6; --psc-horizontal-gap:12px; }
html body .psc-events.psc-events.is-layout-horizontal.psc-events-columns-2 { --psc-horizontal-columns:2; }
html body .psc-events.psc-events.is-layout-horizontal.psc-events-columns-3 { --psc-horizontal-columns:3; }
html body .psc-events.psc-events.is-layout-horizontal.psc-events-columns-4 { --psc-horizontal-columns:4; }
html body .psc-events.psc-events.is-layout-horizontal.psc-events-columns-5 { --psc-horizontal-columns:5; }
html body .psc-events.psc-events.is-layout-horizontal.psc-events-columns-6 { --psc-horizontal-columns:6; }
html body .psc-events.psc-events.is-layout-horizontal.psc-events-list,
html body .psc-events.psc-events.is-layout-horizontal .psc-events-list {
  grid-template-columns:repeat(auto-fill,minmax(min(100%,max(11.5rem,calc((100% - (var(--psc-horizontal-columns) - 1) * var(--psc-horizontal-gap)) / var(--psc-horizontal-columns)))),1fr))!important;
  width:100%!important;
  max-width:calc(var(--psc-horizontal-columns) * 14rem + (var(--psc-horizontal-columns) - 1) * var(--psc-horizontal-gap))!important;
  align-items:start!important;
}
html body .psc-events.psc-events .psc-event-square-card {
  position:relative!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:14rem!important;
  min-width:0!important;
  aspect-ratio:1 / 1!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #dbe5ef!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#17212b!important;
  overflow:hidden!important;
  box-shadow:inset 3px 0 var(--psc-events-type-color,#036636)!important;
}
html body .psc-events.psc-events .psc-event-square-card>.psc-event-square-link {
  position:absolute!important;
  inset:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  min-width:0!important;
  padding:10px 10px 8px 12px!important;
  color:#17212b!important;
  text-decoration:none!important;
  border:0!important;
  border-radius:inherit!important;
  background:transparent!important;
  font-family:inherit!important;
  font-size:.75rem!important;
  line-height:1.2!important;
}
html body .psc-events.psc-events .psc-event-square-link:hover { background:#f5f8fb!important; }
html body .psc-events.psc-events .psc-event-square-link:focus-visible { outline:3px solid #003e7e!important; outline-offset:-4px!important; }
html body .psc-events.psc-events .psc-event-square-content { display:flex!important;flex-direction:column!important;gap:7px!important;min-height:0!important;min-width:0!important;overflow:hidden!important; }
html body .psc-events.psc-events .psc-event-square-header { display:grid!important;grid-template-columns:2.375rem minmax(0,1fr)!important;gap:8px!important;align-items:start!important;min-width:0!important; }
html body .psc-events.psc-events .psc-event-square-date { display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;min-width:0!important;margin:0!important;padding:5px 2px!important;border-radius:6px!important;background:#edf5f1!important;color:#17212b!important;text-align:center!important; }
html body .psc-events.psc-events .psc-event-square-date>span { font-size:.5625rem!important;line-height:1.05!important;text-transform:uppercase!important;font-weight:700!important;letter-spacing:.02em!important; }
html body .psc-events.psc-events .psc-event-square-date>strong { font-size:1.375rem!important;line-height:1!important;font-weight:800!important; }
html body .psc-events.psc-events .psc-event-square-date>small { font-size:.5625rem!important;line-height:1.1!important;font-weight:600!important; }
html body .psc-events.psc-events .psc-event-square-date.is-date-range>strong { font-size:.875rem!important; }
html body .psc-events.psc-events .psc-event-square-heading { display:block!important;min-width:0!important; }
html body .psc-events.psc-events .psc-event-square-title { display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;overflow-wrap:anywhere!important;margin:0!important;font-size:.8125rem!important;line-height:1.2!important;font-weight:750!important;color:#17212b!important; }
html body .psc-events.psc-events .psc-event-square-subheading { display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:1!important;overflow:hidden!important;overflow-wrap:anywhere!important;margin-top:3px!important;font-size:.6875rem!important;line-height:1.2!important;color:#3f5264!important; }
html body .psc-events.psc-events .psc-event-square-meta { display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;font-size:.75rem!important;line-height:1.2!important;color:#3f5264!important; }
html body .psc-events.psc-events .psc-event-square-meta>span { display:grid!important;grid-template-columns:12px minmax(0,1fr)!important;gap:5px!important;align-items:start!important;min-width:0!important; }
html body .psc-events.psc-events .psc-event-square-meta>span>span { display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;overflow-wrap:anywhere!important; }
html body .psc-events.psc-events .psc-event-square-meta svg { width:12px!important;min-width:12px!important;height:12px!important;margin-top:1px!important; }
html body .psc-events.psc-events .psc-event-square-cue { display:flex!important;justify-content:space-between!important;align-items:center!important;gap:6px!important;flex:0 0 auto!important;margin-top:auto!important;padding-top:6px!important;border-top:1px solid #e4ebf1!important;font-size:.6875rem!important;line-height:1.2!important;font-weight:700!important;color:#003e7e!important; }
html body .psc-events.psc-events .psc-event-square-cue svg { width:14px!important;height:14px!important;transform:rotate(-90deg)!important; }
html body .psc-events.psc-events .psc-event-square-card>[hidden] { display:none!important; }

/* Full square-card details must also wrap exceptionally long words. */
html body .psc-events.psc-event-square-modal .psc-event-modal-heading,
html body .psc-events.psc-event-square-modal .psc-event-modal-content { min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important; }
html body .psc-events.psc-event-square-modal .psc-event-modal-title,
html body .psc-events.psc-event-square-modal .psc-event-modal-subheading { max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important; }
html body .psc-events.psc-event-square-modal .psc-event-modal-dialog { overflow-x:hidden!important; }

/* 2.9.31: compact tile sizing, full-row alignment and page-builder hit testing. */
html body .psc-events.psc-events.is-layout-horizontal { position:relative!important;z-index:1!important;--psc-horizontal-gap:10px; }
html body .psc-events.psc-events.is-layout-horizontal.psc-events-list,
html body .psc-events.psc-events.is-layout-horizontal .psc-events-list {
  display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;align-items:flex-start!important;
  gap:var(--psc-horizontal-gap)!important;width:100%!important;
  max-width:calc(var(--psc-horizontal-columns) * 11.25rem + (var(--psc-horizontal-columns) - 1) * var(--psc-horizontal-gap))!important;
  margin-left:0!important;margin-right:0!important;
}
html body .psc-events.psc-events.is-layout-horizontal.psc-events-list>.psc-event-square-card,
html body .psc-events.psc-events.is-layout-horizontal .psc-events-list>.psc-events-synced-list-item {
  flex:0 1 clamp(min(100%,10.75rem),calc((100% - (var(--psc-horizontal-columns) - 1) * var(--psc-horizontal-gap)) / var(--psc-horizontal-columns)),11.25rem)!important;
  width:11.25rem!important;max-width:100%!important;min-width:0!important;
}
html body .psc-events.psc-events.is-layout-horizontal .psc-event-square-card { max-width:11.25rem!important; }
html body .psc-events.psc-events.is-layout-horizontal.psc-events-align-center.psc-events-list,
html body .psc-events.psc-events.is-layout-horizontal.psc-events-align-center .psc-events-list {
  justify-content:center!important;margin-left:auto!important;margin-right:auto!important;
}
html body .psc-events.psc-events .psc-event-square-card > .psc-event-square-link { padding:8px 8px 7px 10px!important;gap:5px!important; }
html body .psc-events.psc-events .psc-event-square-content { gap:5px!important; }
html body .psc-events.psc-events .psc-event-square-header { gap:6px!important; }
html body .psc-events.psc-events .psc-event-square-title { font-size:.75rem!important;line-height:1.15!important; }
html body .psc-events.psc-events .psc-event-square-cue { padding-top:5px!important; }
html body .psc-events.psc-events.is-layout-horizontal .psc-events-list>.psc-events-empty,
html body .psc-events.psc-events.is-layout-horizontal.psc-events-list>.psc-events-empty { flex:1 0 100%!important; }
