
.eapf-form {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 22px;
  padding: 24px;
  margin: 0 0 32px;
  box-shadow: 0 20px 50px rgba(0,0,0,.06);
}
.eapf-filter { margin-bottom: 18px; }
.eapf-filter > label {
  display: block;
  font-weight: 700;
  margin-bottom: 8px;
}
.eapf-form select,
.eapf-form input[type="text"],
.eapf-form input[type="number"] {
  width: 100%;
  min-height: 42px;
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,.18);
  padding: 8px 12px;
}
.eapf-range {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}
.eapf-choice {
  display: inline-flex !important;
  gap: 7px;
  align-items: center;
  margin: 0 14px 8px 0;
  font-weight: 400 !important;
}
.eapf-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}
.eapf-reset {
  background: transparent !important;
  border: 0 !important;
  font-weight: 700;
}
.eapf-loading {
  opacity: .45;
  pointer-events: none;
}

/* Mantiene la griglia corretta dopo AJAX */
.woocommerce ul.products,
.woocommerce-page ul.products {
  clear: both;
}

@media (max-width: 767px) {
  .eapf-form { padding: 18px; border-radius: 18px; }
  .eapf-range { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }

  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .eapf-results ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .eapf-results ul.products li.product {
    width: auto !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
  }
}

.eapf-admin-warning {
  padding: 12px 14px;
  margin-bottom: 16px;
  border-radius: 10px;
  background: #fff8e5;
  border: 1px solid #f1d28a;
  font-size: 14px;
}


/* v2.0.2 - layout filtri desktop e fix griglia prodotti dopo AJAX */
@media (min-width: 768px) {
  .eapf-form {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px 24px !important;
    align-items: end !important;
  }

  .eapf-form .eapf-filter {
    margin-bottom: 0 !important;
  }

  .eapf-form .eapf-actions {
    grid-column: 1 / -1 !important;
  }

  .eapf-form .eapf-price-filter {
    grid-column: span 1 !important;
  }

  .eapf-form .eapf-range {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mantiene sempre la griglia prodotti WooCommerce, anche dopo sostituzione AJAX */
.woocommerce ul.products,
.woocommerce-page ul.products,
.eapf-products-wrap ul.products,
.eapf-ajax-target ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 32px 28px !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.eapf-products-wrap ul.products li.product,
.eapf-ajax-target ul.products li.product {
  width: auto !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
}

@media (max-width: 1024px) and (min-width: 768px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .eapf-products-wrap ul.products,
  .eapf-ajax-target ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .eapf-products-wrap ul.products,
  .eapf-ajax-target ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .eapf-products-wrap ul.products li.product,
  .eapf-ajax-target ul.products li.product {
    width: auto !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
  }
}


/* v2.0.3 - elimina il buco iniziale dopo filtro AJAX */
.woocommerce ul.products,
.woocommerce-page ul.products,
.eapf-ajax-target ul.products,
.eapf-products-wrap ul.products {
  width: 100% !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
.eapf-ajax-target ul.products::before,
.eapf-ajax-target ul.products::after {
  display: none !important;
  content: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.eapf-ajax-target ul.products li.product,
.eapf-products-wrap ul.products li.product,
.woocommerce ul.products li.product.first,
.woocommerce-page ul.products li.product.first,
.woocommerce ul.products li.product.last,
.woocommerce-page ul.products li.product.last {
  grid-column: auto !important;
  grid-row: auto !important;
  place-self: stretch !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  transform: none !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  float: none !important;
  clear: none !important;
}

@media (min-width: 1025px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .eapf-ajax-target ul.products,
  .eapf-products-wrap ul.products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
