/* Horizontal carousel container */
.lw-video-list {
    display: grid;
    grid-auto-flow: column;          /* arrange items side-by-side */
    grid-auto-columns: calc(100% / 3); /* 3 cards per full width */
    gap: 70px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 10px;
    -webkit-overflow-scrolling: touch; /* smooth iOS scrolling */
}

/* hide scrollbar for cleaner look */
.lw-video-list::-webkit-scrollbar {
    display: none;
}

/* Each video card takes full width of its grid column */
.lw-video {
    scroll-snap-align: start;
    cursor: pointer;
    transition: transform 0.25s ease, background 0.25s ease;
}
.lw-video:hover {
    transform: scale(1.02);   /* grow to 105% of original size */
    z-index: 2;               /* keep it above neighbors */
}

/* Thumbnail styling */
.lw-thumb {
    position: relative; /* allow absolute positioning of badge */
}

.lw-thumb img {
    width: 100%;
    height: auto;
	max-height: 200px;
	object-fit: cover;
	border-radius: 0.313rem !important;
	margin-bottom: 10px;
}
.lw-title {
    color: #fff;
    font-size: 1.38rem;
    font-family: Outfit, sans-serif;
    font-weight: 600;
    line-height: 1.688rem;
    transition: all 0.3s ease;
}
.lw-duration {
	position: absolute;
    bottom: 25px;
    right: 15px;
    color: #fff;
    font-size: 0.85em;
    font-weight: 600;
    pointer-events: none; /* clicks pass through */
	
	padding: 0rem 0.313rem;
    border-radius: 3.5rem;
    background-color: rgba(0, 0, 0, 0.62);
    font-family: Outfit, sans-serif;
    line-height: 1.15rem;
    transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s, transform 0.4s;
}

.lw-play-icon {
    position: absolute;
    max-width: 70px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: rgba(255, 255, 255, 0.9);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;     /* clicks pass through to the card */
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

/* Fade in on hover of the whole card */
.lw-video:hover .lw-play-icon {
    opacity: 1;
}

.lw-email-error {
    color: #c00;
    font-weight: bold;
}

/* Responsive: fewer than 3 on smaller screens */
@media (max-width: 900px) {
    .lw-video-list {
        grid-auto-columns: calc(100% / 2); /* show 2 per slide */
    }
}
@media (max-width: 600px) {
    .lw-video-list {
        grid-auto-columns: 100%; /* show 1 per slide */
    }
}

/* Popup overlay */
.lw-popup-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.7);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}
/* Popup content */
.lw-popup-content {
    position: relative;
    max-width: 90%;
    width: 800px;
    background: #000;
    padding: 0;
    border-radius: 27px;
}
.lw-popup-content video {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 27px;
}
.lw-popup-close {
    position: absolute;
    top: 8px;
    right: 12px;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    z-index: 50;
}
.lw-end-link {
    position: absolute;
    bottom: 25%;
    width: 100%;
    text-align: center;
    padding: 15px;
    background: transparent;
    border-radius: 27px;
}
.lw-end-link a {
    color: #fff;
    text-decoration: underline !important;
    font-size: 2em;
}

.carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(242, 101, 39, 0.7);
  color: white;
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 50px;
  line-height: 1;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: flex-end;
  z-index: 10;
  transition: background 0.3s, transform 0.2s;
}

.carousel-arrow:hover {
  background: rgba(0,0,0,0.7);
  transform: translateY(-50%) scale(1.1);
}

.carousel-arrow:focus
{
	outline: none;
}

.carousel-arrow.prev {
  left: 10px;
}

.carousel-arrow.next {
  right: 10px;
}

.carousel-arrow:disabled {
  opacity: 0.3;
  cursor: default;
}