/* RIV Social Float - estilos */
.riv-sf-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.riv-sf-pos-right { right: 18px; }
.riv-sf-pos-left { left: 18px; }

.riv-sf-item {
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  text-decoration: none !important;
  box-shadow: 0 10px 18px rgba(0,0,0,.18), 0 2px 6px rgba(0,0,0,.12);
  transform: translateY(20px);
  opacity: 0;
  transition: transform .5s ease, opacity .5s ease, box-shadow .25s ease, background .25s ease, color .25s ease, filter .25s ease;
  will-change: transform, opacity, box-shadow, background, color, filter;
}
.riv-sf-item:hover {
  box-shadow: 0 0 12px rgba(255,255,255,.25), 0 10px 24px rgba(0,0,0,.25);
  animation: riv-bounce .6s ease;
}
.riv-sf-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.35) 50%, rgba(255,255,255,0) 70%);
  transform: translateX(-150%);
  pointer-events: none;
}
.riv-sf-item:hover::after { animation: riv-shine 900ms ease; }

@keyframes riv-bounce {
  0%   { transform: translateY(0) scale(1); }
  30%  { transform: translateY(-6px) scale(1.04); }
  55%  { transform: translateY(0) scale(1); }
  75%  { transform: translateY(-3px) scale(1.02); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes riv-shine {
  0%   { transform: translateX(-150%); }
  100% { transform: translateX(150%); }
}

.riv-sf-icon {
  width: 60%;
  height: 60%;
  display: inline-block;
}

/* Inline version (shortcode) */
.riv-sf-inline {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.riv-sf-inline .riv-sf-item {
  position: relative;
  transform: none;
  opacity: 1;
}

/* Entrance animations */
.riv-sf-appear-slide .riv-sf-item.is-in { opacity: 1; transform: translateY(0); }
.riv-sf-appear-fade .riv-sf-item { transform: none; }
.riv-sf-appear-fade .riv-sf-item.is-in { opacity: 1; }
.riv-sf-appear-pop .riv-sf-item { transform: scale(.8); }
.riv-sf-appear-pop .riv-sf-item.is-in { opacity: 1; transform: scale(1); }

/* === Brand hover colors === */
.riv-net-facebook:hover { background: #1877F2; color: #ffffff; }
.riv-net-whatsapp:hover { background: #25D366; color: #ffffff; }
.riv-net-linkedin:hover { background: #0A66C2; color: #ffffff; }

/* Instagram gradient (brand-like) */
.riv-net-instagram:hover {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  color: #ffffff;
}

/* Tricolor for Email & Phone on hover (verde-blanco-rojo) */
.riv-net-email:hover, .riv-net-phone:hover {
  background: linear-gradient(135deg, #00A94F 0%, #FFFFFF 50%, #CE1126 100%);
  color: #111111;
  filter: saturate(1.1);
}
