/* Independent CNC catalog rendering – no manufacturer URLs or source overlays. */
#cnc .cncFilters{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}
#cnc .cncFilters input{grid-column:1/-1;min-height:43px}
#cnc .cncFilters select{min-width:0;padding:11px 8px;font-size:13px}
#cnc .cncCatalogGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:12px}
#cnc .cncCatalogCard{min-width:0;background:#fff;border:1px solid #e4e7e3;border-radius:14px;padding:9px;display:flex;flex-direction:column;align-items:stretch;text-align:center;color:#203b31;cursor:pointer;overflow:hidden;box-shadow:0 2px 9px #17342b0b}
#cnc .cncCatalogCard:hover{border-color:#b59657}
#cnc .cncCatalogCard:focus-visible{outline:3px solid #bc9951;outline-offset:2px}
#cnc .cncCatalogCard img{display:block;width:100%;height:170px;object-fit:contain;background:#f6f7f5;border-radius:9px}
#cnc .cncCatalogCard strong{font-size:12px;line-height:1.4;margin-top:8px}
#cnc .cncCatalogCard small{font-size:11px;color:#63786c;line-height:1.35;margin-top:3px}
#cnc .cncCatalogCount{font-size:12px;color:#697a71;line-height:1.5}
#cnc .cncLoading{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:190px;gap:9px;background:#fafbf9;border:1px solid #e3e8e3;border-radius:15px;text-align:center;padding:25px;color:#294538}
#cnc .cncLoading strong{font-size:15px}
#cnc .cncLoading small{font-size:12px;color:#738578}
#cnc .cncLoader{width:32px;height:32px;border-radius:50%;border:3px solid #e5e5dc;border-top-color:#b99548;animation:cncSpin 650ms linear infinite}
@keyframes cncSpin{to{transform:rotate(360deg)}}
#cncDetailDialog{border-radius:18px;border:1px solid #dfe7e0;max-width:510px;width:min(94vw,510px);padding:20px;background:#fff;color:#294336;max-height:90vh;overflow:auto}
#cncDetailDialog::backdrop{background:#071912aa}
#cncDetailDialog .cncDetailVisual{background:#f6f8f7;text-align:center;border-radius:12px;padding:8px;margin:12px 0}
#cncDetailDialog .cncDetailVisual img{max-width:100%;max-height:54vh;object-fit:contain}
#cncDetailDialog .cncDetailMeta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;color:#617569;font-size:12px}
#cncDetailDialog .btn.primary{width:100%;margin-top:10px}
@media(min-width:760px){#cnc .cncCatalogGrid{grid-template-columns:repeat(4,minmax(0,1fr))}#cnc .cncCatalogCard img{height:220px}}
