/**
 * Archive Blog - Alignement des cards articles
 *
 * Styles pour les pages d’archives (blog, catégories, etc.).
 * Assure un alignement uniforme des cartes : hauteur égale,
 * bouton "Lire la suite" aligné en bas, espacement cohérent.
 *
 * Cible : .etheme-post (structure XStore)
 *
 * @author AK Digital
 * @package xstore-child
 */

/* ==========================================================================
   Grille / conteneur des articles (alignement des cartes)
   ========================================================================== */

/* Slider / carousel (page d'accueil) : toutes les slides à la même hauteur */
.swiper-wrapper {
    align-items: stretch;
}

.swiper-slide {
    display: flex;
    height: auto;
}

/* Les articles en grille ou dans un slider prennent toute la hauteur */
.etheme-posts-grid .etheme-post,
.etheme-posts-masonry .etheme-post,
[class*="etheme-posts"] .etheme-post,
.swiper-slide .etheme-post {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Zone image : hauteur fixe, pas de stretch */
.etheme-post-image-wrapper {
    flex-shrink: 0;
}

/* Image : ratio cohérent, hauteur fixe pour uniformiser les cartes */
.etheme-post-image-inner {
    display: block;
    overflow: hidden;
    height: 220px;
}

.etheme-post-image-inner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: middle;
}

/* ==========================================================================
   Contenu de la card (titre, extrait, bouton)
   ========================================================================== */

.etheme-post-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    padding: 1rem 0 0;
}

/* Catégorie : alignement en haut */
.etheme-post-terms.etheme-post-categories {
    flex-shrink: 0;
    margin-bottom: 0.5em;
}

/* Titre : espacement cohérent, pas de stretch */
.etheme-post-title {
    flex-shrink: 0;
    margin: 0 0 0.5em;
    line-height: 1.3;
}

.etheme-post-title a {
    text-decoration: none;
}

/* Extrait : occupe l’espace restant pour pousser le bouton en bas */
.etheme-post-excerpt {
    flex: 1;
    margin: 0 0 1em;
    min-height: 0;
    line-height: 1.5;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

/* Bouton "Lire la suite" : toujours en bas de la card */
.etheme-post-button {
    margin-top: auto;
    flex-shrink: 0;
    align-self: flex-start;
}

/* ==========================================================================
   Date (badge sur l’image)
   ========================================================================== */

.etheme-post-date-label.inside {
    position: absolute;
    z-index: 1;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media screen and (max-width: 768px) {
    .etheme-post-content {
        padding: 0.75rem 0 0;
    }

    .etheme-post-excerpt {
        -webkit-line-clamp: 2;
    }
}
