/* Tarjetas de categoría con imagen y velo inferior. */

.rm-categorias__cabecera { text-align: center; margin-bottom: 56px; }
.rm-categorias__cabecera .rm-titulo { margin-inline: auto; }

.rm-categorias__lista {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
}

.rm-categoria {
  position: relative; display: block;
  border-radius: var(--rm-radio); overflow: hidden;
  aspect-ratio: 3 / 4; background: var(--rm-negro);
  text-decoration: none;
}

.rm-categoria img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.6s var(--rm-transicion);
}
.rm-categoria:hover img { transform: scale(1.08); }

.rm-categoria__velo {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 26px; color: var(--rm-blanco);
  background: linear-gradient(180deg, rgba(17,17,17,0) 40%, rgba(17,17,17,.75) 100%);
}

.rm-categoria__titulo { font-family: var(--rm-serif); font-weight: 500; font-size: 1.3rem; margin-bottom: 6px; }

.rm-categoria__enlace {
  font-size: 0.8rem; letter-spacing: 1px; opacity: 0.9;
  display: inline-flex; align-items: center; gap: 8px;
  transition: gap var(--rm-transicion);
}
.rm-categoria__enlace::after {
  content: ''; width: 14px; height: 1px; background: currentColor;
}
.rm-categoria:hover .rm-categoria__enlace { gap: 14px; }

@media (max-width: 1024px) { .rm-categorias__lista { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .rm-categorias__lista { grid-template-columns: 1fr; } }
