.alp-alpy{
  position:fixed; bottom:24px; right:24px; z-index:60;
  display:flex; flex-direction:column; align-items:flex-end; gap:12px;
}

/* Floating greeting bubble */
.alp-alpy__bubble{
  background:var(--surface-card); color:var(--text-primary);
  border:1px solid var(--border-subtle); border-radius:14px 14px 4px 14px;
  padding:14px 32px 14px 16px; font-size:14px; max-width:240px; box-shadow:var(--elevation-2);
  position:relative; cursor:pointer;
  transform:translateY(8px); opacity:0; pointer-events:none;
  transition:transform var(--duration-base) var(--ease-signature), opacity var(--duration-base) var(--ease-signature);
}
.alp-alpy__bubble.is-visible{ transform:translateY(0); opacity:1; pointer-events:auto; }
.alp-alpy__bubble strong{ color:var(--accent-interactive); }
.alp-alpy__bubble-close{
  position:absolute; top:6px; right:8px; background:none; border:none; color:var(--text-secondary);
  cursor:pointer; font-size:12px; line-height:1; padding:4px;
}

/* Mini chat panel, matches the live site's "Online on WhatsApp" pattern */
.alp-alpy__panel{
  width:300px; background:var(--surface-card); border:1px solid var(--border-subtle);
  border-radius:14px; overflow:hidden; box-shadow:var(--elevation-3);
  display:flex; flex-direction:column;
}
.alp-alpy__panel[hidden]{ display:none; }
.alp-alpy__panel-header{
  display:flex; align-items:center; gap:10px; padding:14px 16px;
  background:var(--surface-elevated); border-bottom:1px solid var(--border-subtle);
}
.alp-alpy__panel-header img{ width:36px; height:36px; border-radius:0; object-fit:contain; }
.alp-alpy__panel-header strong{ display:block; font-size:14px; }
.alp-alpy__status{ display:flex; align-items:center; gap:5px; font-size:11px; color:var(--text-secondary); }
.alp-alpy__status-dot{ width:6px; height:6px; border-radius:50%; background:var(--color-green-500); }
.alp-alpy__panel-close{ margin-left:auto; background:none; border:none; color:var(--text-secondary); cursor:pointer; font-size:14px; padding:4px; }
.alp-alpy__panel-body{ padding:14px 16px; min-height:70px; }
.alp-alpy__message{
  background:var(--surface-elevated); border-radius:10px 10px 10px 2px; padding:10px 12px;
  font-size:13px; line-height:1.5; max-width:90%;
}
.alp-alpy__panel-input{ display:flex; gap:8px; padding:10px; border-top:1px solid var(--border-subtle); }
.alp-alpy__panel-input input{
  flex:1; background:var(--surface-primary); border:1px solid var(--border-strong); border-radius:20px;
  padding:8px 14px; color:var(--text-primary); font-family:var(--font-body); font-size:13px;
}
.alp-alpy__panel-input input:focus{ outline:none; border-color:var(--accent-interactive); }
.alp-alpy__panel-input button{
  width:34px; height:34px; border-radius:50%; border:none; background:var(--accent-interactive);
  color:var(--color-black-950); cursor:pointer; flex-shrink:0;
}

/* Launcher */
.alp-alpy__launcher{
  width:88px; height:88px; border-radius:0; border:none; cursor:pointer;
  background:transparent; box-shadow:none;
  display:flex; align-items:center; justify-content:center; overflow:visible;
  transition:transform var(--duration-fast) var(--ease-signature);
}
.alp-alpy__launcher:hover{ transform:scale(1.06); }
.alp-alpy__launcher img{ width:100%; height:100%; object-fit:contain; border-radius:0; position:relative; z-index:2; }
.alp-alpy__launcher-fallback{
  font-family:var(--font-display); font-weight:600; font-size:22px; color:var(--accent-interactive);
}

/* Ripple rings instead of a solid color circle behind the PNG */
.alp-alpy__launcher::before, .alp-alpy__launcher::after{
  content:''; position:absolute; inset:14px; border-radius:50%;
  border:2px solid var(--accent-interactive); opacity:0;
  animation:alp-ripple 2.6s ease-out infinite;
}
.alp-alpy__launcher::after{ animation-delay:1.3s; }
@keyframes alp-ripple{
  0%{ transform:scale(0.7); opacity:0.6; }
  100%{ transform:scale(1.5); opacity:0; }
}
@media (prefers-reduced-motion: reduce){
  .alp-alpy__launcher::before, .alp-alpy__launcher::after{ animation:none; opacity:0; }
}
.alp-alpy__online-dot{
  position:absolute; bottom:2px; right:2px; width:14px; height:14px; border-radius:50%;
  background:var(--color-green-500); border:2px solid var(--surface-primary);
}
