/* =========================================================
   REHAB CALENDAR - CLEAN DARK BASE TEST
   Replace the entire calendar.css with this for now
   ========================================================= */

/* Target the embed page itself */
html,
body,
body.events-embed,
body.tec_calendar_embed-template-default {
  margin: 0 !important;
  padding: 0 !important;
  background: #000 !important;
  background-color: #000 !important;
  color: #fff !important;
}

/* Target the main Events Calendar app wrapper */
body.events-embed .tribe-events,
body.events-embed .tribe-events-view,
body.events-embed .tribe-events-view--month,
body.events-embed .tribe-events-view--embed,
body.tec_calendar_embed-template-default .tribe-events,
body.tec_calendar_embed-template-default .tribe-events-view,
body.tec_calendar_embed-template-default .tribe-events-view--month,
body.tec_calendar_embed-template-default .tribe-events-view--embed {
  background: #000 !important;
  background-color: #000 !important;
  color: #fff !important;
}

/* This is the main inner calendar container */
body.events-embed .tribe-common-l-container.tribe-events-l-container,
body.tec_calendar_embed-template-default .tribe-common-l-container.tribe-events-l-container {
  width: 100% !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 20px !important;
  box-sizing: border-box !important;

  background:
    radial-gradient(circle at top left, rgba(255, 0, 140, 0.22), transparent 32%),
    radial-gradient(circle at bottom right, rgba(92, 225, 255, 0.16), transparent 35%),
    #050508 !important;

  border: 2px solid rgba(255, 45, 170, 0.45) !important;
  border-radius: 28px !important;

  box-shadow:
    0 0 40px rgba(255, 45, 170, 0.18),
    0 20px 60px rgba(0, 0, 0, 0.75) !important;
}

/* Kill the white calendar surfaces */
body.events-embed .tribe-events-header,
body.events-embed .tribe-events-c-top-bar,
body.events-embed .tribe-events-calendar-month,
body.events-embed .tribe-events-calendar-month__body,
body.events-embed .tribe-events-calendar-month__week,
body.events-embed .tribe-events-calendar-month__day,
body.events-embed .tribe-events-calendar-month__day-cell,
body.events-embed .tribe-events-calendar-month__day-cell--desktop,
body.events-embed .tribe-events-calendar-month__day-cell--mobile,
body.tec_calendar_embed-template-default .tribe-events-header,
body.tec_calendar_embed-template-default .tribe-events-c-top-bar,
body.tec_calendar_embed-template-default .tribe-events-calendar-month,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__body,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__week,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__day,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__day-cell,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__day-cell--desktop,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__day-cell--mobile {
  background: transparent !important;
  background-color: transparent !important;
}

/* Basic readable text */
body.events-embed .tribe-events *,
body.tec_calendar_embed-template-default .tribe-events * {
  color: #fff !important;
}

/* Day cells */
body.events-embed .tribe-events-calendar-month__day,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__day {
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.035) !important;
}

/* Event cards */
body.events-embed .tribe-events-calendar-month__calendar-event,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event {
  margin-top: 6px !important;
  padding: 7px 8px !important;
  border-radius: 10px !important;
  background: rgba(255, 45, 170, 0.25) !important;
  border-left: 4px solid #ff2daa !important;
}

/* =========================================================
   STEP 8 - HEADER / MONTH NAVIGATION
   ========================================================= */

body.events-embed .tribe-events-header,
body.tec_calendar_embed-template-default .tribe-events-header {
  margin: 0 0 14px !important;
  padding: 0 !important;
  background: transparent !important;
}

body.events-embed .tribe-events-c-top-bar,
body.tec_calendar_embed-template-default .tribe-events-c-top-bar {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 4px 16px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  background: transparent !important;
}

/* Main month title */
body.events-embed .tribe-events-c-top-bar__datepicker-button,
body.events-embed .tribe-events-c-top-bar__datepicker-time,
body.events-embed .tribe-events-c-top-bar__datepicker-desktop,
body.tec_calendar_embed-template-default .tribe-events-c-top-bar__datepicker-button,
body.tec_calendar_embed-template-default .tribe-events-c-top-bar__datepicker-time,
body.tec_calendar_embed-template-default .tribe-events-c-top-bar__datepicker-desktop {
  color: #ffffff !important;
  font-family: "Montserrat", "Inter", Arial, sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

body.events-embed .tribe-events-c-top-bar__datepicker-button,
body.tec_calendar_embed-template-default .tribe-events-c-top-bar__datepicker-button {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.events-embed .tribe-events-c-top-bar__datepicker-desktop,
body.tec_calendar_embed-template-default .tribe-events-c-top-bar__datepicker-desktop {
  font-size: clamp(1.8rem, 3vw, 3.1rem) !important;
  line-height: 1 !important;
}

/* Previous / next arrows */
body.events-embed .tribe-events-c-top-bar__nav-link,
body.events-embed .tribe-common-c-btn-icon,
body.tec_calendar_embed-template-default .tribe-events-c-top-bar__nav-link,
body.tec_calendar_embed-template-default .tribe-common-c-btn-icon {
  width: 38px !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: rgba(255, 255, 255, 0.075) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.events-embed .tribe-events-c-top-bar__nav-link:hover,
body.events-embed .tribe-common-c-btn-icon:hover,
body.tec_calendar_embed-template-default .tribe-events-c-top-bar__nav-link:hover,
body.tec_calendar_embed-template-default .tribe-common-c-btn-icon:hover {
  background: rgba(255, 45, 170, 0.20) !important;
  border-color: rgba(255, 45, 170, 0.55) !important;
}

/* Today button */
body.events-embed .tribe-events-c-top-bar__today-button,
body.tec_calendar_embed-template-default .tribe-events-c-top-bar__today-button {
  padding: 9px 16px !important;
  border-radius: 999px !important;

  background: linear-gradient(135deg, #ff2daa, #d61f45) !important;
  border: none !important;

  color: #ffffff !important;
  font-family: "Montserrat", "Inter", Arial, sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;

  box-shadow: 0 0 20px rgba(255, 45, 170, 0.30) !important;
}

/* =========================================================
   STEP 9 - MONTH GRID / DAY CELLS
   ========================================================= */

body.events-embed .tribe-events-calendar-month,
body.tec_calendar_embed-template-default .tribe-events-calendar-month {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 7px !important;
  table-layout: fixed !important;
  background: transparent !important;
}

/* Day of week labels */
body.events-embed .tribe-events-calendar-month__header-column,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__header-column {
  padding-bottom: 6px !important;
}

body.events-embed .tribe-events-calendar-month__header-column-title,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__header-column-title {
  color: #ffb8de !important;
  font-family: "Montserrat", "Inter", Arial, sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

/* Individual day cells */
body.events-embed .tribe-events-calendar-month__day,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__day {
  height: clamp(105px, 13vh, 148px) !important;
  vertical-align: top !important;

  border-radius: 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.11) !important;

  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.050), rgba(255, 255, 255, 0.020)) !important;

  overflow: hidden !important;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

body.events-embed .tribe-events-calendar-month__day:hover,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__day:hover {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.080), rgba(255, 255, 255, 0.030)) !important;

  border-color: rgba(255, 45, 170, 0.36) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 45, 170, 0.10) !important;
}

/* Other month days */
body.events-embed .tribe-events-calendar-month__day--other-month,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__day--other-month {
  opacity: 0.42 !important;
}

/* Today */
body.events-embed .tribe-events-calendar-month__day--current,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__day--current {
  border-color: rgba(255, 45, 170, 0.60) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 45, 170, 0.22),
    0 0 22px rgba(255, 45, 170, 0.14) !important;
}

/* Day number */
body.events-embed .tribe-events-calendar-month__day-date,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__day-date {
  padding: 8px 10px 4px !important;
  color: rgba(255, 255, 255, 0.76) !important;

  font-family: "Montserrat", "Inter", Arial, sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body.events-embed .tribe-events-calendar-month__day-date-link,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__day-date-link {
  color: inherit !important;
  text-decoration: none !important;
}

body.events-embed .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,
body.events-embed .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link {
  color: #ffffff !important;
  text-shadow: 0 0 14px rgba(255, 45, 170, 0.75) !important;
}

/* =========================================================
   STEP 10 FIX - DIRECT CATEGORY EVENT COLORS
   Paste at the VERY BOTTOM of calendar.css
   ========================================================= */

/* Reset desktop event shell */
body.events-embed .tribe-events-calendar-month__calendar-event,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Reset desktop event card inner */
body.events-embed .tribe-events-calendar-month__calendar-event > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event > .tribe-events-calendar-month__calendar-event-details {
  padding: 7px 8px !important;
  border-radius: 11px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-left-width: 4px !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    0 0 14px rgba(255, 45, 170, 0.24) !important;
}

/* Messy Monday */
body.events-embed .tribe-events-calendar-month__calendar-event.tribe_events_cat-messy-monday > .tribe-events-calendar-month__calendar-event-details,
body.events-embed .tribe-events-calendar-month__calendar-event.cat_messy-monday > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event.tribe_events_cat-messy-monday > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event.cat_messy-monday > .tribe-events-calendar-month__calendar-event-details {
  background: linear-gradient(135deg, rgba(255, 45, 170, 0.38), rgba(255, 120, 0, 0.16)) !important;
  border-left-color: #ff2daa !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    0 0 16px rgba(255, 45, 170, 0.36) !important;
}

/* Midweek Microdose */
body.events-embed .tribe-events-calendar-month__calendar-event.tribe_events_cat-midweek-microdose > .tribe-events-calendar-month__calendar-event-details,
body.events-embed .tribe-events-calendar-month__calendar-event.cat_midweek-microdose > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event.tribe_events_cat-midweek-microdose > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event.cat_midweek-microdose > .tribe-events-calendar-month__calendar-event-details {
  background: linear-gradient(135deg, rgba(214, 31, 69, 0.42), rgba(245, 156, 184, 0.16)) !important;
  border-left-color: #d61f45 !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    0 0 16px rgba(214, 31, 69, 0.38) !important;
}

/* Think and Drink */
body.events-embed .tribe-events-calendar-month__calendar-event.tribe_events_cat-think-and-drink > .tribe-events-calendar-month__calendar-event-details,
body.events-embed .tribe-events-calendar-month__calendar-event.cat_think-and-drink > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event.tribe_events_cat-think-and-drink > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event.cat_think-and-drink > .tribe-events-calendar-month__calendar-event-details {
  background: linear-gradient(135deg, rgba(245, 166, 35, 0.42), rgba(120, 68, 6, 0.20)) !important;
  border-left-color: #f5a623 !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    0 0 16px rgba(245, 166, 35, 0.34) !important;
}

/* Frosty Fridays */
body.events-embed .tribe-events-calendar-month__calendar-event.tribe_events_cat-frosty-fridays > .tribe-events-calendar-month__calendar-event-details,
body.events-embed .tribe-events-calendar-month__calendar-event.cat_frosty-fridays > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event.tribe_events_cat-frosty-fridays > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event.cat_frosty-fridays > .tribe-events-calendar-month__calendar-event-details {
  background: linear-gradient(135deg, rgba(92, 225, 255, 0.38), rgba(40, 88, 255, 0.18)) !important;
  border-left-color: #5ce1ff !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    0 0 16px rgba(92, 225, 255, 0.36) !important;
}

/* Divas of the Grove */
body.events-embed .tribe-events-calendar-month__calendar-event.tribe_events_cat-divas-of-the-grove > .tribe-events-calendar-month__calendar-event-details,
body.events-embed .tribe-events-calendar-month__calendar-event.cat_divas-of-the-grove > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event.tribe_events_cat-divas-of-the-grove > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event.cat_divas-of-the-grove > .tribe-events-calendar-month__calendar-event-details {
  background: linear-gradient(135deg, rgba(233, 30, 99, 0.40), rgba(255, 214, 120, 0.16)) !important;
  border-left-color: #e91e63 !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    0 0 16px rgba(233, 30, 99, 0.36) !important;
}

/* Keep event text readable */
body.events-embed .tribe-events-calendar-month__calendar-event-title,
body.events-embed .tribe-events-calendar-month__calendar-event-title-link,
body.events-embed .tribe-events-calendar-month__calendar-event-datetime,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event-title,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event-title-link,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event-datetime {
  color: #ffffff !important;
}

/* Hover polish */
body.events-embed .tribe-events-calendar-month__calendar-event:hover > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event:hover > .tribe-events-calendar-month__calendar-event-details {
  transform: translateY(-1px) !important;
  filter: brightness(1.12) saturate(1.08) !important;
}

/* =========================================================
   STEP 11 - HIDE CLUTTER
   ========================================================= */

/* Hide series / recurring icon */
body.events-embed .tribe-events-calendar-series-archive__container,
body.events-embed .tribe-events-calendar-series-archive__link,
body.events-embed .tribe-events-series-archive__icon,
body.tec_calendar_embed-template-default .tribe-events-calendar-series-archive__container,
body.tec_calendar_embed-template-default .tribe-events-calendar-series-archive__link,
body.tec_calendar_embed-template-default .tribe-events-series-archive__icon {
  display: none !important;
}

/* Optional: hide category color filter if it feels too busy */
body.events-embed .tec-events-category-color-filter,
body.tec_calendar_embed-template-default .tec-events-category-color-filter {
  display: none !important;
}

/* =========================================================
   STEP 12 - MOBILE CLEANUP
   ========================================================= */

@media (max-width: 767px) {
  body.events-embed .tribe-common-l-container.tribe-events-l-container,
  body.tec_calendar_embed-template-default .tribe-common-l-container.tribe-events-l-container {
    padding: 12px !important;
    border-radius: 18px !important;
  }

  body.events-embed .tribe-events-c-top-bar,
  body.tec_calendar_embed-template-default .tribe-events-c-top-bar {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  body.events-embed .tribe-events-c-top-bar__datepicker-desktop,
  body.tec_calendar_embed-template-default .tribe-events-c-top-bar__datepicker-desktop {
    font-size: 1.65rem !important;
  }

  body.events-embed .tribe-events-calendar-month,
  body.tec_calendar_embed-template-default .tribe-events-calendar-month {
    border-spacing: 4px !important;
  }

  body.events-embed .tribe-events-calendar-month__day,
  body.tec_calendar_embed-template-default .tribe-events-calendar-month__day {
    height: 90px !important;
    border-radius: 12px !important;
  }

  body.events-embed .tribe-events-calendar-month__day-date,
  body.tec_calendar_embed-template-default .tribe-events-calendar-month__day-date {
    padding: 6px 7px 3px !important;
    font-size: 0.72rem !important;
  }

  body.events-embed .tribe-events-calendar-month__events,
  body.tec_calendar_embed-template-default .tribe-events-calendar-month__events {
    padding: 0 4px 5px !important;
  }

  body.events-embed .tribe-events-calendar-month__calendar-event-details,
  body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event-details {
    padding: 5px 6px !important;
    border-radius: 8px !important;
    border-left-width: 3px !important;
  }

  body.events-embed .tribe-events-calendar-month__calendar-event-datetime,
  body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event-datetime {
    display: none !important;
  }

  body.events-embed .tribe-events-calendar-month__calendar-event-title,
  body.events-embed .tribe-events-calendar-month__calendar-event-title-link,
  body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event-title,
  body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event-title-link {
    font-size: 0.56rem !important;
    letter-spacing: 0.02em !important;
    line-height: 1.05 !important;
  }
}

/* =========================================================
   STEP 10B FIX - CHILD SHOW CATEGORIES OVERRIDE DRAG SHOW
   Paste at the VERY BOTTOM of calendar.css
   ========================================================= */

/* First: neutralize generic event cards and parent Drag Show color */
body.events-embed .tribe-events .tribe-events-calendar-month__calendar-event,
body.tec_calendar_embed-template-default .tribe-events .tribe-events-calendar-month__calendar-event {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Neutral default card, only used if no child show category matches */
body.events-embed .tribe-events .tribe-events-calendar-month__calendar-event > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events .tribe-events-calendar-month__calendar-event > .tribe-events-calendar-month__calendar-event-details {
  padding: 7px 8px !important;
  border-radius: 11px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-left: 4px solid rgba(255, 255, 255, 0.35) !important;
  background: rgba(255, 255, 255, 0.055) !important;
  background-color: rgba(255, 255, 255, 0.055) !important;
  box-shadow: none !important;
}

/* Specifically prevent parent Drag Show from forcing everything pink */
body.events-embed .tribe-events .tribe-events-calendar-month__calendar-event.tribe_events_cat-drag-show > .tribe-events-calendar-month__calendar-event-details,
body.events-embed .tribe-events .tribe-events-calendar-month__calendar-event.cat_drag-show > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events .tribe-events-calendar-month__calendar-event.tribe_events_cat-drag-show > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events .tribe-events-calendar-month__calendar-event.cat_drag-show > .tribe-events-calendar-month__calendar-event-details {
  background: rgba(255, 255, 255, 0.055) !important;
  background-color: rgba(255, 255, 255, 0.055) !important;
  border-left-color: rgba(255, 255, 255, 0.35) !important;
  box-shadow: none !important;
}

/* Messy Monday */
body.events-embed .tribe-events .tribe-events-calendar-month__calendar-event.tribe_events_cat-messy-monday > .tribe-events-calendar-month__calendar-event-details,
body.events-embed .tribe-events .tribe-events-calendar-month__calendar-event.cat_messy-monday > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events .tribe-events-calendar-month__calendar-event.tribe_events_cat-messy-monday > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events .tribe-events-calendar-month__calendar-event.cat_messy-monday > .tribe-events-calendar-month__calendar-event-details {
  background: linear-gradient(135deg, rgba(255, 45, 170, 0.42), rgba(255, 120, 0, 0.18)) !important;
  background-color: rgba(255, 45, 170, 0.42) !important;
  border-left-color: #ff2daa !important;
  box-shadow: 0 0 16px rgba(255, 45, 170, 0.36) !important;
}

/* Midweek Microdose */
body.events-embed .tribe-events .tribe-events-calendar-month__calendar-event.tribe_events_cat-midweek-microdose > .tribe-events-calendar-month__calendar-event-details,
body.events-embed .tribe-events .tribe-events-calendar-month__calendar-event.cat_midweek-microdose > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events .tribe-events-calendar-month__calendar-event.tribe_events_cat-midweek-microdose > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events .tribe-events-calendar-month__calendar-event.cat_midweek-microdose > .tribe-events-calendar-month__calendar-event-details {
  background: linear-gradient(135deg, rgba(214, 31, 69, 0.44), rgba(245, 156, 184, 0.18)) !important;
  background-color: rgba(214, 31, 69, 0.44) !important;
  border-left-color: #d61f45 !important;
  box-shadow: 0 0 16px rgba(214, 31, 69, 0.38) !important;
}

/* Think and Drink */
body.events-embed .tribe-events .tribe-events-calendar-month__calendar-event.tribe_events_cat-think-and-drink > .tribe-events-calendar-month__calendar-event-details,
body.events-embed .tribe-events .tribe-events-calendar-month__calendar-event.cat_think-and-drink > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events .tribe-events-calendar-month__calendar-event.tribe_events_cat-think-and-drink > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events .tribe-events-calendar-month__calendar-event.cat_think-and-drink > .tribe-events-calendar-month__calendar-event-details {
  background: linear-gradient(135deg, rgba(245, 166, 35, 0.48), rgba(120, 68, 6, 0.24)) !important;
  background-color: rgba(245, 166, 35, 0.48) !important;
  border-left-color: #f5a623 !important;
  box-shadow: 0 0 16px rgba(245, 166, 35, 0.36) !important;
}

/* Frosty Fridays */
body.events-embed .tribe-events .tribe-events-calendar-month__calendar-event.tribe_events_cat-frosty-fridays > .tribe-events-calendar-month__calendar-event-details,
body.events-embed .tribe-events .tribe-events-calendar-month__calendar-event.cat_frosty-fridays > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events .tribe-events-calendar-month__calendar-event.tribe_events_cat-frosty-fridays > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events .tribe-events-calendar-month__calendar-event.cat_frosty-fridays > .tribe-events-calendar-month__calendar-event-details {
  background: linear-gradient(135deg, rgba(92, 225, 255, 0.42), rgba(40, 88, 255, 0.20)) !important;
  background-color: rgba(92, 225, 255, 0.42) !important;
  border-left-color: #5ce1ff !important;
  box-shadow: 0 0 16px rgba(92, 225, 255, 0.38) !important;
}

/* Divas of the Grove */
body.events-embed .tribe-events .tribe-events-calendar-month__calendar-event.tribe_events_cat-divas-of-the-grove > .tribe-events-calendar-month__calendar-event-details,
body.events-embed .tribe-events .tribe-events-calendar-month__calendar-event.cat_divas-of-the-grove > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events .tribe-events-calendar-month__calendar-event.tribe_events_cat-divas-of-the-grove > .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events .tribe-events-calendar-month__calendar-event.cat_divas-of-the-grove > .tribe-events-calendar-month__calendar-event-details {
  background: linear-gradient(135deg, rgba(233, 30, 99, 0.44), rgba(255, 214, 120, 0.18)) !important;
  background-color: rgba(233, 30, 99, 0.44) !important;
  border-left-color: #e91e63 !important;
  box-shadow: 0 0 16px rgba(233, 30, 99, 0.38) !important;
}

/* Keep text readable */
body.events-embed .tribe-events .tribe-events-calendar-month__calendar-event-title,
body.events-embed .tribe-events .tribe-events-calendar-month__calendar-event-title-link,
body.events-embed .tribe-events .tribe-events-calendar-month__calendar-event-datetime,
body.tec_calendar_embed-template-default .tribe-events .tribe-events-calendar-month__calendar-event-title,
body.tec_calendar_embed-template-default .tribe-events .tribe-events-calendar-month__calendar-event-title-link,
body.tec_calendar_embed-template-default .tribe-events .tribe-events-calendar-month__calendar-event-datetime {
  color: #ffffff !important;
}

/* =========================================================
   FIX - REMOVE VERTICAL OVERFLOW IN CALENDAR EMBED
   ========================================================= */

/* Make only the iframe calendar document obey the available height */
body.events-embed,
body.tec_calendar_embed-template-default {
  height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

/* Main calendar wrapper should fit inside iframe, not exceed it */
body.events-embed .tribe-events-view--embed,
body.events-embed .tribe-events-view--month,
body.tec_calendar_embed-template-default .tribe-events-view--embed,
body.tec_calendar_embed-template-default .tribe-events-view--month {
  height: 100vh !important;
  max-height: 100vh !important;
  min-height: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  padding: 10px !important;
}

/* Inner panel */
body.events-embed .tribe-common-l-container.tribe-events-l-container,
body.tec_calendar_embed-template-default .tribe-common-l-container.tribe-events-l-container {
  height: calc(100vh - 20px) !important;
  max-height: calc(100vh - 20px) !important;
  min-height: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  padding: 14px !important;
}

/* Header takes only the space it needs */
body.events-embed .tribe-events-header,
body.tec_calendar_embed-template-default .tribe-events-header {
  flex: 0 0 auto !important;
  margin-bottom: 8px !important;
}

/* Calendar month should shrink to fit remaining space */
body.events-embed .tribe-events-calendar-month,
body.tec_calendar_embed-template-default .tribe-events-calendar-month {
  height: calc(100% - 95px) !important;
  max-height: calc(100% - 95px) !important;
  overflow: hidden !important;
  border-spacing: 5px !important;
}

/* Reduce day cell height so 6 calendar rows fit */
body.events-embed .tribe-events-calendar-month__day,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__day {
  height: clamp(82px, 11.4vh, 118px) !important;
}

/* Slightly tighten event cards */
body.events-embed .tribe-events-calendar-month__calendar-event-details,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event-details {
  padding: 5px 7px !important;
}

/* Slightly tighten event text */
body.events-embed .tribe-events-calendar-month__calendar-event-title,
body.events-embed .tribe-events-calendar-month__calendar-event-title-link,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event-title,
body.tec_calendar_embed-template-default .tribe-events-calendar-month__calendar-event-title-link {
  font-size: clamp(0.58rem, 0.65vw, 0.78rem) !important;
  line-height: 1.05 !important;
}