/* club-categorias.css — la ficha de una categoría de Socio (public/js/club-categorias-ficha.js): landing, «Hacerme Socio» y Mi cuenta.
   Solo tokens de styles.css: claro y oscuro salen solos. */
.cat-grilla { display: grid; grid-template-columns: 1fr; gap: var(--sp-4); margin: 0; padding: 0; list-style: none; }
.cat-card { display: flex; flex-direction: column; gap: var(--sp-2); min-width: 0; padding: var(--sp-5); border-radius: var(--radio-tarjeta); background: var(--surface-card); box-shadow: var(--elev-1); color: var(--text-primary); }
.cat-card > * { margin: 0; }
.cat-nombre { font-family: var(--display); font-weight: 800; font-size: var(--fs-seccion); line-height: var(--lh-seccion); text-transform: uppercase; letter-spacing: .2px; overflow-wrap: anywhere; }
.cat-precio { font-weight: 700; font-size: var(--fs-cuerpo); line-height: var(--lh-cuerpo); color: var(--text-value); font-variant-numeric: tabular-nums; }
.cat-quien { font-size: var(--fs-cuerpo); line-height: var(--lh-cuerpo); color: var(--text-secondary); }
.cat-sub { margin-top: var(--sp-2); font-size: var(--fs-apoyo); line-height: var(--lh-apoyo); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-secondary); }
.cat-lista { display: grid; gap: var(--sp-1); margin: 0; padding: 0; list-style: none; font-size: var(--fs-cuerpo); line-height: var(--lh-cuerpo); }
.cat-lista li { position: relative; padding-left: var(--sp-5); overflow-wrap: anywhere; }
.cat-lista li::before { content: ""; position: absolute; left: var(--sp-1); top: .6em; width: 8px; height: 8px; border-radius: 50%; background: var(--text-value); }
.cat-lista.cat-no li { color: var(--text-secondary); }
.cat-lista.cat-no li::before { background: var(--border-default); }
.cat-centro, .cat-pie { margin-top: auto; padding-top: var(--sp-3); font-size: var(--fs-apoyo); line-height: var(--lh-apoyo); color: var(--text-secondary); }
.cat-pie .btn { display: flex; justify-content: center; align-items: center; width: 100%; min-height: var(--touch); }
@media (min-width: 720px) { .cat-grilla { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .cat-grilla { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cat-card.cat-plana { padding: 0; background: transparent; box-shadow: none; }
.cu-categoria { margin-top: var(--sp-4); padding-top: var(--sp-4); border-top: 1px solid var(--sep); }
.cu-categoria > .cat-sub { margin: 0 0 var(--sp-2); }
