textarea.form-control-lg {
  padding: 1.125rem !important;
}
.line-clamp-3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.line-clamp-1 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
/* hide scrollbar but keep scrolling */
.scrollbar-hidden {
  overflow: auto; /* or overflow: scroll; as needed */
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}

/* Chrome, Safari, Opera */
.scrollbar-hidden::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.img-filter-saturate {
  filter: saturate(1.2) !important;
}
.gslide-title {
  text-align: center;
  font-family: "Inter", sans-serif !important;
}
.cursor-hover-scale {
  transition: transform 0.3s cubic-bezier(0, 0, 0.5, 1);
  transition: all 0.2s cubic-bezier(0, 0, 0.5, 1);
}
.cursor-hover-scale:hover {
  transform: scale(1.0161290323);
}

/* For screens 992px and larger: use absolute positioning with center transforms */
@media (min-width: 992px) {
  .header-lg-positioning-center {
    position: absolute !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin-left: auto;
    margin-right: auto;
  }
  .w-lg-auto {
    width: auto !important;
  }
  .shadow-lg {
    box-shadow: var(--fn-box-shadow-lg) !important;
  }

  .border-lg {
    border: var(--fn-border-width) var(--fn-border-style) var(--fn-border-color) !important;
  }

  /* Custom responsive widths for form selects */
  .w-lg-100px {
    width: 100px !important;
  }
  .w-lg-150px {
    width: 150px !important;
  }
  .w-lg-200px {
    width: 200px !important;
  }
  .w-lg-250px {
    width: 250px !important;
  }
  .w-lg-300px {
    width: 300px !important;
  }
}
.text-progressing {
  /* main tone: #1d1d1f with brighter highs for stronger contrast */
  background: radial-gradient(
    circle at 100%,
    #101012 0%,
    #161619 12%,
    #1d1d1f 24%,
    #2a2a2e 36%,
    #3a3a3f 46%,
    #545458 54%,
    #6e6e73 60%,
    /* lighter peak for visibility */ #545458 66%,
    #3a3a3f 74%,
    #2a2a2e 86%,
    #161619 100%
  );
  background-size: 200% auto;
  color: #1d1d1f; /* fallback */
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: animatedTextGradient 1.5s linear infinite;
}

@keyframes animatedTextGradient {
  to {
    background-position: 200% center;
  }
}

/* Dark pagination for swipers - uses #1d1d1f instead of white colors */
.swiper-pagination-dark > .swiper-pagination-bullet-active {
  background-color: rgba(29, 29, 31, 1);
}

.swiper-pagination-dark > .swiper-pagination-bullet {
  background-color: rgba(29, 29, 31, 0.3);
}