.realisations-archive {
    max-width: 1440px;
    margin: 0 auto;
    padding: 120px 40px;
    padding-bottom:40px;
}

.realisations-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

/* CARD */
.real-card {
    position: relative; /* 🔥 ULTRA IMPORTANT */
    display: block;
    text-decoration: none;
    color: white;
    overflow: hidden;
}

/* IMAGE */
.real-image img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    display: block;
    border-radius: 3px;
}

/* CONTENT */
.real-content {
    margin-top: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.real-content h2 {
    font-family: 'Coolvetica', sans-serif;
    font-size: 16px;
    letter-spacing: 1.2px;
    margin: 0;
    white-space: nowrap;
    text-transform: uppercase;
}

.real-category {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    font-family: 'Braven', sans-serif;

    font-size: 15px;
    margin: 0;
    text-align: right;
        text-transform: uppercase;

}

/* ARROW BUTTON */
.real-arrow {
    position: absolute;
    bottom: 60px;
    right: 15px;

    width: 42px;
    height: 42px;

    border-radius: 50%;
    background: rgba(0,0,0);


    display: flex;
    align-items: center;
    justify-content: center;

    transition: all 0.3s ease;
}

/* SVG */
.real-arrow img {
    width: 16px;
    height: 16px;
    transform: rotate(-25deg);
}

/* HOVER */
.real-card:hover .real-arrow {
    background: #FF0202;
    transform: translate(5px, -5px);
}






.realisations-filters {
    display: flex;
    justify-content: center; /* 👉 centré horizontalement */
    align-items: center;
    gap: 24px;
    margin-bottom:40px;
    flex-wrap: wrap;
}

/* BOUTONS */
.filter-btn {
    position: relative;

    background: none;
    border: none;
    cursor: pointer;

    font-family: 'Coolvetica', sans-serif; /* 👉 ta typo */
    font-size: 16px;
    letter-spacing: 1px;

    color: white;
    opacity: 0.5;

    transition: all 0.3s ease;

    padding-left: 20px; /* 👉 espace pour le rond */
}

/* HOVER */
.filter-btn:hover {
    opacity: 1;
}

/* ACTIF */
.filter-btn.is-active {
    color: #FF0202; /* 👉 rouge */
    opacity: 1;
}



/* ❌ PAS de cercle par défaut */
.filter-btn::before {
    content: none;
}

/* ✅ CERCLE UNIQUEMENT ACTIF */
.filter-btn.is-active::before {
    content: "";
    position: absolute;

    left: 3px;
    top: 50%;
    transform: translateY(-50%);

    width: 6px;
    height: 6px;

    background: #FF0202;
    border-radius: 50%;

    outline: 1.5px solid rgba(255, 2, 2, 0.5);
    outline-offset: 3px;
}

/* 👉 ROND ACTIF */
.filter-btn.is-active::before {
    background: #FF0202;
}



.pagination-dots {
    margin-top: 60px;

    display: flex;
    justify-content: center;
    gap: 10px;
}

/* DOT */
.pagination-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;

    background: white;

    transition: all 0.3s ease;
}

/* ACTIVE */
.pagination-dot.is-active {
    background: #FF0202;
    opacity: 1;
}

/* HOVER */
.pagination-dot:hover {
    opacity: 1;
}



.real-card.is-hidden {
    display: none !important;
}


.real-card {
    opacity: 0;
    filter: blur(12px);

    transition:
        opacity 0.8s ease,
        transform 0.8s ease,
        filter 0.8s ease;

    will-change: transform, opacity, filter;
}


.real-card.is-visible {
    opacity: 1;
    filter: blur(0);
}

.real-card:nth-child(1) { transition-delay: 0.05s; }
.real-card:nth-child(2) { transition-delay: 0.10s; }
.real-card:nth-child(3) { transition-delay: 0.15s; }
.real-card:nth-child(4) { transition-delay: 0.20s; }
.real-card:nth-child(5) { transition-delay: 0.25s; }
.real-card:nth-child(6) { transition-delay: 0.30s; }
.real-card:nth-child(7) { transition-delay: 0.35s; }
.real-card:nth-child(8) { transition-delay: 0.40s; }


.realisations-archive {
    cursor: none;
}

.realisations-archive a,
.realisations-archive button {
    cursor: none;
}

/* zone complète de la page archive */
.realisations-archive,
.realisations-archive * {
    cursor: none !important;
}

/* curseur custom */
.custom-cursor {
    position: fixed;
    top: 0;
    left: 0;

    width: 12px;
    height: 12px;

    border-radius: 50%;
    background: #FF0202;

    pointer-events: none;

    transform: translate(-50%, -50%) scale(0);
    transition:
        transform 0.2s ease,
        width 0.2s ease,
        height 0.2s ease;

    z-index: 9999;
}

/* visible */
.custom-cursor.active {
    transform: translate(-50%, -50%) scale(1);
}




/* =========================================
   ULTRA WIDE
========================================= */

@media (min-width: 1600px) {

    .realisations-archive {
        max-width: 1600px;
        padding: 140px 80px;
    }

    .real-image img {
        height: 420px;
    }

    .real-content h2 {
        font-size: 18px;
    }

    .real-category {
        font-size: 16px;
    }
}


/* =========================================
   TABLETTE
========================================= */

@media (max-width: 1024px) {

    .realisations-archive {
        padding: 100px 30px 40px;
    }

    .realisations-grid {
        grid-template-columns: 1fr 1fr;
        gap: 18px;
    }

    .real-image img {
        height: 280px;
    }

    .real-content {
        gap: 12px;
    }

    .real-content h2 {
        font-size: 14px;
    }

    .real-category {
        font-size: 13px;
    }

    .real-arrow {
        width: 38px;
        height: 38px;
        bottom: 50px;
    }
}


/* =========================================
   MOBILE (1 COL + UX CLEAN)
========================================= */

@media (max-width: 768px) {

    .realisations-archive {
        padding: 110px 20px 40px;
    }

    /* FILTRES scroll horizontal (UX moderne) */
    .realisations-filters {
        justify-content: center;
        overflow-x: auto;
        white-space: nowrap;
        gap: 14px;
        -webkit-overflow-scrolling: touch;

    }

    .filter-btn {
        font-size: 14px;
        flex: 0 0 auto;
    }

    /* GRID 1 COL */
    .realisations-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    /* IMAGE plus grande impact visuel */
    .real-image img {
        height: 320px;
    }

    /* CONTENT vertical */
    .real-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .real-content h2 {
        font-size: 14px;
        white-space: normal;
    }

    .real-category {
        font-size: 12px;
        text-align: left;
    }

    /* ARROW toujours visible à droite (important) */
    .real-arrow {
        width: 40px;
        height: 40px;
        bottom: 15px;
        right: 15px;
    }

    .real-arrow img {
        width: 14px;
        height: 14px;
    }

    /* curseur OFF mobile */
    .realisations-archive,
    .realisations-archive * {
        cursor: auto !important;
    }

    .custom-cursor {
        display: none;
    }

    /* pagination dots centrés */
    .pagination-dots {
        margin-top: 40px;
    }

    .real-card {
        position: relative;
    }

    /* 🔥 correction flèche mobile */
    .real-arrow {
        top: 70%;
        bottom: auto;
        right: 15px;

    }

    /* hover désactivé mobile (sinon bug visuel tactile) */
    .real-card:hover .real-arrow {
        transform: translateY(-5%);
    }
}


/* =========================================
   PETIT MOBILE
========================================= */

@media (max-width: 480px) {

    .realisations-archive {
        padding: 120px 16px 30px;
    }

    .real-image img {
        height: 260px;
    }

    .filter-btn {
        font-size: 13px;
    }

    .real-content h2 {
        font-size: 13px;
    }

    .real-category {
        font-size: 11px;
    }

    .real-arrow {
        width: 36px;
        height: 36px;
    }
}