/* Matrioska (QNGS) frontend */
.qngs{ position:relative; width:100%; }
.qngs__viewport{ overflow:hidden; }
.qngs__track{ display:flex; align-items:stretch; will-change:transform; scroll-behavior:smooth; }
.qngs__item{ flex:0 0 auto; }

/* Parent arrows: base, styles via inline */
.qngs__arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  border:none; border-radius:999px; cursor:pointer; z-index:5;
  display:flex; align-items:center; justify-content:center;
}

/* Inner gallery */
.qngs-gal{ position:relative; width:100%; background:rgba(255,255,255,.04); border-radius:16px; padding:12px; }
.qngs-gal__title{ font-weight:600; margin:0 0 8px; }
.qngs-gal__viewport{ overflow:hidden; border-radius:12px; }
.qngs-gal__track{ display:flex; gap:8px; }
.qngs-gal__slide{ flex:0 0 100%; }
.qngs-gal__img{ width:100%; height:auto; display:block; border-radius:12px; }

.qngs-gal__arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  border:none; border-radius:999px; cursor:pointer; z-index:6;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.95); color:#000; width:32px; height:32px;
}

.qngs-gal[data-inner-pos="inside"] .qngs-gal__arrow--prev{ left:10px; }
.qngs-gal[data-inner-pos="inside"] .qngs-gal__arrow--next{ right:10px; }
.qngs-gal[data-inner-pos="outside"] .qngs-gal__arrow--prev{ left:-20px; }
.qngs-gal[data-inner-pos="outside"] .qngs-gal__arrow--next{ right:-20px; }

/* Lightbox */
.qngs-lightbox{ position:fixed; inset:0; background:rgba(0,0,0,.9); display:flex; align-items:center; justify-content:center; z-index:99999; }
.qngs-lightbox img{ max-width:90vw; max-height:90vh; border-radius:8px; }
.qngs-lightbox__close{ position:absolute; top:16px; right:16px; font-size:28px; color:#fff; background:transparent; border:none; cursor:pointer; }
