
.npmn-shell{display:none}

/* Avatar/fallback: nunca mostrar ambos a la vez (también en iPad). */
.npmn-avatar-fallback{display:none}

@media (max-width:767px){
  body.npmn-enabled{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}

  .npmn-shell{
    position:fixed;
    inset:auto 0 0;
    z-index:2147481500;
    display:block;
    pointer-events:none;
  }

  .npmn-dock{
    position:absolute;
    left:50%;
    bottom:calc(10px + env(safe-area-inset-bottom,0px));
    transform:translateX(-50%);
    display:grid;
    grid-template-columns:repeat(var(--npmn-items,5),minmax(0,1fr));
    gap:2px;
    align-items:center;
    width:min(392px,calc(100vw - 18px));
    min-height:64px;
    padding:5px 6px;
    box-sizing:border-box;
    background:rgba(255,255,255,.95);
    border:1px solid rgba(211,222,236,.96);
    border-radius:25px;
    box-shadow:0 14px 34px rgba(15,38,71,.16),0 3px 10px rgba(15,38,71,.07);
    -webkit-backdrop-filter:blur(16px) saturate(1.25);
    backdrop-filter:blur(16px) saturate(1.25);
    pointer-events:auto;
  }

  .npmn-dock__item{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    min-width:0;
    min-height:50px;
    margin:0;
    padding:5px 3px 4px;
    box-sizing:border-box;
    color:#5f6c82;
    background:transparent;
    border:1px solid transparent;
    border-radius:18px;
    box-shadow:none;
    font:inherit;
    text-decoration:none;
    -webkit-appearance:none;
    appearance:none;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    transition:transform .17s cubic-bezier(.2,.8,.2,1),color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
  }

  .npmn-dock__icon{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    color:currentColor;
    line-height:1;
    transition:transform .17s cubic-bezier(.2,.8,.2,1);
  }

  .npmn-dock__icon svg,
  .npmn-popover__miniicon svg,
  .npmn-profile-head__avatar svg{
    display:block;
    width:100%;
    height:100%;
    fill:currentColor;
  }

  .npmn-dock__icon img{
    display:block;
    width:26px;
    height:26px;
    object-fit:cover;
    border-radius:50%;
  }

  .npmn-avatar-fallback{display:none}

  .npmn-dock__label{
    display:block;
    max-width:100%;
    overflow:hidden;
    font-size:9.6px;
    font-weight:750;
    line-height:1.05;
    letter-spacing:-.01em;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  .npmn-dock__item--active,
  .npmn-dock__item.npmn-dock__item--open{
    color:#2463eb;
    background:linear-gradient(180deg,rgba(36,99,235,.10),rgba(36,99,235,.055));
    border-color:rgba(36,99,235,.14);
    box-shadow:0 7px 16px rgba(36,99,235,.10);
    transform:translateY(-3px);
  }

  .npmn-dock__item--active::after,
  .npmn-dock__item.npmn-dock__item--open::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-7px;
    width:5px;
    height:5px;
    background:#2463eb;
    border-radius:50%;
    transform:translateX(-50%);
    box-shadow:0 0 0 3px rgba(36,99,235,.09);
  }

  .npmn-dock__item:active{transform:translateY(-1px) scale(.94)}
  .npmn-dock__item:active .npmn-dock__icon{transform:scale(.92)}

  .npmn-popover{
    position:absolute;
    left:50%;
    bottom:calc(84px + env(safe-area-inset-bottom,0px));
    transform:translateX(-50%) translateY(10px) scale(.985);
    width:min(292px,calc(100vw - 30px));
    box-sizing:border-box;
    padding:10px;
    background:rgba(255,255,255,.97);
    border:1px solid #d9e4f0;
    border-radius:20px;
    box-shadow:0 18px 42px rgba(15,38,71,.18),0 4px 12px rgba(15,38,71,.08);
    -webkit-backdrop-filter:blur(18px) saturate(1.2);
    backdrop-filter:blur(18px) saturate(1.2);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease,transform .18s cubic-bezier(.2,.8,.2,1),visibility .18s ease;
  }

  .npmn-popover:not([hidden]){
    opacity:1;
    visibility:visible;
    transform:translateX(-50%) translateY(0) scale(1);
    pointer-events:auto;
  }

  .npmn-popover__title{
    padding:3px 7px 8px;
    color:#183153;
    font-size:12px;
    font-weight:850;
    letter-spacing:.02em;
  }

  .npmn-popover__links{
    display:grid;
    gap:5px;
  }

  .npmn-popover__links a{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:43px;
    padding:8px 10px;
    box-sizing:border-box;
    color:#283951;
    background:#f8fbff;
    border:1px solid #e3ebf4;
    border-radius:13px;
    font-size:13px;
    font-weight:700;
    text-decoration:none;
    transition:transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease;
  }

  .npmn-popover__links a:active{
    transform:scale(.98);
    background:#eef5ff;
  }

  .npmn-popover__miniicon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    flex:0 0 20px;
    color:#2463eb;
  }

  .npmn-popover__danger{color:#8b2f3d!important}

  .npmn-profile-head{
    display:flex;
    align-items:center;
    gap:10px;
    padding:4px 6px 10px;
  }

  .npmn-profile-head__avatar{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    flex:0 0 36px;
    color:#5f6c82;
    border-radius:50%;
    overflow:hidden;
    background:#eef4fb;
  }

  .npmn-profile-head__avatar img{
    display:block;
    width:36px;
    height:36px;
    object-fit:cover;
    border-radius:50%;
  }

  .npmn-profile-head__avatar svg{width:23px;height:23px}

  .npmn-profile-head strong{
    display:block;
    max-width:205px;
    overflow:hidden;
    color:#172b4d;
    font-size:13px;
    line-height:1.2;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  .npmn-profile-head small{
    display:block;
    max-width:205px;
    overflow:hidden;
    margin-top:2px;
    color:#718198;
    font-size:10.5px;
    line-height:1.15;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  body.npmn-enabled.npmn-hide-header-menu.npmn-ready .ast-header-break-point .main-header-menu-toggle,
  body.npmn-enabled.npmn-hide-header-menu.npmn-ready .main-header-menu-toggle,
  body.npmn-enabled.npmn-hide-header-menu.npmn-ready .ast-mobile-menu-trigger-minimal,
  body.npmn-enabled.npmn-hide-header-menu.npmn-ready button.menu-toggle{
    display:none!important;
  }
}

@media (max-width:380px){
  .npmn-dock{width:calc(100vw - 12px);border-radius:22px}
  .npmn-dock__item{padding-left:2px;padding-right:2px}
  .npmn-dock__label{font-size:9px}
}

@media (hover:hover) and (pointer:fine) and (max-width:767px){
  .npmn-dock__item:not(.npmn-dock__item--active):hover{
    color:#2463eb;
    background:rgba(36,99,235,.05);
    transform:translateY(-2px);
  }
  .npmn-popover__links a:hover{
    color:#164ec7;
    background:#eef5ff;
    border-color:#d3e1f5;
    transform:translateY(-1px);
  }
}

@media (prefers-reduced-motion:reduce){
  .npmn-dock__item,
  .npmn-dock__icon,
  .npmn-popover,
  .npmn-popover__links a{
    transition:none!important;
    animation:none!important;
  }
}


/* =========================================================
   V1.0.1 — FLECHA "SUBIR" POR ENCIMA DEL DOCK MÓVIL
   Recoloca los controles habituales de volver arriba sin
   modificar su función original. Solo móvil.
   ========================================================= */
@media (max-width:767px){

  body.npmn-enabled.npmn-ready #ast-scroll-top,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon,
  body.npmn-enabled.npmn-ready .scroll-to-top,
  body.npmn-enabled.npmn-ready .scroll-top,
  body.npmn-enabled.npmn-ready .back-to-top,
  body.npmn-enabled.npmn-ready #scroll-to-top,
  body.npmn-enabled.npmn-ready #scroll-top,
  body.npmn-enabled.npmn-ready [class*="scroll-to-top"],
  body.npmn-enabled.npmn-ready [class*="back-to-top"]{
    position:fixed!important;
    right:14px!important;
    left:auto!important;
    bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;
    z-index:2147481450!important;
    margin:0!important;
    transform:none!important;
    transition:
      opacity .18s ease,
      transform .18s cubic-bezier(.2,.8,.2,1),
      bottom .18s ease!important;
  }

  /* El dock queda siempre por encima en prioridad visual. */
  body.npmn-enabled.npmn-ready .npmn-dock{
    z-index:2147481500!important;
  }

  /* Si abrimos Menú o Perfil, apartamos temporalmente la flecha
     para que no interfiera con el popover. */
  body.npmn-enabled.npmn-popover-open #ast-scroll-top,
  body.npmn-enabled.npmn-popover-open .ast-scroll-top-icon,
  body.npmn-enabled.npmn-popover-open .scroll-to-top,
  body.npmn-enabled.npmn-popover-open .scroll-top,
  body.npmn-enabled.npmn-popover-open .back-to-top,
  body.npmn-enabled.npmn-popover-open #scroll-to-top,
  body.npmn-enabled.npmn-popover-open #scroll-top,
  body.npmn-enabled.npmn-popover-open [class*="scroll-to-top"],
  body.npmn-enabled.npmn-popover-open [class*="back-to-top"]{
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(8px) scale(.92)!important;
  }
}

@media (max-width:380px){
  body.npmn-enabled.npmn-ready #ast-scroll-top,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon,
  body.npmn-enabled.npmn-ready .scroll-to-top,
  body.npmn-enabled.npmn-ready .scroll-top,
  body.npmn-enabled.npmn-ready .back-to-top,
  body.npmn-enabled.npmn-ready #scroll-to-top,
  body.npmn-enabled.npmn-ready #scroll-top,
  body.npmn-enabled.npmn-ready [class*="scroll-to-top"],
  body.npmn-enabled.npmn-ready [class*="back-to-top"]{
    right:10px!important;
    bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;
  }
}


/* =========================================================
   V1.0.2 — ESTADOS VISUALES DEL DOCK
   Página actual = azul fuerte + punto inferior.
   Menú/Perfil abierto temporalmente = azul suave, SIN punto.
   ========================================================= */
@media (max-width:767px){

  /* Un botón abierto que NO es la página actual:
     señal secundaria, más suave. */
  body.npmn-enabled .npmn-dock__item.npmn-dock__item--open:not(.npmn-dock__item--active){
    color:#2463eb!important;
    background:rgba(36,99,235,.055)!important;
    border-color:rgba(36,99,235,.10)!important;
    box-shadow:0 4px 11px rgba(36,99,235,.065)!important;
    transform:translateY(-1px)!important;
  }

  body.npmn-enabled .npmn-dock__item.npmn-dock__item--open:not(.npmn-dock__item--active)::after{
    content:none!important;
    display:none!important;
  }

  body.npmn-enabled .npmn-dock__item.npmn-dock__item--open:not(.npmn-dock__item--active) .npmn-dock__icon{
    transform:translateY(-1px) scale(1.035)!important;
  }

  /* La página actual conserva siempre la máxima jerarquía,
     incluso si además abre su propio popover. */
  body.npmn-enabled .npmn-dock__item.npmn-dock__item--active,
  body.npmn-enabled .npmn-dock__item.npmn-dock__item--active.npmn-dock__item--open{
    color:#2463eb!important;
    background:linear-gradient(180deg,rgba(36,99,235,.10),rgba(36,99,235,.055))!important;
    border-color:rgba(36,99,235,.14)!important;
    box-shadow:0 7px 16px rgba(36,99,235,.10)!important;
    transform:translateY(-3px)!important;
  }

  body.npmn-enabled .npmn-dock__item.npmn-dock__item--active::after,
  body.npmn-enabled .npmn-dock__item.npmn-dock__item--active.npmn-dock__item--open::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:50%!important;
    bottom:-7px!important;
    width:5px!important;
    height:5px!important;
    background:#2463eb!important;
    border-radius:50%!important;
    transform:translateX(-50%)!important;
    box-shadow:0 0 0 3px rgba(36,99,235,.09)!important;
  }

  /* Feedback táctil: mantiene la diferencia de jerarquía. */
  body.npmn-enabled .npmn-dock__item.npmn-dock__item--open:not(.npmn-dock__item--active):active{
    transform:translateY(0) scale(.95)!important;
  }
}

@media (prefers-reduced-motion:reduce){
  body.npmn-enabled .npmn-dock__item.npmn-dock__item--open:not(.npmn-dock__item--active),
  body.npmn-enabled .npmn-dock__item.npmn-dock__item--active{
    transition:none!important;
  }
}


/* =========================================================
   V1.0.5 — FLECHA "SUBIR" MÁS COMPACTA, SIN FORZAR SU APARICIÓN
   Base estable: 1.0.2.
   La web/tema/plugin original sigue decidiendo CUÁNDO aparece.
   NextPing solo aplica una apariencia común cuando ya es visible.
   ========================================================= */
@media (max-width:767px){

  /* Estilo único NextPing.
     NO se modifica display/visibility/opacity/pointer-events. */
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop,
  body.npmn-enabled.npmn-ready #ast-scroll-top,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon,
  body.npmn-enabled.npmn-ready .scroll-to-top,
  body.npmn-enabled.npmn-ready .scroll-top,
  body.npmn-enabled.npmn-ready .back-to-top,
  body.npmn-enabled.npmn-ready #scroll-to-top,
  body.npmn-enabled.npmn-ready #scroll-top{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;

    right:14px!important;
    left:auto!important;
    bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;

    padding:0!important;
    margin:0!important;
    border-radius:999px!important;

    color:#fff!important;
    background:rgba(36,99,235,.72)!important;
    border:1px solid rgba(255,255,255,.26)!important;
    box-shadow:0 8px 20px rgba(24,72,160,.18)!important;

    -webkit-backdrop-filter:blur(8px) saturate(1.12)!important;
    backdrop-filter:blur(8px) saturate(1.12)!important;

    align-items:center!important;
    justify-content:center!important;

    z-index:2147481450!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  /* Normalizar el icono que ya trae el tema/plugin,
     sin sustituirlo ni crear uno nuevo. */
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop svg,
  body.npmn-enabled.npmn-ready #ast-scroll-top svg,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon svg,
  body.npmn-enabled.npmn-ready .scroll-to-top svg,
  body.npmn-enabled.npmn-ready .scroll-top svg,
  body.npmn-enabled.npmn-ready .back-to-top svg,
  body.npmn-enabled.npmn-ready #scroll-to-top svg,
  body.npmn-enabled.npmn-ready #scroll-top svg{
    width:20px!important;
    height:20px!important;
    color:#fff!important;
    fill:currentColor!important;
    stroke:currentColor!important;
  }

  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop i,
  body.npmn-enabled.npmn-ready #ast-scroll-top i,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon i,
  body.npmn-enabled.npmn-ready .scroll-to-top i,
  body.npmn-enabled.npmn-ready .scroll-top i,
  body.npmn-enabled.npmn-ready .back-to-top i,
  body.npmn-enabled.npmn-ready #scroll-to-top i,
  body.npmn-enabled.npmn-ready #scroll-top i,
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop span,
  body.npmn-enabled.npmn-ready #ast-scroll-top span,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon span,
  body.npmn-enabled.npmn-ready .scroll-to-top span,
  body.npmn-enabled.npmn-ready .scroll-top span,
  body.npmn-enabled.npmn-ready .back-to-top span,
  body.npmn-enabled.npmn-ready #scroll-to-top span,
  body.npmn-enabled.npmn-ready #scroll-top span{
    color:#fff!important;
  }

  /* Feedback muy suave, sin cambiar la lógica de aparición. */
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop:active,
  body.npmn-enabled.npmn-ready #ast-scroll-top:active,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon:active,
  body.npmn-enabled.npmn-ready .scroll-to-top:active,
  body.npmn-enabled.npmn-ready .scroll-top:active,
  body.npmn-enabled.npmn-ready .back-to-top:active,
  body.npmn-enabled.npmn-ready #scroll-to-top:active,
  body.npmn-enabled.npmn-ready #scroll-top:active{
    background:rgba(36,99,235,.84)!important;
  }

  /* Si Menú o Perfil está abierto, conservamos el comportamiento
     ya existente en 1.0.2: la flecha no compite con el popover. */
  body.npmn-enabled.npmn-popover-open .npmn-managed-scrolltop{
    opacity:0!important;
    pointer-events:none!important;
  }
}

@media (max-width:380px){
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop,
  body.npmn-enabled.npmn-ready #ast-scroll-top,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon,
  body.npmn-enabled.npmn-ready .scroll-to-top,
  body.npmn-enabled.npmn-ready .scroll-top,
  body.npmn-enabled.npmn-ready .back-to-top,
  body.npmn-enabled.npmn-ready #scroll-to-top,
  body.npmn-enabled.npmn-ready #scroll-top{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    right:10px!important;
    bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;
  }
}


/* =========================================================
   V1.0.6 — CENTRADO UNIFORME DE LA FLECHA INTERIOR
   Mantiene intactos:
   - tamaño del círculo
   - posición del círculo
   - transparencia
   - lógica original de aparición/desaparición

   Solo normaliza el contenido/icono interior.
   ========================================================= */
@media (max-width:767px){

  /* El botón ya tiene position:fixed en versiones anteriores.
     Sus hijos se centran geométricamente sin alterar display
     ni visibility del control padre. */
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop > *,
  body.npmn-enabled.npmn-ready #ast-scroll-top > *,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon > *,
  body.npmn-enabled.npmn-ready .scroll-to-top > *,
  body.npmn-enabled.npmn-ready .scroll-top > *,
  body.npmn-enabled.npmn-ready .back-to-top > *,
  body.npmn-enabled.npmn-ready #scroll-to-top > *,
  body.npmn-enabled.npmn-ready #scroll-top > *{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;

    margin:0!important;
    padding:0!important;

    line-height:1!important;
    text-align:center!important;

    transform:translate(-50%,-50%) translateY(1px)!important;
    transform-origin:center center!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  /* SVG internos: mismo tamaño y sin offsets heredados. */
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop svg,
  body.npmn-enabled.npmn-ready #ast-scroll-top svg,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon svg,
  body.npmn-enabled.npmn-ready .scroll-to-top svg,
  body.npmn-enabled.npmn-ready .scroll-top svg,
  body.npmn-enabled.npmn-ready .back-to-top svg,
  body.npmn-enabled.npmn-ready #scroll-to-top svg,
  body.npmn-enabled.npmn-ready #scroll-top svg{
    position:static!important;
    display:block!important;
    width:20px!important;
    height:20px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    transform-origin:center center!important;
    line-height:1!important;
  }

  /* Iconos basados en i/span o texto. */
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop i,
  body.npmn-enabled.npmn-ready #ast-scroll-top i,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon i,
  body.npmn-enabled.npmn-ready .scroll-to-top i,
  body.npmn-enabled.npmn-ready .scroll-top i,
  body.npmn-enabled.npmn-ready .back-to-top i,
  body.npmn-enabled.npmn-ready #scroll-to-top i,
  body.npmn-enabled.npmn-ready #scroll-top i,
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop span,
  body.npmn-enabled.npmn-ready #ast-scroll-top span,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon span,
  body.npmn-enabled.npmn-ready .scroll-to-top span,
  body.npmn-enabled.npmn-ready .scroll-top span,
  body.npmn-enabled.npmn-ready .back-to-top span,
  body.npmn-enabled.npmn-ready #scroll-to-top span,
  body.npmn-enabled.npmn-ready #scroll-top span{
    margin:0!important;
    padding:0!important;
    line-height:1!important;
    vertical-align:middle!important;
  }

  /* Si el tema dibuja la flecha mediante pseudo-elemento,
     lo centramos pero NO añadimos content, por lo que no
     creamos ninguna flecha nueva. */
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop::before,
  body.npmn-enabled.npmn-ready #ast-scroll-top::before,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon::before,
  body.npmn-enabled.npmn-ready .scroll-to-top::before,
  body.npmn-enabled.npmn-ready .scroll-top::before,
  body.npmn-enabled.npmn-ready .back-to-top::before,
  body.npmn-enabled.npmn-ready #scroll-to-top::before,
  body.npmn-enabled.npmn-ready #scroll-top::before,
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop::after,
  body.npmn-enabled.npmn-ready #ast-scroll-top::after,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon::after,
  body.npmn-enabled.npmn-ready .scroll-to-top::after,
  body.npmn-enabled.npmn-ready .scroll-top::after,
  body.npmn-enabled.npmn-ready .back-to-top::after,
  body.npmn-enabled.npmn-ready #scroll-to-top::after,
  body.npmn-enabled.npmn-ready #scroll-top::after{
    left:50%!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;
    margin:0!important;
    line-height:1!important;
    transform:translate(-50%,-50%) translateY(1px)!important;
    transform-origin:center center!important;
  }
}


/* =========================================================
   V1.0.7 — ORIENTACIÓN CORRECTA + UMBRAL PREMIUM/ZONA MILITAR
   Mantiene el círculo y el comportamiento ya validado en el resto.
   ========================================================= */
@media (max-width:767px){

  /* ---------------------------------------------------------
     ICONO GLOBAL
     Sustituimos únicamente la REPRESENTACIÓN VISUAL interior.
     El enlace/botón original sigue siendo exactamente el mismo.
     Siempre apunta hacia ARRIBA.
     --------------------------------------------------------- */
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop{
    position:fixed!important;
    font-size:0!important;
    color:transparent!important;
    text-indent:-9999px!important;
  }

  /* Oculta el dibujo interno original sin eliminar contenido
     ni alterar accesibilidad/función del control. */
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop > *{
    opacity:0!important;
  }

  /* Evita pseudo-iconos heredados que pudieran quedar duplicados. */
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop::before{
    content:none!important;
    display:none!important;
  }

  /* Chevron UP único de NextPing. */
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;

    width:22px!important;
    height:22px!important;
    margin:0!important;
    padding:0!important;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 15.5 12 8l7 7.5' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    background-size:22px 22px!important;

    transform:translate(-50%,-50%) translateY(-1px)!important;
    transform-origin:center center!important;

    opacity:1!important;
    visibility:visible!important;
    pointer-events:none!important;
  }

  /* ---------------------------------------------------------
     UMBRAL SOLO PREMIUM / ZONA MILITAR
     Antes de 300 px la ocultamos. Después dejamos de intervenir:
     el tema/plugin original vuelve a decidir su visibilidad.
     --------------------------------------------------------- */
  body.npmn-enabled.npmn-scrolltop-threshold-page:not(.npmn-scrolltop-threshold-met)
  .npmn-managed-scrolltop{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  /* Cuando se supera el umbral NO forzamos opacity/visibility:
     simplemente quitamos nuestra restricción previa. */

  /* Los popovers siguen teniendo prioridad como en versiones anteriores. */
  body.npmn-enabled.npmn-popover-open .npmn-managed-scrolltop{
    opacity:0!important;
    pointer-events:none!important;
  }
}

@media (max-width:380px){
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop::after{
    width:20px!important;
    height:20px!important;
    background-size:20px 20px!important;
  }
}


/* =========================================================
   V1.0.8 — CÍRCULO VISUAL MÁS DISCRETO
   Mantiene la zona táctil de la 1.0.7.
   Círculo visible: 42 px.
   Flecha interior: 18 px.
   ========================================================= */
@media (max-width:767px){

  /* El control conserva su tamaño táctil y su posición,
     pero deja de dibujar el círculo en el propio elemento. */
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop,
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop:active{
    background:transparent!important;
    border-color:transparent!important;
    box-shadow:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  /* Círculo visible independiente, ligeramente más pequeño
     que el área táctil. */
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;

    width:42px!important;
    height:42px!important;
    margin:0!important;
    padding:0!important;

    border-radius:999px!important;
    background:rgba(36,99,235,.72)!important;
    border:1px solid rgba(255,255,255,.26)!important;
    box-shadow:0 7px 17px rgba(24,72,160,.16)!important;

    -webkit-backdrop-filter:blur(7px) saturate(1.10)!important;
    backdrop-filter:blur(7px) saturate(1.10)!important;

    transform:translate(-50%,-50%)!important;
    transform-origin:center center!important;

    opacity:1!important;
    visibility:visible!important;
    pointer-events:none!important;
  }

  /* Flecha blanca un poco más pequeña para mantener proporción. */
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop::after{
    width:18px!important;
    height:18px!important;
    background-size:18px 18px!important;
    transform:translate(-50%,-50%) translateY(-1px)!important;
  }

  /* Feedback táctil muy sutil sobre el círculo visual. */
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop:active::before{
    background:rgba(36,99,235,.84)!important;
    transform:translate(-50%,-50%) scale(.96)!important;
  }

  /* Si el control está oculto por el umbral específico de Premium/
     Zona Militar, sus pseudo-elementos tampoco deben verse. */
  body.npmn-enabled.npmn-scrolltop-threshold-page:not(.npmn-scrolltop-threshold-met)
  .npmn-managed-scrolltop::before,
  body.npmn-enabled.npmn-scrolltop-threshold-page:not(.npmn-scrolltop-threshold-met)
  .npmn-managed-scrolltop::after{
    opacity:0!important;
    visibility:hidden!important;
  }

  body.npmn-enabled.npmn-popover-open .npmn-managed-scrolltop::before,
  body.npmn-enabled.npmn-popover-open .npmn-managed-scrolltop::after{
    opacity:0!important;
  }
}

@media (max-width:380px){
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop::before{
    width:40px!important;
    height:40px!important;
  }

  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop::after{
    width:17px!important;
    height:17px!important;
    background-size:17px 17px!important;
  }
}


/* =========================================================
   V1.0.10 — DOCK CENTRADO + COMPACTACIÓN SUAVE
   Base estable: 1.0.8.
   Corrige el desplazamiento lateral observado en 1.0.9.
   ========================================================= */
@media (max-width:767px){

  /* El dock original usa centrado por left:50% + translateX(-50%).
     Conservamos ese sistema y solo controlamos el ancho. */
  body.npmn-enabled .npmn-dock{
    left:50%!important;
    right:auto!important;
    width:calc(100% - 40px)!important;
    max-width:720px!important;
    transform:translateX(-50%)!important;

    padding-top:8px!important;
    padding-bottom:8px!important;
    border-radius:28px!important;

    transition:
      width .22s ease,
      padding .22s ease,
      border-radius .22s ease,
      box-shadow .22s ease,
      transform .22s cubic-bezier(.2,.8,.2,1)!important;
  }

  body.npmn-enabled .npmn-dock__item{
    min-height:66px!important;
    transition:
      min-height .22s ease,
      padding .22s ease,
      transform .22s cubic-bezier(.2,.8,.2,1),
      background-color .18s ease,
      color .18s ease,
      box-shadow .18s ease!important;
  }

  body.npmn-enabled .npmn-dock__icon{
    transition:
      width .22s ease,
      height .22s ease,
      transform .22s cubic-bezier(.2,.8,.2,1)!important;
  }

  body.npmn-enabled .npmn-dock__label{
    transition:
      font-size .22s ease,
      transform .22s ease,
      opacity .18s ease!important;
  }

  /* Al bajar: un poco más estrecho y bajo, sin perder los 5 botones. */
  body.npmn-enabled.npmn-dock-compact:not(.npmn-popover-open) .npmn-dock{
    width:calc(100% - 56px)!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
    border-radius:25px!important;
    box-shadow:
      0 7px 19px rgba(15,36,74,.12),
      0 1px 0 rgba(255,255,255,.75) inset!important;
  }

  body.npmn-enabled.npmn-dock-compact:not(.npmn-popover-open) .npmn-dock__item{
    min-height:58px!important;
    padding-top:4px!important;
    padding-bottom:4px!important;
  }

  body.npmn-enabled.npmn-dock-compact:not(.npmn-popover-open) .npmn-dock__icon{
    width:25px!important;
    height:25px!important;
    transform:scale(.94)!important;
  }

  body.npmn-enabled.npmn-dock-compact:not(.npmn-popover-open) .npmn-dock__label{
    font-size:11.5px!important;
    transform:translateY(-1px)!important;
  }

  body.npmn-enabled.npmn-dock-compact:not(.npmn-popover-open)
  .npmn-dock__item.npmn-dock__item--active{
    transform:translateY(-2px)!important;
  }

  /* Menú/Perfil abiertos: dock normal y estable. */
  body.npmn-enabled.npmn-popover-open .npmn-dock{
    width:calc(100% - 40px)!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
    border-radius:28px!important;
  }

  body.npmn-enabled.npmn-popover-open .npmn-dock__item{
    min-height:66px!important;
  }

  body.npmn-enabled.npmn-popover-open .npmn-dock__icon{
    width:28px!important;
    height:28px!important;
    transform:none!important;
  }

  body.npmn-enabled.npmn-popover-open .npmn-dock__label{
    font-size:12.5px!important;
    transform:none!important;
  }
}

@media (max-width:380px){
  body.npmn-enabled .npmn-dock{
    width:calc(100% - 28px)!important;
  }

  body.npmn-enabled.npmn-dock-compact:not(.npmn-popover-open) .npmn-dock{
    width:calc(100% - 40px)!important;
  }

  body.npmn-enabled .npmn-dock__label{
    font-size:11.5px!important;
  }

  body.npmn-enabled.npmn-dock-compact:not(.npmn-popover-open) .npmn-dock__label{
    font-size:10.8px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  body.npmn-enabled .npmn-dock,
  body.npmn-enabled .npmn-dock__item,
  body.npmn-enabled .npmn-dock__icon,
  body.npmn-enabled .npmn-dock__label{
    transition:none!important;
  }
}


/* =========================================================
   V1.0.11 — DOCK MÁS BAJO + MICROANIMACIÓN SUAVE
   Reduce un poco la altura manteniendo buena pulsación.
   Añade un pequeño efecto de foco al cargar la pestaña activa.
   ========================================================= */
@media (max-width:767px){
  body.npmn-enabled{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))!important}

  body.npmn-enabled .npmn-dock{
    min-height:58px!important;
    padding-top:4px!important;
    padding-bottom:4px!important;
    border-radius:24px!important;
    transition:
      width .22s ease,
      min-height .22s ease,
      padding .22s ease,
      border-radius .22s ease,
      box-shadow .22s ease,
      transform .18s ease!important;
  }

  body.npmn-enabled .npmn-dock__item{
    min-height:50px!important;
    padding-top:4px!important;
    padding-bottom:3px!important;
    border-radius:17px!important;
  }

  body.npmn-enabled .npmn-dock__icon{
    width:24px!important;
    height:24px!important;
  }

  body.npmn-enabled .npmn-dock__label{
    font-size:11.2px!important;
    line-height:1.02!important;
  }

  body.npmn-enabled .npmn-dock__item--active,
  body.npmn-enabled .npmn-dock__item.npmn-dock__item--open{
    transform:translateY(-2px)!important;
  }

  body.npmn-enabled .npmn-dock__item--active::after,
  body.npmn-enabled .npmn-dock__item.npmn-dock__item--open::after{
    bottom:-6px!important;
  }

  body.npmn-enabled.npmn-dock-compact:not(.npmn-popover-open) .npmn-dock{
    min-height:52px!important;
    padding-top:3px!important;
    padding-bottom:3px!important;
    border-radius:22px!important;
  }

  body.npmn-enabled.npmn-dock-compact:not(.npmn-popover-open) .npmn-dock__item{
    min-height:44px!important;
    padding-top:3px!important;
    padding-bottom:3px!important;
  }

  body.npmn-enabled.npmn-dock-compact:not(.npmn-popover-open) .npmn-dock__icon{
    width:22px!important;
    height:22px!important;
    transform:scale(.96)!important;
  }

  body.npmn-enabled.npmn-dock-compact:not(.npmn-popover-open) .npmn-dock__label{
    font-size:10.4px!important;
    transform:none!important;
  }

  body.npmn-enabled.npmn-popover-open .npmn-dock{
    min-height:58px!important;
    padding-top:4px!important;
    padding-bottom:4px!important;
    border-radius:24px!important;
  }

  body.npmn-enabled.npmn-popover-open .npmn-dock__item{
    min-height:50px!important;
  }

  body.npmn-enabled.npmn-popover-open .npmn-dock__icon{
    width:24px!important;
    height:24px!important;
  }

  body.npmn-enabled.npmn-popover-open .npmn-dock__label{
    font-size:11.2px!important;
  }

  @keyframes npmnDockFocusIn{
    0%{transform:translateY(1px) scale(.965)}
    62%{transform:translateY(-3px) scale(1.01)}
    100%{transform:translateY(-2px) scale(1)}
  }

  body.npmn-enabled .npmn-dock__item.npmn-dock__item--load-focus{
    animation:npmnDockFocusIn .28s cubic-bezier(.22,.9,.28,1) 1!important;
  }
}

@media (max-width:380px){
  body.npmn-enabled .npmn-dock__label{font-size:10.6px!important}
  body.npmn-enabled.npmn-dock-compact:not(.npmn-popover-open) .npmn-dock__label{font-size:10px!important}
}

@media (prefers-reduced-motion:reduce){
  body.npmn-enabled .npmn-dock__item.npmn-dock__item--load-focus{
    animation:none!important;
  }
}

/* =========================================================
   V1.0.12 — DOCK TRANSLÚCIDO NEXTPING
   - Fondo ligeramente más transparente (90%).
   - Blur más profundo para mantener legibilidad sobre contenido.
   - Borde y sombra suavizados sin alterar iconos/textos.
   - Solo móvil; no cambia layout ni comportamiento del dock.
   ========================================================= */
@media (max-width:767px){
  body.npmn-enabled .npmn-dock{
    background:rgba(255,255,255,.90)!important;
    border-color:rgba(211,222,236,.84)!important;
    box-shadow:
      0 12px 30px rgba(15,38,71,.125),
      0 3px 9px rgba(15,38,71,.055)!important;
    -webkit-backdrop-filter:blur(22px) saturate(1.22)!important;
    backdrop-filter:blur(22px) saturate(1.22)!important;
  }
}

/* =========================================================
   V1.0.13 — iPAD VERTICAL: DOCK LATERAL DERECHO
   - SOLO tablet en orientación vertical (768–1100 px).
   - Mantiene intacta la vista móvil ya cerrada.
   - Reutiliza los 5 accesos existentes: Inicio, Premium,
     Cursos, Menú y Perfil.
   - Dock flotante discreto a la derecha, estilo NextPing.
   - Menú y Perfil despliegan su popover hacia la izquierda.
   ========================================================= */
@media (min-width:768px) and (max-width:1100px) and (orientation:portrait){

  /* El dock es flotante: no reservamos espacio ni alteramos
     el ancho del contenido de la web. */
  body.npmn-enabled{
    padding-bottom:0!important;
  }

  .npmn-shell{
    position:fixed!important;
    inset:0!important;
    z-index:2147481500!important;
    display:block!important;
    pointer-events:none!important;
  }

  body.npmn-enabled .npmn-dock{
    position:absolute!important;
    top:50%!important;
    right:16px!important;
    bottom:auto!important;
    left:auto!important;
    transform:translateY(-50%)!important;

    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:repeat(var(--npmn-items,5),56px)!important;
    gap:4px!important;
    align-items:center!important;

    width:74px!important;
    min-height:0!important;
    padding:8px 7px!important;
    box-sizing:border-box!important;

    background:rgba(255,255,255,.90)!important;
    border:1px solid rgba(211,222,236,.88)!important;
    border-radius:30px!important;
    box-shadow:
      0 16px 38px rgba(15,38,71,.14),
      0 4px 12px rgba(15,38,71,.06)!important;
    -webkit-backdrop-filter:blur(22px) saturate(1.20)!important;
    backdrop-filter:blur(22px) saturate(1.20)!important;
    pointer-events:auto!important;
  }

  body.npmn-enabled .npmn-dock__item{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;

    width:58px!important;
    min-width:58px!important;
    min-height:56px!important;
    height:56px!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;

    color:#5f6c82!important;
    background:transparent!important;
    border:1px solid transparent!important;
    border-radius:20px!important;
    box-shadow:none!important;
    text-decoration:none!important;
    -webkit-appearance:none!important;
    appearance:none!important;
    -webkit-tap-highlight-color:transparent!important;

    transition:
      transform .18s cubic-bezier(.2,.8,.2,1),
      color .18s ease,
      background-color .18s ease,
      border-color .18s ease,
      box-shadow .18s ease!important;
  }

  body.npmn-enabled .npmn-dock__icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:25px!important;
    height:25px!important;
    color:currentColor!important;
    line-height:1!important;
  }

  body.npmn-enabled .npmn-dock__icon img{
    width:27px!important;
    height:27px!important;
    border-radius:50%!important;
    object-fit:cover!important;
  }

  /* En iPad lateral priorizamos los iconos: más limpio y
     consistente con una barra de herramientas de tablet. */
  body.npmn-enabled .npmn-dock__label{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
  }

  body.npmn-enabled .npmn-dock__item--active,
  body.npmn-enabled .npmn-dock__item.npmn-dock__item--open{
    color:#2463eb!important;
    background:linear-gradient(180deg,rgba(36,99,235,.105),rgba(36,99,235,.055))!important;
    border-color:rgba(36,99,235,.16)!important;
    box-shadow:0 7px 17px rgba(36,99,235,.10)!important;
    transform:none!important;
  }

  /* Punto activo en el borde IZQUIERDO del dock: evita competir
     con el borde derecho de la pantalla. */
  body.npmn-enabled .npmn-dock__item--active::after,
  body.npmn-enabled .npmn-dock__item.npmn-dock__item--open::after{
    content:""!important;
    position:absolute!important;
    left:-10px!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;
    width:5px!important;
    height:5px!important;
    border-radius:50%!important;
    background:#2463eb!important;
    transform:translateY(-50%)!important;
    box-shadow:0 0 0 3px rgba(36,99,235,.09)!important;
  }

  body.npmn-enabled .npmn-dock__item:active{
    transform:scale(.94)!important;
  }

  body.npmn-enabled .npmn-dock__item:active .npmn-dock__icon{
    transform:scale(.92)!important;
  }

  /* Popovers de Menú/Perfil: salen hacia la izquierda del dock. */
  .npmn-popover{
    position:absolute!important;
    top:50%!important;
    right:102px!important;
    bottom:auto!important;
    left:auto!important;
    transform:translateY(-50%) translateX(10px) scale(.985)!important;

    width:min(310px,calc(100vw - 150px))!important;
    box-sizing:border-box!important;
    padding:11px!important;
    background:rgba(255,255,255,.95)!important;
    border:1px solid #d9e4f0!important;
    border-radius:22px!important;
    box-shadow:
      0 18px 42px rgba(15,38,71,.17),
      0 4px 12px rgba(15,38,71,.07)!important;
    -webkit-backdrop-filter:blur(20px) saturate(1.18)!important;
    backdrop-filter:blur(20px) saturate(1.18)!important;

    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:
      opacity .18s ease,
      transform .18s cubic-bezier(.2,.8,.2,1),
      visibility .18s ease!important;
  }

  .npmn-popover:not([hidden]){
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(-50%) translateX(0) scale(1)!important;
    pointer-events:auto!important;
  }

  .npmn-popover__title{
    padding:4px 7px 9px!important;
    color:#183153!important;
    font-size:13px!important;
    font-weight:850!important;
  }

  .npmn-popover__links{
    display:grid!important;
    gap:6px!important;
  }

  .npmn-popover__links a{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    min-height:46px!important;
    padding:9px 11px!important;
    color:#283951!important;
    background:#f8fbff!important;
    border:1px solid #e3ebf4!important;
    border-radius:14px!important;
    font-size:13.5px!important;
    font-weight:700!important;
    text-decoration:none!important;
  }

  .npmn-popover__miniicon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:21px!important;
    height:21px!important;
    flex:0 0 21px!important;
    color:#2463eb!important;
  }

  .npmn-profile-head{
    display:flex!important;
    align-items:center!important;
    gap:11px!important;
    padding:5px 7px 11px!important;
  }

  .npmn-profile-head__avatar{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    color:#5f6c82!important;
    border-radius:50%!important;
    overflow:hidden!important;
    background:#eef4fb!important;
  }

  .npmn-profile-head__avatar img{
    width:38px!important;
    height:38px!important;
    object-fit:cover!important;
    border-radius:50%!important;
  }

  .npmn-profile-head strong{
    display:block!important;
    max-width:220px!important;
    overflow:hidden!important;
    color:#172b4d!important;
    font-size:13.5px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
  }

  .npmn-profile-head small{
    display:block!important;
    max-width:220px!important;
    overflow:hidden!important;
    margin-top:2px!important;
    color:#718198!important;
    font-size:11px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
  }

  /* El dock sustituye al hamburguesa del header SOLO en iPad vertical. */
  body.npmn-enabled.npmn-hide-header-menu.npmn-ready .ast-header-break-point .main-header-menu-toggle,
  body.npmn-enabled.npmn-hide-header-menu.npmn-ready .main-header-menu-toggle,
  body.npmn-enabled.npmn-hide-header-menu.npmn-ready .ast-mobile-menu-trigger-minimal,
  body.npmn-enabled.npmn-hide-header-menu.npmn-ready button.menu-toggle{
    display:none!important;
  }
}

/* =========================================================
   V1.0.14 — iPAD VERTICAL: RAIL COMPLETO ESTILO X / INSTAGRAM
   - Solo iPad/tablet vertical (768–1100 px).
   - La navegación móvil existente NO se modifica.
   - Rail derecho más fino y ligero.
   - Con sesión: Inicio, Premium, Cursos, Blog, Foro,
     Zona Militar, Mis compras, Mis beneficios y Perfil.
   - Sin sesión: oculta compras/beneficios y Perfil abre
     Iniciar sesión / Registrarse.
   ========================================================= */
.npmn-ipad-rail{display:none;}

@media (min-width:768px) and (max-width:1100px) and (orientation:portrait){
  /* Sustituimos únicamente el dock de tablet por el rail completo. */
  body.npmn-enabled .npmn-dock{
    display:none!important;
  }

  body.npmn-enabled .npmn-ipad-rail{
    position:absolute!important;
    top:50%!important;
    right:10px!important;
    left:auto!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;

    width:60px!important;
    max-height:calc(100vh - 118px)!important;
    padding:7px 6px!important;
    box-sizing:border-box!important;
    overflow-y:auto!important;
    overflow-x:visible!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;

    background:rgba(255,255,255,.82)!important;
    border:1px solid rgba(211,222,236,.74)!important;
    border-radius:27px!important;
    box-shadow:
      0 13px 30px rgba(15,38,71,.115),
      0 3px 9px rgba(15,38,71,.045)!important;
    -webkit-backdrop-filter:blur(22px) saturate(1.18)!important;
    backdrop-filter:blur(22px) saturate(1.18)!important;
    pointer-events:auto!important;
  }

  body.npmn-enabled .npmn-ipad-rail::-webkit-scrollbar{display:none!important;}

  body.npmn-enabled .npmn-ipad-rail__item{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 46px!important;

    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    padding:0!important;
    margin:0!important;

    color:#5f6c82!important;
    background:transparent!important;
    border:1px solid transparent!important;
    border-radius:15px!important;
    box-shadow:none!important;
    text-decoration:none!important;
    -webkit-appearance:none!important;
    appearance:none!important;
    -webkit-tap-highlight-color:transparent!important;

    transition:
      color .16s ease,
      background-color .16s ease,
      border-color .16s ease,
      box-shadow .16s ease,
      transform .16s cubic-bezier(.2,.8,.2,1)!important;
  }

  body.npmn-enabled .npmn-ipad-rail__icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:23px!important;
    height:23px!important;
    color:currentColor!important;
    line-height:1!important;
  }

  body.npmn-enabled .npmn-ipad-rail__icon svg{
    display:block!important;
    width:23px!important;
    height:23px!important;
    fill:currentColor!important;
  }

  body.npmn-enabled .npmn-ipad-rail__icon img{
    width:25px!important;
    height:25px!important;
    object-fit:cover!important;
    border-radius:50%!important;
  }

  body.npmn-enabled .npmn-ipad-rail__item--active,
  body.npmn-enabled .npmn-ipad-rail__item.npmn-dock__item--open{
    color:#2463eb!important;
    background:linear-gradient(180deg,rgba(36,99,235,.105),rgba(36,99,235,.05))!important;
    border-color:rgba(36,99,235,.16)!important;
    box-shadow:0 6px 15px rgba(36,99,235,.08)!important;
  }

  body.npmn-enabled .npmn-ipad-rail__item--active::after,
  body.npmn-enabled .npmn-ipad-rail__item.npmn-dock__item--open::after{
    content:""!important;
    position:absolute!important;
    left:-8px!important;
    top:50%!important;
    width:4px!important;
    height:4px!important;
    border-radius:50%!important;
    background:#2463eb!important;
    transform:translateY(-50%)!important;
    box-shadow:0 0 0 3px rgba(36,99,235,.08)!important;
  }

  body.npmn-enabled .npmn-ipad-rail__item:active{
    transform:scale(.92)!important;
  }

  /* Etiqueta ligera para trackpad/Apple Pencil/hover; en táctil no ocupa espacio. */
  body.npmn-enabled .npmn-ipad-rail__item::before{
    content:attr(data-label)!important;
    position:absolute!important;
    right:54px!important;
    top:50%!important;
    transform:translateY(-50%) translateX(5px)!important;
    z-index:3!important;
    max-width:190px!important;
    padding:6px 9px!important;
    color:#182b49!important;
    background:rgba(255,255,255,.96)!important;
    border:1px solid rgba(213,224,238,.92)!important;
    border-radius:10px!important;
    box-shadow:0 7px 18px rgba(15,38,71,.10)!important;
    font-size:11.5px!important;
    font-weight:750!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .14s ease,transform .14s ease,visibility .14s ease!important;
  }

  @media (hover:hover) and (pointer:fine){
    body.npmn-enabled .npmn-ipad-rail__item:hover::before,
    body.npmn-enabled .npmn-ipad-rail__item:focus-visible::before{
      opacity:1!important;
      visibility:visible!important;
      transform:translateY(-50%) translateX(0)!important;
    }
  }

  /* El perfil sin sesión reutiliza el popover ya existente. */
  body.npmn-enabled .npmn-popover{
    right:80px!important;
  }
}


/* =========================================================
   V1.0.15 — iPAD RAIL: PERFIL ÚNICO + ICONOS CONFIGURABLES
   - Evita que avatar e icono fallback aparezcan a la vez.
   - Blog, Foro, Zona Militar, Mis compras y Mis beneficios
     usan ahora el icono elegido en ajustes del plugin.
   ========================================================= */
@media (min-width:768px) and (max-width:1100px) and (orientation:portrait){
  body.npmn-enabled .npmn-ipad-rail .npmn-avatar-fallback{display:none;}
}

/* =========================================================
   V1.0.16 — iPAD VERTICAL: RAIL MÁS FINO + ZONA SEGURA
   - SOLO iPad/tablet vertical (768–1100 px).
   - La vista móvil permanece intacta.
   - Reduce ligeramente ancho, iconos y separación del rail.
   - Reserva margen real a la derecha para que el rail NO tape
     tarjetas, botones ni contenido de ninguna página.
   ========================================================= */
@media (min-width:768px) and (max-width:1100px) and (orientation:portrait){
  /* Zona segura exclusiva para iPad vertical. El rail vive dentro
     de este espacio y deja de superponerse al contenido principal. */
  html body.npmn-enabled{
    width:100%!important;
    box-sizing:border-box!important;
    padding-right:68px!important;
  }

  /* La capa del dock sigue ocupando el viewport completo, por lo que
     el rail queda pegado al borde físico y no al contenido reducido. */
  body.npmn-enabled .npmn-shell{
    right:0!important;
  }

  body.npmn-enabled .npmn-ipad-rail{
    right:6px!important;
    width:54px!important;
    gap:2px!important;
    padding:6px 5px!important;
    border-radius:24px!important;
    max-height:calc(100vh - 104px)!important;
    background:rgba(255,255,255,.80)!important;
    border-color:rgba(211,222,236,.70)!important;
    box-shadow:
      0 11px 25px rgba(15,38,71,.10),
      0 2px 7px rgba(15,38,71,.04)!important;
    -webkit-backdrop-filter:blur(22px) saturate(1.16)!important;
    backdrop-filter:blur(22px) saturate(1.16)!important;
  }

  body.npmn-enabled .npmn-ipad-rail__item{
    flex-basis:40px!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    border-radius:13px!important;
  }

  body.npmn-enabled .npmn-ipad-rail__icon,
  body.npmn-enabled .npmn-ipad-rail__icon svg{
    width:21px!important;
    height:21px!important;
  }

  body.npmn-enabled .npmn-ipad-rail__icon img{
    width:23px!important;
    height:23px!important;
  }

  body.npmn-enabled .npmn-ipad-rail__item--active::after,
  body.npmn-enabled .npmn-ipad-rail__item.npmn-dock__item--open::after{
    left:-7px!important;
    width:4px!important;
    height:4px!important;
  }

  /* Tooltip/popover acompaña la nueva posición más exterior del rail. */
  body.npmn-enabled .npmn-ipad-rail__item::before{
    right:47px!important;
  }

  body.npmn-enabled .npmn-popover{
    right:66px!important;
  }
}


/* =========================================================
   V1.0.17 — iPAD VERTICAL: DOCK INFERIOR COMPLETO
   - SOLO iPad/tablet vertical (768–1100 px).
   - Recupera el ancho original de la web: elimina la zona segura
     lateral introducida en v1.0.16.
   - Los 9 accesos directos del iPad pasan a un dock inferior
     horizontal, flotante y translúcido estilo NextPing.
   - Usuario sin sesión: compras/beneficios siguen ocultos y Perfil
     conserva el acceso a Iniciar sesión / Crear cuenta.
   - La vista móvil <=767 px permanece EXACTAMENTE igual.
   ========================================================= */
@media (min-width:768px) and (max-width:1100px) and (orientation:portrait){
  /* Restaurar composición original de la web: nada de columna derecha. */
  html body.npmn-enabled{
    width:auto!important;
    padding-right:0!important;
    padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;
  }

  body.npmn-enabled .npmn-shell{
    position:fixed!important;
    inset:0!important;
    right:0!important;
    z-index:2147481500!important;
    display:block!important;
    pointer-events:none!important;
  }

  /* El dock móvil de 5 botones sigue oculto en iPad. */
  body.npmn-enabled .npmn-dock{
    display:none!important;
  }

  /* Reutilizamos el rail completo de iPad como dock inferior. */
  body.npmn-enabled .npmn-ipad-rail{
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;
    transform:translateX(-50%)!important;

    display:grid!important;
    grid-template-columns:repeat(var(--npmn-ipad-items,9),minmax(0,1fr))!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;

    width:min(920px,calc(100vw - 48px))!important;
    max-width:calc(100vw - 48px)!important;
    min-height:66px!important;
    max-height:none!important;
    padding:6px 8px!important;
    box-sizing:border-box!important;
    overflow:visible!important;

    background:rgba(255,255,255,.86)!important;
    border:1px solid rgba(205,218,235,.78)!important;
    border-radius:26px!important;
    box-shadow:
      0 16px 38px rgba(15,38,71,.13),
      0 3px 10px rgba(15,38,71,.05),
      inset 0 1px 0 rgba(255,255,255,.72)!important;
    -webkit-backdrop-filter:blur(24px) saturate(1.20)!important;
    backdrop-filter:blur(24px) saturate(1.20)!important;
    pointer-events:auto!important;
  }

  body.npmn-enabled .npmn-ipad-rail__item{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;

    width:auto!important;
    height:auto!important;
    min-width:0!important;
    min-height:52px!important;
    flex:initial!important;
    padding:4px 3px 3px!important;
    margin:0!important;

    color:#5f6c82!important;
    background:transparent!important;
    border:1px solid transparent!important;
    border-radius:17px!important;
    box-shadow:none!important;
    text-decoration:none!important;
    font:inherit!important;
    -webkit-appearance:none!important;
    appearance:none!important;
    -webkit-tap-highlight-color:transparent!important;
    transition:
      color .18s ease,
      background-color .18s ease,
      border-color .18s ease,
      box-shadow .18s ease,
      transform .18s cubic-bezier(.2,.8,.2,1)!important;
  }

  body.npmn-enabled .npmn-ipad-rail__icon,
  body.npmn-enabled .npmn-ipad-rail__icon svg{
    width:22px!important;
    height:22px!important;
  }

  body.npmn-enabled .npmn-ipad-rail__icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:currentColor!important;
    line-height:1!important;
  }

  body.npmn-enabled .npmn-ipad-rail__icon svg{
    display:block!important;
    fill:currentColor!important;
  }

  body.npmn-enabled .npmn-ipad-rail__icon img{
    display:block!important;
    width:23px!important;
    height:23px!important;
    object-fit:cover!important;
    border-radius:50%!important;
  }

  body.npmn-enabled .npmn-ipad-rail__label{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    color:currentColor!important;
    font-size:9.6px!important;
    font-weight:760!important;
    line-height:1.05!important;
    letter-spacing:-.01em!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
    text-align:center!important;
  }

  body.npmn-enabled .npmn-ipad-rail__item--active,
  body.npmn-enabled .npmn-ipad-rail__item.npmn-dock__item--open{
    color:#2463eb!important;
    background:linear-gradient(180deg,rgba(36,99,235,.105),rgba(36,99,235,.052))!important;
    border-color:rgba(36,99,235,.15)!important;
    box-shadow:0 7px 16px rgba(36,99,235,.09)!important;
    transform:translateY(-2px)!important;
  }

  body.npmn-enabled .npmn-ipad-rail__item--active::after,
  body.npmn-enabled .npmn-ipad-rail__item.npmn-dock__item--open::after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:-6px!important;
    width:5px!important;
    height:5px!important;
    border-radius:50%!important;
    background:#2463eb!important;
    transform:translateX(-50%)!important;
    box-shadow:0 0 0 3px rgba(36,99,235,.08)!important;
  }

  body.npmn-enabled .npmn-ipad-rail__item:active{
    transform:translateY(-1px) scale(.95)!important;
  }

  /* Desactivar el tooltip lateral de las versiones rail: el nombre ya
     está visible debajo del icono en el dock inferior. */
  body.npmn-enabled .npmn-ipad-rail__item::before{
    content:none!important;
    display:none!important;
  }

  /* Perfil de visitante: popover arriba del dock, centrado. */
  body.npmn-enabled .npmn-popover{
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;
    transform:translateX(-50%) translateY(10px) scale(.985)!important;
    width:min(320px,calc(100vw - 48px))!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  body.npmn-enabled .npmn-popover:not([hidden]){
    opacity:1!important;
    visibility:visible!important;
    transform:translateX(-50%) translateY(0) scale(1)!important;
    pointer-events:auto!important;
  }

  /* El dock sustituye al hamburguesa del header solo en iPad vertical. */
  body.npmn-enabled.npmn-hide-header-menu.npmn-ready .ast-header-break-point .main-header-menu-toggle,
  body.npmn-enabled.npmn-hide-header-menu.npmn-ready .main-header-menu-toggle,
  body.npmn-enabled.npmn-hide-header-menu.npmn-ready .ast-mobile-menu-trigger-minimal,
  body.npmn-enabled.npmn-hide-header-menu.npmn-ready button.menu-toggle{
    display:none!important;
  }
}

@media (min-width:768px) and (max-width:860px) and (orientation:portrait){
  body.npmn-enabled .npmn-ipad-rail{
    width:calc(100vw - 34px)!important;
    max-width:calc(100vw - 34px)!important;
    gap:1px!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }

  body.npmn-enabled .npmn-ipad-rail__item{
    min-height:50px!important;
    padding-left:2px!important;
    padding-right:2px!important;
  }

  body.npmn-enabled .npmn-ipad-rail__icon,
  body.npmn-enabled .npmn-ipad-rail__icon svg{
    width:21px!important;
    height:21px!important;
  }

  body.npmn-enabled .npmn-ipad-rail__label{
    font-size:8.8px!important;
  }
}

/* =========================================================
   V1.0.18 — iPAD HORIZONTAL: SIN DOCK
   - El dock completo de iPad pertenece exclusivamente a vertical.
   - En horizontal se usa la navegación normal de escritorio.
   - Doble protección: media query + clase JS para Safari/iPadOS,
     donde algunos modos de escritorio pueden reportar el viewport
     de forma distinta al esperado.
   - No modifica el dock móvil de 5 accesos.
   ========================================================= */
@media (orientation:landscape){
  body.npmn-enabled .npmn-ipad-rail{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}



/* =========================================================
   V1.0.19 — iPAD VERTICAL: PERFIL LIMPIO + FLECHA SOBRE DOCK
   - El acceso de visitante se etiqueta simplemente como “Perfil”.
     Al tocarlo sigue abriendo Iniciar sesión / Crear cuenta.
   - La flecha global de volver arriba se coloca por encima del dock
     inferior y respeta la zona segura del iPad.
   - No modifica iPad horizontal ni el dock móvil <=767 px.
   ========================================================= */
@media (min-width:768px) and (max-width:1100px) and (orientation:portrait){
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop,
  body.npmn-enabled.npmn-ready #ast-scroll-top,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon,
  body.npmn-enabled.npmn-ready .scroll-to-top,
  body.npmn-enabled.npmn-ready .scroll-top,
  body.npmn-enabled.npmn-ready .back-to-top,
  body.npmn-enabled.npmn-ready #scroll-to-top,
  body.npmn-enabled.npmn-ready #scroll-top{
    position:fixed!important;
    right:14px!important;
    bottom:calc(96px + env(safe-area-inset-bottom,0px))!important;
    z-index:2147481400!important;
  }

  body.npmn-enabled.npmn-profile-popover-open .npmn-managed-scrolltop,
  body.npmn-enabled.npmn-profile-popover-open #ast-scroll-top,
  body.npmn-enabled.npmn-profile-popover-open .ast-scroll-top-icon,
  body.npmn-enabled.npmn-profile-popover-open .scroll-to-top,
  body.npmn-enabled.npmn-profile-popover-open .scroll-top,
  body.npmn-enabled.npmn-profile-popover-open .back-to-top,
  body.npmn-enabled.npmn-profile-popover-open #scroll-to-top,
  body.npmn-enabled.npmn-profile-popover-open #scroll-top{
    opacity:0!important;
    pointer-events:none!important;
  }
}

/* =========================================================
   V1.0.21 — iPAD VERTICAL: PERFIL ANCLADO + FLECHA CIRCULAR
   - El popover de Perfil queda visualmente unido al último acceso del dock.
   - Se desplaza al extremo derecho y añade un pequeño pico de anclaje.
   - La flecha global es realmente circular y se acerca ligeramente al borde.
   - No modifica iPad horizontal ni móvil <=767 px.
   ========================================================= */
@media (min-width:768px) and (max-width:1100px) and (orientation:portrait){
  body.npmn-enabled .npmn-popover--profile{
    position:absolute!important;
    left:auto!important;
    right:max(8px,calc((100vw - 920px)/2 - 42px))!important;
    top:auto!important;
    bottom:calc(91px + env(safe-area-inset-bottom,0px))!important;
    width:min(286px,calc(100vw - 32px))!important;
    transform:translateY(10px) scale(.985)!important;
    transform-origin:calc(100% - 52px) 100%!important;
    z-index:2147481600!important;
  }

  body.npmn-enabled .npmn-popover--profile:not([hidden]){
    transform:translateY(0) scale(1)!important;
  }

  body.npmn-enabled .npmn-popover--profile::after{
    content:""!important;
    position:absolute!important;
    right:44px!important;
    bottom:-7px!important;
    width:14px!important;
    height:14px!important;
    background:rgba(255,255,255,.97)!important;
    border-right:1px solid #d9e4f0!important;
    border-bottom:1px solid #d9e4f0!important;
    transform:rotate(45deg)!important;
    border-radius:0 0 3px 0!important;
    pointer-events:none!important;
  }

  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop,
  body.npmn-enabled.npmn-ready #ast-scroll-top,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon,
  body.npmn-enabled.npmn-ready .scroll-to-top,
  body.npmn-enabled.npmn-ready .scroll-top,
  body.npmn-enabled.npmn-ready .back-to-top,
  body.npmn-enabled.npmn-ready #scroll-to-top,
  body.npmn-enabled.npmn-ready #scroll-top{
    position:fixed!important;
    left:auto!important;
    right:max(6px,env(safe-area-inset-right,0px))!important;
    bottom:calc(96px + env(safe-area-inset-bottom,0px))!important;
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    max-width:48px!important;
    max-height:48px!important;
    padding:0!important;
    margin:0!important;
    border-radius:50%!important;
    overflow:hidden!important;
    z-index:2147481400!important;
  }

  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop > *,
  body.npmn-enabled.npmn-ready #ast-scroll-top > *,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon > *,
  body.npmn-enabled.npmn-ready .scroll-to-top > *,
  body.npmn-enabled.npmn-ready .scroll-top > *,
  body.npmn-enabled.npmn-ready .back-to-top > *,
  body.npmn-enabled.npmn-ready #scroll-to-top > *,
  body.npmn-enabled.npmn-ready #scroll-top > *{
    max-width:100%!important;
    max-height:100%!important;
  }

  body.npmn-enabled.npmn-profile-popover-open .npmn-managed-scrolltop,
  body.npmn-enabled.npmn-profile-popover-open #ast-scroll-top,
  body.npmn-enabled.npmn-profile-popover-open .ast-scroll-top-icon,
  body.npmn-enabled.npmn-profile-popover-open .scroll-to-top,
  body.npmn-enabled.npmn-profile-popover-open .scroll-top,
  body.npmn-enabled.npmn-profile-popover-open .back-to-top,
  body.npmn-enabled.npmn-profile-popover-open #scroll-to-top,
  body.npmn-enabled.npmn-profile-popover-open #scroll-top{
    opacity:0!important;
    pointer-events:none!important;
  }
}



/* =========================================================
   V1.0.22 — iPAD VERTICAL: FLECHA 25% MÁS PEQUEÑA + OCULTA SOLO EN PERFIL
   - Reduce el botón de volver arriba de 48px a 36px.
   - Sustituye el icono heredado por un chevron propio perfectamente centrado.
   - La flecha se oculta únicamente mientras el popover Perfil está abierto.
   - Otros popovers no alteran la flecha.
   ========================================================= */
@media (min-width:768px) and (max-width:1100px) and (orientation:portrait){
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop,
  body.npmn-enabled.npmn-ready #ast-scroll-top,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon,
  body.npmn-enabled.npmn-ready .scroll-to-top,
  body.npmn-enabled.npmn-ready .scroll-top,
  body.npmn-enabled.npmn-ready .back-to-top,
  body.npmn-enabled.npmn-ready #scroll-to-top,
  body.npmn-enabled.npmn-ready #scroll-top{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    max-width:36px!important;
    max-height:36px!important;
    border-radius:50%!important;
    padding:0!important;
    display:block!important;
    font-size:0!important;
    color:transparent!important;
    text-indent:-9999px!important;
    overflow:hidden!important;
  }

  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop > *,
  body.npmn-enabled.npmn-ready #ast-scroll-top > *,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon > *,
  body.npmn-enabled.npmn-ready .scroll-to-top > *,
  body.npmn-enabled.npmn-ready .scroll-top > *,
  body.npmn-enabled.npmn-ready .back-to-top > *,
  body.npmn-enabled.npmn-ready #scroll-to-top > *,
  body.npmn-enabled.npmn-ready #scroll-top > *{
    opacity:0!important;
  }

  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop::before,
  body.npmn-enabled.npmn-ready #ast-scroll-top::before,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon::before,
  body.npmn-enabled.npmn-ready .scroll-to-top::before,
  body.npmn-enabled.npmn-ready .scroll-top::before,
  body.npmn-enabled.npmn-ready .back-to-top::before,
  body.npmn-enabled.npmn-ready #scroll-to-top::before,
  body.npmn-enabled.npmn-ready #scroll-top::before{
    content:none!important;
    display:none!important;
  }

  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop::after,
  body.npmn-enabled.npmn-ready #ast-scroll-top::after,
  body.npmn-enabled.npmn-ready .ast-scroll-top-icon::after,
  body.npmn-enabled.npmn-ready .scroll-to-top::after,
  body.npmn-enabled.npmn-ready .scroll-top::after,
  body.npmn-enabled.npmn-ready .back-to-top::after,
  body.npmn-enabled.npmn-ready #scroll-to-top::after,
  body.npmn-enabled.npmn-ready #scroll-top::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;
    width:16px!important;
    height:16px!important;
    margin:0!important;
    padding:0!important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 15.5 12 8l7 7.5' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    background-size:16px 16px!important;
    transform:translate(-50%,-50%)!important;
    transform-origin:center center!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:none!important;
  }

  body.npmn-enabled.npmn-profile-popover-open .npmn-managed-scrolltop,
  body.npmn-enabled.npmn-profile-popover-open #ast-scroll-top,
  body.npmn-enabled.npmn-profile-popover-open .ast-scroll-top-icon,
  body.npmn-enabled.npmn-profile-popover-open .scroll-to-top,
  body.npmn-enabled.npmn-profile-popover-open .scroll-top,
  body.npmn-enabled.npmn-profile-popover-open .back-to-top,
  body.npmn-enabled.npmn-profile-popover-open #scroll-to-top,
  body.npmn-enabled.npmn-profile-popover-open #scroll-top{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

/* =========================================================
   V1.0.24 — UNIFICACIÓN GLOBAL DEL SCROLL TOP
   - Un único círculo NextPing de 36px en desktop, tablet y móvil.
   - Un único chevron blanco centrado para vertical y horizontal.
   - No fuerza aparición, posición ni umbral del control original.
   - Los bloques responsive anteriores conservan únicamente los offsets
     necesarios para dock y safe-area.
   ========================================================= */
body.npmn-enabled.npmn-ready .npmn-managed-scrolltop{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  max-width:36px!important;
  max-height:36px!important;
  box-sizing:border-box!important;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:50%!important;
  background:rgba(36,99,235,.86)!important;
  box-shadow:0 7px 17px rgba(24,72,160,.18)!important;
  -webkit-backdrop-filter:blur(7px) saturate(1.10)!important;
  backdrop-filter:blur(7px) saturate(1.10)!important;
  font-size:0!important;
  line-height:0!important;
  color:transparent!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
  -webkit-tap-highlight-color:transparent!important;
}

body.npmn-enabled.npmn-ready .npmn-managed-scrolltop:hover,
body.npmn-enabled.npmn-ready .npmn-managed-scrolltop:focus-visible{
  background:rgba(36,99,235,.96)!important;
}

body.npmn-enabled.npmn-ready .npmn-managed-scrolltop:active{
  background:#1f56d8!important;
}

body.npmn-enabled.npmn-ready .npmn-managed-scrolltop > *{
  opacity:0!important;
}

body.npmn-enabled.npmn-ready .npmn-managed-scrolltop::before{
  content:none!important;
  display:none!important;
}

body.npmn-enabled.npmn-ready .npmn-managed-scrolltop::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:16px!important;
  height:16px!important;
  margin:0!important;
  padding:0!important;
  background-color:transparent!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 15.5 12 8l7 7.5' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:16px 16px!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:center center!important;
  opacity:1!important;
  visibility:inherit!important;
  pointer-events:none!important;
}

/* Perfil conserva prioridad visual donde exista dock/popover. */
body.npmn-enabled.npmn-profile-popover-open .npmn-managed-scrolltop,
body.npmn-enabled.npmn-profile-popover-open .npmn-managed-scrolltop::after{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

@media (prefers-reduced-motion:reduce){
  body.npmn-enabled.npmn-ready .npmn-managed-scrolltop{
    transition:none!important;
  }
}

/* =========================================================
   V1.0.25 — DOCK MÓVIL: CRISTAL TRANSLÚCIDO TIPO iOS
   - SOLO modifica el acabado visual del contenedor del dock <=767 px.
   - Más transparencia y profundidad de blur/saturación.
   - Borde luminoso e iluminación/sombra suave tipo cristal.
   - No cambia tamaño, posición, iconos, textos, estados ni comportamiento.
   ========================================================= */
@media (max-width:767px){
  body.npmn-enabled .npmn-dock,
  body.npmn-enabled.npmn-dock-compact:not(.npmn-popover-open) .npmn-dock,
  body.npmn-enabled.npmn-popover-open .npmn-dock{
    background:linear-gradient(180deg,rgba(255,255,255,.76) 0%,rgba(246,249,253,.66) 100%)!important;
    border-color:rgba(255,255,255,.74)!important;
    box-shadow:
      0 14px 38px rgba(15,38,71,.16),
      0 3px 10px rgba(15,38,71,.07),
      inset 0 1px 0 rgba(255,255,255,.88)!important;
    -webkit-backdrop-filter:blur(28px) saturate(1.55)!important;
    backdrop-filter:blur(28px) saturate(1.55)!important;
  }
}

/* =========================================================
   V1.0.26 — TODOS LOS DOCKS: MISMO CRISTAL MÁS TRANSLÚCIDO
   - SOLO iguala el acabado de transparencia del contenedor.
   - Móvil y iPad vertical usan exactamente el mismo cristal.
   - No cambia tamaño, posición, botones, iconos, estados,
     comportamiento, popovers ni Scroll Top.
   ========================================================= */
@media (max-width:767px){
  body.npmn-enabled .npmn-dock,
  body.npmn-enabled.npmn-dock-compact:not(.npmn-popover-open) .npmn-dock,
  body.npmn-enabled.npmn-popover-open .npmn-dock{
    background:linear-gradient(180deg,rgba(255,255,255,.68) 0%,rgba(246,249,253,.58) 100%)!important;
    border-color:rgba(255,255,255,.62)!important;
    box-shadow:
      0 14px 38px rgba(15,38,71,.16),
      0 3px 10px rgba(15,38,71,.07),
      inset 0 1px 0 rgba(255,255,255,.78)!important;
    -webkit-backdrop-filter:blur(28px) saturate(1.55)!important;
    backdrop-filter:blur(28px) saturate(1.55)!important;
  }
}

@media (min-width:768px) and (max-width:1100px) and (orientation:portrait){
  body.npmn-enabled .npmn-ipad-rail{
    background:linear-gradient(180deg,rgba(255,255,255,.68) 0%,rgba(246,249,253,.58) 100%)!important;
    border-color:rgba(255,255,255,.62)!important;
    box-shadow:
      0 14px 38px rgba(15,38,71,.16),
      0 3px 10px rgba(15,38,71,.07),
      inset 0 1px 0 rgba(255,255,255,.78)!important;
    -webkit-backdrop-filter:blur(28px) saturate(1.55)!important;
    backdrop-filter:blur(28px) saturate(1.55)!important;
  }
}
