/* CTA hierarchy and mobile rendering fixes */

/* Primary CTA: stronger depth so Descargar APK remains the clear protagonist. */
.button-primary {
  box-shadow: 0 18px 36px rgba(92,98,232,.24), inset 0 1px 0 rgba(255,255,255,.18);
}

.button-download {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 16px;
  background-clip: padding-box;
  -webkit-tap-highlight-color: transparent;
}

.button-download:active {
  transform: translateY(1px) scale(.992);
  box-shadow: 0 8px 18px rgba(92,98,232,.18), inset 0 1px 0 rgba(255,255,255,.12);
}

/* Brave/Chromium mobile can show tiny colored seams at rounded corners while
   the animated shine pseudo-element is moving. Keep the shine on desktop,
   disable it on touch/coarse-pointer devices where the artifact appears. */
@media (hover: none), (pointer: coarse) {
  .button-download::after {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .button-download::after {
    display: none;
  }
}

/* Tighten the rhythm between the main CTA and Beneficios. The combined gap
   now roughly matches the description -> Descargar APK spacing. */
.hero {
  padding-bottom: 10px;
}

#beneficios.section {
  padding-top: 18px;
}

/* Floating support action. */
.support-fab {
  position: fixed;
  z-index: 48;
  right: max(16px, env(safe-area-inset-right, 0px));
  bottom: calc(env(safe-area-inset-bottom, 0px) + 48px);
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg,var(--blue-2),var(--violet));
  border: 1px solid rgba(255,255,255,.24);
  box-shadow:
    0 20px 44px rgba(92,98,232,.34),
    0 8px 18px rgba(0,0,0,.14),
    inset 0 1px 0 rgba(255,255,255,.22);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  -webkit-tap-highlight-color: transparent;
  transition: transform .18s ease, box-shadow .18s ease;
}

.support-fab-icon {
  font-size: 34px;
  line-height: 1;
}

@media (hover:hover) {
  .support-fab:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow:
      0 24px 50px rgba(92,98,232,.39),
      0 10px 22px rgba(0,0,0,.16),
      inset 0 1px 0 rgba(255,255,255,.24);
  }
}

.support-fab:active {
  transform: translateY(1px) scale(.97);
  box-shadow:
    0 11px 24px rgba(92,98,232,.24),
    0 4px 10px rgba(0,0,0,.10),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.support-fab:focus-visible {
  outline: 3px solid rgba(79,132,238,.26);
  outline-offset: 3px;
}

/* Footer groups */
.footer-community,
.footer-contact {
  display: grid;
  gap: 7px;
  min-width: 150px;
}

.footer-community-title,
.footer-contact-title {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.footer-community-links {
  display: grid;
  gap: 8px;
}

.telegram-footer-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  color: var(--blue-2);
  font-size: .95rem;
  font-weight: 600;
  transition: color .18s ease, opacity .18s ease;
}

.telegram-footer-link:hover {
  color: #3e73e7;
}

.telegram-footer-icon {
  flex: none;
  color: currentColor;
  font-size: 21px;
  line-height: 1;
  opacity: 1;
}

html[data-theme="dark"] .telegram-footer-link {
  color: #6f9cff;
}

html[data-theme="dark"] .telegram-footer-link:hover {
  color: #8bb0ff;
}

.footer-links {
  align-items: flex-end;
  gap: 18px 24px;
}

.footer-contact .email-link {
  width: fit-content;
}

@media (max-width:680px) {
  .hero {
    padding-bottom: 10px;
  }

  #beneficios.section {
    padding-top: 18px;
  }

  .support-fab {
    right: max(18px, env(safe-area-inset-right, 0px));
    bottom: calc(env(safe-area-inset-bottom, 0px) + 34px);
    width: 60px;
    height: 60px;
  }

  .support-fab-icon {
    font-size: 33px;
  }

  .footer-community,
  .footer-contact {
    flex-basis: 100%;
    min-width: 0;
  }

  .footer-links {
    flex-basis: 100%;
    justify-content: flex-start;
    align-items: flex-start;
  }
}
