/* Warehouse demo — 7 department zones (GPU-friendly) */

.warehouse-svg .dept-zone {
  transition: opacity 0.35s ease;
}

.warehouse-svg .dept-floor {
  animation: dept-breathe 4s ease-in-out infinite;
  transform-origin: center;
  transform-box: fill-box;
}

.dept-zone[data-dept="lab"] .dept-floor {
  animation-delay: 0s;
}
.dept-zone[data-dept="assembly"] .dept-floor {
  animation-delay: 0.35s;
}
.dept-zone[data-dept="qc"] .dept-floor {
  animation-delay: 0.7s;
}
.dept-zone[data-dept="marketing"] .dept-floor {
  animation-delay: 1.05s;
}
.dept-zone[data-dept="auto"] .dept-floor {
  animation-delay: 1.4s;
}
.dept-zone[data-dept="night"] .dept-floor {
  animation-delay: 1.75s;
}
.dept-zone[data-dept="slm"] .dept-floor {
  animation-delay: 2.1s;
}

@keyframes dept-breathe {
  0%,
  100% {
    opacity: 0.88;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.02);
  }
}

.warehouse-svg .dept-zone.active .dept-floor {
  opacity: 1 !important;
  transform: scale(1.04);
  animation: none;
}

.warehouse-svg .dept-zone.active .dept-glow {
  opacity: 0.5 !important;
  animation: dept-pulse-glow 1.5s ease-in-out infinite;
}

@keyframes dept-pulse-glow {
  0%,
  100% {
    opacity: 0.35;
  }
  50% {
    opacity: 0.65;
  }
}

.warehouse-svg .dept-minions {
  transition: opacity 0.45s ease;
}

.warehouse-svg .dept-zone.active .dept-minions {
  opacity: 1 !important;
}

.warehouse-svg .dept-zone.active .dept-head {
  transform: translateY(3px);
  transition: transform 0.35s ease;
}

.warehouse-svg .dept-head {
  transition: transform 0.35s ease;
}

.dept-zone .minion-1 {
  animation: minion-work-a 1.2s ease-in-out infinite;
}

.dept-zone .minion-2 {
  animation: minion-work-b 1.45s ease-in-out infinite;
}

@keyframes minion-work-a {
  0%,
  100% {
    transform: translateY(0) rotate(-2deg);
  }
  50% {
    transform: translateY(-3px) rotate(2deg);
  }
}

@keyframes minion-work-b {
  0%,
  100% {
    transform: translateY(0) rotate(2deg);
  }
  50% {
    transform: translateY(-2px) rotate(-2deg);
  }
}

.signal-line {
  stroke-dasharray: 500;
  stroke-dashoffset: 500;
  transition: opacity 0.25s ease;
}

.signal-line.animating {
  opacity: 1 !important;
  animation: signal-draw 1s ease forwards;
}

@keyframes signal-draw {
  to {
    stroke-dashoffset: 0;
  }
}

.result-item {
  animation: fadeInResult 0.45s ease forwards;
  opacity: 0;
}

.result-item:nth-child(1) {
  animation-delay: 0.08s;
}
.result-item:nth-child(2) {
  animation-delay: 0.16s;
}
.result-item:nth-child(3) {
  animation-delay: 0.24s;
}
.result-item:nth-child(4) {
  animation-delay: 0.32s;
}
.result-item:nth-child(5) {
  animation-delay: 0.4s;
}

@keyframes fadeInResult {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.dept-glow,
.signal-line,
.dept-minions {
  will-change: transform, opacity;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.warehouse-svg .dept-zone:not(.active) .dept-glow {
  will-change: auto;
}

.result-first-line--typing {
  border-right: 2px solid rgba(231, 76, 60, 0.6);
  animation: caret-blink 0.8s step-end infinite;
}

@keyframes caret-blink {
  50% {
    border-color: transparent;
  }
}
