/* Events page Figma overrides. Load after core.css and managed-overrides.css. */

body.page-slug-events .ep-page,
body.page-slug-blog {
  --ep-sans: "Avenir Next Cyr", "Avenir Next", Avenir, "DM Sans", sans-serif;
}

body.page-slug-events .ep-page {
  --ep-navy: #08234a;
  --ep-title: #072349;
  --ep-body: #343d4a;
  --ep-muted: #505863;
  --ep-gold: #bf8f5c;
  --ep-gold-dark: #ac753a;
  --ep-gold-tag: #b6753a;
  --ep-cool-tag: #2f5c9b;
  --ep-sans: "Avenir Next Cyr", "Avenir Next", Avenir, "DM Sans", sans-serif;
  --ep-display: var(--figma-display, "Flawsome Regular", "Cormorant Garamond", serif);
  font-family: var(--ep-sans);
}

body.page-slug-events .ep-hero {
  min-height: 400px;
}

body.page-slug-events .ep-hero > img {
  display: block !important;
  object-fit: cover !important;
  object-position: center 24% !important;
}

body.page-slug-events .ep-hero::before {
  background: linear-gradient(
    90deg,
    rgba(5, 23, 48, 0.55) 0%,
    rgba(5, 23, 48, 0.22) 42%,
    rgba(5, 23, 48, 0.08) 100%
  ) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.page-slug-events .ep-hero-copy {
  top: auto !important;
  bottom: 64px !important;
  left: clamp(24px, 5.55vw, 80px) !important;
  gap: 32px !important;
  z-index: 2 !important;
}

body.page-slug-events .ep-hero h1 {
  font-size: clamp(52px, 5.55vw, 80px) !important;
  line-height: 1.15 !important;
}

body.page-slug-events .ep-hero .ep-eyebrow {
  font-family: var(--ep-sans) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase;
}

body.page-slug-events .ep-events {
  padding: 84px 0 86px !important;
}

body.page-slug-events .ep-heading {
  gap: 24px !important;
  margin-bottom: 32px !important;
}

body.page-slug-events .ep-heading .ep-eyebrow {
  font-family: var(--ep-sans) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase;
  color: #ac753a !important;
}

body.page-slug-events .ep-heading h2 {
  font-size: clamp(52px, 5.8vw, 84px) !important;
  line-height: 1.2 !important;
}

body.page-slug-events .ep-toolbar,
body.page-slug-blog .ep-toolbar {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: none !important;
  margin-bottom: 64px !important;
  padding: 24px 32px !important;
  border: 1px solid rgba(193, 200, 212, 0.3) !important;
  border-radius: 8px !important;
  background: rgba(193, 200, 212, 0.2) !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  grid-template-columns: none !important;
}

body.page-slug-events .ep-toolbar-filters,
body.page-slug-blog .ep-toolbar-filters {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

body.page-slug-events .ep-search,
body.page-slug-blog .ep-search,
body.page-slug-events .ep-filter,
body.page-slug-blog .ep-filter,
body.page-slug-events .ep-filter-date,
body.page-slug-blog .ep-filter-date,
body.page-slug-events .ep-find,
body.page-slug-blog .ep-find {
  grid-column: auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  justify-self: auto !important;
  min-height: 56px;
  border: 1px solid rgba(193, 200, 212, 0.5) !important;
  border-radius: 6px !important;
  background: #fcfeff !important;
  color: #505863;
  font-size: 16px;
  font-weight: 400;
}

body.page-slug-events .ep-search,
body.page-slug-blog .ep-search {
  display: flex !important;
  flex: 1 1 320px;
  align-items: center;
  gap: 10px;
  padding: 0 16px !important;
}

body.page-slug-events .ep-search-icon,
body.page-slug-blog .ep-search-icon {
  display: inline-flex;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
}

body.page-slug-events .ep-search-icon img,
body.page-slug-blog .ep-search-icon img {
  display: block;
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  object-fit: contain;
}

body.page-slug-events .ep-filter,
body.page-slug-blog .ep-filter,
body.page-slug-events .ep-filter-date,
body.page-slug-blog .ep-filter-date {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 16px !important;
  white-space: nowrap;
  cursor: pointer;
}

body.page-slug-events .ep-filter span,
body.page-slug-blog .ep-filter span {
  width: 10px;
  height: 10px;
  border-right: 2px solid #0e0f0f;
  border-bottom: 2px solid #0e0f0f;
  transform: translateY(-1px) rotate(45deg);
}

body.page-slug-events .ep-view-tabs,
body.page-slug-blog .ep-view-tabs {
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center;
  gap: 0;
  padding: 6px !important;
  border: 1px solid rgba(193, 200, 212, 0.3) !important;
  border-radius: 8px !important;
  background: #fcfeff !important;
  grid-template-columns: none !important;
  overflow: visible;
}

body.page-slug-events .ep-view-tabs button,
body.page-slug-blog .ep-view-tabs button {
  min-height: 44px;
  padding: 11.5px 24px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #3e4651 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase;
}

body.page-slug-events .ep-view-tabs button + button,
body.page-slug-blog .ep-view-tabs button + button {
  border-left: 0 !important;
}

body.page-slug-events .ep-view-tabs button[aria-selected="true"],
body.page-slug-blog .ep-view-tabs button[aria-selected="true"] {
  background: #08234a !important;
  color: #fcfeff !important;
}

body.page-slug-events .ep-find,
body.page-slug-blog .ep-find {
  flex: 0 0 auto;
  padding: 16px 32px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: #08234a !important;
  color: #fcfeff !important;
  font-family: var(--ep-sans) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}

body.page-slug-events .ep-event-card {
  border: 1px solid rgba(193, 200, 212, 0.3) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 12px rgba(0, 0, 0, 0.05) !important;
  overflow: hidden;
}

body.page-slug-events .ep-date-navy {
  background: #08234a !important;
}

body.page-slug-events .ep-date-gold {
  background: #bf8f5c !important;
}

body.page-slug-events .ep-date strong {
  font-family: var(--ep-display) !important;
  font-size: 48px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: -0.5px !important;
}

body.page-slug-events .ep-date-navy strong {
  color: #bf8f5c !important;
}

body.page-slug-events .ep-date-gold strong {
  color: #fcfeff !important;
}

body.page-slug-events .ep-date span {
  margin-top: 8px !important;
  font-family: var(--ep-sans) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.2px !important;
  color: #fcfeff !important;
}

body.page-slug-events .ep-date small {
  margin-top: 8px !important;
  font-family: var(--ep-sans) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

body.page-slug-events .ep-tag {
  padding: 4px 16px !important;
  font-family: var(--ep-sans) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 1.08px !important;
  line-height: 1.9 !important;
}

body.page-slug-events .ep-tag-warm {
  background: rgba(172, 117, 58, 0.1) !important;
  color: #b6753a !important;
}

body.page-slug-events .ep-tag-cool {
  background: rgba(68, 110, 169, 0.1) !important;
  color: #2f5c9b !important;
}

body.page-slug-events .ep-event-copy h3 {
  color: #072349 !important;
  font-family: var(--ep-display) !important;
  font-size: 44px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 1px !important;
}

body.page-slug-events .ep-meta {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap;
  gap: 24px !important;
  color: #343d4a !important;
  font-family: var(--ep-sans) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

body.page-slug-events .ep-meta-time,
body.page-slug-events .ep-meta-place {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  flex-shrink: 0;
}

body.page-slug-events .ep-meta span::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

body.page-slug-events .ep-meta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  line-height: 0;
}

body.page-slug-events .ep-meta-icon-clock {
  width: 14px;
  height: 14px;
}

body.page-slug-events .ep-meta-icon-video {
  width: 16px;
  height: 14px;
}

body.page-slug-events .ep-meta-icon img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain;
}

body.page-slug-events .ep-meta-text {
  display: block;
  line-height: 1.5;
}

body.page-slug-events .ep-summary {
  color: #343d4a !important;
  font-family: var(--ep-sans) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

body.page-slug-events .ep-button {
  min-height: 56px !important;
  padding: 16px 32px !important;
  border-radius: 6px !important;
  font-family: var(--ep-sans) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase;
}

body.page-slug-events .ep-button:not(.ep-button-outline) {
  min-width: 0 !important;
}

body.page-slug-events .ep-button-navy {
  background: #08234a !important;
  color: #fcfeff !important;
  border-color: #08234a !important;
}

body.page-slug-events .ep-button-gold {
  background: #ac753a !important;
  color: #fcfeff !important;
  border-color: #ac753a !important;
}

body.page-slug-events .ep-button-outline {
  background: #fcfeff !important;
  border: 1px solid rgba(192, 200, 212, 0.7) !important;
  color: #050e1a !important;
}

@media (max-width: 1180px) {
  body.page-slug-events .ep-hero > img {
    object-position: center 20% !important;
  }

  body.page-slug-events .ep-toolbar,
  body.page-slug-blog .ep-toolbar {
    flex-wrap: wrap !important;
  }

  body.page-slug-events .ep-toolbar-filters,
  body.page-slug-blog .ep-toolbar-filters {
    flex: 1 1 100%;
  }

  body.page-slug-events .ep-view-tabs,
  body.page-slug-blog .ep-view-tabs,
  body.page-slug-events .ep-find,
  body.page-slug-blog .ep-find {
    flex: 0 0 auto;
  }
}

@media (max-width: 900px) {
  body.page-slug-events .ep-toolbar,
  body.page-slug-blog .ep-toolbar {
    flex-direction: column;
    align-items: stretch !important;
  }

  body.page-slug-events .ep-toolbar-filters,
  body.page-slug-blog .ep-toolbar-filters {
    flex-direction: column;
    align-items: stretch;
  }

  body.page-slug-events .ep-search,
  body.page-slug-blog .ep-search,
  body.page-slug-events .ep-filter,
  body.page-slug-blog .ep-filter,
  body.page-slug-events .ep-filter-date,
  body.page-slug-blog .ep-filter-date,
  body.page-slug-events .ep-view-tabs,
  body.page-slug-blog .ep-view-tabs,
  body.page-slug-events .ep-find,
  body.page-slug-blog .ep-find {
    width: 100% !important;
  }

  body.page-slug-events .ep-view-tabs,
  body.page-slug-blog .ep-view-tabs {
    justify-content: stretch;
  }

  body.page-slug-events .ep-view-tabs button,
  body.page-slug-blog .ep-view-tabs button {
    flex: 1 1 0;
  }
}

@media (max-width: 960px) {
  body.page-slug-events .ep-event-copy h3 {
    font-size: 32px !important;
  }
}

@media (max-width: 640px) {
  body.page-slug-events .ep-hero {
    min-height: 320px !important;
  }

  body.page-slug-events .ep-hero-copy {
    bottom: 40px !important;
    left: 22px !important;
    width: calc(100% - 44px) !important;
  }

  body.page-slug-events .ep-date strong {
    font-size: 38px !important;
  }

  body.page-slug-events .ep-event-copy h3 {
    font-size: 28px !important;
  }
}
