/* Fichier : css/actualite.css */

/* Variables (optionnel, si vous voulez des couleurs spécifiques pour les actualités) */
:root {
    --actualite-bg-color: #ffffff;
    --actualite-border-color: #e0e0e0;
    --actualite-text-color: #343a40;
    --actualite-date-color: #6c757d;
}

/* Page Header spécifique aux actualités (si vous n'avez pas déjà un .page-header générique) */
/* Si vous avez déjà un .page-header dans index.css, celui-ci pourrait être redondant */
.page-header {
    background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url('../images/actualites-header-bg.jpg') no-repeat center center/cover;
    color: var(--text-color-light);
    padding: 100px 0;
    text-align: center;
}

.page-header h2 {
    font-size: 3.5em;
    margin: 0;
    text-shadow: 2px 2px 5px rgba(0,0,0,0.4);
}

/* Section de contenu pour les actualités */
.content-section {
    padding: 60px 0;
    background-color: var(--bg-light);
}

/* Liste des actualités */
.actualites-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* Grille responsive */
    gap: 30px; /* Espacement entre les articles */
}

.actualite-item {
    background-color: var(--actualite-bg-color);
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    overflow: hidden; /* Important pour les images arrondies */
    display: flex; /* Utilisation de flexbox pour la structure interne */
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.actualite-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.actualite-image {
    width: 100%;
    height: 220px; /* Hauteur fixe pour les images */
    overflow: hidden;
}

.actualite-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recadre l'image pour couvrir l'espace */
    display: block;
    transition: transform 0.4s ease; /* Animation au survol */
}

.actualite-item:hover .actualite-image img {
    transform: scale(1.05); /* Zoom léger au survol */
}

.actualite-item h3 {
    font-size: 1.8em;
    color: var(--primary-color);
    margin: 20px 20px 10px 20px; /* Espacement interne */
    line-height: 1.3;
}

.actualite-item .date {
    font-size: 0.9em;
    color: var(--actualite-date-color);
    margin: 0 20px 15px 20px;
}

.actualite-item p {
    font-size: 1em;
    color: var(--actualite-text-color);
    margin: 0 20px 20px 20px;
    flex-grow: 1; /* Permet au paragraphe de prendre l'espace restant */
}

.actualite-item .read-more {
    display: inline-block;
    margin: 0 20px 20px 20px;
    align-self: flex-start; /* Aligner le bouton à gauche */
}

.no-actualites {
    text-align: center;
    grid-column: 1 / -1; /* Prend toute la largeur de la grille */
    font-size: 1.2em;
    color: var(--text-color-dark);
    padding: 40px;
    background-color: var(--actualite-bg-color);
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

/* Responsive pour les actualités */
@media (max-width: 768px) {
    .page-header {
        padding: 80px 0;
    }
    .page-header h2 {
        font-size: 2.8em;
    }
    .content-section {
        padding: 40px 0;
    }
    .actualites-list {
        grid-template-columns: 1fr; /* Une seule colonne sur mobile */
        gap: 25px;
    }
    .actualite-image {
        height: 200px; /* Ajuste la hauteur de l'image sur mobile */
    }
    .actualite-item h3 {
        font-size: 1.6em;
        margin: 15px 15px 8px 15px;
    }
    .actualite-item .date,
    .actualite-item p,
    .actualite-item .read-more {
        margin-left: 15px;
        margin-right: 15px;
    }
}

@media (max-width: 480px) {
    .page-header h2 {
        font-size: 2.2em;
    }
    .actualite-image {
        height: 180px;
    }
    .actualite-item h3 {
        font-size: 1.4em;
    }
    .actualite-item p {
        font-size: 0.95em;
    }
}

/* ... (votre code CSS existant) ... */

/* Section de contenu pour les actualités */
.content-section {
    padding: 60px 0;
    background-color: var(--bg-light);
}

/* Liste des actualités */
.actualites-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* Grille responsive */
    gap: 30px; /* Espacement entre les articles */
}

.actualite-item {
    background-color: var(--actualite-bg-color);
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    overflow: hidden; /* Important pour les images arrondies et le zoom */
    display: flex; /* Utilisation de flexbox pour la structure interne */
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.actualite-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

/* --- IMPORTANT POUR LA TAILLE DES IMAGES --- */
.actualite-image {
    width: 100%; /* L'image prend toute la largeur de l'article */
    height: 220px; /* HAUTEUR FIXE pour toutes les images */
    overflow: hidden; /* Cache toute partie de l'image qui dépasse */
    background-color: #f0f0f0; /* Couleur de fond si l'image ne charge pas */
    display: flex; /* Utilise flex pour centrer l'image si elle est petite */
    align-items: center;
    justify-content: center;
}

.actualite-image img {
    width: 100%; /* L'image prend 100% de la largeur du conteneur parent */
    height: 100%; /* L'image prend 100% de la hauteur du conteneur parent */
    object-fit: cover; /* C'EST LA PROPRIÉTÉ CLÉ : Recadre l'image pour remplir le conteneur */
    display: block; /* Supprime l'espace sous l'image */
    transition: transform 0.4s ease; /* Animation au survol */
}

.actualite-item:hover .actualite-image img {
    transform: scale(1.05); /* Zoom léger au survol */
}

/* ... (le reste de votre code CSS) ... */

/* Responsive pour les actualités */
@media (max-width: 768px) {
    /* ... (code existant) ... */
    .actualite-image {
        height: 200px; /* Ajuste la hauteur de l'image sur mobile */
    }
    /* ... (code existant) ... */
}

@media (max-width: 480px) {
    /* ... (code existant) ... */
    .actualite-image {
        height: 180px; /* Ajuste la hauteur de l'image sur les petits mobiles */
    }
    /* ... (code existant) ... */
}