.social-contact {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(22px, calc(env(safe-area-inset-bottom) + 14px));
  z-index: 30;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.social-contact__link {
  position: relative;
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, .9);
  border-radius: 50%;
  box-shadow: 0 8px 24px rgba(12, 48, 45, .24);
  transition: transform .2s ease, box-shadow .2s ease;
}

.social-contact__link:hover,
.social-contact__link:focus-visible {
  transform: translateY(-2px) scale(1.04);
  box-shadow: 0 12px 30px rgba(12, 48, 45, .32);
}

.social-contact__link:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.social-contact__link svg {
  width: 29px;
  height: 29px;
}

.social-contact__link span {
  position: absolute;
  right: 66px;
  padding: 7px 11px;
  color: #fff;
  background: #173f3b;
  border-radius: 8px;
  font-size: .76rem;
  font-weight: 700;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  transform: translateX(6px);
  transition: opacity .18s ease, transform .18s ease;
}

.social-contact__link:hover span,
.social-contact__link:focus-visible span {
  opacity: 1;
  transform: translateX(0);
}

.social-contact__link--whatsapp { background: #25d366; }
.social-contact__link--instagram {
  background: radial-gradient(circle at 31% 105%, #ffd600 0 18%, #ff7a00 31%, #ff0169 58%, #d300c5 72%, #7638fa 100%);
}

@media (max-width: 780px) {
  .social-contact { right: 14px; bottom: max(14px, calc(env(safe-area-inset-bottom) + 10px)); }
  .social-contact__link { width: 52px; height: 52px; }
  .social-contact__link svg { width: 27px; height: 27px; }
  .social-contact__link span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .social-contact__link,
  .social-contact__link span { transition: none; }
}
