.catalog{background:#f5f5f7;margin:12px;border-radius:28px}
.catalog .section-heading{margin-bottom:28px}
.catalog-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.catalog nav.catalog-nav{justify-content:flex-start}
.catalog nav.catalog-nav>a{display:inline-flex}
.catalog-nav a{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:9px 17px;border-radius:30px;background:#fff;color:#1d1d1f;font-size:14px;font-weight:600;text-decoration:none}
.catalog-nav a:hover{background:#e5e5ea}
.catalog-nav span{color:#6e6e73;font-size:12px}
.catalog-group{border-top:1px solid #d2d2d7;padding:42px 0 24px;scroll-margin-top:95px}
.catalog-group:target .catalog-group-heading h3{color:#0066cc}
.catalog-group-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px}
.catalog-group-heading .index{margin:0 0 9px}
.catalog-group-heading h3{font-size:clamp(25px,3vw,36px);letter-spacing:-.6px;margin:0}
.catalog-group-heading>p{margin:0;color:#6e6e73;font-size:15px}
.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.catalog-card{padding:0;border:0;border-radius:18px;background:#fff;color:#1d1d1f;text-align:left;cursor:pointer;overflow:hidden;box-shadow:0 1px 2px #0000000c}
.catalog-card:hover{box-shadow:0 5px 24px #00000017;transform:translateY(-2px)}
.catalog-card img{display:block;width:100%;aspect-ratio:1.2;object-fit:contain;background:#fff}
.catalog-card-text{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 15px}
.catalog-card-code{font-size:15px;font-weight:650;line-height:1.3}
.catalog-card-count{font-size:12px;color:#6e6e73;white-space:nowrap}
.catalog-more{display:block;min-height:44px;margin:24px auto 0;padding:9px 28px;border:1px solid #0071e3;border-radius:30px;background:transparent;color:#0066cc;font-size:15px;cursor:pointer}
.catalog-more[hidden]{display:none}
.catalog-status{grid-column:1/-1;color:#6e6e73;font-size:15px}
.catalog-dialog{width:min(980px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:20px;background:#fff;color:#1d1d1f;box-shadow:0 24px 80px #0004}
.catalog-dialog::backdrop{background:#000b}
.catalog-dialog-top,.catalog-dialog-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:14px 22px}
.catalog-dialog-top{border-bottom:1px solid #e5e5ea}
.catalog-dialog-top h2{font-size:22px;letter-spacing:-.4px;margin:0}
.catalog-close{width:44px;height:44px;border:0;border-radius:50%;background:#f5f5f7;color:#1d1d1f;font-size:30px;line-height:1;cursor:pointer}
.catalog-dialog-image{position:relative;display:flex;justify-content:center;align-items:center;background:#f7f7f9;min-height:220px}
.catalog-dialog-image img{display:block;max-width:100%;width:auto;max-height:calc(100dvh - 190px);object-fit:contain}
.catalog-prev,.catalog-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:#ffffffdf;color:#1d1d1f;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 2px 12px #0002}
.catalog-prev{left:12px}.catalog-next{right:12px}
.catalog-dialog-bottom{font-size:14px;color:#6e6e73}
.catalog-enquire,.catalog-3d{color:#0066cc;text-decoration:none}
.catalog-enquire:hover,.catalog-3d:hover{text-decoration:underline}
#acrylic-preview .product-image{background:#111;border-radius:16px;overflow:hidden;aspect-ratio:1.45}
#acrylic-preview .product-image img{mix-blend-mode:normal;object-fit:contain}
@media(max-width:950px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.catalog{margin:10px;border-radius:22px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-group{padding-top:32px}.catalog-group-heading{display:block}.catalog-group-heading>p{margin-top:6px}.catalog-card{border-radius:12px}.catalog-card img{aspect-ratio:1}.catalog-card-text{display:block;padding:9px 10px 12px}.catalog-card-code{font-size:14px}.catalog-card-count{display:block;margin-top:3px}.catalog-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:14px}.catalog-dialog-top,.catalog-dialog-bottom{padding:9px 13px}.catalog-dialog-top h2{font-size:18px}.catalog-dialog-image img{max-height:calc(100dvh - 155px)}.catalog-prev{left:5px}.catalog-next{right:5px}.catalog-enquire{font-size:13px}}
