/* ==========================================================================
   Vida y actividad de la Red (actividad, perfil, mi perfil, blog, artículo, editor,
   anuncios). Prefijo .rvd-  ·  Usa los tokens de rdn.css; no redefine nada de red.css.
   ========================================================================== */

/* ---------- Base compartida ---------- */
.rvd-quiet { color: var(--fg-mute); font-size: var(--fs-sm); padding: var(--sp-3) 0; max-width: 62ch; }
.rvd-text { white-space: pre-line; overflow-wrap: anywhere; max-width: 66ch; }
.rvd-state { margin: 0; }
.rvd-state--compact { padding: var(--sp-5); }
.rvd-state--compact .h2, .rvd-invite .h2 { font-size: var(--fs-xl); }
.rvd-more { display: flex; justify-content: center; padding: var(--sp-6) 0 0; }
.rvd-more[hidden] { display: none; }
.rvd-linkbtn { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; padding: 0 var(--sp-1); min-height: 44px; cursor: pointer; font: inherit; font-weight: 600; font-size: var(--fs-sm); color: var(--ink); text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.rvd-linkbtn:hover { color: var(--red-deep); }
.rvd-linkbtn.is-danger { color: var(--red-deep); }
.rvd-linkbtn .icon { width: 16px; height: 16px; }
.rvd-pill { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border: 1px solid var(--ink); border-radius: var(--r-pill); font-size: var(--fs-sm); font-weight: 600; background: var(--paper-2); }
.rvd-pill--ok { background: var(--ok-tint); border-color: var(--ok); color: #0A5632; }
.rvd-pill .icon { width: 16px; height: 16px; }
.rvd-layout { display: grid; gap: var(--sp-8); grid-template-columns: minmax(0, 1fr); }
.rvd-layout > * { min-width: 0; }
@media (min-width: 1000px) { .rvd-layout { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); align-items: start; } .rvd-side { position: sticky; top: calc(var(--header-h) + 16px); } }
.rvd-side { display: grid; gap: var(--sp-5); }
.rvd-card { padding: var(--sp-5); background: var(--paper); border: var(--line-2); display: grid; gap: var(--sp-3); align-content: start; min-width: 0; }
.rvd-card--tint { background: var(--paper-2); }
.rvd-card__h { font-size: var(--fs-lg); line-height: 1.12; overflow-wrap: anywhere; }
.rvd-card__p { color: var(--fg-2); overflow-wrap: anywhere; }
.rvd-card__p--warn { color: var(--red-deep); font-weight: 600; }
.rvd-card__meta { font-size: var(--fs-sm); color: var(--fg-mute); font-weight: 600; }
.rvd-card__note { font-size: var(--fs-sm); color: var(--fg-mute); border-top: var(--line-soft); padding-top: var(--sp-3); }
.rvd-card__act { display: flex; flex-wrap: wrap; gap: var(--sp-3); align-items: center; }
.rvd-skel { height: 140px; background: linear-gradient(90deg, var(--paper-2), var(--paper-3), var(--paper-2)); background-size: 200% 100%; animation: rvd-sk 1.4s linear infinite; }
@keyframes rvd-sk { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .rvd-skel { animation: none; } }

/* Persona (avatar + nombre) */
.rvd-who { display: flex; align-items: center; gap: var(--sp-3); min-width: 0; }
.rvd-who__txt { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px var(--sp-2); min-width: 0; }
.rvd-who__name { font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
a.rvd-who__name:hover { text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.rvd-who__meta { flex-basis: 100%; font-size: var(--fs-sm); color: var(--fg-mute); }

/* Sellos: siempre con texto, el color solo acompaña */
.rvd-sello { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px 2px; border: 1px solid var(--ink); background: var(--paper-2); font-family: var(--font-head); font-weight: 700; font-size: var(--fs-xs); letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.2; color: var(--ink); }
.rvd-sello .icon { width: 12px; height: 12px; stroke-width: 3; }
.rvd-sello--verificado, .rvd-sello--verificada { background: var(--ok-tint); border-color: var(--ok); color: #0A5632; }
.rvd-sello--revista { background: var(--ink); border-color: var(--ink); color: #fff; }
.rvd-sello--automatico { background: var(--info-tint); border-color: var(--info); color: #173A52; }
.rvd-sello--declarado, .rvd-sello--declarada { background: var(--paper); border-style: dashed; }

/* Enlace externo con dominio visible */
.rvd-ext { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 5px; min-height: 36px; font-size: var(--fs-sm); color: var(--ink); text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 2px; text-underline-offset: 3px; overflow-wrap: anywhere; }
.rvd-ext:hover { color: var(--red-deep); }
.rvd-ext .icon { width: 14px; height: 14px; }

/* Etiquetas */
.rvd-tags { display: flex; flex-wrap: wrap; gap: var(--sp-2); list-style: none; margin: 0; padding: 0; }
.rvd-tags li { display: inline-flex; }
.rvd-tags a, .rvd-tags span { display: inline-flex; align-items: center; min-height: 32px; padding: 0 var(--sp-3); border: 1px solid var(--rule-soft); background: var(--paper-2); font-size: var(--fs-sm); font-weight: 600; text-decoration: none; color: var(--ink); border-radius: var(--r-pill); }
.rvd-tags a:hover { border-color: var(--ink); background: var(--paper); }

/* ---------- Pestañas ---------- */
.rvd-tabwrap { display: grid; gap: var(--sp-5); }
.rvd-tabs { display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; border-bottom: var(--line-2); }
.rvd-tabs::-webkit-scrollbar { display: none; }
.rvd-tab { flex: none; min-height: 48px; padding: 0 var(--sp-5); background: none; border: 0; border-bottom: 4px solid transparent; margin-bottom: -2px; cursor: pointer; font-family: var(--font-head); font-weight: 700; font-size: var(--fs-md); letter-spacing: 0.06em; text-transform: uppercase; color: var(--fg-mute); }
.rvd-tab:hover { color: var(--ink); }
.rvd-tab[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--red); }
.rvd-tabpanel { display: grid; gap: var(--sp-5); align-content: start; min-width: 0; }
.rvd-tabpanel[hidden] { display: none; }
.rvd-vida { margin-top: var(--sp-12); scroll-margin-top: calc(var(--header-h) + 16px); }
.rvd-vida__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-4); }
.rvd-vida__head h2 { font-size: var(--fs-xl); }
.rvd-sumbar { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-5); font-size: var(--fs-sm); color: var(--fg-2); font-weight: 600; }

/* ---------- Línea de tiempo ---------- */
.rvd-tl { list-style: none; margin: 0; padding: 0 0 0 var(--sp-6); position: relative; display: grid; gap: var(--sp-5); }
.rvd-tl::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 3px; background: var(--ink); }
.rvd-tl__item { position: relative; min-width: 0; }
.rvd-tl__dot { position: absolute; left: calc(-1 * var(--sp-6) + 1px); top: 14px; width: 15px; height: 15px; background: var(--paper); border: 3px solid var(--ink); border-radius: 50%; }
.rvd-tl__item--verificado .rvd-tl__dot { background: var(--ok); border-color: var(--ok); }
.rvd-tl__item--revista .rvd-tl__dot { background: var(--ink); }
.rvd-tl__item--automatico .rvd-tl__dot { border-color: var(--info); }
.rvd-tl__item--declarado .rvd-tl__dot { border-style: dashed; }
.rvd-tl__item.is-hidden .rvd-tl__card { opacity: 0.7; border-style: dashed; }
.rvd-tl__card { padding: var(--sp-4) var(--sp-5); background: var(--paper); border: var(--line); display: grid; gap: var(--sp-2); }
.rvd-tl__top, .rvd-part__top { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-3); }
.rvd-tl__date { font-family: var(--font-head); font-weight: 800; font-size: var(--fs-md); letter-spacing: 0.04em; text-transform: uppercase; }
.rvd-tl__tipo { font-size: var(--fs-sm); color: var(--fg-mute); font-weight: 600; }
.rvd-tl__title, .rvd-part__title { font-size: var(--fs-lg); line-height: 1.15; overflow-wrap: anywhere; }
.rvd-tl__img { max-width: min(100%, 420px); height: auto; border: var(--line); }
.rvd-tl__foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-1) var(--sp-4); }
.rvd-tl__year { font-family: var(--font-display); font-size: var(--fs-xl); line-height: 1; padding-top: var(--sp-3); text-transform: uppercase; }
.rvd-part-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-4); }
.rvd-part { padding: var(--sp-4) var(--sp-5); background: var(--paper); border: var(--line); border-left: 6px solid var(--ink); display: grid; gap: var(--sp-2); min-width: 0; }
.rvd-part--declarada { border-left-style: dashed; }
.rvd-part--verificada { border-left-color: var(--ok); }
.rvd-part__ref { color: var(--fg-2); font-size: var(--fs-sm); overflow-wrap: anywhere; }

/* ---------- Artículos (tarjetas) ---------- */
.rvd-art-list { display: grid; gap: var(--sp-6); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 760px) { .rvd-art-list--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .rvd-art-list--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.rvd-art { display: grid; grid-template-rows: auto 1fr; background: var(--paper); border: var(--line-2); min-width: 0; }
.rvd-art--nocover { grid-template-rows: 1fr; border-top: var(--line-4); }
.rvd-art__imglink { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--paper-3); border-bottom: var(--line-2); }
.rvd-art__cover { width: 100%; height: 100%; object-fit: cover; display: block; }
.rvd-art__body { padding: var(--sp-5); display: grid; gap: var(--sp-3); align-content: start; }
.rvd-art__title { font-size: var(--fs-lg); line-height: 1.12; overflow-wrap: anywhere; }
.rvd-art__title a { text-decoration: none; }
.rvd-art__title a:hover { text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 3px; text-underline-offset: 3px; }
.rvd-art__sum { color: var(--fg-2); overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.rvd-art__meta { font-size: var(--fs-sm); color: var(--fg-mute); font-weight: 600; }
.rvd-art__actions { display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-4); align-items: center; }

/* ---------- Feed de actividad ---------- */
.rvd-feed { display: grid; gap: var(--sp-5); list-style: none; margin: 0; padding: 0; }
.rvd-item { padding: var(--sp-5); background: var(--paper); border: var(--line-2); display: grid; gap: var(--sp-3); min-width: 0; }
.rvd-item__top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; }
.rvd-item__kind { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-head); font-weight: 800; font-size: var(--fs-xs); letter-spacing: 0.14em; text-transform: uppercase; color: var(--red-deep); }
.rvd-item__time { font-size: var(--fs-sm); color: var(--fg-mute); }
.rvd-item__img { max-width: min(100%, 520px); height: auto; border: var(--line); }
.rvd-item__title { font-size: var(--fs-lg); line-height: 1.15; overflow-wrap: anywhere; }
.rvd-item__title a { text-decoration: none; }
.rvd-item__title a:hover { text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 3px; }
.rvd-item__foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-1) var(--sp-4); }
.rvd-item--wel { background: var(--yellow-soft); border-color: var(--yellow-ink); }
.rvd-react { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.rvd-react button { min-height: 40px; padding: 0 var(--sp-3); border: 1px solid var(--ink); background: var(--paper); font: inherit; font-weight: 600; font-size: var(--fs-sm); cursor: pointer; border-radius: var(--r-pill); }
.rvd-react button[aria-pressed="true"] { background: var(--ink); color: #fff; }
.rvd-react button:hover { background: var(--paper-2); }
.rvd-react button[aria-pressed="true"]:hover { background: var(--ink); }
.rvd-bar { display: grid; gap: var(--sp-3); margin-bottom: var(--sp-5); }
.rvd-bar__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-3); }
.rvd-composer { padding: var(--sp-5); border: var(--line-2); background: var(--paper-2); display: grid; gap: var(--sp-3); margin-bottom: var(--sp-5); }
.rvd-composer__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-3); }
.rvd-composer .textarea { min-height: 90px; }
.rvd-invite { padding: var(--sp-5); border: var(--line-2); background: var(--yellow-soft); display: grid; gap: var(--sp-3); }

/* Reto */
.rvd-reto__list { list-style: none; margin: 0; padding: var(--sp-3) 0 0; border-top: var(--line-soft); display: grid; gap: var(--sp-2); font-size: var(--fs-sm); }
.rvd-reto__list li { overflow-wrap: anywhere; }
.rvd-reto__t { color: var(--fg-2); }

/* Racha */
.rvd-streak__n { display: flex; align-items: baseline; gap: var(--sp-2); font-family: var(--font-head); font-weight: 700; font-size: var(--fs-lg); text-transform: uppercase; }
.rvd-streak__n strong { font-family: var(--font-display); font-weight: 400; font-size: 3.25rem; line-height: 1; color: var(--red); }
.rvd-bars { display: flex; align-items: flex-end; gap: 4px; height: 64px; list-style: none; margin: 0; padding: 0; }
.rvd-bars__i { flex: 1 1 0; display: flex; align-items: flex-end; height: 100%; }
.rvd-bars__bar { display: block; width: 100%; min-height: 6px; background: var(--paper-3); border-bottom: 2px solid var(--rule-soft); }
.rvd-bars__i.is-on .rvd-bars__bar { background: var(--ink); }
.rvd-bars__i:last-child.is-on .rvd-bars__bar { background: var(--red); }

/* ---------- Historias: tira ---------- */
.rvd-stories { margin-bottom: var(--sp-6); }
.rvd-strip { display: flex; gap: var(--sp-4); overflow-x: auto; list-style: none; margin: 0; padding: var(--sp-2) var(--sp-1) var(--sp-3); scrollbar-width: thin; }
.rvd-strip__li { flex: none; width: 84px; }
.rvd-ring { display: grid; justify-items: center; gap: 6px; width: 100%; background: none; border: 0; cursor: pointer; padding: 0; font: inherit; color: var(--ink); }
.rvd-ring__c { position: relative; display: grid; place-items: center; width: 76px; height: 76px; border-radius: 50%; padding: 4px; background: var(--paper); border: 3px solid var(--rule-soft); }
.rvd-ring.is-new .rvd-ring__c { border-color: var(--red); }
.rvd-ring.is-seen .rvd-ring__c { border-color: var(--rule-soft); }
.rvd-ring .avatar { --av: 60px; }
.rvd-ring__n { font-size: var(--fs-xs); font-weight: 700; text-align: center; line-height: 1.2; max-width: 84px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
.rvd-ring--add .rvd-ring__c { border-style: dashed; border-color: var(--ink); }
.rvd-ring--add .icon { width: 28px; height: 28px; }
.rvd-ring:hover .rvd-ring__c { background: var(--paper-2); }
.rvd-ring:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }

/* ---------- Historias: visor ---------- */
.rvd-viewer { padding: 0; border: 0; width: min(100vw, 460px); max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: auto; background: #111; color: #fff; overflow: hidden; }
.rvd-viewer::backdrop { background: rgb(0 0 0 / 0.86); }
.rvd-viewer:not([open]) { display: none; }
.rvd-vbox { position: relative; display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; height: 100%; }
.rvd-vprog { display: flex; gap: 4px; padding: 10px 12px 0; }
.rvd-vprog__seg { flex: 1 1 0; height: 4px; background: rgb(255 255 255 / 0.35); overflow: hidden; border-radius: 2px; }
.rvd-vprog__seg i { display: block; height: 100%; background: #fff; }
.rvd-vhead { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); padding: 10px 12px; }
.rvd-vwho { display: flex; align-items: center; gap: var(--sp-3); min-width: 0; }
.rvd-vwho__t { display: grid; min-width: 0; }
.rvd-vwho__name { color: #fff; font-weight: 700; overflow-wrap: anywhere; text-decoration: none; }
a.rvd-vwho__name:hover { text-decoration: underline; }
.rvd-vwho__m { font-size: var(--fs-xs); color: #E6E1E1; }
.rvd-vtools { display: flex; align-items: center; gap: var(--sp-1); flex: none; }
.rvd-vbtn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; min-height: 44px; padding: 0 10px; background: rgb(255 255 255 / 0.12); color: #fff; border: 1px solid rgb(255 255 255 / 0.5); border-radius: var(--r-2); cursor: pointer; font: inherit; font-weight: 700; font-size: var(--fs-sm); }
.rvd-vbtn:hover { background: rgb(255 255 255 / 0.26); }
.rvd-vbtn:focus-visible, .rvd-vnav:focus-visible, .rvd-vwho__name:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.rvd-vbtn .icon { width: 20px; height: 20px; }
.rvd-vmain { position: relative; min-height: 0; display: grid; }
.rvd-vstage { position: relative; display: grid; place-items: center; padding: var(--sp-6) var(--sp-8); overflow: hidden; min-height: 0; background: #1F2937; }
.rvd-vstage--img { background: #000; padding: 0; }
.rvd-vtext { font-family: var(--font-head); font-weight: 800; font-size: clamp(1.6rem, 1rem + 3vw, 2.4rem); line-height: 1.12; text-align: center; white-space: pre-line; overflow-wrap: anywhere; max-height: 100%; overflow: auto; }
.rvd-vimg { width: 100%; height: 100%; object-fit: contain; display: block; }
.rvd-vcap { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: var(--sp-8) var(--sp-4) var(--sp-4); background: linear-gradient(transparent, rgb(0 0 0 / 0.82)); color: #fff; white-space: pre-line; overflow-wrap: anywhere; }
.rvd-vnav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; display: grid; place-items: center; width: 44px; height: 64px; background: rgb(0 0 0 / 0.45); color: #fff; border: 1px solid rgb(255 255 255 / 0.6); cursor: pointer; }
.rvd-vnav:hover { background: rgb(0 0 0 / 0.7); }
.rvd-vnav .icon { width: 24px; height: 24px; }
.rvd-vnav--prev { left: 0; }
.rvd-vnav--next { right: 0; }
.rvd-vnav[hidden] { display: none; }
.rvd-vfoot { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); min-height: 56px; }
.rvd-vviews { font-size: var(--fs-sm); font-weight: 600; }
.rvd-vbtn--txt { padding: 0 var(--sp-3); }
@media (max-width: 460px) { .rvd-viewer { width: 100vw; } }

/* Crear historia */
.rvd-hprev { display: grid; place-items: center; min-height: 160px; padding: var(--sp-5); text-align: center; background: #1F2937; color: #fff; border: var(--line); }
.rvd-hprev__t { font-family: var(--font-head); font-weight: 800; font-size: var(--fs-lg); line-height: 1.15; white-space: pre-line; overflow-wrap: anywhere; }
.rvd-hprev--img { padding: 0; background: var(--paper-2); }
.rvd-hprev--img img { max-width: 100%; max-height: 260px; display: block; }
.rvd-swatches { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.rvd-swatch { position: relative; width: 44px; height: 44px; border: 2px solid var(--paper); box-shadow: 0 0 0 1px var(--ink); cursor: pointer; display: block; }
.rvd-swatch input { position: absolute; inset: 0; opacity: 0; cursor: pointer; margin: 0; }
.rvd-swatch:has(input:checked) { box-shadow: 0 0 0 3px var(--ink); }
.rvd-swatch:has(input:focus-visible) { outline: 3px solid var(--red); outline-offset: 3px; }
.rvd-count { display: block; margin-top: 4px; }

/* ---------- Mi perfil: gestión ---------- */
.rvd-mgr { display: grid; gap: var(--sp-5); }
.rvd-mgr__form { display: grid; gap: var(--sp-4); padding: var(--sp-5); border: var(--line-2); background: var(--paper-2); grid-template-columns: minmax(0, 1fr); }
.rvd-mgr__form[hidden] { display: none; }
.rvd-mgr__form .field--wide { grid-column: 1 / -1; }
@media (min-width: 720px) { .rvd-mgr__form { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rvd-mgr__form h3 { grid-column: 1 / -1; font-size: var(--fs-lg); }
.rvd-mgr__acts { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: var(--sp-3); align-items: center; }
.rvd-mgr__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-4); }
.rvd-row { padding: var(--sp-4) var(--sp-5); border: var(--line); background: var(--paper); display: grid; gap: var(--sp-2); min-width: 0; }
.rvd-row.is-hidden { border-style: dashed; background: var(--paper-2); }
.rvd-row__top { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-3); align-items: center; }
.rvd-row__t { font-size: var(--fs-md); font-weight: 700; overflow-wrap: anywhere; }
.rvd-row__m { font-size: var(--fs-sm); color: var(--fg-mute); }
.rvd-row__acts { display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-4); align-items: center; }
.rvd-row__acts .btn { min-height: 44px; }
.rvd-warn { font-size: var(--fs-sm); color: var(--fg-2); background: var(--yellow-soft); border: 1px solid var(--yellow-ink); padding: var(--sp-2) var(--sp-3); max-width: 62ch; }
.rvd-check { display: flex; align-items: flex-start; gap: var(--sp-3); }
.rvd-check input { width: 22px; height: 22px; margin-top: 2px; flex: none; accent-color: var(--ink); }
.rvd-filechip { display: flex; flex-wrap: wrap; gap: var(--sp-3); align-items: center; }
.rvd-thumb { width: 96px; height: 72px; object-fit: cover; border: var(--line); }
.rvd-viewers { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-3); }

/* ---------- Blog y artículo ---------- */
.rvd-blog-bar { display: grid; gap: var(--sp-4); margin-bottom: var(--sp-6); }
.rvd-article { max-width: 760px; margin: 0 auto; display: grid; gap: var(--sp-5); }
.rvd-article__title { font-size: var(--fs-2xl); line-height: 1.02; overflow-wrap: anywhere; }
.rvd-article__sum { font-family: var(--font-text); font-size: var(--fs-md); color: var(--fg-2); overflow-wrap: anywhere; }
.rvd-article__meta { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-4); font-size: var(--fs-sm); color: var(--fg-mute); font-weight: 600; }
.rvd-article__cover { width: 100%; height: auto; border: var(--line-2); display: block; }
.rvd-body { display: grid; gap: var(--sp-4); font-family: var(--font-text); font-size: var(--fs-md); line-height: 1.7; }
.rvd-body p { white-space: pre-line; overflow-wrap: anywhere; max-width: 66ch; }
.rvd-body h2 { font-size: var(--fs-xl); line-height: 1.1; margin-top: var(--sp-4); overflow-wrap: anywhere; }
.rvd-draftnote { padding: var(--sp-3) var(--sp-4); background: var(--yellow-soft); border: 1px solid var(--yellow-ink); font-size: var(--fs-sm); }
.rvd-article__bar { display: flex; flex-wrap: wrap; gap: var(--sp-3) var(--sp-4); align-items: center; padding: var(--sp-4) 0; border-top: var(--line-2); border-bottom: var(--line-soft); }
.rvd-comments { display: grid; gap: var(--sp-4); }
.rvd-comments h2 { font-size: var(--fs-xl); }
.rvd-cm { display: grid; gap: var(--sp-2); padding: var(--sp-4); border: var(--line-soft); background: var(--paper); min-width: 0; }
.rvd-cm__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--sp-2) var(--sp-3); }
.rvd-cm__t { white-space: pre-line; overflow-wrap: anywhere; }
.rvd-cm__acts { display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-4); }
.rvd-cm-form { display: grid; gap: var(--sp-3); }

/* ---------- Editor de artículo ---------- */
.rvd-ed { display: grid; gap: var(--sp-6); grid-template-columns: minmax(0, 1fr); }
.rvd-ed > * { min-width: 0; }
@media (min-width: 1000px) { .rvd-ed--split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; } }
.rvd-ed__form { display: grid; gap: var(--sp-4); }
.rvd-ed__body { min-height: 340px; font-family: var(--font-ui); line-height: 1.5; }
.rvd-ed__preview { padding: var(--sp-5); border: var(--line-2); background: var(--paper); display: grid; gap: var(--sp-4); align-content: start; }
.rvd-ed__preview[hidden] { display: none; }
.rvd-taginput { display: flex; flex-wrap: wrap; gap: var(--sp-2); align-items: center; }
.rvd-taginput .input { flex: 1 1 180px; min-width: 0; }
.rvd-tagchip { display: inline-flex; align-items: center; gap: 4px; min-height: 36px; padding: 0 6px 0 var(--sp-3); border: 1px solid var(--ink); background: var(--paper-2); border-radius: var(--r-pill); font-size: var(--fs-sm); font-weight: 600; }
.rvd-tagchip button { min-width: 28px; min-height: 28px; border: 0; background: none; cursor: pointer; font: inherit; font-weight: 800; color: var(--red-deep); }
.rvd-ed__cover { max-width: 320px; height: auto; border: var(--line); display: block; }
.rvd-ed__acts { display: flex; flex-wrap: wrap; gap: var(--sp-3); align-items: center; }

/* ---------- Anuncios ---------- */
.rvd-filters { display: grid; gap: var(--sp-4); padding: var(--sp-5); border: var(--line-2); background: var(--paper-2); margin-bottom: var(--sp-6); }
.rvd-filters__grid { display: grid; gap: var(--sp-4); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .rvd-filters__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .rvd-filters__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.rvd-ads { display: grid; gap: var(--sp-5); grid-template-columns: minmax(0, 1fr); list-style: none; margin: 0; padding: 0; }
@media (min-width: 900px) { .rvd-ads { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rvd-ad { padding: var(--sp-5); border: var(--line-2); background: var(--paper); display: grid; gap: var(--sp-3); align-content: start; min-width: 0; }
.rvd-ad--busca { border-top: 8px solid var(--red); }
.rvd-ad--ofrezco { border-top: 8px solid var(--ink); }
.rvd-ad__kind { font-family: var(--font-head); font-weight: 800; font-size: var(--fs-sm); letter-spacing: 0.14em; text-transform: uppercase; }
.rvd-ad--busca .rvd-ad__kind { color: var(--red-deep); }
.rvd-ad__title { font-size: var(--fs-lg); line-height: 1.12; overflow-wrap: anywhere; }
.rvd-ad__meta { display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-4); font-size: var(--fs-sm); color: var(--fg-mute); font-weight: 600; }
.rvd-ad__act { display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-4); align-items: center; }

@media (max-width: 480px) {
  .rvd-card, .rvd-item, .rvd-tl__card, .rvd-ad, .rvd-mgr__form { padding-left: var(--sp-4); padding-right: var(--sp-4); }
  .rvd-tl { padding-left: var(--sp-5); }
  .rvd-tl__dot { left: calc(-1 * var(--sp-5) + 1px); }
}
@media (prefers-reduced-motion: reduce) { .rvd-viewer, .rvd-viewer * { animation: none !important; transition: none !important; } }
