/* Reset de base */
* {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
		font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	}

	body {
		background-color: #f5f7fa;
		color: #333;
		line-height: 1.6;
	}

	body.no-scroll {
		overflow: hidden;
	}

	.container {
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 15px;
	}

	header {
		background: linear-gradient(135deg, #006600 0%, #008800 100%);
		color: white;
		padding: 15px 0;
		box-shadow: 0 2px 10px rgba(0,0,0,0.1);
		position: sticky;
		top: 0;
		z-index: 100;
	}

	.header-content {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.logo {
		display: flex;
		align-items: center;
	}
	.logo-img {
		height: 40px;
		margin-right: 10px;
	}

	.logo h1 {
		font-size: 1.5rem;
		margin-left: 10px;
	}

	.logo-icon {
		font-size: 24px;
		background: #ffcc00;
		color: #006600;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		display: none; /* Caché par défaut */
	}
	@media (max-width: 768px) {
		.logo h1 {
			font-size: 1.2rem;
		}
		
		.logo-img {
			height: 32px;
		}
	}

	.search-bar {
		display: flex;
		flex: 1;
		max-width: 500px;
		margin: 0 20px;
	}

	.search-bar input {
		padding: 10px 15px;
		border: none;
		border-radius: 4px 0 0 4px;
		width: 100%;
		font-size: 1rem;
	}

	.search-bar button {
		padding: 10px 15px;
		border: none;
		background: #ffcc00;
		color: #333;
		border-radius: 0 4px 4px 0;
		cursor: pointer;
		transition: background 0.3s;
	}

	.search-bar button:hover {
		background: #e6b800;
	}

	.menu-toggle {
		background: none;
		border: none;
		color: white;
		font-size: 1.5rem;
		cursor: pointer;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: background 0.3s;
	}

	.menu-toggle:hover {
		background: rgba(255, 255, 255, 0.1);
	}

	.sidebar {
		position: fixed;
		top: 0;
		left: -300px;
		width: 300px;
		height: 100%;
		background: white;
		box-shadow: 2px 0 10px rgba(0,0,0,0.1);
		transition: left 0.3s ease;
		z-index: 200;
		padding: 20px;
		overflow-y: auto;
	}

	.sidebar.active {
		left: 0;
	}

	.sidebar h2 {
		color: #006600;
		margin-bottom: 20px;
		padding-bottom: 10px;
		border-bottom: 2px solid #eee;
	}

	.sidebar ul {
		list-style: none;
	}

	.sidebar li {
		padding: 12px 15px;
		border-bottom: 1px solid #eee;
		cursor: pointer;
		display: flex;
		align-items: center;
		transition: background 0.3s;
	}

	.sidebar li i {
		margin-right: 10px;
		color: #006600;
	}

	.sidebar li:hover {
		background: #f0f7f0;
		color: #006600;
	}

	.notifications {
		margin-top: 30px;
		padding: 15px;
		background: #f9f9f9;
		border-radius: 8px;
	}

	.notifications label {
		display: flex;
		align-items: center;
		cursor: pointer;
	}

	.notifications input {
		margin-right: 10px;
		width: 18px;
		height: 18px;
	}

	.overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.5);
		z-index: 150;
		display: none;
	}

	.overlay.active {
		display: block;
	}

	main {
		padding: 30px 0;
	}

	.section-title {
		color: #006600;
		margin-bottom: 20px;
		padding-bottom: 10px;
		border-bottom: 2px solid #eee;
	}

	.search-info {
		margin-bottom: 20px;
		padding: 10px 15px;
		background: #e8f5e9;
		border-radius: 4px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.search-info button {
		background: none;
		border: none;
		color: #006600;
		cursor: pointer;
		font-size: 1.2rem;
	}

	.articles-container {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
		gap: 25px;
	}

	.article-card {
		background: white;
		border-radius: 10px;
		overflow: hidden;
		box-shadow: 0 3px 10px rgba(0,0,0,0.08);
		transition: transform 0.3s, box-shadow 0.3s;
		cursor: pointer;
	}

	.article-card:hover {
		transform: translateY(-5px);
		box-shadow: 0 5px 15px rgba(0,0,0,0.1);
	}

	.article-image {
		width: 100%;
		height: 180px;
		object-fit: cover;
		background: #e0e0e0;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #999;
	}

	.article-content {
		padding: 20px;
	}

	.article-category {
		color: #006600;
		font-size: 0.85rem;
		font-weight: 600;
		text-transform: uppercase;
		margin-bottom: 10px;
	}

	.article-title {
		font-size: 1.2rem;
		margin-bottom: 10px;
		color: #222;
		line-height: 1.4;
	}

	.article-date {
		color: #777;
		font-size: 0.85rem;
		margin-bottom: 12px;
		display: flex;
		align-items: center;
	}

	.article-date i {
		margin-right: 5px;
		color: #006600;
	}

	.article-chapeau {
		color: #555;
		margin-bottom: 15px;
		line-height: 1.5;
	}

	.article-link {
		display: inline-block;
		color: #006600;
		text-decoration: none;
		font-weight: 600;
		font-size: 0.9rem;
	}

	.article-link:hover {
		text-decoration: underline;
	}

	.loading, .error, .no-articles {
		text-align: center;
		padding: 40px 20px;
		grid-column: 1 / -1;
		color: #666;
	}

	.error {
		color: #d32f2f;
	}

	.error i {
		font-size: 3rem;
		margin-bottom: 15px;
		color: #d32f2f;
	}

	.retry-btn {
		margin-top: 15px;
		padding: 10px 20px;
		background: #006600;
		color: white;
		border: none;
		border-radius: 4px;
		cursor: pointer;
		transition: background 0.3s;
	}

	.retry-btn:hover {
		background: #008800;
	}

	/* Styles pour l'affichage de l'article complet */
	.article-detail {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: white;
		z-index: 300;
		overflow-y: auto;
		display: none;
	}

	.article-detail.active {
		display: block;
	}

	.article-detail-header {
		background: linear-gradient(135deg, #006600 0%, #008800 100%);
		color: white;
		padding: 15px 20px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: sticky;
		top: 0;
		z-index: 310;
	}

	.article-detail-close {
		background: none;
		border: none;
		color: white;
		font-size: 1.5rem;
		cursor: pointer;
	}

	.article-detail-content {
		padding: 20px;
		max-width: 800px;
		margin: 0 auto;
	}

	.article-detail-image {
		width: 100%;
		max-height: 400px;
		object-fit: cover;
		border-radius: 8px;
		margin-bottom: 20px;
	}

	.article-detail-title {
		font-size: 1.8rem;
		margin-bottom: 15px;
		color: #222;
	}

	.article-detail-meta {
		display: flex;
		align-items: center;
		margin-bottom: 20px;
		color: #777;
		font-size: 0.9rem;
	}

	.article-detail-meta div {
		margin-right: 20px;
		display: flex;
		align-items: center;
	}

	.article-detail-meta i {
		margin-right: 5px;
		color: #006600;
	}

	.article-detail-body {
		line-height: 1.8;
		font-size: 1.1rem;
	}

	.article-detail-body p {
		margin-bottom: 20px;
	}

	/* Styles pour le chargement infini */
	.load-more-container {
		grid-column: 1 / -1;
		text-align: center;
		margin-top: 30px;
		padding: 20px;
	}

	.load-more-btn {
		padding: 12px 25px;
		background: #006600;
		color: white;
		border: none;
		border-radius: 4px;
		cursor: pointer;
		font-size: 1rem;
		transition: background 0.3s;
	}

	.load-more-btn:hover {
		background: #008800;
	}

	.load-more-btn:disabled {
		background: #cccccc;
		cursor: not-allowed;
	}

	.load-more-loading {
		display: inline-block;
		margin-right: 10px;
	}

	@media (max-width: 768px) {
		.header-content {
			flex-wrap: wrap;
		}
		
		.search-bar {
			order: 3;
			margin: 15px 0 0 0;
			max-width: 100%;
		}
		
		.articles-container {
			grid-template-columns: 1fr;
		}
		
		.sidebar {
			width: 280px;
		}

		.article-detail-title {
			font-size: 1.5rem;
		}
	}

	.notification-toast {
		position: fixed;
		bottom: 20px;
		right: 20px;
		background: #4caf50;
		color: white;
		padding: 15px 20px;
		border-radius: 4px;
		box-shadow: 0 3px 10px rgba(0,0,0,0.2);
		display: flex;
		align-items: center;
		z-index: 1000;
		transform: translateY(100px);
		opacity: 0;
		transition: transform 0.3s, opacity 0.3s;
	}

	.notification-toast.active {
		transform: translateY(0);
		opacity: 1;
	}

	.notification-toast i {
		margin-right: 10px;
		font-size: 1.2rem;
	}