/* Estilos básicos del carrusel de productos */
.cp-wrapper { margin: 1rem auto; }
.cp-filters { display: grid; gap: .5rem; margin-bottom: 1rem; }
.cp-filter-group { display: grid; gap: .25rem; }
.cp-filter-title { font-weight: 600; font-size: .95rem; opacity: .8; }
.cp-filter-buttons { display: flex; flex-wrap: wrap; gap: .5rem; }

.cp-filter-btn {
  border: 1px solid #ddd;
  background: #fff;
  padding: .4rem .7rem;
  border-radius: 9999px;
  cursor: pointer;
  transition: box-shadow .2s ease, background .2s ease;
  font-size: .9rem;
}
.cp-filter-btn:hover { box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.cp-filter-btn.is-active { background: #f3f4f6; }

.cp-carousel { }
.cp-product-item {
  padding: .75rem;
  text-align: center;
}
.cp-product-thumb {
  width: 100%;
  height: auto;
  border-radius: 16px; /* Bordes redondeados */
  display: block;
}
.cp-no-image {
  width: 100%;
  padding-top: 66%;
  background: #f1f5f9;
  border-radius: 16px;
}

.cp-product-title {
  font-size: 1rem;
  margin: .5rem 0 .25rem;
}
.cp-product-title a { text-decoration: none; color: inherit; }
.cp-product-price { font-weight: 600; margin-bottom: .5rem; }
.cp-product-button {
  display: inline-block;
  border: 1px solid #ddd;
  padding: .4rem .7rem;
  border-radius: 10px;
  text-decoration: none;
}

.slick-slide { outline: none; }
.slick-dots { bottom: -30px; }
/* Corregir ocultamiento en filtrado */
.cp-carousel .cp-product-item { display: block; } /* visible por defecto */
