
@keyframes locPinPulse { 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.06); } }
.loc-pin-pulse { animation: locPinPulse 1.6s ease-in-out infinite; }
@keyframes locTapPulse {
  0%   { transform: scale(0.85); opacity: 0.9; box-shadow: 0 0 0 0 rgba(232,90,36,.55); }
  70%  { transform: scale(1.15); opacity: 1;   box-shadow: 0 0 0 22px rgba(232,90,36,0); }
  100% { transform: scale(0.85); opacity: 0.9; box-shadow: 0 0 0 0 rgba(232,90,36,0); }
}
@keyframes locArrowNudge {
  0%,100% { transform: translateX(0); }
  50%     { transform: translateX(-8px); }
}
@keyframes locFingerTap {
  0%,100% { transform: translate(0,0) scale(1); opacity: 0.95; }
  45%     { transform: translate(-4px,-4px) scale(0.86); opacity: 1; }
  55%     { transform: translate(-4px,-4px) scale(0.86); opacity: 1; }
}
@keyframes locToggleSlide {
  0%,15%  { transform: translateX(0); background:#D1D5DB; }
  55%,100%{ transform: translateX(22px); background:#1B8C3C; }
}
@keyframes locStepIn {
  0%   { opacity: 0; transform: translateY(14px); }
  100% { opacity: 1; transform: translateY(0); }
}
.lt-tap {
  position:absolute; width:44px; height:44px; border-radius:50%;
  background:rgba(232,90,36,.30); border:3px solid #E85A24;
  animation: locTapPulse 1.6s ease-in-out infinite;
  pointer-events:none; z-index:2;
}
.lt-arrow {
  position:absolute; z-index:2; color:#E85A24;
  filter: drop-shadow(0 4px 10px rgba(232,90,36,.55));
  animation: locArrowNudge 1.2s ease-in-out infinite;
  pointer-events:none;
}
.lt-badge {
  position:absolute; z-index:3; background:#E85A24; color:#fff;
  width:30px; height:30px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-weight:900; font-family:'Outfit',sans-serif; font-size:15px;
  box-shadow:0 6px 14px -4px rgba(232,90,36,.55);
  pointer-events:none;
}
.lt-panel { animation: locStepIn .35s cubic-bezier(.2,.7,.3,1); }
