/* ========================================
	Responsive
	======================================== */
@media (max-width: 992px) {
	.hero {
		flex-direction: column;
		padding: 60px 40px;
		text-align: center;
	}

	.hero-title {
		font-size: 3rem;
	}

	.hero-stats {
		justify-content: center;
		flex-wrap: wrap;
	}

	.hero-visual {
		margin-top: 50px;
	}
}

@media (max-width: 768px) {
	/* Header & Navigation mobile */
	.site-header {
		flex-wrap: wrap;
		padding: 15px 20px;
	}

	.menu-toggle {
		display: block;
		order: 2;
	}

	.site-branding {
		order: 1;
		flex: 1;
	}

	.site-logo {
		width: 44px;
		height: 44px;
		flex: 0 0 44px;
	}

	.main-navigation {
		order: 3;
		width: 100%;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: var(--white);
		display: flex;
		align-items: center;
		justify-content: center;
		opacity: 0;
		visibility: hidden;
		transition: var(--transition);
		z-index: 1000;
	}

	.main-navigation.is-open {
		opacity: 1;
		visibility: visible;
	}

	.main-navigation ul {
		flex-direction: column;
		gap: 0;
		text-align: center;
	}

	.main-navigation li {
		opacity: 0;
		transform: translateY(20px);
		transition: opacity 0.3s ease, transform 0.3s ease;
	}

	.main-navigation.is-open li {
		opacity: 1;
		transform: translateY(0);
	}

	.main-navigation.is-open li:nth-child(1) { transition-delay: 0.1s; }
	.main-navigation.is-open li:nth-child(2) { transition-delay: 0.15s; }
	.main-navigation.is-open li:nth-child(3) { transition-delay: 0.2s; }
	.main-navigation.is-open li:nth-child(4) { transition-delay: 0.25s; }
	.main-navigation.is-open li:nth-child(5) { transition-delay: 0.3s; }
	.main-navigation.is-open li:nth-child(6) { transition-delay: 0.35s; }

	.main-navigation a {
		display: block;
		padding: 15px 30px;
		font-size: 1.3rem;
	}

	body.menu-open {
		overflow: hidden;
	}

	.hero-title {
		font-size: 2.5rem;
	}

	.hero-stats {
		gap: 20px;
	}

	.stat-item {
		padding: 15px 20px;
	}

	.stat-number {
		font-size: 1.8rem;
	}

	.section-title {
		font-size: 2rem;
	}

	.newsletter-form {
		flex-direction: column;
	}

	.newsletter-form input,
	.newsletter-form button {
		width: 100%;
	}

	/* Footer responsive */
	.footer-content {
		grid-template-columns: 1fr;
		gap: 40px;
		text-align: center;
	}

	.footer-brand {
		max-width: none;
	}

	.footer-bottom {
		flex-direction: column;
		gap: 20px;
	}

	/* Agenda responsive */
	.agenda-slider {
		grid-template-columns: 44px minmax(0, 1fr) 44px;
		column-gap: 10px;
	}
	.agenda-link {
		grid-template-columns: 1fr;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
	}

	.agenda-media {
		height: 180px;
	}

}

@media (max-width: 480px) {
	.hero {
		padding: 40px 20px;
	}

	.hero-title {
		font-size: 2rem;
	}

	.data-chart-animation {
		height: 150px;
	}

	.chart-bar {
		width: 30px;
	}
}

/* ========================================
	Responsive - Templates
	======================================== */
@media (max-width: 768px) {
	.page-title,
	.archive-title {
		font-size: 2rem;
	}

	.article-title {
		font-size: 2rem;
	}

	.content-wrapper {
		padding: 30px 20px;
	}

	.page-content .featured-image {
		margin: -30px -20px 30px;
	}

	.article-meta {
		flex-direction: column;
		gap: 15px;
	}

	.author-box {
		flex-direction: column;
		text-align: center;
		padding: 30px 20px;
	}

	.post-navigation {
		grid-template-columns: 1fr;
	}

	.nav-link.next {
		text-align: left;
	}

	.article-share {
		flex-direction: column;
		align-items: flex-start;
	}

	.article-featured-image {
		margin-left: 20px;
		margin-right: 20px;
	}
}

/* ========================================
	Responsive - 404 Page
	======================================== */
@media (max-width: 768px) {
	.error-number {
		font-size: 8rem;
	}

	.error-icon {
		width: 100px;
		height: 100px;
	}

	.error-icon svg {
		width: 50px;
		height: 50px;
	}

	.error-title {
		font-size: 2rem;
	}

	.error-description {
		font-size: 1.1rem;
	}

	.error-actions {
		flex-direction: column;
		align-items: center;
	}

	.btn {
		width: 100%;
		max-width: 300px;
		justify-content: center;
	}

	.search-form {
		max-width: none;
		margin: 0 20px;
	}

	.categories-links {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.category-link {
		justify-content: center;
	}
}

/* ========================================
	Responsive - Featured Articles
	======================================== */
@media (max-width: 768px) {
	.article-image {
		padding: 0 20px;
	}

	.featured-articles {
		padding: 60px 0;
	}

	.articles-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.article-card-content {
		padding: 20px;
	}

	.article-title {
		font-size: 1.1rem;
	}
}

/* ========================================
	Responsive - Analyses Section
	======================================== */
@media (max-width: 768px) {
	.analyses-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.analyses-section {
		padding: 3rem 0;
	}

	.analyses-section .section-title {
		font-size: 1.5rem;
		margin-bottom: 1.5rem;
	}

	.analyse-content {
		padding: 1.25rem;
	}

	.analyse-title {
		font-size: 1.125rem;
	}
}

/* ========================================
	Responsive - Contact Form
	======================================== */
@media (max-width: 768px) {
	.contact-form {
		padding: 28px 22px;
		margin: 0 16px;
	}
}

/* ========================================
	Responsive - Election Notice
	======================================== */
@media (max-width: 768px) {
	.notice-content {
		flex-direction: column;
		text-align: center;
		padding: 20px;
	}

	.notice-icon {
		font-size: 2rem;
	}

	.notice-text h3 {
		font-size: 1.1rem;
	}
}
