.catalog { background:#ffffff; color:#252a28; scroll-margin-top:88px; }
.catalog-page main { padding-top:90px; min-height:100svh; background:#ffffff; }
.catalog-page .catalog { padding-top:48px; }
.catalog-back { display:inline-flex; align-items:center; gap:8px; font-size:12px; color:#5d6662; margin-bottom:30px; }
.catalog-back .lucide { width:15px; height:15px; }
.catalog-heading { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:36px; }
.catalog-heading h2,.catalog-heading h1 { font:52px/1.05 Editorial,Georgia,serif; margin-top:14px; }
.catalog-heading>p { color:#5d6662; font-size:14px; line-height:1.7; }
.catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid #dce2df; border-bottom:1px solid #dce2df; padding:16px 0; }
.catalog-filters { display:flex; gap:20px; flex-wrap:wrap; }
.catalog-filters button { min-height:40px; font-size:13px; border-bottom:2px solid transparent; }
.catalog-filters button[aria-pressed=true] { border-color:#145641; color:#145641; }
.catalog-search { display:flex; align-items:center; gap:10px; min-width:220px; padding:10px 12px; border:1px solid #dce2df; }
.catalog-search .lucide { width:17px; height:17px; flex:none; }
.catalog-search input { min-width:0; width:100%; border:0; background:transparent; color:inherit; outline-offset:4px; font:13px Geist,Arial,sans-serif; }
.catalog-status { display:flex; justify-content:space-between; gap:20px; margin:20px 0; font-size:10px; color:#5d6662; }
.catalog-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px 22px; }
.stone-card { text-align:left; min-width:0; }
.stone-photo { position:relative; display:block; aspect-ratio:4/3; background:#dfe3dc; overflow:hidden; }
.stone-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.stone-card:hover img { transform:scale(1.04); }
.stone-photo>span { position:absolute; right:10px; bottom:10px; width:32px; height:32px; display:grid; place-items:center; background:#ffffff; color:#252a28; }
.stone-photo .lucide { width:16px; height:16px; }
.stone-meta { display:flex; justify-content:space-between; font-size:10px; color:#5d6662; margin:13px 0 8px; }
.stone-card h3 { font:22px/1.15 Editorial,Georgia,serif; overflow-wrap:anywhere; margin-bottom:8px; }
.stone-card p { color:#5d6662; font-size:12px; line-height:1.6; }
.catalog-note { border-top:1px solid #dce2df; padding-top:20px; margin-top:36px; max-width:800px; font-size:12px; line-height:1.6; color:#5d6662; }
#catalog-empty { padding:50px 0; }
#catalog-empty button { margin-top:18px; color:#145641; }
#material-dialog { width:min(980px,calc(100% - 32px)); padding:0; max-height:90svh; overflow:auto; background:#ffffff; color:#252a28; }
#material-dialog .dialog-close { z-index:2; background:#ffffff; color:#252a28; border:1px solid #dce2df; }
.material-detail { display:grid; grid-template-columns:1fr 1fr; }
.detail-photo { position:relative; background:#dfe3dc; min-height:450px; }
.detail-photo img { width:100%; height:100%; position:absolute; object-fit:cover; }
.detail-photo>span { position:absolute; bottom:18px; left:18px; background:#ffffff; padding:7px 10px; font-size:9px; }
.detail-copy { padding:50px 32px 32px; }
.detail-copy h2 { font:38px/1.05 Editorial,Georgia,serif; margin:14px 0 20px; overflow-wrap:anywhere; }
.detail-copy>p { line-height:1.65; font-size:14px; }
.detail-copy dl { margin:24px 0; border-top:1px solid #dce2df; }
.detail-copy dl>div { padding:12px 0; border-bottom:1px solid #dce2df; }
.detail-copy dt { font-size:10px; color:#5d6662; margin-bottom:6px; }
.detail-copy dd { font-size:13px; }
.detail-copy .detail-note { font-size:12px; color:#5d6662; margin-bottom:22px; }
.detail-copy .button { background:#145641; color:white; width:100%; }
#detail-source { display:flex; gap:8px; align-items:center; font-size:10px; margin-top:22px; color:#5d6662; }
#detail-source .lucide { width:13px; height:13px; }
.nav-catalog-preview { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.nav-catalog-preview a { display:block; min-width:0; }
.nav-catalog-preview img { width:100%; aspect-ratio:4/3; object-fit:cover; background:#dfe3dc; }
.nav-catalog-preview strong { display:block; font-size:12px; font-weight:400; line-height:1.3; margin:7px 0 4px; }
.nav-catalog-preview small { font-size:10px; color:#5d6662; line-height:1.4; display:block; }
.nav-catalog-link { display:flex; justify-content:space-between; align-items:center; border-top:1px solid #dce2df; padding-top:14px; margin-top:16px; font-size:12px; color:#145641; }
.nav-catalog-link .lucide { width:16px; height:16px; }
@media(max-width:1100px) { .catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .catalog-toolbar { align-items:start; } .catalog-filters { gap:8px 16px; } }
@media(max-width:760px) { .catalog-heading { display:block; } .catalog-heading h2,.catalog-heading h1 { font-size:36px; } .catalog-heading>p { margin-top:18px; } .catalog-toolbar { flex-direction:column; gap:12px; } .catalog-search { width:100%; } .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 14px; } .stone-card h3 { font-size:20px; } .catalog-status { flex-direction:column; gap:8px; } .material-detail { grid-template-columns:1fr; } .detail-photo { min-height:0; aspect-ratio:4/3; } .detail-copy { padding:26px 22px; } .detail-copy h2 { font-size:32px; } }
@media(prefers-reduced-motion:reduce) { .stone-photo img { transition:none; } }
.reduced-motion .stone-photo img { transition:none; }
