/* Typographie des titres */
#page-de-page :is(h1, h2, h3, h4, h5, h6) {
    font-family: 'Karma', serif;
    font-weight: 500;
    line-height: 1.3;
}

/* Échelle fluide responsive */
#page-de-page h1 {
    font-size: 1.75rem;
    font-weight: 400;
}

#page-de-page h2 {
    font-size: 1.5625rem;
    font-weight: 500;
}

#page-de-page h3 {
    font-size: 1.25rem;
    font-weight: 500;
}

/* Paragraphes */
#page-de-page p:not(.chapo):not(.caption):not(.citation):not(.pdb-fr-quote__author):not(.apercu-contenu__title):not(.bloc_telechargement__title) {
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
    color: #2E2E2E !important;
    font-weight: 300 !important;
}


.full-content {
    background-color: #f2f2f2;
}

/* =========================
   TYPOGRAPHIE
========================= */
h2 {
    font-family: Karma !important;
    font-size: 1.5625rem !important;
    font-weight: 500 !important;
    line-height: 1.875rem !important;
}

.chapo {
    font-family: 'Karma' !important;
    color: #000 !important;
    font-size: 2.5rem !important;
    line-height: 3.125rem !important;
    font-weight: 400 !important;
    /* text-align: justify !important; */
}



.titre-bleu {
    color: #132A67 !important;
    font-size: 1.875rem !important;
    font-weight: 500 !important;
    margin-bottom: 0 !important;
    line-height: 1.5625rem !important;
}

.cat_actu,
.act_date {
    display: inline !important;
    font-size: 0.75rem !important;
    line-height: 1.25rem !important;
    font-family: Montserrat, Arial, sans-serif !important;
    font-weight: 400 !important;
}

.cat_actu {
    color: #A92931 !important;
}

.act_date {
    color: #132A67 !important;
}

/* =========================
   IMAGES
========================= */
img,
picture {
    max-width: 100%;
    height: auto;
    vertical-align: top;
    
}

.texte-riche img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.texte-riche figcaption {
    text-align: center;
    color: #666;
    font-size: 0.9rem;
    font-family: 'Montserrat', "Arial", sans-serif;
    font-weight: 300;
    line-height: 1.5625rem;
}

/* =========================
   LIENS
========================= */
a::after {
    content: none !important;
    font-size: 1.2rem;
    transition: transform 0.3s ease;
}

a.fr-link {
    font-family: Montserrat, Arial, sans-serif;
    font-size: 1rem;
    color: #000091;
}

/* =========================
   LIENS SUR FOND BLANC
========================= */
.liens-fond-blanc {
    background: #fff;
    padding: 30px;
    margin: 30px 0;
    border-radius: 3px;
}

.liens-fond-blanc a {
    text-decoration: none;
    align-items: center;
    color: #000;
    display: flex;
    font-family: 'Karma';
    font-size: 2.3rem;
    font-weight: 400;
    justify-content: space-between;
    padding: 5px;
    transition: color 0.4s;
    border-radius: 3px;
}

.pdb-liens_sur_fond_blanc__links {
    background-color: #fff;
    border-radius: 3px !important;
}

.pdb-liens_sur_fond_blanc__links .fr-link {
    text-decoration: none;
    background-image: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.pdb-liens_sur_fond_blanc__links a {
    color: #000;
    font-family: 'Karma';
    font-size: 1.375rem;
    font-weight: 400;
    line-height: 2.0625rem;
}

.pdb-liens_sur_fond_blanc__links a.fr-link[target="_blank"] {
    position: relative;
    justify-content: space-between;
    padding-right: 1.8rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 2.2rem;
}

.pdb-liens_sur_fond_blanc__links a.fr-link[target="_blank"]::after {
    content: "";
    width: 1.8rem;
    height: 1.8rem;
    display: inline-block;
    background-repeat: no-repeat;
}

.fr-icon--lg::before {
    width: 2rem !important;
    height: 3rem !important;
    font-size: 1.6rem !important;
    font-weight: 100 !important;
}

/* =========================
   BLOC TÉLÉCHARGEMENT
========================= */
.bloc_telechargement,
.bloc_telechargement__file {
    background-color: #fff;
    border-radius: 3px;
}


.bloc_telechargement__file .btn {
    width: 250px;
}

.bloc_telechargement-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 40px;
}

.bloc_telechargement__title,
.apercu-contenu__title {
    font-family: 'Karma' !important;
    font-weight: 400 !important;
    line-height: 2.5rem !important;
    margin-bottom: 20px !important;
    color: black !important;
}

.apercu-contenu__title {
    font-size: 1.5625rem !important;
    line-height: 1.875rem !important;
}

.fr-link-contenu {
    font-size: 12px !important;
    line-height: 25px !important;
    font-weight: 400 !important;
    font-family: Montserrat, Arial, sans-serif !important;
    color: rgb(19, 42, 103);
}

.bloc_telechargement__title {
    font-size: 1.83rem !important;
}

.bloc_telechargement__image,
.apercu-contenu__image {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    max-width: 200px;
    text-align: center;
}

.bloc_telechargement__image {
    border-right: 2px solid #F2F2F2;
}

.bloc_telechargement__image img{
    max-height: 215px;
}


.apercu-contenu-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* =========================
   BOUTONS
========================= */
.btn {
    font-size: 12px;
    font-weight: 400;
}

.btn.two-tones {
    background-color: #fff;
    padding: 0;
}

.btn.two-tones::after {
    display: none;
}

.btn.two-tones>* {
    align-items: center;
    display: flex;
    height: inherit;
    justify-content: center;
}

.btn.two-tones .icon {
    background: #0D7BC6;
    font-size: 20px;
    border-radius: 3px 0 0 3px;
    flex-shrink: 0;
    width: 70px;
}

.btn.two-tones .bg-lightblue,
.btn.two-tones .icon {
    border-radius: 3px 0 0 3px;
    flex-shrink: 0;
    width: 70px;
}

.btn.two-tones .bg-darkblue,
.btn.two-tones .link-title {
    border-radius: 0 3px 3px 0;
    flex-grow: 1;
    position: relative;
    z-index: 1;
    text-transform: uppercase;
}

.btn.two-tones .link-title {
    transition: color 0.4s, background-color 0.4s;
}

.btn.two-tones .bg-darkblue::before,
.btn.two-tones .link-title::before {
    background: #0D7BC6;
    bottom: 0;
    content: '';
    left: 0;
    position: absolute;
    top: 0;
    transition: all 0.4s;
    width: 0;
    z-index: -1;
}

.btn.two-tones:hover .link-title::before {
    width: 100%;
}

.btn,
.btn.two-tones .bg-darkblue,
.btn.two-tones .link-title,
.btn a {
    transition: color 0.4s, background-color 0.4s;
}

.file .btn {
    height: 60px;
}

.file .btn .icon {
    font-size: 24px;
}

.file .btn .link-title {
    display: flex;
    flex-direction: column;
    background-color: #132A67;
}

.fr-btn {
    --hover-tint: var(--hover);
    --idle: transparent;
    --hover: var(--background-action-high-blue-france-hover);
    --active: var(--background-action-high-blue-france-active);
    align-items: center;
    padding-left: 0;
}

/* =========================
   CITATION
========================= */
.pdb-fr-quote {
    border-left: 2px solid #A92931;
    margin: 40px 0;
    padding: 35px 10px 35px 45px !important;
    background: transparent;
    font-family: 'Karma', serif;
    position: relative;
    width: fit-content;

}

.pdb-fr-quote::before,
.pdb-fr-quote::after {
    display: none !important;
}

.pdb-fr-quote__line {
    position: absolute;
    left: -2px;
    width: 13%;
    height: 2px;
    background: #A92931;
    display: block;
}

.pdb-fr-quote__line--top {
    top: 0;
}

.pdb-fr-quote__line--bottom {
    bottom: 0;
}

.pdb-fr-quote blockquote {
    margin: 0;
    padding: 0;
    width: 100%;
}

.pdb-fr-quote blockquote p {
    color: #000 !important;
    font-family: 'Karma' !important;
    font-size: 2.1875rem !important;
    font-weight: 400 !important;
    line-height: 3.125rem !important;
    margin: 0 !important;
    word-break: break-word;
}

.pdb-fr-quote figcaption {
    margin-top: 0.5rem;
    width: 100%;
}

.pdb-fr-quote .pdb-fr-quote__author {
    font-style: italic !important;
    font-weight: 300 !important;
    font-size: clamp(12px, 1.5vw, 14px) !important;
    color: #666;
    margin: 15px 0 0 0;
    font-family: 'Montserrat', "Arial", sans-serif;
}

/* =========================
   VIDEO
========================= */
.video-embed iframe {
    width: 100% !important;
}

/* =========================
   CAROUSEL
========================= */



/* =========================
   RESPONSIVE
========================= */
@media (min-width: 1059px) {
    .custom-lg {
        flex: 1 0 40.3333% !important;
        max-width: 60.3333% !important;
        margin-left: 40%;
    }

}

@media (max-width: 1059px) {


    h2 {
        font-size: 1.5625rem !important;
        font-weight: 500 !important;
        line-height: 1.875rem !important;
    }

    .chapo {
        font-size: 1.75rem !important;
        line-height: 2.1875rem !important;

    }

    #page-de-page p:not(.chapo):not(.caption):not(.citation):not(.pdb-fr-quote__author):not(.apercu-contenu__title):not(.bloc_telechargement__title) {
        font-size: 0.875rem !important;
        font-weight: 400 !important;
        line-height: 1.5625rem !important;
    }

    .pdb-fr-quote blockquote p {
        font-size: 1.25rem !important;
        line-height: 1.5625rem !important;
        font-weight: 400 !important;
    }

    .pdb-fr-quote__line {


        left: -2px;
        width: 8%;

    }

    .pdb-fr-quote__author {
        font-size: 0.875rem !important;
    }

    .pdb-fr-quote {
        padding: 30px 0px 15px 30px !important;
    }

    #page-de-page .pdb-liens_sur_fond_blanc__links {
        padding-top: 1.875rem !important;
        padding-bottom: 1.5625rem !important;
    }

    .pdb-liens_sur_fond_blanc__links a {
        font-size: 1.125rem !important;
    }

    #page-de-page .fr-icon--lg::before {
        width: 2rem !important;
        height: 3rem !important;
        font-size: 1.6rem !important;
        font-weight: 100 !important;
    }

    .bloc_telechargement__image {
        display: none !important;
    }

    .btn.two-tones .icon,
    .link-title {
        color: #2e2e2e !important;
        background: none !important;
    }

    .file .btn .link-title,
    .file-info {
        display: flex !important;
        flex-direction: row !important;
        background-color: transparent !important;
    }

    .file-info {
        width: 200px;
    }

    .link-title {
        font-family: Montserrat, Arial, sans-serif !important;
        font-size: 0.75rem !important;
        font-weight: 400 !important;
        line-height: 0.75rem !important;
    }


    /* .apercu-contenu__image {
        margin-left: 3%;
    } */

    #page-de-page .apercu-contenu-content {
    padding-left: 0 !important;
    }

    .apercu-contenu,
    .apercu-contenu-content p {

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        text-align: center !important;
       
    }
    

    .apercu-contenu__title {
        font-size: 1.5625rem !important;
        line-height: 1.875rem !important;
        margin-top: -15px !important;
    }

    .separation {
        display: none;
    }

    .titre-bleu {
        font-size: 1.5625rem !important;
        color: rgb(19, 42, 103) !important;
    }

    .act_date,
    .cat_actu {
        margin-top: 3%;
        font-size: 0.75rem !important;
        line-height: 0.625rem !important;
    }

    a.fr-link:not(.pdb-liens_sur_fond_blanc__links a) {
        color: #132A67 !important;
        font-size: 0.75rem !important;
        font-weight: 400;
        text-decoration: underline;
        text-transform: uppercase;
        transition: color 0.4s;
        margin-top: 10px;
    }

    .bloc_telechargement__title {
        font-family: 'Karma' !important;
        font-size: 1.375rem !important;
        font-weight: 400 !important;
        line-height: 1.875rem !important;
    }

    .bloc_telechargement__file {
        background-color: #fff !important;
        border-radius: 3px !important;
        margin-top: -25px !important;
        margin-left: -20px !important;
    }

    .bloc_telechargement-content {
        padding: 20px 30px !important;
    }

    .fr-btn {
        --hover-tint: none;
        --idle: none;
        --hover: none;
        --active: none;
        align-items: center;
        padding-left: 0;
    }
}

@media (max-width: 768px) {
    .bloc-telechargement {
        flex-direction: column;
    }

    .bloc-telechargement__left,
    .bloc-telechargement__right {
        width: 100%;
        text-align: center;
        border-right: none;
    }

    .bloc-telechargement__left {
        border-bottom: 1px solid #dcdcdc;
    }

    .bloc-telechargement__btn {
        justify-content: center;
    }


}