.skydo-contact-widget {
  --skydo-dark: #081118;
  --skydo-cyan: #47b3cc;
  --skydo-white: #fdfdfc;
  position: fixed;
  right: max(24px, env(safe-area-inset-right));
  bottom: max(24px, env(safe-area-inset-bottom));
  z-index: 100;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  font-family: inherit;
}

.skydo-contact-toggle,
.skydo-contact-link,
.skydo-contact-card {
  box-sizing: border-box;
}

.skydo-contact-toggle {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 13px;
  border: 1px solid rgba(71, 179, 204, .65);
  border-radius: 0;
  background: var(--skydo-dark);
  color: var(--skydo-white);
  box-shadow: 0 8px 28px rgba(0, 0, 0, .32);
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
  animation: skydo-contact-pulse 5s ease-in-out infinite;
}

.skydo-contact-toggle i { color: var(--skydo-cyan); font-size: 1.1rem; }
.skydo-contact-toggle:hover { transform: scale(1.05); background: #10232b; box-shadow: 0 10px 32px rgba(0, 0, 0, .38), 0 0 18px rgba(71, 179, 204, .2); }
.skydo-contact-toggle:focus-visible,
.skydo-contact-link:focus-visible,
.skydo-contact-card:focus-visible { outline: 3px solid var(--skydo-cyan); outline-offset: 3px; }
.skydo-contact-widget.is-open .skydo-contact-toggle { animation: none; }

.skydo-contact-menu {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  min-width: 178px;
  padding: 8px;
  border: 1px solid rgba(71, 179, 204, .35);
  border-radius: 0;
  background: rgba(8, 17, 24, .97);
  box-shadow: 0 14px 38px rgba(0, 0, 0, .35);
}

.skydo-contact-link {
  width: 100%;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 8px 11px;
  border-radius: 6px;
  color: var(--skydo-white);
  text-decoration: none;
  transition: color .2s ease, background-color .2s ease, transform .2s ease;
}
.skydo-contact-link i { width: 20px; color: var(--contact-color); text-align: center; }
.skydo-contact-link:hover { color: var(--skydo-white); background: rgba(71, 179, 204, .13); transform: translateX(-3px); }

.skydo-contact-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}
.skydo-contact-card {
  min-height: 70px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(71, 179, 204, .25);
  border-radius: 8px;
  color: var(--skydo-white);
  text-decoration: none;
  background: rgba(8, 17, 24, .35);
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}
.skydo-contact-card i { color: var(--contact-color); font-size: 1.1rem; }
.skydo-contact-card:hover { border-color: var(--skydo-cyan); background: rgba(71, 179, 204, .1); transform: translateY(-2px); }

@media (min-width: 1024px) {
  .skydo-contact-cards {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 6px;
    width: 100%;
  }

  .skydo-contact-card {
    flex: 1 1 0;
    justify-content: center;
    width: auto;
    min-width: 0;
    min-height: 36px;
    aspect-ratio: 1;
    padding: 8px;
    border-radius: 6px;
    background: rgba(8, 17, 24, .7);
    transition: border-color .2s ease, background-color .2s ease, transform .2s ease, filter .2s ease;
  }

  .skydo-contact-card span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .skydo-contact-card i {
    font-size: 1rem;
  }

  .skydo-contact-card:hover {
    transform: scale(1.06);
    filter: brightness(1.12);
  }
}

@keyframes skydo-contact-pulse {
  0%, 78%, 100% { box-shadow: 0 8px 28px rgba(0, 0, 0, .32), 0 0 0 0 rgba(71, 179, 204, 0); }
  86% { box-shadow: 0 8px 28px rgba(0, 0, 0, .32), 0 0 0 7px rgba(71, 179, 204, .1); }
}

@media (max-width: 640px) {
  .skydo-contact-widget { right: max(14px, env(safe-area-inset-right)); bottom: max(14px, env(safe-area-inset-bottom)); }
  .skydo-contact-toggle { min-height: 48px; padding: 0 15px; }
  .skydo-contact-menu { min-width: min(190px, calc(100vw - 28px)); }
  .skydo-contact-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .skydo-contact-card { min-height: 62px; padding: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .skydo-contact-toggle { animation: none; }
  .skydo-contact-toggle,
  .skydo-contact-link,
  .skydo-contact-card { transition: none; }
}
