/* Football-shaped 3D tag cloud */
.tag-football-cloud {
    width: 100%;
    margin: 8px 0 18px;
}

.tag-football-cloud__stage {
    position: relative;
    width: min(100%, 720px);
    height: 360px;
    margin: 0 auto;
    border-radius: 999px / 58%;
    overflow: hidden;
    cursor: grab;
    user-select: none;
    touch-action: none;
    background:
        radial-gradient(ellipse at center, rgba(255,255,255,.92) 0%, rgba(240,253,250,.78) 52%, rgba(209,250,229,.34) 100%),
        linear-gradient(135deg, rgba(15,159,127,.10), rgba(56,169,214,.08));
    border: 1px solid rgba(15,159,127,.14);
    box-shadow:
        inset 0 0 55px rgba(255,255,255,.88),
        inset 0 0 90px rgba(15,159,127,.10),
        0 20px 60px rgba(15, 23, 42, .08);
}

.tag-football-cloud__stage::before,
.tag-football-cloud__stage::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 34px;
    height: 72%;
    transform: translateY(-50%);
    border-radius: 50%;
    pointer-events: none;
    opacity: .28;
}

.tag-football-cloud__stage::before {
    left: 20px;
    background: radial-gradient(ellipse at center, rgba(15,159,127,.26), transparent 68%);
}

.tag-football-cloud__stage::after {
    right: 20px;
    background: radial-gradient(ellipse at center, rgba(56,169,214,.22), transparent 68%);
}

.tag-football-cloud.is-dragging .tag-football-cloud__stage {
    cursor: grabbing;
}

.tag-football-cloud__items {
    position: absolute;
    inset: 0;
    transform-style: preserve-3d;
    perspective: 900px;
}

.tag-football-cloud--ready .tag-cloud {
    display: block;
    line-height: normal;
}

.tag-football-cloud__tag {
    position: absolute;
    left: 50%;
    top: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 170px;
    padding: 4px 8px;
    border-radius: 999px;
    white-space: nowrap;
    text-align: center;
    text-decoration: none !important;
    transform-origin: center center;
    will-change: transform, opacity, filter;
    text-shadow: 0 1px 0 rgba(255,255,255,.8);
    transition: color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.tag-football-cloud__tag:hover {
    background: rgba(255,255,255,.88);
    box-shadow: 0 8px 20px rgba(15, 23, 42, .08);
}

.tag-football-cloud .tag_a {
    color: #ef5014;
    font-size: 21px;
    font-weight: 900;
}

.tag-football-cloud .tag_b {
    color: #d9a400;
    font-size: 19px;
    font-weight: 850;
}

.tag-football-cloud .tag_c {
    color: #77b900;
    font-size: 17px;
    font-weight: 800;
}

.tag-football-cloud .tag_d {
    color: #38a9d6;
    font-size: 15px;
    font-weight: 750;
}

.tag-football-cloud .tag_e {
    color: #0f9f7f;
    font-size: 14px;
    font-weight: 700;
}

.tag-football-cloud__search {
    margin-top: 14px;
    text-align: center;
}

.tag-football-cloud__search a {
    display: inline-flex;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(15,159,127,.08);
    color: #365f46 !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
}

.tag-football-cloud--fallback .tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
}

@media (max-width: 760px) {
    .tag-football-cloud__stage {
        height: 300px;
        border-radius: 999px / 54%;
    }

    .tag-football-cloud__tag {
        max-width: 130px;
        padding: 3px 6px;
    }

    .tag-football-cloud .tag_a {
        font-size: 18px;
    }

    .tag-football-cloud .tag_b {
        font-size: 17px;
    }

    .tag-football-cloud .tag_c {
        font-size: 15px;
    }

    .tag-football-cloud .tag_d,
    .tag-football-cloud .tag_e {
        font-size: 13px;
    }
}
