.page-projets {
    padding:3rem 2rem;
    background-color:var(--couleur-bg);
    color:var(--couleur-texte);
    font-family:var(--font-main);
    max-width:1440px;
    margin:0 auto;
    position:relative;
}
.page-projets h1 {
    font-size:2.6rem;
    font-weight:800;
    color:var(--couleur-primaire);
    margin-bottom:1rem;
    text-align:center;
    animation:fadeInDown 0.7 ease;
}
.page-projets .intro {
    font-size:1.15rem;
    color:var(--couleur-texte-secondaire);
    margin-bottom:2.5rem;
    text-align:center;
    animation:fadeInUp 0.7s ease;
}
.bloc-projets {
    margin-bottom:4rem;
    animation:fadeIn 1s ease;
}
.bloc-projets h2 {
    font-size:1.8rem;
    display:flex;
    align-items:center;
    gap:0.7rem;
    font-weight:700;
    margin-bottom:2rem;
    color:var(--couleur-texte);
}
.bloc-projets h2 i {
    font-size:1.5rem;
}
.bloc-projets h2 i.fa-circle-check {
    color:var(--couleur-accent);
}
.bloc-projets h2 i.fa-spinner {
    color:var(--couleur-primaire);
}
.bloc-projets h2 i.fa-clock {
    color:#f5a623;
}
.grille-projets {
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(330, 1fr));
    gap:2rem;
}
.carte-projet {
    background:linear-gradient(135deg, var(--couleur-bg-menu), #ffffff);
    border-radius:var(--radius);
    box-shadow:var(--ombre-globale);
    padding:2rem 1.5rem;
    transition:transform 0.4s ease, box-shadow 0.4s ease;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    position:relative;
    overflow:hidden;
    border-left:6px solid var(--couleur-primaire);
}
.carte-projet::before {
    content:"";
    position:absolute;
    top:-40%;
    right:-40%;
    width:200%;
    height:200%;
    background:radial-gradient(circle at top right, rgba(35, 97, 255, 0.06), transparent);
    transform:rotate(25deg);
    z-index:0;
}
.carte-projet:hover {
    transform:translateY(-8px);
    box-shadow:0 15px 40px rgba(35, 97, 255, 0.15);
}
.carte-projet h3 {
    font-size:1.4rem;
    font-weight:700;
    margin-bottom:1rem;
    color:var(--couleur-texte);
    z-index:1;
    position:relative;
}
.carte-projet p {
    flex-grow:1;
    font-size:1rem;
    color:var(--couleur-texte-secondaire);
    line-height:1.6;
    margin-bottom:1.5rem;
    z-index:1;
    position:relative;
}
.carte-projet::after {
    content:attr(data-statut);
    position:absolute;
    top:1rem;
    right:1rem;
    background-color:var(--couleur-primaire);
    color:#fff;
    font-size:0.75rem;
    font-weight:700;
    padding:0.3rem 0.7rem;
    border-radius:999px;
    text-transform:uppercase;
    z-index:2;
}
.carte-projet[data-statut="LIVRE"]::after {
    background-color:var(--couleur-accent);
}
.carte-projet[data-statut="EN_COURS"]::after {
    background-color:var(--couleur-primaire);
}
.carte-projet[data-statut="A_VENIR"]::after {
    background-color:#f5a623;
}
.btn-projet {
    display:inline-block;
    padding:0.6rem 1.2rem;
    background-color:var(--couleur-primaire);
    color:#fff;
    font-weight:600;
    font-size:0.95rem;
    border-radius:10px;
    text-decoration:none;
    transition:all 0.3s ease;
    align-self:flex-start;
    z-index:1;
    position:relative;
}
.btn-projet:hover {
    background-color:#1c4fd4;
    transform:scale(1.05);
}
.btn-projet i {
    margin-right:0.5rem;
}
.filtres-projets {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:1rem;
    margin-bottom:2.5rem;
}
.filtres-projets button {
    background:var(--couleur-bg-menu);
    color:var(--couleur-texte);
    border:2px solid var(--couleur-primaire);
    padding:0.6rem 1.2rem;
    border-radius:30px;
    font-weight:600;
    cursor:pointer;
    transition:all 0.3s ease;
}
.filtres-projets button:hover {
    background:var(--couleur-primaire);
    color:#fff;
}
.filtres-projets .filtre-actif {
    background:var(--couleur-primaire);
    color:#fff;
}
.compteur-projets {
    font-size:0.95rem;
    color:var(--couleur-texte-secondaire);
    margin-left:0.4rem;
    font-weight:normal;
}
.barre-tri {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:0.8rem;
    margin-bottom:2rem;
    flex-wrap:wrap;
}
.barre-tri label {
    font-weight:600;
    color:var(--couleur-texte);
}
#tri-projets {
    padding:0.4rem 1rem;
    border-radius:8px;
    border:1px solid var(--couleur-primaire);
    background-color:var(--couleur-bg);
    color:var(--couleur-texte);
    font-weight:500;
    transition:all 0.3s ease;
}
#tri-projets:hover {
    background-color:var(--couleur-bg-menu);
}
.carte-projet {
    opacity:0;
    transform:translateY(30px);
    transition:all 0.6s ease;
}
.carte-projet.visible {
    opacity:1;
    transform:translateY(0);
}
.carte-projet {
    transition: all 0.3s ease;
    border: 1px dashed transparent;
}
.carte-projet:hover {
    border-color: var(--couleur-accent);
}

@keyframes fadeInDown {
    from {
        opacity:0;
        transform:translateY(-20px);
    }
    to {
        opacity:1;
        transform:translateY(0);
    }
}
@keyframes fadeInUp {
    from {
        opacity:0;
        transform:translateY(20px);
    }
    to {
        opacity:1;
        transform:translateY(0);
    }
}
@keyframes fadeIn {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}