.article_header {
   padding-top: 3rem;
   padding-bottom: 3rem;
   background: linear-gradient(to bottom right, #F9FAFB, #FFFFFF);
}

.cta_box {
    background: linear-gradient(135deg, #1F1B2E 0%, #2D2640 100%);
    color: white;
    padding: 1rem 2.5rem 2.5rem 2.5rem;
    border-radius: 16px;
    margin: 3rem 0;
    text-align: center;
}

.cta_box h3 {

    font-size: 1.5rem;

    font-weight: 800;

    margin-bottom: 1rem;

    color: white;

}

.cta_box p {

    color: #E2E8F0;

    margin-bottom: 1.5rem;

    font-size: 1.05rem;

}

.cta_btn {

    display: inline-block;

    background: white;

    color: #1F1B2E;

    padding: 16px 36px;

    border-radius: 8px;

    font-weight: 700;

    text-decoration: none;

    transition: all 0.2s;

    font-size: 1rem;

    border: none;

}

.cta_btn:hover {

    transform: translateY(-2px);

    box-shadow: 0 10px 25px rgba(255, 255, 255, 0.3);

    background: #F3F4F6;

}

/* Tablette ≤ 1024px */

@media (max-width: 1024px) {

    .cta_box {

        padding: 1.25rem;

        margin: 2rem 0;

    }

    .cta_box h3 { font-size: 1.2rem; }

    .cta_box p { font-size: 0.95rem; }

    .cta_btn {

        padding: 14px 20px;

        font-size: 0.9rem;

        width: 100%;

        text-align: center;

        display: block;

    }

}

/* Mobile ≤ 768px */

@media (max-width: 768px) {

    .cta_box { padding: 1.25rem; }

    .cta_box h3 { font-size: 1.25rem; }

    .cta_box p { font-size: 0.95rem; }

    .cta_btn {

        padding: 14px 24px;

        font-size: 0.9rem;

        width: 100%;

        text-align: center;

    }

}
 
/* Base */

.share_buttons {

    display: flex;

    gap: 12px;

    margin: 2rem 0;

}

.share_btn {

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 10px 16px;

    border-radius: 8px;

    font-weight: 600;

    font-size: 0.9rem;

    text-decoration: none;

    transition: all 0.2s;

    border: none;

    cursor: pointer;

}

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

.share_btn.linkedin { background: #0077B5; color: white; }

.share_btn.twitter  { background: #1DA1F2; color: white; }

.share_btn.copy {

    background: #F3F4F6;

    color: #374151;

    border: 1px solid #E5E7EB;

}

.share_btn.copy:hover { background: #E5E7EB; }

/* Tablette ≤ 1024px */

@media (max-width: 1024px) {

    .share_buttons {

        flex-direction: column;

        gap: 8px;

        margin: 1.5rem 0;

    }

    .share_btn {

        width: 100%;

        justify-content: center;

    }

}

/* Mobile ≤ 768px */

@media (max-width: 768px) {

    .share_buttons {

        flex-wrap: wrap;

        justify-content: center;

    }

    .share_btn {

        flex: 1;

        min-width: 100px;

        justify-content: center;

    }

}
 
/* Base */

.author_box {

    display: flex;

    gap: 20px;

    padding: 2rem;

    background: #F9FAFB;

    border-radius: 12px;

    margin: 3rem 0;

}

.author_avatar_large {

    width: 80px;

    height: 80px;

    border-radius: 50%;

    flex-shrink: 0;

    overflow: hidden;

}

.author_avatar_large img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.author_avatar_small {

    width: 48px;

    height: 48px;

    border-radius: 50%;

    overflow: hidden;

    flex-shrink: 0;

}

.author_avatar_small img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.author_info h4 {

    font-size: 1.1rem;

    font-weight: 700;

    color: #1F1B2E;

    margin-bottom: 4px;

}

.author_info .role {

    color: #7B6D98;

    font-weight: 600;

    font-size: 0.9rem;

    margin-bottom: 8px;

}

.author_info p {

    font-size: 0.95rem;

    color: #6B7280;

    line-height: 1.6;

    margin: 0;

}

/* Tablette ≤ 1024px */

@media (max-width: 1024px) {

    .author_box {

        flex-direction: column;

        align-items: center;

        text-align: center;

        padding: 1.5rem 1rem;

        margin: 2rem 0;

    }

}

/* Mobile ≤ 768px */

@media (max-width: 768px) {

    .author_box {

        flex-direction: column;

        align-items: center;

        text-align: center;

        padding: 1.5rem;

    }

}
 