/* Conjurly Event Runs — public run archive + series-button fallback. */
.cnjrly-event-run-page .site-content { background: var(--bb-body-background-color, #f2f2f2); }

/* =========================================================
   Public Run page chassis — 0.4.5
   ---------------------------------------------------------
   Outer geometry is owned entirely by the existing BuddyBoss/
   Conjurly page shell supplied by get_header()/get_footer().
   Event Runs styles only its own content inside #primary.
   ========================================================= */

.cnjrly-run-page-wrap {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 0 40px;
  font-family: "IBM Plex Sans", sans-serif;
}
.cnjrly-run-page-card,
.cnjrly-run-summary {
  background: #fff;
  border: 1px solid var(--cj-border-light, #e6e7eb);
  border-radius: var(--cj-radius-card, 14px);
  box-shadow: var(--cj-shadow-card, 0 1px 4px rgba(0,0,0,.04));
}
.cnjrly-run-page-card { margin-bottom: var(--cj-gap-card, 18px); }
.cnjrly-run-page-card--hero {
  overflow: hidden !important;
  padding: 0;
  border-radius: var(--cj-radius-card, 14px) !important;
}
.cnjrly-run-page-card__body { padding: var(--cj-space-card, 24px); }

/*
 * Event-run hero image: exact geometry from Conjurly TEC feed cards.
 * Keep these rules in lock-step with TEC Enhancements.
 */
.cnjrly-event-run-page .cnjrly-run-hero-media.cnjrly-tec-feed__media {
  width: 100%;
  background: var(--cj-border-light, #e6e7eb);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
  border-radius: var(--cj-radius-card, 14px) var(--cj-radius-card, 14px) 0 0 !important;
}
.cnjrly-event-run-page .cnjrly-run-hero-thumb.cnjrly-tec-feed__thumb {
  position: relative;
  width: 100% !important;
  height: auto !important;
  max-height: 300px !important;
  aspect-ratio: auto !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: var(--cj-border-light, #e6e7eb);
  border-radius: var(--cj-radius-card, 14px) var(--cj-radius-card, 14px) 0 0 !important;
}
.cnjrly-event-run-page .cnjrly-run-hero-thumb.cnjrly-tec-feed__thumb::before {
  content: '';
  position: absolute;
  inset: -20px;
  background-image: var(--cnjrly-thumb-bg, none);
  background-size: cover;
  background-position: center;
  filter: blur(18px);
  opacity: 0.85;
  z-index: 0;
}
.cnjrly-event-run-page .cnjrly-run-page-card .cnjrly-run-hero-thumb.cnjrly-tec-feed__thumb img.cnjrly-run-hero-image {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  width: min(100%, calc(300px * var(--cnjrly-thumb-ratio, 999))) !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 300px !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: top center !important;
  margin: 0 auto !important;
  flex: 0 0 auto !important;
  border-radius: 0 !important;
}
.cnjrly-run-page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }
.cnjrly-run-page-heading h1 {
  margin:0;
  color:var(--bb-headings-color,#4c187e);
  font-family:"IBM Plex Sans Condensed","IBM Plex Sans",sans-serif;
  font-size:clamp(2rem,3vw,2.5rem);
  line-height:1.12;
}
.cnjrly-run-eyebrow { margin:0 0 6px; color:var(--bb-alternate-text-color,#6b6b6b); font-size:.8rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.cnjrly-run-count { flex:0 0 auto; color:var(--bb-alternate-text-color,#6b6b6b); font-size:.9rem; }
.cnjrly-run-summary { overflow:hidden; }
.cnjrly-run-month-block + .cnjrly-run-month-block { border-top:1px solid var(--cj-divider, rgba(0,0,0,.05)); }
.cnjrly-run-month-title {
  margin:0;
  padding:14px 20px;
  background:#fafafa;
  border-bottom:1px solid var(--cj-divider, rgba(0,0,0,.05));
  font-family:"IBM Plex Sans Condensed","IBM Plex Sans",sans-serif;
  font-size:1.1rem;
  color:var(--bb-headings-color,#4c187e);
}
.cnjrly-run-event-row { display:grid; grid-template-columns:76px minmax(0,1fr); gap:18px; padding:18px 20px; }
.cnjrly-run-event-row + .cnjrly-run-event-row { border-top:1px solid var(--cj-divider, rgba(0,0,0,.05)); }
.cnjrly-run-date-tag { text-align:center; align-self:start; }
.cnjrly-run-date-weekday { display:block; font-size:.78rem; font-weight:600; text-transform:uppercase; color:var(--bb-alternate-text-color,#6b6b6b); }
.cnjrly-run-date-daynum { display:block; margin-top:2px; font-family:"IBM Plex Sans Condensed","IBM Plex Sans",sans-serif; font-size:1.8rem; line-height:1; color:var(--bb-headings-color,#4c187e); }
.cnjrly-run-event-details { min-width:0; }
.cnjrly-run-event-time { margin-bottom:5px; color:var(--bb-alternate-text-color,#6b6b6b); font-size:.92rem; }
.cnjrly-run-event-title { margin:0; font-family:"IBM Plex Sans Condensed","IBM Plex Sans",sans-serif; font-size:1.25rem; line-height:1.25; }
.cnjrly-run-event-title a { color:var(--cj-link,#6f4697); text-decoration:none; }
.cnjrly-run-event-title a:hover { color:var(--cj-link-hover,#9a7ee0); text-decoration:underline; text-underline-offset:.18em; }

/* Fallback styles if Conjurly TEC Enhancements is not supplying the shared pill CSS. */
.cnjrly-event-run-series-button { margin-bottom: var(--cj-gap-card, 18px); }
.cnjrly-event-run-series-button .cnjrly-tec-series-standalone__link {
  display:inline-flex; align-items:center; gap:.4rem; padding:.45rem .85rem;
  background:#fff; border:1px solid var(--cj-border-light,#e6e7eb); border-radius:var(--cj-radius-btn,10px);
  box-shadow:var(--cj-shadow-card,0 1px 4px rgba(0,0,0,.04)); font-family:"IBM Plex Sans",sans-serif;
  font-size:.88rem; font-weight:500; color:var(--cj-indigo,#4c187e); text-decoration:none;
}
.cnjrly-event-run-series-button .cnjrly-tec-series-standalone__link:hover { border-color:var(--cj-indigo,#4c187e); background:rgba(76,24,126,.06); color:var(--cj-indigo,#4c187e); }

@media (max-width: 782px) {
  .cnjrly-run-page-wrap {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 0 28px;
  }

.cnjrly-run-page-card__body { padding:16px; }
  .cnjrly-run-page-heading { align-items:flex-start; flex-direction:column; gap:10px; }
  .cnjrly-run-page-heading h1 { font-size:2rem; line-height:1.12; }
  .cnjrly-run-eyebrow { font-size:.78rem; margin-bottom:5px; }
  .cnjrly-run-count { font-size:.9rem; }
  .cnjrly-run-month-title { padding:12px 15px; font-size:1rem; }
  .cnjrly-run-event-row { grid-template-columns:58px minmax(0,1fr); gap:12px; padding:15px; }
  .cnjrly-run-date-daynum { font-size:1.65rem; }
  .cnjrly-run-event-title { font-size:1.12rem; line-height:1.25; }
  .cnjrly-run-event-time { font-size:.86rem; }
}

@media (max-width: 430px) {
  .cnjrly-run-page-heading h1 { font-size:1.9rem; }
  .cnjrly-run-page-card__body { padding:15px; }
  .cnjrly-run-event-row { padding:14px 12px; }
}
