
@media (max-width: 900px) {

    body{

        overflow-x:hidden;

    }

    /* ================= HEADER ================= */

    .navbar{

        height:90px;

        padding:0 20px;

    }

    .navbar:hover,
    .navbar.intro{

        height:90px;

    }

    .logo{

        height:60px;

    }

    .logo-container{

        transform:none !important;

    }

    .logo-texte{

        font-size:.8rem;

    }

    .burger{

        display:block;

        background:none;

        border:none;

        font-size:2rem;

        cursor:pointer;

        color:black;

    }

    .menu{
    position: fixed;      /* instead of absolute */
    top: 75px;
    left: 0;
    right: 0;

    height: calc(100vh - 90px);

    background: white;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly; /* spreads the items nicely */

    padding: 0 25px;

    overflow-y: auto;

    transform: translateY(-110%);
    opacity: 0;
    transition: .3s ease;

    z-index: 9999;
}

    .menu.mobile-open{

        transform:translateY(0);

        opacity:1;

    }

    .menu-item{

    display:flex;
    align-items:center;

    width:100%;

    gap:28px;

    padding:3px 0;

}

    .menu-item img{

    width:100px;
    height:100px;

    object-fit:contain;

    flex-shrink:0;

    margin:0;

}

    .menu-item span{

    flex:1;

    display:flex;
    align-items:center;

    height:110px;

    font-size:1.8rem;
    font-weight:700;

    margin:0;
}

    /* ================= HOME ================= */

    .hero{

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    min-height:calc(100vh - 90px);

    padding:20px 25px 35px;

    gap:10px;

}

    .hero-image{

        order:-1;

    }

    .hero-image img{

        width:80%;

        max-width:340px;

        padding-left:0;

    }

    .hero-content{

        max-width:100%;

    }

    .hero-content h2{

        font-size:2.6rem;

        margin-bottom:25px;

    }

    .hero-content p{

        font-size:1rem;

        line-height:1.8;

    }
    
    .floating-filter-button{

    display:none;

}

@media (max-width:900px){

    .filtres-zone {
    display: none;

    position: fixed;
    top: 110px;

    width: 320px;

    z-index: 10000;

    background: rgba(255,255,255,.95);
    backdrop-filter: blur(12px);

    border-radius: 24px;
    padding: 24px;

    box-shadow: 0 15px 40px rgba(0,0,0,.12);
}

.filtres-zone.mobile-open {
    display: block;
}

    .floating-filter-button{

        display:flex;

        position:absolute;

        top:20px;

        right:30px;

        width:56px;

        height:56px;

        border:none;

        border-radius:50%;

        background:white;

        box-shadow:0 8px 25px rgba(0,0,0,.15);

        justify-content:center;

        align-items:center;

        font-size:1.5rem;

        z-index:2000;

    }

    .collectivites-table th:nth-child(3),
.collectivites-table td:nth-child(3){

    text-align:center;

    width:90px;

}

    .collectivites-table td{

    font-size:1rem;

}

    .collectivites-table td:first-child{

    font-weight:700;

}

    .collectivites-container{

    padding:12px;

}

/* ================= THEMATIQUES ================= */

    .thematiques-page{

    width:100%;

    margin:30px auto;

    padding:0 18px;

}

    .thematiques-page h1{

    font-size:3.2rem;

    line-height:0.95;

    margin-bottom:28px;

}

    .thematiques-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:16px;

}

    .thematique-card{

    border-radius:22px;

    overflow:hidden;

}

    .thematique-card img{

    width:100%;

    height:120px;

    object-fit:contain;

    margin-top:10px;

}

    .thematique-card h2{

    font-size:1rem;

    padding:14px;

    text-align:center;

}
/* ================= PARTICIPER ================= */

.participer-hero{

    width:100%;

    margin:30px auto 35px;

    padding:0 18px;

    display:block;

}

.participer-hero h1{

    font-size:4.2rem;

    line-height:.9;

    margin-bottom:20px;

}

.participer-intro{

    font-size:1rem;

    line-height:1.7;

    color:#555;

    margin:0;

}

.participer-actions{

    display:flex;

    flex-direction:column;

    gap:20px;

    width:100%;

    padding:0 18px;

    margin-bottom:25px;

}

.participer-signaler,
.participer-contact{

    padding:26px;

    border-radius:24px;

}

.participer-signaler h2,
.participer-contact h2{

    font-size:2rem;

    margin-bottom:22px;

    line-height:1.1;

}

.participer-bouton{

    width:100%;

    justify-content:center;

    padding:18px;

    font-size:1.15rem;

}

.contact-links{

    gap:14px;

}

.contact-link{

    padding:18px 22px;

    font-size:1.15rem;

    border-radius:18px;

}

    .participer-note{

    width:calc(100% - 36px);

    margin:0 auto 40px;

    padding:24px;

    font-size:1rem;

    line-height:1.8;

    border-radius:22px;

}

    .stats-grid .stat-card:nth-child(3) {
    display: none;
}

    .stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

    .stats-grid .stat-card {
    min-width: 0;
}

body.menu-open {
    overflow: hidden;
}



body > h1 {
        font-size: 3rem;
    }

    .participer-actions {
        grid-template-columns: 1fr;
    }

    .participer-signaler,
    .participer-contact {
        padding: 28px;
    }



}

.filtres-header{

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

    margin-bottom:20px;

}


.filtres-fermer:hover{

    background:#f4df3d;

}

.fiche-fermer,
.filtres-fermer{

    width:32px;
    height:32px;

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

    border-radius:50%;

    cursor:pointer;

    font-size:1.3rem;
    font-weight:700;

    transition:background .2s ease;

    margin-top: 10px;

}

 .leaflet-tooltip{

    background:rgba(22,22,22,.82);

    backdrop-filter:blur(10px);

    color:white;

    border:none;

    border-radius:999px;

    padding:5px 11px;

    font-size:.78rem;

    font-weight:600;

    letter-spacing:.02em;

    box-shadow:0 4px 12px rgba(0,0,0,.18);

}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before{

    display:none;

}

/* ================= HOME STATS ================= */

.home-stats{
    display:flex;
    flex-direction:column;
    align-items:center;

    padding:60px 20px;
}

.home-stat{

    width:100%;               /* <-- très important */

    display:flex;
    flex-direction:column;
    align-items:center;

    text-align:center;

    margin-bottom:20px;
}

.home-number{

    width:100%;               /* <-- très important */

    display:block;

    text-align:center;

    font-size:5.5rem;
    line-height:.9;

    margin:0;
}

.home-label{

    width:100%;               /* <-- très important */

    margin-top:10px;

    text-align:center;

    font-size:2rem;
    line-height:1.1;
}

.home-buttons{

    flex-direction:column;

    align-items:center;

    gap:18px;

    padding:0 30px 50px;

}

.home-button{

    width:100%;

    max-width:350px;

    text-align:center;

}

.scroll-indicator{

    display:none;

}

}

