:root {
  --maxixe-ink: #820027;
  --maxixe-wine: #3d0012;
  --maxixe-pink: #df0072;
  --maxixe-coral: #f77248;
  --maxixe-rose: #af3b68;
  --maxixe-paper: #fff9f6;
  --maxixe-line: #efd4d8;
  --maxixe-soft-line: #f7e7e8;
  --maxixe-muted: #b14c67;
}

body.com_eventbooking.view-fullcalendar {
  background: var(--maxixe-paper);
}

body.com_eventbooking.view-fullcalendar #t4-main-body .t4-section-inner.container {
  max-width: 1800px;
  width: min(100% - 48px, 1800px);
}

#eb-calendar-page.eb-container {
  --fc-border-color: var(--maxixe-soft-line);
  --fc-page-bg-color: #fff;
  --fc-today-bg-color: transparent;
  align-items: stretch;
  column-gap: 38px;
  display: grid;
  grid-template-columns: 370px minmax(0, 1fr);
  margin: 0 auto;
  padding: 46px 0 42px;
}

#eb-calendar-page.eb-container::before,
#eb-calendar-page.eb-container::after {
  display: none;
}

#eb-calendar-page > .col-md-2,
#eb-calendar-page > .maxixe-calendar-main {
  flex: none;
  max-width: none;
  padding: 0;
  width: auto;
}

#eb-fullcalendar-filter-container.eb-search-bar-container {
  background: transparent;
  margin: 0;
  padding: 0;
}

#eb-fullcalendar-filter-container > .filter-search,
#eb-fullcalendar-filter-container > .btn-group {
  height: 1px;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  width: 1px;
}

.maxixe-filter-panel {
  background: rgba(255, 255, 255, .72);
  border: 1px solid var(--maxixe-line);
  border-radius: 8px;
  min-height: 100%;
  padding: 32px 30px;
}

.maxixe-filter-panel h2 {
  color: var(--maxixe-ink);
  font-family: Merriweather, Georgia, serif;
  font-size: 34px;
  line-height: 1.12;
  margin: 0 0 28px;
}

.maxixe-filter-panel p {
  color: var(--maxixe-muted);
  font-size: 18px;
  line-height: 1.45;
  margin: 0 0 26px;
}

.maxixe-filter-list {
  display: grid;
  gap: 12px;
}

.maxixe-filter-pill {
  align-items: center;
  background: rgba(255, 255, 255, .45);
  border: 1px solid var(--maxixe-line);
  border-radius: 999px;
  color: var(--maxixe-ink);
  display: flex;
  font-size: 18px;
  font-weight: 800;
  gap: 14px;
  min-height: 50px;
  padding: 0 18px;
  text-align: left;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.maxixe-filter-pill:hover,
.maxixe-filter-pill.is-active {
  background: #fff;
  border-color: #e7c7cd;
  box-shadow: 0 8px 22px rgba(61, 0, 18, .08);
}

.maxixe-filter-pill span {
  background: var(--maxixe-category-color, var(--maxixe-pink));
  border-radius: 50%;
  flex: 0 0 14px;
  height: 14px;
  width: 14px;
}

.maxixe-filter-pill.is-all span {
  background: var(--maxixe-ink);
}

.maxixe-filter-pill.is-standard span { background: #5a0019; }
.maxixe-filter-pill.is-discofox span { background: #ee6f4b; }
.maxixe-filter-pill.is-nightclub span { background: #d35a4f; }
.maxixe-filter-pill.is-bachata span { background: #ad3b67; }
.maxixe-filter-pill.is-salsa span { background: #de006f; }
.maxixe-filter-pill.is-kizomba span { background: #8f204f; }
.maxixe-filter-pill.is-lindyhop span { background: #f07a45; }
.maxixe-filter-pill.is-westcoast span { background: #c90076; }
.maxixe-filter-pill.is-balboa span { background: #b31873; }
.maxixe-filter-pill.is-tango span { background: #760023; }
.maxixe-filter-pill.is-latino span { background: #c44864; }
.maxixe-filter-pill.is-linedance span { background: #e45f58; }
.maxixe-filter-pill.is-sololindy span { background: #d41482; }
.maxixe-filter-pill.is-kids span { background: #ec3b89; }
.maxixe-filter-pill.is-breakdance span { background: #a42968; }
.maxixe-filter-pill.is-hiphop span { background: #973061; }
.maxixe-filter-pill.is-fitness span { background: #f08a5a; }

.maxixe-filter-status {
  background: var(--maxixe-wine);
  border-radius: 8px;
  color: #ead6db;
  margin-top: 28px;
  padding: 24px 22px;
}

.maxixe-filter-status span {
  color: #d25b70;
  display: block;
  font-size: 13px;
  letter-spacing: .04em;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.maxixe-filter-status p {
  color: #ead6db;
  font-size: 17px;
  line-height: 1.35;
  margin: 0;
}

#eb_full_calendar {
  min-width: 0;
}

#eb_full_calendar .fc {
  color: var(--maxixe-ink);
  font-family: Inter, Arial, sans-serif;
}

#eb_full_calendar .fc-toolbar.fc-header-toolbar {
  align-items: flex-start;
  margin-bottom: 34px;
}

#eb_full_calendar .fc-toolbar-title {
  color: var(--maxixe-ink);
  font-family: Merriweather, Georgia, serif;
  font-size: 42px;
  font-weight: 800;
  line-height: 1;
  padding-top: 30px;
  position: relative;
}

#eb_full_calendar .fc-toolbar-title::before {
  color: #c05a78;
  content: "WOCHENANSICHT";
  display: block;
  font-family: Consolas, "Courier New", monospace;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1;
  margin-bottom: 12px;
}

#eb_full_calendar .fc-button {
  box-shadow: none;
  font-weight: 800;
}

#eb_full_calendar .fc-button-primary {
  background: #fff;
  border: 1px solid var(--maxixe-line);
  border-radius: 999px;
  color: var(--maxixe-ink);
  height: 54px;
  min-width: 54px;
  padding: 0 18px;
}

#eb_full_calendar .fc-button-primary:hover,
#eb_full_calendar .fc-button-primary:focus {
  background: #fff7f4;
  border-color: #e9c9cf;
  color: var(--maxixe-ink);
}

#eb_full_calendar .fc-today-button {
  background: var(--maxixe-ink);
  border-color: var(--maxixe-ink);
  color: #fff;
  min-width: 104px;
}

#eb_full_calendar .fc-today-button:hover,
#eb_full_calendar .fc-today-button:focus {
  background: #6e001f;
  color: #fff;
}

#eb_full_calendar .fc-button-group {
  gap: 16px;
}

#eb_full_calendar.fc-direction-ltr .fc-button-group > .fc-button:not(:first-child) {
  border-bottom-left-radius: 999px;
  border-top-left-radius: 999px;
  margin-left: 0;
}

#eb_full_calendar.fc-direction-ltr .fc-button-group > .fc-button:not(:last-child) {
  border-bottom-right-radius: 999px;
  border-top-right-radius: 999px;
}

#eb_full_calendar .fc-scrollgrid {
  border: 1px solid var(--maxixe-line);
  border-radius: 8px;
  overflow: hidden;
}

#eb_full_calendar .fc-theme-standard td,
#eb_full_calendar .fc-theme-standard th {
  border-color: var(--maxixe-soft-line);
}

#eb_full_calendar .fc-col-header-cell {
  height: 72px;
  vertical-align: middle;
}

#eb_full_calendar .fc-col-header-cell-cushion {
  color: var(--maxixe-ink);
  font-size: 16px;
  font-weight: 800;
  padding: 24px 4px;
  text-decoration: none;
}

#eb_full_calendar .fc-timegrid-axis {
  width: 96px;
}

#eb_full_calendar .fc-timegrid-slot {
  height: 164px;
}

#eb_full_calendar .fc-timegrid-slot-label {
  color: #c17c8e;
  font-family: Consolas, "Courier New", monospace;
  font-size: 15px;
  font-weight: 700;
}

#eb_full_calendar .fc-timegrid-slot-label-cushion {
  padding: 18px 22px 0 0;
}

#eb_full_calendar .fc-v-event,
#eb_full_calendar .fc-h-event {
  background: var(--maxixe-pink);
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 6px;
  box-shadow: none;
  min-height: 0;
}

#eb_full_calendar .fc-v-event .fc-event-main,
#eb_full_calendar .fc-h-event .fc-event-main {
  color: #fff;
  padding: 7px 9px;
}

#eb_full_calendar .fc-event-title,
#eb_full_calendar .fc-event-title-container {
  font-size: 17px;
  font-weight: 800;
  line-height: 1.2;
}

#eb_full_calendar .maxixe-event-content {
  min-width: 0;
}

#eb_full_calendar .maxixe-event-title {
  font-size: 15px;
  font-weight: 800;
  line-height: 1.12;
  overflow: hidden;
  text-overflow: ellipsis;
}

#eb_full_calendar .maxixe-event-detail {
  color: rgba(255, 255, 255, .86);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.15;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
}

#eb_full_calendar .maxixe-event-time {
  color: rgba(255, 255, 255, .82);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.15;
  margin-top: 3px;
  white-space: nowrap;
}

#eb_full_calendar .fc-event-time {
  display: none;
}

#eb_full_calendar .maxixe-calendar-event.is-standard {
  background: #5a0019;
}

#eb_full_calendar .maxixe-calendar-event.is-discofox {
  background: #ee6f4b;
}

#eb_full_calendar .maxixe-calendar-event.is-nightclub {
  background: #d35a4f;
}

#eb_full_calendar .maxixe-calendar-event.is-bachata {
  background: #ad3b67;
}

#eb_full_calendar .maxixe-calendar-event.is-salsa {
  background: #de006f;
}

#eb_full_calendar .maxixe-calendar-event.is-kizomba {
  background: #8f204f;
}

#eb_full_calendar .maxixe-calendar-event.is-lindyhop {
  background: #f07a45;
}

#eb_full_calendar .maxixe-calendar-event.is-westcoast {
  background: #c90076;
}

#eb_full_calendar .maxixe-calendar-event.is-balboa {
  background: #b31873;
}

#eb_full_calendar .maxixe-calendar-event.is-tango,
#eb_full_calendar .maxixe-calendar-event.is-rental {
  background: #760023;
}

#eb_full_calendar .maxixe-calendar-event.is-latino {
  background: #c44864;
}

#eb_full_calendar .maxixe-calendar-event.is-linedance {
  background: #e45f58;
}

#eb_full_calendar .maxixe-calendar-event.is-sololindy {
  background: #d41482;
}

#eb_full_calendar .maxixe-calendar-event.is-kids {
  background: #ec3b89;
}

#eb_full_calendar .maxixe-calendar-event.is-breakdance {
  background: #a42968;
}

#eb_full_calendar .maxixe-calendar-event.is-hiphop {
  background: #973061;
}

#eb_full_calendar .maxixe-calendar-event.is-fitness {
  background: #f08a5a;
}

#eb_full_calendar .maxixe-calendar-event.maxixe-calendar-event-past,
.maxixe-monthly-event.maxixe-calendar-event-past {
  opacity: .42;
  pointer-events: none;
}

.maxixe-monthly-calendar {
  background: linear-gradient(180deg, #2a000c 0%, #72001e 100%);
  border-radius: 8px;
  color: #f8e9ed;
  grid-column: 1 / -1;
  margin-top: 34px;
  padding: 38px;
}

.maxixe-monthly-shell {
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) 280px;
}

.maxixe-monthly-head {
  align-items: flex-start;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 28px;
}

.maxixe-monthly-kicker,
.maxixe-monthly-status span,
.maxixe-monthly-legend > span {
  color: #d85b73;
  display: block;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.maxixe-monthly-title {
  color: #fff;
  font-family: Merriweather, Georgia, serif;
  font-size: 38px;
  font-weight: 800;
  line-height: 1;
  margin: 0 0 12px;
}

.maxixe-monthly-head p {
  color: rgba(255, 255, 255, .68);
  font-size: 16px;
  line-height: 1.35;
  margin: 0;
}

.maxixe-monthly-controls {
  display: flex;
  flex: 0 0 auto;
  gap: 12px;
}

.maxixe-monthly-controls button {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .46);
  border-radius: 999px;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  height: 48px;
  min-width: 48px;
  padding: 0 18px;
}

.maxixe-monthly-controls .maxixe-monthly-today {
  background: #d64f63;
  border-color: #d64f63;
  min-width: 86px;
}

.maxixe-monthly-weekdays {
  color: rgba(255, 255, 255, .44);
  display: grid;
  font-size: 12px;
  font-weight: 800;
  gap: 6px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin-bottom: 10px;
  text-align: center;
}

.maxixe-monthly-grid {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.maxixe-monthly-loading {
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 6px;
  color: rgba(255, 255, 255, .7);
  grid-column: 1 / -1;
  padding: 28px;
}

.maxixe-monthly-day {
  background: rgba(255, 255, 255, .055);
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 6px;
  cursor: pointer;
  min-height: 88px;
  overflow: hidden;
  padding: 8px;
  transition: border-color .18s ease, background-color .18s ease, opacity .18s ease;
}

.maxixe-monthly-day:hover,
.maxixe-monthly-day:focus-visible {
  background: rgba(255, 255, 255, .09);
  border-color: rgba(255, 255, 255, .28);
  outline: none;
}

.maxixe-monthly-day.is-muted {
  opacity: .38;
}

.maxixe-monthly-day.is-today {
  background: rgba(223, 0, 114, .16);
  border-color: rgba(223, 0, 114, .46);
}

.maxixe-monthly-date {
  align-items: center;
  color: rgba(255, 255, 255, .86);
  display: flex;
  font-size: 15px;
  justify-content: space-between;
  line-height: 1;
  margin-bottom: 8px;
}

.maxixe-monthly-date span {
  color: #f07a45;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.maxixe-monthly-event {
  align-items: center;
  background: rgba(223, 0, 114, .26);
  border-radius: 4px;
  color: #fff;
  display: grid;
  font-size: 11px;
  font-weight: 800;
  gap: 4px;
  grid-template-columns: 6px minmax(0, 1fr) auto;
  line-height: 1;
  margin-top: 4px;
  min-height: 18px;
  padding: 0 5px;
}

.maxixe-monthly-event span,
.maxixe-monthly-legend-item > span {
  background: var(--maxixe-category-color, #de006f);
  border-radius: 50%;
  display: block;
  height: 7px;
  width: 7px;
}

.maxixe-monthly-event strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.maxixe-monthly-event time {
  color: rgba(255, 255, 255, .78);
  font-family: Consolas, "Courier New", monospace;
  font-size: 10px;
  white-space: nowrap;
}

.maxixe-monthly-more {
  color: rgba(255, 255, 255, .58);
  font-size: 10px;
  font-weight: 700;
  margin-top: 5px;
}

.maxixe-monthly-side {
  display: grid;
  gap: 20px;
  grid-template-rows: auto minmax(0, 1fr);
}

.maxixe-monthly-status,
.maxixe-monthly-legend {
  background: rgba(16, 0, 7, .36);
  border: 1px solid rgba(223, 0, 114, .44);
  border-radius: 9px;
  padding: 18px 20px;
}

.maxixe-monthly-status strong {
  color: #fff;
  display: block;
  font-size: 22px;
  line-height: 1.1;
  margin-bottom: 8px;
}

.maxixe-monthly-status small {
  color: rgba(255, 255, 255, .56);
  display: block;
  font-size: 13px;
}

.maxixe-monthly-legend h3 {
  color: #fff;
  font-family: Merriweather, Georgia, serif;
  font-size: 26px;
  line-height: 1;
  margin: 0 0 18px;
}

.maxixe-monthly-legend-list {
  display: grid;
  gap: 9px;
  overflow: auto;
  padding-right: 6px;
  scrollbar-color: rgba(255, 255, 255, .42) rgba(255, 255, 255, .08);
  scrollbar-width: thin;
}

.maxixe-monthly-legend-list::-webkit-scrollbar {
  width: 6px;
}

.maxixe-monthly-legend-list::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, .08);
  border-radius: 999px;
}

.maxixe-monthly-legend-list::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, .42);
  border-radius: 999px;
}

.maxixe-monthly-legend-item {
  align-items: center;
  color: #fff;
  display: grid;
  gap: 10px;
  grid-template-columns: 10px minmax(0, 1fr);
}

.maxixe-monthly-legend-item strong {
  display: block;
  font-size: 14px;
  line-height: 1.1;
}

.maxixe-monthly-legend-item small {
  color: rgba(255, 255, 255, .48);
  display: block;
  font-family: Consolas, "Courier New", monospace;
  font-size: 11px;
  margin-top: 2px;
}

.maxixe-monthly-event.is-standard,
.maxixe-monthly-legend-item.is-standard > span { background-color: rgba(90, 0, 25, .62); }
.maxixe-monthly-event.is-standard span { background: #5a0019; }
.maxixe-monthly-event.is-discofox,
.maxixe-monthly-legend-item.is-discofox > span { background-color: rgba(238, 111, 75, .32); }
.maxixe-monthly-event.is-discofox span { background: #ee6f4b; }
.maxixe-monthly-event.is-nightclub,
.maxixe-monthly-legend-item.is-nightclub > span { background-color: rgba(211, 90, 79, .32); }
.maxixe-monthly-event.is-nightclub span { background: #d35a4f; }
.maxixe-monthly-event.is-bachata,
.maxixe-monthly-legend-item.is-bachata > span { background-color: rgba(173, 59, 103, .38); }
.maxixe-monthly-event.is-bachata span { background: #ad3b67; }
.maxixe-monthly-event.is-salsa,
.maxixe-monthly-legend-item.is-salsa > span { background-color: rgba(222, 0, 111, .36); }
.maxixe-monthly-event.is-salsa span { background: #de006f; }
.maxixe-monthly-event.is-kizomba,
.maxixe-monthly-legend-item.is-kizomba > span { background-color: rgba(143, 32, 79, .46); }
.maxixe-monthly-event.is-kizomba span { background: #8f204f; }
.maxixe-monthly-event.is-lindyhop,
.maxixe-monthly-legend-item.is-lindyhop > span { background-color: rgba(240, 122, 69, .32); }
.maxixe-monthly-event.is-lindyhop span { background: #f07a45; }
.maxixe-monthly-event.is-westcoast,
.maxixe-monthly-legend-item.is-westcoast > span { background-color: rgba(201, 0, 118, .34); }
.maxixe-monthly-event.is-westcoast span { background: #c90076; }
.maxixe-monthly-event.is-balboa,
.maxixe-monthly-legend-item.is-balboa > span { background-color: rgba(179, 24, 115, .36); }
.maxixe-monthly-event.is-balboa span { background: #b31873; }
.maxixe-monthly-event.is-tango,
.maxixe-monthly-legend-item.is-tango > span { background-color: rgba(118, 0, 35, .58); }
.maxixe-monthly-event.is-tango span { background: #760023; }
.maxixe-monthly-event.is-latino,
.maxixe-monthly-legend-item.is-latino > span { background-color: rgba(196, 72, 100, .34); }
.maxixe-monthly-event.is-latino span { background: #c44864; }
.maxixe-monthly-event.is-linedance,
.maxixe-monthly-legend-item.is-linedance > span { background-color: rgba(228, 95, 88, .32); }
.maxixe-monthly-event.is-linedance span { background: #e45f58; }
.maxixe-monthly-event.is-sololindy,
.maxixe-monthly-legend-item.is-sololindy > span { background-color: rgba(212, 20, 130, .34); }
.maxixe-monthly-event.is-sololindy span { background: #d41482; }
.maxixe-monthly-event.is-kids,
.maxixe-monthly-legend-item.is-kids > span { background-color: rgba(236, 59, 137, .32); }
.maxixe-monthly-event.is-kids span { background: #ec3b89; }
.maxixe-monthly-event.is-breakdance,
.maxixe-monthly-legend-item.is-breakdance > span { background-color: rgba(164, 41, 104, .36); }
.maxixe-monthly-event.is-breakdance span { background: #a42968; }
.maxixe-monthly-event.is-hiphop,
.maxixe-monthly-legend-item.is-hiphop > span { background-color: rgba(151, 48, 97, .38); }
.maxixe-monthly-event.is-hiphop span { background: #973061; }
.maxixe-monthly-event.is-fitness,
.maxixe-monthly-legend-item.is-fitness > span { background-color: rgba(240, 138, 90, .32); }
.maxixe-monthly-event.is-fitness span { background: #f08a5a; }
.maxixe-monthly-event.is-private,
.maxixe-monthly-legend-item.is-private > span { background-color: rgba(111, 83, 255, .32); }
.maxixe-monthly-event.is-private span { background: #6f53ff; }

.maxixe-monthly-legend-item.is-standard > span { background: #5a0019; }
.maxixe-monthly-legend-item.is-discofox > span { background: #ee6f4b; }
.maxixe-monthly-legend-item.is-nightclub > span { background: #d35a4f; }
.maxixe-monthly-legend-item.is-bachata > span { background: #ad3b67; }
.maxixe-monthly-legend-item.is-salsa > span { background: #de006f; }
.maxixe-monthly-legend-item.is-kizomba > span { background: #8f204f; }
.maxixe-monthly-legend-item.is-lindyhop > span { background: #f07a45; }
.maxixe-monthly-legend-item.is-westcoast > span { background: #c90076; }
.maxixe-monthly-legend-item.is-balboa > span { background: #b31873; }
.maxixe-monthly-legend-item.is-tango > span { background: #760023; }
.maxixe-monthly-legend-item.is-latino > span { background: #c44864; }
.maxixe-monthly-legend-item.is-linedance > span { background: #e45f58; }
.maxixe-monthly-legend-item.is-sololindy > span { background: #d41482; }
.maxixe-monthly-legend-item.is-kids > span { background: #ec3b89; }
.maxixe-monthly-legend-item.is-breakdance > span { background: #a42968; }
.maxixe-monthly-legend-item.is-hiphop > span { background: #973061; }
.maxixe-monthly-legend-item.is-fitness > span { background: #f08a5a; }
.maxixe-monthly-legend-item.is-private > span { background: #6f53ff; }

@media (max-width: 1199.98px) {
  body.com_eventbooking.view-fullcalendar #t4-main-body .t4-section-inner.container {
    width: min(100% - 28px, 1800px);
  }

  #eb-calendar-page.eb-container {
    grid-template-columns: 300px minmax(760px, 1fr);
    overflow-x: auto;
  }

  .maxixe-monthly-shell {
    grid-template-columns: minmax(760px, 1fr) 250px;
  }

  .maxixe-filter-panel {
    padding: 26px 24px;
  }
}

@media (max-width: 767.98px) {
  #eb-calendar-page.eb-container {
    display: block;
    padding-top: 24px;
  }

  #eb-calendar-page > .col-md-2 {
    margin-bottom: 24px;
  }

  .maxixe-filter-panel {
    min-height: 0;
  }

  #eb_full_calendar {
    overflow-x: auto;
  }

  #eb_full_calendar .fc {
    min-width: 820px;
  }

  .maxixe-monthly-calendar {
    margin-top: 24px;
    overflow-x: auto;
    padding: 24px;
  }

  .maxixe-monthly-shell {
    grid-template-columns: minmax(760px, 1fr);
  }

  .maxixe-monthly-head {
    display: block;
  }

  .maxixe-monthly-controls {
    margin-top: 20px;
  }
}

/* Pencil frame alignment: Maxixe Course Calendar Subpage */
body.com_eventbooking.view-fullcalendar #t4-main-body .t4-section-inner.container {
	max-width: none;
	width: 100%;
	padding: 0;
}

#eb-calendar-page.eb-container {
	grid-template-columns: 270px minmax(0, 1030px);
	justify-content: center;
	column-gap: 28px;
	padding: 32px 56px 0;
	background: #fff8f5;
}

.maxixe-filter-panel {
	display: flex;
	flex-direction: column;
	min-height: 866px;
	padding: 22px;
	background: #fffdf9;
	border-color: rgba(115, 2, 32, .2);
}

.maxixe-filter-panel h2 {
	font-size: 26px;
	margin-bottom: 16px;
}

.maxixe-filter-panel p {
	font-size: 14px;
	line-height: 1.35;
	margin-bottom: 20px;
}

.maxixe-filter-list {
	gap: 10px;
}

.maxixe-filter-pill {
	min-height: 36px;
	font-size: 14px;
	font-weight: 600;
	gap: 10px;
	padding: 0 14px;
}

.maxixe-filter-pill span {
	flex-basis: 9px;
	width: 9px;
	height: 9px;
}

.maxixe-filter-status {
	margin-top: auto;
	padding: 16px;
}

.maxixe-filter-status p {
	font-size: 13px;
}

.maxixe-calendar-main {
	max-width: 1030px;
}

#eb_full_calendar .fc-toolbar.fc-header-toolbar {
	margin-bottom: 18px;
}

#eb_full_calendar .fc-toolbar-title {
	font-size: 32px;
	padding-top: 20px;
}

#eb_full_calendar .fc-toolbar-title::before {
	font-family: "IBM Plex Mono", Consolas, monospace;
	font-size: 12px;
	font-weight: 400;
	margin-bottom: 4px;
}

#eb_full_calendar .fc-button-primary {
	height: 38px;
	min-width: 38px;
	padding: 0 14px;
}

#eb_full_calendar .fc-today-button {
	min-width: 73px;
}

#eb_full_calendar .fc-button-group {
	gap: 10px;
}

#eb_full_calendar .fc-col-header-cell {
	height: 54px;
}

#eb_full_calendar .fc-col-header-cell-cushion {
	font-size: 14px;
	padding: 18px 4px;
}

#eb_full_calendar .fc-timegrid-axis {
	width: 72px;
}

#eb_full_calendar .fc-timegrid-slot {
	height: 121px;
}

#eb_full_calendar .fc-timegrid-slot-label {
	font-size: 13px;
}

#eb_full_calendar .fc-timegrid-slot-label-cushion {
	padding: 14px 14px 0 0;
}

#eb_full_calendar .fc-v-event .fc-event-main,
#eb_full_calendar .fc-h-event .fc-event-main {
	padding: 6px 8px;
}

#eb_full_calendar .maxixe-event-title {
	font-size: 14px;
}

#eb_full_calendar .maxixe-event-detail {
	font-size: 11px;
}

#eb_full_calendar .maxixe-event-time {
	font-size: 10px;
}

.maxixe-monthly-calendar {
	min-height: 520px;
	margin-top: 0;
	padding: 24px 56px;
	border-radius: 0;
	background: linear-gradient(90deg,#730220 0%, #0b0104 20%, #24050d 42%, #730220 100%);
}

.maxixe-monthly-shell {
	max-width: 1328px;
	margin: 0 auto;
	grid-template-columns: minmax(0, 1058px) 252px;
	gap: 18px;
}

.maxixe-monthly-head {
	min-height: 88px;
	margin-bottom: 14px;
}

.maxixe-monthly-kicker,
.maxixe-monthly-status span,
.maxixe-monthly-legend > span {
	font-size: 11px;
	margin-bottom: 6px;
}

.maxixe-monthly-title {
	font-size: 30px;
	margin-bottom: 8px;
}

.maxixe-monthly-head p {
	font-size: 13px;
}

.maxixe-monthly-status,
.maxixe-monthly-legend {
	border-radius: 8px;
	background: rgba(26, 7, 16, .8);
}

.maxixe-monthly-day {
	min-height: 65px;
	border-radius: 5px;
	padding: 6px;
}

.maxixe-monthly-event {
	min-height: 16px;
	font-size: 10px;
}

@media (max-width: 1199.98px) {
	#eb-calendar-page.eb-container {
		grid-template-columns: 300px minmax(760px, 1fr);
		justify-content: start;
		padding-left: 24px;
		padding-right: 24px;
	}
}

@media (max-width: 767.98px) {
	#eb-calendar-page.eb-container {
		padding: 24px 18px 0;
	}

	.maxixe-monthly-calendar {
		padding: 24px 18px;
	}
}

/* Final Pencil fit corrections */
.maxixe-filter-list {
	flex: 1 1 auto;
	align-content: start;
	max-height: none;
	min-height: 0;
	overflow: auto;
	padding-right: 4px;
}

#eb_full_calendar .fc-timegrid-slot {
	height: 40px;
}

.maxixe-monthly-calendar {
	min-height: 520px;
	margin-top:34px;
	border-radius: 8px;
}

@media (min-width: 1200px) {
	.maxixe-filter-panel {
		height: 866px;
		overflow: hidden;
	}

	.maxixe-calendar-main {
		min-height: 866px;
	}
}
/* Course calendar height correction: match weekly panel to filter box */
@media (min-width: 1200px) {
	.maxixe-filter-panel {
		display: flex;
		flex-direction: column;
		height: 1164px;
		min-height: 1164px;
		overflow: hidden;
	}

	.maxixe-filter-list {
		flex: 1 1 auto;
		align-content: start;
		max-height: none;
		min-height: 0;
		overflow: auto;
		padding-right: 4px;
	}

	.maxixe-filter-status {
		flex: 0 0 auto;
		margin-top: auto;
	}

	.maxixe-calendar-main,
	#eb_full_calendar,
	#eb_full_calendar .fc {
		height: 1164px;
		min-height: 1164px;
	}

	#eb_full_calendar .fc-view-harness,
	#eb_full_calendar .fc-timegrid,
	#eb_full_calendar .fc-timegrid-body,
	#eb_full_calendar .fc-timegrid-slots table {
		height: 1020px !important;
	}

	#eb_full_calendar .fc-timegrid-slot {
		height: 72px;
	}
}

/* Mobile monthly calendar layout */
@media (max-width: 767.98px) {
	.maxixe-monthly-calendar {
		min-height: 0;
		padding: 24px 14px 28px;
		overflow-x: visible;
	}

	.maxixe-monthly-shell {
		display: grid;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 22px;
		max-width: 100%;
		min-width: 0;
	}

	.maxixe-monthly-content,
	.maxixe-monthly-side {
		width: 100%;
		min-width: 0;
	}

	.maxixe-monthly-side {
		grid-template-rows: auto;
		gap: 14px;
	}

	.maxixe-monthly-head {
		display: grid;
		gap: 18px;
		min-height: 0;
		margin-bottom: 18px;
	}

	.maxixe-monthly-title {
		font-size: 30px;
	}

	.maxixe-monthly-controls {
		justify-content: space-between;
		margin-top: 0;
	}

	.maxixe-monthly-controls button {
		height: 44px;
		min-width: 44px;
		padding: 0 14px;
	}

	.maxixe-monthly-controls .maxixe-monthly-today {
		min-width: 92px;
	}

	.maxixe-monthly-weekdays,
	.maxixe-monthly-grid {
		gap: 4px;
		grid-template-columns: repeat(7, minmax(0, 1fr));
	}

	.maxixe-monthly-weekdays {
		font-size: 0;
		margin-bottom: 8px;
	}

	.maxixe-monthly-weekdays span {
		font-size: 10px;
	}

	.maxixe-monthly-weekdays span:nth-child(1)::before { content: "Mo"; }
	.maxixe-monthly-weekdays span:nth-child(2)::before { content: "Di"; }
	.maxixe-monthly-weekdays span:nth-child(3)::before { content: "Mi"; }
	.maxixe-monthly-weekdays span:nth-child(4)::before { content: "Do"; }
	.maxixe-monthly-weekdays span:nth-child(5)::before { content: "Fr"; }
	.maxixe-monthly-weekdays span:nth-child(6)::before { content: "Sa"; }
	.maxixe-monthly-weekdays span:nth-child(7)::before { content: "So"; }

	.maxixe-monthly-day {
		min-height: 54px;
		padding: 5px 4px;
	}

	.maxixe-monthly-date {
		justify-content: center;
		margin-bottom: 5px;
		font-size: 13px;
	}

	.maxixe-monthly-date span {
		display: none;
	}

	.maxixe-monthly-event {
		display: inline-block;
		width: 8px;
		height: 8px;
		min-height: 0;
		margin: 2px 1px 0;
		padding: 0;
		border-radius: 50%;
		vertical-align: top;
	}

	.maxixe-monthly-event span,
	.maxixe-monthly-event strong,
	.maxixe-monthly-event time {
		display: none;
	}

	.maxixe-monthly-more {
		font-size: 9px;
		line-height: 1;
		margin-top: 3px;
		text-align: center;
	}

	.maxixe-monthly-status,
	.maxixe-monthly-legend {
		padding: 16px;
	}

	.maxixe-monthly-legend-list {
		max-height: none;
		overflow: visible;
	}
}

.maxixe-weekly-agenda {
	display: none;
}

@media (max-width: 767.98px) {
	#eb-calendar-page.eb-container {
		display: block;
		width: 100%;
	}

	#eb-calendar-page > .col-md-2 {
		margin-bottom: 22px;
	}

	.maxixe-calendar-main {
		min-height: 0;
	}

	#eb_full_calendar,
	#eb_full_calendar .fc {
		height: auto !important;
		min-height: 0 !important;
	}

	#eb_full_calendar .fc-header-toolbar {
		align-items: end;
		display: grid;
		gap: 12px;
		grid-template-columns: minmax(0, 1fr) auto;
		margin-bottom: 18px;
	}

	#eb_full_calendar .fc-toolbar-chunk {
		min-width: 0;
	}

	#eb_full_calendar .fc-toolbar-title {
		font-size: 34px;
		line-height: .98;
		max-width: 340px;
	}

	#eb_full_calendar .fc-toolbar-title::before {
		font-size: 12px;
		margin-bottom: 8px;
	}

	#eb_full_calendar .fc-button-group {
		display: inline-flex;
		gap: 8px;
	}

	#eb_full_calendar .fc-button-primary {
		height: 44px;
		min-width: 44px;
		padding: 0 14px;
	}

	#eb_full_calendar .fc-today-button {
		min-width: 84px;
	}

	#eb_full_calendar .fc-view-harness {
		display: none;
	}

	.maxixe-weekly-agenda {
		display: block;
	}

	.maxixe-weekly-agenda-head {
		display: none;
	}

	.maxixe-weekly-agenda-list {
		display: grid;
		gap: 12px;
	}

	.maxixe-weekly-agenda-day {
		background: rgba(255, 255, 255, .76);
		border: 1px solid var(--maxixe-line);
		border-radius: 8px;
		box-shadow: 0 14px 30px rgba(61, 0, 18, .06);
		padding: 14px 16px;
	}

	.maxixe-weekly-agenda-day h3 {
		align-items: center;
		color: var(--maxixe-ink);
		display: flex;
		font-family: Merriweather, Georgia, serif;
		font-size: 20px;
		justify-content: space-between;
		line-height: 1.1;
		margin: 0 0 10px;
	}

	.maxixe-weekly-agenda-day h3 span {
		color: var(--maxixe-muted);
		font-family: Geist, Arial, sans-serif;
		font-size: 12px;
		font-weight: 800;
		letter-spacing: .04em;
		text-transform: uppercase;
	}

	.maxixe-weekly-agenda-event {
		align-items: start;
		border-top: 1px solid var(--maxixe-soft-line);
		color: var(--maxixe-ink);
		display: grid;
		gap: 10px;
		grid-template-columns: 10px minmax(0, 1fr);
		padding: 12px 0;
		text-decoration: none;
	}

	.maxixe-weekly-agenda-event:first-of-type {
		border-top: 0;
	}

	.maxixe-weekly-agenda-event:hover {
		color: var(--maxixe-ink);
	}

	.maxixe-weekly-agenda-dot {
		background: var(--maxixe-pink);
		border-radius: 50%;
		height: 10px;
		margin-top: 4px;
		width: 10px;
	}

	.maxixe-weekly-agenda-event time {
		color: var(--maxixe-pink);
		display: block;
		font-size: 13px;
		font-weight: 800;
		line-height: 1;
		margin-bottom: 5px;
	}

	.maxixe-weekly-agenda-event strong {
		display: block;
		font-size: 16px;
		line-height: 1.18;
	}

	.maxixe-weekly-agenda-event small {
		color: var(--maxixe-muted);
		display: block;
		font-size: 13px;
		line-height: 1.25;
		margin-top: 3px;
	}

	.maxixe-weekly-agenda-empty {
		color: var(--maxixe-muted);
		font-size: 14px;
		margin: 0;
	}

	.maxixe-weekly-agenda-event.maxixe-calendar-event-past {
		opacity: .42;
		pointer-events: none;
	}

	.maxixe-weekly-agenda-event.is-standard .maxixe-weekly-agenda-dot { background: #5a0019; }
	.maxixe-weekly-agenda-event.is-discofox .maxixe-weekly-agenda-dot { background: #f77248; }
	.maxixe-weekly-agenda-event.is-nightclub .maxixe-weekly-agenda-dot { background: #e95b58; }
	.maxixe-weekly-agenda-event.is-bachata .maxixe-weekly-agenda-dot { background: #b93b69; }
	.maxixe-weekly-agenda-event.is-salsa .maxixe-weekly-agenda-dot { background: #df0072; }
	.maxixe-weekly-agenda-event.is-kizomba .maxixe-weekly-agenda-dot { background: #a23c67; }
	.maxixe-weekly-agenda-event.is-lindyhop .maxixe-weekly-agenda-dot { background: #ff7a45; }
	.maxixe-weekly-agenda-event.is-westcoast .maxixe-weekly-agenda-dot { background: #df0072; }
	.maxixe-weekly-agenda-event.is-balboa .maxixe-weekly-agenda-dot { background: #cc2e67; }
	.maxixe-weekly-agenda-event.is-tango .maxixe-weekly-agenda-dot { background: #9b002f; }
	.maxixe-weekly-agenda-event.is-latino .maxixe-weekly-agenda-dot { background: #e95b58; }
	.maxixe-weekly-agenda-event.is-linedance .maxixe-weekly-agenda-dot { background: #f07a5a; }
	.maxixe-weekly-agenda-event.is-sololindy .maxixe-weekly-agenda-dot { background: #b93b69; }
	.maxixe-weekly-agenda-event.is-kids .maxixe-weekly-agenda-dot { background: #df0072; }
	.maxixe-weekly-agenda-event.is-breakdance .maxixe-weekly-agenda-dot { background: #f77248; }
	.maxixe-weekly-agenda-event.is-hiphop .maxixe-weekly-agenda-dot { background: #cc2e67; }
	.maxixe-weekly-agenda-event.is-fitness .maxixe-weekly-agenda-dot { background: #8b4d7a; }
}
