@import url('/css/public-catalog-rows.css');
.public-catalog-page { margin: 0; background: var(--color-bg-subtle); color: var(--color-text); font-family: var(--font-sans); line-height: 1.65; }
.public-catalog-page *, .public-catalog-listing * { box-sizing: border-box; }
.public-catalog-main, .public-catalog-header { max-width: 1200px; margin: 0 auto; padding: 24px 32px; }
.public-catalog-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--color-border); }
.public-catalog-brand { display: inline-flex; align-items: center; gap: 10px; font-size: var(--text-3xl); font-weight: 700; text-decoration: none; color: var(--color-text); }
.public-catalog-hero { max-width: 900px; padding: 64px 0; }
.public-catalog-hero h1 { font-size: clamp(32px, 5vw, 58px); line-height: 1.12; letter-spacing: -.035em; margin: 20px 0 24px; }
.public-catalog-hero > p:not(.public-catalog-eyebrow) { font-size: var(--text-2xl); color: var(--color-text-secondary); max-width: 740px; }
.public-catalog-eyebrow { color: var(--color-brand-text); font-size: var(--text-base); text-transform: uppercase; font-weight: 700; letter-spacing: .1em; margin: 0 0 12px; }
.public-catalog-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.public-catalog-listing, .public-catalog-guide { padding: 40px 0; border-top: 1px solid var(--color-border); color: var(--color-text); overflow-wrap: anywhere; }
.public-catalog-section-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.public-catalog-section-head h2, .public-catalog-guide h2 { margin: 0 0 20px; font-size: var(--text-4xl); line-height: 1.3; }
.public-catalog-listing > p, .public-catalog-guide > p, .public-catalog-guide li { color: var(--color-text-secondary); max-width: 800px; }
.public-catalog-guide li { padding: 8px 0; }
.public-catalog-empty { padding: 24px; background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius-card); margin: 24px 0; }
.public-catalog-empty h3 { margin-top: 0; }
.public-catalog-empty p { margin-bottom: 0; color: var(--color-text-secondary); }
.public-catalog-pagination { display: flex; gap: 24px; padding-top: 24px; }
.public-catalog-page .btn, .public-catalog-listing .btn { width: auto; margin: 0; flex: 0 0 auto; text-decoration: none; }
.public-catalog-guide .lf-content-list, .public-catalog-listing .lf-content-list { --text: var(--color-text); --muted: var(--color-text-muted); --hint: var(--color-text-muted); --line: var(--color-border); --primary: var(--color-brand-text); --surface: var(--color-bg-card); }
.public-catalog-listing .lf-content-row__desc { white-space: pre-line; -webkit-line-clamp: unset; }
@media (max-width: 640px) {
  .public-catalog-main, .public-catalog-header { padding: 20px; }
  .public-catalog-hero { padding: 36px 0; }
  .public-catalog-section-head { flex-direction: column; align-items: flex-start; gap: 8px; }
  .public-catalog-listing, .public-catalog-guide { padding: 32px 0; }
  .public-catalog-actions { flex-direction: column; align-items: stretch; }
  .public-catalog-actions .btn { text-align: center; }
}
