.public-catalog-body { min-height: 100vh; margin: 0; background: var(--backdrop); color: var(--ink); font-family: var(--font-ui); }
.public-catalog-header, .public-catalog-main, .public-catalog-footer { width: min(1180px, calc(100% - var(--space-48))); margin-inline: auto; }
.public-catalog-header { min-height: 72px; display: flex; align-items: center; justify-content: space-between; }
.public-catalog-header-actions { display: flex; align-items: center; gap: var(--space-8); }
.public-catalog-language select { min-height: 40px; border: 1px solid var(--glass-border); border-radius: 999px; background: var(--glass-bg); color: var(--ink); font: inherit; font-size: .85rem; padding: var(--space-8) var(--space-32) var(--space-8) var(--space-12); }
.public-catalog-main { padding-block: var(--space-48); }
.public-catalog-hero { max-width: 760px; }
.public-catalog-hero h1 { margin: var(--space-8) 0 var(--space-16); font-family: var(--font-display); font-size: clamp(2.4rem, 5vw, 4.5rem); line-height: 1; letter-spacing: -.035em; }
.public-catalog-hero > p:last-child { color: var(--ink-2); font-size: 1.05rem; line-height: 1.65; }
.public-catalog-eyebrow { color: var(--ink-3); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.public-catalog-search { margin-block: var(--space-32); }
.public-catalog-search label { display: block; margin-bottom: var(--space-8); font-weight: 700; }
.public-catalog-search-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(130px, auto) auto auto; gap: var(--space-8); }
.public-catalog-search-controls input, .public-catalog-search-controls select { min-width: 0; min-height: 42px; border: 1px solid var(--glass-border); border-radius: var(--radius-md); background: var(--field-bg, var(--glass-bg)); color: var(--ink); font: inherit; padding: var(--space-8) var(--space-12); }
.public-catalog-search .wf-help { margin: var(--space-12) 0 0; color: var(--ink-3); font-size: .85rem; }
.public-catalog-search .wf-help a { color: inherit; }
.public-catalog-search-status { min-height: 1.3em; margin: var(--space-8) 0 0; color: var(--ink-2); }
.public-catalog-search-logo { display: inline-grid; width: 48px; height: 48px; place-items: center; border-radius: var(--radius-md); background: var(--accent-soft, var(--glass-bg)); color: var(--ink); font-weight: 800; letter-spacing: .04em; }
.public-catalog-tabs { display: flex; flex-wrap: wrap; gap: var(--space-8); margin-block: var(--space-32); }
.public-catalog-tabs a { padding: var(--space-8) var(--space-16); border: 1px solid var(--glass-border); border-radius: 999px; background: var(--glass-bg); color: var(--ink); text-decoration: none; }
.public-catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-16); }
.public-catalog-card { display: flex; min-height: 300px; flex-direction: column; gap: var(--space-12); }
.public-catalog-card-head { display: flex; align-items: center; justify-content: space-between; }
.public-catalog-card h2 { margin: var(--space-8) 0 0; font-family: var(--font-display); font-size: 1.35rem; }
.public-catalog-card p { flex: 1; margin: 0; color: var(--ink-2); line-height: 1.55; }
.public-catalog-version { color: var(--ink-3); font-size: .8rem; }
.public-catalog-card .wf-btn { align-self: flex-start; }
.public-catalog-empty { color: var(--ink-2); text-align: center; }
.public-catalog-pagination { display: flex; align-items: center; justify-content: center; gap: var(--space-16); margin-top: var(--space-32); }
.public-catalog-footer { display: flex; align-items: center; justify-content: space-between; gap: var(--space-16); padding-block: var(--space-24); border-top: 1px solid var(--line); }
.public-catalog-footer-links { display: flex; flex-wrap: wrap; gap: var(--space-16); }
.public-catalog-footer p { margin: 0; color: var(--ink-3); }
.public-catalog-footer a { color: var(--ink-2); }
@media (max-width: 840px) { .public-catalog-search-controls { grid-template-columns: minmax(0, 1fr) minmax(130px, auto); } .public-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .public-catalog-header, .public-catalog-main, .public-catalog-footer { width: min(100% - var(--space-24), 1180px); } .public-catalog-main { padding-block: var(--space-32); } .public-catalog-search-controls { grid-template-columns: 1fr; } .public-catalog-grid { grid-template-columns: 1fr; } .public-catalog-footer { align-items: flex-start; flex-direction: column; } }
