:root {
    --primary: #1a5f3e;           
    --primary-light: #2d7a55;     
    --primary-dark: #0f4a2b;      
    --secondary: #f4f8f5;         
    --accent: #b6e2c1;            
    --accent-dark: #8ccfa5;       
    --text: #2c3e36;              
    --text-light: #6c857d;        
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: var(--text);
}

.bg-primary {
    background-color: var(--primary);
}

.bg-primary-light {
    background-color: var(--primary-light);
}

.bg-primary-dark {
    background-color: var(--primary-dark);
}

.bg-secondary {
    background-color: var(--secondary);
}

.text-primary {
    color: var(--primary);
}

.text-accent {
    color: var(--accent-dark);
}

.border-primary {
    border-color: var(--primary);
}

.hover\:bg-primary-light:hover {
    background-color: var(--primary-light);
}

.btn-primary {
    background-color: var(--primary);
    color: white;
}

.btn-primary:hover {
    background-color: var(--primary-light);
}

.btn-accent {
    background-color: var(--accent);
    color: var(--primary-dark);
}

.btn-accent:hover {
    background-color: var(--accent-dark);
}
.hero {
    background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('images/nature.png');
    background-size: cover;
    background-position: center;
    height: 100vh;
}
.hero-apropos {
    background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('images/apropos-banner.png');
    background-size: cover;
    background-position: center;
    height: 100vh;
}

.process-step {
    position: relative;
    padding-left: 3rem;
}

.process-step:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background-color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: bold;
}

.process-step:nth-child(1):before {
    content: "1";
}

.process-step:nth-child(2):before {
    content: "2";
}

.process-step:nth-child(3):before {
    content: "3";
}

.process-step:nth-child(4):before {
    content: "4";
}

.navbar-link {
    background-color: var(--primary);
    color: var(--accent);
    padding: 0.5rem 1rem;
    border-radius: 0.375rem; /* ~6px : angle doux mais pas rond */
    transition: background-color 0.3s ease, color 0.3s ease;
    text-decoration: none;
    font-weight: 500;
    display: inline-block;
}

.navbar-link:hover {
    background-color: var(--accent);
    color: var(--primary);
}

.submenu-link {
    display: block;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    font-size: 1rem;
    color: var(--primary);
    border-radius: 0.25rem; /* ~4px */
    transition: background-color 0.3s ease, color 0.3s ease;
    text-decoration: none;
}

.submenu-link:hover {
    background-color: var(--accent);
    color: var(--primary-dark);
}



/* Animation d'apparition douce */
@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Animation de montée */
@keyframes slideUp {
    0% {
        opacity: 0;
        transform: translateY(50px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Classes utilitaires */
.animate-fade-in {
    animation: fadeIn 1s ease-out forwards;
}

.animate-slide-up {
    animation: slideUp 1s ease-out forwards;
}



/* Animations personnalisées */

@keyframes fade-in {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slide-up {
    0% {
        transform: translateY(50px);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes bounce-smooth {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-5px);
    }
}

.animate-bounce {
    animation: bounce-smooth 1s infinite;
}


/* Pour les effets floutés si pas déjà activé 
.backdrop-blur-lg {
    backdrop-filter: blur(12px);
}
*/
/* Texte blanc par défaut */
#services-menu a {
    color: var(--primary);
    font-weight: bold;
}
#services-menu a:hover {
    background-color: var(--primary);
    color: white;
}

@keyframes fade-in {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
  }
  .animate-fade-in {
    animation: fade-in 0.4s ease-out;
  }
  