/* ===================================================
   Styles de la frise chronologique
   =================================================== */

/* Container principal de la frise */
/* --------------------------------------------------- */
.timeline-container {
    position: relative;
    width: 100%;
    padding: 0;
    margin: 1rem 0;
    padding: 50px;
    /* Marge interne pour éviter le débordement */
}

/* Ligne centrale de la frise */
/* --------------------------------------------------- */
.timeline-line {
    position: absolute ;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 4px;
    background: #0099cc;
    box-shadow: 0 1px 6px #0099cc83;
    transform: translateX(-50%);
    /* Centrage */
}

/* Éléments individuels de la frise */
/* --------------------------------------------------- */
.timeline-item {
    position: relative;
    width: 48%;
    /* Largeur adaptée pour l'alternance gauche/droite */
    padding: 0.5rem;
    margin: 1rem 0;
    opacity: 0;
    /* État initial invisible pour l'animation */
    transform: translateY(20px);
    /* Décalage initial */
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
    /* Animation fluide */
    z-index: 1;
    /* Au-dessus de la ligne et des formes décoratives */
    background-color: #ffffff86;
    /* Fond semi-transparent */
    border-radius: 10px;
    /* Coins arrondis */
}

/* État visible avec animation */
.timeline-item.visible {
    opacity: 1;
    transform: translateY(0);
    /* Réinitialisation du décalage */
}

/* Alternance des positions gauche/droite */
/* Sélection tout les éléments impairs */
.timeline-item:nth-child(odd) {
    left: 0;
    /* Positionnement à gauche */
    text-align: right;
    /* Alignement du texte à droite */
}

/* Sélection tout les éléments pairs */
.timeline-item:nth-child(even) {
    left: 52%;
    /* Décalage pour la colonne de droite */
}

/* Contenu des éléments de la frise */
/* --------------------------------------------------- */
.timeline-content {
    background: #fff;
    padding: 0.5rem;
    border-radius: 6px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
    /* Ombre subtile */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    /* Animation d'interaction */
}

/* Effet au survol */
.timeline-content:hover {
    transform: translateY(-3px) scale(1.01);
    /* Léger effet de levitation */
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    /* Ombre plus prononcée */
}

/* Hiérarchie typographique */
/* --------------------------------------------------- */
.timeline-date {
    font-size: 1.2rem;
    font-weight: 700;
    color: #005f99;
    /* Variation de la couleur d'accent */
}

.timeline-subtitle {
    font-size: 1rem;
    font-weight: 500;
    margin: 0.3rem 0;
    /* Espacement vertical réduit */
}

.timeline-text {
    font-size: 0.85rem;
    line-height: 1.4;
    /* Interligne généreux pour la lisibilité */
}

/* Conteneur d'illustrations */
/* --------------------------------------------------- */
.illustration-wrapper {
    padding: 10px;
    width: 100%;
    overflow: hidden;
    /* Masquage du débordement */
    max-height: 120px;
    /* Hauteur initiale réduite */
    transition: max-height 0.5s ease;
    /* Animation d'expansion */
}

/* Style des images dans la frise */
.timeline-illustration {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
    /* Légers coins arrondis */
}