/* ================================
// 1. GERAL
// ================================ */
.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 1.5rem;
}

.navbar {
  background-color: var(--black-90);
}

/* ================================
// 2. CALENDARIO
// ================================ */
#calendarioContainer {
  padding-left: 0 !important;
}

#calendarioContainer {
  position: sticky;
  top: 100px;
  max-height: calc(100vh - 120px);
  background: #fff;
  z-index: 10;
  border-radius: 8px;
}

#eventosContainerNovo {
  padding-right: 8px;
}

#calendarDatesNovo li {
  width: calc(100% / 7);
  aspect-ratio: 1 / 1;
  cursor: pointer;
  border-radius: 0;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  user-select: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0;
  color: var(--color-black);
  z-index: 1;
  margin: 0.0938rem 0;
}

#calendarDatesNovo li.vazio {
  cursor: default;
}

#calendarDatesNovo li.com-evento:hover {
  background-color: var(--primary-30);
}

#calendarDatesNovo li.hoje {
  font-weight: var(--fw-bold);
  color: var(--color-primary);
}

#calendarDatesNovo li.range-single,
#calendarDatesNovo li.range-start,
#calendarDatesNovo li.range-middle,
#calendarDatesNovo li.range-end {
  background-color: var(--primary-30);
}

#calendarDatesNovo li.range-single {
  border-radius: 50%;
}

#calendarDatesNovo li.range-start {
  border-top-left-radius: 50%;
  border-bottom-left-radius: 50%;
}

#calendarDatesNovo li.range-end {
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
}

#calendarDatesNovo li.range-single::before,
#calendarDatesNovo li.range-start::before,
#calendarDatesNovo li.range-end::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--color-primary);
  border-radius: 50%;
  z-index: -1;
}

#calendarDatesNovo li.range-single,
#calendarDatesNovo li.range-start,
#calendarDatesNovo li.range-end {
  color: var(--color-white);
}

li.range-middle-end {
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}

li.range-middle-start {
  border-top-left-radius: 50% !important;
  border-bottom-left-radius: 50% !important;
}

.badge-evento {
  position: absolute;
  bottom: 4px;
  width: 40%;
  height: 5px;
  background-color: var(--cor-badge);
}

#eventosContainerNovo:last-child {
  padding-bottom: 0.9375rem;
}

/* ================================
// 4. RESPOSNSIVIDADE
// ================================ */
/* Extra small (xs) */
@media (max-width: 575.98px) {

  .row>*,
  .p-4 {
    padding: 0 !important;
  }

  .row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    gap: 1rem;
  }

  h2 {
    margin-bottom: 1.5625rem;
  }

  #eventosContainerNovo {
    max-height: 100%;
    padding-right: 8px;
  }

  .hora-local {
    display: flex !important;
    gap: 15px;
  }

  span {
    font-size: var(--fs-body);
  }
}

/* Small (sm): ≥576px */
@media (min-width: 576px) and (max-width: 767.98px) {
  #eventosContainerNovo {
    max-height: none;
  }
}

/* Medium (md): ≥768px*/
@media (min-width: 768px) and (max-width: 991.98px) {
  h2 {
    margin: 1.5625rem 0;
  }

  .site-wrapper {
    gap: 5rem;
  }
}

/* Large (lg): ≥992px*/
@media (min-width: 992px) and (max-width: 1199.98px) {
  .row>* {
    margin-right: 0 !important;
    padding-bottom: 0.625rem;
  }

  h2 {
    margin: 1.5625rem 0;
  }

  .site-wrapper {
    gap: 5rem;
  }
}

@media (min-width: 1220px) {
  h2 {
    margin: 1.5625rem 0;
  }
}