:root {
    --wa-green: #25D366;
    --wa-green-dark: #1EBE5A;
    --wa-shadow: rgba(37, 211, 102, 0.45);
    --call-blue: #2E9BFF;
    --call-blue-dark: #1C7FE0;
    --call-shadow: rgba(46, 155, 255, 0.45);
  }
 
 
  /* Contenedor del bot¨®n flotante */
  .wa-float {
    position: fixed;
    bottom: 14px;
    right: 14px;
    width: 62px;
    height: 62px;
    z-index: 1000;
  }
 
  /* Anillo de pulso animado (solo activo en hover) */
  .wa-float::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: var(--wa-green);
    opacity: 0;
  }
 
  .wa-float:hover::before {
    opacity: 0.55;
    animation: wa-pulse 2.2s ease-out infinite;
  }
 
  @keyframes wa-pulse {
    0%   { transform: scale(1);   opacity: 0.55; }
    70%  { transform: scale(1.9); opacity: 0; }
    100% { transform: scale(1.9); opacity: 0; }
  }
 
  .wa-btn {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, var(--wa-green), var(--wa-green-dark));
    border-radius: 50%;
    box-shadow: 0 6px 18px var(--wa-shadow), 0 2px 6px rgba(0,0,0,0.25);
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }
 
  .wa-btn:hover {
    transform: translateY(-4px) scale(1.06);
    box-shadow: 0 12px 26px var(--wa-shadow), 0 4px 10px rgba(0,0,0,0.3);
  }
 
  .wa-btn:active {
    transform: scale(0.96);
  }
 
  .wa-btn svg {
    width: 32px;
    height: 32px;
    fill: #ffffff;
  }
 
  /* Globo de texto opcional al pasar el mouse */
  .wa-tooltip {
    position: absolute;
    right: 74px;
    top: 50%;
    transform: translateY(-50%) translateX(8px);
    background: #111b21;
    color: #fff;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 14px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    transition: opacity 0.2s ease, transform 0.2s ease;
  }
 
  .wa-tooltip::after {
    content: "";
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    border: 6px solid transparent;
    border-left-color: #111b21;
  }
 
  .wa-float:hover .wa-tooltip {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
 
  /* Pila de botones flotantes (WhatsApp + Tel¨¦fono) */
  .float-stack {
    position: fixed;
    bottom: 0px;
    right: 0px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    z-index: 1000;
  }
 
  .float-stack .wa-float,
  .float-stack .call-float {
    position: relative; /* necesario para que el pulso se ajuste a cada bot¨®n individualmente */
  }
 
  /* Variante para el bot¨®n de llamada */
  .call-float::before {
    background: var(--call-blue);
  }
 
  .call-btn {
    background: linear-gradient(145deg, var(--call-blue), var(--call-blue-dark));
    box-shadow: 0 6px 18px var(--call-shadow), 0 2px 6px rgba(0,0,0,0.25);
  }
 
  .call-btn:hover {
    box-shadow: 0 12px 26px var(--call-shadow), 0 4px 10px rgba(0,0,0,0.3);
  }
 
  .call-btn svg {
    width: 28px;
    height: 28px;
  }