/* Shared gallery component for all LP TechLabs product pages. Theme by CSS custom properties. */
.pl-gallery{--pl-accent:var(--product-accent,#60a5fa);--pl-tint:var(--product-tint,rgba(96,165,250,.13));--pl-edge:rgba(184,205,219,.19);--pl-text:#f3f7fb;--pl-muted:#aab9c5;color:var(--pl-text);width:100%;min-width:0;}
.pl-gallery *{box-sizing:border-box;}
.pl-gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;}
.pl-gallery-heading h2{margin:0;color:#f8fafc;font-size:clamp(1.5rem,2.5vw,2.45rem);letter-spacing:-.035em;font-weight:740;line-height:1.2;}
.pl-gallery-kicker{margin:0 0 10px!important;color:var(--pl-accent);font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:750;}
.pl-gallery-subtitle{margin:10px 0 0!important;color:var(--pl-muted);font-size:14px;line-height:1.5;max-width:620px;}
.pl-gallery-actions{display:flex;align-items:center;gap:8px;flex:none;}
.pl-gallery-count{min-width:66px;color:#c8d2dc;font-size:13px;font-weight:750;letter-spacing:.05em;font-variant-numeric:tabular-nums;text-align:center;}
.pl-gallery-control{border:1px solid var(--pl-edge);background:var(--pl-tint);color:#eaf8f5;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;cursor:pointer;transition:background .18s ease,border-color .18s ease;}
.pl-gallery-control:hover:not(:disabled){border-color:var(--pl-accent);background:rgba(125,182,183,.23);}
.pl-gallery-control:disabled{opacity:.35;cursor:default;}
.pl-gallery-control svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;}
.pl-gallery-track{display:flex;gap:17px;min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:5px 2px 16px;}
.pl-gallery-track::-webkit-scrollbar{display:none;}
.pl-gallery-slide{min-width:0;flex:0 0 clamp(240px,32vw,380px);margin:0;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;background:rgba(19,31,37,.78);border:1px solid var(--pl-edge);border-radius:20px;padding:10px 10px 13px;}
.pl-gallery--portrait .pl-gallery-slide{flex-basis:clamp(205px,22vw,245px);}
.pl-gallery-image-button{width:100%;display:block;background:#081216;border:0;padding:0;border-radius:13px;overflow:hidden;cursor:zoom-in;}
.pl-gallery-image-button img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;}
.pl-gallery--portrait .pl-gallery-image-button img{aspect-ratio:945/2048;object-fit:cover;background:#fff;}
.pl-gallery-slide figcaption{color:#d9e8e9;font-size:13px;line-height:1.45;padding:10px 5px 0;font-weight:620;min-height:32px;}
.pl-gallery-progress{height:3px;border-radius:99px;background:rgba(154,176,182,.19);overflow:hidden;margin-top:8px;}
.pl-gallery-progress span{height:100%;display:block;width:0;background:var(--pl-accent);border-radius:99px;transition:width .2s ease;}
.pl-gallery button:focus-visible,.pl-gallery-track:focus-visible{outline:3px solid var(--pl-accent);outline-offset:3px;}
/* Original image-viewer receives hidden sources; only the library controls its zoom UI. */
.pl-gallery-viewer-source{display:none!important;}
.image-viewer.image-viewer-show{z-index:9999!important;}
@media(max-width:650px){.pl-gallery-heading{flex-wrap:wrap;align-items:start;gap:13px;}.pl-gallery-actions{margin-left:auto}.pl-gallery-slide{flex-basis:min(77vw,320px)}.pl-gallery--portrait .pl-gallery-slide{flex-basis:min(65vw,260px)}}
@media(prefers-reduced-motion:reduce){.pl-gallery *{scroll-behavior:auto!important;transition:none!important;}}
