/* CurioSpark v8.49.1 - Programs and Calendar card visual parity. Presentation only. */

/* Shared card stock */
body.programs-marketplace-page .program-marketplace-grid,
.programs-calendar-page .v8491-calendar-course-list {
  align-items: stretch !important;
  grid-auto-rows: 1fr;
}
body.programs-marketplace-page .v8491-course-card,
.programs-calendar-page .v8491-calendar-card {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto;
  height: 100%;
  min-height: 100%;
  padding: clamp(1.15rem, 2.2vw, 1.45rem) !important;
  border: 1px solid rgba(95, 37, 121, .14) !important;
  border-radius: 1.55rem !important;
  background: linear-gradient(135deg, #fff 0%, #fffdf8 50%, #fbf7ff 100%) !important;
  box-shadow: 0 18px 38px rgba(69, 25, 91, .10) !important;
  overflow: hidden;
}
body.programs-marketplace-page .v8491-course-card .program-card-topline,
.programs-calendar-page .v8491-calendar-card .program-card-topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .7rem;
  min-height: 3rem;
  margin-bottom: 1rem;
}
body.programs-marketplace-page .v8491-course-card .program-date-chip,
.programs-calendar-page .v8491-calendar-card .program-date-chip {
  max-width: 100%;
  white-space: normal;
  line-height: 1.2;
}
body.programs-marketplace-page .v8491-course-card .program-card-body,
.programs-calendar-page .v8491-calendar-card .program-card-body {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr);
  gap: .95rem;
  min-width: 0;
}
body.programs-marketplace-page .v8491-course-card .program-card-heading-row,
.programs-calendar-page .v8491-calendar-card .program-card-heading-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 4.6rem;
  align-items: start !important;
  gap: 1rem !important;
  min-height: 7.35rem;
}
body.programs-marketplace-page .v8491-course-card .program-card-title-block,
.programs-calendar-page .v8491-calendar-card .program-card-title-block {
  min-width: 0;
}
body.programs-marketplace-page .v8491-course-card .program-card-title-block h2,
.programs-calendar-page .v8491-calendar-card .program-card-title-block h2,
.programs-calendar-page .v8491-calendar-card .program-card-title-block h3 {
  margin: 0;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
body.programs-marketplace-page .v8491-course-card .program-card-description-zone,
.programs-calendar-page .v8491-calendar-card .program-card-description-zone {
  display: grid;
  min-height: 16.25rem;
}
body.programs-marketplace-page .v8491-course-card .program-description-group {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto;
  height: 100%;
  margin: 0 !important;
}
body.programs-marketplace-page .v8491-course-card .program-description,
.programs-calendar-page .v8491-calendar-card .program-description {
  min-width: 0;
}
body.programs-marketplace-page .v8491-course-card .program-details-toggle {
  align-self: end;
  min-height: 2.5rem;
  margin-top: .55rem !important;
  padding: .4rem 0 !important;
}
body.programs-marketplace-page .v8491-course-card .program-card-footer,
.programs-calendar-page .v8491-calendar-card .program-card-footer {
  display: grid;
  gap: .8rem;
  margin-top: 1rem;
}
body.programs-marketplace-page .v8491-course-card .program-meta-stack,
.programs-calendar-page .v8491-calendar-card .program-meta-stack {
  display: grid;
  grid-template-rows: minmax(2.6rem, auto) minmax(2.6rem, auto);
  gap: .5rem;
  min-height: 5.7rem;
}
.programs-calendar-page .v8491-calendar-card .program-meta-stack {
  grid-template-rows: minmax(2.6rem, auto);
  min-height: 2.6rem;
}
body.programs-marketplace-page .v8491-course-card .program-meta,
.programs-calendar-page .v8491-calendar-card .program-meta {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: flex-start;
  gap: .45rem;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
body.programs-marketplace-page .v8491-course-card .program-meta--status {
  justify-content: flex-end;
}
body.programs-marketplace-page .v8491-course-card .program-card-actions,
.programs-calendar-page .v8491-calendar-card .program-card-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: .65rem;
  min-height: 4.2rem;
  margin: 0 !important;
  padding-top: .85rem !important;
  border-top: 1px solid rgba(95, 37, 121, .10) !important;
}
body.programs-marketplace-page .v8491-course-card .program-card-actions > .button,
body.programs-marketplace-page .v8491-course-card .program-card-actions > button,
.programs-calendar-page .v8491-calendar-card .program-card-actions > .button,
.programs-calendar-page .v8491-calendar-card .program-card-actions > button {
  min-width: min(100%, 14.5rem);
  min-height: 3rem;
  justify-content: center;
  text-align: center;
}

/* Distinct, title-first subject visuals. */
body.programs-marketplace-page .v8491-program-visual,
.programs-calendar-page .v8491-calendar-visual {
  width: 4.6rem !important;
  height: 4.6rem !important;
  min-width: 4.6rem !important;
  display: grid !important;
  place-items: center;
  border-radius: 1.2rem !important;
  border: 1px solid rgba(95, 37, 121, .13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 10px 20px rgba(69,25,91,.09) !important;
  overflow: hidden;
}
body.programs-marketplace-page .v8491-program-visual img,
.programs-calendar-page .v8491-calendar-visual img {
  width: 3.25rem !important;
  height: 3.25rem !important;
  display: block;
  object-fit: contain;
}
.program-card-visual--banned-books { background: linear-gradient(145deg, #fff1aa, #f0e2ff) !important; }
.program-card-visual--rebel-readers { background: linear-gradient(145deg, #e9fff4, #fff0d6) !important; }
.program-card-visual--english-lit { background: linear-gradient(145deg, #ffe8f1, #efe6ff) !important; }
.program-card-visual--letter-lab { background: linear-gradient(145deg, #fff5b9, #e6f8ef) !important; }
.program-card-visual--math { background: linear-gradient(145deg, #e8efff, #f2e5ff) !important; }
.program-card-visual--adventure { background: linear-gradient(145deg, #eee4ff, #fff1b9) !important; }
.program-card-visual--little-adventure { background: linear-gradient(145deg, #fff6c7, #e9f5ff) !important; }
.program-card-visual--hydro { background: linear-gradient(145deg, #dcf7ff, #e5f8e7) !important; }
.program-card-visual--science { background: linear-gradient(145deg, #e2fbf0, #fff4bb) !important; }
.program-card-visual--nature { background: linear-gradient(145deg, #e5f8e7, #f6f1d6) !important; }
.program-card-visual--world { background: linear-gradient(145deg, #e5f4ff, #e8f8ec) !important; }
.program-card-visual--community { background: linear-gradient(145deg, #fff1e7, #f5e9ff) !important; }
.program-card-visual--creative { background: linear-gradient(145deg, #fff0df, #f2e6fb) !important; }
.program-card-visual--reading { background: linear-gradient(145deg, #fff8d8, #f6eaff) !important; }
.program-card-visual--wonder { background: linear-gradient(145deg, #fff6bd, #efe5f8) !important; }

/* Calendar: use the same card rhythm rather than duplicate chip and fact blocks. */
.programs-calendar-page .calendar-schedule-list.v8491-calendar-course-list,
.programs-calendar-page .upcoming-open-grid.v8491-calendar-course-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.35rem) !important;
}
.programs-calendar-page .v8491-calendar-card {
  max-width: none !important;
}
.programs-calendar-page .v8491-calendar-detail-card {
  width: 100%;
  max-width: 1120px !important;
  min-height: 0;
}
.programs-calendar-page .v8491-calendar-detail-card .program-card-description-zone {
  min-height: 9rem;
}
.programs-calendar-page .v8491-calendar-card .calendar-schedule-copy,
.programs-calendar-page .v8491-calendar-card .calendar-detail-copy {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.programs-calendar-page .v8491-calendar-card .calendar-inline-details,
.programs-calendar-page .v8491-calendar-card .calendar-detail-toggle,
.programs-calendar-page .v8491-calendar-card .program-card-actions > button:not(.button) {
  border: 1px solid rgba(95,37,121,.20);
  border-radius: 999px;
  background: #fff;
  color: #5f2579;
  font: inherit;
  font-weight: 900;
  padding: .72rem 1rem;
  cursor: pointer;
}
.programs-calendar-page .v8491-calendar-card .calendar-registration-note {
  flex: 1 1 100%;
  margin: 0;
  color: #6a5970;
  line-height: 1.45;
}

@media (max-width: 760px) {
  body.programs-marketplace-page .v8491-course-card,
  .programs-calendar-page .v8491-calendar-card {
    display: grid !important;
    padding: 1rem !important;
  }
  body.programs-marketplace-page .v8491-course-card .program-card-heading-row,
  .programs-calendar-page .v8491-calendar-card .program-card-heading-row {
    grid-template-columns: minmax(0, 1fr) 3.8rem;
    min-height: 0;
    gap: .75rem !important;
  }
  body.programs-marketplace-page .v8491-course-card .program-card-description-zone,
  .programs-calendar-page .v8491-calendar-card .program-card-description-zone,
  body.programs-marketplace-page .v8491-course-card .program-meta-stack,
  .programs-calendar-page .v8491-calendar-card .program-meta-stack,
  body.programs-marketplace-page .v8491-course-card .program-card-actions,
  .programs-calendar-page .v8491-calendar-card .program-card-actions {
    min-height: 0;
  }
  body.programs-marketplace-page .v8491-course-card .program-meta-stack,
  .programs-calendar-page .v8491-calendar-card .program-meta-stack {
    grid-template-rows: auto;
  }
  body.programs-marketplace-page .v8491-course-card .program-meta--status {
    justify-content: flex-start;
  }
  body.programs-marketplace-page .v8491-program-visual,
  .programs-calendar-page .v8491-calendar-visual {
    width: 3.8rem !important;
    height: 3.8rem !important;
    min-width: 3.8rem !important;
  }
  body.programs-marketplace-page .v8491-program-visual img,
  .programs-calendar-page .v8491-calendar-visual img {
    width: 2.75rem !important;
    height: 2.75rem !important;
  }
  body.programs-marketplace-page .v8491-course-card .program-card-actions > .button,
  body.programs-marketplace-page .v8491-course-card .program-card-actions > button,
  .programs-calendar-page .v8491-calendar-card .program-card-actions > .button,
  .programs-calendar-page .v8491-calendar-card .program-card-actions > button {
    width: 100%;
    min-width: 0;
  }
}
