/* Redesign 6 "the return loop" (M14): styles for the /new/ ("Just landed"),
/pulse/ (Friday pulse), and account/follow pages. Split out of per-template
<style> blocks into one file of our own so the upcoming redesign can re-theme
this corner of the site without touching site.css (owned by another
session). Uses the site's own custom properties (site.css :root) so it
matches the rest of the page without a new palette. Loaded only on the pages
that use these classes, via base.html's head_extra block. */

/* Dense /new/ rows (T504): one line on desktop, wraps to at most two on a
narrow screen. */
.new-filters { display: flex; flex-wrap: wrap; gap: 0.6rem 1rem; align-items: end; margin: 0 0 0.6rem; }
.new-filters label { display: flex; flex-direction: column; gap: 0.2rem; font-size: 0.85rem; color: var(--mut); }
.new-checkbox { flex-direction: row !important; align-items: center; gap: 0.35rem !important; }
.new-chips { margin-top: 0.5rem; }
.new-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-soft); }
.new-row {
  display: grid; grid-template-columns: 4.2rem 7.5rem minmax(0, 1fr) 7.5rem 3.6rem;
  align-items: baseline; column-gap: 0.75rem;
  padding: 0.45rem 0; border-bottom: 1px solid var(--line-soft);
  font-size: 0.92rem; line-height: 1.45;
}
.new-time { color: var(--mut); font-variant-numeric: tabular-nums; white-space: nowrap; }
.new-kind { justify-self: start; white-space: nowrap; }
.new-main { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 0.75rem; min-width: 0; }
.new-title { font-weight: 600; }
.new-place, .new-country, .new-varietal, .new-process, .new-soldout { white-space: nowrap; }
.new-price, .new-weight { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (max-width: 640px) {
  .new-row { grid-template-columns: auto auto minmax(0, 1fr); row-gap: 0.15rem; }
  .new-main { grid-column: 1 / -1; order: 3; }
  .new-price { grid-column: 3; justify-self: end; }
  .new-weight { display: none; }
}
.new-row.is-new-since { background: var(--live-soft); border-radius: 4px; padding-left: 0.4rem; padding-right: 0.4rem; }

/* Friday pulse rows (T509). */
.pulse-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-soft); }
.pulse-row {
  display: grid; grid-template-columns: 4.2rem 7.5rem minmax(0, 1fr);
  align-items: baseline; column-gap: 0.75rem;
  padding: 0.45rem 0; border-bottom: 1px solid var(--line-soft);
  font-size: 0.92rem; line-height: 1.45;
}
.pulse-time { color: var(--mut); font-variant-numeric: tabular-nums; white-space: nowrap; }
.pulse-kind { justify-self: start; white-space: nowrap; }
.pulse-main { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 0.75rem; min-width: 0; }
.pulse-title { font-weight: 600; }
@media (max-width: 640px) {
  .pulse-row { grid-template-columns: auto auto minmax(0, 1fr); row-gap: 0.15rem; }
  .pulse-main { grid-column: 1 / -1; order: 3; }
}
