:root {
    --font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    --color-primary: #b30000; /* Rouge foncé */
    --color-secondary: #ff8c00; /* Orange */
    --color-background: #f9f9f9; /* Blanc clair */
    --border-radius: 0.5rem;
    --box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

body {
    font-family: var(--font-family);
    margin: 0;
    padding: 0;
    background-color: var(--color-background);
    color: #333;
    line-height: 1.6;
}

header {
    background: linear-gradient(to right, var(--color-primary), var(--color-secondary));
    color: white;
    text-align: center;
    padding: 2rem 0;
    border-bottom: 1px solid #ddd;
}

main {
    max-width: 1200px;
    margin: 2rem auto;
    padding: 0 1rem;
}

footer {
    background-color: #f4f4f4;
    text-align: center;
    padding: 1rem 0;
    border-top: 1px solid #ddd;
    font-size: 0.9rem;
    color: #666;
}

#derniere-mise-a-jour, #statut {
    margin-bottom: 1rem;
    font-weight: bold;
    padding: 0.5rem;
    border-radius: var(--border-radius);
}

#statut.chargement {
    background-color: #fff9db; /* Light Yellow */
    color: orange;
}

#statut.succes {
    background-color: #d1e7dd; /* Mint Green */
    color: green;
}

#statut.erreur {
    background-color: #ffe6e6; /* Light Red */
    border: 1px solid red;
    color: red;
}

main > section:first-of-type {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

main > section:first-of-type h2 {
    grid-column: 1 / -1;
    text-align: center;
}

main > section:first-of-type > div {
    background-color: white;
    border: 1px solid #ddd;
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    padding: 1rem;
}

@media (max-width: 768px) {
    main > section:first-of-type {
        grid-template-columns: 1fr;
    }
}
#section-carte {
    margin: 2rem 0;
}

#section-carte h2 {
    margin-bottom: 1.5rem;
    text-align: center;
}

#carte {
    width: 100%;
    height: 560px;
    background-color: #e9ecef;
    border: 1px solid #ddd;
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    overflow: hidden;
}

@media (max-width: 768px) {
    #carte {
        height: 430px;
    }
}
#liste-departements {
    margin-top: 1.5rem;
}

#liste-departements h2 {
    margin-bottom: 1.5rem;
    text-align: center;
}

#liste-departements ul {
    display: grid;
    grid-template-columns: repeat(
        auto-fit,
        minmax(250px, 1fr)
    );
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

#liste-departements li {
    padding: 1rem 1.25rem;
    background-color: white;
    border: 1px solid #ddd;
    border-left: 5px solid var(--color-secondary);
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
}

@media (max-width: 600px) {
    #liste-departements ul {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation: none !important;
        transition: none !important;
    }
}
