.elementor-2291 .elementor-element.elementor-element-37247a6{--display:flex;}.elementor-2291 .elementor-element.elementor-element-fc38af9{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2291 .elementor-element.elementor-element-4acf2d4{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:46px;--margin-right:0px;}.elementor-2291 .elementor-element.elementor-element-7813b08{--display:flex;--min-height:100vh;}.elementor-2291 .elementor-element.elementor-element-671eef2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2291 .elementor-element.elementor-element-ea099a1{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2291 .elementor-element.elementor-element-d276ff6{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) -68px;padding:0px 0px 0px 0px;}.elementor-2291 .elementor-element.elementor-element-7fd6cdb{margin:22px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2291 .elementor-element.elementor-element-2b65c1e{--display:flex;--min-height:100vh;}.elementor-2291 .elementor-element.elementor-element-84140d1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2291 .elementor-element.elementor-element-0639ce0{--display:flex;}.elementor-2291 .elementor-element.elementor-element-cbd6a0f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) -68px;padding:0px 0px 0px 0px;}.elementor-2291 .elementor-element.elementor-element-8f2fc8c{margin:22px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2291 .elementor-element.elementor-element-833f8ae{--display:flex;--min-height:100vh;}.elementor-2291 .elementor-element.elementor-element-581eb5b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2291 .elementor-element.elementor-element-9f2f85f{--display:flex;}.elementor-2291 .elementor-element.elementor-element-f06eb39{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) -68px;}.elementor-2291 .elementor-element.elementor-element-572c3f7{margin:22px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2291 .elementor-element.elementor-element-3b779d2{--display:flex;--min-height:100vh;}.elementor-2291 .elementor-element.elementor-element-9877526{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2291 .elementor-element.elementor-element-a4a693a{--display:flex;}.elementor-2291 .elementor-element.elementor-element-815a37b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) -68px;}.elementor-2291 .elementor-element.elementor-element-040ba64{margin:22px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2291 .elementor-element.elementor-element-6c109c0{--display:flex;--min-height:100vh;}.elementor-2291 .elementor-element.elementor-element-258722f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2291 .elementor-element.elementor-element-23c0bc2{--display:flex;}.elementor-2291 .elementor-element.elementor-element-98e7a68{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) -68px;}.elementor-2291 .elementor-element.elementor-element-aa054e2{margin:22px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2291 .elementor-element.elementor-element-1dbf5b1{--display:flex;--min-height:100vh;}.elementor-2291 .elementor-element.elementor-element-bfcbbd0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2291 .elementor-element.elementor-element-1d19ce3{--display:flex;}.elementor-2291 .elementor-element.elementor-element-08e4e2d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) -68px;}.elementor-2291 .elementor-element.elementor-element-038bc11{margin:22px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2291 .elementor-element.elementor-element-10b28e9{--n-tabs-direction:column;--n-tabs-heading-direction:row;--n-tabs-heading-width:initial;--n-tabs-title-flex-basis:content;--n-tabs-title-flex-shrink:0;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;margin:27px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--n-tabs-title-gap:11px;--n-tabs-gap:0px;--n-tabs-title-border-radius:10px 10px 10px 10px;--n-tabs-title-padding-top:0px;--n-tabs-title-padding-right:0px;--n-tabs-title-padding-bottom:0px;--n-tabs-title-padding-left:0px;--n-tabs-title-font-size:13px;--n-tabs-title-color:#FFFFFF;--n-tabs-icon-gap:0px;}.elementor-2291 .elementor-element.elementor-element-10b28e9 > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:var( --e-global-color-a199a37 );}.elementor-2291 .elementor-element.elementor-element-10b28e9.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-13331f8 );}.elementor-2291 .elementor-element.elementor-element-10b28e9.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-2291 .elementor-element.elementor-element-10b28e9.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-13331f8 );}.elementor-2291 .elementor-element.elementor-element-10b28e9.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:not( :hover ){border-style:none;}.elementor-2291 .elementor-element.elementor-element-10b28e9.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:"Outfit", Sans-serif;font-weight:500;text-transform:uppercase;line-height:55px;word-spacing:3px;}.elementor-2291 .elementor-element.elementor-element-d7d01ff{--display:flex;}@media(min-width:768px){.elementor-2291 .elementor-element.elementor-element-4acf2d4{--content-width:100%;}}/* Start custom CSS for shortcode, class: .elementor-element-7fd6cdb *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-8f2fc8c *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-572c3f7 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-040ba64 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-aa054e2 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-038bc11 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-7fd6cdb *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-8f2fc8c *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-572c3f7 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-040ba64 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-aa054e2 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-038bc11 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-7fd6cdb *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-8f2fc8c *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-572c3f7 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-040ba64 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-aa054e2 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-038bc11 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-7fd6cdb *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-8f2fc8c *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-572c3f7 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-040ba64 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-aa054e2 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-038bc11 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-7fd6cdb *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-8f2fc8c *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-572c3f7 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-040ba64 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-aa054e2 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-038bc11 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-7fd6cdb *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-8f2fc8c *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-572c3f7 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-040ba64 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-aa054e2 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-038bc11 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-7fd6cdb *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-7fd6cdb .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-7fd6cdb .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-8f2fc8c *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-8f2fc8c .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-8f2fc8c .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-572c3f7 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-572c3f7 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-572c3f7 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-040ba64 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-040ba64 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-040ba64 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-aa054e2 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-aa054e2 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-aa054e2 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-038bc11 *//* ===== Grille ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 245px)); /* largeur carte plafonnée (~ -35%) */
    gap: 18px;
    justify-content: start;      /* colonnes calées à gauche du conteneur */
    align-items: stretch;
}
@media (max-width: 980px) { .elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap { grid-template-columns: repeat(2, minmax(0, 245px)); } }
@media (max-width: 640px) { .elementor-2291 .elementor-element.elementor-element-038bc11 .maat-df-wrap { grid-template-columns: minmax(0, 245px); } }

/* ===== Carte ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item {
    position: relative;
    background: #F2A94F;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    display: flex;
    flex-direction: column;
    transition: transform .3s ease, box-shadow .3s ease;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}

/* ===== Image ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-thumbnail img {
    width: 100%;
    height: 155px;              /* 240px → 155px */
    object-fit: cover;
    display: block;
}

/* ===== Contenu ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-content {
    padding: 14px 17px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;    /* tout le contenu calé à gauche */
    text-align: left;
    flex: 1;
}

/* ===== Titre ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-title {
    margin: 0 0 8px;
    line-height: 1.05 !important;   /* écrase l'interlignage du plugin sur le h3 */
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-title .df-archive-link {
    color: #1D2B50;
    font-size: 17px;
    line-height: 1.05 !important;   /* et sur le lien lui-même */
    display: inline-block;
    text-decoration: none;
}

/* ===== Durée ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-duration {
    color: #1D2B50;
    font-size: 14px;
}

/* ===== Prochaines dates ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-sessions-title {
    color: #1D2B50;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
    margin: 9px 0 2px;           /* titre collé au bloc dates */
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-sessions {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-session {
    color: #1D2B50;
    font-size: 13px;
    margin: 0;                    /* neutralise la marge native du plugin */
    padding: 0;
}

/* Pastille de date (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-post-session-dates {
    color: #fff;
    margin-top: 2px;              /* pastille rapprochée du titre */
    display: inline-block;
}

/* Badge Présentiel / tags (fond bleu → texte blanc) */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-tag { color: #fff; font-size: 12px; }

/* ===== Bouton "Voir le programme" ===== */
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-button {
    margin-top: auto;
    align-self: flex-start;     /* bouton aligné à gauche, même axe que les textes */
    text-align: left;
    padding-top: 12px;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-button .df-button {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    color: #1D2B50;
    border: 1.5px solid #1D2B50;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background .25s, color .25s;
}
.elementor-2291 .elementor-element.elementor-element-038bc11 .df-archive-item:hover .df-archive-button .df-button {
    background: #1D2B50;
    color: #fff;
}/* End custom CSS */
/* Start custom CSS for nested-tabs, class: .elementor-element-10b28e9 */.elementor-2291 .elementor-element.elementor-element-10b28e9 .elementor-tabs-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.elementor-2291 .elementor-element.elementor-element-10b28e9 .elementor-tab-title {
    width: 220px;
    height: 70px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px 14px;
    box-sizing: border-box;
    white-space: normal;
    float: none;
    border-radius: 8px;
    line-height: 1.3;
}

.elementor-2291 .elementor-element.elementor-element-10b28e9 .elementor-tab-title > a,
.elementor-2291 .elementor-element.elementor-element-10b28e9 .elementor-tab-title .elementor-tab-title-text {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    width: 100%;
    text-align: center;
}

@media (max-width: 767px) {
    .elementor-2291 .elementor-element.elementor-element-10b28e9 .elementor-tab-mobile-title {
        width: 100%;
        height: auto;
        min-height: 50px;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4acf2d4 *//* ============================================
   ONGLETS MAAT
   Boutons taille fixe / texte 2 lignes / alignés à gauche
   ============================================ */

/* ===== VERSION ONGLETS IMBRIQUÉS (nouveau widget) ===== */

/* Conteneur des boutons : alignement à gauche */
.elementor-2291 .elementor-element.elementor-element-4acf2d4 .e-n-tabs-heading {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start !important;
}

/* Variables natives du widget imbriqué */
.elementor-2291 .elementor-element.elementor-element-4acf2d4 {
    --n-tabs-heading-justify-content: flex-start;
    --n-tabs-title-flex-basis: 220px;
    --n-tabs-title-flex-grow: 0;
    --n-tabs-title-flex-shrink: 0;
}

/* Boutons : taille fixe */
.elementor-2291 .elementor-element.elementor-element-4acf2d4 .e-n-tab-title {
    width: 220px !important;
    max-width: 225px !important;
    min-width: 225px !important;
    height: 70px !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: px 5px !important;
    box-sizing: border-box;
    white-space: normal !important;
}

/* Texte : 2 lignes maximum, centré dans le bouton */
.elementor-2291 .elementor-element.elementor-element-4acf2d4 .e-n-tab-title-text {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-align: center;
    width: 100%;
    line-height: 1.3;
    white-space: normal !important;
}

/* ===== VERSION ONGLETS CLASSIQUES (ancien widget) ===== */

/* Conteneur des boutons : alignement à gauche */
.elementor-2291 .elementor-element.elementor-element-4acf2d4 .elementor-tabs-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start !important;
}

/* Boutons : taille fixe */
.elementor-2291 .elementor-element.elementor-element-4acf2d4 .elementor-tab-title {
    width: 220px !important;
    height: 70px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px 14px;
    box-sizing: border-box;
    white-space: normal !important;
    float: none !important;
    line-height: 1.3;
}

/* Texte : 2 lignes maximum */
.elementor-2291 .elementor-element.elementor-element-4acf2d4 .elementor-tab-title > a,
.elementor-2291 .elementor-element.elementor-element-4acf2d4 .elementor-tab-title .elementor-tab-title-text {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    width: 100%;
    text-align: center;
}

/* ===== MOBILE : accordéon pleine largeur ===== */
@media (max-width: 767px) {
    .elementor-2291 .elementor-element.elementor-element-4acf2d4 .e-n-tab-title,
    .elementor-2291 .elementor-element.elementor-element-4acf2d4 .elementor-tab-mobile-title {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        height: auto !important;
        min-height: 50px;
    }
}/* End custom CSS */