.isabel-avatar-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.isabel-avatar {
  position: relative;
  z-index: 2;
  transition: transform 0.3s, box-shadow 0.3s;
}
.isabel-avatar-wrap.talking .isabel-avatar {
  animation: isabel-bounce 0.8s ease-in-out infinite;
  box-shadow: 0 0 16px rgba(0,240,255,0.9), 0 0 28px rgba(124,58,237,0.6);
}
@keyframes isabel-bounce {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}
.isabel-avatar-wrap.talking::before,
.isabel-avatar-wrap.talking::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 100%; height: 100%;
  border: 2px solid rgba(0,240,255,0.6);
  border-radius: 14px;
  transform: translate(-50%, -50%) scale(1);
  animation: isabel-ripple 1.8s linear infinite;
  z-index: 1;
  pointer-events: none;
}
.isabel-avatar-wrap.talking::after {
  border-color: rgba(124,58,237,0.5);
  animation-delay: 0.9s;
}
@keyframes isabel-ripple {
  0%   { transform: translate(-50%, -50%) scale(0.95); opacity: 0.9; }
  100% { transform: translate(-50%, -50%) scale(1.5);  opacity: 0; }
}
.isabel-eq { display: inline-flex; gap: 3px; align-items: center; height: 18px; margin-left: 10px; opacity: 0; transition: opacity 0.3s; }
.isabel-eq.talking { opacity: 1; }
.isabel-eq span { display: inline-block; width: 3px; height: 100%; background: linear-gradient(to top, #0ff0ff, #7c3aed); border-radius: 2px; animation: eq-bar 0.6s ease-in-out infinite; }
.isabel-eq span:nth-child(1) { animation-delay: 0.0s; }
.isabel-eq span:nth-child(2) { animation-delay: 0.15s; }
.isabel-eq span:nth-child(3) { animation-delay: 0.30s; }
.isabel-eq span:nth-child(4) { animation-delay: 0.10s; }
@keyframes eq-bar { 0%, 100% { transform: scaleY(0.3); } 50% { transform: scaleY(1); } }

/* === Logo Central Bar mini sovrapposto sulla card avatar === */
.isabel-avatar-wrap { position: relative; }
.isabel-avatar-wrap::after {
  content: '';
  position: absolute;
  bottom: -4px; right: -4px;
  width: 28px; height: 28px;
  background: #fff url('/icons/icon-192.png') center/cover no-repeat;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.95);
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
  z-index: 3;
  pointer-events: none;
}
/* Sul CTA chiuso (avatar più grande) logo più grande */
.menu-cta .isabel-avatar-wrap::after {
  width: 36px; height: 36px;
  bottom: -2px; right: -2px;
}

/* === KIOSK MODE: layout tablet station al bancone === */
body.kiosk_mode {
  background: #000 !important;
}
body.kiosk_mode .menu-cta { display: none !important; }
body.kiosk_mode .isabel-avatar { width: 200px !important; height: 240px !important; }
body.kiosk_mode .isabel-avatar-wrap::after { width: 60px !important; height: 60px !important; }
/* Audio Isabel più forte in kiosk */
body.kiosk_mode audio { volume: 1.0; }
@keyframes ptt-pulse{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.06)}}
