#blog-container {

	display: flex;

	flex-direction: column;

	width: min(90%, 1400px);

	max-width: 1400px;

	margin: 0 auto;

	padding: 2rem 1rem;

	gap: 3rem;

}



.blog-header {

	text-align: center;

	padding: 3rem 0;

}



.blog-title {

	font-size: 4em;

	font-family: STIX Two Text;

	color: #8180f9;

	margin-bottom: 1rem;

	font-weight: bold;

}



.blog-subtitle {

	font-size: 1.3em;

	color: rgba(255, 255, 255, 0.8);

	font-family: Noto Sans;

}



.blog-filters {

	display: flex;

	justify-content: center;

	flex-wrap: wrap;

	gap: 1rem;

	padding: 1rem 0;

}



.filter-btn {

	padding: 0.75rem 1.5rem;

	background: rgba(13, 18, 36, 0.5);

	border: 1px solid rgba(156, 158, 255, 0.2);

	border-radius: 25px;

	color: rgba(255, 255, 255, 0.8);

	font-family: Noto Sans;

	font-size: 1em;

	cursor: pointer;

	transition: all 0.3s ease;

}



.filter-btn:hover {

	background: rgba(13, 18, 36, 0.8);

	border-color: rgba(156, 158, 255, 0.4);

	color: #8180f9;

	transform: translateY(-2px);

}



.filter-btn.active {

	background: linear-gradient(135deg, #0077E5, #8180f9);

	border-color: transparent;

	color: white;

	box-shadow: 0 4px 15px rgba(0, 119, 229, 0.3);

}



.articles-grid {

	display: grid;

	grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));

	gap: 2rem;

	padding: 1rem 0;

}



.article-card {

	background: rgba(13, 18, 36, 0.5);

	border-radius: 12px;

	border: 1px solid rgba(156, 158, 255, 0.1);

	overflow: hidden;

	transition: all 0.3s ease;

	display: flex;

	flex-direction: column;

}



.article-card:hover {

	transform: translateY(-5px);

	box-shadow: 0 8px 25px rgba(0, 119, 229, 0.2);

	border-color: rgba(156, 158, 255, 0.3);

}



.article-image {

	position: relative;

	width: 100%;

	height: 200px;

	overflow: hidden;

	background: linear-gradient(135deg, #0077E5, #8180f9);

}



.article-placeholder {

	width: 100%;

	height: 100%;

	display: flex;

	align-items: center;

	justify-content: center;

	font-size: 4em;

	font-weight: bold;

	color: rgba(255, 255, 255, 0.3);

	font-family: STIX Two Text;

}



.article-category {

	position: absolute;

	top: 1rem;

	right: 1rem;

	background: rgba(13, 18, 36, 0.9);

	padding: 0.5rem 1rem;

	border-radius: 20px;

	font-size: 0.85em;

	color: #8180f9;

	font-weight: 600;

	font-family: Noto Sans;

}



.article-content {

	padding: 1.5rem;

	display: flex;

	flex-direction: column;

	flex-grow: 1;

	gap: 1rem;

}



.article-meta {

	display: flex;

	gap: 1rem;

	font-size: 0.9em;

	color: rgba(255, 255, 255, 0.6);

	font-family: Noto Sans;

}



.article-date::after {

	content: '•';

	margin-left: 1rem;

	color: rgba(255, 255, 255, 0.3);

}



.article-title {

	font-size: 1.5em;

	font-family: STIX Two Text;

	color: #8180f9;

	margin: 0;

	line-height: 1.3;

}



.article-title a {

	color: inherit;

	text-decoration: none;

	transition: color 0.3s ease;

}



.article-title a:hover {

	color: #0077E5;

}



.article-excerpt {

	color: rgba(255, 255, 255, 0.8);

	line-height: 1.6;

	font-family: Noto Sans;

	flex-grow: 1;

}



.article-link {

	color: #0077E5;

	text-decoration: none;

	font-weight: 600;

	font-family: Noto Sans;

	transition: all 0.3s ease;

	display: inline-block;

}



.article-link:hover {

	color: #8180f9;

	transform: translateX(5px);

}



/* Page article individuel */

#article-container {
	display: flex;
	flex-direction: column;
	width: min(90%, 900px);
	max-width: 900px;
	margin: 0 auto;
	padding: 2rem 1rem;
	gap: 2rem;
}



.back-link {

	color: #8180f9;

	text-decoration: none;

	font-family: Noto Sans;

	font-weight: 600;

	transition: all 0.3s ease;

	display: inline-block;

	margin-bottom: 1rem;

}



.back-link:hover {

	color: #0077E5;

	transform: translateX(-5px);

}



.article-full {
	background: rgba(13, 18, 36, 0.3);
	border-radius: 12px;
	border: 1px solid rgba(156, 158, 255, 0.1);
	padding: 2.5rem;
}



.article-header {

	margin-bottom: 2rem;

	padding-bottom: 2rem;

	border-bottom: 1px solid rgba(156, 158, 255, 0.2);

}



.article-header .article-meta {

	display: flex;

	gap: 1rem;

	margin-bottom: 1.5rem;

	flex-wrap: wrap;

}



.article-header .article-category {

	position: static;

	background: linear-gradient(135deg, #0077E5, #8180f9);

	color: white;

	padding: 0.5rem 1rem;

	border-radius: 20px;

	font-size: 0.9em;

	font-weight: 600;

}



.article-title-full {

	font-size: 2.5em;

	font-family: STIX Two Text;

	color: #8180f9;

	line-height: 1.2;

	margin: 0;

}



.article-body {
	color: rgba(255, 255, 255, 0.9);
	line-height: 1.9;
	font-family: Noto Sans;
	font-size: 1.05em;
}



.article-body h2 {
	font-size: 1.9em;
	font-family: STIX Two Text;
	color: #b8b6ff;
	margin-top: 3rem;
	margin-bottom: 1.5rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid rgba(156, 158, 255, 0.2);
}



.article-body h3 {
	font-size: 1.5em;
	font-family: STIX Two Text;
	color: #b8b6ff;
	margin-top: 2.5rem;
	margin-bottom: 1.2rem;
}



.article-body p {
	margin-bottom: 1.8rem;
}



.article-body ul,
.article-body ol {
	margin: 2rem 0;
	padding-left: 2.5rem;
	line-height: 1.9;
}



.article-body li {
	margin-bottom: 1rem;
}



.article-body strong {

	color: #8180f9;

	font-weight: 600;

}



.article-body a {

	color: #0077E5;

	text-decoration: none;

	transition: color 0.3s ease;

}



.article-body a:hover {

	color: #8180f9;

	text-decoration: underline;

}




.article-card-link {
	text-decoration: none;
	color: inherit;
	display: block;
	cursor: pointer;
}

.article-card-link .article-card {
	height: 100%;
}

.article-card-link:hover .article-card {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(0, 119, 229, 0.2);
	border-color: rgba(156, 158, 255, 0.3);
}

.article-card-link .article-title {
	color: #8180f9;
	transition: color 0.3s ease;
}

.article-card-link:hover .article-title {
	color: #0077E5;
}

.article-card-link .article-link {
	display: inline-block;
	color: #0077E5;
}

.article-card-link:hover .article-link {
	color: #8180f9;
	transform: translateX(5px);
}

/* Responsive */

@media (max-width: 768px) {

	.articles-grid {

		grid-template-columns: 1fr;

		gap: 1.5rem;

	}

	

	.blog-title {

		font-size: 2.5em;

	}

	

	#article-container {
	display: flex;
	flex-direction: column;
	width: min(90%, 900px);
	max-width: 900px;
	margin: 0 auto;
	padding: 2rem 1rem;
	gap: 2rem;
}

	

	.article-full {
	background: rgba(13, 18, 36, 0.3);
	border-radius: 12px;
	border: 1px solid rgba(156, 158, 255, 0.1);
	padding: 2.5rem;
}

	

	.article-title-full {

		font-size: 2em;

	}

	

	.blog-filters {

		gap: 0.5rem;

	}

	

	.filter-btn {

		padding: 0.5rem 1rem;

		font-size: 0.9em;

	}

}





.article-body code {
	background: rgba(13, 18, 36, 0.8);
	padding: 0.2em 0.4em;
	border-radius: 4px;
	font-size: 0.9em;
	color: #8180f9;
	font-family: 'Courier New', monospace;
}

.article-body pre {
	background: rgba(13, 18, 36, 0.8);
	padding: 1.5rem;
	border-radius: 8px;
	overflow-x: auto;
	margin: 2rem 0;
	border: 1px solid rgba(156, 158, 255, 0.2);
}

.article-body pre code {
	background: transparent;
	padding: 0;
	color: rgba(255, 255, 255, 0.9);
}

.article-body blockquote {
	border-left: 4px solid #0077E5;
	padding-left: 1.5rem;
	margin: 2rem 0;
	color: rgba(255, 255, 255, 0.8);
	font-style: italic;
}

.article-body img {
	cursor: pointer;
	border-radius: 8px;
	max-width: 100%;
	height: auto;
	transition: opacity 0.3s ease;
}

.article-body img:hover {
	opacity: 0.9;
}

/* Modal pour l'image en plein écran */
.image-modal {
	display: none;
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.95);
	cursor: pointer;
}

.image-modal img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 95%;
	max-height: 95%;
	border-radius: 8px;
	box-shadow: 0 4px 30px rgba(129, 128, 249, 0.3);
	cursor: default;
}

.image-modal-close {
	position: absolute;
	top: 20px;
	right: 35px;
	color: #f1f1f1;
	font-size: 40px;
	font-weight: bold;
	cursor: pointer;
	z-index: 10000;
	transition: color 0.3s ease;
}

.image-modal-close:hover {
	color: #8180f9;
}
