/* ==============================
   GRILLE
============================== */
.projet-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

@media(min-width:768px){
    .projet-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media(min-width:1100px){
    .projet-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* ==============================
   ITEM
============================== */
.projet-item {
    position: relative;
}

/* ==============================
   LIEN
============================== */
.projet-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* ==============================
   THUMB (scroll vertical via JS)
============================== */
.projet-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;

}

.projet-thumb img {
    width: 100%;
    height: auto;
    min-height: 100%;
    object-fit: cover;
    object-position: top;
    transform: translateY(0);
    transition: none;
}

/* ==============================
   BADGE CAT
============================== */
.projet-cat {
    position: absolute;
    top: 0px;
    left: 0px;
    background: linear-gradient(135deg, #17bb6c 0%, #268bce 100%);
    color: #fff;
    padding: 0px 14px;
    font-size: 12px;
    font-weight: 100;
    border-radius: 0px;
    text-transform: uppercase;
    letter-spacing: .4px;
    z-index: 5;
}


/* ==============================
   DESCRIPTION ET HOVER GRILLE
============================== */
.projet-desc {
    margin: 12px 0 0 0;
    padding: 10px 5px;
    font-size: 15px;
    line-height: 1.5;
    color: #333;
    width: 100%;
    display: block;
}
.projet-item {
    display: flex;
    flex-direction: column;
}
.projet-social {
    padding: 5px 5px;
    font-size: 13px !important;
}
/* Le lien englobe maintenant toute la carte */
.projet-link {
    display: block;
    text-decoration: none;
    color: inherit;
}



/* ==============================
   FILTRES
============================== */
.projet-filter {
    text-align: center;
    margin-bottom: 35px;
}
.projet-filter .filter-btn {
    background: none;
    border: 1px solid #ccc;
    color: #444;
    padding: 8px 18px;
    margin: 0 6px;
    border-radius: 36px;
    cursor: pointer;
    transition: all .25s ease;
}
.projet-filter .filter-btn:hover {
    border-color: #268bce;
    color: #268bce;
}
.projet-filter .filter-btn.active {
    background: #268bce;
    border-color: #268bce;
    color: #fff;
}

/* ==============================
   SLIDER SWIPER
============================== */
/* Boutons du slider */
.projet-slider .swiper-button-prev,
.projet-slider .swiper-button-next {
    width: 48px;
    height: 48px;
    background: rgba(0,0,0,0.15); /* gris transparent */
    backdrop-filter: blur(4px);
    border-radius: 50%;

    display: flex;
    justify-content: center;
    align-items: center;

    transition: background .25s ease;
}

/* Hover */
.projet-slider .swiper-button-prev:hover,
.projet-slider .swiper-button-next:hover {
    background: rgba(0,0,0,0.25);
}

/* Flèches par défaut - couleur bleue */
.projet-slider .swiper-button-prev::after,
.projet-slider .swiper-button-next::after {
    color: #25d1f1 !important;     /* flèche bleue */
    font-size: 22px !important;    /* taille plus grande */
    font-weight: bold;
}