/* Catalog B: three desktop columns, two mobile columns, A4 previews. */
.catalog-page .library-shell { max-width:1536px; padding:0 3%; grid-template-columns:246px minmax(0,1fr); min-height:calc(100vh - 76px); }
.catalog-page .library-rail { padding:30px 16px 40px 0; }
.catalog-page .library-rail h2 { margin:0 0 16px 12px; font-size:15px; }
.catalog-page .rail-item { min-height:49px; padding:11px 13px; margin-bottom:4px; border-radius:7px; font-size:15px; }
.catalog-page .rail-label { display:flex; align-items:center; gap:12px; }
.catalog-page .region-icon { width:24px; height:18px; flex:none; border-radius:2px; overflow:hidden; }
.catalog-page .rail-item[data-region="all"] .region-icon { color:var(--studio-teal); }
.catalog-page .rail-note { margin-top:32px; }
.catalog-page .library-main { padding:30px 0 52px 36px; }
.catalog-page .library-heading { gap:24px; margin-bottom:25px; align-items:center; }
.catalog-page .catalog-title { flex:none; }
.catalog-page .catalog-title h1 { font-size:34px; font-weight:750; letter-spacing:-1px; line-height:1.4; }
.catalog-page .catalog-title p { margin-top:7px; font-size:15px; color:var(--studio-muted); }
.catalog-page .library-search { max-width:none; height:48px; margin-left:auto; background:#fff; }
.catalog-page .library-search svg { width:21px; height:21px; flex:none; }
.catalog-page .library-tools { display:flex; align-items:center; gap:16px; margin-bottom:24px; }
.catalog-page .library-types { border:0; margin:0; gap:10px; }
.catalog-page .library-types .seg-btn { border:0; border-radius:6px; padding:10px 14px; }
.catalog-page .library-types .seg-btn.active { background:#eaf6f3; }
.catalog-page .catalog-count { margin-left:auto; color:var(--studio-muted); font-size:13px; white-space:nowrap; }
.catalog-page .view-switch { flex:none; }
.catalog-page .studio-cards-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 22px; margin:0 auto; }
.catalog-page .studio-card { border-radius:7px; padding:12px 12px 0; background:#fbfcfd; }
.catalog-page .sc-stage { display:block; width:100%; height:auto; aspect-ratio:210 / 297; padding:0; border:0; border-radius:3px; background:#eef2f5; }
.catalog-page .sc-stage img { width:100%; height:100%; object-fit:contain; object-position:center; background:#fff; border:1px solid #e2e8ee; border-radius:3px; box-shadow:none; }
.catalog-page .sc-stage:focus-visible { outline-offset:3px; }
.catalog-page .sc-body { padding:16px 3px 17px; display:grid; grid-template-columns:1fr; gap:5px 12px; align-items:center; }
.catalog-page .sc-title { min-height:0; margin:0; font-size:16px; line-height:1.55; }
.catalog-page .sc-meta { grid-column:1; margin:0; flex-wrap:wrap; gap:3px 10px; font-size:12px; }
.catalog-page .sc-open { grid-column:1; grid-row:auto; justify-content:center; margin-top:7px; width:auto; border:1px solid #16776a; border-radius:6px; padding:9px 12px; background:#fff; gap:9px; font-size:13px; white-space:nowrap; }
.catalog-page .sc-open:hover { background:#eaf6f3; }
.catalog-page .sc-open span:last-child { display:none; }
@media(max-width:1200px) {
 .catalog-page .library-shell { grid-template-columns:200px minmax(0,1fr); }
 .catalog-page .library-main { padding-left:26px; }
 .catalog-page .library-heading { flex-wrap:wrap; gap:17px; }
 .catalog-page .library-search { flex-basis:100%; margin:0; }
 .catalog-page .studio-cards-grid { padding:0; gap:22px; }
 .catalog-page .library-tools { flex-wrap:wrap; gap:12px; }
 .catalog-page .library-types { flex:1; }
 .catalog-page .catalog-count { margin-left:0; }
 .catalog-page .sc-body { grid-template-columns:1fr; }
 .catalog-page .sc-open { grid-column:1; grid-row:auto; justify-content:center; margin-top:7px; }
}
@media(max-width:1000px) {
 .catalog-page .studio-cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px) {
 .catalog-page .library-shell { display:flex; flex-direction:column; padding:0 18px; }
 .catalog-page .library-rail { padding:16px 0 9px; }
 .catalog-page .library-rail h2,.catalog-page .rail-note { display:none; }
 .catalog-page .rail-item { min-height:39px; margin:0; padding:8px 11px; font-size:13px; }
 .catalog-page .rail-label { gap:7px; }
 .catalog-page .region-icon { width:21px; height:16px; }
 .catalog-page .library-main { padding:22px 0 32px; }
 .catalog-page .library-heading { display:flex; margin-bottom:17px; gap:16px; }
 .catalog-page .catalog-title { width:100%; }
 .catalog-page .catalog-title h1 { font-size:27px; }
 .catalog-page .catalog-title p { font-size:14px; margin-top:5px; }
 .catalog-page .library-search { order:initial; height:44px; }
 .catalog-page .library-tools { gap:12px; margin-bottom:18px; }
 .catalog-page .library-types { flex-basis:100%; min-width:0; gap:4px; }
 .catalog-page .library-types .seg-btn { padding:9px 10px; font-size:12px; }
 .catalog-page .view-switch { margin-left:auto; }
 .catalog-page .studio-cards-grid { gap:16px 12px; }
 .catalog-page .studio-card { padding:6px 6px 0; }
 .catalog-page .sc-body { padding:10px 3px 11px; gap:6px; }
 .catalog-page .sc-title { font-size:13px; }
 .catalog-page .sc-meta { font-size:11px; gap:2px 6px; }
 .catalog-page .sc-open { padding:8px 6px; font-size:12px; margin-top:3px; }
}
@media(max-width:360px) {
 .catalog-page .library-shell { padding:0 12px; }
 .catalog-page .studio-cards-grid { gap:12px 9px; }
}
