.feed-intro { display: grid; max-width: 38rem; gap: var(--space-md); margin-bottom: var(--space-xl); }
.feed-intro__location { display: flex; flex-direction: column; gap: var(--space-xs); }
.feed-intro p[data-location-sublabel] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-xs);
  color: var(--on-surface-variant);
  font: var(--body-md);
}
.feed-intro__location-dot {
  flex: 0 0 auto;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: var(--radius-full);
  border: 1.5px solid currentColor;
  background: transparent;
}
.feed-intro__location-dot--precise {
  background: currentColor;
  border: none;
}
.feed-intro__location-action,
.feed-intro__location-reset {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border: none;
  background: none;
  padding: 0;
  color: var(--on-surface);
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}
.feed-intro__location-action img,
.feed-intro__location-reset img {
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
  opacity: 0.7;
}
.feed-intro__location-action[disabled] {
  opacity: 0.5;
  cursor: wait;
}
.feed-intro__location-reset {
  color: var(--on-surface-variant);
  text-decoration: none;
}
.feed-intro__location-reset:hover {
  text-decoration: underline;
}

.feed-sentinel { height: 1px; }

.feed-loading {
  padding: var(--space-lg) 0;
  text-align: center;
  color: var(--on-surface-variant);
  font: var(--label-md);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-label);
}

.feed-end {
  padding: var(--space-xl) 0;
  text-align: center;
  color: var(--on-surface-variant);
  font: var(--body-md);
}
