/* Gym Skills Events — brand styling for the Essential Addons "Event Calendar" widget (FullCalendar) */

.eael-event-calendar-wrapper,
.eael-event-calendar-wrapper .fc,
.eael-event-calendar-wrapper .fc *:not(i):not(.fc-icon),
#eaelecModal,
#eaelecModal *:not(i) {
  font-family: 'Poppins', Montserrat, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

/* five-color brand bar above the calendar */
.eael-event-calendar-wrapper::before {
  content: "";
  display: block;
  height: 6px;
  border-radius: 3px;
  margin-bottom: 22px;
  background: linear-gradient(to right,
    #FFAF00 0 20%, #7BC64D 20% 40%, #1CBBB4 40% 60%, #5790CC 60% 80%, #05458F 80% 100%);
}

/* toolbar: month title + pill buttons */
.eael-event-calendar-wrapper .fc .fc-toolbar-title {
  color: #05458F !important;
  font-weight: 800 !important;
  font-size: 28px !important;
  letter-spacing: -.01em;
}
.eael-event-calendar-wrapper .fc .fc-button,
.eael-event-calendar-wrapper .fc .fc-button-primary {
  background: #EEF3F9 !important;
  border: 0 !important;
  color: #05458F !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: capitalize;
  border-radius: 999px !important;
  padding: 8px 16px !important;
  box-shadow: none !important;
  transition: background .15s ease, color .15s ease;
}
.eael-event-calendar-wrapper .fc .fc-button-group > .fc-button { margin: 0 3px; }
.eael-event-calendar-wrapper .fc .fc-button:hover { background: #FFAF00 !important; color: #05458F !important; }
.eael-event-calendar-wrapper .fc .fc-button-primary:not(:disabled).fc-button-active,
.eael-event-calendar-wrapper .fc .fc-button-primary:not(:disabled):active {
  background: #05458F !important;
  color: #fff !important;
}
.eael-event-calendar-wrapper .fc .fc-button:disabled { opacity: .45; }
.eael-event-calendar-wrapper .fc .fc-prev-button,
.eael-event-calendar-wrapper .fc .fc-next-button { padding: 8px 12px !important; }
.eael-event-calendar-wrapper .fc .fc-button:focus-visible { outline: 3px solid #FFAF00 !important; outline-offset: 2px; }

/* grid */
.eael-event-calendar-wrapper .fc-theme-standard td,
.eael-event-calendar-wrapper .fc-theme-standard th,
.eael-event-calendar-wrapper .fc-theme-standard .fc-scrollgrid {
  border-color: #E4E9F0 !important;
}
.eael-event-calendar-wrapper .fc-theme-standard .fc-scrollgrid { border-radius: 16px; overflow: hidden; }
.eael-event-calendar-wrapper .fc .fc-col-header-cell { background: #EEF3F9 !important; }
.eael-event-calendar-wrapper .fc .fc-col-header-cell-cushion {
  color: #05458F !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 10px 4px !important;
}
.eael-event-calendar-wrapper .fc .fc-daygrid-day-number {
  color: #05458F !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 8px 10px !important;
}
.eael-event-calendar-wrapper .fc .fc-day-other .fc-daygrid-day-number { color: #A9B4C2 !important; }
.eael-event-calendar-wrapper .fc .fc-day-today { background: #FFF4D6 !important; }
.eael-event-calendar-wrapper .fc .fc-day-today .fc-daygrid-day-number {
  background: #FFAF00;
  color: #05458F !important;
  border-radius: 999px;
  margin: 6px;
  padding: 4px 9px !important;
}

/* events on the grid */
.eael-event-calendar-wrapper .fc .fc-daygrid-event,
.eael-event-calendar-wrapper .fc .fc-timegrid-event,
.eael-event-calendar-wrapper .fc .fc-h-event,
.eael-event-calendar-wrapper .fc .fc-v-event {
  background: #05458F !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 3px 10px !important;
  margin: 2px 4px !important;
  box-shadow: none !important;
}
.eael-event-calendar-wrapper .fc .fc-daygrid-event .fc-event-title,
.eael-event-calendar-wrapper .fc .fc-daygrid-event .fc-event-time,
.eael-event-calendar-wrapper .fc .fc-event-main,
.eael-event-calendar-wrapper .fc .fc-h-event .fc-event-main {
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 12px !important;
}
.eael-event-calendar-wrapper .fc .fc-daygrid-event:hover { background: #1CBBB4 !important; }
.eael-event-calendar-wrapper .fc .fc-daygrid-event:hover .fc-event-title,
.eael-event-calendar-wrapper .fc .fc-daygrid-event:hover .fc-event-time { color: #05458F !important; }
.eael-event-calendar-wrapper .fc .fc-daygrid-event-dot { border-color: #FFAF00 !important; }
.eael-event-calendar-wrapper .fc .fc-daygrid-more-link {
  color: #1CBBB4 !important;
  font-weight: 700;
  font-size: 12px;
}
.eael-event-calendar-wrapper .fc .fc-popover {
  border-radius: 14px;
  border: 1px solid #E4E9F0;
  box-shadow: 0 12px 30px rgba(5, 69, 143, .16);
  overflow: hidden;
}
.eael-event-calendar-wrapper .fc .fc-popover-header { background: #EEF3F9; color: #05458F; font-weight: 700; }

/* list view */
.eael-event-calendar-wrapper .fc .fc-list { border-radius: 16px; overflow: hidden; }
.eael-event-calendar-wrapper .fc .fc-list-day-cushion { background: #EEF3F9 !important; }
.eael-event-calendar-wrapper .fc .fc-list-day-text,
.eael-event-calendar-wrapper .fc .fc-list-day-side-text { color: #05458F !important; font-weight: 700; }
.eael-event-calendar-wrapper .fc .fc-list-event-title a { color: #05458F !important; font-weight: 700; }
.eael-event-calendar-wrapper .fc .fc-list-event:hover td { background: #E4F3F1 !important; }
.eael-event-calendar-wrapper .fc .fc-list-event-dot { border-color: #FFAF00 !important; }
.eael-event-calendar-wrapper .fc .fc-list-event-time { color: #5B6B7F; }

/* filled-in event pills: time + title */
.eael-event-calendar-wrapper .fc .gse-ev {
  display: flex !important;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.eael-event-calendar-wrapper .fc .gse-ev-time { font-weight: 500 !important; opacity: .85; flex: none; }
.eael-event-calendar-wrapper .fc .gse-ev-title { overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.eael-event-calendar-wrapper .fc .fc-daygrid-event { min-height: 0; line-height: 1.35; }

/* ---- the event popup ---- */
#eaelecModal .eaelec-modal-content {
  border-radius: 22px !important;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(5, 69, 143, .28) !important;
  border: 0 !important;
}
#eaelecModal .eaelec-modal-header {
  background: #05458F !important;
  padding: 26px 30px 22px !important;
  border: 0 !important;
}
#eaelecModal .eaelec-modal-header::before {
  content: "";
  display: block;
  height: 6px;
  border-radius: 3px;
  width: 120px;
  margin-bottom: 16px;
  background: linear-gradient(to right,
    #FFAF00 0 20%, #7BC64D 20% 40%, #1CBBB4 40% 60%, #5790CC 60% 80%, #ADCBEA 80% 100%);
}
#eaelecModal .eael-ec-modal-title {
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 26px !important;
  line-height: 1.15 !important;
  margin: 0 0 10px !important;
}
#eaelecModal .eaelec-event-popup-date,
#eaelecModal .eaelec-event-popup-location {
  color: #1CBBB4 !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}
#eaelecModal .eaelec-event-popup-date i,
#eaelecModal .eaelec-event-popup-location i { color: #FFAF00 !important; }
#eaelecModal .eaelec-modal-header { padding-right: 70px !important; }
#eaelecModal .eaelec-modal-close {
  top: 18px !important;
  right: 18px !important;
  background: rgba(255, 255, 255, .16) !important;
  border-radius: 999px;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
}
#eaelecModal .eaelec-modal-close span,
#eaelecModal .eaelec-modal-close i { color: #fff !important; }
#eaelecModal .eaelec-modal-close:hover { background: #FFAF00 !important; }
#eaelecModal .eaelec-modal-close:hover i { color: #05458F !important; }
#eaelecModal .eaelec-modal-body {
  min-height: 0 !important;
  padding: 24px 30px !important;
  color: #333 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  background: #fff !important;
}
#eaelecModal .eaelec-modal-body img { border-radius: 14px; max-width: 100%; height: auto; }
#eaelecModal .eaelec-modal-footer {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  padding: 0 30px 26px !important;
  background: #fff !important;
  border: 0 !important;
}
#eaelecModal .eaelec-modal-footer a.eaelec-event-details-link {
  display: inline-flex !important;
  align-items: center;
  padding: 11px 20px !important;
  border-radius: 999px !important;
  border: 2px solid #05458F !important;
  background: #fff !important;
  color: #05458F !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: background .15s ease, color .15s ease;
}
#eaelecModal .eaelec-modal-footer a.eaelec-event-details-link:hover { background: #05458F !important; color: #fff !important; }
#eaelecModal .eaelec-modal-footer a.gse-tec-signup__btn { order: -1; }
