/*
    ==========================================================
    PROJECT : DEVENIR-ARTISAN.NET
    FILE    : card-post.css
    AUTH    : Renaud
    CREATED : 19 décembre 2025
    UPDATED : 20 décembre 2025
    ==========================================================
*/

/**
*   @project        DEVENIR-ARTISAN.NET
*   @description    Composant unitaire de carte d'article (Card).
*                   Gère l'affichage des vignettes dans le listing et la home.
*
*   @file           css/card-post.css
*
*   @see            includes/card-post.php
*   @see            css/colors-semantic.css
*   @see            css/fonts-semantic.css
*/

/* --- BLOCK : Card Post --- */
.card-post {
    /* PLACEMENT */
    display: flex;
    flex-direction: column;
    
    /* VISUEL */
    background-color: var(--color-background-card);
    border: 1px solid var(--color-card-border);
    border-radius: 8px;
    overflow: hidden; /* Pour que l'image respecte le border-radius */
    
    /* EFFET */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-post:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.08);
}

/* --- ELEMENT : Image Link & Container --- */
.card-post__image-link {
    display: block;
    width: 100%;
    overflow: hidden;
}

.card-post__image-container {
    position: relative;
    aspect-ratio: 16 / 9; /* Ratio standard */
    background-color: var(--color-grey-220);
}

.card-post__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.card-post:hover .card-post__image {
    transform: scale(1.05);
}

/* --- ELEMENT : Content Box --- */
.card-post__content {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    flex-grow: 1; /* Pousse le footer en bas */
}

/* --- ELEMENT : Category --- */
.card-post__category {
    margin-bottom: 0.75rem;
    font-family: var(--font-ui-label);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-heading-accent);
}

/* --- ELEMENT : Title --- */
.card-post__title {
    margin-bottom: 1rem;
    font-family: var(--font-heading-main);
    font-size: 1.4rem;
    line-height: 1.3;
}

.card-post__link {
    color: var(--color-headings);
    text-decoration: none;
    transition: color 0.2s ease;
}

.card-post__link:hover {
    color: var(--color-link-hover);
}

/* --- ELEMENT : Excerpt --- */
.card-post__excerpt {
    margin-bottom: 1.5rem;
    font-family: var(--font-text-body);
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--color-text-main);
}

/* --- ELEMENT : Footer --- */
.card-post__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto; /* Aligne toujours en bas */
    padding-top: 1rem;
    border-top: 1px solid var(--color-separator);
}

.card-post__date {
    font-size: 0.85rem;
    color: var(--color-text-muted);
}

.card-post__read-more {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--color-link-default);
}