.wiesn-mobile-footer-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: env(safe-area-inset-bottom, 0px);
    z-index: 45;
    padding: 0.35rem 0.75rem;
    background: transparent;
    pointer-events: none;
}

.wiesn-mobile-footer-banner[hidden] {
    display: none !important;
}

.wiesn-mobile-footer-banner__shell {
    pointer-events: auto;
    max-width: 20rem;
    margin: 0 auto;
    padding: 0;
    background: none;
    border: none;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.wiesn-mobile-footer-banner__link {
    display: block;
    width: 100%;
    height: 2rem;
    border-radius: 0.75rem;
    overflow: hidden;
    text-decoration: none;
    background: none;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.14) !important;
    transform: none !important;
}

.wiesn-mobile-footer-banner__link:hover,
.wiesn-mobile-footer-banner__link:focus-visible {
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.18) !important;
    transform: none !important;
}

.wiesn-mobile-footer-banner__image {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
    object-position: center;
}

body.wiesn-has-mobile-footer-banner {
    --wiesn-mobile-footer-banner-offset: calc(2.7rem + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 1023px) {
    html.wiesn-redesign.wiesn-has-mobile-footer-banner {
        background-color: #f5f7fa;
    }

    html.wiesn-redesign.wiesn-has-mobile-footer-banner:has(body.wiesn-home) {
        background-color: transparent;
    }

    body.wiesn-has-mobile-footer-banner.wiesn-redesign.bg-white {
        background-color: #f5f7fa !important;
    }

    body.wiesn-has-mobile-footer-banner.wiesn-redesign.wiesn-home,
    body.wiesn-has-mobile-footer-banner.wiesn-redesign.wiesn-home #wiesn-app,
    body.wiesn-has-mobile-footer-banner.wiesn-redesign.wiesn-home #wiesn-home.bg-white {
        background-color: transparent !important;
    }

    body.wiesn-has-mobile-footer-banner .wiesn-footer {
        padding-bottom: calc(0.75rem + var(--wiesn-mobile-footer-banner-offset));
        box-shadow: 0 env(safe-area-inset-bottom, 0px) 0 env(safe-area-inset-bottom, 0px) #f5f7fa;
    }

    body.wiesn-has-mobile-footer-banner .wiesn-footer .wiesn-footer-credit {
        margin-bottom: 0;
    }
}

body.wiesn-mobile-nav-open .wiesn-mobile-footer-banner {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

@media (min-width: 1024px) {
    .wiesn-mobile-footer-banner {
        display: none !important;
    }
}
