.r48-concert-years{
    display:flex;
    flex-wrap:wrap;
    gap:.55rem;
    margin:1.25rem 0 2rem;
}
.r48-concert-year{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.55rem .78rem;
    border:2px solid currentColor;
    color:inherit;
    text-decoration:none;
    font-weight:900;
    line-height:1;
    transition:transform .15s ease,background-color .15s ease,color .15s ease;
}
.r48-concert-year:hover,
.r48-concert-year:focus-visible{
    transform:translateY(-2px);
}
.r48-concert-year.is-active{
    background:#111;
    color:#fff;
    border-color:#111;
}
.r48-concert-year span{
    opacity:.62;
    font-size:.78em;
}
.r48-concert-state-note{
    margin:1rem 0 .25rem;
    font-weight:950;
    letter-spacing:.055em;
    text-transform:uppercase;
}
.r48-concert-state-note--cancelled{color:#b00020;}
.r48-concert-state-note--rescheduled{color:#7a4d00;}
.r48-pagination{
    display:flex;
    flex-wrap:wrap;
    gap:.4rem;
    align-items:center;
    margin-top:2rem;
}
.r48-pagination .page-numbers{
    display:inline-flex;
    min-width:2.35rem;
    min-height:2.35rem;
    align-items:center;
    justify-content:center;
    border:2px solid currentColor;
    padding:.35rem .6rem;
    color:inherit;
    text-decoration:none;
    font-weight:900;
}
.r48-pagination .page-numbers.current{
    background:#111;
    color:#fff;
    border-color:#111;
}

/* R48 Concert archive UX polish R3.4 */
.r48-concert-years{
    scrollbar-width:thin;
    scrollbar-gutter:stable;
}

.r48-concert-year{
    white-space:nowrap;
}

.r48-concert-year[aria-current="page"]{
    cursor:default;
}

.r48-pagination{
    padding-top:.5rem;
}

.r48-pagination .page-numbers{
    transition:transform .15s ease, background-color .15s ease, color .15s ease;
}

.r48-pagination a.page-numbers:hover,
.r48-pagination a.page-numbers:focus-visible{
    transform:translateY(-2px);
}

.r48-concert-archive-entry{
    margin:.75rem 0 1.25rem;
}

@media (max-width: 767px){
    .r48-concert-years{
        flex-wrap:nowrap;
        overflow-x:auto;
        overscroll-behavior-inline:contain;
        scroll-snap-type:x proximity;
        padding-bottom:.6rem;
        -webkit-overflow-scrolling:touch;
    }

    .r48-concert-year{
        flex:0 0 auto;
        scroll-snap-align:start;
    }

    .r48-pagination{
        gap:.3rem;
    }

    .r48-pagination .page-numbers{
        min-width:2.65rem;
        min-height:2.65rem;
    }
}
