/* Luminárias integradas à calçada */
.street-layer .street-lamp {
  position: absolute;
  bottom: 0;
  z-index: 12;
  pointer-events: none;
  width: 0;
}

.street-lamp .lamp-pool {
  position: absolute;
  bottom: 2px;
  left: 0;
  transform: translateX(-50%);
  width: 70px;
  height: 28px;
  background: radial-gradient(
    ellipse 80% 100% at 50% 100%,
    rgba(255, 210, 130, 0.22) 0%,
    rgba(255, 200, 100, 0.08) 45%,
    transparent 72%
  );
  border-radius: 50%;
  z-index: 1;
}

.street-lamp .lamp-pole {
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateX(-50%);
  width: 4px;
  height: 27%;
  background: linear-gradient(90deg, #2a2a32, #4a4a54 50%, #2a2a32);
  border-radius: 2px 2px 0 0;
  z-index: 3;
  box-shadow: 1px 0 2px rgba(0, 0, 0, 0.3);
}

.street-lamp .lamp-arm {
  position: absolute;
  bottom: 27%;
  left: 0;
  width: 22px;
  height: 3px;
  margin-bottom: -1px;
  background: #3d3d48;
  border-radius: 2px;
  z-index: 4;
}

.street-lamp .lamp-head {
  position: absolute;
  bottom: calc(27% + 10px);
  left: 18px;
  width: 14px;
  height: 10px;
  background: #35353f;
  border-radius: 3px 3px 2px 2px;
  z-index: 5;
}

.street-lamp .lamp-bulb {
  position: absolute;
  inset: 1px 2px 2px 2px;
  background: #fff4c8;
  border-radius: 2px 2px 50% 50%;
  box-shadow:
    0 0 8px rgba(255, 220, 150, 0.9),
    0 0 18px rgba(255, 200, 100, 0.45);
  animation: lamp-flicker 6s ease-in-out infinite;
}

@keyframes lamp-flicker {
  0%, 92%, 100% { opacity: 1; }
  94% { opacity: 0.88; }
  96% { opacity: 1; }
}

/* Posições na calçada (acima do meio-fio) */
.street-lamp.lamp-1 { left: 10%; }
.street-lamp.lamp-2 { left: 30%; }
.street-lamp.lamp-3 { left: 50%; }
.street-lamp.lamp-4 { left: 70%; }
.street-lamp.lamp-5 { left: 90%; }

/* Desliga visual antigo se ainda existir */
.street-layer .lamp-post:not(.street-lamp) {
  display: none;
}

.scene.phase-day .street-lamp .lamp-pool {
  opacity: 0.35;
}
.scene.phase-day .street-lamp .lamp-bulb {
  box-shadow: 0 0 4px rgba(255, 240, 200, 0.5);
}
