/* Estilos neutros del módulo de membresías (assets/js/membresias.js). Usa los tokens de rdn.css. */
/* Cinco planes: los 3 que se compran en línea en la primera fila (2 columnas de 6 cada uno) y los 2 de venta
   directa debajo (3 de 6), para que cada tarjeta respire. */
.mb-cards { display: grid; gap: var(--sp-6, 1.5rem); grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: stretch; }
.mb-cards > .mb-card { grid-column: span 2; }
.mb-cards > .mb-card--directa { grid-column: span 3; }
.mb-card { display: grid; gap: var(--sp-3, .75rem); align-content: start; padding: var(--sp-6, 1.5rem); background: var(--paper, #fff); border: 1px solid var(--rule-soft, #D5CECE); min-width: 0; }
.mb-card--recomendado { border: 2px solid var(--red, #DB0632); padding: calc(var(--sp-6, 1.5rem) - 1px); }
.mb-card--directa { background: var(--paper-2, #F5F2F2); border-color: var(--ink, #1D1D1B); }
/* Aliado y Patrocinador (promoción de lanzamiento de los primeros 10): filo rojo arriba y caja de promoción; sobrio, sin gritar */
.mb-card--promo { border: 2px solid var(--ink, #1D1D1B); border-top: 6px solid var(--red, #DB0632); padding: calc(var(--sp-6, 1.5rem) - 1px); padding-top: calc(var(--sp-6, 1.5rem) - 5px); }
/* Etiquetas discretas: "Recomendado" (opinión de la revista) y "Venta directa" */
.mb-tag { display: inline-block; justify-self: start; margin: 0; padding: .3rem .55rem; border: 1px solid currentColor; font: 700 .6875rem/1 var(--font-head, "Barlow Condensed", sans-serif); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft, #3D3939); }
.mb-tag--rec { background: var(--red, #DB0632); border-color: var(--red, #DB0632); color: #fff; }
.mb-card__mes, .mb-tar__mes { margin: 0; font: 600 .875rem/1.3 var(--font-ui, sans-serif); color: var(--ink-soft, #3D3939); }
.mb-card__cta, .mb-tar__cta { margin-top: var(--sp-2, .5rem); }
.mb-card__cta .btn, .mb-tar__cta .btn { max-width: 100%; }
.mb-card__name { font: 700 1.75rem/1 var(--font-head, "Barlow Condensed", sans-serif); text-transform: uppercase; margin: 0; }
.mb-card__price { margin: 0; display: flex; gap: .5rem; align-items: baseline; flex-wrap: wrap; }
.mb-price { font: 700 2.5rem/1 var(--font-head, "Barlow Condensed", sans-serif); }
.mb-card__price small, .mb-tar__price small { font: 600 .8125rem/1.2 var(--font-ui, sans-serif); color: var(--ink-mute, #615B5B); text-transform: uppercase; letter-spacing: .06em; }
.mb-card__lema { margin: 0; color: var(--ink-soft, #3D3939); font-weight: 600; }
.mb-card__list, .mb-tar__list { margin: 0; padding: 0; list-style: none; display: grid; gap: .5rem; }
.mb-card__list li, .mb-tar__list li { padding-left: 1.25rem; position: relative; }
.mb-card__list li::before, .mb-tar__list li::before { content: ""; position: absolute; left: 0; top: .6em; width: .6rem; height: 2px; background: var(--red, #DB0632); }
.mb-foot { margin: var(--sp-4, 1rem) 0 0; color: var(--ink-mute, #615B5B); font-size: var(--fs-sm, .875rem); max-width: 80ch; }

.mb-tar { display: grid; border-top: 3px solid var(--ink, #1D1D1B); }
.mb-tar__row { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .8fr) minmax(0, 2fr); gap: var(--sp-6, 1.5rem); padding: var(--sp-6, 1.5rem) 0; border-bottom: 1px solid var(--ink, #1D1D1B); align-items: start; }
.mb-tar__row--recomendado { background: var(--paper-2, #F5F2F2); padding-left: var(--sp-4, 1rem); padding-right: var(--sp-4, 1rem); }
.mb-tar__body { display: grid; gap: var(--sp-4, 1rem); align-content: start; min-width: 0; }
.mb-tar__head { display: grid; gap: .5rem; justify-items: start; min-width: 0; }
.mb-tar__head h3 { font: 700 2rem/1 var(--font-head, "Barlow Condensed", sans-serif); text-transform: uppercase; margin: 0 0 .25rem; }
.mb-tar__lema { margin: 0; color: var(--ink-soft, #3D3939); }
.mb-tar__price { margin: 0; display: grid; gap: .25rem; align-content: start; min-width: 0; }

.mb-table-wrap { position: relative; overflow-x: auto; border: 1px solid var(--rule-soft, #D5CECE); background: var(--paper, #fff); }
.mb-table { border-collapse: collapse; width: 100%; min-width: 900px; table-layout: fixed; font-size: var(--fs-sm, .9375rem); }
/* Columnas parejas: 28% para el beneficio y el resto repartido igual entre los cinco planes */
.mb-table col.mb-colg--benef { width: 28%; }
.mb-table col.mb-colg--planes { width: 14.4%; }
.mb-table th, .mb-table td { text-align: left; padding: .75rem .9rem; border-bottom: 1px solid var(--rule-soft, #D5CECE); vertical-align: top; }
.mb-table thead th { background: var(--ink, #1D1D1B); color: #fff; font: 700 1rem/1.1 var(--font-head, sans-serif); text-transform: uppercase; letter-spacing: .06em; vertical-align: top; }
.mb-table thead th:first-child { vertical-align: bottom; }
.mb-table thead th small { display: block; font-weight: 600; letter-spacing: 0; text-transform: none; opacity: .9; }
.mb-table thead th .mb-tag { display: block; width: fit-content; margin-bottom: .45rem; color: #fff; font-size: .625rem; padding: .25rem .4rem; }
.mb-table thead th .mb-tag--rec { background: var(--red, #DB0632); }
.mb-table thead th .mb-tag--vacia { visibility: hidden; border-color: transparent; }
.mb-table thead th .mb-mes { margin-top: .15rem; font-size: .75rem; opacity: .8; }
.mb-table tbody th, .mb-table tfoot th { font-weight: 600; width: 28%; min-width: 220px; }
.mb-table td { text-align: center; }
.mb-table .mb-si { color: var(--red, #DB0632); font-weight: 700; font-size: 1.25em; line-height: 1; }
.mb-table .mb-no { color: var(--ink-mute, #7A7373); }
/* La columna Recomendado se distingue con un filo rojo; las de venta directa, con un fondo suave */
.mb-table thead th.mb-col--recomendado { box-shadow: inset 0 4px 0 var(--red, #DB0632); }
.mb-table td.mb-col--recomendado { background: rgba(219, 6, 50, .045); }
.mb-table td.mb-col--directa { background: var(--paper-2, #F5F2F2); }
.mb-table tfoot th, .mb-table tfoot td { border-top: 2px solid var(--ink, #1D1D1B); vertical-align: middle; }
.mb-table tfoot tr + tr th, .mb-table tfoot tr + tr td { border-top: 1px solid var(--rule-soft, #D5CECE); }
.mb-table tfoot td strong { display: block; font: 700 1.25rem/1.1 var(--font-head, sans-serif); }
.mb-table tfoot td small { display: block; color: var(--ink-mute, #615B5B); font-weight: 600; }
.mb-table tfoot .btn { white-space: normal; padding-left: .6rem; padding-right: .6rem; font-size: .75rem; }
.mb-linea { color: var(--ink-mute, #615B5B); }
@media (min-width: 901px) {
  /* Con el scroll horizontal, la primera columna se queda a la vista */
  .mb-table tbody th, .mb-table tfoot th, .mb-table thead th:first-child { position: sticky; left: 0; z-index: 1; }
  .mb-table tbody th, .mb-table tfoot th { background: var(--paper, #fff); box-shadow: 1px 0 0 var(--rule-soft, #D5CECE); }
  .mb-table thead th:first-child { box-shadow: 1px 0 0 #3D3939; }
}

.mb-res { margin: 0; padding: 0; list-style: none; display: grid; gap: .5rem; }

@media (max-width: 1100px) {
  .mb-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mb-cards > .mb-card, .mb-cards > .mb-card--directa { grid-column: span 1; }
}
@media (max-width: 1100px) {
  .mb-cards > .mb-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .mb-tar__row { grid-template-columns: minmax(0, 1fr); gap: var(--sp-3, .75rem); }
}
@media (max-width: 680px) {
  .mb-cards { grid-template-columns: minmax(0, 1fr); }
}

/* Precio de lanzamiento, precio regular (solo si el JSON lo trae), asterisco hacia los términos */
.mb-lanza { margin: 0; justify-self: start; font: 700 .75rem/1 var(--font-head, "Barlow Condensed", sans-serif); letter-spacing: .14em; text-transform: uppercase; color: var(--red-deep, #A8042A); }
.mb-lanza::before { content: ""; display: inline-block; width: .5rem; height: .5rem; margin-right: .45rem; background: var(--red, #DB0632); vertical-align: .04em; }
.mb-regular { font: 600 1.125rem/1 var(--font-ui, sans-serif); color: var(--ink-mute, #615B5B); text-decoration: line-through; }
.mb-ast { color: var(--red-deep, #A8042A); font-weight: 700; text-decoration: none; padding: 0 .2em; }
.mb-ast:hover, .mb-ast:focus-visible { text-decoration: underline; }
.mb-foot--ast { margin-top: .25rem; }

/* Kit de bienvenida: terminal Mercado Pago de regalo, con imagen ilustrativa (nunca tapa el precio) */
.mb-kit { display: flex; align-items: center; gap: .875rem; padding: .625rem .875rem .625rem .625rem; background: #fff; border: 1px solid var(--rule-soft, #D5CECE); border-left: 3px solid var(--red, #DB0632); color: var(--ink, #1D1D1B); min-width: 0; }
.mb-kit__img { flex: 0 0 auto; width: 96px; height: 72px; object-fit: contain; display: block; }
.mb-kit__txt { display: grid; gap: .2rem; min-width: 0; }
.mb-kit__txt p { margin: 0; }
.mb-kit__t { font: 700 .75rem/1.1 var(--font-head, "Barlow Condensed", sans-serif); letter-spacing: .12em; text-transform: uppercase; color: var(--red-deep, #A8042A); }
.mb-kit__n { font: 600 .9375rem/1.25 var(--font-ui, sans-serif); }
.mb-kit__ilus { font: 500 .6875rem/1.2 var(--font-ui, sans-serif); color: var(--ink-mute, #615B5B); }
.mb-kit__thumb { display: block; width: 96px; max-width: 100%; height: auto; margin: 0 auto .25rem; }
.mb-kit__thumbn { display: block; font-weight: 600; }

/* Promoción de lanzamiento (primeros 10): sin contador, solo la oferta */
.mb-promo { border: 1px solid var(--red, #DB0632); background: #fff; min-width: 0; }
.mb-promo__t { margin: 0; padding: .45rem .75rem; background: var(--red, #DB0632); color: #fff; font: 700 .8125rem/1.2 var(--font-head, "Barlow Condensed", sans-serif); letter-spacing: .12em; text-transform: uppercase; }
.mb-promo__list { margin: 0; padding: .75rem; list-style: none; display: grid; gap: .5rem; font-size: .9375rem; line-height: 1.4; color: var(--ink, #1D1D1B); }
.mb-promo__list li { padding-left: 1.25rem; position: relative; }
.mb-promo__list li::before { content: ""; position: absolute; left: 0; top: .6em; width: .6rem; height: 2px; background: var(--red, #DB0632); }
.mb-lanza-t { color: #fff; opacity: 1 !important; letter-spacing: .08em !important; text-transform: uppercase !important; font-size: .625rem !important; margin-bottom: .2rem; }
.mb-table thead th small.mb-lanza-t { opacity: .85; }
.mb-table td .mb-ast { color: var(--red-deep, #A8042A); }
.mb-table td.mb-col--directa { background: var(--paper-2, #F5F2F2); }

/* Próximamente (Embajadores académicos): banda de papel con filete, sin precio ni botón */
.mb-prox { background: var(--paper-2, #F5F2F2); border-top: 1px solid var(--ink, #1D1D1B); border-bottom: 1px solid var(--ink, #1D1D1B); padding-top: var(--sp-8, 2rem); padding-bottom: var(--sp-8, 2rem); }
.mb-prox__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: var(--sp-6, 1.5rem); align-items: baseline; }
.mb-prox__k { margin: 0; font: 700 .75rem/1 var(--font-head, "Barlow Condensed", sans-serif); letter-spacing: .14em; text-transform: uppercase; color: var(--red-deep, #A8042A); }
.mb-prox__txt { display: grid; gap: .5rem; max-width: 62ch; }
.mb-prox__t { margin: 0; font: 700 1.5rem/1.1 var(--font-head, "Barlow Condensed", sans-serif); text-transform: uppercase; }
.mb-prox__txt p { margin: 0; color: var(--ink-soft, #3D3939); }
@media (max-width: 680px) { .mb-prox__in { grid-template-columns: minmax(0, 1fr); gap: .75rem; } }
