/**
 * Forum pulse — visual IA sibling of news magazine panels.
 * Shares --sv-* tokens when news-experience.css is loaded; local fallbacks otherwise.
 */

.sv-xf {
  --sv-bg: #eef1f4;
  --sv-surface: #ffffff;
  --sv-surface-soft: #f7f9fb;
  --sv-ink: #12171c;
  --sv-muted: #3d4954;
  --sv-accent: #ff0036;
  --sv-mark: #e87800;
  --sv-sky: #30549c;
  --sv-line: #cfd6de;
  --sv-line-strong: #12171c;
  --sv-font-display: "Literata", Georgia, serif;
  --sv-font-body: "Manrope", "Segoe UI", sans-serif;
  --sv-panel-pad: 1rem 1.1rem;
  --sv-space-sm: 0.75rem;
  --sv-space-md: 1.15rem;

  margin: 0 0 1.25rem;
  padding-top: 0;
  padding-bottom: 0;
  font-family: var(--sv-font-body);
}

.sv-xf > .g1-row-inner {
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
}

.sv-xf__collection {
  margin: 0;
  padding: var(--sv-panel-pad);
  background: var(--sv-surface);
  border: 1px solid var(--sv-line);
  border-bottom: 3px solid var(--sv-line-strong);
  border-left: 3px solid var(--sv-sky);
}

.sv-xf__collection > .g1-collection-title,
.sv-xf__collection > .g1-delta {
  margin: 0 0 0.35rem;
  font-family: var(--sv-font-display);
  font-size: clamp(1.15rem, 1.8vw, 1.35rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  border-bottom: 2px solid var(--sv-line-strong);
  padding-bottom: 0.4rem;
}

.sv-xf__collection > .g1-collection-title span,
.sv-xf__collection > .g1-delta span {
  background: transparent;
}

.sv-xf__stats {
  margin: 0.45rem 0 0.65rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--sv-muted);
  font-variant-numeric: tabular-nums;
}

.sv-xf__viewport {
  border-top: 1px solid var(--sv-line);
}

.sv-xf .g1-collection-items {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sv-xf .g1-collection-item-txtlist {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--sv-line);
}

.sv-xf .g1-collection-item-txtlist:last-child {
  border-bottom: 0;
}

.sv-xf .entry-tpl-txtlist {
  padding: 0.55rem 0;
}

.sv-xf .entry-tpl-txtlist .entry-title {
  margin: 0 0 0.15rem;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.35;
}

.sv-xf .entry-tpl-txtlist .entry-title a {
  color: var(--sv-ink);
  text-decoration: none;
}

.sv-xf .entry-tpl-txtlist .entry-title a:hover {
  color: var(--sv-accent);
}

.sv-xf .entry-tpl-txtlist .entry-title a:focus-visible {
  outline: 3px solid var(--sv-sky);
  outline-offset: 2px;
}

.sv-xf .entry-tpl-txtlist .entry-meta {
  margin: 0;
  line-height: 1.35;
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--sv-muted);
}

.sv-xf__more {
  margin: 0.65rem 0 0;
  padding-top: 0.45rem;
  border-top: 1px solid var(--sv-line);
  font-size: 0.85rem;
  font-weight: 700;
}

.sv-xf__more a {
  color: var(--sv-sky);
  text-decoration: none;
  min-height: 2.5rem;
  display: inline-flex;
  align-items: center;
}

.sv-xf__more a:hover {
  color: var(--sv-accent);
}

.sv-xf__more a:focus-visible {
  outline: 3px solid var(--sv-sky);
  outline-offset: 2px;
}

/* Sidebar widget — same density, no double chrome */
.sv-xf--sidebar {
  margin: 0;
  padding: var(--sv-panel-pad);
  background: var(--sv-surface);
  border: 1px solid var(--sv-line);
}

.sv-xf--sidebar .sv-xf__stats {
  margin: 0 0 0.75rem;
}

.sv-xf--sidebar .sv-xf__sub {
  margin: 1rem 0 0.5rem;
  font-family: var(--sv-font-display);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  border-bottom: 2px solid var(--sv-line-strong);
  padding-bottom: 0.3rem;
}

@media (max-width: 719px) {
  .sv-xf__collection {
    padding: 0.85rem 0.75rem;
  }

  .sv-xf .entry-tpl-txtlist .entry-title {
    font-size: 0.92rem;
  }
}
