/* =========================================================
   GRANT CARDONE EVENTS
   /grant-cardone-events/
========================================================= */


/* =========================================================
   HIDE EVENTON NATIVE DISPLAY

   EventON remains in the DOM as our data source.
========================================================= */

.gc-eventon-full #evcal_list {
  display: none !important;
}


.gc-eventon-full .eventon_sorting_section {
  display: none !important;
}


/* =========================================================
   CUSTOM EVENTS OUTPUT
========================================================= */

.gc-events-render {
  width: 100%;
}


/* =========================================================
   MONTH
========================================================= */

.gc-events-month {
  margin-bottom: 54px;
}


.gc-events-month:last-child {
  margin-bottom: 0;
}


/* =========================================================
   MONTH HEADER
========================================================= */

.gc-events-month__header {
  display: flex;

  align-items: center;

  gap: 18px;

  margin-bottom: 20px;
}


.gc-events-month__title {
  display: flex;

  align-items: baseline;

  gap: 6px;

  flex-shrink: 0;

  margin: 0;

  font-size: 30px;

  line-height: 1;

  letter-spacing: -0.04em;
}


.gc-events-month__title strong {
  font-weight: 700;

  color: #151515;
}


.gc-events-month__title span {
  font-weight: 400;

  color: #8c0016;
}


.gc-events-month__line {
  flex: 1;

  height: 1px;

  background: #dedbd6;
}


.gc-events-month__count {
  flex-shrink: 0;

  font-size: 10px;

  font-weight: 700;

  line-height: 1;

  letter-spacing: 0.16em;

  text-transform: uppercase;

  color: #8c8883;
}


/* =========================================================
   GRID
========================================================= */

.gc-events-month__grid {
  display: grid;

  grid-template-columns:
    repeat(
      4,
      minmax(0, 1fr)
    );

  gap: 18px;
}


/* =========================================================
   CARD
========================================================= */

.gc-events-card {
  position: relative;

  display: flex;
  flex-direction: column;

  min-width: 0;
  min-height: 190px;

  padding: 18px 18px 14px;

  background: #ffffff;

  border: 1px solid #dedbd6;

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}


.gc-events-card:hover {
  transform:
    translateY(-2px);

  border-color:
    #cbc7c1;

  box-shadow:
    0 14px 32px
    rgba(0, 0, 0, 0.055);
}


/* =========================================================
   CARD MAIN
========================================================= */

.gc-events-card__main {
  display: grid;

  grid-template-columns: 105px minmax(0, 1fr);

  gap: 16px;

  align-items: start;

  flex: 1;
}


/* =========================================================
   IMAGE
========================================================= */

.gc-events-card__visual {
  min-width: 0;
}


.gc-events-card__image-wrap {
  position: relative;

  width: 105px;
  height: 105px;

  overflow: hidden;

  background: #f2f1ee;
}


.gc-events-card__image {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center;
}


.gc-events-card__image--empty {
  background:
    linear-gradient(
      135deg,
      #f7f6f2,
      #eceae5
    );
}


/* =========================================================
   BODY
========================================================= */

.gc-events-card__body {
  min-width: 0;
  padding-right: 0;
  padding-top: 2px;
}

/* =========================================================
   DATE
========================================================= */
/* =========================================================
   EVENT DATE BADGE
========================================================= */
/* =========================================================
   EVENT DATE — INLINE / TOP ALIGNED
========================================================= */
/* =========================================================
   EVENT DATE — COMPACT BADGE
========================================================= */

.gc-events-card__date-badge {
  position: static;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: fit-content;
  height: 26px;

  margin: -1px 0 8px;
  padding: 0 10px;

  background: #8c0016;

  color: #ffffff;

  line-height: 1;
}


.gc-events-card__date-badge::before {
  display: none !important;
  content: none !important;
}


.gc-events-card__date-day,
.gc-events-card__date-month {
  display: inline-block;

  margin: 0;

  color: #ffffff;

  font-size: 11px;
  font-weight: 800;

  line-height: 1;

  letter-spacing: 0.06em;

  text-transform: uppercase;
}


.gc-events-card__date-day {
  margin-right: 5px;
}


.gc-events-card__body {
  min-width: 0;
  padding: 0;
}
/* =========================================================
   TITLE
========================================================= */

.gc-events-card__title {
  margin: 0 0 8px;

  font-size: 17px;
  font-weight: 700;

  line-height: 1.08;

  letter-spacing: -0.025em;

  color: #151515;
}



/* =========================================================
   META
========================================================= */

.gc-events-card__meta {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
  color: #68645f;
}


.gc-events-card__location,
.gc-events-card__time {
  margin: 0;
}


/* =========================================================
   FOOTER
========================================================= */

.gc-events-card__footer {
  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 18px;

  margin-top: 12px;
  padding-top: 11px;

  border-top: 1px solid #e5e1dc;
}


/* =========================================================
   CATEGORY
========================================================= */

.gc-events-card__category {
  display: inline-flex;

  align-items: center;

  gap: 7px;

  min-width: 0;

  font-size: 9px;

  font-weight: 700;

  line-height: 1;

  letter-spacing: 0.16em;

  text-transform: uppercase;

  color:
    var(
      --gc-event-category-color,
      #8c0016
    );
}


.gc-events-card__category::before {
  content: "";

  flex-shrink: 0;

  width: 6px;

  height: 6px;

  border-radius: 50%;

  background:
    currentColor;
}


/* =========================================================
   ACTIONS
========================================================= */

.gc-events-card__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-shrink: 0;
}

.gc-events-card__action,
button.gc-events-card__action,
.gc-events-card__action:visited,
.gc-events-card__action:focus,
.gc-events-card__action:active {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  font-family: inherit !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap;
  color: #8a8681 !important;
}

button.gc-events-card__action {
  cursor: pointer;
  transition: color 0.2s ease;
}

button.gc-events-card__action:hover,
button.gc-events-card__action:focus-visible {
  color: #111111 !important;
  outline: none;
}

.gc-events-card__action--notify {
  cursor: default;
}

.gc-events-card__action-divider {
  display: block;
  width: 1px;
  height: 10px;
  background: #d9d5cf;
}

/* =========================================================
   DESKTOP / SMALL DESKTOP
========================================================= */

@media (max-width: 1499px) {

  .gc-events-month__grid {
    grid-template-columns:
      repeat(
        3,
        minmax(0, 1fr)
      );
  }

}
/* =========================================================
   LARGE TABLET
========================================================= */

@media (max-width: 1199px) {

  .gc-events-month__grid {
    grid-template-columns:
      repeat(
        2,
        minmax(0, 1fr)
      );
  }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 850px) {

  .gc-events-card {
    padding:
      20px
      20px
      16px;
  }


  .gc-events-card__main {
    grid-template-columns:
      100px
      minmax(0, 1fr);

    gap: 18px;
  }


  .gc-events-card__image-wrap {
    width: 100px;

    height: 100px;
  }




}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

  .gc-events-month {
    margin-bottom: 42px;
  }


  .gc-events-month__header {
    gap: 10px;

    margin-bottom: 16px;
  }


  .gc-events-month__title {
    font-size: 24px;
  }


  .gc-events-month__count {
    font-size: 8px;

    letter-spacing: 0.12em;
  }


  .gc-events-month__grid {
    grid-template-columns:
      1fr;

    gap: 14px;
  }


  .gc-events-card {
    min-height: 0;
  }
    .gc-events-card__content {
    padding-right: 78px;
    min-height: 84px;
  }

  .gc-events-card__date-badge {
    width: 56px;
    height: 56px;
  }

  .gc-events-card__date-day {
    font-size: 22px;
  }

  .gc-events-card__date-month {
    font-size: 8px;
    margin-top: 4px;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */
@media (max-width: 480px) {

  .gc-events-card {
    padding: 18px 16px 15px;
    min-height: 0;
  }

  .gc-events-card__main {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 14px;
  }

  .gc-events-card__image-wrap {
    width: 88px;
    height: 88px;
  }

 .gc-events-card__date-badge {
  width: 62px;
  height: 62px;
  margin-bottom: 11px;
}

.gc-events-card__date-day {
  font-size: 27px;
}

.gc-events-card__date-month {
  margin-top: 5px;
  font-size: 8px;
}

  .gc-events-card__title {
    font-size: 16px;
  }

  .gc-events-card__meta {
    font-size: 12px;
  }

  .gc-events-card__footer {
    gap: 10px;
    margin-top: 14px;
  }

  .gc-events-card__actions {
    gap: 8px;
  }

  .gc-events-card__category,
  .gc-events-card__action,
  button.gc-events-card__action {
    font-size: 8px !important;
  }

}


/* =========================================================
   EVENTS PAGE — INTRO
========================================================= */

.gc-events-page-intro {
  width: 100%;
  margin: 0 0 42px;
}

.gc-events-page-intro__title {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;

  margin: 0 0 18px !important;
  padding: 0 !important;

  line-height: 0.95;
  letter-spacing: -0.045em;
}

.gc-events-page-intro__title strong {
  color: #151515;

  font-size: clamp(42px, 5vw, 68px);
  font-weight: 800;
}

.gc-events-page-intro__title span {
  color: #8c0016;

  font-size: clamp(40px, 4.8vw, 64px);
  font-weight: 300;
}

.gc-events-page-intro__description {
  width: 100%;
  max-width: 650px;

  margin: 0 0 32px !important;
  padding: 0 !important;

  color: #55514d;

  font-size: clamp(16px, 1.35vw, 19px);
  font-weight: 400;
  line-height: 1.55;
}


/* =========================================================
   FILTER BAR
========================================================= */
/* =========================================================
   EVENTS FILTER BAR
========================================================= */

.gc-events-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;

  gap: 8px;

  width: 100%;

  margin-top: 2px;
}


/* =========================================================
   EVENTS FILTER BUTTON
========================================================= */

button.gc-events-filter-btn {
  position: relative;
  z-index: 1;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 40px;

  padding: 0 18px !important;

  overflow: hidden;
  isolation: isolate;

  appearance: none;
  -webkit-appearance: none;

  border: 1px solid rgba(140, 0, 22, 0.32) !important;
  border-radius: 0 !important;

  background: rgba(255, 255, 255, 0.72) !important;

  color: #6f0012 !important;

  box-shadow: none !important;

  cursor: pointer;

  font-family: "Inter", sans-serif !important;

  font-size: 9px !important;
  font-weight: 700 !important;

  line-height: 1 !important;

  letter-spacing: 0.11em !important;

  text-transform: uppercase !important;

  transform:
    translateY(0)
    scale(1);

  transition:
    color 0.35s ease,
    background-color 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.45s ease,
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    letter-spacing 0.35s ease !important;
}
button.gc-events-filter-btn[data-filter="foundation"] {
  padding-left: 20px !important;
  padding-right: 20px !important;
}


/* =========================================================
   BUTTON TEXT
========================================================= */

button.gc-events-filter-btn span {
  position: relative;
  z-index: 3;

  pointer-events: none;
}


/* =========================================================
   BURGUNDY DARK LAYER
   Same interaction style used on Real Estate hero
========================================================= */

button.gc-events-filter-btn::before {
  content: "";

  position: absolute;
  inset: 0;

  z-index: -1;

  background:
    linear-gradient(
      135deg,
      #a5001c 0%,
      #700012 100%
    );

  transform: scaleX(0);

  transform-origin: right center;

  transition:
    transform 0.5s
    cubic-bezier(0.22, 1, 0.36, 1);
}


/* =========================================================
   LIGHT SWEEP
========================================================= */

button.gc-events-filter-btn::after {
  content: "";

  position: absolute;

  top: -45%;
  bottom: -45%;
  left: -45%;

  z-index: 2;

  width: 28%;

  pointer-events: none;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255, 255, 255, 0.42),
      transparent
    );

  transform:
    translateX(0)
    rotate(14deg);

  transition:
    transform 0.75s
    cubic-bezier(0.22, 1, 0.36, 1);
}


/* =========================================================
   HOVER
========================================================= */

button.gc-events-filter-btn:hover,
button.gc-events-filter-btn:focus-visible {
  color: #ffffff !important;

  border-color: #8c0016 !important;

  background: #ffffff !important;

  box-shadow:
    0 14px 28px rgba(140, 0, 22, 0.15),
    0 5px 12px rgba(0, 0, 0, 0.08) !important;

  letter-spacing: 0.16em !important;

  transform:
    translateY(-3px)
    scale(1.025);
}


button.gc-events-filter-btn:hover::before,
button.gc-events-filter-btn:focus-visible::before {
  transform: scaleX(1);

  transform-origin: left center;
}


button.gc-events-filter-btn:hover::after,
button.gc-events-filter-btn:focus-visible::after {
  transform:
    translateX(560%)
    rotate(14deg);
}


/* =========================================================
   ACTIVE FILTER
========================================================= */

button.gc-events-filter-btn.is-active {
  color: #ffffff !important;

  background: #8c0016 !important;

  border-color: #8c0016 !important;

  box-shadow:
    0 10px 24px rgba(140, 0, 22, 0.16) !important;

  transform:
    translateY(0)
    scale(1);
}


/*
 * Keep active button burgundy,
 * then darker burgundy enters on hover.
 */
button.gc-events-filter-btn.is-active::before {
  background:
    linear-gradient(
      135deg,
      #740012 0%,
      #4d000c 100%
    );
}


/* =========================================================
   ACTIVE PRESS
========================================================= */

button.gc-events-filter-btn:active {
  transform:
    translateY(-1px)
    scale(0.985);
}


/* =========================================================
   FOCUS
========================================================= */

button.gc-events-filter-btn:focus-visible {
  outline:
    2px solid
    rgba(140, 0, 22, 0.28) !important;

  outline-offset: 4px;
}
/* Focus */

.gc-events-filter-btn:focus-visible {
  outline: 2px solid #8c0016;
  outline-offset: 3px;
}


/* Filter animation */

.gc-events-card {
  transition:
    opacity 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.gc-events-card.is-filter-hidden {
  display: none !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

  .gc-events-page-intro {
    margin-bottom: 32px;
  }

  .gc-events-page-intro__description {
    margin-bottom: 24px !important;
  }

  .gc-events-filter-bar {
    gap: 8px;
  }

  .gc-events-filter-btn {
    min-height: 42px;

    padding: 0 16px;

    font-size: 9px;

    letter-spacing: 0.11em;
  }

}

/* =========================================================
   EVENTS FILTER — CARD TRANSITION
========================================================= */

.gc-events-card {
  will-change: transform, opacity;
}

.gc-events-card.is-filter-hidden {
  display: none !important;
}

/* =========================================================
   EVENTS — MOBILE FINAL OVERRIDES
========================================================= */

@media (max-width: 767px) {

  /* =======================================================
     FILTERS — COMPACT HORIZONTAL SCROLL
  ======================================================= */

  .gc-events-filter-bar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;

    gap: 8px;

    width: 100%;

    overflow-x: auto;
    overflow-y: hidden;

    padding: 0 0 8px;
    margin-top: 2px;

    scrollbar-width: none;

    -webkit-overflow-scrolling: touch;

    scroll-snap-type: x proximity;
  }


  .gc-events-filter-bar::-webkit-scrollbar {
    display: none;
  }


  button.gc-events-filter-btn {
    flex: 0 0 auto;

    min-height: 38px !important;

    padding: 0 15px !important;

    white-space: nowrap;

    font-size: 8.5px !important;
    font-weight: 700 !important;

    letter-spacing: 0.1em !important;

    scroll-snap-align: start;

    transform: none !important;
  }


  button.gc-events-filter-btn:hover,
  button.gc-events-filter-btn:focus-visible,
  button.gc-events-filter-btn:active {
    transform: none !important;
  }


  button.gc-events-filter-btn.is-active {
    box-shadow:
      0 6px 14px
      rgba(140, 0, 22, 0.14) !important;
  }


  /* =======================================================
     CARD
  ======================================================= */

  .gc-events-card {
    padding:
      16px
      15px
      13px;
  }


  .gc-events-card__main {
    grid-template-columns:
      92px
      minmax(0, 1fr);

    gap: 13px;
  }


  .gc-events-card__image-wrap {
    width: 92px;
    height: 92px;
  }


  .gc-events-card__body {
    min-width: 0;

    padding: 0 !important;
  }


  /* =======================================================
     DATE — COMPACT AGAIN
  ======================================================= */

  .gc-events-card__date-badge {
    position: static !important;

    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: center;

    gap: 5px;

    width: auto !important;
    min-width: 0 !important;

    height: 24px !important;
    min-height: 24px !important;

    margin:
      0
      0
      7px !important;

    padding:
      0
      8px !important;

    background:
      #8c0016 !important;

    color:
      #ffffff !important;
  }


  .gc-events-card__date-badge::before {
    display: none !important;
    content: none !important;
  }


  .gc-events-card__date-day,
  .gc-events-card__date-month {
    display: inline-block !important;

    margin: 0 !important;

    color:
      #ffffff !important;

    font-size:
      10px !important;

    font-weight:
      800 !important;

    line-height:
      1 !important;

    letter-spacing:
      0.05em !important;
  }


  .gc-events-card__date-day {
    margin-right:
      1px !important;
  }


  /* =======================================================
     TITLE / META
  ======================================================= */

  .gc-events-card__title {
    margin:
      0
      0
      6px;

    font-size:
      15px;

    line-height:
      1.08;
  }


  .gc-events-card__meta {
    font-size:
      11.5px;

    line-height:
      1.4;
  }


  /* =======================================================
     MONTH HEADER
  ======================================================= */

  .gc-events-month__title {
    font-size:
      23px;
  }


  .gc-events-month__header {
    gap: 9px;

    margin-bottom:
      14px;
  }

}

/* =========================================================
   EVENTS FILTER — MOBILE TABS
========================================================= */

@media (max-width: 767px) {

  .gc-events-filter-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center;

    gap: 14px 18px !important;

    width: 100%;

    margin-top: 0;

    padding: 0 !important;

    overflow: visible !important;

    scroll-snap-type: none !important;
  }


  button.gc-events-filter-btn {
    position: relative;

    flex: 0 0 auto !important;

    min-height: 0 !important;

    margin: 0 !important;

    padding: 0 0 7px !important;

    overflow: visible !important;

    border: 0 !important;

    background: transparent !important;

    box-shadow: none !important;

    color: #59544f !important;

    font-size: 9px !important;
    font-weight: 700 !important;

    line-height: 1 !important;

    letter-spacing: 0.11em !important;

    white-space: nowrap;

    transform: none !important;

    transition:
      color 0.25s ease !important;
  }


  /* Remove desktop burgundy sweep */
  button.gc-events-filter-btn::before {
    display: none !important;
    content: none !important;
  }


  /* Underline */
  button.gc-events-filter-btn::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 100%;
    height: 2px;

    background: #8c0016;

    transform: scaleX(0);

    transform-origin: right center;

    transition:
      transform 0.35s
      cubic-bezier(0.22, 1, 0.36, 1);
  }


  /* Active */
  button.gc-events-filter-btn.is-active {
    color: #8c0016 !important;

    background: transparent !important;

    border: 0 !important;

    box-shadow: none !important;

    transform: none !important;
  }


  button.gc-events-filter-btn.is-active::after {
    transform: scaleX(1);

    transform-origin: left center;
  }


  /* Touch / focus */
  button.gc-events-filter-btn:hover,
  button.gc-events-filter-btn:focus-visible,
  button.gc-events-filter-btn:active {
    color: #8c0016 !important;

    background: transparent !important;

    border: 0 !important;

    box-shadow: none !important;

    transform: none !important;

    letter-spacing: 0.11em !important;
  }


  button.gc-events-filter-btn:focus-visible {
    outline: none !important;
  }

}




/* =========================================================
   EVENTS TOP — INTRO + NEXT EVENT
========================================================= */

.gc-events-top {
  display: grid;

  grid-template-columns:
    minmax(0, 1.05fr)
    minmax(440px, 0.95fr);

  gap: 38px;

  align-items: stretch;

  width: 100%;

  margin-bottom: 58px;
}


/* =========================================================
   INTRO
========================================================= */

.gc-events-top .gc-events-page-intro {
  display: flex;
  flex-direction: column;
  justify-content: center;

  margin: 0;
}


/* =========================================================
   NEXT EVENT
========================================================= */

.gc-next-event {
  position: relative;

  min-height: 285px;

  overflow: hidden;

  background: #050913;

  isolation: isolate;
}


/* =========================================================
   BACKGROUND
========================================================= */

.gc-next-event__background {
  position: absolute;
  inset: 0;

  z-index: -3;

  background-size: cover;
  background-position: center center;

  transform: scale(1.01);

  transition:
    transform 0.8s
    cubic-bezier(0.22, 1, 0.36, 1);
}


.gc-next-event:hover
.gc-next-event__background {
  transform: scale(1.045);
}


/* =========================================================
   OVERLAY
========================================================= */

.gc-next-event__overlay {
  position: absolute;
  inset: 0;

  z-index: -2;

  background:
    linear-gradient(
      90deg,
      rgba(2, 5, 14, 0.96) 0%,
      rgba(2, 5, 14, 0.86) 27%,
      rgba(2, 5, 14, 0.48) 55%,
      rgba(2, 5, 14, 0.08) 80%,
      rgba(2, 5, 14, 0) 100%
    );
}


/* subtle burgundy accent */




/* =========================================================
   CONTENT
========================================================= */

.gc-next-event__content {
  position: relative;

  z-index: 2;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;

  width: 60%;
  min-height: 285px;

  padding:
    34px
    0
    34px
    34px;

  color: #ffffff;
}


/* =========================================================
   EYEBROW
========================================================= */

.gc-next-event__eyebrow {
  display: block;

  margin-bottom: 12px;

  color: rgba(255, 255, 255, 0.72);

  font-size: 9px;
  font-weight: 700;

  line-height: 1;

  letter-spacing: 0.2em;

  text-transform: uppercase;
}


/* =========================================================
   TITLE
========================================================= */

.gc-next-event__title {
  max-width: 420px;

  margin:
    0
    0
    16px !important;

  color: #ffffff;

  font-size:
    clamp(
      25px,
      2.1vw,
      38px
    );

  font-weight: 700;

  line-height: 0.98;

  letter-spacing: -0.035em;
}


/* =========================================================
   META
========================================================= */

.gc-next-event__meta {
  display: flex;
  align-items: center;

  gap: 10px;

  margin-bottom: 20px;

  color: rgba(255, 255, 255, 0.86);

  font-size: 11px;
  font-weight: 700;

  line-height: 1;

  letter-spacing: 0.1em;

  text-transform: uppercase;
}


.gc-next-event__separator {
  display: block;

  width: 18px;
  height: 1px;

  background:
    rgba(255, 255, 255, 0.45);
}


/* =========================================================
   REGISTER BUTTON
========================================================= */

.gc-next-event__button {
  position: relative;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 42px;

  padding:
    0
    20px;

  overflow: hidden;
  isolation: isolate;

  background: #8c0016;

  border:
    1px solid
    #8c0016;

  color: #ffffff !important;

  font-size: 9px;
  font-weight: 700;

  line-height: 1;

  letter-spacing: 0.15em;

  text-decoration: none !important;

  text-transform: uppercase;

  transition:
    transform 0.35s
    cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease;
}


.gc-next-event__button span {
  position: relative;

  z-index: 2;
}


/* dark sweep */

.gc-next-event__button::before {
  content: "";

  position: absolute;
  inset: 0;

  z-index: 1;

  background: #57000e;

  transform: scaleX(0);

  transform-origin: right center;

  transition:
    transform 0.45s
    cubic-bezier(0.22, 1, 0.36, 1);
}


.gc-next-event__button:hover {
  transform:
    translateY(-2px);

  box-shadow:
    0 12px 24px
    rgba(0, 0, 0, 0.2);
}


.gc-next-event__button:hover::before {
  transform: scaleX(1);

  transform-origin: left center;
}





/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

  .gc-events-top {
    gap: 26px;

    margin-bottom: 42px;
  }


  .gc-next-event {
    min-height: 290px;
  }


  .gc-next-event__background {
    background-position:
      62% center;
  }


  .gc-next-event__overlay {
    background:
      linear-gradient(
        90deg,
        rgba(2, 5, 14, 0.95) 0%,
        rgba(2, 5, 14, 0.78) 48%,
        rgba(2, 5, 14, 0.28) 75%,
        rgba(2, 5, 14, 0.06) 100%
      );
  }


  .gc-next-event__content {
    width: 70%;

    min-height: 290px;

    padding:
      28px
      0
      28px
      22px;
  }


  .gc-next-event__title {
    font-size: 26px;
  }


  .gc-next-event__meta {
    font-size: 9px;
  }

}
.gc-next-event[hidden],
.gc-next-event__button[hidden] {
  display: none !important;
}

/* =========================================================
   EVENT MODAL
========================================================= */

html.gc-event-modal-open,
body.gc-event-modal-open {
  overflow: hidden;
}


.gc-event-modal {
  position: fixed;

  inset: 0;

  z-index: 999999;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 32px;

  pointer-events: none;

  visibility: hidden;

  opacity: 0;

  transition:
    opacity 0.35s ease,
    visibility 0.35s ease;
}


.gc-event-modal.is-open {
  pointer-events: auto;

  visibility: visible;

  opacity: 1;
}


/* =========================================================
   BACKDROP
========================================================= */

.gc-event-modal__backdrop {
  position: absolute;

  inset: 0;

  background:
    rgba(8, 8, 9, 0.76);

  backdrop-filter:
    blur(12px);

  -webkit-backdrop-filter:
    blur(12px);
}


/* =========================================================
   EVENT MODAL — COMPACT
========================================================= */

.gc-event-modal {
  position: fixed;
  inset: 0;

  z-index: 999999;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 24px;

  visibility: hidden;
  opacity: 0;
  pointer-events: none;

  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
}


.gc-event-modal.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}


/* BACKDROP */

.gc-event-modal__backdrop {
  position: absolute;
  inset: 0;

  background:
    rgba(12, 12, 13, 0.74);

  backdrop-filter:
    blur(8px);

  -webkit-backdrop-filter:
    blur(8px);
}


/* =========================================================
   DIALOG
========================================================= */

.gc-event-modal__dialog {
  position: relative;
  z-index: 2;

  display: grid;

  grid-template-columns:
    330px
    minmax(0, 1fr);

  width:
    min(
      820px,
      100%
    );

  max-height:
    calc(100vh - 48px);

  overflow: hidden;

  background:
    #f8f7f3;

  box-shadow:
    0 30px 80px
    rgba(0, 0, 0, 0.28);

  opacity: 0;

  transform:
    translateY(16px)
    scale(0.98);

  transition:
    opacity 0.32s ease,
    transform 0.45s
    cubic-bezier(0.22, 1, 0.36, 1);

  outline: none;
}


.gc-event-modal.is-open
.gc-event-modal__dialog {
  opacity: 1;

  transform:
    translateY(0)
    scale(1);
}


/* =========================================================
   IMAGE — SQUARE
========================================================= */

.gc-event-modal__visual {
  position: relative;

  width: 330px;
  height: 330px;

  min-height: 0;

  overflow: hidden;

  align-self: center;

  background:
    #111318;
}


.gc-event-modal__image,
.gc-event-modal__image-empty {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;
}


.gc-event-modal__image {
  object-fit: cover;
  object-position: center;
}


.gc-event-modal__image-empty {
  background:
    linear-gradient(
      135deg,
      #18191c,
      #08090a
    );
}


.gc-event-modal__visual-overlay {
  position: absolute;
  inset: 0;

  pointer-events: none;

  background:
    linear-gradient(
      180deg,
      transparent 60%,
      rgba(0, 0, 0, 0.35)
      100%
    );
}


/* =========================================================
   DATE
========================================================= */

.gc-event-modal__date {
  position: absolute;

  left: 18px;
  bottom: 18px;

  z-index: 3;

  display: inline-flex;
  flex-direction: row;
  align-items: baseline;

  gap: 6px;

  padding:
    9px
    11px;

  background:
    #8c0016;

  color:
    #ffffff;
}


.gc-event-modal__date-day {
  font-size: 15px;
  font-weight: 800;

  line-height: 1;
}


.gc-event-modal__date-month {
  margin: 0;

  font-size: 10px;
  font-weight: 700;

  line-height: 1;

  letter-spacing:
    0.08em;

  text-transform:
    uppercase;
}


/* =========================================================
   CONTENT
========================================================= */

.gc-event-modal__content {
  min-width: 0;

  max-height: 520px;

  overflow-y: auto;

  padding:
    42px
    42px
    38px;

  background:
    #f8f7f3;
}


/* CATEGORY */

.gc-event-modal__category {
  display: flex;
  align-items: center;

  gap: 8px;

  margin-bottom: 13px;

  color:
    var(
      --gc-modal-category-color,
      #8c0016
    );

  font-size: 8px;
  font-weight: 800;

  line-height: 1;

  letter-spacing:
    0.17em;

  text-transform:
    uppercase;
}


.gc-event-modal__category::before {
  content: "";

  width: 6px;
  height: 6px;

  border-radius: 50%;

  background:
    currentColor;
}


/* TITLE */

.gc-event-modal__title {
  margin:
    0
    0
    22px !important;

  color:
    #151515;

  font-size:
    clamp(
      28px,
      3vw,
      38px
    );

  font-weight: 750;

  line-height: 1;

  letter-spacing:
    -0.04em;
}


/* =========================================================
   META
========================================================= */

.gc-event-modal__meta {
  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(90px, auto)
    auto;

  align-items: end;

  gap: 26px;

  margin-bottom: 22px;
}


.gc-event-modal__meta-item {
  display: flex;
  flex-direction: column;

  gap: 5px;
}


.gc-event-modal__meta-label {
  color:
    #98938d;

  font-size: 7px;
  font-weight: 700;

  line-height: 1;

  letter-spacing:
    0.16em;

  text-transform:
    uppercase;
}


.gc-event-modal__location,
.gc-event-modal__time {
  color:
    #292725;

  font-size: 12px;
  font-weight: 600;

  line-height: 1.35;
}


.gc-event-modal__line {
  width: 100%;
  height: 1px;

  margin-bottom: 22px;

  background:
    #ddd9d2;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.gc-event-modal__description {
  color:
    #5d5954;

  font-size: 13px;

  line-height: 1.55;
}


.gc-event-modal__description p {
  margin:
    0
    0
    12px;
}


.gc-event-modal__description p:last-child {
  margin-bottom: 0;
}


.gc-event-modal__description h1,
.gc-event-modal__description h2,
.gc-event-modal__description h3,
.gc-event-modal__description h4 {
  margin:
    20px
    0
    10px;

  color:
    #181818;

  font-size: 17px;

  line-height: 1.2;
}


/* =========================================================
   REGISTER
========================================================= */

.gc-event-modal__actions {
  margin-top: 24px;
}


.gc-event-modal__register {
  position: relative;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 44px;

  padding:
    0
    22px;

  overflow: hidden;
  isolation: isolate;

  background:
    #8c0016;

  border:
    1px solid
    #8c0016;

  color:
    #ffffff !important;

  font-size: 9px;
  font-weight: 700;

  line-height: 1;

  letter-spacing:
    0.14em;

  text-transform:
    uppercase;

  text-decoration:
    none !important;
}


/*
 * THIS IS IMPORTANT.
 * Otherwise display:inline-flex overrides hidden.
 */
.gc-event-modal__register[hidden] {
  display: none !important;
}


/* =========================================================
   CLOSE
========================================================= */

.gc-event-modal__close {
  position: absolute;

  top: 14px;
  right: 14px;

  z-index: 20;

  width: 36px;
  height: 36px;

  padding: 0;

  border: 0;

  background:
    #111111;

  cursor: pointer;
}


.gc-event-modal__close span {
  position: absolute;

  top: 50%;
  left: 50%;

  width: 14px;
  height: 1px;

  background:
    #ffffff;
}


.gc-event-modal__close span:first-child {
  transform:
    translate(-50%, -50%)
    rotate(45deg);
}


.gc-event-modal__close span:last-child {
  transform:
    translate(-50%, -50%)
    rotate(-45deg);
}
/* =========================================================
   EVENT MODAL — MOBILE
========================================================= */

@media (max-width: 767px) {

  .gc-event-modal {
    align-items: center;

    padding: 18px;
  }


  /* =======================================================
     MODAL BOX
  ======================================================= */

  .gc-event-modal__dialog {
    display: block;

    width: 100%;
    max-width: 420px;

    max-height: 90svh;

    overflow-y: auto;

    background: #f8f7f3;

    transform:
      translateY(20px)
      scale(0.98);
  }


  .gc-event-modal.is-open
  .gc-event-modal__dialog {
    transform:
      translateY(0)
      scale(1);
  }


  /* =======================================================
     IMAGE — SMALL + CENTERED
  ======================================================= */

  .gc-event-modal__visual {
    position: relative;

    width: 165px;
    height: 165px;

    min-height: 0;

    margin:
      28px
      auto
      0;

    overflow: hidden;

    background: #111318;
  }


  .gc-event-modal__image,
  .gc-event-modal__image-empty {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;
  }


  .gc-event-modal__image {
    object-fit: cover;
    object-position: center;
  }


  /* =======================================================
     DATE
  ======================================================= */

  .gc-event-modal__date {
    left: 10px;
    bottom: 10px;

    padding:
      7px
      9px;
  }


  .gc-event-modal__date-day {
    font-size: 13px;
  }


  .gc-event-modal__date-month {
    font-size: 8px;
  }


  /* =======================================================
     CONTENT
  ======================================================= */

  .gc-event-modal__content {
    max-height: none;

    overflow: visible;

    padding:
      24px
      24px
      30px;

    text-align: left;
  }


  .gc-event-modal__category {
    margin-bottom: 11px;
  }


  .gc-event-modal__title {
    margin-bottom: 20px !important;

    font-size: 27px;

    line-height: 1.02;
  }


  /* =======================================================
     META
  ======================================================= */

   .gc-event-modal__meta {
    grid-template-columns:
      1fr
      1fr;

    gap:
      16px
      18px;
  }


  .gc-event-modal__register--meta {
    grid-column:
      1 / -1;

    justify-self:
      start;
  }


  .gc-event-modal__location,
  .gc-event-modal__time {
    font-size: 12px;
  }


  .gc-event-modal__line {
    margin-bottom: 20px;
  }


  /* =======================================================
     DESCRIPTION
  ======================================================= */

  .gc-event-modal__description {
    font-size: 13px;

    line-height: 1.55;
  }


  .gc-event-modal__description h1,
  .gc-event-modal__description h2,
  .gc-event-modal__description h3,
  .gc-event-modal__description h4 {
    margin:
      18px
      0
      8px;

    font-size: 16px !important;

    line-height: 1.2 !important;
  }


  /* =======================================================
     CLOSE
  ======================================================= */

  .gc-event-modal__close {
    top: 12px;
    right: 12px;

    width: 34px;
    height: 34px;
  }


  /* =======================================================
     REGISTER
  ======================================================= */

  .gc-event-modal__actions {
    margin-top: 22px;
  }


  .gc-event-modal__register {
    min-height: 42px;

    padding:
      0
      20px;
  }

}

/* =========================================================
   EVENT MODAL — DESCRIPTION CONTENT
========================================================= */

.gc-event-modal__description .gc-event-detail {
  width: 100%;
}


/* QUOTE */

.gc-event-modal__description
.gc-event-detail__quote {
  margin:
    0
    0
    18px;

  color:
    #1b1b1b;

  font-size:
    18px;

  font-weight:
    650;

  line-height:
    1.35;

  letter-spacing:
    -0.015em;

  font-style:
    italic;
}


/* HEADLINE */

.gc-event-modal__description
.gc-event-detail__headline {
  margin:
    0
    0
    18px !important;

  color:
    #151515;

  font-size:
    22px !important;

  font-weight:
    750;

  line-height:
    1.12 !important;

  letter-spacing:
    -0.025em;
}


/* SMALL LABEL */

.gc-event-modal__description
.gc-event-detail__label {
   margin:
    0
    0
    14px;

  color:
    #8c0016;

  font-size: 12px !important;

  font-weight: 800;

  line-height: 1;

  letter-spacing:
    0.14em;

  text-transform:
    uppercase;
}


/* LIST */

.gc-event-modal__description
.gc-event-detail__list {
  display:
    grid;

  gap:
    10px;

  margin:
    0
    0
    24px;

  padding:
    0;

  list-style:
    none;
}


.gc-event-modal__description
.gc-event-detail__list li {
  position: relative;

  margin: 0;

  padding-left: 22px;

  color: #5b5752;

  font-size: 12.5px;

  line-height: 1.4;

  letter-spacing: -0.01em;
}


.gc-event-modal__description
.gc-event-detail__list li::before {
  content:
    "✓";

  position:
    absolute;

  top:
    1px;

  left:
    0;

  display:
    flex;

  align-items:
    center;

  justify-content:
    center;

  width:
    15px;

  height:
    15px;

  background:
    #8c0016;

  color:
    #ffffff;

  font-size:
    9px;

  font-weight:
    800;

  line-height:
    1;
}


.gc-event-modal__description
.gc-event-detail__list strong {
  display: inline;

  color: #282522;

  font-weight: 700;
}


.gc-event-modal__description
.gc-event-detail__list em {
  color:
    #77716b;
}


/* IMAGE */

.gc-event-modal__description
.gc-event-detail__media {
  width:
    100%;

  margin:
    24px
    0
    0;

  overflow:
    hidden;
}


.gc-event-modal__description
.gc-event-detail__media img {
  display:
    block;

  width:
    100%;

  height:
    auto;

  margin:
    0;

  object-fit:
    cover;
}

/* =========================================================
   EVENT CARD — PREMIUM HOVER
========================================================= */

.gc-events-card {
  position: relative;

  overflow: hidden;
  isolation: isolate;

  background: #ffffff;

  transition:
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.35s ease,
    box-shadow 0.4s ease;
}


/* Cream sweep */
.gc-events-card::before {
  content: "";

  position: absolute;
  inset: 0;

  z-index: 0;

  background: #F9F8F2;

  transform: scaleX(0);

  transform-origin: right center;

  transition:
    transform 0.55s
    cubic-bezier(0.22, 1, 0.36, 1);
}


/* Keep card content above sweep */
.gc-events-card > * {
  position: relative;
  z-index: 1;
}


/* Hover */
.gc-events-card:hover {
  transform: translateY(-2px);

  border-color: #c9c5be;

  box-shadow:
    0 14px 30px
    rgba(0, 0, 0, 0.045);
}


.gc-events-card:hover::before {
  transform: scaleX(1);

  transform-origin: left center;
}


/* =========================================================
   DATE — BURGUNDY DEFAULT / BLACK ON HOVER
========================================================= */

.gc-events-card__date-badge {
  position: relative;

  overflow: hidden;
  isolation: isolate;

  background: #8c0016 !important;

  color: #ffffff !important;
}


/* Black sweep */
.gc-events-card__date-badge::after {
  content: "";

  position: absolute;
  inset: 0;

  z-index: -1;

  background: #111111;

  transform: scaleX(0);

  transform-origin: right center;

  transition:
    transform 0.45s
    cubic-bezier(0.22, 1, 0.36, 1);
}


/* Hover = burgundy -> black */
.gc-events-card:hover
.gc-events-card__date-badge::after {
  transform: scaleX(1);

  transform-origin: left center;
}


/* Keep date text above sweep */
.gc-events-card__date-day,
.gc-events-card__date-month {
  position: relative;

  z-index: 2;

  color: #ffffff !important;
}

/* =========================================================
   EVENT CARDS — DISABLE HOVER ON MOBILE
========================================================= */

@media (max-width: 767px) {

  /* Card stays completely clean */
  .gc-events-card,
  .gc-events-card:hover,
  .gc-events-card:focus,
  .gc-events-card:active {
    background: #ffffff !important;

    border-color: #dedbd6 !important;

    box-shadow: none !important;

    transform: none !important;
  }


  /* Remove cream sweep */
  .gc-events-card::before,
  .gc-events-card:hover::before,
  .gc-events-card:focus::before,
  .gc-events-card:active::before {
    display: none !important;

    content: none !important;

    transform: none !important;
  }


  /* Date always stays burgundy */
  .gc-events-card__date-badge,
  .gc-events-card:hover .gc-events-card__date-badge,
  .gc-events-card:focus .gc-events-card__date-badge,
  .gc-events-card:active .gc-events-card__date-badge {
    background: #8c0016 !important;

    transform: none !important;
  }


  /* Remove black date sweep */
  .gc-events-card__date-badge::after,
  .gc-events-card:hover .gc-events-card__date-badge::after,
  .gc-events-card:focus .gc-events-card__date-badge::after,
  .gc-events-card:active .gc-events-card__date-badge::after {
    display: none !important;

    content: none !important;

    transform: none !important;
  }


  /* Keep date text white */
  .gc-events-card__date-day,
  .gc-events-card__date-month {
    color: #ffffff !important;
  }

}

.gc-event-modal__register--meta {
  align-self: end;

  min-width: 108px;
  min-height: 34px;

  padding:
    0
    14px;

  font-size: 7px;
  letter-spacing: 0.13em;

  white-space: nowrap;
}


.gc-event-modal__register[hidden] {
  display: none !important;
}

/* =========================================================
   BUSINESS LIVE TRAINING — MODAL CONTENT
========================================================= */

.gc-event-modal__description
.gc-event-detail--business
.gc-event-detail__intro {
  margin:
    0
    0
    22px;

  color:
    #57534f;

  font-size:
    13px;

  font-weight:
    400;

  line-height:
    1.55;
}


.gc-event-modal__description
.gc-event-detail--business
.gc-event-detail__label {
  margin:
    0
    0
    14px;

  color:
    #8c0016;

  font-size:
    8px;

  font-weight:
    800;

  line-height:
    1;

  letter-spacing:
    0.15em;

  text-transform:
    uppercase;
}


/* =========================================================
   BULLETS
========================================================= */

.gc-event-modal__description
.gc-event-detail--business
.gc-event-detail__list {
  display:
    grid;

  gap:
    9px;

  margin:
    0
    0
    26px;

  padding:
    0;

  list-style:
    none;
}


.gc-event-modal__description
.gc-event-detail--business
.gc-event-detail__list li {
  position:
    relative;

  margin:
    0;

  padding-left:
    22px;

  color:
    #5b5752;

  font-size:
    12.5px;

  font-weight:
    400;

  line-height:
    1.4;

  letter-spacing:
    -0.005em;
}


.gc-event-modal__description
.gc-event-detail--business
.gc-event-detail__list li::before {
  content:
    "✓";

  position:
    absolute;

  top:
    1px;

  left:
    0;

  display:
    flex;

  align-items:
    center;

  justify-content:
    center;

  width:
    15px;

  height:
    15px;

  background:
    #8c0016;

  color:
    #ffffff;

  font-size:
    9px;

  font-weight:
    800;

  line-height:
    1;
}


.gc-event-modal__description
.gc-event-detail--business
.gc-event-detail__list strong {
  display:
    inline;

  color:
    #282522;

  font-weight:
    700;
}


/* =========================================================
   BODY COPY
========================================================= */

.gc-event-modal__description
.gc-event-detail--business
.gc-event-detail__copy {
  margin:
    0
    0
    14px;

  color:
    #5b5752;

  font-size:
    12.5px;

  line-height:
    1.55;
}


.gc-event-modal__description
.gc-event-detail--business
.gc-event-detail__copy:last-child {
  margin-bottom:
    0;
}
.gc-event-modal__description
.gc-event-detail__live {
  display: flex;
  align-items: center;

  gap: 7px;

  margin:
    0
    0
    12px;

  color: #5b5752;

  font-size: 8px;
  font-weight: 800;

  line-height: 1;

  letter-spacing: 0.15em;

  text-transform: uppercase;
}


/* =========================================================
   LIVE BUSINESS TRAINING LABEL
========================================================= */

.gc-event-modal__description
.gc-event-detail__live {
  display: inline-flex;

  align-items: center;

  flex-wrap: nowrap;

  gap: 6px;

  width: auto;

  margin:
    0
    0
    14px;

  padding: 0;

  white-space: nowrap;

  font-size: 8px;

  font-weight: 800;

  line-height: 1;

  letter-spacing: 0.14em;

  text-transform: uppercase;
}


/* RED LIVE DOT */
/* =========================================================
   LIVE BUSINESS TRAINING
========================================================= */

.gc-event-modal__description
.gc-event-detail__live-badge {
  display: block !important;

  width: 100% !important;

  margin:
    0
    0
    14px !important;

  padding: 0 !important;

  color: #59544f !important;

  font-size: 8px !important;
  font-weight: 700 !important;

  line-height: 1 !important;

  letter-spacing: 0.14em !important;

  text-transform: uppercase !important;

  white-space: nowrap !important;
}


.gc-event-modal__description
.gc-event-detail__live-status {
  display: inline !important;

  margin: 0 6px 0 0 !important;

  padding: 0 !important;

  color: #8c0016 !important;

  font: inherit !important;

  font-weight: 800 !important;

  white-space: nowrap !important;
}

/* =========================================================
   EVENTS CARDS — IPAD PORTRAIT
========================================================= */

@media (min-width: 768px) and (max-width: 900px) {

  .gc-events-card__title {
    font-size: 14px;
    line-height: 1.06;
    letter-spacing: -0.02em;
  }

}

@media (max-width: 767px) {

  .gc-events-page-intro {
    order: 1;
  }

  .gc-next-event {
    order: 2;
  }

  .gc-events-filter-bar {
    order: 3;
    margin-top: 24px;
  }

}

/* =========================================================
   EVENTS — DESKTOP LAYOUT FIX
========================================================= */

@media (min-width: 1200px) {

  .gc-events-top {
    display: grid;

    grid-template-columns:
      minmax(0, 1fr)
      minmax(560px, 1.15fr);

    grid-template-areas:
      "intro featured"
      "filters featured";

    column-gap: clamp(60px, 7vw, 130px);
    row-gap: 26px;

    align-items: start;
  }

  .gc-events-page-intro {
    grid-area: intro;
  }

  .gc-next-event {
    grid-area: featured;
  }

  .gc-events-filter-bar {
    grid-area: filters;

    margin: 0 !important;
    align-self: start;
  }

}
.gc-events-desktop-break {
  display: none;
}

@media (min-width: 900px) {
  .gc-events-desktop-break {
    display: block;
  }
}

/* =========================================================
   EVENTS — TABLET FINAL FIX
   iPad Mini + iPad Pro
========================================================= */


/* =========================================================
   IPAD MINI / SMALL TABLETS
   768px — 899px

   INTRO
   FEATURED EVENT
   FILTERS
========================================================= */

@media (min-width: 768px) and (max-width: 899px) {

  .gc-events-top {
    display: grid !important;

    grid-template-columns: 1fr !important;

    grid-template-areas:
      "intro"
      "featured"
      "filters" !important;

    gap: 28px !important;

    width: 100% !important;

    margin-bottom: 48px !important;
  }


  /* INTRO */

  .gc-events-page-intro {
    grid-area: intro !important;

    width: 100% !important;

    margin: 0 !important;
  }


  .gc-events-page-intro__title {
    margin-bottom: 16px !important;
  }


  .gc-events-page-intro__description {
    max-width: 520px !important;

    margin-bottom: 0 !important;
  }


  /* Do NOT force desktop line break on small tablet */

  .gc-events-desktop-break {
    display: none !important;
  }


  /* FEATURED EVENT */

  .gc-next-event {
    grid-area: featured !important;

    width: 100% !important;

    min-height: 320px !important;
  }


  .gc-next-event__content {
    width: 58% !important;

    min-height: 320px !important;

    padding:
      34px
      0
      34px
      34px !important;
  }


  .gc-next-event__title {
    font-size: 30px !important;
  }


  /* FILTERS */

  .gc-events-filter-bar {
    grid-area: filters !important;

    display: grid !important;

    grid-template-columns:
      repeat(5, minmax(0, 1fr)) !important;

    gap: 8px !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    overflow: visible !important;
  }


  button.gc-events-filter-btn {
    width: 100% !important;

    min-width: 0 !important;

    min-height: 42px !important;

    padding:
      0
      10px !important;

    white-space: nowrap !important;

    font-size: 8px !important;

    letter-spacing: 0.08em !important;

    transform: none !important;
  }

}



/* =========================================================
   IPAD PRO / LARGE TABLETS
   900px — 1199px

   INTRO + FEATURED
   FILTERS FULL WIDTH UNDER BOTH
========================================================= */

@media (min-width: 900px) and (max-width: 1199px) {

  .gc-events-top {
    display: grid !important;

    grid-template-columns:
      minmax(0, 0.8fr)
      minmax(0, 1.2fr) !important;

    grid-template-areas:
      "intro featured"
      "filters filters" !important;

    column-gap:
      clamp(34px, 5vw, 70px) !important;

    row-gap: 32px !important;

    align-items: center !important;

    width: 100% !important;

    margin-bottom: 56px !important;
  }


  /* INTRO */

  .gc-events-page-intro {
    grid-area: intro !important;

    width: 100% !important;

    margin: 0 !important;
  }


  .gc-events-page-intro__description {
    max-width: 420px !important;

    margin-bottom: 0 !important;
  }


  /* FEATURED EVENT */

  .gc-next-event {
    grid-area: featured !important;

    width: 100% !important;

    min-width: 0 !important;

    min-height: 300px !important;
  }


  .gc-next-event__content {
    width: 58% !important;

    min-height: 300px !important;
  }


  /* =======================================================
     FILTERS — ONE FULL-WIDTH LINE
  ======================================================= */

  .gc-events-filter-bar {
    grid-area: filters !important;

    display: grid !important;

    grid-template-columns:
      repeat(5, minmax(0, 1fr)) !important;

    gap: 10px !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;
  }


  button.gc-events-filter-btn {
    width: 100% !important;

    min-width: 0 !important;

    min-height: 42px !important;

    padding:
      0
      12px !important;

    white-space: nowrap !important;

    transform: none !important;
  }

}

/* =========================================================
   EVENTS — MOBILE TOP LAYOUT FINAL FIX
   Phone only — does NOT affect tablet / iPad
========================================================= */

@media (max-width: 767px) {

  /* -------------------------------------------------------
     TOP SECTION
     Intro -> Featured -> Filters
  ------------------------------------------------------- */

  .gc-events-top {
    display: grid !important;

    grid-template-columns:
      minmax(0, 1fr) !important;

    grid-template-areas:
      "intro"
      "featured"
      "filters" !important;

    gap: 24px !important;

    width: 100% !important;
    max-width: 100% !important;

    margin-bottom: 42px !important;
  }


  /* -------------------------------------------------------
     INTRO
  ------------------------------------------------------- */

  .gc-events-page-intro {
    grid-area: intro !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
  }


  .gc-events-page-intro__title {
    width: 100% !important;
    max-width: none !important;

    margin-bottom: 16px !important;
  }


  .gc-events-page-intro__description {
    width: 100% !important;
    max-width: none !important;

    margin-bottom: 0 !important;
  }


  .gc-events-desktop-break {
    display: none !important;
  }


  /* -------------------------------------------------------
     FEATURED EVENT
  ------------------------------------------------------- */

  .gc-next-event {
    grid-area: featured !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    min-height: 300px !important;
  }


  .gc-next-event__content {
    width: 68% !important;
    min-width: 0 !important;

    min-height: 300px !important;

    padding:
      28px
      0
      28px
      20px !important;
  }


  .gc-next-event__title {
    max-width: 100% !important;

    font-size: 25px !important;
  }


  .gc-next-event__background {
    background-position:
      62% center !important;
  }


  /* -------------------------------------------------------
     FILTERS
  ------------------------------------------------------- */

  .gc-events-filter-bar {
    grid-area: filters !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
  }

}

/* =========================================================
   EVENTS — FLOATING PHONE POSITION FIX
========================================================= */

@media (max-width: 1024px) {

  body #gc-global-phone {
    position: fixed !important;

    left: auto !important;
    right: 18px !important;

    top: auto !important;
    bottom: calc(
      18px + env(safe-area-inset-bottom)
    ) !important;
  }

}


@media (min-width: 768px) and (max-width: 1024px) {

  body #gc-global-phone {
    right: 24px !important;

    bottom: calc(
      24px + env(safe-area-inset-bottom)
    ) !important;
  }

}

/* =========================================================
   EVENTS — MOBILE FILTER SPACING FIX
========================================================= */

@media (max-width: 767px) {

  /* Less space between filters and month title */
  .gc-events-top {
    margin-bottom: 10px !important;
  }


  /* Keep all mobile filter tabs spaced equally */
  button.gc-events-filter-btn[data-filter="foundation"] {
    padding:
      0
      0
      7px !important;
  }

}