body{margin:0;font-family:Inter,Arial;background:#071014;color:#dfe7e3}
.insights-header{padding:18px;border-bottom:1px solid rgba(255,255,255,0.03);display:flex;align-items:center;gap:12px}
.insights-main{max-width:1100px;margin:20px auto;padding:18px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.gitem{overflow:visible;border-radius:12px;background:#0e0f10;border:1px solid rgba(255,255,255,0.02)}
.gitem img{width:100%;height:auto;object-fit:contain;display:block;border-radius:8px;}
.gitem.empty{display:none}

/* Modern back button */
.back-btn{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  color:#dfe7e3;
  cursor:pointer;
  transition:
    transform .2s ease,
    background .2s ease,
    box-shadow .2s ease;
}

.back-btn:hover{
  background:rgba(255,255,255,0.08);
  transform:translateX(-2px);
  box-shadow:0 6px 20px rgba(0,0,0,.45);
}

.back-btn:active{
  transform:scale(0.95);
}

/* Slider wrapper */
.slider{
  position:relative;
  overflow:hidden;
}

/* Horizontal image track */
.slider-track{
  display:flex;
  gap:12px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

.slider-track::-webkit-scrollbar{
  display:none;
}

.slider-track img{
  flex:0 0 100%;
  scroll-snap-align:center;
}

/* Dots */
.slider-dots{
  display:flex;
  justify-content:center;
  gap:6px;
  margin-top:10px;
  margin-bottom:10px;
}

.slider-dots span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:rgba(255,255,255,0.3);
  transition:background .25s, transform .25s;
}

.slider-dots span.active{
  background:#9BC4BC;
  transform:scale(1.2);
}

/* Loader wrapper */
.loader-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:60px 0;
}

/* Circular spinner */
.spinner{
  width:46px;
  height:46px;
  border-radius:50%;
  border:4px solid rgba(255,255,255,0.15);
  border-top-color:#9BC4BC;
  animation:spin 1s linear infinite;
}

/* Spin animation */
@keyframes spin{
  to{ transform:rotate(360deg); }
}
