body{ 
    font-family: Arial, sans-serif; 
    text-align:center; 
    background:#1b263b;
    color:#f1f5f9;
}
.container{ 
    width:300px; 
    margin:100px auto; 
    background:white; 
    padding:20px; 
    border-radius:10px; 
}
input{ 
    width:90%; 
    padding:10px; 
    margin:10px; 
}
button{ 
    padding:10px 20px; 
    cursor:pointer;
    background:#415a77;
    color:white;
    border-color: #f1f5f9;
    border-radius:8px; 
}
button:hover{
    background:#577590;
}
.france{ 
    padding:10px 30%; 
    cursor:pointer; 
    background:#415a77;
    color:white;
    border-radius:8px;
    border-color: #f1f5f9;
}
.btn-risque{
    background:#415a77;
    color:white;
    border:none;
    border-radius:8px;
    padding:10px 15px;
    margin:5px;
    cursor:pointer;
    transition:.2s;
}
.btn-risque:hover{

    background:#577590;
}
.bouton-risque.actif{
    background:#4da3ff;
    border-color:#7fc2ff;
    color:white;
    box-shadow:0 0 12px rgba(77,163,255,.6);
}
.btn-risque.desactive{
    background:#555;
    color:#bdbdbd;
    cursor:not-allowed;
    opacity:.6;
}
img{ 
    width: 600px; 
}
a{
    color:#90caf9;
    text-decoration:none;
}
a:hover{
    color:#ffffff;
    text-decoration:underline;
}
#bulletin{
    max-width: 900px;
    margin: 20px auto;
    padding: 15px;
    background: #f8fafc;
    border-radius: 10px;
    color:#222;
    text-align: left;
    line-height: 1.6;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);
    white-space: pre-wrap;
}
.btn-connexion{
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1000;
    padding: 10px 15px;
    background: #2c3e50;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    margin-left:auto;
}
h2{
    color:#f1f5f9;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: large;
}
header{
    background:#0d1b2a;
    color:white;
    padding:20px;
    width:100%;
    box-sizing:border-box;
    display:flex;
    align-items:center;
}
.titre-site{
    display:flex;
    align-items:center;
    gap:20px;
}
nav{
    margin-left:60px;   /* augmente l'espace entre le titre et Accueil */
}
#logo{
    width:80px;
    height:auto;
}
.bandeau-vigilance{
    color:white;
    text-align:center;
    font-weight:bold;
    padding:15px;
    font-size:20px;
    margin-bottom:20px;
}

nav a{
    color:white;
    text-decoration:none;
    margin:0 15px;
    font-weight:bold;
}
#carte{
    max-width:100%;
    height:auto;
}
.grille{
    display:grid;
    grid-template-columns:
        repeat(2,1fr);

    gap:20px;
}
.mini{
    border-radius:12px;
    padding:10px;
    background:#162434;
    color:white;
}
.gris{background:#6c757d;}
.vert{background:#2ecc71;}
.jaune{background:#f1c40f;}
.orange{background:#e67e22;}
.rouge{
    background:#dc2626;
    box-shadow:0 0 15px rgba(220,38,38,.7);
}
.violet{
    background:#8e44ad;
    box-shadow:0 0 18px rgba(147,51,234,.8);
}
h1{
    white-space: nowrap;
}
.analyse{
    background:#152638;
    border-left:5px solid #4da3ff;
    padding:20px;
    border-radius:10px;
    margin:30px auto;
    max-width:1000px;
    line-height:1.7;
}

.analyse h2{
    margin-top:0;
    margin-bottom:15px;
    color:#7fc8ff;
}
.analyse p{
    margin:0;
    white-space:normal;
}
#lightbox{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.9);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:9999;
}

#lightbox img{
    max-width:95%;
    max-height:95%;
    border-radius:10px;
}
.page-apropos{
    max-width:1000px;
    margin:40px auto;
    padding:0 20px;
    line-height:1.7;
}

.page-apropos h2{
    margin-top:40px;
    margin-bottom:15px;
    color:#7fc8ff;
}

.page-apropos p{
    margin-bottom:15px;
}

.page-apropos ul{
    padding-left:25px;
}

.page-apropos li{
    margin-bottom:10px;
}

.page-apropos strong{
    color:#ffffff;
}
footer{
    background:#0d1b2a;
    color:white;
    text-align:center;
    padding:40px 20px 20px;
    margin-top:60px;
    border-top:1px solid rgba(255,255,255,0.08);
}
.footer-contenu{
    max-width:1100px;
    margin:auto;
    display:flex;
    justify-content:space-between;
    gap:40px;
}
.footer-bloc{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.footer-bloc h3{
    margin:0 0 10px;
    color:#7fc8ff;
}
.footer-bloc a{
    color:#dcecff;
    text-decoration:none;
}
.footer-bloc a:hover{
    color:white;
    text-decoration:underline;
}
.footer-bas{
    max-width:1100px;
    margin:35px auto 0;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,0.08);
    text-align:center;
    font-size:0.9rem;
    color:#aebdcc;
}
footer p{
    margin:5px 0;
}
@media (max-width: 768px){
    header{
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 12px;
        padding: 15px;
    }
    .titre-site{
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
    img{
        width:90%;
    }
    nav{
        margin-left: 0;
        display: flex;
        gap: 15px;
        flex-wrap: wrap;
        justify-content: center;
    }
    .btn-connexion{
        margin-left: 0;
        top:10px;
        right:10px;
        padding:8px 12px;
        font-size:14px;
    }
    h1{
        font-size: 1.6rem;
        margin: 0;
    }
    #logo{
        width: 60px;
    }
    .grille{
        grid-template-columns:1fr;
    }
    .footer-contenu{
        flex-direction:column;
        gap:30px;
    }
    footer{
        padding:30px 20px 15px;
    }
}
