/* =========================== Filtres /evenements-tech =========================== */

.event-filter {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  padding: 0.5rem 1.125rem;
  border: 1px solid var(--color-stroke-3);
  border-radius: 9999px;
  background-color: var(--color-background-1);
  color: color-mix(in srgb, var(--color-secondary) 75%, transparent);
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
  text-decoration: none;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.dark .event-filter {
  border-color: var(--color-stroke-6);
  background-color: var(--color-background-7);
  color: color-mix(in srgb, var(--color-accent) 65%, transparent);
}

.event-filter:hover {
  border-color: var(--color-primary-400);
  color: var(--color-primary-600);
}

.dark .event-filter:hover {
  color: var(--color-primary-300);
}

.event-filter:focus-visible {
  outline: 2px solid var(--color-primary-500);
  outline-offset: 2px;
}

/* Sélection : fond plein + coche, jamais la couleur seule. */
.event-filter[aria-current='page'] {
  border-color: var(--color-primary-500);
  background-color: var(--color-primary-500);
  color: #fff;
}

.dark .event-filter[aria-current='page'] {
  color: #fff;
}

.event-filter[aria-current='page']::before {
  content: '';
  width: 0.875rem;
  height: 0.875rem;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 13 4 4L19 7'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 13 4 4L19 7'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

/* Champs "Du"/"Au" : même gabarit pill, calendrier attaché au clic (flowbite-datepicker). */
.event-date-input {
  min-height: 2.75rem;
  width: 8.5rem;
  padding: 0.5rem 1.125rem;
  border: 1px solid var(--color-stroke-3);
  border-radius: 9999px;
  background-color: var(--color-background-1);
  color: var(--color-secondary);
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
}

.dark .event-date-input {
  border-color: var(--color-stroke-6);
  background-color: var(--color-background-7);
  color: var(--color-accent);
}

.event-date-input::placeholder {
  color: color-mix(in srgb, var(--color-secondary) 50%, transparent);
}

.dark .event-date-input::placeholder {
  color: color-mix(in srgb, var(--color-accent) 50%, transparent);
}

.event-date-input:focus {
  outline: 2px solid var(--color-primary-500);
  outline-offset: 1px;
}

/* =========================== Calendrier (flowbite-datepicker) =========================== */
/* La librairie n'embarque pas de CSS : ses classes structurelles sont
   restylées ici pour reprendre les tokens du site (pas de dépendance au
   thème Tailwind de Flowbite, jamais chargé). */

.datepicker-picker {
  background-color: var(--color-background-1) !important;
  border: 1px solid var(--color-stroke-3) !important;
  border-radius: 1rem !important;
  box-shadow: 0 10px 30px -8px rgba(0, 0, 0, 0.18);
  padding: 1rem !important;
}

.dark .datepicker-picker {
  background-color: var(--color-background-6) !important;
  border-color: var(--color-stroke-7) !important;
}

.datepicker-header .datepicker-title,
.datepicker-controls .view-switch,
.datepicker-cell {
  color: var(--color-secondary);
}

.dark .datepicker-header .datepicker-title,
.dark .datepicker-controls .view-switch,
.dark .datepicker-cell {
  color: var(--color-accent);
}

.datepicker-controls .prev-btn,
.datepicker-controls .next-btn,
.datepicker-controls .view-switch {
  background: transparent;
  border-radius: 9999px;
}

.datepicker-controls .prev-btn:hover,
.datepicker-controls .next-btn:hover,
.datepicker-controls .view-switch:hover {
  background-color: var(--color-background-3);
}

.dark .datepicker-controls .prev-btn:hover,
.dark .datepicker-controls .next-btn:hover,
.dark .datepicker-controls .view-switch:hover {
  background-color: var(--color-background-7);
}

.datepicker-cell.dow {
  color: color-mix(in srgb, var(--color-secondary) 55%, transparent);
}

.dark .datepicker-cell.dow {
  color: color-mix(in srgb, var(--color-accent) 55%, transparent);
}

.datepicker-cell:not(.dow):not(.disabled) {
  cursor: pointer;
}

.datepicker-cell:not(.dow):not(.disabled):hover {
  background-color: var(--color-background-3);
}

.dark .datepicker-cell:not(.dow):not(.disabled):hover {
  background-color: var(--color-background-7);
}

.datepicker-cell.disabled,
.datepicker-cell.prev,
.datepicker-cell.next {
  color: color-mix(in srgb, var(--color-secondary) 30%, transparent);
}

.dark .datepicker-cell.disabled,
.dark .datepicker-cell.prev,
.dark .datepicker-cell.next {
  color: color-mix(in srgb, var(--color-accent) 25%, transparent);
}

.datepicker-cell.today {
  background-color: var(--color-background-3) !important;
}

.dark .datepicker-cell.today {
  background-color: var(--color-background-7) !important;
}

.datepicker-cell.selected,
.datepicker-cell.selected:hover,
.datepicker-cell.range-start,
.datepicker-cell.range-end {
  background-color: var(--color-primary-600) !important;
  color: #fff !important;
}

.datepicker-cell.range {
  background-color: color-mix(in srgb, var(--color-primary-500) 18%, transparent) !important;
  color: var(--color-secondary);
}

.dark .datepicker-cell.range {
  color: var(--color-accent);
}

.datepicker-cell.focused:not(.selected):not(.range-start):not(.range-end) {
  outline: 2px solid var(--color-primary-400);
  outline-offset: -2px;
}

.datepicker-footer .today-btn,
.datepicker-footer .clear-btn {
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.5rem 1rem;
}

.datepicker-footer .today-btn {
  background-color: var(--color-primary-600);
  color: #fff;
}

.datepicker-footer .today-btn:hover {
  background-color: var(--color-primary-700);
}

.datepicker-footer .clear-btn {
  background-color: transparent;
  border: 1px solid var(--color-stroke-3);
  color: var(--color-secondary);
}

.dark .datepicker-footer .clear-btn {
  border-color: var(--color-stroke-7);
  color: var(--color-accent);
}
