/* Layout area: entrance animations for the floating widgets (replaces tailwindcss-animate "animate-in"). */
@keyframes nv-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes nv-zoom-in { from { opacity: 0; transform: scale(.95); } to { opacity: 1; transform: none; } }
@keyframes nv-slide-up { from { opacity: 0; transform: translate3d(0, 1rem, 0); } to { opacity: 1; transform: none; } }

.nv-anim-fade:not([hidden]) { animation: nv-fade-in .2s ease-out both; }
.nv-anim-fade:not([hidden]) .nv-anim-zoom { animation: nv-zoom-in .2s ease-out both; }
.nv-anim-slide-up:not([hidden]) { animation: nv-slide-up .3s ease-out both; }
@media (min-width: 640px) {
  .nv-anim-fade:not([hidden]) .nv-anim-zoom { animation-name: nv-slide-up; }
}

/* Mega menu rail scrolls when many services are listed. */
[data-nv-mega-rail] [role="tablist"] { scrollbar-width: none; }

/* Keep the floating stack clear of the mobile drawer and above page content. */
body.mobile-nav-open [data-nv-widget] { display: none; }
