/* PROEX catalog gallery + lightbox */
.cat-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}
.cat-meta{display:flex;gap:30px;flex-wrap:wrap;margin-top:40px;padding-top:26px;border-top:1px solid var(--line);}
.cat-meta div{display:flex;flex-direction:column;gap:2px;}
.cat-meta b{font-size:24px;color:var(--navy);font-weight:700;letter-spacing:-.02em;line-height:1;}
.cat-meta span{font-size:12.5px;color:var(--muted);letter-spacing:.03em;}

.gallery{column-gap:22px;}
.gallery .shot{break-inside:avoid;margin-bottom:22px;border:1px solid var(--line);border-radius:8px;overflow:hidden;
  background:#fff;cursor:zoom-in;transition:.3s var(--ease);position:relative;display:block;width:100%;}
.gallery .shot:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--blue-2);}
.gallery .shot img{width:100%;height:auto;display:block;}
.gallery .shot .pg{position:absolute;top:10px;left:10px;background:rgba(0,49,79,.82);color:#fff;
  font-size:10.5px;font-weight:700;letter-spacing:.06em;padding:4px 9px;border-radius:100px;opacity:0;transition:.25s;}
.gallery .shot:hover .pg{opacity:1;}

@media (min-width:1500px){.gallery{column-count:4;}}
@media (min-width:1000px) and (max-width:1499px){.gallery{column-count:3;}}
@media (min-width:620px) and (max-width:999px){.gallery{column-count:2;}}
@media (max-width:619px){.gallery{column-count:1;}}

/* lightbox */
.lb{position:fixed;inset:0;z-index:1000;background:rgba(6,20,32,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s var(--ease);}
.lb.open{opacity:1;pointer-events:auto;}
.lb img{max-width:min(92vw,1100px);max-height:88vh;border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.lb-btn{position:absolute;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;
  width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;
  font-size:22px;transition:.2s;backdrop-filter:blur(4px);}
.lb-btn:hover{background:rgba(255,255,255,.24);}
.lb-prev{left:max(16px,3vw);top:50%;transform:translateY(-50%);}
.lb-next{right:max(16px,3vw);top:50%;transform:translateY(-50%);}
.lb-close{top:22px;right:22px;width:46px;height:46px;font-size:18px;}
.lb-count{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:#fff;font-size:13px;font-weight:700;
  letter-spacing:.06em;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:7px 16px;border-radius:100px;}
@media (max-width:620px){.lb-prev{left:8px;}.lb-next{right:8px;}.lb-btn{width:44px;height:44px;}}

/* ============ branded product cards (data-driven catalog) ============ */
.cat-empty{color:var(--muted);font-size:15px;padding:40px 0;}
.subcat{margin-bottom:64px;}
.subcat:last-child{margin-bottom:0;}
.subcat-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;
  padding-bottom:16px;margin-bottom:30px;border-bottom:2px solid var(--navy);}
.subcat-head h3{font-size:clamp(20px,2.4vw,28px);color:var(--navy);letter-spacing:-.02em;line-height:1;}
.subcat-note{display:inline-block;margin-top:7px;font-size:13px;font-weight:600;color:var(--blue);letter-spacing:.02em;}
.subcat-count{flex:none;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);background:var(--paper-2);border:1px solid var(--line);padding:6px 13px;border-radius:100px;}

.pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:22px;}

.pcard{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--blue-2);}
.pcard.is-disc{opacity:.62;}

.pc-stage{position:relative;aspect-ratio:1/1;overflow:hidden;
  background:linear-gradient(155deg,#f6fafd 0%,#eaf1f9 55%,#dde9f6 100%);
  display:flex;align-items:center;justify-content:center;}
.pc-stage::before{content:"";position:absolute;width:118%;height:60%;left:-9%;top:34%;
  background:radial-gradient(ellipse at center,rgba(0,73,144,.10),transparent 68%);}
.pc-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;
  padding:9% 13%;box-sizing:border-box;
  filter:drop-shadow(0 16px 22px rgba(20,52,92,.26));transition:transform .45s var(--ease),opacity .35s var(--ease);}
.pcard:hover .pc-stage img{transform:scale(1.04) translateY(-4px);}
.pc-noimg{position:relative;color:var(--muted);font-weight:700;font-size:15px;letter-spacing:.04em;}

.pc-badge{position:absolute;top:12px;left:12px;z-index:3;font-size:10.5px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;padding:5px 10px;border-radius:100px;color:#fff;}
.pc-new{background:var(--blue);}
.pc-disc{background:#8a93a0;}

/* hover slide-up panel */
.pc-hover{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;
  padding:18px;background:linear-gradient(to top,rgba(0,28,49,.94) 38%,rgba(0,40,70,.55) 72%,rgba(0,49,79,0));
  color:#fff;opacity:0;transform:translateY(14px);transition:opacity .32s var(--ease),transform .32s var(--ease);pointer-events:none;}
.pcard:hover .pc-hover,.pcard.show-hover .pc-hover{opacity:1;transform:translateY(0);}
.pc-specs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;}
.pc-specs li{font-size:13px;line-height:1.35;padding-left:15px;position:relative;color:#eaf2fb;}
.pc-specs li::before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--sky);}
.pc-feats{display:flex;flex-wrap:wrap;gap:7px;border-top:1px solid rgba(255,255,255,.18);padding-top:13px;}
.pc-feat{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;
  background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16);border-radius:100px;padding:4px 9px 4px 7px;}
.pc-feat svg{width:14px;height:14px;flex:none;}
.pc-feat em{font-style:normal;letter-spacing:.01em;}

.pc-meta{padding:15px 16px 17px;border-top:1px solid var(--line);}
.pc-meta h4{font-size:17px;color:var(--navy);letter-spacing:-.01em;line-height:1.1;}
.pc-meta p{font-size:13px;color:var(--muted);margin-top:3px;}
.pc-note{display:block;margin-top:6px;font-size:11.5px;color:var(--blue);font-style:italic;}

@media (hover:none){
  .pc-feat em{display:inline;}
  .pcard .pc-hint{display:block;}
}
@media (max-width:560px){
  .pc-grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:14px;}
  .pc-feat em{display:none;}
  .pc-feat{padding:5px;}
}
