/* directory.css — filter sidebar + bike result cards + methodology */
.directory .directory-layout { display: grid; grid-template-columns: 1fr; gap: 24px; }
.directory .directory-filters { border: 1px solid #d8cfc0; padding: 20px; background: #faf6ef; align-self: start; }
.directory .directory-filters-title { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: #b8482a; margin: 0 0 14px; }
.directory .directory-filter { padding: 12px 0; border-top: 1px solid #ece4d7; }
.directory .directory-filter-label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 4px; }
.directory .directory-filter-value { display: block; font-size: 13px; color: #6b6157; }
.directory .directory-intro { max-width: 64ch; color: #43392f; margin: 0 0 22px; }
.directory .directory-results { display: grid; grid-template-columns: 1fr; gap: 14px; }
.directory .bike-card { display: flex; align-items: stretch; border: 1px solid #d8cfc0; background: #faf6ef; color: #211c17; }
.directory a.bike-card:hover { text-decoration: none; box-shadow: 0 6px 22px rgba(33,28,23,0.10); }
.directory .bike-card-thumb { width: 96px; flex-shrink: 0; object-fit: contain; background: #ffffff; padding: 7px; border-right: 1px solid #d8cfc0; }
.directory .directory-all-link { display: inline-block; margin-top: 22px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; font-weight: 700; color: #b8482a; }
.directory .bike-card-score { display: flex; align-items: center; justify-content: center; min-width: 72px; background: #1b1712; color: #e0a64a; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 24px; font-weight: 700; }
.directory .bike-card-body { padding: 16px 18px; }
.directory .bike-card-brand { display: block; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: #b8482a; margin-bottom: 3px; }
.directory .bike-card-name { display: block; font-size: 19px; font-weight: 800; margin-bottom: 6px; }
.directory .bike-card-meta { display: block; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; color: #6b6157; }
.directory .directory-note { margin-top: 18px; font-size: 12px; color: #9a8f80; font-style: italic; }

.methodology .methodology-text { max-width: 64ch; color: #43392f; }
.methodology .methodology-grid { display: grid; grid-template-columns: 1fr; gap: 1px; background: #d8cfc0; border: 1px solid #d8cfc0; margin-top: 24px; }
.methodology .methodology-factor { background: #faf6ef; padding: 18px; }
.methodology .methodology-factor-no { display: block; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; color: #b8482a; margin-bottom: 8px; }
.methodology .methodology-factor-name { display: block; font-size: 15px; font-weight: 700; margin-bottom: 6px; }
.methodology .methodology-factor-note { display: block; font-size: 13px; line-height: 1.55; color: #6b6157; }

@media (min-width: 600px) {
  .methodology .methodology-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 768px) {
  .directory .directory-layout { grid-template-columns: 260px 1fr; }
  .directory .directory-results { grid-template-columns: 1fr 1fr; }
  .methodology .methodology-grid { grid-template-columns: repeat(3, 1fr); }
}
