/* =========================================================
   LATIN NCAP — filtros-lightbox.css
   Panel modal de filtros de resultados.
   Requiere: estilos.css
   ========================================================= */

.filtros--lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  background-color: #f9f9f9;
  font-family: var(--fuente-texto);
  opacity: 0;
  transform: translateY(-100%);
  pointer-events: none;
  transition: var(--transition);
}

.filtros--lightbox.is-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.filtros--header {
  position: relative;
  background-color: #fff;
  /*background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url(../img/banners/slide-1.jpg);*/
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 30px 20px 20px;
  display: flex;
  justify-content: center;
  box-shadow: var(--sombra);
}

/* Contenedor relativo */
.filtros--search-box {
  position: relative;
  width: 100%;
}

/* Ajuste del input para dar espacio al botón a la derecha */
.filtros-busqueda {
  width: 100%;
  padding: 13px 45px 13px 18px; /* Padding derecho de 45px para que el texto no toque la lupa */
  border: 1px solid #ddd;
  border-radius: 999px;
  font: inherit;
  box-sizing: border-box;
}

/* Botón de lupa dentro del input (lado derecho) */
.filtros--search-btn {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  color: #888; /* Color gris */
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s ease;
}

.filtros--search-btn:hover {
  color: #333; /* Oscurece levemente al pasar el cursor */
}

.filtros--lightbox-close {
  position: absolute;
  top: 20px;
  right: 30px;
  background: transparent;
  border: none;
  font-size: var(--size-5);
  color: var(--color-negro);
  cursor: pointer;
  z-index: 10;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--color-gris-oscuro);
  color: #fff;
  display: flex;
  justify-content: center;
  transition: var(--transition);
}

.filtros--lightbox-close:hover {
  background-color: var(--color-amarillo);
  color: var(--color-gris-oscuro);
}

.filtros--header-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  width: 100%;
  max-width: 500px;
}

.filtros--search-box {
  position: relative;
  width: 100%;
}

.filtros--search-box i {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-gris-btn);
  font-size: var(--size);
}

.filtros--search-box input {
  width: 100%;
  padding: 10px 20px 10px 45px;
  border: 1px solid var(--color-gris-borde);
  border-radius: 50px;
  font-family: var(--fuente-texto);
  font-size: var(--size);
  color: var(--color-negro);
  outline: none;
  box-sizing: border-box;
  transition: var(--transition);
}

.filtros--search-box input:focus {
  border-color: var(--color-cygnus);
}

.filtros--btn-results {
  background-color: var(--color-amarillo);
  border: none;
  padding: 10px 28px;
  border-radius: 50px;
  font-family: var(--fuente-texto);
  font-size: var(--size-5);
  color: var(--color-negro);
  cursor: pointer;
  transition: var(--transition);
  margin: 15px 0 0 0;
}

.filtros--btn-results:hover {
  background-color: var(--color-amarillo-oscuro);
}

.filtros--body {
  flex: 1;
  overflow-y: auto;
  padding: 40px 20px;
}

.filtros--body .container {
  max-width: var(--container-ch);
  margin: 0 auto;
}

.filtros--group {
  border-bottom: 1px solid var(--color-gris-borde);
  padding-bottom: 30px;
  margin-bottom: 30px;
}

.filtros--group:last-child {
  border-bottom: none;
}

.filtros--group-header {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 15px;
}

.filtros--group-header h3 {
  font-family: var(--fuente-titulos);
  font-size: var(--size);
  font-weight: 700;
  color: #666;
  margin: 0;
  letter-spacing: var(--letter-spacing);
}

.filtros--group-header h3 span {
  font-size: var(--size);
  color: var(--color-gris-medio);
  font-weight: normal;
}

.filtros--clear-link {
  font-size: var(--size);
  color: var(--color-gris-medio);
  text-decoration: underline;
  transition: var(--transition);
}

.filtros--clear-link:hover {
  color: var(--color-negro);
}

.filtros--pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
}

.pill {
  background-color: var(--color-blanco);
  border: 1px solid #ddd;
  border-radius: 40px;
  padding: 6px 18px;
  font-family: var(--fuente-texto);
  font-size: var(--size);
  color: #666;
  cursor: pointer;
  transition: var(--transition);

  opacity: .5;
}

.pill:hover {
  border-color: var(--color-gris-medio-hash);
}

.pill.active {
  background-color: var(--color-gris-medio);
  color: var(--color-gris-claro);
  border-color: var(--color-gris-medio);
  font-weight: bold;
  opacity: 1;
}

/* Pill de estrellas: mismas imágenes que filtros-box.css (estrella-filtro / estrella-filtro-active) */
.pill--estrellas {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-height: 40px;
}

.pill--estrellas .ico-estrella-filtro {
  width: 15px;
  height: 16px;
}
.filtros-form{display:flex;flex-direction:column;height:100%}
.filtros-busqueda{width:100%;padding:13px 18px;border:1px solid #ddd;border-radius:999px;font:inherit}
.pill{position:relative}.pill input{position:absolute;opacity:0;pointer-events:none}

@media (max-width: 640px) {
  .filtros--header {
    padding: 18px 14px 12px;
  }

  .filtros--lightbox-close {
    top: 12px;
    right: 16px;
    width: 32px;
    height: 32px;
    font-size: 1rem;
  }

  .filtros--header-content {
    gap: 10px;
    max-width: calc(100% - 42px);
    margin-right: 36px;
  }

  .filtros--search-box i {
    left: 14px;
    font-size: 0.9rem;
  }

  .filtros--search-box input,
  .filtros-busqueda {
    font-size: 0.92rem;
  }

  .filtros--search-box input {
    padding: 10px 16px 10px 38px;
  }

  .filtros-busqueda {
    padding: 10px 38px 10px 14px;
  }

  .filtros--search-btn {
    right: 12px;
  }

  .filtros--btn-results {
    padding: 8px 16px;
    font-size: 0.84rem;
    margin-top: 8px;
  }

  .filtros--body {
    padding: 18px 14px;
  }

  .filtros--group {
    padding-bottom: 16px;
    margin-bottom: 18px;
  }

  .filtros--group-header {
    margin-bottom: 12px;
  }

  .filtros--group-header h3,
  .filtros--group-header h3 span,
  .filtros--clear-link,
  .pill {
    font-size: 0.81rem;
  }

  .filtros--pills {
    gap: 8px;
  }

  .pill {
    padding: 5px 12px;
  }

  .pill--estrellas {
    min-height: 32px;
  }

  .pill--estrellas .ico-estrella-filtro {
    width: 12px;
    height: 13px;
  }
}
