/* =========================================================
   OXL Upcoming Movies - Horizontal Slider
   ========================================================= */

.oxl-upcoming-slider {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	background: linear-gradient(135deg, #4A3410, #1E1608);
	padding: 24px;
	border-radius: 10px;
}

.oxl-upcoming-viewport {
	overflow: hidden;
	flex: 1;
	min-width: 0;
}

.oxl-upcoming-track {
	display: flex;
	gap: 20px;
	transition: transform 0.5s ease;
	will-change: transform;
}

.oxl-upcoming-card {
	position: relative;
	flex: 0 0 calc((100% - 40px) / 3);
	aspect-ratio: 3 / 4;
	border-radius: 8px;
	overflow: hidden;
	display: block;
	background: #2a2115;
}

.oxl-upcoming-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.oxl-upcoming-card:hover img {
	transform: scale(1.05);
}

.oxl-upcoming-poster-placeholder {
	display: block;
	width: 100%;
	height: 100%;
}

.oxl-upcoming-overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 30px 16px 16px;
	background: linear-gradient(to top, rgba(0,0,0,0.9) 10%, rgba(0,0,0,0) 100%);
}

.oxl-upcoming-title {
	margin: 0 0 4px;
	color: #ffffff;
	font-size: 18px;
	font-weight: 700;
}

.oxl-upcoming-tag {
	display: block;
	color: #D4A947;
	font-size: 13px;
	font-weight: 600;
}

.oxl-upcoming-arrow {
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 1px solid #D4A947;
	background: transparent;
	color: #D4A947;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.25s ease, color 0.25s ease;
}

.oxl-upcoming-arrow:hover {
	background: #D4A947;
	color: #1C160E;
}

@media (max-width: 900px) {
	.oxl-upcoming-card {
		flex: 0 0 calc((100% - 20px) / 2);
	}
}

@media (max-width: 600px) {
	.oxl-upcoming-slider {
		padding: 16px;
		gap: 10px;
	}
	.oxl-upcoming-card {
		flex: 0 0 100%;
	}
	.oxl-upcoming-arrow {
		width: 34px;
		height: 34px;
	}
}
