.egsc__contact-toggle {
  position: relative; display: grid; place-items: center; width: 60px; height: 60px;
  padding: 0; border: 0; border-radius: 50%; color: #fff;
  background: linear-gradient(145deg, var(--egsc-orange), #ff9a5e);
  box-shadow: 0 18px 45px rgb(14 34 56 / 22%); cursor: pointer;
}
.egsc__contact-close-icon { display: none; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.egsc__contact-toggle[aria-expanded="true"] .egsc__launcher-icon { display: none; }
.egsc__contact-toggle[aria-expanded="true"] .egsc__contact-close-icon { display: block; }
.egsc__contact-options { position: absolute; right: calc(100% + 14px); bottom: 0; display: grid; gap: 12px; }
.egsc__contact-options[hidden] { display: none; }
.egsc .egsc__contact-action {
  position: relative; display: grid; place-items: center; width: 48px; height: 48px;
  margin: 0; padding: 0; border: 1px solid rgb(255 255 255 / 35%); border-radius: 50%;
  background: var(--egsc-navy); color: #fff; text-decoration: none;
  box-shadow: 0 6px 22px rgb(14 34 56 / 20%); cursor: pointer;
  animation: egsc-contact-in 160ms ease-out both;
}
.egsc .egsc__contact-action--whatsapp { background: #087d45; border: 2px solid #fff; }
.egsc__contact-avatar { display: block; width: 100%; height: 100%; min-height: 0; border-radius: 50%; object-fit: cover; }
/* The dot follows the contact's existing Rome business-hours visibility, not live presence. */
.egsc__contact-status { position: absolute; right: -2px; bottom: -2px; width: 12px; height: 12px; box-sizing: content-box; border: 2px solid #fff; border-radius: 50%; background: #25d366; }
.egsc .egsc__contact-action[hidden] { display: none; }
.egsc__contact-action svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.egsc__contact-label { position: absolute; right: calc(100% + 8px); padding: 7px 10px; border-radius: 999px; background: #fff; color: var(--egsc-navy); font-family: inherit; font-size: 12px; font-weight: 700; line-height: 1.25; white-space: nowrap; box-shadow: 0 4px 16px rgb(14 34 56 / 12%); pointer-events: none; }
.egsc__contact-toggle:focus-visible, .egsc__contact-action:focus-visible { outline: 3px solid #087b90; outline-offset: 4px; }
@keyframes egsc-contact-in { from { opacity: 0; transform: translateX(10px) scale(.9); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .egsc__contact-action, .egsc__contact-toggle .egsc__pulse { animation: none !important; } }
