/* ==========================================================================
   PAGE TEMPLATES - Design System Organique Premium
   Styles complémentaires pour les templates de pages
   ========================================================================== */

/* ==========================================================================
   RESPONSIVE GRID UPDATES
   ========================================================================== */

@media (max-width: 1024px) {
	.grid[style*="grid-template-columns: repeat(5"] {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

@media (max-width: 768px) {
	.grid[style*="grid-template-columns: repeat(5"],
	.grid[style*="grid-template-columns: 2fr 1fr"],
	.grid[style*="grid-template-columns: 1fr 1fr"] {
		grid-template-columns: 1fr !important;
	}
}

/* ==========================================================================
   HERO SECTIONS - ORGANIC STYLE
   ========================================================================== */

.hero-fullscreen {
	min-height: 100vh;
}

.hero-blobs {
	position: relative;
}

.hero-blobs .blob {
	position: absolute;
	z-index: 0;
}

.hero .container {
	position: relative;
	z-index: 1;
}

/* Hero scroll button */
.scroll-down:hover {
	background: var(--cavac-vert-fonce) !important;
	color: var(--cavac-blanc) !important;
	transform: translateY(5px);
}

/* ==========================================================================
   SECTION HEADERS - ORGANIC DECORATIONS
   ========================================================================== */

.section-header {
	margin-bottom: var(--space-12);
}

.section-header[style*="display: flex"] {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--space-4);
}

/* ==========================================================================
   CARDS - ORGANIC HOVER EFFECTS
   ========================================================================== */

.card-elevated:hover {
	transform: translateY(-8px);
	box-shadow: 0 25px 50px -12px rgba(0, 98, 71, 0.2);
}

.card a[style*="color: inherit"] {
	transition: color var(--transition-fast);
}

.card:hover a[style*="color: inherit"] {
	color: var(--cavac-vert-fonce);
}

/* Card avec effet blob */
.card-blob {
	position: relative;
	overflow: hidden;
}

.card-blob::after {
	content: '';
	position: absolute;
	width: 100px;
	height: 100px;
	background: var(--cavac-vert-menthe);
	border-radius: var(--radius-blob-1);
	opacity: 0;
	top: -40px;
	right: -40px;
	transition: opacity var(--transition-base);
	z-index: 0;
	pointer-events: none;
}

.card-blob:hover::after {
	opacity: 0.3;
}

.card-blob > * {
	position: relative;
	z-index: 1;
}

/* ==========================================================================
   FEATURES - POLE COLORS
   ========================================================================== */

.feature-icon[style*="var(--pole-vegetal)"] { background: rgba(118, 184, 67, 0.15) !important; color: var(--pole-vegetal) !important; }
.feature-icon[style*="var(--pole-animal)"] { background: rgba(200, 115, 41, 0.15) !important; color: var(--pole-animal) !important; }
.feature-icon[style*="var(--pole-distribution)"] { background: rgba(23, 104, 176, 0.15) !important; color: var(--pole-distribution) !important; }
.feature-icon[style*="var(--pole-agroalimentaire)"] { background: rgba(237, 105, 75, 0.15) !important; color: var(--pole-agroalimentaire) !important; }
.feature-icon[style*="var(--pole-biomateriaux)"] { background: rgba(75, 183, 167, 0.15) !important; color: var(--pole-biomateriaux) !important; }

/* ==========================================================================
   STATS - ANIMATED COUNTERS
   ========================================================================== */

.stat-card {
	text-align: center;
	padding: var(--space-8);
}

.stat-blob {
	position: relative;
}

.stat-blob::before {
	content: '';
	position: absolute;
	width: 120px;
	height: 120px;
	background: rgba(255, 255, 255, 0.1);
	border-radius: var(--radius-blob-1);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation: blobPulse 4s ease-in-out infinite;
	z-index: 0;
}

.stat-card > * {
	position: relative;
	z-index: 1;
}

/* ==========================================================================
   TESTIMONIALS - ORGANIC STYLE
   ========================================================================== */

.testimonial {
	padding: var(--space-10);
	border-radius: var(--radius-2xl);
	position: relative;
}

.testimonial::before {
	content: '"';
	position: absolute;
	top: var(--space-6);
	left: var(--space-8);
	font-family: var(--font-display);
	font-size: 120px;
	line-height: 1;
	color: var(--cavac-vert-menthe);
	opacity: 0.3;
	z-index: 0;
}

.testimonial-content {
	position: relative;
	z-index: 1;
}

.testimonial-quote {
	font-size: var(--text-xl);
	font-style: italic;
	line-height: var(--leading-relaxed);
	color: var(--cavac-gris-700);
	margin-bottom: var(--space-6);
}

.testimonial-author {
	display: flex;
	align-items: center;
	gap: var(--space-4);
}

.testimonial-avatar {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	object-fit: cover;
}

.testimonial-info {
	display: flex;
	flex-direction: column;
}

.testimonial-name {
	font-weight: var(--font-bold);
	color: var(--cavac-vert-fonce);
}

.testimonial-role {
	font-size: var(--text-sm);
	color: var(--cavac-gris-500);
}

/* ==========================================================================
   CTA SECTIONS - ORGANIC BLOBS
   ========================================================================== */

.cta-section {
	position: relative;
	padding: var(--space-20) 0;
	background: linear-gradient(135deg, var(--cavac-vert-fonce) 0%, var(--cavac-vert-clair) 100%);
	overflow: hidden;
}

.cta-section::before,
.cta-section::after {
	content: '';
	position: absolute;
	border-radius: var(--radius-blob-1);
	opacity: 0.1;
	background: var(--cavac-blanc);
	pointer-events: none;
}

.cta-section::before {
	width: 400px;
	height: 400px;
	top: -150px;
	left: -100px;
	animation: blobMorph1 15s ease-in-out infinite;
}

.cta-section::after {
	width: 300px;
	height: 300px;
	bottom: -100px;
	right: -50px;
	animation: blobMorph2 18s ease-in-out infinite;
}

.cta-section .container {
	position: relative;
	z-index: 1;
}

.cta-section-warm {
	background: linear-gradient(135deg, var(--cavac-corail) 0%, var(--cavac-jaune) 100%);
}

/* ==========================================================================
   BADGES POLES
   ========================================================================== */

.badge-pole-vegetal { background: var(--pole-vegetal); color: white; }
.badge-pole-animal { background: var(--pole-animal); color: white; }
.badge-pole-distribution { background: var(--pole-distribution); color: white; }
.badge-pole-agroalimentaire { background: var(--pole-agroalimentaire); color: white; }
.badge-pole-biomateriaux { background: var(--pole-biomateriaux); color: white; }

/* ==========================================================================
   PAGE STRATEGIE - ORGANIC UPDATES
   ========================================================================== */

.page-strategie .hero {
	background: linear-gradient(135deg, rgba(204, 226, 189, 0.3) 0%, rgba(255, 255, 255, 0.9) 100%);
}

.page-strategie .timeline {
	position: relative;
	padding-left: var(--space-16);
}

.page-strategie .timeline::before {
	content: '';
	position: absolute;
	left: var(--space-6);
	top: 0;
	bottom: 0;
	width: 4px;
	background: linear-gradient(180deg, var(--cavac-vert-fonce) 0%, var(--cavac-vert-clair) 50%, var(--cavac-turquoise) 100%);
	border-radius: var(--radius-full);
}

.page-strategie .timeline-item {
	position: relative;
	padding-bottom: var(--space-10);
}

.page-strategie .timeline-marker {
	position: absolute;
	left: calc(-1 * var(--space-10) - 2px);
	top: 0;
	width: 24px;
	height: 24px;
	background: var(--cavac-vert-fonce);
	border: 4px solid var(--cavac-blanc);
	border-radius: 50%;
	box-shadow: var(--shadow-md);
}

.page-strategie .timeline-year {
	font-family: var(--font-display);
	font-size: var(--text-2xl);
	font-weight: var(--font-bold);
	color: var(--cavac-vert-fonce);
	margin-bottom: var(--space-2);
}

.page-strategie .timeline-content {
	background: var(--cavac-blanc);
	padding: var(--space-6);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-sm);
}

/* ==========================================================================
   PAGE FILIERE - ORGANIC UPDATES
   ========================================================================== */

.page-filiere .hero-dark .hero-bg::after {
	background: linear-gradient(135deg, rgba(0, 98, 71, 0.85) 0%, rgba(0, 98, 71, 0.6) 100%);
}

/* ==========================================================================
   BREADCRUMB - ORGANIC STYLE
   ========================================================================== */

.breadcrumb {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	font-size: var(--text-sm);
	color: var(--cavac-gris-600);
}

.breadcrumb a {
	color: var(--cavac-gris-600);
	text-decoration: none;
	transition: color var(--transition-fast);
}

.breadcrumb a:hover {
	color: var(--cavac-vert-fonce);
}

.breadcrumb-separator {
	color: var(--cavac-gris-400);
}

/* ==========================================================================
   PROSE - CONTENT STYLING
   ========================================================================== */

.prose {
	color: var(--cavac-gris-700);
	line-height: var(--leading-relaxed);
}

.prose h2,
.prose h3,
.prose h4 {
	color: var(--cavac-vert-fonce);
	margin-top: var(--space-8);
	margin-bottom: var(--space-4);
}

.prose p {
	margin-bottom: var(--space-4);
}

.prose a {
	color: var(--cavac-vert-clair);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.prose a:hover {
	color: var(--cavac-vert-fonce);
}

.prose ul,
.prose ol {
	margin-bottom: var(--space-4);
	padding-left: var(--space-6);
}

.prose li {
	margin-bottom: var(--space-2);
}

.prose blockquote {
	border-left: 4px solid var(--cavac-vert-menthe);
	padding-left: var(--space-6);
	margin: var(--space-6) 0;
	font-style: italic;
	color: var(--cavac-gris-600);
}

/* ==========================================================================
   LABEL POSITIVE AGRICULTURE
   ========================================================================== */

.label-positive-agriculture {
	animation: rotate 30s linear infinite;
}

.label-positive-agriculture-sm { width: 80px; height: 80px; }
.label-positive-agriculture-lg { width: 140px; height: 140px; }

/* ==========================================================================
   BUTTONS ORGANIC UPDATES
   ========================================================================== */

.btn-ghost {
	background: transparent;
	border: none;
	color: var(--cavac-vert-fonce);
	padding: var(--space-2) var(--space-3);
}

.btn-ghost:hover {
	background: var(--cavac-vert-menthe);
	transform: translateX(4px);
}

.btn-white {
	background: var(--cavac-blanc);
	color: var(--cavac-vert-fonce);
	border: 2px solid var(--cavac-blanc);
}

.btn-white:hover {
	background: transparent;
	color: var(--cavac-blanc);
	box-shadow: 0 10px 30px rgba(255, 255, 255, 0.3);
}

/* ==========================================================================
   RESPONSIVE ADJUSTMENTS
   ========================================================================== */

@media (max-width: 1024px) {
	.hero-content {
		max-width: 100%;
	}
	
	.hero-label {
		position: static !important;
		margin-top: var(--space-8);
	}
	
	.hero-label img {
		width: 100px;
		height: 100px;
	}
}

@media (max-width: 768px) {
	.hero-fullscreen {
		min-height: 90vh;
	}
	
	.hero-title {
		font-size: var(--text-4xl);
	}
	
	.hero-actions {
		flex-direction: column;
		align-items: stretch;
	}
	
	.hero-actions .btn {
		width: 100%;
		justify-content: center;
	}
	
	.cta-section [style*="grid-template-columns"] {
		grid-template-columns: 1fr !important;
		text-align: center;
	}
	
	.blob {
		display: none;
	}
	
	.section {
		padding: var(--space-12) 0;
	}
	
	.testimonial {
		padding: var(--space-6);
	}
	
	.testimonial::before {
		font-size: 60px;
		top: var(--space-4);
		left: var(--space-4);
	}
}

/* ==========================================================================
   ANIMATIONS - REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.blob,
	.label-positive-agriculture,
	.animate-float,
	.card-blob::after,
	.stat-blob::before {
		animation: none !important;
	}
	
	.card-elevated:hover,
	.btn:hover,
	.feature-icon:hover {
		transform: none;
	}
}
