/* Laser Port catalog recovery — keeps the live data/filter logic intact. */
.catalog-page{background:#f6f6f3;color:#191919}
.catalog-page>.nav{background:rgba(255,255,255,.94);border-bottom:1px solid #e7e7e2;position:sticky;top:0;z-index:40;backdrop-filter:blur(14px)}
.catalog-page>h1{width:min(1440px,calc(100% - 64px));margin:0 auto;padding:76px 0 48px;text-align:left;font-size:clamp(52px,7vw,104px);font-weight:600;line-height:.92;letter-spacing:-.065em}
.catalog-layout{width:min(1440px,calc(100% - 64px));margin:0 auto;padding:0 0 100px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:44px;align-items:start}
.catalog-layout aside{position:sticky;top:112px;display:flex;max-height:calc(100vh - 136px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;gap:32px;padding:24px 14px 24px 20px;border:1px solid #e2e2dc;border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(20,20,20,.05)}
.catalog-layout aside::-webkit-scrollbar{width:6px}
.catalog-layout aside::-webkit-scrollbar-thumb{border-radius:999px;background:#d1d1ca}
.catalog-layout aside::-webkit-scrollbar-track{background:transparent}
.catalog-filter-group{display:flex;flex-direction:column;align-items:stretch;gap:4px}
.catalog-filter-group>span{display:block;margin:0 10px 10px;color:#999;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.catalog-layout aside button{width:100%;padding:10px;border:0;border-radius:12px;background:transparent;color:#62625f;text-align:left;font-size:13px;line-height:1.35;cursor:pointer;transition:.18s ease}
.catalog-layout aside button:hover{background:#f3f3ef;color:#191919}
.catalog-layout aside button.active{background:#1d1d1b;color:#fff}
.catalog-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.catalog-card{display:flex;min-width:0;flex-direction:column;padding:14px 14px 22px;border:1px solid #e3e3dd;border-radius:26px;background:#fff;box-shadow:0 14px 42px rgba(20,20,20,.045);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.catalog-card:hover{transform:translateY(-5px);border-color:#cfcfc7;box-shadow:0 24px 56px rgba(20,20,20,.09)}
.catalog-card>div{position:relative;height:310px;overflow:hidden;border-radius:19px;background:linear-gradient(145deg,#fafaf8,#ededE8)}
.catalog-card img{width:100%;height:100%;padding:18px;object-fit:contain;filter:drop-shadow(0 18px 22px rgba(20,20,20,.12))}
.catalog-card>div.image-missing::after{content:'LASER PORT';position:absolute;inset:0;display:grid;place-items:center;color:#c4c4be;font-size:16px;font-weight:700;letter-spacing:.18em}
.catalog-card>div span{position:absolute;top:14px;right:14px;z-index:2;display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:#ef7187;color:#fff;font-size:10px;font-weight:700;text-transform:uppercase}
.catalog-card h2{margin:20px 5px 10px;font-size:17px;font-weight:600;line-height:1.35;letter-spacing:-.025em}
.catalog-card p{margin:auto 5px 0;color:#777773;font-size:12px;line-height:1.45}
#catalog-category-content{width:min(1120px,calc(100% - 64px))!important;margin:0 auto 90px!important;padding:48px!important;border:1px solid #e2e2dc!important;border-radius:26px;background:#fff}
#catalog-category-content h2{font-size:32px;letter-spacing:-.04em}
#catalog-category-content p{color:#62625f;line-height:1.75}
@media(max-width:1120px){.catalog-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-layout{grid-template-columns:210px minmax(0,1fr);gap:28px}}
@media(max-width:760px){
  .catalog-page>.nav{position:relative}
  .catalog-page>h1{width:calc(100% - 28px);padding:46px 0 34px;font-size:54px}
  .catalog-layout{width:calc(100% - 28px);grid-template-columns:1fr;gap:24px;padding-bottom:64px}
  .catalog-layout aside{position:relative;top:auto;max-height:none;overflow:visible;scrollbar-gutter:auto;gap:18px;padding:16px;border-radius:20px}
  .catalog-filter-group{flex-direction:row;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
  .catalog-filter-group::-webkit-scrollbar{display:none}
  .catalog-filter-group>span{position:sticky;left:0;flex:0 0 auto;margin:0;padding:11px 12px 0 2px;background:#fff}
  .catalog-layout aside button{flex:0 0 auto;width:auto;white-space:nowrap}
  .catalog-cards{grid-template-columns:1fr;gap:16px}
  .catalog-card>div{height:330px}
  #catalog-category-content{width:calc(100% - 28px)!important;padding:28px 20px!important;margin-bottom:60px!important}
}
