section.upcoming-dates-homepage-block{
    width:100%;
    position: relative;
}

.upcoming-dates-homepage-viewport{
    width: 100%;
    overflow: hidden;
    position: relative;
}
.upcoming-dates-homepage-inner{
    width: 100%;
    background: var(--color-secondary);
    background: linear-gradient(180deg,  var(--color-secondary) 1%,  var(--color-primary) 11%,  var(--color-primary) 89%,  var(--color-secondary) 100%);
    padding:var(--side-margin)  0;
}
.upcoming-dates-homepage-inner h2{
    width: 100%;
    text-align: center;
    font-weight: 600;
    letter-spacing: 1px;
    font-size: 1em;
    text-transform: uppercase;
}
/* Slider track */
.upcoming-dates-homepage-list{
    width: 100%;    
    max-width: var(--content-regular);
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: space-between;
    list-style: none;
    margin: 0 auto;
    padding: 15px var(--side-margin) ;
    position: relative;
    transform: translateX(0);
    transition: transform 0.4s ease;
    will-change: transform;
}

/* Slides: 4 across by default */
li.upcoming-date-homepage-item{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    border: 1px #dedede solid;
    background: var(--color-primary);
}

/* Your existing inner styles (unchanged) */
li.upcoming-date-homepage-item a.upcoming-date-homepage-item-block{
    display: block;
    width: calc(100% - 180px);
    padding: 20px 20px;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 15px;
}
.upcoming-date-homepage-location{
    width: 60%;
    display: block;
    font-size: var(--default-font-size);
    font-weight: 600;
}
.upcoming-date-homepage-datetime{
    width: 40%;
    display: flex;
    justify-content: flex-end;
    text-align: right;
    font-size: 0.8em;
    color: var(--color-alt-text);
}
.upcoming-date-homepage-datetime time{
    margin-right: 10px;
}

a.upcoming-date-homepage-tickets {
    width: 140px;
    height:40px;
    display: flex;
    font-size: 0.8em;
    font-weight: 600;
    justify-content: center;
    align-items: center;
    color: var(--color-text);
    border: 1px #dedede solid;
    background: var(--color-primary);
    letter-spacing: 1px;
    text-transform: uppercase;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    overflow: hidden;
    padding:0;
}
a.upcoming-date-homepage-tickets:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 51%;
  right: 51%;
  bottom: 0;
  background: var(--color-accent);
  height: 4px;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
a.upcoming-date-homepage-tickets:hover:before, 
a.upcoming-date-homepage-tickets:focus:before, 
a.upcoming-date-homepage-tickets:active:before {
  left: 0;
  right: 0;
}
.upcoming-dates-homepage-nav{
    display: flex;
    justify-content: center;
    width: 100%;
}
.upcoming-date-homepage-more-link{ 
    width: 140px;
    height:40px;
    display: flex;
    font-size: 0.8em;
    font-weight: 600;
    padding: 7px 12px;
    text-transform: uppercase;
    background-color: var(--color-primary);
    border: 1px solid #dedede;
    margin: 20px auto 0;
    text-align: center;
    vertical-align: middle;
    line-height: normal;
    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 1000px) {
    li.upcoming-date-homepage-item a.upcoming-date-homepage-item-block{
        flex-wrap: wrap;
        gap: 2px;
    }
    .upcoming-date-homepage-location,
    .upcoming-date-homepage-datetime{
        width: 100%;
        text-align: left;
        justify-content: flex-start;
    }
}
@media screen and (max-width: 500px){
    li.upcoming-date-homepage-item{
        padding: 20px;
    }   
    li.upcoming-date-homepage-item a.upcoming-date-homepage-item-block{
        width: 100%;
        overflow: visible;
        height: auto;
        padding: 0px;
    }
    .upcoming-date-homepage-location,
    .upcoming-date-homepage-datetime{
        width: 100%;
        text-align: center;
        justify-content: center;
    }
    a.upcoming-date-homepage-tickets {
        width: 100%;
        text-align: center;
    }
    .upcoming-date-homepage-time{
        display: block;
        text-align: center ;
    }
}
