.agenda-filter-sticky {
  position: sticky;
  top: 12.5%;
  align-self: start;
}

.hidden {
  display: none !important;
}

.agenda-item {
  opacity: 1;
  transition: opacity 0.35s ease-in-out;
}

.agenda-item.hidden {
  opacity: 0;
  pointer-events: none;
}

.agenda-page .form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23009CDC' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.visually-hidden-label {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.agenda-search::placeholder {
  color: #009cdc;
  font-weight: 500;
  opacity: 0.8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.agenda-page #filter-date::-webkit-calendar-picker-indicator {
  filter: invert(38%) sepia(92%) saturate(2470%) hue-rotate(176deg) brightness(95%) contrast(101%);
  opacity: 1;
}

.agenda-page #calendar-grid div {
  color: #375ea9;
  text-align: center;
  padding: 6px 0;
  border-radius: 4px;
  cursor: pointer;
  user-select: none;
  background: transparent;
}

.agenda-page #calendar-grid div.today {
  background: #009cdc;
  color: #e30613;
  font-weight: 700;
}

.agenda-page #calendar-grid div.selected {
  background: #375ea9 !important;
  color: #fff !important;
}

.agenda-page #calendar-grid div.range {
  background-color: #6ec6d8;
  color: #fff;
  font-weight: 600;
}

.agenda-page #calendar-days div {
  padding: 2px 0;
}
