/* ==========================================================================
   POST CONTENT CAROUSEL CUSTOMIZATION
   Styling for the posts carousel component
   ========================================================================== */

/* Removes default padding from carousel container */
.home-post-carousel .fl-post-carousel {
	position: relative;
	padding: 0px 0px !important;
}

/* Positions custom navigation container at top-right */
.home-post-carousel .combined-nav-container {
	position: absolute;
	top: -100px;
	right: 0px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2; /* Ensures nav appears above content */
}

/* Styles navigation arrows with flex layout */
.home-post-carousel .combined-nav-container .carousel-prev,
.home-post-carousel .combined-nav-container .carousel-next,
.home-post-carousel .combined-nav-container .custom-carousel-prev,
.home-post-carousel .combined-nav-container .custom-carousel-next {
	position: static;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

/* Removes right margin from previous button */
.home-post-carousel .combined-nav-container .custom-carousel-prev {
	margin-right: 0px;
}

/* Removes left margin from next button */
.home-post-carousel .combined-nav-container .custom-carousel-next {
	margin-left: 0px;
}

/* Sets size for SVG container in navigation */
.home-post-carousel .combined-nav-container .fl-post-carousel-svg-container {
	width: 15px;
	height: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Ensures navigation images fit correctly */
.home-post-carousel .combined-nav-container .fl-post-carousel-svg-container img {
	width: 15px;
	height: 15px;
	display: block;
}

/* Styles custom pagination with flex layout */
.home-post-carousel .combined-nav-container .custom-pager {
	position: static;
	display: flex;
	align-items: center;
	margin: 0 5px;
}

/* Sets margins for pagination dots */
.home-post-carousel .combined-nav-container .custom-pager-item {
	margin: 0 3px;
}

/* Styles pagination dots as small circles */
.home-post-carousel .combined-nav-container .custom-pager-link {
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%; /* Perfect circle */
	background-color: #ccc; /* Light gray for inactive dots */
	font-size: 0; /* Hides any text */
	line-height: 0;
	transition: background-color 0.3s; /* Smooth transition */
}

/* Changes dot color when active */
.home-post-carousel .combined-nav-container .custom-pager-link.active {
	background-color: #333; /* Darker color for active dot */
}

/* Hides the default carousel controls */
.home-post-carousel .fl-post-carousel .bx-controls,
.home-post-carousel .fl-post-carousel .fl-post-carousel-navigation {
	display: none !important;
}

/* Adjusts navigation position on smaller screens */
@media (max-width: 768px) {
	.home-post-carousel .combined-nav-container {
		top: -60px; /* Moves up on mobile */
		right: 0px;
	}

	/* Slightly smaller navigation icons on mobile */
	.home-post-carousel .combined-nav-container .fl-post-carousel-svg-container,
	.home-post-carousel .combined-nav-container .fl-post-carousel-svg-container img {
		width: 14px;
		height: 14px;
	}

	/* Maintains pagination dot size on mobile */
	.home-post-carousel .combined-nav-container .custom-pager-link {
		width: 6px;
		height: 6px;
	}
}

/* Removes border from carousel post items */
.home-post-carousel .fl-post-carousel-post {
	border: none !important;
}

/* Adjusts padding for post text area */
.home-post-carousel .fl-post-carousel-text {
	padding: 40px 0px 0px 0px !important; /* Top padding only */
}

/* Limits title to 2 lines with ellipsis for overflow */
.home-post-carousel .fl-post-carousel-title a {
	display: -webkit-box;
	-webkit-line-clamp: 2; /* Limits to 2 lines */
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis; /* Adds ... for overflow */
	max-height: none; /* Height based on line count */
	word-wrap: break-word;
}

/* Adds bottom margin to post titles */
.home-post-carousel .fl-post-carousel-title {
	margin: 0 0 30px !important;
}