/* 우리집파트너 고객 화면의 단계 숫자 공통 반짝임 */
:is(
  .step-heading > span,
  .choice-section > header > span,
  .appliance-step-head > .step-number,
  .appliance-step-nav a > b,
  .repair-choice-copy > span,
  .repair-options-intro > span,
  .home-repair-details__heading > span,
  .repair-inline-schedule__heading > span,
  .signup-step > .step-number,
  .hero-steps li > span,
  .process-grid article > b
) {
  position: relative;
  isolation: isolate;
  overflow: visible;
  display: grid;
  place-items: center;
  color: #fff;
  border-radius: 11px;
  background: linear-gradient(110deg, #075d51 0%, #075d51 35%, #35c4a1 48%, #075d51 61%, #075d51 100%);
  background-size: 260% 100%;
  box-shadow: 0 5px 13px rgba(7, 93, 81, .2);
  text-decoration: none;
  animation: woorijib-step-shine 2.8s ease-in-out infinite;
  will-change: background-position, box-shadow;
}

:is(
  .step-heading > span,
  .choice-section > header > span,
  .appliance-step-head > .step-number,
  .appliance-step-nav a > b,
  .repair-choice-copy > span,
  .repair-options-intro > span,
  .home-repair-details__heading > span,
  .repair-inline-schedule__heading > span,
  .signup-step > .step-number,
  .hero-steps li > span,
  .process-grid article > b
)::after {
  content: "✦";
  position: absolute;
  z-index: 2;
  top: -8px;
  right: -6px;
  color: #f4c84d;
  font-size: 12px;
  line-height: 1;
  text-shadow: 0 0 7px rgba(255, 218, 91, .9);
  animation: woorijib-step-twinkle 1.4s ease-in-out infinite;
  will-change: opacity, transform;
}

.appliance-step-nav a > b,
.hero-steps li > span { width: 27px; height: 27px; flex: 0 0 27px; }
.process-grid article > b { width: 34px; min-height: 34px; }

.appliance-step:nth-child(2) .step-number::after,
.choice-section:nth-of-type(2) > header > span::after,
.signup-step:nth-child(2) > .step-number::after,
.process-grid article:nth-child(2) > b::after { animation-delay: .25s; }
.appliance-step:nth-child(3) .step-number::after,
.choice-section:nth-of-type(3) > header > span::after,
.signup-step:nth-child(3) > .step-number::after,
.process-grid article:nth-child(3) > b::after { animation-delay: .5s; }
.appliance-step:nth-child(4) .step-number::after,
.choice-section:nth-of-type(4) > header > span::after { animation-delay: .75s; }
.appliance-step:nth-child(5) .step-number::after { animation-delay: 1s; }

@keyframes woorijib-step-shine {
  0%, 34% { background-position: 100% 0; box-shadow: 0 5px 13px rgba(7, 93, 81, .18); }
  58% { background-position: 0 0; box-shadow: 0 5px 16px rgba(36, 188, 151, .38); }
  100% { background-position: 0 0; box-shadow: 0 5px 13px rgba(7, 93, 81, .18); }
}

@keyframes woorijib-step-twinkle {
  0%, 100% { opacity: .2; transform: scale(.55) rotate(0deg); }
  48% { opacity: 1; transform: scale(1.15) rotate(24deg); }
}

@media (prefers-reduced-motion: reduce) {
  :is(
    .step-heading > span,
    .choice-section > header > span,
    .appliance-step-head > .step-number,
    .appliance-step-nav a > b,
    .repair-choice-copy > span,
    .repair-options-intro > span,
    .home-repair-details__heading > span,
    .repair-inline-schedule__heading > span,
    .signup-step > .step-number,
    .hero-steps li > span,
    .process-grid article > b
  ) { animation-duration: 2.8s; }

  :is(
    .step-heading > span,
    .choice-section > header > span,
    .appliance-step-head > .step-number,
    .appliance-step-nav a > b,
    .repair-choice-copy > span,
    .repair-options-intro > span,
    .home-repair-details__heading > span,
    .repair-inline-schedule__heading > span,
    .signup-step > .step-number,
    .hero-steps li > span,
    .process-grid article > b
  )::after { animation-duration: 1.4s; }
}
