/* ========================================
   BASE
======================================== */

.concerts-container-54be00bd {
    width: 100%;
    font-family: inherit;
}

.concerts-grid-54be00bd {
    display: flex;
    gap: 30px;
    align-items: stretch;
}

.list-column-54be00bd {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.poster-column-54be00bd {
    flex-shrink: 0;
    position: relative;
}

.poster-frame-54be00bd {
    width: 100%;
    height: 100%;
}

.poster-frame-54be00bd img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.concerts-carousel-54be00bd {
    display: none;
}


/* ========================================
   TABLET + MOBILE BASE
======================================== */

@media (max-width: 1024px) {

    .concerts-grid-54be00bd {
        display: none !important;
    }

    .concerts-carousel-54be00bd {
        display: block !important;
        width: 100%;
        overflow: hidden;
        position: relative;
    }

    .concerts-carousel-54be00bd .swiper-wrapper {
        display: flex;
        width: 100%;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .concerts-carousel-54be00bd .swiper-wrapper::-webkit-scrollbar {
        display: none;
    }

    .concerts-carousel-54be00bd .swiper-slide {
        flex: 0 0 100%;
        width: 100%;
        min-width: 100%;
        scroll-snap-align: start;
        box-sizing: border-box;
    }

    .swiper-card-link-54be00bd {
        display: block;
        width: 100%;
        color: inherit;
        text-decoration: none;
        cursor: pointer;
    }

    .swiper-card-54be00bd {
        width: 100%;
        padding: 24px;
        box-sizing: border-box;
        background: #111;
    }

    .swiper-card-top-54be00bd {
        width: 100%;
        padding-bottom: 18px;
    }

    .swiper-card-54be00bd .info-content-54be00bd {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .swiper-card-54be00bd .concert-title-54be00bd {
        margin: 0 !important;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 30px !important;
        line-height: 1.15 !important;
        font-weight: 400;
        color: #fff !important;
    }

    .swiper-card-54be00bd .concert-meta-54be00bd {
        margin: 0;
        padding: 0;
        border: 0;
        font-size: 14px !important;
        line-height: 1.4;
        color: #aaa !important;
        opacity: 1;
    }

    /* NAVIGAZIONE */
    .concert-mobile-nav-54be00bd {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        height: 48px;
        margin: 4px 0 18px;
        padding: 0 4px;
        box-sizing: border-box;
        border-top: 1px solid rgba(255,255,255,.10);
        border-bottom: 1px solid rgba(255,255,255,.10);
    }

    .concert-mobile-prev-54be00bd,
    .concert-mobile-next-54be00bd {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        font-size: 24px;
        line-height: 1;
        color: #fff;
        cursor: pointer;
        user-select: none;
    }

    .concert-dots-54be00bd {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }

    .concert-dot-54be00bd {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: rgba(255,255,255,.35);
        cursor: pointer;
        transition: all .25s ease;
    }

    .concert-dot-54be00bd.active {
        width: 8px;
        height: 8px;
        background: #fff;
    }

    .swiper-card-bottom-54be00bd {
        width: 100%;
        overflow: hidden;
    }

    .swiper-poster-img-54be00bd {
        display: block;
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .concert-nav-54be00bd,
    .swiper-pagination {
        display: none !important;
    }
}


/* ========================================
   SOLO MOBILE
======================================== */

@media (max-width: 767px) {

    .swiper-card-54be00bd {
        padding: 18px 14px;
    }

    .swiper-card-top-54be00bd {
        display: block;
        position: relative;
        width: 100%;
        padding-bottom: 16px;
    }

    /* DATA */
    .swiper-card-54be00bd .date-badge-54be00bd {
        width: 100%;
        min-width: 0;
        height: auto;

        margin: 0 0 22px;
        padding: 0 60px 20px 0;

        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;

        border: 0;
        border-bottom: 1px solid rgba(255,255,255,.15);

        box-sizing: border-box;
        text-align: left;
    }

    .swiper-card-54be00bd .day-54be00bd {
        font-family: Georgia, "Times New Roman", serif;
        font-size: 70px !important;
        line-height: .82 !important;
        font-weight: 400;
    }

    .swiper-card-54be00bd .month-54be00bd {
        margin-top: 16px;

        font-family: Arial, Helvetica, sans-serif;
        font-size: 30px !important;
        line-height: .9 !important;
        font-weight: 700;

        color: #fff !important;
    }

    /* TESTO */
    .swiper-card-54be00bd .info-content-54be00bd {
        width: 100%;
        gap: 8px;
    }

    .swiper-card-54be00bd .concert-title-54be00bd {
        margin: 0 0 10px !important;
        font-size: 26px !important;
        line-height: 1.08 !important;
    }

    .swiper-card-54be00bd .concert-meta-54be00bd {
        margin: 0;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    /* FRECCIA MOBILE */
    .swiper-card-top-54be00bd::after {
        content: "";
        position: absolute;

        top: 72px;
        right: 0;

        width: 42px;
        height: 42px;

        border-right: 1px solid #fff;
        border-bottom: 1px solid #fff;

        background:
            linear-gradient(
                45deg,
                transparent 49%,
                #fff 49.5%,
                #fff 50.5%,
                transparent 51%
            );

        box-sizing: border-box;
        pointer-events: none;
        z-index: 10;
    }

    .concert-mobile-nav-54be00bd {
        margin: 0 0 14px;
    }

    .swiper-card-bottom-54be00bd,
    .swiper-poster-img-54be00bd {
        width: 100%;
    }
}


/* ========================================
   SOLO TABLET
======================================== */

@media (min-width: 768px) and (max-width: 1024px) {

    .swiper-card-54be00bd {
        padding: 26px 30px;
        background: #111;
    }

    .swiper-card-top-54be00bd {
        display: grid;
        grid-template-columns: 150px minmax(0, 1fr);
        gap: 26px;
        align-items: center;

        position: relative;
        width: 100%;
        padding: 0;
        min-height: 170px;
    }

    /* DATA */
    .swiper-card-54be00bd .date-badge-54be00bd {
        width: 100%;
        min-width: 0;
        height: 100%;

        margin: 0;
        padding: 0 26px 0 0;

        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;

        border: 0;
        border-right: 1px solid rgba(255,255,255,.15);

        text-align: center;
        box-sizing: border-box;
    }

    .swiper-card-54be00bd .day-54be00bd {
        font-family: Georgia, "Times New Roman", serif;
        font-size: 72px !important;
        line-height: .85 !important;
        font-weight: 400;
    }

    .swiper-card-54be00bd .month-54be00bd {
        margin-top: 18px;

        font-family: Arial, Helvetica, sans-serif;
        font-size: 28px !important;
        line-height: 1 !important;
        font-weight: 700;

        color: #fff !important;
    }

    /* TESTO */
    .swiper-card-54be00bd .info-content-54be00bd {
        width: 100%;
        padding-right: 90px;
        gap: 12px;
        box-sizing: border-box;
    }

    .swiper-card-54be00bd .concert-title-54be00bd {
        margin: 0 !important;
        font-size: 30px !important;
        line-height: 1.15 !important;
    }

    .swiper-card-54be00bd .concert-meta-54be00bd {
        font-size: 14px !important;
        line-height: 1.4 !important;
    }

    /* FRECCIA TABLET */
    .swiper-card-top-54be00bd::after {
        content: "";
        position: absolute;

        top: auto;
        right: 0;
        bottom: 0;

        width: 42px;
        height: 42px;

        border-right: 1px solid #fff;
        border-bottom: 1px solid #fff;

        background:
            linear-gradient(
                45deg,
                transparent 49%,
                #fff 49.5%,
                #fff 50.5%,
                transparent 51%
            );

        box-sizing: border-box;
        pointer-events: none;
        z-index: 10;
    }

    .concert-mobile-nav-54be00bd {
        margin: 18px 0 14px;
    }
}


/* ========================================
   DESKTOP
======================================== */

@media (min-width: 1025px) {

    .concerts-grid-54be00bd {
        display: grid !important;
        grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);

        width: 100%;
        gap: 28px;
        align-items: stretch;
    }

    .list-column-54be00bd {
        width: 100% !important;
        min-width: 0;
        gap: 12px;
    }

    .poster-column-54be00bd {
        width: 100% !important;
        min-width: 0;
        align-self: stretch;
    }

    /* CARD */
    .concert-card-link-54be00bd {
        display: grid;
        grid-template-columns: 100px 1fr;
        align-items: center;
        gap: 26px;

        position: relative;

        min-height: 130px;
        padding: 26px 30px;

        box-sizing: border-box;

        background: #000 !important;
        text-decoration: none;
        cursor: pointer;

        transition: background-color .3s ease;
    }

    .concert-card-link-54be00bd:hover,
    .concert-card-link-54be00bd.active-concert-54be00bd {
        background: #252525 !important;
    }

    /* DATA */
    .date-badge-54be00bd {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;

        height: 100%;
        padding-right: 20px;

        border-right: 1px solid rgba(255,255,255,.15);
        text-align: center;
    }

    .day-54be00bd {
        font-family: Georgia, "Times New Roman", serif;
        font-size: 72px !important;
        line-height: .85 !important;
        font-weight: 400;
    }

    .month-54be00bd {
        margin-top: 18px;

        font-family: Arial, Helvetica, sans-serif;
        font-size: 28px !important;
        line-height: 1 !important;
        font-weight: 700;

        color: #fff !important;
    }

    /* TESTO */
    .info-content-54be00bd {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 12px;
    }

    .concert-title-54be00bd {
        margin: 0 !important;

        font-family: Georgia, "Times New Roman", serif;
        font-size: 30px !important;
        line-height: 1.15 !important;
        font-weight: 400;
    }

    .concert-meta-54be00bd {
        margin: 0;

        font-size: 14px !important;
        line-height: 1.4;

        opacity: .75;
    }

    /* LOCANDINA */
    .poster-frame-54be00bd {
        width: 100%;
        height: 100%;
        overflow: hidden;
        background: #000;
    }

    .poster-frame-54be00bd .concert-poster-img-54be00bd {
        display: block;

        width: 100%;
        height: 100%;

        object-fit: contain;
    }

    /* FRECCIA DESKTOP */
    .concert-card-link-54be00bd::after {
        content: "";

        position: absolute;
        right: 14px;
        bottom: 14px;

        width: 42px;
        height: 42px;

        border-right: 1px solid #fff;
        border-bottom: 1px solid #fff;

        background:
            linear-gradient(
                45deg,
                transparent 49%,
                #fff 49.5%,
                #fff 50.5%,
                transparent 51%
            );

        box-sizing: border-box;
        pointer-events: none;

        opacity: 0;
        z-index: 10;

        transition: opacity .25s ease;
    }

    .concert-card-link-54be00bd:hover::after,
    .concert-card-link-54be00bd.active-concert-54be00bd::after {
        opacity: 1;
    }
}