/* Custom scroll-behavior for smooth scrolling */
html {
    scroll-behavior: smooth;
    font-family: 'Inter', sans-serif; /* Using Inter font */
}
/* Ensure sections take full viewport height */
section {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
     /* Add padding for content */
    padding: 2rem;
    

}
.m-12 {
    margin:1.2rem;
}
/* Adjust for fixed header */
.scroll-offset {
    /*scroll-margin-top: 4rem;*/ /* Height of the fixed header */
}

.img-profile {
      border-radius: 50%;
}

#img-div {
    padding: 1rem;
    display: flex;
  justify-content: center;
}
/* hamburgur bouton */
/*.img-div { text-align:center;}*/
.hamburger-icon {
            display: flex;
            flex-direction: column;
            justify-content: space-around;
            width: 40px;
            height: 35px;
            cursor: pointer;
            padding: 0;
            background: none;
            border: none;
}

.hamburger-icon span {
         display: block;
            width: 100%;
            height: 3px;
            background-color: #fffbbe; /* Couleur bleue */
            border-radius: 2px;
            transition: all 0.3s ease-in-out;
}

        /* Animation du hamburger en croix */
        .hamburger-icon.open span:nth-child(1) {
            transform: rotate(45deg) translate(10px, 5px);
        }
        .hamburger-icon.open span:nth-child(2) {
            opacity: 0;
        }
        .hamburger-icon.open span:nth-child(3) {
            transform: rotate(-45deg) translate(10px, -6px);
        }

/* Styles spécifiques au curseur d'images */
.slider-container {
            width: 100%;
            max-width: 700px; /* Largeur maximale du curseur */
            overflow: hidden;
            border-radius: 1rem; /* Bords arrondis */
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* Ombre */
            margin-top: 2rem; /* Marge au-dessus du curseur */
}

        .slider-wrapper {
            display: flex;
            transition: transform 0.8s ease-in-out; /* Transition douce pour le défilement */
        }

        .slider-wrapper img {
            width: 100%;
            flex-shrink: 0; /* Empêche les images de rétrécir */
            height: auto;
            object-fit: cover; /* Assure que l'image couvre l'espace sans déformation */
        }

        /* Styles du dot menu */
        .dot-navigation {
            display: flex;
            justify-content: center;
            margin-top: 1rem;
            gap: 0.75rem; /* Espace entre les points */
        }

        .dot {
            width: 12px;
            height: 12px;
            background-color: #cbd5e1; /* Gris clair */
            border-radius: 50%;
            cursor: pointer;
            transition: background-color 0.3s ease;
        }

        .dot.active {
            background-color: #3b82f6; /* Bleu actif */
        }

#navMenu {
    width: 30vh;
   /*  height: 50vh; */
}
/* Specific background colors for sections */
/* Section 1 - With background image */
#section1 {
    align-items: end;
    background-color: rgb(255, 238, 152);
   /* background-image: url('/img/01bg.jpg');*/ /* Remplacez par l'URL de votre image */
    background-size: cover; /* L'image couvrira toute la section */
    background-position: center; /* Centre l'image */
    background-repeat: no-repeat; /* Empêche la répétition de l'image */
    /* text-shadow et color ont été retirés car il n'y a plus de texte directement dans la section */
    padding-bottom: 0rem;

}


/* La règle pour #section1 .max-w-4xl a été retirée car la div est supprimée */

/* Define the slide-up animation */
@keyframes slideUp {
    from {
        transform: translateY(50%); /* Commence à 100% en dessous de sa position normale */
        opacity: 0; /* Commence invisible */
    }
    to {
        transform: translateY(0%); /* Termine à sa position normale */
        opacity: 1; /* Termine entièrement visible */
    }
}

/* Style for the animated image */
.animated-image {
    animation: slideUp 1s ease-out forwards; /* Applique l'animation */
    max-width: auto; /* Taille d'exemple */
    height: auto;
    bottom: 0%;
    /* Le positionnement absolu et le centrage sont gérés par les classes Tailwind dans le HTML */
}


#section2 { 
    background-color: #aedafd; 
    align-items:center;
    /*background-image: url('./content.jpg');*/ /* Remplacez par l'URL de votre image */
    background-size: cover; /* L'image couvrira toute la section */
    background-position: center; /* Centre l'image */
    background-repeat: no-repeat; /* Empêche la répétition de l'image */
    /* text-shadow et color ont été retirés car il n'y a plus de texte directement dans la section */
} /* Emerald green light */

/* Image Grid specific styles */
        .image-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr); /* 3 columns by default */
            gap: 1rem; /* Gap between images */
            max-width: 900px; /* Max width for the grid */
            margin-top: 2rem;
        }

        .image-grid a {
            display: block;
            border-radius: 0.5rem;
            overflow: hidden;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
            transition: transform 0.2s ease-in-out;
        }

        .image-grid a:hover {
            transform: scale(1.03);
        }

        .image-grid img {
            width: 100%;
            height: 150px; /* Fixed height for consistency */
            object-fit: cover; /* Cover the area, cropping if necessary */
            border-radius: 0.5rem;
        }
        
#section3 { background-color: #b6c0ff; } /* Amber yellow light */


#section4 { background-color: #bfeeff; } /* Red light */

/* Timeline specific styles */
        .timeline {
            position: relative;
            max-width: 800px;
            margin: 0 auto;
            padding: 20px 0;
        }

        .timeline::after {
            content: '';
            position: absolute;
            width: 4px;
            background-color: #3b82f6; /* Blue timeline line */
            top: 0;
            bottom: 0;
            left: 50%;
            margin-left: -2px;
            border-radius: 2px;
        }

        .timeline-item {
            padding: 10px 40px;
            position: relative;
            background-color: inherit;
            width: 50%;
        }

        .timeline-item::after {
            content: '';
            position: absolute;
            width: 25px;
            height: 25px;
            right: -14px;
            background-color: white;
            border: 4px solid #3b82f6; /* Blue circle border */
            top: 15px;
            border-radius: 50%;
            z-index: 1;
        }

        .timeline-item.left {
            left: 0;
        }

        .timeline-item.right {
            left: 50%;
        }

        .timeline-item.right::after {
            left: -11px; /* Adjust for right side circles */
        }

        .timeline-content {
            padding: 20px 30px;
            background-color: white;
            position: relative;
            border-radius: 0.75rem;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
            text-align: left;
        }
      


#section5 {
     background-color: #ffffff; 
} /* Blue light */


  /* Media queries for responsiveness */
        @media screen and (max-width: 768px) {
            .timeline::after {
                left: 31px; /* Adjust line position for mobile */
            }
            .timeline-item {
                width: 100%;
                padding-left: 70px;
                padding-right: 25px;
            }
            .timeline-item.right {
                left: 0%;
            }
            .timeline-item.left::after,
            .timeline-item.right::after {
                left: 18px; /* Adjust circle position for mobile */
            }
            .timeline-content {
                text-align: left;
            }
            .image-grid {
                grid-template-columns: repeat(2, 1fr); /* 2 columns on small screens */
            }
            .image-grid img {
                height: 120px; /* Adjust height for smaller screens */
            }
        }

        @media screen and (max-width: 480px) {
            .image-grid {
                grid-template-columns: repeat(1, 1fr); /* 1 column on very small screens */
            }
            .image-grid img {
                height: 180px; /* Adjust height for single column layout */
            }
        }
