/* -------------------------------
   Full-screen loader overlay
-------------------------------- */
.apps-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;

  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(255, 255, 255, 0.9); /* clean, neutral overlay */
  z-index: 9999; /* above everything */
}

/* Loader image */
.apps-loader-gif {
  width: 100px;
  height: auto;
}

/* -------------------------------
   Dim entire site behind loader
-------------------------------- */

/* When loader is active */
body.loader-active {
  overflow: hidden;
}

/* All body content except loader */
body.loader-active > *:not(#apps-wrapper),
#apps-wrapper {
  position: relative;
  z-index: 1;
}

/* Dim header, footer, main content */
body.loader-active header,
body.loader-active footer,
body.loader-active main,
body.loader-active #apps-results {
  opacity: 0.4;
  pointer-events: none; /* prevent interaction */
}

/* Ensure loader stays clean */
body.loader-active .apps-loader {
  opacity: 1;
  pointer-events: all;
}

/* -------------------------------
   CSS for heading.
-------------------------------- */
#available-applications-heading {
  text-align: center;
  padding: 50px 0;
}
@media (max-width: 1023px) {
  #available-applications-heading {
    padding: 20px 20px;
  }
}