/* NextPing WhatsApp: solo icono, sin dependencias externas ni widget de terceros. */
.npwa-float{
  position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(90px + env(safe-area-inset-bottom,0px));
  z-index:960;display:flex;align-items:center;justify-content:center;
  width:54px;height:54px;border:0;border-radius:50%;
  box-sizing:border-box;background:#25D366;color:#fff!important;text-decoration:none!important;
  box-shadow:0 5px 18px rgba(0,0,0,.20);line-height:1;transition:transform .15s ease,box-shadow .15s ease;
}
.npwa-float svg{display:block;width:35px;height:35px;fill:currentColor;pointer-events:none}
.npwa-float:hover,.npwa-float:focus-visible{background:#20be5b;color:#fff!important;transform:translateY(-2px);box-shadow:0 7px 23px rgba(0,0,0,.23)}
.npwa-float:focus-visible{outline:3px solid #144b9a;outline-offset:3px}
@media (max-width:1024px){
  .npwa-float{left:max(14px,env(safe-area-inset-left,0px));right:auto;bottom:calc(22px + env(safe-area-inset-bottom,0px));width:52px;height:52px}
  /* En NextPing, la flecha Subir queda a la derecha y el dock ocupa la parte inferior. */
  body.npmn-enabled .npwa-float{bottom:calc(99px + env(safe-area-inset-bottom,0px))}
}
@media (min-width:768px) and (max-width:1024px) and (orientation:landscape){
  .npwa-float{left:auto;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(90px + env(safe-area-inset-bottom,0px))}
  body.npmn-enabled .npwa-float{bottom:calc(99px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:1024px){.npwa-hide-mobile{display:none!important}}
@media (min-width:1025px){.npwa-hide-desktop{display:none!important}}
@media (prefers-reduced-motion:reduce){.npwa-float{transition:none}}
@media print{.npwa-float{display:none!important}}

/* Backup para simuladores cargados por builders/Elementor o AJAX: no mostrar WhatsApp
   nunca en una sesión de examen aunque el shortcode no esté en post_content. */
body:has(.npqb-exam-launcher,.npqb-demo-shell,.npqb-exam-stage:not([hidden])) .npwa-float{display:none!important;visibility:hidden!important;pointer-events:none!important}
