/* WhatsApp chat widget (estilo GO2) — anclado a la derecha, trilingüe, RTL-aware */
.wa{position:fixed;z-index:99998;right:22px;bottom:22px;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}
.wa__btn{position:relative;align-self:flex-end;pointer-events:auto;width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#0dc152;color:#fff;box-shadow:0 12px 28px rgba(13,193,82,.4);transition:transform .25s ease;font-family:'Manrope','Cairo',Tahoma,Arial,sans-serif}
.wa__btn:hover{transform:translateY(-3px) scale(1.03)}
.wa__btn svg{width:26px;height:26px;position:relative;flex:none;transition:transform .25s ease}
.wa__btn-text{display:none;font-weight:600;font-size:.95rem;white-space:nowrap}
@media (min-width:768px){
  .wa__btn{width:auto;height:46px;border-radius:999px;padding:0 20px;gap:9px}
  .wa__btn svg{width:20px;height:20px}
  .wa__btn-text{display:inline;font-size:14px}
  .wa__pulse{display:none}
}
.wa__pulse{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(13,193,82,.5);animation:waPulse 2.6s infinite}
.wa.is-open .wa__pulse{animation:none}
@keyframes waPulse{70%{box-shadow:0 0 0 16px rgba(13,193,82,0)}100%{box-shadow:0 0 0 0 rgba(13,193,82,0)}}
.wa__panel{position:relative;width:min(320px,calc(100vw - 2rem));background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 22px 50px rgba(2,20,60,.28);transform-origin:bottom right;opacity:0;transform:translateY(14px) scale(.9);visibility:hidden;pointer-events:none;transition:opacity .28s ease, transform .28s ease, visibility 0s linear .28s;font-family:'Manrope','Cairo',Tahoma,Arial,sans-serif}
.wa.is-open .wa__panel{opacity:1;transform:none;visibility:visible;pointer-events:auto;transition:opacity .28s ease, transform .28s ease, visibility 0s}
.wa__panel::after{content:"";position:absolute;right:22px;left:auto;bottom:-8px;width:16px;height:16px;background:#fff;transform:rotate(45deg);box-shadow:4px 4px 8px rgba(0,0,0,.06)}
.wa__head{position:relative;background:#0dc152;color:#fff;padding:16px 16px 16px 42px;font-size:.9rem;line-height:1.45}
.wa__head p{margin:0;color:#fff}
.wa__close{position:absolute;top:10px;left:10px;right:auto;width:26px;height:26px;border:0;cursor:pointer;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.22);color:#fff;transition:background .2s ease}
.wa__close:hover{background:rgba(255,255,255,.4)}
.wa__close svg{width:14px;height:14px}
.wa__body{padding:10px}
.wa__rep{display:flex;align-items:center;gap:12px;padding:10px;border-radius:12px;transition:background .2s ease;text-decoration:none}
.wa__rep:hover{background:#eef6f1}
.wa__rep-ava{position:relative;width:46px;height:46px;border-radius:50%;background:#0dc152;color:#fff;display:grid;place-items:center;flex:none}
.wa__rep-ava svg{width:26px;height:26px}
.wa__rep-ava::after{content:"";position:absolute;right:1px;bottom:1px;width:11px;height:11px;border-radius:50%;background:#2fd15f;border:2px solid #fff}
.wa__rep-name{display:block;font-weight:700;color:#0a1a33;font-size:.96rem}
.wa__rep-sub{display:block;font-size:.8rem;color:#5b6b82}
/* RTL: dirección del texto del panel; el widget se queda anclado a la derecha.
   OJO: en RTL el eje transversal del flex-column se invierte → flex-start = derecha */
[dir="rtl"] .wa{align-items:flex-start}
[dir="rtl"] .wa__btn{align-self:flex-start}
[dir="rtl"] .wa__head{padding:16px 16px 16px 42px;text-align:right}
[dir="rtl"] .wa__panel,[dir="rtl"] .wa__btn{letter-spacing:0}
@media (prefers-reduced-motion:reduce){.wa__pulse{animation:none}}
