/* =========================================================
   ROCKSTAGE PHOTO GALLERY
   gallery.css
   ========================================================= */


/* =========================================================
   GALLERY ITEM
   ========================================================= */

.rs-gallery-item {
    display: block !important;

    width: 100% !important;
    max-width: 1000px !important;

    margin: 0 auto !important;

    box-sizing: border-box !important;
}


/* =========================================================
   GALLERY HEADER
   ========================================================= */

.rs-gallery-header {
    display: flex !important;

    width: 100% !important;

    justify-content: space-between !important;
    align-items: center !important;

    padding: 0 4px 12px 4px !important;

    margin: 0 0 20px 0 !important;

    border-bottom: 1px solid #333 !important;

    box-sizing: border-box !important;
}


.rs-gallery-title {
    margin: 0 !important;

    color: #ffffff !important;

    font-size: 14px !important;

    font-weight: 800 !important;
}


.rs-gallery-date {
    color: #ffffff !important;

    font-size: 12px !important;

    font-weight: 600 !important;
}


.rs-gallery-close {
    background: transparent !important;

    border: none !important;

    color: #e50000 !important;

    cursor: pointer !important;

    font-size: 18px !important;

    line-height: 1 !important;
}


/* =========================================================
   GALLERY VIEWER
   ========================================================= */

.rs-gallery-viewer {
    display: block !important;

    position: relative !important;

    width: 100% !important;

    margin: 0 auto !important;

    box-sizing: border-box !important;
}


/* =========================================================
   IMAGE WRAPPER
   ========================================================= */

.rs-gallery-image-wrap {
    position: relative !important;

    display: block !important;

    width: 100% !important;

    margin: 0 auto !important;

    text-align: center !important;

    box-sizing: border-box !important;
}


/* =========================================================
   MAIN IMAGE
   ========================================================= */

.rs-gallery-main-image {
    display: block !important;

    width: auto !important;

    max-width: 100% !important;

    height: auto !important;

    max-height: 75vh !important;

    margin: 0 auto !important;

    object-fit: contain !important;

    user-select: none !important;

    -webkit-user-drag: none !important;
}


/* =========================================================
   NAVIGATION ARROWS
   ========================================================= */

.rs-gallery-nav {
    position: absolute !important;

    top: 50% !important;

    transform: translateY(-50%) !important;

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    width: 42px !important;

    height: 56px !important;

    padding: 0 !important;

    margin: 0 !important;

    background: rgba(0, 0, 0, 0.65) !important;

    border: none !important;

    color: #ffffff !important;

    font-size: 30px !important;

    line-height: 1 !important;

    cursor: pointer !important;

    z-index: 50 !important;
}


.rs-gallery-prev {
    left: 0 !important;
}


.rs-gallery-next {
    right: 0 !important;
}


/* =====================================================
   GALLERY THUMBNAILS
   Maximum 8 thumbnails visible
   ===================================================== */

.rs-gallery-thumbnails {
    display: flex !important;
    flex-wrap: nowrap !important;

    width: 460px !important;
    max-width: 100% !important;

    margin-left: auto !important;
    margin-right: auto !important;

    justify-content: flex-start !important;
    align-items: center !important;

    gap: 8px !important;

    padding: 4px 2px !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    scroll-behavior: smooth !important;

    -webkit-overflow-scrolling: touch;

    /* Hide scrollbar but keep scrolling */
    scrollbar-width: none !important;

    box-sizing: border-box !important;
}


/* Chrome / Edge / Safari */

.rs-gallery-thumbnails::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}


/* =====================================================
   THUMBNAIL
   ===================================================== */

.rs-gallery-thumbnail {
    flex: 0 0 45px !important;

    width: 45px !important;
    height: 45px !important;

    min-width: 45px !important;
    max-width: 45px !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 2px solid transparent !important;

    background: transparent !important;

    overflow: hidden !important;

    cursor: pointer;

    box-sizing: border-box !important;
}


.rs-gallery-thumbnail img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
}


/* =====================================================
   ACTIVE THUMBNAIL
   ===================================================== */

.rs-gallery-thumbnail.is-active {
    border-color: #e50000 !important;
}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 600px) {

    .rs-gallery-thumbnails {
        width: 100% !important;
        max-width: 100% !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;
    }

    .rs-gallery-thumbnail {
        flex: 0 0 42px !important;

        width: 42px !important;
        height: 42px !important;

        min-width: 42px !important;
        max-width: 42px !important;
    }

}

/* =========================================================
   THUMBNAIL BUTTON
   ========================================================= */

.rs-gallery-thumbnail {

    flex: 0 0 52px !important;

    width: 52px !important;

    min-width: 52px !important;

    max-width: 52px !important;

    height: 52px !important;

    margin: 0 !important;

    padding: 0 !important;

    box-sizing: border-box !important;

    overflow: hidden !important;

    background: #111111 !important;

    border: 2px solid transparent !important;

    cursor: pointer !important;

    appearance: none !important;

    -webkit-appearance: none !important;
}


/* =========================================================
   THUMBNAIL IMAGE
   ========================================================= */

.rs-gallery-thumbnail img {

    display: block !important;

    width: 100% !important;

    height: 100% !important;

    min-width: 100% !important;

    min-height: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    object-fit: cover !important;
}


/* =========================================================
   ACTIVE THUMBNAIL
   ========================================================= */

.rs-gallery-thumbnail.is-active {

    border-color: #e50000 !important;

}


/* =========================================================
   THUMBNAIL HOVER
   ========================================================= */

.rs-gallery-thumbnail:hover {

    border-color: #777777 !important;

}


/* =========================================================
   BOTTOM BORDER
   ========================================================= */

.rs-gallery-item::after {

    content: "";

    display: block;

    width: 100%;

    height: 1px;

    margin-top: 18px;

    background: #333333;

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .rs-gallery-item {

        width: 94% !important;

        max-width: 94% !important;

    }


    .rs-gallery-main-image {

        max-width: 100% !important;

        max-height: 72vh !important;

    }


    .rs-gallery-thumbnail {

        flex: 0 0 50px !important;

        width: 50px !important;

        min-width: 50px !important;

        max-width: 50px !important;

        height: 50px !important;

    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .rs-gallery-item {

        width: 94% !important;

        max-width: 94% !important;

    }


    .rs-gallery-main-image {

        max-width: 100% !important;

        max-height: 70vh !important;

    }


    .rs-gallery-nav {

        width: 36px !important;

        height: 48px !important;

        font-size: 25px !important;

    }


    .rs-gallery-thumbnails {

        justify-content: flex-start !important;

        gap: 5px !important;

    }


    .rs-gallery-thumbnail {

        flex: 0 0 48px !important;

        width: 48px !important;

        min-width: 48px !important;

        max-width: 48px !important;

        height: 48px !important;

    }

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 380px) {

    .rs-gallery-thumbnail {

        flex: 0 0 42px !important;

        width: 42px !important;

        min-width: 42px !important;

        max-width: 42px !important;

        height: 42px !important;

    }


    .rs-gallery-thumbnails {

        gap: 4px !important;

    }


    .rs-gallery-nav {

        width: 32px !important;

        height: 44px !important;

        font-size: 22px !important;

    }

}

/* =====================================================
   GALLERY TITLES — FINAL
   ===================================================== */

/* PHOTO GALLERY */

.rs-gallery-title {
    display: block !important;
    width: 100% !important;

    margin: 0 auto 28px auto !important;
    padding: 0 !important;

    text-align: center !important;

    font-size: 2rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;

    color: #ffffff !important;
}


/* BOOM BOOM / EVENT HEADER */

.rs-gallery-button {
    display: grid !important;

    grid-template-columns: 1fr auto 30px !important;
    align-items: center !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 16px 4px !important;

    border: 0 !important;
    border-top: 1px solid #333 !important;
    border-bottom: 1px solid #333 !important;

    background: transparent !important;

    color: #ffffff !important;

    text-align: left !important;

    font-family: inherit !important;
}


/* BOOM BOOM */

.rs-gallery-name {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;

    background: transparent !important;

    font-size: 1rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;

    text-align: left !important;
}


/* DATE */

.rs-gallery-date {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;

    background: transparent !important;

    font-size: 0.85rem !important;
    line-height: 1.2 !important;

    text-align: right !important;
}


/* PLUS / CLOSE SYMBOL */

.rs-gallery-arrow {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 30px !important;
    height: 30px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #e50000 !important;

    background: transparent !important;

    font-size: 1.2rem !important;
    font-weight: 700 !important;
}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 760px) {

    .rs-gallery-title {
        font-size: 1.7rem !important;
        margin-bottom: 22px !important;
        text-align: center !important;
    }


    .rs-gallery-button {
        grid-template-columns: 1fr auto 30px !important;

        padding: 15px 4px !important;
    }


    .rs-gallery-name {
        font-size: 0.95rem !important;
    }


    .rs-gallery-date {
        font-size: 0.8rem !important;
    }

}


/* =====================================================
   SMALL MOBILE
   ===================================================== */

@media (max-width: 480px) {

    .rs-gallery-title {
        font-size: 1.5rem !important;
    }


    .rs-gallery-button {
        grid-template-columns: 1fr auto 26px !important;
    }


    .rs-gallery-name {
        font-size: 0.9rem !important;
    }


    .rs-gallery-date {
        font-size: 0.75rem !important;
    }


    .rs-gallery-arrow {
        width: 26px !important;
        height: 26px !important;
    }

}

/* =====================================================
   GALLERY ACCORDION — FINAL FIX
   ===================================================== */

.rs-gallery-item .rs-gallery-panel {
    display: none !important;
    width: 100% !important;
    overflow: hidden !important;
}

.rs-gallery-item.is-open .rs-gallery-panel {
    display: block !important;
}


/* Closed state */

.rs-gallery-item:not(.is-open) .rs-gallery-viewer,
.rs-gallery-item:not(.is-open) .rs-gallery-image-wrap,
.rs-gallery-item:not(.is-open) .rs-gallery-thumbnails {
    display: none !important;
}


/* Open state */

.rs-gallery-item.is-open .rs-gallery-viewer {
    display: block !important;
}

.rs-gallery-item.is-open .rs-gallery-image-wrap {
    display: block !important;
}

.rs-gallery-item.is-open .rs-gallery-thumbnails {
    display: flex !important;
}


/* Keep the header compact */

.rs-gallery-button {
    min-height: 60px !important;
}


/* Arrow */

.rs-gallery-item.is-open .rs-gallery-arrow {
    transform: rotate(45deg) !important;
}

/* =====================================================
   PREVIOUS SHOWS TITLE
   ===================================================== */

.rs-gallery-section {
    width: 100%;
}

.rs-gallery-container {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
}

.rs-gallery-section h2,
.rs-gallery-section h3,
.rs-gallery-section .previous-shows-title {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

/* =====================================================
   MOBILE GALLERY SWIPE
   ===================================================== */

.rs-gallery-image-wrap {
    touch-action: pan-y;
}