/* Elementor Notification Marquee – 1.3.1 */
.enm-bar { position: relative; width: 100%; overflow: hidden; z-index: 10; }
.enm-bar__inner { position: relative; height: 100%; display: flex; align-items: center; }

/* Sticky par appareil */
.enm--sticky { }
@media (min-width: 1025px){ .enm--sticky.enm--sticky-desktop { position: sticky; top: 0; } }
@media (min-width: 768px) and (max-width: 1024px){ .enm--sticky.enm--sticky-tablet { position: sticky; top: 0; } }
@media (max-width: 767px){ .enm--sticky.enm--sticky-mobile { position: sticky; top: 0; } }

/* Étiquette + réglages */
.enm-badge { position: absolute; top: 50%; transform: translateY(-50%); white-space: nowrap; display: inline-flex; align-items: center; font-weight: 600; padding: 4px 10px; border: 1px solid transparent; z-index: var(--enm-badge-z, 2); color: inherit; text-decoration: none; background-clip: padding-box; }
.enm-badge--start { left: var(--enm-badge-offset-start, 12px); }
.enm-badge--end { right: var(--enm-badge-offset-end, 12px); }

.enm-badge__icon { display: inline-flex; width: var(--enm-badge-icon-size, 1em); height: var(--enm-badge-icon-size, 1em); line-height: 0; }
.enm-badge__icon--before { margin-right: var(--enm-badge-icon-gap, 0.5em); }
.enm-badge__icon--after  { margin-left:  var(--enm-badge-icon-gap, 0.5em); }
.enm-badge__icon svg, .enm-badge__icon i { width: 100%; height: 100%; display: block; }
.enm-badge__icon svg { fill: currentColor; }

/* Bouton fermer */
.enm-close { position: absolute; top: 50%; transform: translateY(-50%); right: 8px; background: transparent; border: 0; font-size: 18px; line-height: 1; cursor: pointer; color: inherit; opacity: .7; }
.enm-close:hover, .enm-close:focus { opacity: 1; }
.enm-close:focus { outline: 2px solid currentColor; outline-offset: 2px; }

/* Visibilité badge par appareil */
@media (min-width: 1025px){ .enm-hide-desktop { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px){ .enm-hide-tablet { display: none !important; } }
@media (max-width: 767px){ .enm-hide-mobile { display: none !important; } }

/* Viewport & track */
.enm-viewport { position: relative; width: 100%; height: 100%; overflow: hidden; }
.enm-track { position: absolute; display: inline-flex; align-items: center; gap: var(--enm-gap, 48px); will-change: transform; height: 100%; left: 0; }
.enm-track--clone { opacity: 1; }

.enm-item { display: inline-flex; align-items: center; white-space: nowrap; }
.enm-item a { text-decoration: underline; }

/* Réserver l’espace côté étiquette & bouton close (marges de garde dynamiques) */
.enm-badge--start ~ .enm-viewport { padding-left: calc(var(--enm-badge-w-start, 0px) + var(--enm-guard-start, 0px)); }
.enm-badge--end   ~ .enm-viewport { padding-right: calc(var(--enm-badge-w-end, 0px) + var(--enm-guard-end, 0px)); }
.enm-close ~ .enm-viewport { padding-right: calc(var(--enm-close-w, 0px) + 8px); }

/* Fondu latéral (mask) */
.enm--fade .enm-viewport {
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--enm-fade, 24px), #000 calc(100% - var(--enm-fade, 24px)), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 var(--enm-fade, 24px), #000 calc(100% - var(--enm-fade, 24px)), transparent 100%);
}

/* Fermeture vers le haut */
.enm-closing { animation: enm-slide-up .35s ease forwards; }
@keyframes enm-slide-up { to { transform: translateY(-100%); opacity: 0; height: 0; margin: 0; } }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .enm-track, .enm-track--clone { transition: none !important; animation: none !important; }
}
