/**
 * Diagonal shine sweep on section badges (continuous L→R), inspired by crushwithme.com
 */

.ec-badge-shine,
:is(
  [class*="__badge"],
  [class$="_badge"],
  [class$="badge"],
  span.badge,
  div.badge
) {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.ec-badge-shine::after,
:is(
  [class*="__badge"],
  [class$="_badge"],
  [class$="badge"],
  span.badge,
  div.badge
)::after {
  content: "";
  position: absolute;
  top: -40%;
  left: 0;
  width: 42%;
  height: 180%;
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(
    115deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.08) 32%,
    rgba(255, 255, 255, 0.72) 50%,
    rgba(255, 255, 255, 0.08) 68%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: translateX(-130%) skewX(-20deg);
  animation: ecBadgeDiagonalShine 1.1s linear infinite;
  will-change: transform;
}

/* Light-background badges: subtle brand-tinted flash */
:is(
  .career_why_join_us__why_join_us_badge,
  .open_positions__open_positions_badge,
  .career_our_work_culture__our_work_culture_badge,
  .career_hiring_process__hiring_process_badge,
  .career_contact_us__contact_us_badge,
  .about_header_section__about_header_badge,
  .about_company_overview__about_company_overview_badge,
  .about_vision_mission_badge,
  .about_leadership_section__about_leadership_badge,
  .faq_header_section__faq_header_badge,
  .faq_contact_us__contact_us_badge,
  .contact_us_page_contact_us__contact_us_badge,
  .digital_solution_badge,
  .innovation_lab_about__badge
)::after {
  background: linear-gradient(
    115deg,
    rgba(49, 49, 255, 0) 0%,
    rgba(49, 49, 255, 0.06) 32%,
    rgba(255, 255, 255, 0.85) 50%,
    rgba(49, 49, 255, 0.08) 68%,
    rgba(49, 49, 255, 0) 100%
  );
}

@keyframes ecBadgeDiagonalShine {
  0% {
    transform: translateX(-130%) skewX(-20deg);
  }

  100% {
    transform: translateX(320%) skewX(-20deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ec-badge-shine::after,
  :is(
    [class*="__badge"],
    [class$="_badge"],
    [class$="badge"],
    span.badge,
    div.badge
  )::after {
    animation: none;
    opacity: 0;
  }
}
