.blog-hero {
    width: 100%;
    margin: 0 auto 4rem auto;
}

.blog-hero__banner {
    height: 320px;
    overflow: hidden;
}

.blog-hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.blog-hero__content {
    max-width: 760px;
    margin: -48px auto 0 auto;
    position: relative;
}

.blog-hero__avatar {
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: 18px;
    border: 4px solid #ffffff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    background: white;
}

.blog-hero__content h1 {
    margin-top: 2rem;
    margin-bottom: 1.5rem;
    font-size: 2.8rem;
    line-height: 1.1;
}

.blog-intro {
    background: #f7e6d7;
    border-radius: 12px;
    padding: 1.5rem 1.75rem;
    font-size: 1rem;
    line-height: 1.7;
}

.blog-intro blockquote {
    margin: 1.5rem 0 0 0;
    padding-left: 1rem;
    border-left: 4px solid #a67c52;
    font-weight: 600;
    font-style: italic;
}

.blog-posts {
    max-width: 960px;
    margin: 0 auto 4rem auto;
}

.blog-posts h2 {
    margin-bottom: 1.5rem;
}

.blog-posts__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.5rem;
}

/* Carte article */
.blog-card {
    width: 100%;
    height: 100%;
    background: #ffffff;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.blog-card__image {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}

.blog-card__content {
    padding: 1.25rem;
}

.blog-card__category,
.article-card-category {
    font-size: 0.85rem;
    font-weight: 700;
    color: #6aa84f;
    margin-bottom: 0.5rem;
}

/* Ancien lien "Lire l'article" si encore utilisé ailleurs */
.blog-card__link {
    display: inline-block;
    margin-top: 1rem;
    font-weight: 700;
}

/* Lien global de la carte */
a.article-card-link,
a.article-card-link:link,
a.article-card-link:visited,
a.article-card-link:hover,
a.article-card-link:focus,
a.article-card-link:active {
    display: block;
    width: 100%;
    height: 100%;
    color: inherit !important;
    text-decoration: none !important;
}

/* Empêche les textes internes d'être affichés comme des liens */
a.article-card-link h1,
a.article-card-link h2,
a.article-card-link h3,
a.article-card-link h4,
a.article-card-link h5,
a.article-card-link h6,
a.article-card-link p,
a.article-card-link span,
a.article-card-link div {
    color: inherit !important;
    text-decoration: none !important;
}

/* On force la couleur verte de la catégorie */
a.article-card-link .article-card-category,
a.article-card-link .blog-card__category {
    color: #6aa84f !important;
    text-decoration: none !important;
}

/* Effet au survol */
a.article-card-link:hover .blog-card {
    transform: translateY(-3px);
    box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.12);
}

/* Détail article */
.blog-detail__hero {
    width: 100%;
    height: 420px;
    overflow: hidden;
}

.blog-detail__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.blog-detail__content {
    max-width: 780px;
    margin: 0 auto;
}

.blog-detail__category {
    color: #6aa84f;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.blog-detail__title {
    font-size: clamp(2rem, 5vw, 3.5rem);
    line-height: 1.1;
    margin-bottom: 1rem;
}

.blog-detail__date {
    color: #6f6f6f;
    margin-bottom: 2rem;
}

.blog-detail__excerpt {
    font-size: 1.2rem;
    line-height: 1.7;
    font-weight: 500;
    margin-bottom: 2rem;
}

.blog-detail__body {
    font-size: 1.05rem;
    line-height: 1.85;
}

.blog-detail__body h2 {
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    font-size: 2rem;
    font-weight: 700;
}

.blog-detail__body p {
    margin-bottom: 1.5rem;
    line-height: 1.9;
}

.blog-detail__body ul {
    padding-left: 1.5rem;
    margin-bottom: 2rem;
}

.blog-detail__body blockquote {
    padding-left: 1.5rem;
    border-left: 4px solid #b58a5a;
    font-style: italic;
    color: #5f5f5f;
}

.blog-detail__tags {
    margin-top: 3rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.blog-detail__tag {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 0.9rem;
    font-weight: 500;
    color: #1d2b3a;
    transition: transform 0.2s ease;
}

.blog-detail__tag:hover {
    transform: translateY(-2px);
}

.blog-detail__back {
    display: inline-block;
    margin-top: 3rem;
    font-weight: 700;
}

.article-image {
    margin: 3rem 0;
}

.article-image img {
    width: 100%;
    border-radius: 1.25rem;
    display: block;
}

.article-image--center {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}