/* --- CONFIGURATION GLOBALE --- */
* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: Source Sans Pro;
    background-color: #ffffff;
    color: #333;
    line-height: 1.5;
}

/* --- STRUCTURE DE CENTRAGE --- */
/* Le wrapper et les barres utilisent flex pour centrer leurs conteneurs internes */
.header-bar, .wrapper, .footer-bar {
    display: flex;
    justify-content: center;
    width: 100%;
}

/* La largeur de lecture est fixée à 750px pour tout le blog */
.container, .content {
    width: 100%;
    max-width: 750px;
    padding: 0 20px;
}

/* Menu */
/* Le bandeau de fond qui prend toute la largeur de la fenêtre */
.headerholder {
  background-color: #f9f9f9;
  border-bottom: solid 1px #ccc; /* Juste une ligne en bas pour séparer du contenu */
  display: flex;
  justify-content: center;       /* Indispensable pour centrer le menu interne */
  width: 100%;
  box-sizing: border-box;
}

/* Le conteneur interne qui définit la largeur de lecture */
.main-menu {
  display: flex;
  justify-content: space-between; /* POUSSE LA GAUCHE À GAUCHE ET LA DROITE À DROITE */
  align-items: center;
  width: 100%;
  max-width: 1000px; /* Même largeur que ton .content pour être aligné */
  /*padding: 10px 20px;*/
}

/* Style du nom du blog à gauche */
.menu-left a {
  display: flex;
  align-items: center;
  text-decoration: none;
  font-weight: bold;
  color: #2c3e50;
  font-size: 1.2rem;
}

/* Style de la liste à droite */
.menu-right ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex; /* Aligne les liens horizontalement */
  gap: 20px;     /* Espace entre les liens */
}

.menu-right a {
  text-decoration: none;
  color: #555;
  font-weight: 500;
}

.menu-right a:hover {
  color: #3498db;
}

/* --- CONTENU PRINCIPAL (INDEX & ARTICLE) --- */
.content {
    padding-top: 20px;
    padding-bottom: 50px;
    min-height: 80vh;
}

/* Pour le texte des articles complets */
article p, article li {
    font-size: 1.3rem;  /* Augmente légèrement la taille (environ 17.6px) */
    line-height: 1.4;   /* Améliore le confort de lecture */
}

/* Style de chaque bloc article sur l'index */
.article-item {
    margin-bottom: 20px;
}

.article-item h1 {
    font-size: 1.25rem; /* Taille compacte */
    margin: 0 0 4px 0;
    line-height: 1.2;
}

.article-item h1 a {
    text-decoration: none;
    color: #2c3e50;
    transition: color 0.2s;
}

.article-item h1 a:hover {
    color: #3498db;
}

/* Date de l'article */
.article-meta {
    font-size: 0.8rem;
    color: #888;
    margin-bottom: 6px;
    font-style: italic;
}

/* Le Résumé (Summary tronqué) */
.article-item .summary {
    font-size: 1rem;
    line-height: 1.4;
    color: #444;
}

.article-item .summary p {
    margin: 0;
}

/* Les Tags (Badges miniatures) */
.article-footer {
    margin-top: 8px;
}

.tag-badge {
    display: inline-block;
    background-color: #f0f0f0;
    color: #666;
    padding: 1px 8px;
    border-radius: 10px;
    text-decoration: none;
    font-size: 1rem;
    margin-right: 5px;
    transition: all 0.2s;
}

.tag-badge:hover {
    background-color: #3498db;
    color: white;
}

/* Séparateur entre articles */
.separator {
    border: 0;
    border-top: 1px solid #eee;
    margin: 20px 0;
}

/* --- FOOTER --- */
.footer-bar {
    padding: 30px 0;
    background-color: #242729;
    color: #848d95;
    margin-top: 50px;
}

.footer-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 750px;
    padding: 0 20px;
}

.footer-bar ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    gap: 15px;
}

.footer-bar a {
    color: #848d95;
    text-decoration: none;
    font-size: 0.85rem;
}

.footer-bar a:hover {
    color: #fff;
}

/*----Page ARCHIVES ----*/
.archives-list {
    margin-top: 20px;
}

.archive-item {
    display: flex;
    justify-content: space-between; /* Pousse l'année tout à droite */
    align-items: baseline;
    padding: 8px 0;
}

.archive-title {
    text-decoration: none;
    color: #2c3e50;
    font-size: 1.3rem;
    flex: 1; /* Permet au titre de prendre la place nécessaire */
    margin-right: 20px;
}

.archive-title:hover {
    color: #3498db;
    text-decoration: underline;
}

.archive-year {
    color: #999;
    font-family: monospace; /* Donne un petit look "data" sympa */
    font-size: 0.9rem;
}

.separator-tiny {
    border: 0;
    border-top: 1px solid #f0f0f0;
    margin: 0;
}

/*-------Optimisation d el'image pour faire 710px au max*/
article img {
    max-width: 300px;    /* Limite la largeur à 710px maximum */
    width: auto;         /* S'adapte à la largeur si l'écran est petit (mobile) */
    height: auto;        /* Conserve les proportions */
    display: block;      /* Évite les espaces vides sous l'image */
    margin: 1.5em auto;  /* Centre l'image et ajoute de l'espace dessus/dessous */
    border-radius: 4px;  /* Optionnel : arrondit légèrement les coins */
}

/*** Citations ***/
article blockquote {
    /* Mise en forme du bloc */
    background-color: #f9f9f9;
    border-left: 5px solid #3498db; /* Une barre colorée à gauche (bleu ici) */
    margin: 1.5em 0;
    padding: 1em 1.5em;
    
    /* Typographie 
    font-style: italic;
    color: #555;
    line-height: 1.6;*/
    
    /* S'assure qu'il ne dépasse pas la largeur de l'article */
    max-width: 710px;
}

/* --- RESPONSIVE MOBILE --- */
@media (max-width: 600px) {
    .header-title {
        font-size: 18px;
    }
    .content {
        padding: 20px;
    }
}