/**
 * Elementor Dynamic Filters — Frontend styles v0.3.0
 */

/* ── Loading state ─────────────────────────────────────────────────────────── */

.elementor-loop-container.edf-loading,
.swiper.edf-loading {
  position: relative;
  pointer-events: none;
  transition: opacity 0.2s ease;
  opacity: 0.45;
}

.elementor-loop-container.edf-loading::after,
.swiper.edf-loading::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
}

/* Spinner centrado sobre el contenedor */
.elementor-loop-container.edf-loading::before,
.swiper.edf-loading::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 11;
  width: 36px;
  height: 36px;
  margin: -18px 0 0 -18px;
  border: 3px solid rgba(0, 0, 0, 0.12);
  border-top-color: currentColor;
  border-radius: 50%;
  animation: edf-spin 0.7s linear infinite;
}

@keyframes edf-spin {
  to { transform: rotate(360deg); }
}

/* ── No results ────────────────────────────────────────────────────────────── */

.edf-no-results {
  width: 100%;
  padding: 2rem 1rem;
  text-align: center;
  color: inherit;
  opacity: 0.6;
}

.edf-no-results p {
  margin: 0;
  font-size: 0.95em;
}

/* ── Filter active state helpers ───────────────────────────────────────────── */

.e-filter-item.e-active {
  font-weight: 600;
}

.e-filter-item[aria-pressed="true"] {
  font-weight: 600;
}

/* ── Sort button direction icon ────────────────────────────────────────────── */

/* Hide arrow on all EDF sort buttons by default */
[data-edf-sort-btn] i,
[data-edf-sort-btn] svg,
[data-edf-sort-btn] .elementor-icon {
  display: none !important;
}

/* Show and animate arrow only on the active (sorted) button */
[data-edf-sort-dir] i,
[data-edf-sort-dir] svg,
[data-edf-sort-dir] .elementor-icon {
  display: inline-block !important;
  transition: transform 0.2s ease;
}

[data-edf-sort-dir="asc"] i,
[data-edf-sort-dir="asc"] svg,
[data-edf-sort-dir="asc"] .elementor-icon {
  transform: rotate(180deg);
}

[data-edf-sort-dir="desc"] i,
[data-edf-sort-dir="desc"] svg,
[data-edf-sort-dir="desc"] .elementor-icon {
  transform: rotate(0deg);
}

/* ── Flatpickr wrap + clear button ─────────────────────────────────────────── */

.edf-flatpickr-wrap {
  display: inline-flex;
  align-items: center;
  width: 100%;
}

.edf-flatpickr-wrap [data-input] {
  flex: 1;
  min-width: 0;
}

button.edf-date-clear {
  all: unset !important;
  box-sizing: border-box !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,0.5) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  box-shadow: none !important;
  transition: color 0.15s;
}

button.edf-date-clear.is-visible {
  display: inline-flex !important;
}

button.edf-date-clear:hover {
  color: #fff !important;
}

/* ── Flatpickr overrides ───────────────────────────────────────────────────── */

/* Input: fondo negro, texto blanco, sin borde */
.flatpickr-input {
  background: #181a1b !important;
  color: #fff !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.flatpickr-input::placeholder {
  color: rgba(255,255,255,0.45) !important;
}

/* Calendario: fondo blanco, texto negro */
.flatpickr-calendar {
  background: #fff !important;
  border-color: #e0e0e0 !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.15) !important;
  color: #000 !important;
}

.flatpickr-calendar::before,
.flatpickr-calendar::after {
  border-bottom-color: #fff !important;
}

.flatpickr-months .flatpickr-month,
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  background: #fff !important;
  color: #000 !important;
  fill: #000 !important;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: #000 !important;
}

.flatpickr-current-month input.cur-year,
.flatpickr-current-month .flatpickr-monthDropdown-months {
  background: transparent !important;
  color: #000 !important;
}

.flatpickr-weekdays,
span.flatpickr-weekday {
  background: #fff !important;
  color: rgba(0,0,0,0.5) !important;
}

.flatpickr-innerContainer,
.flatpickr-rContainer {
  background: #fff !important;
}

.flatpickr-day {
  color: #000 !important;
  border-color: transparent !important;
}

.flatpickr-day:hover,
.flatpickr-day:focus {
  background: #f0f0f0 !important;
  border-color: transparent !important;
}

/* Días deshabilitados: tachados y sin cursor */
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  color: rgba(0,0,0,0.2) !important;
  background: transparent !important;
  border-color: transparent !important;
  cursor: not-allowed !important;
  text-decoration: line-through;
}

/* Día seleccionado: fondo negro, número blanco */
.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.selected:focus {
  background: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}
