/* ============================================================
   Categories List – Front-office
   ============================================================ */

#categories-list-block { padding: 1rem 0; background-color: #000; }

/* Item (carte cliquable) */
.categories-list__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: inherit;
  border: 1px solid #e8e8e8;
  border-radius: .5rem;
  background: #fff;
  overflow: hidden;
  transition: box-shadow .2s, border-color .2s, transform .2s;
  height: 100%;
}
.categories-list__item:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,.1);
  border-color: #ccc;
  transform: translateY(-2px);
  color: inherit;
  text-decoration: none;
}

/* Image */
.categories-list__img-wrap {
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  background: #f5f5f5;
}
.categories-list__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s;
}
.categories-list__item:hover .categories-list__img {
  transform: scale(1.04);
}

/* Corps texte */
.categories-list__body {
  padding: .75rem 1rem;
  text-align: center;
  width: 100%;
  position: absolute;
  bottom: 0;
}
.categories-list__name {
  font-weight: 700;
  font-size: .95rem;
  margin: 0;
  color: #212121;
}
.categories-list__desc {
  font-size: .8rem;
  color: #777;
  margin: .35rem 0 0;
  line-height: 1.4;
}

/* Responsive */
@media (max-width: 575px) {
  .categories-list__body { padding: .5rem .75rem; }
  .categories-list__name { font-size: .85rem; }
}
