/* ==========================================================================
   RDN · Páginas de la revista: portada, ediciones, artículos, artículo, búsqueda
   Usa el sistema de diseño (rdn.css). Todo lo propio lleva el prefijo rev-.
   ÍNDICE
   1. Utilidades comunes (barra de filtros, estados, avisos)
   2. Portada: héroe, pilares, ediciones gratis, artículos, videos, evento,
      Red de Emprendedores, podcast y publicidad, membresía, boletín
   3. Archivo de ediciones: retícula y panel lateral
   4. Artículos: destacado y retícula
   5. Artículo: lectura, compartir, autoría, relacionados
   6. Búsqueda: formulario y resultados agrupados
   ========================================================================== */

/* ==========================================================================
   1. COMUNES
   ========================================================================== */
.rev-main { min-height: 50vh; }

.rev-head { padding-bottom: var(--sp-8); }
.rev-head .dek { margin-top: var(--sp-2); }
.rev-head__stats {
  display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-8);
  margin-top: var(--sp-6); padding-top: var(--sp-3);
  border-top: var(--line);
}
.rev-head__stats > div { display: flex; flex-direction: column-reverse; }
.rev-head__stats dt { font-family: var(--font-head); font-weight: 700; font-size: var(--fs-xs); letter-spacing: 0.14em; text-transform: uppercase; color: var(--fg-mute); }
.rev-head__stats dd { font-family: var(--font-display); font-size: var(--fs-xl); line-height: 1.1; }

.rev-head__grid { align-items: end; row-gap: var(--sp-6); }
.rev-head__fig { display: none; }
@media (min-width: 900px) { .rev-head__fig { display: block; justify-self: end; width: min(100%, 220px); } }
.rev-head__fig .caption { font-size: var(--fs-xs); }
.rev-tools { display: grid; gap: var(--sp-4); padding: var(--sp-5) 0 var(--sp-6); border-bottom: var(--line-soft); }
.rev-tools__row { display: grid; gap: var(--sp-2); min-width: 0; }
.rev-tools__label { font-family: var(--font-head); font-weight: 700; font-size: var(--fs-xs); letter-spacing: 0.14em; text-transform: uppercase; color: var(--fg-mute); }
.rev-tools .chip-row--scroll { margin-right: calc(max(16px, env(safe-area-inset-right, 0px)) * -1); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.rev-chip-n { font-variant-numeric: tabular-nums lining-nums; opacity: 0.72; font-weight: 500; }
.chip[aria-pressed="true"] .rev-chip-n { opacity: 0.85; }

.rev-find { display: flex; gap: var(--sp-2); min-width: 0; }
.rev-find .input { flex: 1; min-width: 0; }
.rev-find .btn { flex: none; }
.rev-sort { display: flex; align-items: center; gap: var(--sp-3); }
.rev-sort .select { width: auto; min-height: 44px; padding-top: 6px; padding-bottom: 6px; }

@media (min-width: 900px) {
  .rev-tools { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); align-items: start; column-gap: var(--sp-8); }
  .rev-tools__row--wide { grid-column: 1 / -1; }
  .rev-tools .chip-row--scroll { margin-right: 0; padding-right: 0; flex-wrap: wrap; overflow: visible; }
}

.rev-status { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--sp-2) var(--sp-4); padding: var(--sp-4) 0; font-size: var(--fs-sm); color: var(--fg-mute); }
.rev-status strong { color: var(--fg); }
.rev-more { display: grid; justify-items: center; gap: var(--sp-3); padding: var(--sp-8) 0 0; }
.rev-more p { font-size: var(--fs-sm); color: var(--fg-mute); }

.rev-loading { padding: var(--sp-10) 0; font-family: var(--font-head); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--fg-mute); }
.rev-note { margin-top: var(--sp-8); }

/* Enlace externo con marca para lector de pantalla */
.rev-ext .sr-only { white-space: nowrap; }

/* ==========================================================================
   2. PORTADA
   ========================================================================== */

/* Héroe: titular enorme con una palabra en rojo, escalado por el ancho de su columna */
.rev-hero { padding-bottom: var(--section); }
@media (max-width: 479.98px) { .rev-hero > .cintillo { letter-spacing: 0.2em; font-size: 0.75rem; } }
.rev-hero__in { padding-top: var(--sp-8); align-items: center; row-gap: var(--sp-10); }
.rev-hero__copy { container-type: inline-size; }
.rev-hero__copy h1 {
  margin: var(--sp-3) 0 var(--sp-5);
  font-size: clamp(2.75rem, 0.8rem + 11vw, 5rem);
  line-height: 0.93;
}
@supports (width: 1cqw) {
  .rev-hero__copy h1 { font-size: clamp(2.6rem, 15.2cqw, 8.5rem); }
}
.rev-hero .dek { margin-bottom: var(--sp-5); }
.rev-lines { display: grid; margin-bottom: var(--sp-6); max-width: 54ch; border-bottom: var(--line); }
.rev-lines li {
  padding: var(--sp-2) 0;
  border-top: var(--line);
  font-family: var(--font-head); font-weight: 700; font-size: var(--fs-md);
  letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.15;
}
.rev-hero__fine { margin-top: var(--sp-4); font-size: var(--fs-sm); color: var(--fg-mute); max-width: 54ch; }
.rev-hero__cover .cover-stack { max-width: 520px; margin-inline: auto; }
.rev-hero__cover a.rev-cover-link { display: block; }

/* Introducción y pilares */
.rev-intro { align-items: start; row-gap: var(--sp-8); }
.rev-intro__text { display: grid; gap: var(--sp-4); max-width: 60ch; }
.rev-intro__text p { font-family: var(--font-text); font-size: var(--fs-md); line-height: 1.6; color: var(--fg-2); }
.rev-intro__text p:first-child { font-size: clamp(1.1875rem, 1rem + 0.9vw, 1.5rem); line-height: 1.4; color: var(--fg); }
.rev-pillars { border-bottom: var(--line-2); }
.rev-pillar {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px var(--sp-4);
  padding: var(--sp-4) 0;
  border-top: var(--line-2);
  text-decoration: none;
  transition: background-color var(--t-fast), padding var(--t-med) var(--ease);
}
.rev-pillar:hover { background: var(--red-tint); padding-left: var(--sp-3); padding-right: var(--sp-3); }
.rev-pillar__word { font-family: var(--font-display); text-transform: uppercase; font-size: var(--fs-2xl); line-height: 1; padding-top: 0.06em; }
.rev-pillar__desc { grid-column: 1; font-size: var(--fs-base); color: var(--fg-2); }
.rev-pillar .icon { grid-column: 2; grid-row: 1 / span 2; width: 32px; height: 32px; transition: transform var(--t-fast) var(--ease); color: var(--red); }
.rev-pillar:hover .icon { transform: translateX(4px); }

/* Portadas alineadas: misma caja, imagen completa y sombra mínima (no idéntica a la del héroe) */
.rev-free .card-edition__cover, .rev-ed .card-edition__cover { display: flex; align-items: flex-end; aspect-ratio: 600 / 780; }
.rev-free .cover, .rev-ed .cover { height: 100%; object-fit: contain; object-position: bottom; box-shadow: 0 1px 0 rgb(29 29 27 / 0.2), 0 8px 12px -10px rgb(29 29 27 / 0.45); }

/* Ediciones gratuitas */
.rev-free { display: grid; gap: var(--sp-6) var(--gap); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rev-free > * { min-width: 0; }
.rev-free .card-edition { gap: var(--sp-3); }
.rev-free .card-edition__cover { max-width: none; }
.rev-free .card-edition__body h3 { font-size: 1.125rem; }
.rev-free .card-edition h3 a { text-decoration: none; }
.rev-free .card-edition h3 a::after { content: ""; position: absolute; inset: 0; }
.rev-free .card-edition { position: relative; }
.rev-free__cta {
  display: flex; flex-direction: column; justify-content: space-between; gap: var(--sp-4);
  aspect-ratio: 600 / 780; min-height: 0;
  padding: var(--sp-4);
  background: var(--ink); color: #fff; text-decoration: none;
  transition: background-color var(--t-fast);
}
.rev-free__cta:hover { background: var(--red); }
.rev-free__cta strong { font-family: var(--font-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2rem, 1.2rem + 3vw, 3.5rem); line-height: 0.95; }
.rev-free__cta span { display: inline-flex; align-items: center; gap: var(--sp-2); font-family: var(--font-head); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
@media (min-width: 640px) { .rev-free { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 960px) { .rev-free { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

/* Artículos de la portada */
.rev-news-grid { row-gap: var(--sp-8); }
.rev-news-grid .card-article--lead .card-article__media { --ar: 3 / 2; }
.rev-news-grid .card-article--lead .card-article__title { font-size: clamp(2rem, 1.2rem + 2.6vw, 3.25rem); }
.rev-stack { display: grid; gap: var(--sp-5); align-content: space-between; }
.rev-stack .card-article--row { padding-top: var(--sp-4); }
.rev-stack .card-article__title { font-size: 1.375rem; }

/* Videoteca sobre tinta */
.rev-vid { align-items: start; row-gap: var(--sp-8); }
.rev-vid .card-video__title { font-size: var(--fs-xl); }
.rev-vid .card-video__title a { color: #fff; }
.rev-vid .meta { color: #D6CFCF; }
.rev-vid__more { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-4); align-items: center; margin-top: var(--sp-3); }
.rev-vid__more a { font-family: var(--font-head); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; font-size: var(--fs-sm); color: #fff; text-underline-offset: 4px; text-decoration-color: var(--red); text-decoration-thickness: 2px; }
.rev-vlist { display: grid; gap: var(--sp-5); align-content: space-between; }
.rev-vrow { position: relative; display: grid; grid-template-columns: minmax(0, 40%) minmax(0, 1fr); gap: var(--sp-3); padding-top: var(--sp-4); border-top: 1px solid rgb(255 255 255 / 0.3); }
.rev-vrow .card-video__media { align-self: start; }
.rev-vrow h3 { font-size: 1.1875rem; margin: 2px 0 4px; }
.rev-vrow h3 a { color: #fff; text-decoration: none; }
.rev-vrow h3 a::after { content: ""; position: absolute; inset: 0; }
.rev-vrow:hover h3 a { text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 3px; text-underline-offset: 4px; }
/* El play va en la esquina: las miniaturas ya traen título y ponente impresos */
.rev-vid .card-video__play { left: auto; top: var(--sp-2); right: var(--sp-2); translate: none; width: 44px; height: 44px; border-width: 2px; }
.rev-vid .card-video__play .icon { width: 18px; height: 18px; }
.rev-vrow .play-btn { left: auto; top: 6px; right: 6px; translate: none; width: 30px; height: 30px; }
.rev-vrow .play-btn .icon { width: 12px; height: 12px; margin-left: 1px; }
/* Contenedor listo para sustituir por incrustación cuando el sitio viva en dominio propio */
.rev-embed-slot { position: relative; }

/* Cita a ancho completo */
.rev-quote { padding: var(--sp-6) 0 var(--section); }
.rev-pull { font-size: clamp(2rem, 1rem + 4.6vw, 5rem); line-height: 1; padding: var(--sp-6) 0; border-top-width: 8px; }
.rev-pull cite { font-size: var(--fs-base); }
.rev-pull cite a { text-decoration: underline; text-decoration-color: var(--red); text-underline-offset: 3px; }
.rev-facts-band { padding-bottom: 0; }

/* Evento */
.rev-lin { align-items: center; row-gap: var(--sp-8); }
.rev-lin__title { font-size: clamp(4rem, 1rem + 17vw, 11rem); line-height: 0.88; margin: 0 0 var(--sp-4); }
.rev-lin__sub { font-family: var(--font-head); font-weight: 700; font-size: var(--fs-xl); line-height: 1.05; text-transform: uppercase; letter-spacing: 0.02em; max-width: 24ch; }
.rev-lin__motto { margin-top: var(--sp-3); font-family: var(--font-text); font-style: italic; font-size: var(--fs-lg); color: var(--fg-2); }
.rev-facts { border-top: var(--line-4); }
.rev-facts > div { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: var(--sp-3); padding: var(--sp-3) 0; border-bottom: var(--line); }
.rev-facts dt { font-family: var(--font-head); font-weight: 700; font-size: var(--fs-sm); letter-spacing: 0.14em; text-transform: uppercase; color: var(--fg-mute); }
.rev-facts dd { font-weight: 600; }
.rev-facts dd small { display: block; font-weight: 400; font-size: var(--fs-sm); color: var(--fg-mute); }
.rev-lin .row { margin-top: var(--sp-5); }

/* Red de Emprendedores */
.rev-red { align-items: center; row-gap: var(--sp-8); }
.rev-red__logo { width: min(100%, 460px); height: auto; margin-bottom: var(--sp-6); }
.rev-red h2 { max-width: 14ch; }
.rev-red__body { display: grid; gap: var(--sp-5); max-width: 56ch; }
.rev-red__body .dek { max-width: none; }
.rev-red .row { gap: var(--sp-3) var(--sp-5); }
.rev-red .motto { font-size: var(--fs-sm); }

/* Podcast y publicidad */
.rev-ads { row-gap: var(--sp-10); }
.rev-ads__col { display: grid; gap: var(--sp-4); align-content: start; }
.rev-ads__col .rubric { margin-bottom: var(--sp-1); }
.rev-ads__logo { width: 180px; height: auto; }
.rev-ads__col p { max-width: 52ch; color: var(--fg-2); }
.rev-ads__col .row { margin-top: var(--sp-2); }

/* Membresía */
.rev-member { align-items: center; row-gap: var(--sp-8); }
.rev-member__copy { display: grid; gap: var(--sp-4); max-width: 52ch; }
.rev-member .card-plan { max-width: 480px; }
.rev-member .card-plan .btn { align-self: stretch; }
.rev-ads__col .btn { justify-self: start; }

/* Boletín (demostración): tira integrada al pie, sin banda de color */
.rev-news { border-top: var(--line-4); margin-top: var(--sp-4); }
.rev-news + #rdn-footer .site-footer { margin-top: 0; }
.rev-news__in { align-items: center; row-gap: var(--sp-5); }
.rev-news form { display: grid; gap: var(--sp-3); }
.rev-news__row { display: flex; flex-direction: column; gap: var(--sp-3); }
.rev-news__demo { display: flex; align-items: flex-start; gap: var(--sp-2); font-size: var(--fs-sm); color: var(--fg-mute); }
.rev-news__demo .icon { margin-top: 2px; }
.rev-news__out { min-height: 1.5em; font-weight: 700; }
@media (min-width: 640px) {
  .rev-news__row { flex-direction: row; align-items: stretch; }
  .rev-news__row .input { flex: 1; }
}

/* ==========================================================================
   3. ARCHIVO DE EDICIONES
   ========================================================================== */
.rev-eds { display: grid; gap: var(--sp-8) var(--gap); grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: var(--sp-2); }
.rev-eds > * { min-width: 0; }
@media (min-width: 640px) { .rev-eds { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 900px) { .rev-eds { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .rev-eds { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.rev-ed { position: relative; gap: var(--sp-3); }
.rev-ed .card-edition__cover { max-width: none; }
.rev-ed .card-edition__body { gap: var(--sp-1); }
.rev-ed .card-edition__body .rev-ed__t { font-family: var(--font-head); font-weight: 700; font-size: 1.125rem; line-height: 1.1; text-transform: none; letter-spacing: 0.005em; padding: 0; }
.rev-ed .rev-ed__t a { text-decoration: none; }
.rev-ed .rev-ed__t a::after { content: ""; position: absolute; inset: 0; }
.rev-ed:hover .rev-ed__t a { text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 3px; text-underline-offset: 4px; }
.rev-ed .kicker { font-size: var(--fs-xs); }
.rev-ed .price { font-size: 1.25rem; }
.rev-ed .cintillo { letter-spacing: 0.3em; }
.rev-ed .cintillo--ink { background: var(--ink); }

.rev-drawer .modal__body { padding: var(--sp-5); }
.rev-drawer__cover { width: min(60%, 210px); margin: 0 auto var(--sp-5); position: relative; }
.rev-drawer__cover .cintillo { position: absolute; left: 0; right: 0; top: 0; padding: 5px 8px; font-size: var(--fs-xs); }
.rev-drawer__kicker { margin-bottom: var(--sp-2); }
.rev-drawer__title { font-size: clamp(2rem, 1.6rem + 1.4vw, 2.5rem); line-height: 0.98; margin-bottom: var(--sp-4); }
.rev-drawer__desc { margin-top: var(--sp-6); display: grid; gap: var(--sp-3); font-family: var(--font-text); font-size: var(--fs-base); line-height: 1.6; color: var(--fg-2); margin-bottom: var(--sp-5); }
.rev-drawer__toc { margin-bottom: var(--sp-5); }
.rev-drawer__toc h3 { font-size: var(--fs-md); letter-spacing: 0.1em; text-transform: uppercase; padding-top: var(--sp-2); border-top: var(--line-2); margin-bottom: var(--sp-2); }
.rev-drawer__toc li { padding: var(--sp-2) 0; border-bottom: var(--line-soft); font-size: var(--fs-sm); }
.rev-drawer__toc li strong { display: block; font-size: var(--fs-base); }
.rev-drawer__price { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3); padding: var(--sp-3) 0; border-top: var(--line-2); border-bottom: var(--line); margin-bottom: var(--sp-4); }
.rev-drawer__price .price { font-size: var(--fs-xl); }
.rev-drawer__note { margin-top: var(--sp-3); font-size: var(--fs-sm); color: var(--fg-mute); }
.rev-drawer .modal__foot { justify-content: space-between; }
.rev-drawer .modal__foot .btn { flex: 1 1 140px; }

/* ==========================================================================
   4. ARTÍCULOS
   ========================================================================== */
.rev-feature { display: grid; gap: var(--sp-4) var(--gap); }
.rev-feature .card-article__media { --ar: 16 / 9; }
.rev-feature .card-article__title { font-size: clamp(2.25rem, 1.2rem + 3.6vw, 4.25rem); }
@media (min-width: 900px) {
  .rev-feature { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; }
}
.rev-arts { display: grid; gap: var(--sp-8) var(--gap); grid-template-columns: minmax(0, 1fr); padding-top: var(--sp-6); }
.rev-arts > * { min-width: 0; }
@media (min-width: 640px) { .rev-arts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) { .rev-arts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.rev-art .card-article__media { --ar: 16 / 9; }
.rev-art .card-article__title { font-family: var(--font-head); font-weight: 700; text-transform: none; letter-spacing: 0.005em; line-height: 1.08; padding-top: 0; font-size: 1.5rem; }
.rev-art .card-article__dek { display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.rev-feature .card-article__dek { display: block; }
.rev-art .byline strong { font-weight: 600; }

/* Ilustraciones con fondo blanco: marco suave para que no se fundan con la página */
.rev-art .card-article__media, .rev-feature .card-article__media, .rev-stack .card-article__media, .rev-news-grid .card-article__media { background: var(--paper-2); outline: 1px solid rgb(29 29 27 / 0.12); outline-offset: -1px; }
.rev-stack .card-article__media { --ar: 4 / 3; width: 120px; }
@media (min-width: 640px) { .rev-stack .card-article--row .card-article__media { width: 144px; } }
.rev-stack .card-article__media img { object-fit: contain; }

/* ==========================================================================
   5. ARTÍCULO (lectura)
   ========================================================================== */
.rev-crumbs { padding-top: var(--sp-3); }
.rev-crumbs li[aria-current="page"] { max-width: 42ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rev-read .hero-article__media .ratio { --ar: 16 / 9; background: var(--paper-2); }
.rev-read h1 { font-size: clamp(2.25rem, 0.8rem + 6.4vw, 5.25rem); line-height: 0.98; }
.rev-read .hero-article__title .kicker a { text-decoration: none; }
.rev-read .hero-article__title .kicker a:hover { text-decoration: underline; }
.rev-body { padding-top: var(--sp-8); align-items: start; row-gap: var(--sp-8); }
.rev-body .prose { max-width: none; font-size: 1.125rem; }
.rev-body .prose h2 { font-size: var(--fs-xl); line-height: 1.05; padding-top: 0; }
.rev-body .prose h3 { font-family: var(--font-head); font-size: var(--fs-lg); text-transform: uppercase; letter-spacing: 0.06em; margin-top: 1.6em; }
.rev-body .prose li { overflow-wrap: anywhere; }
.rev-body .prose p { overflow-wrap: break-word; }
.rev-media-block { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-4); padding: var(--sp-4); background: var(--paper-2); border: var(--line); font-family: var(--font-ui); }
.rev-media-block strong { font-family: var(--font-head); font-size: var(--fs-md); letter-spacing: 0.04em; text-transform: uppercase; }
.rev-share { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-4); padding: var(--sp-3) 0; border-top: var(--line-2); border-bottom: var(--line); }
.rev-share__label { font-family: var(--font-head); font-weight: 700; font-size: var(--fs-sm); letter-spacing: 0.14em; text-transform: uppercase; color: var(--fg-mute); }
.rev-share .btn { margin-left: auto; }
@media (max-width: 479.98px) { .rev-share .btn { margin-left: 0; } }
.rev-author { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--sp-4); align-items: start; padding: var(--sp-5) 0; border-bottom: var(--line); }
.rev-author h2 { font-family: var(--font-head); font-weight: 800; font-size: var(--fs-xl); text-transform: none; line-height: 1.05; padding: 0; }
.rev-author p { margin-top: var(--sp-2); font-size: var(--fs-sm); color: var(--fg-2); max-width: 56ch; }
.rev-author a.btn { margin-top: var(--sp-3); }
.rev-related { padding-top: var(--section); }
.rev-related .grid { margin-top: var(--sp-6); }
.rev-missing { padding: var(--sp-12) 0; }
.rev-missing .empty { max-width: 640px; }

/* ==========================================================================
   6. BÚSQUEDA
   ========================================================================== */
.rev-search { display: flex; flex-direction: column; gap: var(--sp-2); }
.rev-search .input { min-height: 60px; font-size: 1.25rem; font-weight: 500; border-width: 3px; }
.rev-search .btn { min-height: 60px; }
@media (min-width: 640px) {
  .rev-search { flex-direction: row; }
  .rev-search .input { flex: 1; }
}
.rev-summary { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-4); padding: var(--sp-5) 0 var(--sp-3); }
.rev-summary p { font-size: var(--fs-md); }
.rev-groups { display: grid; gap: var(--sp-10); padding-bottom: var(--sp-8); }
.rev-group__list { display: grid; }
.rev-hit { position: relative; display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: var(--sp-3) var(--sp-4); padding: var(--sp-4) 0; border-top: var(--line-soft); }
.rev-hit:first-child { border-top: var(--line-2); }
.rev-hit__thumb { width: 72px; background: var(--paper-3); border: 1px solid rgb(29 29 27 / 0.2); }
.rev-hit__thumb--wide { aspect-ratio: 16 / 9; width: 72px; overflow: hidden; }
.rev-hit__thumb img { width: 100%; height: 100%; object-fit: cover; }
.rev-hit__thumb--cover img { height: auto; object-fit: contain; }
.rev-hit__thumb--ph { display: grid; place-items: center; aspect-ratio: 1; background: var(--ink); color: #fff; font-family: var(--font-display); font-size: 1.5rem; }
.rev-hit__body { min-width: 0; display: grid; gap: 2px; align-content: start; }
.rev-hit__body h3 { font-size: 1.25rem; line-height: 1.1; }
.rev-hit__body h3 a { text-decoration: none; }
.rev-hit__body h3 a::after { content: ""; position: absolute; inset: 0; }
.rev-hit:hover h3 a { text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 3px; text-underline-offset: 4px; }
.rev-hit__snip { font-size: var(--fs-sm); color: var(--fg-2); max-width: 70ch; overflow-wrap: anywhere; }
@media (min-width: 640px) {
  .rev-hit { grid-template-columns: 96px minmax(0, 1fr); }
  .rev-hit__thumb, .rev-hit__thumb--wide { width: 96px; }
}
mark.rev-mark { background: var(--red-tint); color: inherit; box-shadow: inset 0 -2px 0 var(--red); padding: 0 1px; }
.rev-hint { display: grid; gap: var(--sp-3); }
.rev-hint .chip-row { margin-top: var(--sp-1); }
.rev-empty-links { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-5); margin-top: var(--sp-2); }
.rev-nav-types { display: flex; flex-wrap: wrap; gap: var(--sp-2); padding-bottom: var(--sp-4); }
.rev-nav-types .chip { text-decoration: none; }

/* Aviso de membresías al pie del archivo de ediciones (contenido del módulo membresias.js) */
.rev-member-note { display: grid; gap: var(--sp-3); margin-top: var(--sp-10); padding-top: var(--sp-4); border-top: var(--line-2); max-width: 70ch; }
.rev-member-note .btn { justify-self: start; }
