.next-race-wrapper {
    position: relative;
    margin-bottom: 30px;
}

/* The label is now a sibling, not a child of .event-item */
.next-race-label {
    /* No longer absolutely in the item. We can style it as we like. */
    display: inline-block;
    color: var(--next-race-bar-color, #dbb752);;
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 5px;
	height: 14px;
}

/* The event item itself */
.event-item {
    background: #111;
    color: #fff;
    text-align: center;
    border-radius: 10px;
    position: relative;
    min-height: 350px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.3s ease-in-out;
    overflow: visible; /* No cut-offs if we do have something inside */
}
.event-item {
  border-top: 4px solid transparent;
}
.event-item.next-race {
  border-top: 4px solid var(--next-race-bar-color, #dbb752);
}


.past-event {
    opacity: 0.8;
}

/* The event link area */
.event-link {
    text-decoration: none;
    color: inherit;
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

.event-internal {
    padding: 20px 30px 10px;
    text-align: left;
}

/* Title / Venue / Date styling */
.event-title {
    color: #dbb752;
    font-size: 14px;
    margin: 0;
	text-transform: uppercase;
}
.event-venue {
    display: flex;
    margin: 0;
    color: white;
    font-style: italic;
    align-items: center;
    font-size: 21px;
    margin-top: 10px;
}
.event-date {
    color: #fff;
    margin: 5px 0;
}

/* The event image */
.event-image {
    max-width: 100%;
    height: auto;
    object-fit: cover;
    width: 100%;
    max-height: 196px !important;
}

/* The flag icon */
.flag-icon {
    width: 40px !important;
    height: 20px;
    margin-left: 20px;
}

/* Race Button: fade/fill effect from left to right */
.race-button {
	position: relative;
	z-index: 1;
    display: block;
    color: #FFF;
    text-decoration: none;
    padding: 12px;
    font-weight: bold;
    width: auto;
    text-align: center;
    position: relative;
    overflow: hidden;
    background: #444; /* start color if you want a distinct background */
    border-bottom-right-radius: 9px;
    border-bottom-left-radius: 9px;
    border-top: 1px solid #f7f7f75e;
    transition: color 0.4s ease-in-out;
}

/* Use a pseudo-element for the fill effect */
.race-button::before {
    content: '';
    position: absolute;
    top: 0; left: 0; bottom: 0;
    width: 0%;
    background: linear-gradient(to right, #dbb752, #a07d30);
    transition: width 0.4s ease-in-out, opacity 0.4s ease-in-out;
    opacity: 0.6;
	z-index: -1;
}

/* On hover, fill from left to right */
.race-button:hover::before,
.event-item:hover .race-button::before {
    width: 100%;
    opacity: 1;
}

/* You can also lighten text color */
.race-button:hover,
.event-item:hover .race-button {
    color: white;
}

/* Owl Carousel overrides */
.owl-item {
    min-width: 350px; /* prevent squishing */
    max-width: 360px; /* or your preference */
}
.event-slider {
    max-width: 100%;
    margin: 20px auto;
}

/* Keyframes for a smooth bounce */
@keyframes balanced-bob {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

/* Next Race box gets a gentle up/down */
.next-rr {
  animation: balanced-bob 2.5s ease-in-out infinite;
}


@media (min-width: 601px) {
	.owl-stage {
	  display: flex !important;
	  flex-wrap: nowrap !important;
	}/*
	.owl-item {
		min-width: 0 !important;
	}*/
}

@media (max-width: 600px) {
  .owl-item {
    min-width: 0 !important;
    max-width: 90% !important;
    margin: 0 auto; /* helps ensure the single slide is centered */
  }
}