/* Nikita's icon treatment and motion for the product-status overlays. */

:where(.status-note-icon, .status-note-icon *, .status-note-route, .status-note-route *, .status-note-dot, .status-note-dot *) {
  all: revert;
  box-sizing: border-box;
}

.status-note-icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: var(--blue-soft);
  color: var(--blue-deep);
}

.status-note-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.status-note-icon-warm {
  background: #fcf0d8;
  color: #bd7f0a;
}

.status-note-route {
  display: grid;
  place-items: center;
  flex: none;
  width: 72px;
  height: 42px;
  border-radius: 14px;
  background: var(--blue-soft);
}

.status-note-route svg {
  width: 58px;
  height: 33px;
  fill: none;
  stroke: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.walk-route {
  stroke: var(--blue);
  stroke-width: 2.6;
  stroke-dasharray: 0.5 6.5;
}

.walk-waypoint,
.walk-pin {
  fill: var(--blue);
}

.walk-pin-center {
  fill: #fff;
}

.status-note-dot {
  flex: none;
  width: 8px;
  height: 8px;
  margin-left: auto;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(53, 165, 110, 0.16);
}

.status-note-dot-warm {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0;
  background: #e2a21b;
  box-shadow: none;
}

.status-note {
  animation: note-float 7s ease-in-out infinite;
}

.status-note:nth-child(2) {
  animation-delay: -2.3s;
}

.status-note:nth-child(3) {
  animation-delay: -4.6s;
}

@keyframes note-float {
  50% {
    translate: 0 -5px;
  }
}

@media (min-width: 1101px) {
  .product-status-intro {
    transform: translateX(clamp(-76px, -4.5vw, -40px));
  }

  .status-note-home {
    top: 2px;
  }

  .status-note-movement {
    top: 50%;
    transform: translateY(-50%) rotate(1.7deg);
  }

  .status-note-walk {
    bottom: 4px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .status-note {
    animation: none;
  }
}
