/* ==========================================
   CSS COMPLETO: Filtros, Tarjetas & Animaciones
   ========================================== */

/* ====== 1. Filtros ====== */
#filter-list {
  margin: 20px 0;
}
#filter-list.nav-pills.nav-justified {
  display: inline-block !important;
  width: auto           !important;
  table-layout: initial !important;
  margin: 0 auto 20px   !important;
}
#filter-list.nav-pills.nav-justified > li {
  float: none           !important;
  display: inline-block !important;
  width: auto           !important;
  margin: 0 10px        !important;
}
#filter-list .active > a {
  background-color: #9F2241;    /* color primario */
  color: #fff                   !important;
}
#filter-list li > a {
  color: #691C32;               /* color secundario */
  text-decoration: none !important;
  font-weight: 500;
  transition: background 0.3s, color 0.3s;
}
#filter-list li > a:hover {
  color: #9F2241;
}
.nav>li, .nav>li>a {
  display: block;
  position: static;
}

/* ====== 2. Igualar alturas de tarjetas (Flexbox) ====== */
#card-container.row {
  display: flex;
  flex-wrap: wrap;
}
#card-container.row > [class*="col-"] {
  display: flex;
}
.thumbnail.place-card {
  display: flex;
  flex-direction: column;
  flex: 1;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  margin-bottom: 30px;
  /* Hover general: levanta y escala */
}
.thumbnail.place-card:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

/* ====== 3. Animación de entrada "3D + rebote" ====== */
@keyframes cardEntrance {
  0% {
    opacity: 0;
    transform: perspective(600px) translateY(40px) rotateX(15deg);
  }
  60% {
    opacity: 1;
    transform: perspective(600px) translateY(-10px) rotateX(0deg);
  }
  100% {
    opacity: 1;
    transform: perspective(600px) translateY(0) rotateX(0deg);
  }
}
.place-card {
  opacity: 0;
  animation: cardEntrance 0.8s ease-out forwards;
}

/* ====== 4. Imagen uniforme sin padding ====== */
.thumbnail.place-card img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-bottom: 1px solid #e5e5e5;
  flex-shrink: 0;
  transition: transform 0.5s ease;
  padding: 0;               /* Eliminar cualquier padding */
  margin: 0;                /* Asegurar que no quede margen */
}
.thumbnail.place-card:hover img {
  transform: scale(1.05);
}

/* ====== 5. Pie de tarjeta (Caption) ====== */
.thumbnail.place-card .caption {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  text-align: center;
  padding: 15px;           /* Asegurar padding uniforme */
}
.thumbnail.place-card .caption h4 {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 1.75rem;
  font-weight: 600;
  margin: 0 0 0.5rem;
  color: #333;
  transition: color 0.3s;
}
.thumbnail.place-card:hover .caption h4 {
  color: #691C32;       /* secundario al hover */
}
.thumbnail.place-card .caption p {
  margin: 0 0 1rem;
  font-size: 1.3rem;
  color: #777;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.thumbnail {
    padding: 0px
}
/* ====== 6. Botón "Comprar" y Animaciones ====== */
.thumbnail.place-card .caption .btn-info {
  position: relative;
  overflow: hidden;
  z-index: 0;
  display: inline-block;
  padding: 0.5rem 1rem;
  font-size: .8em;
  font-weight: 600;
  color: #9F2241;               /* primario */
  background: transparent;
  border: 1px solid #9F2241;    /* primario */
  border-radius: 4px;
  transition: transform 0.2s ease, background-color 0.3s ease, color 0.3s ease;
  outline: none !important;
  box-shadow: none !important;
}
.thumbnail.place-card .caption .btn-info:hover {
  background-color: #691C32; /* secundario */
  color: #fff;
  transform: translateY(-2px) scale(1.05);
}
.thumbnail.place-card .caption .btn-info:focus {
  box-shadow: 0 0 0 3px rgba(159,34,65,0.4) !important;
}

/* ====== 7. Icono de ubicación ====== */
.thumbnail.place-card .caption .fa-map-marker {
  color: #ccc;
  font-size: .5rem;
  vertical-align: middle;
  margin-left: 0.5rem;
}

/* ====== 8. Cursores y efectos menores ====== */
.clickable-image {
  cursor: pointer;
}

/* ====== 9. Mejora para la alineación de ubicación ====== */
.thumbnail.place-card .location-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  color: #666;
  font-size: 1.5rem;
}

.thumbnail.place-card .location-wrapper .fa-map-marker {
  color: #9F2241; /* color primario - mismo que los botones */
  margin-right: 0.5rem;
  font-size: 1.5rem;
}

/* Ajustar el espacio entre el texto de área y el botón */
.thumbnail.place-card .caption p.text-muted {
  margin-bottom: 1rem;
}

/* Ajustar diseño del botón para que tenga más espacio arriba */
.thumbnail.place-card .caption .btn-info {
  margin-bottom: 0.5rem;
}

/* Asegurarse que el botón tiene ancho suficiente */
.thumbnail.place-card .caption .btn-wrapper {
  margin-bottom: 0.5rem;
}