/* Galle menu badges and periodic wiggle - desktop + mobile */
.galle-wiggle {
    --wiggle-y: 0px;
    transform-origin: 50% 50%;
    animation: galle-menu-wiggle 6s ease-in-out 1.2s infinite;
    will-change: transform;
}

@keyframes galle-menu-wiggle {
    0%, 68%, 84%, 100% { transform: translateY(var(--wiggle-y)) rotate(0deg); }
    71% { transform: translateY(var(--wiggle-y)) rotate(-7deg); }
    74% { transform: translateY(var(--wiggle-y)) rotate(7deg); }
    77% { transform: translateY(var(--wiggle-y)) rotate(-5deg); }
    80% { transform: translateY(var(--wiggle-y)) rotate(5deg); }
    82% { transform: translateY(var(--wiggle-y)) rotate(0deg); }
}

/* Mobile menu: render badge_text without breaking the arrow/open submenu control. */
.group_class_menu > a.menu-link-with-badge,
.group_class_menu > a.mobile-menu-special-link {
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}

.group_class_menu > a.menu-link-with-badge .mobile-menu-name {
    display: inline-block;
}

.menu-badge.mobile-menu-badge {
    --wiggle-y: -3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 25px;
    height: 15px;
    margin-left: 6px;
    padding: 0 4px;
    border-radius: 4px;
    background: #662D91;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 8px;
    font-weight: 700;
    line-height: 15px;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
    box-sizing: border-box;
}

.menu-badge-hot,
.menu-badge-new,
.mobile-menu-badge.menu-badge-hot,
.mobile-menu-badge.menu-badge-new {
    background: #e31b23;
}

.mobile-menu-sale > a.mobile-menu-special-link {
    min-height: 54px;
    justify-content: flex-start;
}

.mobile-sale-menu-icon {
    --wiggle-y: 0px;
    display: inline-flex;
    align-items: center;
    width: 88px;
    height: 35px;
    line-height: 0;
}

.mobile-sale-menu-icon img {
    display: block;
    width: 88px;
    height: auto;
    max-width: none;
}

@media (prefers-reduced-motion: reduce) {
    .galle-wiggle {
        animation: none !important;
        will-change: auto;
    }
}
