/* LogoMarket · catalog archive. Foundational — Fable extends per SPEC.md §5. */

.lm-shop { padding: 48px 24px 80px; }
.lm-shop__title { font-size: clamp(28px, 4vw, 44px); font-weight: 800; color: var(--lm-ink); }
.lm-shop__sub { color: var(--lm-ink-500); max-width: 60ch; margin-top: 8px; }

.lm-shop__layout { display: grid; grid-template-columns: 240px 1fr; gap: 40px; margin-top: 32px; }
@media (max-width: 860px) { .lm-shop__layout { grid-template-columns: 1fr; } }

.lm-filters { position: sticky; top: 96px; align-self: start; }
.lm-empty { color: var(--lm-ink-400); padding: 48px 0; text-align: center; }

/* ── Proof counter (§14.2 ＋) ────────────────────────────── */
.lm-shop__proof { margin-top: 10px; font-size: 13px; color: var(--lm-ink-500); }
.lm-shop__proof strong { color: var(--lm-secondary-600); }

/* ── Facet form (§5.2) ──────────────────────────────────── */
.lm-filters__form { display: grid; gap: 22px; }
.lm-filters__group { border: 0; margin: 0; padding: 0; }
.lm-filters__label { display: block; font-family: var(--lm-font-display); font-weight: 700;
  font-size: 13px; color: var(--lm-ink); margin-bottom: 10px; }

.lm-filters__select { width: 100%; height: 44px; border-radius: 12px; border: 1px solid var(--lm-border);
  padding: 0 12px; font: inherit; color: var(--lm-ink); background: #fff; cursor: pointer; }
.lm-filters__select:focus-visible { outline: none; border-color: var(--lm-primary-300); box-shadow: 0 0 0 4px var(--lm-primary-50); }

.lm-filters__check { display: flex; align-items: center; gap: 10px; padding: 6px 0;
  font-size: 14px; color: var(--lm-ink-600); cursor: pointer; }
.lm-filters__check input { width: 18px; height: 18px; accent-color: var(--lm-primary-500); cursor: pointer; }
.lm-filters__check input:focus-visible { outline: 3px solid var(--lm-primary-300); outline-offset: 2px; }
.lm-filters__check span { flex: 1; }
.lm-filters__check em { font-style: normal; font-size: 12px; color: var(--lm-ink-400); }

.lm-filters__price { display: flex; align-items: center; gap: 8px; color: var(--lm-ink-400); }
.lm-filters__price input { width: 100%; height: 44px; border-radius: 12px; border: 1px solid var(--lm-border);
  padding: 0 12px; font: inherit; color: var(--lm-ink); background: #fff; }
.lm-filters__price input:focus-visible { outline: none; border-color: var(--lm-primary-300); box-shadow: 0 0 0 4px var(--lm-primary-50); }

.lm-filters__actions { display: flex; align-items: center; gap: 14px; }
.lm-filters__reset { font-size: 13px; font-weight: 600; color: var(--lm-ink-500); }
.lm-filters__reset:hover { color: var(--lm-ink); }

.lm-shop__results { transition: opacity .2s var(--lm-ease); }
@media (prefers-reduced-motion: reduce) { .lm-shop__results { transition: none; } }
