
/* ==========================================================
   ARTICLES PAR CATÉGORIE CARDIE
   Rendu autonome calé sur "Éditions précédentes"
   ========================================================== */

.cardie-category-posts-block{
    width:100%;
    margin:24px 0;
    padding:18px;
    background:#fff;
    border:1px solid #e1e6eb;
    border-radius:14px;
    box-shadow:0 1px 5px rgba(7,31,51,.04);
    box-sizing:border-box;
}

.cardie-category-posts-block *{
    box-sizing:border-box;
}

/* ----------------------------------------------------------
   En-tête
   ---------------------------------------------------------- */

.cardie-category-posts-block__heading{
    display:block!important;
    width:100%!important;
    margin:0 0 16px!important;
    padding:0!important;
}

.cardie-category-posts-block__heading-left{
    width:100%!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
}

.cardie-category-posts-block__heading h2{
    margin:0!important;
    padding:0!important;
    color:#1f2c3a!important;
    font-family:"Marianne",Arial,sans-serif!important;
    font-size:19px!important;
    font-weight:600!important;
    line-height:1.25!important;
    letter-spacing:0!important;
    text-transform:none!important;
}

.cardie-category-posts-block__all{
    display:inline-flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    gap:5px!important;
    margin-left:auto!important;
    color:#1769aa!important;
    font-family:"Marianne",Arial,sans-serif!important;
    font-size:13px!important;
    font-weight:400!important;
    line-height:1.3!important;
    text-decoration:none!important;
    white-space:nowrap!important;
}

.cardie-category-posts-block__all:hover,
.cardie-category-posts-block__all:focus{
    color:#0c3c66!important;
    text-decoration:underline!important;
}

/* ----------------------------------------------------------
   Grille
   IMPORTANT : repeat(3, 1fr) conserve trois colonnes même
   si la requête ne renvoie qu'une ou deux cartes.
   ---------------------------------------------------------- */

.cardie-category-posts-block__cards{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:20px!important;
    align-items:stretch!important;
}

/* ----------------------------------------------------------
   Cartes — autonome par rapport au CSS général du plugin
   ---------------------------------------------------------- */

.cardie-category-posts-block .cardie-bef-post-card{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid #d7e0e7!important;
    border-radius:10px!important;
    box-shadow:0 1px 3px rgba(7,31,51,.04)!important;
}

.cardie-category-posts-block .cardie-bef-post-card__image{
    display:block!important;
    width:100%!important;
    height:128px!important;
    overflow:hidden!important;
    background:#1d68a8!important;
}

.cardie-category-posts-block .cardie-bef-post-card__image img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:cover!important;
}

.cardie-category-posts-block .cardie-bef-post-card__placeholder{
    display:block!important;
    width:100%!important;
    height:100%!important;
    background:linear-gradient(135deg,#2370b4,#5546c4)!important;
}

.cardie-category-posts-block .cardie-bef-post-card__body{
    margin:0!important;
    padding:11px 12px 13px!important;
    background:#fff!important;
}

.cardie-category-posts-block .cardie-bef-post-card__tags{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:4px!important;
    margin:0 0 8px!important;
    padding:0!important;
}

.cardie-category-posts-block .cardie-bef-post-card__tags span{
    display:inline-flex!important;
    align-items:center!important;
    margin:0!important;
    padding:6px 10px!important;
    border-radius:999px!important;
    background:#f1efe9!important;
    color:#666!important;
    font-family:"Marianne",Arial,sans-serif!important;
    font-size:12px!important;
    font-weight:500!important;
    line-height:1.2!important;
}

.cardie-category-posts-block .cardie-bef-post-card h3{
    margin:0!important;
    padding:0!important;
    font-family:"Archive",Arial,sans-serif!important;
    font-size:22px!important;
    font-weight:300!important;
    line-height:1.2!important;
    letter-spacing:0!important;
    text-transform:none!important;
}

.cardie-category-posts-block .cardie-bef-post-card h3 a{
    color:#232323!important;
    text-decoration:none!important;
}

.cardie-category-posts-block .cardie-bef-post-card h3 a:hover,
.cardie-category-posts-block .cardie-bef-post-card h3 a:focus{
    color:#003a84!important;
}

.cardie-category-posts-block .cardie-bef-post-card__meta{
    margin:8px 0 0!important;
    padding:0!important;
    color:#94a0ac!important;
    font-family:"Marianne",Arial,sans-serif!important;
    font-size:12px!important;
    line-height:1.3!important;
}

.cardie-category-posts-block .cardie-bef-empty{
    grid-column:1/-1!important;
    margin:0!important;
    padding:18px!important;
    background:#fff!important;
    border:1px solid #e1e6eb!important;
    border-radius:10px!important;
    color:#768391!important;
}

/* ----------------------------------------------------------
   Responsive
   ---------------------------------------------------------- */

@media(max-width:900px){
    .cardie-category-posts-block__cards{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

@media(max-width:640px){
    .cardie-category-posts-block{
        padding:14px!important;
        border-radius:12px!important;
    }

    .cardie-category-posts-block__cards{
        grid-template-columns:1fr!important;
    }

    .cardie-category-posts-block__heading-left{
        flex-direction:row!important;
        align-items:center!important;
    }
}
