.blog .container {

    max-width: 164rem;

    width: 100%;

    margin: auto;

    padding-inline: var(--gutter);

}



.blog .inner-sec {

    padding: 6rem 0;

}



.blog .cards {

    display: grid;

    grid-template-columns: 1fr 1fr 1fr;

    gap: clamp(2rem, calc(20px + (80 - 20) * var(--vw-desktop-range)), 8rem);

    margin: clamp(2rem, calc(20px + (80 - 20) * var(--vw-desktop-range)), 8rem) 0 0 0;

}



.blog .card {

    padding: 2rem 3rem 3rem 3rem;

    border-top: .5rem solid var(--blue);

    border-left: 1px solid var(--lightgray);

    -webkit-box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.15);

    box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.15);

    max-width: 48rem;

    width: 100%;

}



.blog .card figure {

    max-width: 42rem;

    width: 100%;

}



.blog .card figure img {

    width: 100%;

    height: auto;

}



.blog .card p {

    font-size: clamp(1.8rem, calc(18px + (24 - 18) * var(--vw-desktop-range)), 2.4rem);

    line-height: clamp(2.6rem, calc(26px + (50 - 26) * var(--vw-desktop-range)), 5rem);

    letter-spacing: 1px;

    margin: 3rem 0 0 0;

}



.blog .card p.date {

    font-size: clamp(1.8rem, calc(18px + (24 - 18) * var(--vw-desktop-range)), 2.4rem);

    line-height: clamp(2.6rem, calc(26px + (50 - 26) * var(--vw-desktop-range)), 5rem);

    font-weight: 400;

    letter-spacing: 1px;

}



.blog .card h5 {

    font-size: 3.2rem;

    font-weight: 500;

    line-height: 5rem;

    letter-spacing: 1px;

}



.blog .card .btn {

    background: var(--black);

    color: var(--white);

    padding: 1.6rem 2rem;

    font-size: 1.8rem;

    letter-spacing: 0;

    margin: 4rem 0 0 0;

    display: flex;

    width: fit-content;

    margin-left: auto;

    transition: .3s;

    align-items: center;

}

.blog .card .btn:hover {

    background: var(--lightblue);

}



.blog .card .btn svg {

    padding-left: 1.2rem;

    width: 3rem;

    height: 2rem;

}



.news-list-container {

    padding: clamp(2.4rem, calc(24px + (40 - 24) * var(--vw-desktop-range)), 4rem) clamp(1.6rem, calc(16px + (30 - 16) * var(--vw-desktop-range)), 3rem);

    max-width: 166rem;
    /* inchangé */

    width: 100%;

    display: flex;

    gap: clamp(4rem, calc(40px + (80 - 40) * var(--vw-desktop-range)), 8rem);

    margin: auto;

}



.news-list-container .left {

    max-width: clamp(80rem, calc(800px + (1040 - 800) * var(--vw-desktop-range)), 104rem);

    width: 100%;

    /* padding-top: clamp(3.5rem, calc(35px + (60 - 35) * var(--vw-desktop-range)), 6rem); */

}



.news-list-container .right {

    max-width: clamp(28rem, calc(280px + (480 - 280) * var(--vw-desktop-range)), 48rem);

    width: 100%;

}

.news-list-container img {

    width: 100%;

    height: auto;

}





.all-news a dt dd:first-of-type {

    font-weight: 700;

    font-size: 2rem;

    line-height: 4rem;

}

.all-news a dt dd:last-of-type {

    font-weight: 700;

    font-size: 2.4rem;

    line-height: 5rem;

}

.news-list-container.all-news .left .container a {

    padding: 4.5rem 2rem;

    line-height: 0;

    display: block;

    border-bottom: 1px solid var(--black);

    position: relative;

    z-index: 10;

}

.news-list-container.all-news .left .container a::before {

    content: "";

    background: var(--lightblue);

    width: 0;

    height: 100%;

    position: absolute;

    inset: 0 auto auto 0;

    transition: .3s;

}

.news-list-container.all-news .left .container a:hover {

    color: var(--black);

}

.news-list-container.all-news .left .container a:hover::before {

    width: 100%;

}

.news-list-container.all-news .left .container a:first-of-type {

    /* border-top: 1px solid var(--black); */

}

.news-list-container.all-news .left .container a dl {
    /* display: grid;
    grid-template-columns: 10rem 16rem 1fr;
    justify-content: center; */
    display: flex;
    justify-content: flex-start;
    gap: 4rem;
    align-items: flex-start;
    position: relative;
    z-index: 15;
}

.news-list-container.all-news .left .container a dl .news-cat {

    display: flex;

    align-items: center;

    justify-content: center;

    height: 4rem;

    color: var(--white);
    padding: 0 1rem;
    text-align: center;
    /* width: max-content; */
    width: unset;
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: clamp(1.65rem, calc((15px + (24 - 15) * var(--vw-desktop-range)) * 1.1), 2.4rem);
}

.news-list-container.all-news .left .container a dl dd:last-child {
    flex: 1 1 auto;
    min-width: 0;
    /* IMPORTANT pour permettre le wrap correctement */
}

.news-list-container.all-news .left .container a dl .news-cat+dd {
    /* margin-left: 4rem; */
    line-height: clamp(2rem, calc(20px + (40 - 20) * var(--vw-desktop-range)), 4rem);
}

.news-list-container.all-news time {

    padding: 0;

    text-align: center;

}



/*

* ARCHIVES DROPDOWN

*/
.archive-accordion {
    margin-bottom: 5rem;
    margin-top: 4rem;
}

.archive-title {

    cursor: pointer;

    padding: 0 2rem 2rem 2rem;

    border-bottom: 0.5rem solid var(--blue);
    /* soulignement bleu */

    display: flex;

    align-items: center;

    justify-content: space-between;

}



/* Chevron */

.archive-title::after {

    content: "";

    display: inline-block;

    width: 1.6rem;

    height: 1.6rem;

    border-right: 4px solid var(--black);

    border-bottom: 4px solid var(--black);

    transform: rotate(45deg);

    transition: transform 0.25s ease;

}



.archive-title.is-open::after {

    transform: rotate(-135deg);

}



.archive-title {

    font-size: clamp(1.8rem, calc(18px + (24 - 18) * var(--vw-desktop-range)), 2.4rem);

    line-height: clamp(2.6rem, calc(26px + (50 - 26) * var(--vw-desktop-range)), 5rem);

}



.archive-list li {

    border-bottom: 1px solid var(--black);

    list-style: none;

}



.archive-list li:last-child {

    border-bottom: 1px solid var(--black);

}



.archive-list li a {

    display: block;

    color: var(--black);

    text-decoration: none;

    font-size: clamp(1.8rem, calc(18px + (24 - 18) * var(--vw-desktop-range)), 2.4rem);

    line-height: clamp(2.6rem, calc(26px + (50 - 26) * var(--vw-desktop-range)), 5rem);

    padding: 2rem 0 2rem 2rem;

}



.archive-list.is-closed {

    display: none;

}



.back-to .btn,
.prev-link,
.next-link {

    text-decoration: underline;

    font-size: clamp(1.8rem, calc(18px + (24 - 18) * var(--vw-desktop-range)), 2.4rem);

    line-height: clamp(2.6rem, calc(26px + (50 - 26) * var(--vw-desktop-range)), 5rem);

}

.prev-link,
.next-link {

    display: flex;

    align-items: center;

    gap: 1rem;

}

.prev-link img,
.next-link img {

    max-width: 2.4rem;

}

.pagination {

    margin: 10rem auto 15rem;

    padding: 5rem 0 0 0;

    display: flex;

    gap: 12rem;

    border-top: 1px solid var(--black);

    justify-content: center;

}

.all-news .pagination {

    border: none;

    margin: 1rem auto 15rem;

}

.pagination .back-to {

    display: flex;

    gap: 1rem;

}

.pagination .next-link,

.pagination .prev-link {

    font-weight: 600;

    font-size: clamp(1.8rem, calc(18px + (24 - 18) * var(--vw-desktop-range)), 2.4rem);

    line-height: clamp(2.6rem, calc(26px + (50 - 26) * var(--vw-desktop-range)), 5rem);

    text-decoration: none;

}

.news-list-container .pagination .next-link,

.news-list-container .pagination .prev-link {

    text-decoration: underline;

}



.pagination .page-numbers {

    width: 4rem;

    color: var(--white);

    background: var(--black);

    font-weight: 400;

    font-family: "Jost", system-ui, -apple-system, Segoe UI, Roboto,

        Helvetica, Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;

    height: 4rem;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

}

.pagination .page-numbers.current {

    background: var(--lightgray);

    color: var(--black);

    font-weight: 600;

    font-size: clamp(1.8rem, calc(18px + (24 - 18) * var(--vw-desktop-range)), 2.4rem);

    line-height: clamp(2.6rem, calc(26px + (50 - 26) * var(--vw-desktop-range)), 5rem);

}

.pagination .next.page-numbers,

.pagination .prev.page-numbers {

    display: none;

}

.content p,
li,
a {

    font-size: clamp(1.65rem, calc((15px + (24 - 15) * var(--vw-desktop-range)) * 1.1), 2.64rem);

    line-height: clamp(2.6rem, calc(26px + (50 - 26) * var(--vw-desktop-range)), 5rem);

}

.content li {

    margin-left: clamp(1.5rem, calc(15px + (30 - 15) * var(--vw-desktop-range)), 3rem);

}

.content p,
ul {

    /* margin-bottom: 6rem; */

}

.news-list-container time {

    font-size: clamp(1.65rem, calc((15px + (24 - 15) * var(--vw-desktop-range)) * 1.1), 2.64rem);

    line-height: clamp(2.6rem, calc(26px + (50 - 26) * var(--vw-desktop-range)), 5rem);

    padding: clamp(2rem, calc(20px + (40 - 20) * var(--vw-desktop-range)), 4rem);

    font-weight: 400;

}

.content a {

    text-decoration: underline;

}

.content h2 {

    font-size: clamp(3rem, calc(30px + (56 - 30) * var(--vw-desktop-range)), 5.6rem);

    line-height: clamp(4rem, calc(40px + (70 - 40) * var(--vw-desktop-range)), 7rem);

    padding-left: clamp(1.6rem, calc(16px + (34 - 16) * var(--vw-desktop-range)), 3.4rem);

    position: relative;

    /* margin-bottom: 6rem; */

}

.content h2::before {

    content: "";

    position: absolute;

    left: 0;

    width: clamp(1rem, calc(10px + (20 - 10) * var(--vw-desktop-range)), 2rem);

    height: clamp(0.4rem, calc(4px + (8 - 4) * var(--vw-desktop-range)), 0.8rem);

    top: clamp(2rem, calc(20px + (34 - 20) * var(--vw-desktop-range)), 3.4rem);

    background: var(--blue);

}

.content h3 {

    font-size: clamp(2.4rem, calc(24px + (40 - 24) * var(--vw-desktop-range)), 4rem);

    line-height: clamp(3rem, calc(30px + (60 - 30) * var(--vw-desktop-range)), 6rem);

    /* margin-bottom: 4rem; */

}

.content img {

    /* margin-bottom: 8rem;

    margin-top: 8rem; */

}

.content img+img {

    /* margin-top: 6rem; */

}

@media screen and (min-width: 1026px) {
    .news-list-container .right {
        margin-bottom: clamp(2.4rem, calc(24px + var(--vw-desktop-range) * 16), 4rem);
    }
}





@media screen and (max-width: 1025px) {

    .blog .cards {

        grid-template-columns: 1fr 1fr;

        margin: clamp(4.5rem, calc(45px + (80 - 45) * var(--vw-desktop-range)), 8rem) 0 0 0;

    }

    .blog .cards .card p {

        font-size: 1.5rem;

        line-height: 3rem;

        margin-top: 1rem;

    }

    .blog .cards .card h5 {

        font-size: 1.8rem;

        line-height: 3rem;

    }

    .blog .cards .card .btn {

        font-size: 1.4rem;

        align-items: center;

        line-height: 1;

    }

    .news-list-container .right {

        /* display: none; */

        width: 100%;

        max-width: none;

        margin-bottom: 10rem;

    }

    .news-list-container {

        flex-direction: column;

    }

    .news-list-container .left {

        max-width: none;


    }

    .blog .inner-sec {

        margin-top: 0;

    }

    .news-list-container.all-news .left .container {

        padding-inline: 0;

    }

    .news-list-container.all-news .left .container a {

        padding: 1rem;

    }

    .news-list-container.all-news .left .container a dl {
        display: grid;
        grid-template-columns: 1fr;

        grid-template-rows: 1fr 1fr;

        gap: 1rem;

    }

    .news-list-container.all-news .left .container a dl .news-cat {

        width: fit-content;

    }

    .news-list-container.all-news .left .container a dl dd {

        grid-column: span 5;
        line-height: clamp(2.6rem, calc(26px + (50 - 26) * var(--vw-desktop-range)), 5rem);

    }

    .news-list-container.all-news .left .container a dl dt,
    .news-list-container.all-news .left .container a dl .news-cat {
        grid-row: 1;
        align-self: baseline;
    }

    .content p,

    .content li,

    .content a {

        font-size: clamp(1.4rem, calc(14px + (18 - 14) * var(--vw390)), 1.8rem);

        line-height: clamp(2.2rem, calc(22px + (30 - 22) * var(--vw390)), 3rem);

    }



    .content li {

        margin-left: clamp(1.4rem, calc(14px + (24 - 14) * var(--vw390)), 2.4rem);

    }



    .news-list-container time {

        font-size: clamp(1.4rem, calc(14px + (18 - 14) * var(--vw390)), 1.8rem);

        line-height: clamp(2.2rem, calc(22px + (30 - 22) * var(--vw390)), 3rem);

        padding: clamp(1.6rem, calc(16px + (28 - 16) * var(--vw390)), 2.8rem);

    }



    .content h2 {

        font-size: clamp(2.2rem, calc(22px + (30 - 22) * var(--vw390)), 3rem);

        line-height: clamp(3rem, calc(30px + (40 - 30) * var(--vw390)), 4rem);

        padding-left: clamp(1.6rem, calc(16px + (24 - 16) * var(--vw390)), 2.4rem);

    }



    .content h2::before {

        width: clamp(1rem, calc(10px + (16 - 10) * var(--vw390)), 1.6rem);

        height: clamp(0.3rem, calc(3px + (6 - 3) * var(--vw390)), 0.6rem);

        top: clamp(1.6rem, calc(16px + (26 - 16) * var(--vw390)), 2.6rem);

    }



    .content h3 {

        font-size: clamp(1.8rem, calc(18px + (24 - 18) * var(--vw390)), 2.4rem);

        line-height: clamp(2.4rem, calc(24px + (34 - 24) * var(--vw390)), 3.4rem);

    }



    .content img {

        margin-top: clamp(2rem, calc(20px + (40 - 20) * var(--vw390)), 4rem);

        margin-bottom: clamp(2rem, calc(20px + (40 - 20) * var(--vw390)), 4rem);

    }



    .content img+img {

        margin-top: clamp(1.2rem, calc(12px + (24 - 12) * var(--vw390)), 2.4rem);

    }

    .post-modal__thumb {

        margin: 0 auto clamp(1rem, calc(10px + (20 - 10) * var(--vw390)), 2rem);

        max-width: clamp(28rem, calc(280px + (500 - 280) * var(--vw390)), 50rem);

        width: 100%;

        height: clamp(22rem, calc(220px + (380 - 220) * var(--vw390)), 38rem);

        max-height: clamp(32rem, calc(320px + (520 - 320) * var(--vw390)), 52rem);

        display: flex;

        align-items: center;

        justify-content: center;

        overflow: hidden;

    }

    .news-list-container.all-news .left .container a dl .news-cat+dd {
        margin-left: 0;
    }

    .news-list-container.all-news .left .container a dl .news-cat {
        font-size: 1.4rem;
        height: 3rem;
    }

}

@media screen and (max-width: 768px) {

    .pagination {

        display: grid;

        grid-template-columns: 1fr;

        grid-template-rows: 1fr 1fr 1fr;

        gap: 2rem;

        align-items: center;

        justify-content: center;

        align-content: center;

        justify-items: center;

    }

    .all-news .pagination {

        border: none;

        margin: 1rem auto 2.5rem;

    }

}

@media screen and (max-width: 565px) {

    .blog .cards {

        grid-template-columns: 1fr;

    }

}









/* Empêcher le scroll quand la modal est ouverte */

body.modal-open {

    overflow: hidden;

}



/* Container général de la modal */

.btn.js-open-post-modal {

    cursor: pointer;

}

.post-modal {

    position: fixed;

    inset: 0;

    z-index: 9999;

    display: flex;

    align-items: center;

    justify-content: center;

    opacity: 0;

    pointer-events: none;

    transition: opacity 0.3s ease;

}



/* Visible + cliquable */

.post-modal.is-open {

    opacity: 1;

    pointer-events: auto;

}



/* Overlay sombre */

.post-modal__overlay {

    position: absolute;

    inset: 0;

    background: rgba(0, 0, 0, 0.5);

}



/* Boîte de dialogue */

.post-modal__dialog {

    position: relative;

    max-width: 800px;

    width: 90%;

    background: #fff;

    /* border-radius: 8px; */

    padding: 3rem;

    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);

    z-index: 1;



    /* animation d’apparition */

    transform: translateY(20px);

    opacity: 0;

    transition:

        transform 0.3s cubic-bezier(.2, .7, .2, 1),

        opacity 0.3s cubic-bezier(.2, .7, .2, 1);

}



/* Quand la modal est ouverte : fade + slide vers le haut */

.post-modal.is-open .post-modal__dialog {

    transform: translateY(0);

    opacity: 1;

}



/* Bouton de fermeture */



/* Navigation flèches */

.post-modal__nav {

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    border: none;

    background: var(--black);

    width: clamp(2.4rem, 1.5vw, 4rem);

    height: clamp(4rem, 3.2vw, 8rem);

    /* border-radius: 50%; */

    border-radius: 0;

    cursor: pointer;

    font-size: clamp(1.4rem, 1.25vw, 2.4rem);

    line-height: 1;

    display: flex;

    align-items: center;

    justify-content: center;

    transition: .3s;

    color: var(--white);

}

.post-modal__nav:hover {

    opacity: 1;

    background: var(--lightblue);

    color: var(--black);

}



.post-modal__nav--prev {

    left: 0;

}



.post-modal__nav--next {

    right: 0;

}



/* État désactivé (début/fin) */

.post-modal__nav.is-disabled {

    opacity: 0.3;

    cursor: default;

    pointer-events: none;

}



/* Contenu */

.post-modal__content {
    max-width: 96rem;
    margin: 0 auto;
}

.post-modal__thumb {

    margin: 0 auto 2rem;

    max-width: 65.2rem;

    width: 100%;

    height: 50vh;

    max-height: 87rem;



    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

}



.post-modal__thumb img {

    width: 100%;

    height: 100%;

    object-fit: contain;

    display: block;

}



.post-modal__title {

    font-size: 2.2rem;

    margin-bottom: 1.5rem;

}



.post-modal__excerpt {

    font-size: 1.6rem;

    line-height: 1.8;

}



/* Responsive */

@media (max-width: 768px) {

    .post-modal__dialog {

        padding: 2rem;

        margin: 0 1.5rem;

    }



    .post-modal__title {

        font-size: 1.9rem;

    }



    .post-modal__excerpt {

        font-size: 1.4rem;

    }



    .post-modal__nav {

        width: 3rem;

        height: 3rem;

        font-size: 2rem;

    }



    .post-modal__nav--prev {

        left: 0.8rem;

    }



    .post-modal__nav--next {

        right: 0.8rem;

    }

}