/* The existing desktop builders render normally; mobile uses one scaled stage. */
.aveo-mobile-animation-frame {
    position: relative;
    width: 100%;
    margin: 12px 0 20px;
    overflow: hidden;
}
.carousel-title-container.aveo-mobile-layout {
    position: absolute !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    transform-origin: top left !important;
    font-size: 16px;
    isolation: isolate;
}
.carousel-title-container.aveo-mobile-layout > a {
    display: inline-block;
    max-width: none !important;
    white-space: nowrap;
    line-height: 1.2 !important;
    font-size: 64px !important;
    position: relative;
    z-index: 3;
}
.carousel-title-container.aveo-mobile-layout.winter > a { font-size: 80px !important; }
.carousel-title-container.aveo-mobile-layout.Sommarprodukter > a { font-size: 46px !important; }
.carousel-title-container.aveo-mobile-layout.Easter > a,
.carousel-title-container.aveo-mobile-layout.Påskprodukter > a { font-size: 35px !important; }
.carousel-title-container.aveo-mobile-layout.Rea > a { font-size: 40px !important; }
.aveo-mobile-layout .aveo-christmas-bauble,
.aveo-mobile-layout .aveo-christmas-gifts,
.aveo-mobile-layout .aveo-winter-cluster,
.aveo-mobile-layout .aveo-winter-snowman,
.aveo-mobile-layout .aveo-spring-flowers,
.aveo-mobile-layout .aveo-easter-nest,
.aveo-mobile-layout .aveo-easter-bunny,
.aveo-mobile-layout .aveo-summer-dogs,
.aveo-mobile-layout .aveo-summer-cats,
.aveo-mobile-layout .aveo-animation-custom-image { transform: none !important; }
.aveo-mobile-layout .aveo-spring-butterfly { animation: aveo-butterfly-float 3.6s ease-in-out infinite; }
.aveo-mobile-layout .aveo-easter-witch {
    /* Keep the flight visible over the title but below both endpoint images. */
    z-index: 20 !important;
    animation-name: aveo-easter-witch-mobile;
}
.aveo-mobile-layout .aveo-easter-nest,
.aveo-mobile-layout .aveo-easter-bunny {
    z-index: 30 !important;
}
.aveo-mobile-layout .aveo-christmas-snow,
.aveo-mobile-layout .aveo-winter-snow,
.aveo-mobile-layout .aveo-spring-drift {
    left: 0 !important;
    width: 100% !important;
}
@keyframes aveo-easter-witch-mobile {
    0% { transform: translate3d(0, -6px, 0) scale(.26) scaleX(1) rotate(-2deg); }
    3% { transform: translate3d(var(--aveo-witch-climb-distance), -42px, 0) scale(.62) scaleX(1) rotate(-1deg); }
    7.15% { transform: translate3d(var(--aveo-witch-mid-distance), -48px, 0) scale(1.08) scaleX(1) rotate(1deg); }
    11.3% { transform: translate3d(var(--aveo-witch-descent-distance), -42px, 0) scale(.62) scaleX(1) rotate(0); }
    14.3%, 50% { transform: translate3d(var(--aveo-witch-distance), var(--aveo-witch-end-y, 8px), 0) scale(.26) scaleX(1) rotate(-1deg); }
    50.01% { transform: translate3d(var(--aveo-witch-distance), var(--aveo-witch-end-y, 8px), 0) scale(.26) scaleX(-1) rotate(1deg); }
    53% { transform: translate3d(var(--aveo-witch-descent-distance), -42px, 0) scale(.62) scaleX(-1) rotate(1deg); }
    57.15% { transform: translate3d(var(--aveo-witch-mid-distance), -48px, 0) scale(1.08) scaleX(-1) rotate(-1deg); }
    61.3% { transform: translate3d(var(--aveo-witch-climb-distance), -42px, 0) scale(.62) scaleX(-1) rotate(0); }
    64.3%, 100% { transform: translate3d(0, -6px, 0) scale(.26) scaleX(-1) rotate(2deg); }
}
@media (prefers-reduced-motion: reduce) {
    .aveo-mobile-layout .aveo-spring-butterfly,
    .aveo-mobile-layout .aveo-christmas-snowflake { animation: none; }
}
