.formations-upcoming-sessions {
    display: grid;
    gap: 0.9rem;
}
.formation-hero,
.formation-body,
.formation-section {
    margin-bottom: 1.5rem;
}
.formation-hero__media,
.formation-hero__content,
.formation-body__content,
.formation-body__sidebar,
.formation-sessions-block {
    background: #fff;
    border: 1px solid rgba(15, 95, 143, 0.14);
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
    padding: 1.25rem;
}
.formation-hero__title {
    margin-top: 0;
    margin-bottom: 0.75rem;
    font-size:var(--font-size-h2);
    font-weight: 900;
    text-align: right;
    margin-left: auto;
    margin-right: calc(-1 * var(--cnet-photo-overlap));
    padding-right: var(--cnet-photo-overlap);
}
.formation-hero__inner {
    padding: 0 1rem;
}
.formation-hero__excerpt,
.formation-hero__date {
    color: var(--color-primary);
}
.formation-cta__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}
.formation-section__title {
    margin-top: 0;
    margin-bottom: 1rem;
}
.formation-section--sessions .formation-section__inner {
    padding: 1.25rem 1rem;
}
.formation-body__meta-fields {
    display: grid;
    gap: 0.9rem;
}
#container-formation-meta-fields .cnet-pattern--deux-colonnes-photo-sur-texte-gauche__card {
    gap:0;
}
.formation-meta-field {
    display: grid;
    gap: 0.35rem;
}
.formation-meta-field.formation-meta-field--formacode,
.formation-meta-field.formation-meta-field--certification,
.formation-meta-field.formation-meta-field--cpf {
    display:flex;
}
.formation-meta-field.formation-meta-field--certification,
.formation-meta-field.formation-meta-field--cpf {
    margin-top:0;
}
.formation-meta-field__label {
    margin: 0;
    font-weight: 900;
    color: var(--color-text);
}
.formation-meta-field__value {
    color: var(--color-text);
}
.formation-meta-field__value ul {
    margin:0;
    padding-left:20px;
}
.formation-meta-field__value p {
    margin: 0;
}
.formation-meta-field__value p + p {
    margin-top: 0.5rem;
}
.formation-details__accordion {
    display: grid;
}
.formation-details__accordion .wp-block-accordion-item {
    overflow: hidden;
    border-top: 1px solid var(--color-primary);
    margin-top: 0;
    padding: 10px 0;
}
.formation-details__accordion .wp-block-accordion-heading {
    margin: 0;
}
.formation-details__accordion .wp-block-accordion-heading__toggle {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border: 0;
    text-align: left;
    cursor: pointer;
}
.formation-details__accordion .wp-block-accordion-heading__toggle-icon {
    color: var(--color-text);
    font-weight: 700;
}
.formation-details__accordion .wp-block-accordion-panel {
    padding: 0 1rem 1rem;
    color: var(--color-text);
}
.formation-details__modules-list {
    display: grid;
    gap: 1rem;
}
.formation-module {
    padding: 0.25rem 0 1rem;
    border-bottom: 1px solid rgba(15, 95, 143, 0.14);
}
.formation-module__title {
    margin: 0 0 0.75rem;
    color: var(--color-primary);
    font-size: 1.15rem;
    line-height: 1.2;
}
.formation-module__field {
    margin-top: 0.5rem;
    color: var(--color-text);
}
.formation-module__field p {
    margin: 0;
}
.formation-module__label {
    font-weight: 700;
}
.formation-module:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}
.formation-session {
    padding: 1.25rem;
    background: #fff;
    border: 1px solid rgba(15, 95, 143, 0.14);
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}
.formation-section--sessions {
    padding-top:45px;
    padding-bottom:45px;
    overflow: hidden;
}
.formation-section--sessions .formation-section__title {
    color:#fff;
    position:relative;
    font-weight: 900;
    padding-bottom:15px;
}
.formation-section--sessions .formation-section__title::after {
  content: '';
  width: 100vw;
  height: 3px;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background:#ffffff;
}
.formation-session {
    background: transparent;
    border: none;
    box-shadow: none;
    color:#fff;
    display: flex;
    flex-direction: row;
    gap: 10px;
}
.formations-upcoming-sessions {
    gap:0;
}
.formations-upcoming-sessions__empty-message {
    color:#fff;
}
.formation-session {
    padding:0;
}
.formation-section--sessions .formation-session h3 {
    display:none;
}
.formation-session .session-dates,
.formation-session .session-location {
    color:#fff;
}
.formation-session .session-dates {
    font-weight: 900;
}
.formation-section--sessions,
.formation-section--cta,
.formation-section--details  {
    margin-block-start:75px!important;
}
.formation-session h3 {
    margin: 0 0 0.75rem;
    font-size: 1.2rem;
    line-height: 1.2;
}
.formation-session h3 a {
    color: var(--color-primary);
    text-decoration: none;
}
.formation-session h3 a:hover {
    text-decoration: underline;
}
.session-dates,
.session-location {
    color: var(--color-primary);
    font-size: 0.95rem;
}

@media (max-width: 960px) {
    #container-formation-title-meta-fields {
        flex-direction:column;
        padding-left: var(--wp--preset--spacing--4);
        padding-right: var(--wp--preset--spacing--4);
    }
    #container-formation-title-meta-fields > div{
        flex-basis:100%!important;
    }
    #container-formation-title-meta-fields .formation-intranet-pdf {
        float: none;
        margin-inline-start: auto;
        margin-inline-end: auto;
        text-align: center;
    }
    #container-formation-title-meta-fields .formation-hero__title,
    #container-formation-title-meta-fields .cnet-pattern--deux-colonnes-photo-sur-texte-gauche__media {
        margin-right: auto;
        padding-right: 0;
        text-align: left;
    }
    #container-formation-title-meta-fields .cnet-pattern--deux-colonnes-photo-sur-texte-gauche__media {
        margin-top:25px;
        width:100%;
    }
    #container-formation-title-meta-fields .cnet-pattern--deux-colonnes-photo-sur-texte-gauche__card {
        padding-left: var(--wp--preset--spacing--10)!important;
    }
    #container-formation-title-meta-fields .cnet-pattern--deux-colonnes-photo-sur-texte-gauche__media-col {
        margin-bottom:25px!important;
    }
    .formation-section--sessions > div {
        flex-direction:column-reverse;
    }
    .formation-section--sessions .formation-section__title::after {
        width: 100%;
    }
}

@media (min-width: 782px) {
  .cnet-pattern--deux-colonnes-photo-sur-texte-gauche__media,
  .cnet-pattern--deux-colonnes-photo-sur-texte-droite__media,
  .formation-hero__title {
    width: 100%;
  }
}


@media (max-width: 781px) {
    .formation-meta-field.formation-meta-field--formacode,
    .formation-meta-field.formation-meta-field--certification,
    .formation-meta-field.formation-meta-field--cpf {
        flex-direction: column;
        gap: 0;
        margin-bottom: 15px;
    }
}

@media (max-width: 640px) {
    .formation-session {
        gap: 0;
        margin-bottom:15px;
        flex-direction: column;
    }
}

@media (min-width: 600px) {
    .formation-section--sessions .formations-upcoming-sessions {
        gap:1rem;
    }

    /*.formation-section--sessions .formation-session {
        flex-direction: column;
        gap: 0;
    }*/
}




/* =========================================================
   Home
   ========================================================= */
.home #container-prochaines-formations-home {
    padding-bottom:50px;
}
.home .formations-upcoming-sessions {
  gap: 20px;
  margin-block-start: 60px !important;
}

.home .btn-lien-calendrier-home {
    margin-top:20px;
    margin-bottom:50px;
}

.home .btn-lien-calendrier-home a {
  border-color: #fff!important;
  color: #fff!important;
  transition: all 0.4s ease-in;
}

.cnet-pattern--mini-cta-simple-centre .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.cnet-pattern--mini-cta-simple-centre .wp-block-button:not(.is-style-outline) .wp-element-button:hover {
  border-color: #fff!important;
  color: #fff!important;
}


.home .formation-session h3 {
    margin-bottom:0;
}
.home .formation-session h3 a {
    color:#fff;
}
.home .formation-session {
  flex-direction: column;
  gap: 0;
}

/* =========================================================
   Calendar
   ========================================================= */
.formations-calendar {
    margin: 2.5rem 0;
    position: relative;
}
.formations-calendar.is-loading {
    pointer-events: none;
    opacity: 0.78;
}
.formations-calendar__viewport {
    position: relative;
}
.formations-calendar__content {
    transition: transform 0.22s ease;
    will-change: transform;
}
.formations-calendar.is-animating .formations-calendar__viewport {
    overflow: hidden;
}
.formations-calendar__content.is-leaving-to-prev {
    transform: translateX(-100%);
}
.formations-calendar__content.is-leaving-to-next {
    transform: translateX(100%);
}
.formations-calendar__content.is-entering {
    transition: none;
}
.formations-calendar__content.is-entering-from-next {
    transform: translateX(100%);
}
.formations-calendar__content.is-entering-from-prev {
    transform: translateX(-100%);
}
.formations-calendar__content.is-active {
    transition: transform 0.22s ease;
    transform: translateX(0);
}
.formations-calendar__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 1rem;
}
.formations-calendar__title-wrap {
    text-align: center;
}
.formations-calendar__eyebrow {
    display: block;
    margin-bottom: 0.25rem;
    color: var(--color-primary);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.formations-calendar__title {
    margin: 0;
    color: var(--color-text);
    font-size: 2rem;
    line-height: 1.15;
}
.formations-calendar__nav,
.formations-calendar__nav:visited {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--color-primary);
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none;
}
.formations-calendar__nav:hover,
.formations-calendar__nav:focus {
    color: var(--wp--preset--color--accent, #fcc465);
}
.formations-calendar__nav-arrow {
    display: inline-block;
    font-size: 1.45rem;
    line-height: 1;
}
.formations-calendar__table {
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid rgba(15, 95, 143, 0.2);
    background: rgba(15, 95, 143, 0.2);
}
.formations-calendar__list {
    display: none;
}
.formations-calendar__weekdays,
.formations-calendar__week-days,
.formations-calendar__week-lane {
    display: grid;
    grid-template-columns: repeat(7, minmax(120px, 1fr));
    min-width: 960px;
}
.formations-calendar__weekdays,
.formations-calendar__week-days {
    gap: 1px;
    background: rgba(15, 95, 143, 0.2);
}
.formations-calendar__week-days {
    height: 100%;
}
.formations-calendar__week {
    position: relative;
    height: var(--formations-calendar-week-height, 88px);
    margin-top: 1px;
    overflow: hidden;
    background: rgba(15, 95, 143, 0.2);
}
.formations-calendar__weekday {
    padding: 0.58rem 0.65rem;
    background: var(--color-primary);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.formations-calendar__day {
    position: relative;
    box-sizing: border-box;
    height: 100%;
    padding: 0.35rem 0.5rem;
    border: 1px solid rgba(15, 95, 143, 0.12);
    overflow: hidden;
    background: #fff;
}
.formations-calendar__day.is-outside-month {
    background: #f6f8fa;
    color: #7c8792;
}
.formations-calendar__day.is-today {
    outline: 0;
}
.formations-calendar__day.is-today::after {
    content: '';
    position: absolute;
    inset: 2px;
    z-index: 0;
    box-sizing: border-box;
    border: 2px solid var(--wp--preset--color--accent, #fcc465);
    pointer-events: none;
}
.formations-calendar__day-number {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    font-size: 0.82rem;
    font-weight: 700;
}
.formations-calendar__day-label {
    display: none;
    color: var(--color-primary);
    font-size: 0.78rem;
    text-transform: uppercase;
}
.formations-calendar__week-events {
    position: absolute;
    top: 34px;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 5;
    min-width: 960px;
    overflow: visible;
    pointer-events: none;
}
.formations-calendar__week-lane {
    align-items: start;
    gap: 0;
    padding: 0 4px 2px;
    background: transparent;
}
.formations-calendar__event-marker {
    display: flex;
    justify-content: center;
    pointer-events: auto;
}
.formations-calendar__event-dot {
    display: block;
    width: 12px;
    height: 12px;
    margin-top: 2px;
    border: 2px solid #fff;
    border-radius: 999px;
    background: var(--wp--preset--color--accent, #fcc465);
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.18);
    text-decoration: none;
}
.formations-calendar__event-dot:hover,
.formations-calendar__event-dot:focus {
    transform: scale(1.12);
    transition: transform 0.12s ease;
}
.formations-calendar-tooltip {
    position: fixed;
    z-index: 999999;
    max-width: 280px;
    padding: 0.55rem 0.65rem;
    border-radius: 6px;
    background: var(--color-primary);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.18);
    color: #fff;
    font-size: 0.74rem;
    line-height: 1.35;
    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease;
    visibility: hidden;
}
.formations-calendar-tooltip.is-visible {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}
.formations-calendar__list-item {
    margin-bottom: 0.55rem;
    padding: 0.7rem 0.85rem;
    border-radius: 8px;
    background: var(--wp--preset--color--accent, #fcc465);
}
.formations-calendar__list-dates {
    margin-bottom: 0.18rem;
    color: var(--color-text);
    font-size: 0.78rem;
}
.formations-calendar__list-title,
.formations-calendar__list-title:visited {
    display: block;
    color: var(--color-text);
    font-size: 0.94rem;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
}
.formations-calendar__list-title:hover,
.formations-calendar__list-title:focus {
    color: var(--color-text);
}
.formations-calendar__list-meta {
    margin-top: 0.2rem;
    color: var(--color-text);
    font-size: 0.76rem;
    line-height: 1.3;
}
.formations-calendar__list-empty {
    margin: 0;
    padding: 0.75rem 0;
}

@media (max-width: 1199px) {
    .formations-calendar__weekdays,
    .formations-calendar__week-days,
    .formations-calendar__week-lane {
        grid-template-columns: repeat(7, minmax(0, 1fr));
        min-width: 100%;
    }
    .formations-calendar__week-events {
        min-width: 100%;
    }
}

@media (max-width: 767px) {
    .formations-calendar {
        touch-action: pan-y;
    }
    .formations-calendar__header {
        position: relative;
        justify-content: center;
        min-height: 52px;
    }
    .formations-calendar__title {
        font-size: 1.5rem;
    }
    .formations-calendar__table {
        display: none;
    }
    .formations-calendar__list {
        display: block;
        background: #fff;
    }
    .formations-calendar__nav {
        position: absolute;
        top: 50%;
        gap: 0;
        font-size: 1.1rem;
        line-height: 1;
        transform: translateY(-50%);
    }
    .formations-calendar__nav--prev {
        left: 0;
    }
    .formations-calendar__nav--next {
        right: 0;
    }
    .formations-calendar__nav-label {
        display: none;
    }
    .formations-calendar__nav-arrow {
        font-size: 1.8rem;
    }
}
