/**
 * Related Articles Block Styles
 * Homepage blog posts slider - uses existing blog card styles
 *
 * @package Kloira
 * @since 1.0.0
 */

/* ==========================================================================
   Section Container
   ========================================================================== */

.related-articles {
	width: 100%;
	padding: 80px 0;
	background: #FFFFFF;
}

.related-articles__container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 50px;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 20px;
}

/* ==========================================================================
   Title
   ========================================================================== */

.related-articles__title {
	width: 100%;
	margin: 0;
	font-family: 'DM Serif Display', Georgia, serif;
	font-style: normal;
	font-weight: 400;
	font-size: 44px;
	line-height: 60px;
	text-align: center;
	color: #111111;
}

/* ==========================================================================
   Slider
   ========================================================================== */

.related-articles__slider-wrapper {
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
}

.related-articles__slider-container {
	width: 100%;
	max-width: 1440px;
	overflow: hidden;
}

.related-articles__slider-track {
	display: flex;
	gap: 32px;
	transition: transform 0.4s ease;
}

/* Override blog card width for slider */
.related-articles__slider-track .only-blog-card {
	flex: 0 0 336px;
	width: 336px;
	margin: 0;
}

/* ==========================================================================
   Navigation Arrows
   ========================================================================== */

.related-articles__nav {
	position: absolute;
	top: 110px; /* Centered on image (220px / 2) */
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #FFFFFF;
	border: 1.5px solid #888888;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	z-index: 10;
	color: #888888;
}

.related-articles__nav:hover:not(:disabled) {
	border-color: #111111;
	color: #111111;
}

.related-articles__nav:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.related-articles__nav--prev {
	left: -25px;
}

.related-articles__nav--next {
	right: -25px;
}

/* ==========================================================================
   Footer Button
   ========================================================================== */

.related-articles__footer {
	display: flex;
	justify-content: center;
}

.related-articles__button {
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: 16px 32px;
	gap: 12px;
	background: transparent;
	border: 1.5px solid #FF5100;
	border-radius: 12px;
	text-decoration: none;
	transition: all 0.3s ease;
}

.related-articles__button:hover {
	background: #FF5100;
	text-decoration: none;
}

.related-articles__button span {
	font-family: 'Roboto Flex', sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 18px;
	line-height: 22px;
	color: #111111;
	transition: color 0.3s ease;
}

.related-articles__button:hover span {
	color: #FFFFFF;
}

.related-articles__button svg {
	width: 10px;
	height: 10px;
	color: #111111;
	transition: color 0.3s ease;
}

.related-articles__button:hover svg {
	color: #FFFFFF;
}

/* ==========================================================================
   Responsive Styles
   ========================================================================== */

@media (max-width: 1500px) {
	.related-articles__nav--prev {
		left: 10px;
	}
	
	.related-articles__nav--next {
		right: 10px;
	}
}

@media (max-width: 1200px) {
	.related-articles {
		padding: 60px 0;
	}
	
	.related-articles__container {
		gap: 40px;
	}
	
	.related-articles__title {
		font-size: 38px;
		line-height: 52px;
	}
	
	.related-articles__slider-track {
		gap: 24px;
	}
	
	.related-articles__slider-track .only-blog-card {
		flex: 0 0 300px;
		width: 300px;
	}
	
	.related-articles__nav {
		top: 98px;
	}
}

@media (max-width: 992px) {
	.related-articles {
		padding: 50px 0;
	}
	
	.related-articles__container {
		gap: 32px;
	}
	
	.related-articles__title {
		font-size: 32px;
		line-height: 44px;
	}
	
	.related-articles__slider-track .only-blog-card {
		flex: 0 0 280px;
		width: 280px;
	}
	
	.related-articles__nav {
		top: 90px;
		width: 44px;
		height: 44px;
	}
	
	.related-articles__nav--prev {
		left: 5px;
	}
	
	.related-articles__nav--next {
		right: 5px;
	}
}

@media (max-width: 768px) {
	.related-articles {
		padding: 40px 0;
	}
	
	.related-articles__container {
		gap: 28px;
		padding: 0 16px;
	}
	
	.related-articles__title {
		font-size: 28px;
		line-height: 38px;
	}
	
	.related-articles__slider-track {
		gap: 16px;
	}
	
	.related-articles__slider-track .only-blog-card {
		flex: 0 0 260px;
		width: 260px;
	}
	
	.related-articles__nav {
		top: 85px;
		width: 40px;
		height: 40px;
	}
	
	.related-articles__button {
		padding: 14px 28px;
	}
	
	.related-articles__button span {
		font-size: 16px;
	}
}

@media (max-width: 576px) {
	.related-articles {
		padding: 32px 0;
	}
	
	.related-articles__container {
		gap: 24px;
	}
	
	.related-articles__title {
		font-size: 24px;
		line-height: 32px;
	}
	
	.related-articles__slider-track .only-blog-card {
		flex: 0 0 240px;
		width: 240px;
	}
	
	.related-articles__nav {
		top: 78px;
		width: 36px;
		height: 36px;
	}
	
	.related-articles__nav svg {
		width: 12px;
		height: 10px;
	}
	
	.related-articles__button {
		padding: 12px 24px;
	}
	
	.related-articles__button span {
		font-size: 14px;
	}
}

/* ==========================================================================
   Blog Detail Page - Related Articles Mobile (100% width with 20px padding)
   ========================================================================== */

@media (max-width: 480px) {
	/* Related Articles Section on Blog Detail Page - 100% width */
	.only-blog-detail .related-articles,
	.only-related-articles {
		width: 100%;
		padding: 24px 0;
		background: #FFFFFF;
		margin-top: 0;
	}
	
	.only-blog-detail .related-articles__container,
	.only-related-articles__container {
		width: 100%;
		max-width: 100%;
		gap: 24px;
		padding: 0 20px;
		box-sizing: border-box;
	}
	
	.only-blog-detail .related-articles__title,
	.only-related-articles__title {
		width: 100%;
		font-family: 'DM Serif Display', serif;
		font-style: normal;
		font-weight: 400;
		font-size: 22px;
		line-height: 26px;
		text-align: center;
		color: #111111;
		margin: 0;
	}
	
	.only-blog-detail .related-articles__slider-wrapper,
	.only-related-articles__slider-wrapper {
		width: 100%;
	}
	
	.only-blog-detail .related-articles__slider-track,
	.only-related-articles__slider-track {
		display: flex;
		flex-direction: row;
		align-items: center;
		padding: 0;
		gap: 12px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}
	
	.only-blog-detail .related-articles__slider-track::-webkit-scrollbar,
	.only-related-articles__slider-track::-webkit-scrollbar {
		display: none;
	}
	
	.only-blog-detail .related-articles__slider-track .only-blog-card,
	.only-related-articles__slider-track .only-blog-card {
		flex: 0 0 260px;
		width: 260px;
		scroll-snap-align: start;
	}
	
	/* Hide navigation arrows on mobile */
	.only-blog-detail .related-articles__nav,
	.only-related-articles__nav {
		display: none;
	}
	
	/* Blog Card Styles for Related Articles - Mobile */
	.only-blog-detail .only-blog-card,
	.only-related-articles .only-blog-card {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		padding: 0;
		gap: 12px;
		width: 260px;
		height: auto;
	}
	
	.only-blog-detail .only-blog-card__image,
	.only-related-articles .only-blog-card__image {
		width: 260px;
		height: 166px;
		border-radius: 8px;
		overflow: hidden;
	}
	
	.only-blog-detail .only-blog-card__image img,
	.only-related-articles .only-blog-card__image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	
	.only-blog-detail .only-blog-card__content,
	.only-related-articles .only-blog-card__content {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		padding: 0;
		gap: 8px;
		width: 260px;
	}
	
	.only-blog-detail .only-blog-card__meta,
	.only-related-articles .only-blog-card__meta {
		display: flex;
		flex-direction: row;
		align-items: center;
		padding: 0;
		gap: 12px;
		width: 100%;
	}
	
	.only-blog-detail .only-blog-card__meta-item,
	.only-related-articles .only-blog-card__meta-item {
		display: flex;
		flex-direction: row;
		align-items: center;
		padding: 0;
		gap: 8px;
	}
	
	.only-blog-detail .only-blog-card__meta-item svg,
	.only-related-articles .only-blog-card__meta-item svg {
		width: 16px;
		height: 16px;
		color: #888888;
	}
	
	.only-blog-detail .only-blog-card__meta-item span,
	.only-related-articles .only-blog-card__meta-item span {
		font-family: 'Roboto Flex', sans-serif;
		font-style: normal;
		font-weight: 400;
		font-size: 12px;
		line-height: 14px;
		text-align: center;
		color: #222222;
	}
	
	.only-blog-detail .only-blog-card__meta-separator,
	.only-related-articles .only-blog-card__meta-separator {
		width: 8px;
		height: 8px;
		background: #FFAC85;
		border-radius: 50%;
	}
	
	.only-blog-detail .only-blog-card__title,
	.only-related-articles .only-blog-card__title {
		width: 260px;
		margin: 0;
	}
	
	.only-blog-detail .only-blog-card__title a,
	.only-related-articles .only-blog-card__title a {
		font-family: 'Roboto Flex', sans-serif;
		font-style: normal;
		font-weight: 500;
		font-size: 16px;
		line-height: 22px;
		color: #212B35;
		text-decoration: none;
	}
	
	/* Footer button - Mobile */
	.only-blog-detail .related-articles__footer,
	.only-related-articles__footer {
		display: none;
	}
}
