/* Ranking and sale pages (src/catalog-ranking.js). Before the age
   confirmation an entry has no cover and no store link: text rows only. */
.growth-page .catalog-type-filters a[aria-current="page"] { font-weight: 700; text-decoration: underline; }
.growth-section { margin-top: 24px; }
.growth-section h2 { font-size: 18px; margin: 0 0 12px; }
.growth-rank-list { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 12px; }
.growth-rank-item { display: grid; grid-template-columns: auto 72px minmax(0, 1fr); gap: 12px; align-items: start; padding: 12px 0; border-top: 1px solid #e7e7e5; }
.growth-rank-item.text-only { grid-template-columns: auto minmax(0, 1fr); }
.growth-rank-list.unranked .growth-rank-item { grid-template-columns: 72px minmax(0, 1fr); }
.growth-rank-list.unranked .growth-rank-item.text-only { grid-template-columns: minmax(0, 1fr); }
.growth-rank-number { min-width: 28px; font-size: 18px; font-weight: 800; text-align: right; color: #1d1d1f; }
.growth-rank-cover img { display: block; width: 72px; height: auto; aspect-ratio: 12 / 17; object-fit: cover; border-radius: 6px; background: #f2f2f0; }
.growth-rank-body { display: grid; gap: 4px; min-width: 0; }
.growth-rank-title { font-weight: 700; color: #1d1d1f; overflow-wrap: anywhere; }
.growth-rank-author { font-size: 13px; color: #555; }
.growth-rank-offer { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; font-size: 13px; color: #333; }
.growth-rank-fanza { justify-self: start; font-size: 13px; font-weight: 700; }
.growth-more { margin: 12px 0 0; }
.work-offer-badge { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border-radius: 6px; background: #f2f2f0; color: #333; font-size: 12px; font-weight: 600; }
.work-offer-sale { background: #c8102e; color: #fff; }
