/* Composant commun ; les modules restent responsables des compteurs et des droits. */
.menu-notification-dot { position:relative; display:inline-block; width:8px; height:8px; margin-left:5px; border-radius:50%; background:#dc3545; box-shadow:0 0 0 3px #dc354526; flex-shrink:0; overflow:visible; }
.menu-notification-pulse::before,.menu-notification-pulse::after { content:""; position:absolute; inset:0; border:1px solid #dc354580; border-radius:50%; background:#dc354540; pointer-events:none; transform-origin:center; animation:restipol-menu-notification-pulse 1.8s ease-out infinite; }
.menu-notification-pulse::after { animation-delay:-.9s; }
#navigation-restipol [data-menu-notifications],#navigation-restipol [data-menu-notifications] > a,#navigation-restipol [data-menu-notifications] > a > div { overflow:visible; }
#navigation-restipol [data-menu-notification].menu-notification-badge { display:inline-flex; align-items:center; justify-content:center; min-width:21px; margin-left:6px; padding:3px 6px; border-radius:99px; background:#bd2034; color:#fff; font-size:11px; font-weight:700; line-height:1.2; vertical-align:middle; white-space:nowrap; }
[data-menu-notification][hidden],[data-menu-notification-dot][hidden] { display:none!important; animation:none; }
@keyframes restipol-menu-notification-pulse { 0% { transform:scale(1); opacity:.65; } 75% { opacity:.18; } 100% { transform:scale(3.75); opacity:0; } }
@media(prefers-reduced-motion:reduce) { .menu-notification-pulse::before,.menu-notification-pulse::after { animation:none; content:none; } }
