.tichelland-ticket-bubble {
    --tichelland-ticket-cookie-offset: 0px;
    align-items: center;
    background: #d4af37;
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    bottom: calc(
        24px
        + env(safe-area-inset-bottom, 0px)
        + var(--tichelland-ticket-cookie-offset)
    );
    box-shadow: 0 10px 28px rgba(75, 15, 15, 0.32);
    box-sizing: border-box;
    color: #4b0f0f !important;
    display: none;
    height: 64px;
    justify-content: center;
    position: fixed;
    right: calc(24px + env(safe-area-inset-right, 0px));
    text-decoration: none !important;
    transform: translateY(0) scale(1);
    transition:
        bottom 240ms ease,
        box-shadow 180ms ease,
        transform 180ms ease;
    width: 64px;
    z-index: 99990;
}

.tichelland-ticket-bubble:hover {
    box-shadow: 0 13px 34px rgba(75, 15, 15, 0.4);
    color: #4b0f0f !important;
    transform: translateY(0) scale(1.06);
}

.tichelland-ticket-bubble:active {
    transform: translateY(0) scale(0.96);
}

.tichelland-ticket-bubble:focus {
    color: #4b0f0f !important;
}

.tichelland-ticket-bubble:focus-visible {
    box-shadow:
        0 0 0 6px #4b0f0f,
        0 10px 28px rgba(75, 15, 15, 0.32);
    outline: 3px solid #ffffff;
    outline-offset: 2px;
}

.tichelland-ticket-bubble__icon {
    display: block;
    height: 54px;
    pointer-events: none;
    width: 54px;
}

.tichelland-ticket-bubble__label {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.tichelland-ticket-bubble--jumping {
    animation: tichelland-ticket-jump 700ms cubic-bezier(0.22, 0.75, 0.3, 1);
}

@keyframes tichelland-ticket-jump {
    0%,
    100% {
        transform: translateY(0) scale(1);
    }
    32% {
        transform: translateY(-15px) scale(1.02);
    }
    56% {
        transform: translateY(0) scale(1);
    }
    74% {
        transform: translateY(-5px) scale(1);
    }
}

@media (max-width: 980px) {
    .tichelland-ticket-bubble {
        display: flex;
    }
}

@media (max-width: 767px) {
    .tichelland-ticket-bubble {
        bottom: calc(
            16px
            + env(safe-area-inset-bottom, 0px)
            + var(--tichelland-ticket-cookie-offset)
        );
        height: 56px;
        right: calc(16px + env(safe-area-inset-right, 0px));
        width: 56px;
    }

    .tichelland-ticket-bubble__icon {
        height: 48px;
        width: 48px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tichelland-ticket-bubble,
    .tichelland-ticket-bubble:hover,
    .tichelland-ticket-bubble:active,
    .tichelland-ticket-bubble--jumping {
        animation: none !important;
        transform: none;
        transition: none;
    }
}
