/* --- CHARGEMENT DE LA POLICE LOCALE (LATO) --- */

/* Lato Light (300) */
@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 300;
    src: url('fonts/lato-v24-latin-300.woff2') format('woff2'); 
    /* Si vous avez téléchargé les fichiers WOFF classiques aussi, ajoutez-les ici, mais woff2 suffit pour les navigateurs modernes */
}

/* Lato Regular (400) */
@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/lato-v24-latin-regular.woff2') format('woff2');
}

/* Lato Bold (700) */
@font-face {
    font-family: 'Lato';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/lato-v24-latin-700.woff2') format('woff2');
}

/* --- VARIABLES --- */
:root {
    --klein-blue: #002FA7;
    --header-height: 60px;
}

/* --- CONFIGURATION GLOBALE --- */
body {
    font-family: 'Lato', sans-serif;
    color: var(--klein-blue); /* BLEU KLEIN PARTOUT */
    margin: 0;
    padding: 0;
    line-height: 1.6;
    font-weight: 300; /* Police fine */
}

/* --- ENTÊTE AVEC BOUTON À DROITE --- */
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--header-height);
    background-color: var(--klein-blue);
    color: white;
    padding: 0 2rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.15);
    z-index: 1000;
    box-sizing: border-box;
}

/* Conteneur flexible pour écarter le titre et le bouton */
.header-content {
    display: flex;
    justify-content: space-between; /* Espace max entre les éléments */
    align-items: center;
    width: 100%;
    max-width: 900px; /* Aligne le contenu avec le corps de texte */
    margin: 0 auto;
}

header h1 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 300;
    letter-spacing: 0.5px;
}

/* --- BOUTON DE LANGUE --- */
.lang-switch {
    font-size: 0.9rem;
    cursor: pointer;
}

.lang-switch span {
    padding: 0 5px;
    cursor: pointer;
    transition: opacity 0.2s;
}

.lang-switch span:hover {
    opacity: 0.8;
}

header h1 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 300;
    letter-spacing: 0.5px;
}

header b {
    font-weight: 700;
}

/* --- CORPS DE PAGE --- */
article {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    /* Marge pour éviter que le texte passe sous l'entête */
    padding: calc(var(--header-height) + 2rem) 2rem 2rem 2rem;
    box-sizing: border-box;
}

/* --- TITRES DES SECTIONS --- */
article h1 {
    font-size: 1.5rem;
    color: var(--klein-blue);
    font-weight: 400;
    border-bottom: 1px solid rgba(0, 47, 167, 0.3); /* Trait fin bleu */
    padding-bottom: 0.3rem;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
}

article h1:first-child {
    margin-top: 0;
}

/* --- LIENS --- */
a {
    color: var(--klein-blue);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px dotted var(--klein-blue);
    transition: all 0.2s ease;
}

a:hover {
    color: #0000FF; /* Bleu un peu plus électrique au survol */
    border-bottom: 1px solid #0000FF;
}

article h1 a {
    font-weight: 400;
    border-bottom: none;
}

/* --- PARAGRAPHES --- */
p {
    text-align: justify;
    margin-bottom: 1.5rem;
    font-weight: 300;
}

/* Mots importants en gras */
p b, p strong {
    font-weight: 700;
    /* On garde la même couleur bleue */
}

/* --- RESPONSIVE --- */
@media screen and (max-width: 768px) {
    header {
        padding: 0 1rem;
    }
    
    header h1 {
        font-size: 1rem;
    }

    article {
        padding: calc(var(--header-height) + 1.5rem) 1rem 1.5rem 1rem;
    }

    p {
        text-align: left;
    }
}
