/* ============================================================
   PAGE — home.css  |  Feed de noticias / workspace público
   ============================================================ */

/* Estilos de a.ws-tab, .ws-auth-row y .ws-user-row__link → workspace.css */

/* ── Q2 fila 2: barra de búsqueda ───────────────────────────── */
.ws-topbar__main--feed {
  display: contents;
}

.feed-filter-form {
  display: grid;
  grid-template-columns: 3fr 1fr;
  align-items: center;
  width: 100%;
  background: color-mix(in srgb, var(--c-bg-card) 80%, transparent);
}

.feed-filter-label {
  padding-left: var(--sp-6);
  border-right: 1px solid var(--c-border);
}

.feed-search-col {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 var(--sp-4);
}

.feed-search-wrap {
  display: flex;
  align-items: center;
  width: 100%;
  height: 28px;
  border: 1px solid var(--c-border-mid);
  border-radius: var(--r-md);
  background: transparent;
  overflow: hidden;
  transition: border-color var(--t-fast);
}

.feed-search-wrap:focus-within {
  border-color: var(--c-cyan);
}

.feed-search__input {
  flex: 1;
  height: 100%;
  border: none;
  background: transparent;
  color: var(--c-ink);
  font-size: var(--text-xs);
  padding: 0 var(--sp-3);
  outline: none;
  min-width: 0;
}

.feed-search__input::placeholder {
  color: var(--c-subtle);
}

.feed-search__input::-webkit-search-cancel-button {
  display: none;
}

.feed-search__btn {
  flex-shrink: 0;
  width: 28px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  border-left: 1px solid var(--c-border);
  color: var(--c-subtle);
  cursor: pointer;
  transition: color var(--t-fast), background var(--t-fast);
}

.feed-search__btn:hover {
  color: var(--c-cyan);
  background: var(--c-cyan-08);
}

/* ── Q2 fila 3: barra inferior del feed ──────────────────── */
.ws-topbar__bottom--feed {
  padding: 0 var(--sp-6);
  gap: var(--sp-4);
}

.feed-result-count {
  font-size: var(--text-xs);
  color: var(--c-muted);
}

.feed-clear-link {
  font-size: var(--text-xs);
  color: var(--c-cyan);
  text-decoration: none;
  border: 1px solid var(--c-cyan-30);
  border-radius: var(--r-full);
  padding: 2px 10px;
  transition: background var(--t-fast);
}

.feed-clear-link:hover {
  background: var(--c-cyan-08);
  text-decoration: none;
}


/* ── Resultados de búsqueda por secciones ────────────────── */
.search-results {
  display: flex;
  flex-direction: column;
  gap: var(--sp-8);
}

.search-section {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}

.search-section__header {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding-bottom: var(--sp-3);
  border-bottom: 1px solid var(--c-border);
}

.search-section__title {
  font-family: var(--font-heading);
  font-size: var(--text-base);
  font-weight: var(--weight-semi);
  color: var(--c-ink);
  margin: 0;
}

.search-section__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 18px;
  padding: 0 var(--sp-2);
  border-radius: var(--r-full);
  background: var(--c-cyan-08);
  border: 1px solid var(--c-cyan-30);
  color: var(--c-cyan);
  font-size: 11px;
  font-weight: var(--weight-semi);
  font-family: var(--font-mono);
}

/* ── Grid de personas ────────────────────────────────────── */
.persona-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--sp-3);
}

.persona-card {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  background: var(--c-bg-card);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  text-decoration: none;
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
}

.persona-card:hover {
  border-color: var(--c-cyan-30);
  box-shadow: 0 2px 12px var(--c-shadow);
  text-decoration: none;
}

.persona-card__avatar {
  width: 40px;
  height: 40px;
  border-radius: var(--r-full);
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid var(--c-border-mid);
}

.persona-card__avatar--initial {
  width: 40px;
  height: 40px;
  border-radius: var(--r-full);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--c-cyan-08);
  color: var(--c-cyan);
  font-family: var(--font-heading);
  font-weight: var(--weight-bold);
  font-size: var(--text-sm);
  border: 1px solid var(--c-border-mid);
}

.persona-card__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.persona-card__name {
  font-size: var(--text-sm);
  font-weight: var(--weight-semi);
  color: var(--c-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.persona-card__tag {
  font-size: var(--text-xs);
  color: var(--c-cyan);
  font-family: var(--font-mono);
}

.persona-card__inst {
  font-size: var(--text-xs);
  color: var(--c-subtle);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── Q4: grid de artículos ───────────────────────────────── */
.sett {
  padding: var(--sp-4) 350px var(--sp-4) var(--sp-4);
  overflow-y: auto;
}

.feed-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--sp-4);
  align-items: start;
}

/* ── Tarjeta de artículo ─────────────────────────────────── */
.feed-card {
  display: flex;
  flex-direction: column;
  background: var(--c-bg-card);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
}

.feed-card:hover {
  border-color: var(--c-border-mid);
  box-shadow: 0 4px 20px var(--c-shadow);
}

.feed-card__cover-link {
  display: block;
  aspect-ratio: 16/7;
  overflow: hidden;
  background: var(--c-bg-hover);
  flex-shrink: 0;
}

.feed-card__cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--t-base);
}

.feed-card:hover .feed-card__cover {
  transform: scale(1.03);
}

.feed-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
  padding: var(--sp-4);
  flex: 1;
}

.feed-card__meta {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}

.feed-card__type {
  font-size: var(--text-xs);
  padding: 2px 8px;
}

.feed-card__date {
  font-size: var(--text-xs);
  color: var(--c-muted);
  margin-left: auto;
}

.feed-card__title {
  font-family: var(--font-heading);
  font-size: var(--text-base);
  font-weight: var(--weight-semi);
  line-height: 1.3;
  margin: 0;
  color: var(--c-ink);
}

.feed-card__title-link {
  color: inherit;
  text-decoration: none;
}

.feed-card__title-link:hover {
  color: var(--c-cyan);
  text-decoration: none;
}

.feed-card__summary {
  font-size: var(--text-sm);
  color: var(--c-muted);
  margin: 0;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.feed-card__footer {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin-top: auto;
  padding-top: var(--sp-3);
  border-top: 1px solid var(--c-border);
}

.feed-card__author {
  font-size: var(--text-xs);
  color: var(--c-cyan);
  text-decoration: none;
  font-weight: var(--weight-medium);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

.feed-card__author:hover {
  text-decoration: underline;
}

.feed-card__stats {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-left: auto;
  flex-shrink: 0;
  font-size: var(--text-xs);
  color: var(--c-subtle);
}

/* ── Estado vacío ────────────────────────────────────────── */
.feed-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  padding: var(--sp-8);
}

.feed-empty__msg {
  font-size: var(--text-sm);
  color: var(--c-muted);
  text-align: center;
  line-height: 1.6;
}

.feed-empty__msg a {
  color: var(--c-cyan);
}

/* ── Paginación ──────────────────────────────────────────── */
.feed-pagination {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  justify-content: center;
  padding: var(--sp-6) 0 var(--sp-4);
}

.feed-pagination__page {
  font-size: var(--text-sm);
  color: var(--c-muted);
}

/* ── Workspace sin Q3 (ws--public): Q4 ocupa ambas columnas + margen izquierdo ── */
.workspace.ws--public .sett {
  grid-column: 1 / -1;
  padding-left: 350px;
}

/* ── Comunidad: grid de grupos / entidades ────────────────── */
.community-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--sp-4);
  align-items: start;
}

.community-card {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-4);
  padding: var(--sp-4);
  background: var(--c-bg-card);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  text-decoration: none;
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
}

.community-card:hover {
  border-color: var(--c-border-mid);
  box-shadow: 0 4px 20px var(--c-shadow);
  text-decoration: none;
}

.community-card__avatar {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: var(--r-md);
  background-size: cover;
  background-position: center;
  background-color: var(--c-bg-hover);
}

.community-card__avatar--initial {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--c-cyan-08);
  color: var(--c-cyan);
  font-family: var(--font-heading);
  font-weight: var(--weight-bold);
  font-size: var(--text-lg);
  border: 1px solid var(--c-cyan-30);
}

.community-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--sp-1);
  min-width: 0;
  flex: 1;
}

.community-card__meta {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}

.community-card__count {
  font-size: var(--text-xs);
  color: var(--c-subtle);
  margin-left: auto;
}

.community-card__name {
  font-size: var(--text-base);
  font-weight: var(--weight-semi);
  color: var(--c-ink);
  line-height: 1.3;
}

.community-card__desc {
  font-size: var(--text-sm);
  color: var(--c-muted);
  line-height: 1.5;
  margin: 0;
}

.community-card__web {
  font-size: var(--text-xs);
  color: var(--c-cyan);
}
