.aw-contact-rail {
  position: fixed;
  z-index: 60;
  top: 50%;
  right: clamp(12px, 2.2vw, 32px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  transform: translateY(-50%);
  font-family: Inter, Arial, sans-serif;
}

.aw-contact-rail__link {
  position: relative;
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border: 1px solid rgba(255, 239, 226, .32);
  border-radius: 50%;
  background: #281820;
  box-shadow: 0 5px 22px rgba(30, 15, 22, .28);
  color: #fff7ee;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.aw-contact-rail__link--whatsapp { background: #23644e; }
.aw-contact-rail__link--email { background: #4a2535; }
.aw-contact-rail__link:hover,
.aw-contact-rail__link:focus-visible {
  transform: translateX(-4px);
  box-shadow: 0 8px 24px rgba(30, 15, 22, .4);
}
.aw-contact-rail__link--whatsapp:hover,
.aw-contact-rail__link--whatsapp:focus-visible { background: #1b7657; }
.aw-contact-rail__link--email:hover,
.aw-contact-rail__link--email:focus-visible { background: #663047; }
.aw-contact-rail__link:focus-visible { outline: 2px solid #fff7ee; outline-offset: 3px; }
.aw-contact-rail__link svg { width: 25px; height: 25px; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.aw-contact-rail__link span {
  position: absolute;
  right: 60px;
  padding: 7px 11px;
  border-radius: 5px;
  background: #281820;
  box-shadow: 0 4px 12px rgba(30, 15, 22, .22);
  color: #fff7ee;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .02em;
  opacity: 0;
  pointer-events: none;
  transform: translateX(5px);
  transition: opacity .2s ease, transform .2s ease;
  white-space: nowrap;
}
.aw-contact-rail__link:hover span,
.aw-contact-rail__link:focus-visible span { opacity: 1; transform: translateX(0); }

@media (max-width: 640px) {
  .aw-contact-rail { right: 10px; gap: 8px; }
  .aw-contact-rail__link { width: 44px; height: 44px; }
  .aw-contact-rail__link svg { width: 23px; height: 23px; }
}

@media (prefers-reduced-motion: reduce) {
  .aw-contact-rail__link,
  .aw-contact-rail__link span { transition: none; }
}
