/* ============ ГАЛЕРЕЯ: КОЛОДЫ КАРТОЧЕК ============ */
.gal{padding-block:var(--sec)}
.deck{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
  gap:clamp(16px,2vw,34px);cursor:grab;scrollbar-width:none;-ms-overflow-style:none;
  scroll-behavior:smooth;padding-bottom:2px}
.deck::-webkit-scrollbar{display:none}
.deck.drag{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none}
.page{flex:0 0 100%;scroll-snap-align:start;display:grid;align-content:start;
  grid-template-columns:repeat(3,1fr);gap:clamp(11px,1.2vw,18px)}
.gcard{position:relative;border:0;padding:0;border-radius:var(--r-md);overflow:hidden;cursor:pointer;
  background:rgba(10,26,32,.4);box-shadow:0 0 0 1px rgba(187,255,222,.10);
  transition:transform var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}
.gcard:hover{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(187,255,222,.4),0 18px 46px rgba(0,0,0,.45)}
.gcard img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;
  transition:transform .55s var(--ease)}
.gcard:hover img{transform:scale(1.05)}
.gcard .zoom{position:absolute;top:var(--s2);right:var(--s2);width:30px;aspect-ratio:1;border-radius:50%;
  border:0;background:rgba(9,24,30,.6);backdrop-filter:blur(10px);box-shadow:0 0 0 1px rgba(187,255,222,.25);
  display:grid;place-items:center;opacity:0;transform:scale(.85);
  transition:opacity var(--fast),transform var(--fast)}
.gcard:hover .zoom{opacity:1;transform:none}
.gcard .zoom svg{width:13px;height:13px;fill:none;stroke:var(--mint);stroke-width:2;stroke-linecap:round}
.gnav{display:flex;align-items:center;gap:var(--s3);margin-top:var(--s4)}
.garr{width:clamp(46px,4.2vw,60px);aspect-ratio:1;border-radius:50%;border:0;cursor:pointer;
  background:rgba(14,38,47,.5);backdrop-filter:blur(14px);box-shadow:0 0 0 1px rgba(187,255,222,.22);
  display:grid;place-items:center;transition:background var(--fast),transform .2s,box-shadow var(--fast)}
.garr:hover{background:var(--mint);box-shadow:0 0 0 1px var(--mint)}
.garr:active{transform:scale(.95)}
.garr:disabled{opacity:.3;cursor:default;background:rgba(14,38,47,.5)}
.garr svg{width:34%;height:34%;fill:none;stroke:var(--mint);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.garr:hover svg{stroke:var(--ink)}
.gdots{display:flex;gap:9px;margin-left:var(--s1)}
.gdot{width:9px;aspect-ratio:1;border-radius:50%;border:1.5px solid var(--mint2);background:transparent;
  cursor:pointer;padding:0;transition:.3s var(--ease)}
.gdot.on{background:var(--mint);border-color:var(--mint);transform:scale(1.3);box-shadow:0 0 12px rgba(187,255,222,.5)}
.gcount{margin-left:auto;font-size:var(--t-xs);letter-spacing:.22em;color:var(--mint2);font-variant-numeric:tabular-nums}

/* лайтбокс */
.lb{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  background:rgba(5,16,21,.9);backdrop-filter:blur(26px) saturate(115%);-webkit-backdrop-filter:blur(26px) saturate(115%);
  opacity:0;visibility:hidden;transition:opacity var(--fast) var(--ease),visibility var(--fast)}
.lb.on{opacity:1;visibility:visible}
.lb figure{max-width:min(1280px,90vw);max-height:86vh;display:flex;flex-direction:column;gap:var(--s3)}
.lb img{max-width:100%;max-height:72vh;object-fit:contain;border-radius:var(--r-md);
  box-shadow:0 30px 90px rgba(0,0,0,.6)}
.lbbtn{position:absolute;width:clamp(44px,3.8vw,56px);aspect-ratio:1;border-radius:50%;
  border:0;background:rgba(14,38,47,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 0 0 1px rgba(187,255,222,.14);cursor:pointer;display:grid;place-items:center;
  transition:background var(--fast),border-color var(--fast),transform .2s}
.lbbtn:hover{background:var(--mint);border-color:var(--mint);transform:scale(1.05)}
.lbbtn svg{width:36%;height:36%;fill:none;stroke:var(--mint);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.lbbtn:hover svg{stroke:var(--ink)}
#lbprev{left:clamp(12px,2.6vw,40px)}
#lbnext{right:clamp(12px,2.6vw,40px)}
#lbclose{top:clamp(14px,2.2vw,28px);right:clamp(12px,2.6vw,40px)}
.lbcount{position:absolute;bottom:clamp(16px,2.2vw,26px);left:50%;transform:translateX(-50%);
  color:var(--mint2);font-size:var(--t-xs);letter-spacing:.24em;font-variant-numeric:tabular-nums}
