/* ==========================================================================
   parcours.css - styles spécifiques à la page Parcours (parcours.html)
   Timeline verticale interactive (ligne centrale, marqueurs, alternance
   desktop, responsive mobile). Les styles communs sont dans style.css.
   ========================================================================== */

/* === MOTIF DE FOND DE LA SECTION TIMELINE === */
.timeline-section {
    background-color: #F8F9FA;
    background-image:
        linear-gradient(rgba(0, 127, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 127, 255, 0.04) 1px, transparent 1px);
    background-size: 44px 44px;
    position: relative;
}

/* === CONTENEUR DE LA TIMELINE === */
.timeline {
    position: relative;
    max-width: 64rem;
    margin: 0 auto;
}

/* === LIGNE CENTRALE (dégradé bleu -> or -> rouge) === */
.timeline-line {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, #007FFF 0%, #F7D918 50%, #CE1126 100%);
    /* Mobile : ligne à gauche */
    left: 1.5rem;
    transform: none;
}

/* === ENTRÉE === */
.timeline-entry {
    position: relative;
    margin-bottom: 2.5rem;
    /* Mobile : tout aligné à gauche, décalé après la ligne */
    padding-left: 4rem;
    width: 100%;
}
.timeline-entry:last-child {
    margin-bottom: 0;
}

/* === MARQUEUR (cercle) === */
.timeline-marker {
    position: absolute;
    top: 1.25rem;
    left: 1.5rem;
    transform: translateX(-50%);
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    border: 4px solid #F8F9FA;
    box-shadow: 0 4px 14px rgba(0, 58, 117, 0.20);
    z-index: 2;
}
.timeline-marker i,
.timeline-marker svg {
    width: 1.15rem;
    height: 1.15rem;
}

/* Marqueur "nomination" - plus grand, mis en avant */
.timeline-marker.is-feature {
    width: 3.25rem;
    height: 3.25rem;
    box-shadow: 0 6px 22px rgba(206, 17, 38, 0.40);
}
.timeline-marker.is-feature i,
.timeline-marker.is-feature svg {
    width: 1.4rem;
    height: 1.4rem;
}

/* Marqueur "accord" - étoile or, halo doré */
.timeline-marker.is-star {
    width: 3.25rem;
    height: 3.25rem;
    box-shadow: 0 0 0 6px rgba(247, 217, 24, 0.18), 0 6px 22px rgba(247, 217, 24, 0.45);
}
.timeline-marker.is-star i,
.timeline-marker.is-star svg {
    width: 1.4rem;
    height: 1.4rem;
}

/* === CARTE D'ENTRÉE (glass-card commune réutilisée + override léger) === */
.timeline-card {
    overflow: hidden;
}

/* Carte mise en valeur pour la nomination 2024 */
.timeline-card.is-feature {
    border: 1px solid rgba(206, 17, 38, 0.30);
    box-shadow: 0 10px 36px rgba(206, 17, 38, 0.16);
    background: rgba(255, 255, 255, 0.82);
}

/* Carte point culminant 2025 */
.timeline-card.is-star {
    border: 1px solid rgba(247, 217, 24, 0.55);
    background: rgba(255, 255, 255, 0.82);
}

/* === HEADER CLIQUABLE (accordéon) === */
.timeline-entry-header {
    cursor: pointer;
    user-select: none;
    transition: background-color 0.2s ease;
}
.timeline-entry-header:hover {
    background-color: rgba(0, 127, 255, 0.04);
}
.timeline-chevron {
    transition: transform 0.3s ease;
    color: #6C757D;
    flex-shrink: 0;
}

/* === CORPS DÉPLIABLE === */
.timeline-entry-body.hidden {
    display: none;
}

/* === TAGS COMPÉTENCES === */
.timeline-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: #E8F4FD;
    color: #005AB5;
    font: 600 0.72rem/1 'Inter', sans-serif;
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
}

/* ==========================================================================
   DESKTOP - alternance gauche / droite, ligne au centre
   ========================================================================== */
@media (min-width: 768px) {

    .timeline-line {
        left: 50%;
        transform: translateX(-50%);
    }

    /* Marqueur placé SUR la ligne centrale = bord intérieur de chaque entrée */
    .timeline-entry.is-left  .timeline-marker { left: 100%; }
    .timeline-entry.is-right .timeline-marker { left: 0; }
    .timeline-marker.is-feature,
    .timeline-marker.is-star {
        top: 1rem;
    }

    .timeline-entry {
        width: 50%;
        padding-left: 0;
        margin-bottom: 3rem;
    }

    /* Entrées impaires -> à gauche */
    .timeline-entry.is-left {
        left: 0;
        padding-right: 3.25rem;
        text-align: right;
    }
    /* Entrées paires -> à droite */
    .timeline-entry.is-right {
        left: 50%;
        padding-left: 3.25rem;
        text-align: left;
    }

    /* Le contenu interne de la carte reste lisible (texte aligné à gauche) */
    .timeline-entry.is-left .timeline-card,
    .timeline-entry.is-right .timeline-card {
        text-align: left;
    }

    /* Tags : on garde l'alignement à gauche dans la carte */
    .timeline-entry .timeline-tags {
        justify-content: flex-start;
    }
}

/* ==========================================================================
   RESPONSIVE - petits écrans
   ========================================================================== */
@media (max-width: 767px) {
    .timeline-entry {
        padding-left: 3.5rem;
    }
    .timeline-marker {
        width: 2.4rem;
        height: 2.4rem;
    }
    .timeline-marker.is-feature,
    .timeline-marker.is-star {
        width: 2.75rem;
        height: 2.75rem;
    }
}
