.has-particles {
  position: relative;
  overflow: hidden;
  isolation: isolate;

  /* mažiau repaintų aplinkui */
  contain: layout paint;
}

/* particles layer */
.has-particles > .theme-particles {
  position: absolute;
  inset: -6%;               /* buvo -10% -> mažiau render ploto */
  z-index: 2;
  pointer-events: none;

  opacity: 0.9;

  /* GPU hint’ai */
  transform: translateZ(0);
  will-change: transform, opacity;
}


/* Turinio stacking */
.has-particles > .e-con-inner,
.has-particles > .elementor-container {
  position: relative;
  z-index: 3;
}

/* ------- Performance režimai ------- */

/* Blur/contrast yra brangu – paliekam tik desktop */
@media (min-width: 769px) {
  .has-particles > .theme-particles {
    filter: blur(0.35px) contrast(1.05);
  }
}

/* Mobile: dar mažiau efektų */
@media (max-width: 768px) {
  .has-particles > .theme-particles {
    inset: -4%;
    opacity: 0.8;
    filter: none;
  }

  .has-particles::before {
    inset: -8%;
    animation-duration: 16s; /* lėčiau = mažiau “judesio” */
    opacity: 0.9;
  }
}

/* Reduced motion: sustabdom animaciją ir nuimam “brangius” dalykus */
@media (prefers-reduced-motion: reduce) {
  .has-particles::before {
    animation: none;
    transform: none;
  }
  .has-particles > .theme-particles {
    filter: none;
    transform: none;
    will-change: auto;
  }
}