/* === Ressource #45 — Style === */
/*-------STYLE PERSO FOOTER COLOR-----*/

.reusable-footer {
    background-color: var(--footer-background) !important;
}

body.page-id-6128,
body.page-id-11218,
body.page-id-6151,
body.page-id-7380,
body.page-id-7386,
body.page-id-7626,
body.page-id-11506,
body.page-id-4354,
body.page-id-13787{
    --footer-background: var(--global-palette1); /*--Yellow--*/
}

body.blog,
body.page-id-10322,
body.page-id-9050,
body.page-id-1737,
body.page-id-14571,
body.page-id-28{
    --footer-background: var(--global-palette6); /*--Sky--*/
}

body.page-id-9306,
body.page-id-8268,
body.page-id-13890 {
    --footer-background: var(--global-palette5); /*--Mauve--*/
}

.error404 {
    background-color: var(--global-palette5); /*--Mauve--*/
}

div.wp-block-site-logo img {
  width: 133px !important;
}

@media screen and (min-width: 1921px) {
  .ipr-hero .kt-row-column-wrap.kt-has-1-columns.kt-row-layout-equal.kt-tab-layout-inherit.kt-mobile-layout-row.kt-row-valign-top.kb-theme-content-width {
    min-width: 1800px !important;
}
	.ipr-top-hero > .kt-row-column-wrap {
		max-width: var(--global-content-width) !important;
	}
	
  :root {
  --global-content-width: 1800px !important;
  
  }
  
	.ipf-layout {
		width: min(100% - 60px, 1740px) !important;
	}
}

/*----------------------*/

@media screen and (max-width: 475px) {
  h2 {
    font-size: 25px !important;
  }
  
  main h3 {
    font-size: 23px !important;
  }
  
  footer h3 {
    font-size: 16px !important;
    line-height: 1.1 !important;
  }
}

.ipedis-filter__tab[aria-selected="true"], .ipedis-filter__tab[aria-current="true"] {
    background: #04162f!important;
    color: #FFFDED!important;
}

ul.ipedis-cards-grid {
    padding-left: 0 !important;
}

.menu-desktop-principal .kal-nav-btn:focus-within {
  outline: none!important;
  box-shadow: none!important;
  outline-offset: 0px !important;
}

button.kt-blocks-accordion-header:focus-within {
  outline: none!important;
  box-shadow: none!important;
  outline-offset: 0px !important;
}

button.kt-blocks-accordion-header:focus-visible {
    border-radius: inherit;
    outline: 2px solid #04162F !important;
    outline-offset: 2px !important;
    -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 1) !important;
    -moz-box-shadow: 0 0 0 2px rgba(255,255,255,1)!important;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 1) !important;
}

/*----------------------*/

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Logo admin bar */
/* #wpadminbar img.site-icon {
  display: none;
} */

a.kb-nav-link-content:focus {
    outline: #04162f solid 2px !important;
    outline-offset: 2px;
    -webkit-box-shadow: 0 0 0 2px #fff;
    -moz-box-shadow: 0 0 0 2px #fff;
    box-shadow: 0 0 0 2px #fff;
    transition: all .1s ease !important;
}

a.kb-nav-link-content {
    position: relative;
}

blockquote {
  padding-left: 0;
  border-left: none;
  margin: 0!important;
}

blockquote cite {
  color: #04162f;
  font-weight: 500;
  font-size: 14px;
}

.ipdc-slider__btn:focus {
    background: #04162F;
    color: #FFFDED;
}

.ipedis-loadmore__btn:focus {
    background: var(--ipedis-navy);
    color: var(--ipedis-cream);
}

.icon-white-list .kb-svg-icon-wrap {
    background: #fffded;
    padding: 10px !important;
    border-radius: 8px;
}

.icon-beige-list .kb-svg-icon-wrap {
    background: #f5f1d8;
    padding: 15px !important;
    border-radius: 8px;
}

a.ipdc-compact__cta {
    margin-top: auto;
}

.soft-suite > .kt-inside-inner-col {
  position: relative;
    overflow: hidden;
}

.soft-suite > .kt-inside-inner-col::before {
  transition: transform 0.4s ease;
}

.soft-suite > .kt-inside-inner-col:hover::before {
  transform: scale(1.05);
}

.soft-suite > .kt-inside-inner-col a.kt-button::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: "";
}

.soft-suite > .kt-inside-inner-col > .wp-block-kadence-column > .kt-inside-inner-col ,
.soft-suite > .kt-inside-inner-col a.kt-button {
  position: initial;
}

.m-top-auto {
  margin-top: auto!important;
}

.img-full-width img {
  width: 100%;
}

.img-full-height, .section-100 {
  height: 100%;
}

.img-full-height img {
  height: 100%;
  object-fit: cover;
}

.img-border-16 img {
  border-radius: 16px;
}

.header-middle-row .kadence-header-row-inner {
    border: 1px solid #ffffff3d;
}

.contact-light {
    display: inline-block!important;
    margin-right: 15px!important;
}

/* ***********ipr-top-hero************* */

.ipr-top-hero > .kt-row-column-wrap {
  max-width: 1440px;
  padding-left: 30px;
  padding-right: 30px; 
  margin-left: auto;
  margin-right: auto;
  padding-top: clamp(6rem, 14vw, 10rem)!important;
  padding-bottom: 0px;

}

.ipr-top-hero .tag-pill  {
  display: inline-block!important;
  white-space: nowrap;
  width: fit-content;
}

.ipr-top-hero h1 .highlight {
    display: block;
    background-color: #ffcc02;
    color: #04162f;
    width: fit-content;
    padding: 4px 12px 12px;
    border-radius: 8px;
    transform: rotate(358deg);
  line-height: 1;
    margin: 15px 0;
}

.ipr-content-hero {
    flex-direction: row;
}

.ipr-content-hero > .kt-inside-inner-col {
  display: flex;
}

.error-highlight {    
    width: fit-content;
    padding: 4px 12px 12px !important;
    border-radius: 8px;
    transform: rotate(358deg);
  line-height: 1;
    margin-bottom: 48px !important;
}
/* ***********Dates-Lists************* */

.dates-lists {
  padding: 0!important;
  margin: 0!important;
  list-style-type: none!important;
}

.dates-lists li {
  border-bottom: 1px solid rgba(5,20,50,0.25);
  padding: 24px 0;
  display: block;
}

.dates-lists li:first-child {
  padding-top: 0!important;
}

.dates-lists li .desc-in {
    padding-left: 240px;
  display: blink;
}

.dates-lists .title {
    color: #04162f;
    width: 100%;
    max-width: 100%;
    margin-bottom: 24px;
    gap: 20px;
    display: flex;
    align-items: center;
    font-style: italic;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.1;
}

.title-full {
  min-width: auto !important;
}

.dates-lists strong {
    background: #ffcc02;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 19px;
    border-radius: 8px;
    height: fit-content;
    font-weight: 700;
    aspect-ratio: auto;
    min-width: 215px;
    text-align: center;
    color: #04162f;
}

.dates-lists .title small {
  display: block;
  line-height: 1.5;
  font-size: 20px;
}

.dates-lists strong.purple-in {
  background: #DFC8FF;
}

.dates-lists strong.blue-in {
  background: #B9E9FF;
}

/* ***********Steps-Lists************* */

.steps-lists {
  padding: 0!important;
  margin: 0!important;
  list-style-type: none!important;
}

.steps-lists li {
  border-bottom: 1px solid rgba(5,20,50,0.25);
  padding: 24px 0;
  display: flex;
  align-items: center;
}

.steps-lists li:first-child {
  padding-top: 0!important;
}

.steps-lists li .desc-in {
    padding-left: 80px;
  display: block;
/*  margin-top: 20px; */
}

.steps-lists .title {
  line-height: 1.1;
  font-size: 32px;
  font-weight: 500;
  color: #04162f;
  min-width: 260px;
  max-width: 100%;
  display: block;
  margin: 0 32px 0 20px;
}

.steps-lists strong {
  background: #ffcc02;
  display: inline-block;
  padding: 12px 19px;
  border-radius: 8px;
  font-weight: 500;
  height: fit-content;
  min-width: 55px;
  aspect-ratio: 1 / 1;
  text-align: center;
  line-height: 1;
  font-size: 32px;
  font-weight: 500;
  color: #04162f;
}

.steps-lists .title small {
  display: block;
  line-height: 1.5;
  font-size: 20px;
}

.steps-lists strong.purple-in {
  background: #DFC8FF;
}

.steps-lists strong.blue-in {
  background: #B9E9FF;
}

.etap-list .steps-lists li .desc-in {
    padding-left: 88px;
/*  margin-top: 20px; */
}

/* ***********Steps-Lists************* */

.simple-order li {
  display: block!important;
}

.simple-order li .title {
  margin: 0!important;
  display: flex;
    align-items: center;
  gap: 15px;
}

.etap-list .title {
    display: flex !important;
    gap: 15px !important;
}
/* ....................... */

nav.navigation .menu-container>ul>li>a.kb-nav-link-content:after {
    content: "";
    width: 100%;
    position: absolute;
    bottom: 0px;
    height: 2px;
    right: 50%;
    background: currentColor;
    transform: scale(0, 0) translate(-50%, 0);
    transition: transform .2s ease-in-out, color 0s ease-in-out;
}

nav.navigation .menu-container > ul > li.menu-item .kb-nav-dropdown-toggle-btn.kal-nav-btn,
.wp-site-blocks nav.navigation .kb-nav-dropdown-toggle-btn.kal-nav-btn {
    position: relative;
    inset: auto;
    right: auto;
    left: auto;
    top: auto;
    bottom: auto;
    width: auto;
    height: 56px;
    overflow: visible;
    display: inline-flex;
    align-items: center;
    padding: 0 1.9em 0 9px;
    margin: 0;
    pointer-events: auto;
    background: transparent;
    color: #FFFDED;
    font-weight: 700;
    line-height: 1.7;
    white-space: nowrap;
    cursor: pointer;
}
/* Libellé en jaune au survol / focus clavier / actif / sous-menu ouvert (seule animation attendue). */
nav.navigation .menu-container > ul > li.menu-item .kal-nav-btn:hover,
nav.navigation .menu-container > ul > li.menu-item .kal-nav-btn:focus,
nav.navigation .menu-container > ul > li.menu-item .kal-nav-btn:active,
nav.navigation .menu-container > ul > li.menu-item .kal-nav-btn[aria-expanded="true"] {
    color: #FFCC02!important;
}
/* Focus visible : anneau contrasté englobant le texte ET l'icône (tout le bouton), bien visible sur le
   fond navy. Couleur distincte du jaune du texte. */
.kal-nav-btn:focus-visible {
    outline: 3px solid #ffcc02 !important;
    outline-offset: -3px !important;
    border-radius: 2px;
  box-shadow: none !important;
}

a#kt-scroll-up:focus {
  outline: 3px solid #04162f !important;
    outline-offset: 3px !important;
    -webkit-box-shadow: 0 0 0 3px rgba(255, 255, 255, 1) !important;
    -moz-box-shadow: 0 0 0 3px rgba(255,255,255,1)!important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 1) !important;
    transition: all .2s ease !important;
}

.ipdbrand .submenu-header button:focus-visible {
    background: transparent!important;
    border-radius: 0!important;
}

.ipdbrand .ipdbrand-drawer-header a:focus-visible, .ipdbrand .ipdbrand-drawer-header button:focus-visible {
    background: transparent!important;
    border-radius: 0!important;
}

/* ipd-custom-acc */

.ipd-custom-acc h3 strong {
    background: #ffcc02;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 19px;
    border-radius: 8px;
    font-weight: 500;
    height: fit-content;
    min-width: 55px;
    aspect-ratio: 1 / 1;
	margin-right: 15px;
}

.ipd-custom-acc .kt-blocks-accordion-title {
    display: flex;
    gap: 0px;
    align-items: center;
    line-height: 1.1;
}
.ipd-custom-acc span.kt-blocks-accordion-icon-trigger {
    background: #f5f1d8;
    padding: 6px;
    position: relative;
    border-radius: 8px;
}

.ipd-custom-acc .kt-accodion-icon-style-basic .kt-blocks-accordion-icon-trigger:before, 
.ipd-custom-acc .kt-accodion-icon-style-basic .kt-blocks-accordion-icon-trigger:after {
    height: 3px;
    width: 18px;
    left: 9px;
    top: 17px;
    opacity: 1;
}

.ipd-custom-acc .purple-in h3 strong {
    background: #DFC8FF;
}

.ipd-custom-acc .blue-in h3 strong {
    background: #B9E9FF;
}

.ipd-custom-acc .kt-accordion-inner-wrap .kt-accordion-panel .kt-accordion-panel-inner {
  border-top: none;
  border-left: none;
  border-right: none;
  padding-top: 0;
}

.ipd-date-acc .kt-blocks-accordion-title {
  font-style: italic;
  font-weight: 700;
}

.ipd-date-acc h3 strong {
  font-weight: 700;
  aspect-ratio: auto;
  min-width: 215px;
}

@media screen and (max-width: 767px) {
  .ipd-date-acc h3 strong {
    min-width: auto;
        width: fit-content;
        justify-content: flex-start;
  }
}

@media screen and (max-width: 475px) {
.ipd-custom-acc .kt-blocks-accordion-title, .ipd-pays-acc .kt-blocks-accordion-title {
    font-size: 23px !important;
}
}

.ipd-pays-acc .kt-blocks-accordion-title {
  display: flex;
  align-items: center;
  gap: 15px;
}

/* Header navigation */

.d-block {
  display: block !important;
}

a:hover, a:focus, a:active {
    color: inherit;
}

.screen-reader-text:focus {
    background-color: #ffcc02 !important;
    border-radius: 4px !important;
    color: #04162f !important;
    font-size: 16px !important;
}

.header-middle-row .kadence-header-row-inner {
  background-color: #04162F!important;
}

.header-mobile-row .kadence-header-row-inner {
 	background-color: #04162F!important;
    padding: 0px 15px;
    border-radius: 8px;
	border: 1px solid #ffffff3d; 
}

.header-mobile-row .kadence-header-row-inner figure {
  margin: 0;
}

.menu-desktop-principal .title-head {
  width: fit-content;
}

.header-mobile-row .btn-open {
  display: flex;
  font-weight: 500;
  font-size: 14px;
  justify-content: center;
  gap: 10px;
  height: 30px;
  padding: 4px 8px 4px 4px;
  color: #04162f;
  line-height: 1.7;
}

.header-mobile-row .btn-open:hover, .header-mobile-row .btn-open:active, .header-mobile-row .btn-open:focus {
  background: #FFFDED;
  outline: 3px solid #FFCC02 !important;
}

.wp-block-kadence-header-row.kb-header-row-layout-contained {
  max-width: 1200px;
  width: 100%;
}

.order-grid-4 ul {
  grid-auto-flow: column; 
  grid-template-rows: repeat(4, auto)!important;
}

.order-grid-3 ul {
  grid-auto-flow: column; 
  grid-template-rows: repeat(3, auto)!important;
}

.menu-desktop-principal a:focus-visible,
.menu-desktop-principal .kb-nav-link-content:focus-visible,
.menu-desktop-principal .kb-nav-dropdown-toggle-btn:focus-visible{
    outline: 3px solid currentColor !important;
    outline-offset: -3px !important;     
}

.menu-desktop-principal a.kb-button:focus-visible {
    outline: 3px solid #ffffff !important;
    outline-offset: -3px !important;
    box-shadow: 0 0 0 3px #ffcc02 !important;   
}

.menu-desktop-principal button.kal-nav-btn:focus-visible {
  outline: 3px solid #ffffff !important;
    outline-offset: -3px !important;
    box-shadow: 0 0 0 3px #ffcc02 !important;
    border-radius: inherit;      
}

.menu-desktop-principal .content-parent > .kt-row-column-wrap {
  border-radius: 16px;
}

.menu-desktop-principal .sub-menu.mega-menu {
  border-radius: 16px !important;
  margin-top: 0;
}
/* Button & tag */
.kb-button.kb-btn-global-fill {
  border-radius: 4px;
}

/*-------table-3-cols-equal--------*/

.table-3-cols-equal {
  table-layout: fixed;
}

.table-3-cols-equal th,
.table-3-cols-equal td {
  width: 33.333%;
  padding: 24px!important;
}

.table-3-cols-equal thead th {
  padding: 12px 24px!important;
}

.table-3-cols-equal tbody th {
    padding-left: 0px !important;
}

.table-3-cols-equal tbody td:last-child {
    padding-right: 0px !important;
}

table span.beige-in {
    display: inline-block;
    background: #f5f1d8;
    border-radius: 8px;
    padding: 8px 16px;
    width: 100%;
  font-weight: 700;
}

/*-------LABEL TAG--------*/
.tag {
  width: fit-content;
  padding-top: 8px !important;
    padding-bottom: 8px !important;
}
@media screen and (max-width: 1024px) {
  .ipr-res-purple{
     background-color: var(--global-palette5) !important;
  }
  
  .ipr-res-sky{
     background-color: var(--global-palette6) !important;
  }
  
  .ipr-res-yellow{
     background-color: var(--global-palette2) !important;
  }
  .single-webinaire .content-area {
        margin-top: 0px !important;
        margin-bottom: 0px !important;
    }

    .ipd-webinar-off .content-area {
        margin-top: 0px !important;
        margin-bottom: 0px !important;
    }

}

/*------------------------*/
.bg-sky {
    display: block;
    padding: 10px;
    background-color: var(--global-palette6);
    width: fit-content;
    border-radius: 8px;
    margin-top: 12px;
}
/* Yellow button with icon link */

.btn-ico-yellow .kb-svg-icon-wrap {
  color: #ffcc02;
    background: #04162f;
    padding: 7px;
    border-radius: 4px;
  transition: all 0.3s ease;
}

.btn-ico-yellow:hover .kb-svg-icon-wrap, .btn-ico-yellow:focus .kb-svg-icon-wrap, .btn-ico-yellow:active .kb-svg-icon-wrap {
  transform: rotate(45deg);
}

.ico-only-yellow .kb-svg-icon-wrap {
  color: var(--global-palette4) !important;
    background: var(--global-palette1) !important;
    padding: 7px;
    border-radius: 4px;
  transition: all 0.3s ease;
}

.ico-only-yellow:hover .kb-svg-icon-wrap, .ico-only-yellow:focus .kb-svg-icon-wrap, .ico-only-yellow:active .kb-svg-icon-wrap {
  background: var(--global-palette14) !important;
  transform: rotate(45deg);
}

.cta-article:hover .kb-svg-icon-wrap, .cta-article:focus .kb-svg-icon-wrap, .cta-article:active .kb-svg-icon-wrap {
  background: var(--global-palette8) !important;
  color: var(--global-palette3);
}
/* Navy button with icon link */

.btn-ico-navy .kb-svg-icon-wrap {
  color: var(--global-palette3) ;
  background-color: var(--global-palette13);
    padding: 7px;
    border-radius: 4px;
  transition: all 0.3s ease;
}

.btn-ico-navy:hover .kb-svg-icon-wrap, .btn-ico-navy:focus .kb-svg-icon-wrap, .btn-ico-navy:active .kb-svg-icon-wrap {
  transform: rotate(45deg);
}

/* Beige button with icon link */

.btn-ico-beige .kb-svg-icon-wrap {
  color: #F5F1D8;
    background: #04162f;
    padding: 7px;
    border-radius: 4px;
  transition: all 0.3s ease;
}

.btn-ico-beige:hover .kb-svg-icon-wrap, .btn-ico-beige:focus .kb-svg-icon-wrap, .btn-ico-beige:active .kb-svg-icon-wrap {
  transform: rotate(45deg);
  background: #04162F;
  color: #F5F1D8;
  z-index: -1;
}

/* Sky button with icon link */

.btn-ico-sky .kb-svg-icon-wrap {
  color: var(--global-palette6);
    background-color: var(--global-palette4);
    padding: 7px;
    border-radius: 4px;
  transition: all 0.3s ease;
}

.btn-ico-sky:hover .kb-svg-icon-wrap, .btn-ico-sky:focus .kb-svg-icon-wrap, .btn-ico-sky:active .kb-svg-icon-wrap {
  transform: rotate(45deg);
  background: var(--global-palette14);
  color: var(--global-palette4);
  z-index: -1;
}

/* Mauve button with icon link */

.btn-ico-purple .kb-svg-icon-wrap {
  color: var(--global-palette5);
    background-color: var(--global-palette4);
    padding: 7px;
    border-radius: 4px;
  transition: all 0.3s ease;
}

.btn-ico-purple:hover .kb-svg-icon-wrap, .btn-ico-purple:focus .kb-svg-icon-wrap, .btn-ico-purple:active .kb-svg-icon-wrap {
  transform: rotate(45deg);
  background: var(--global-palette14);
  color: var(--global-palette4);
  z-index: -1;
}
.ico-only-purple .kb-svg-icon-wrap {
  color: var(--global-palette4) !important;
    background: var(--global-palette5) !important;
    padding: 7px;
    border-radius: 4px;
  transition: all 0.3s ease;
}

.ico-only-purple:hover .kb-svg-icon-wrap, .ico-only-purple:focus .kb-svg-icon-wrap, .ico-only-purple:active .kb-svg-icon-wrap {
  background: var(--global-palette14) !important;
  color: var(--global-palette4) !important;
  transform: rotate(45deg);
}

.ico-only-sky .kb-svg-icon-wrap {
  color: var(--global-palette4) !important;
    background: var(--global-palette6) !important;
    padding: 7px;
    border-radius: 4px;
  transition: all 0.3s ease;
}

.ico-only-sky:hover .kb-svg-icon-wrap, .ico-only-sky:focus .kb-svg-icon-wrap, .ico-only-sky:active .kb-svg-icon-wrap {
  background: var(--global-palette14) !important;
  color: var(--global-palette4) !important;
  transform: rotate(45deg);
}

.ico-hover-on:hover .kb-svg-icon-wrap, .ico-hover-on:focus .kb-svg-icon-wrap, .ico-hover-on:active .kb-svg-icon-wrap {
    background: inherit!important;
    color: inherit!important;
}

@media screen and (max-width: 475px) {
  .mob-top {
    align-items: flex-start;
  }

}

/* ------------------------------ */

.wp-block-site-logo img {
  width: 40px;
}

.wp-block-kadence-navigation.navigation-desktop-orientation-horizontal .navigation-desktop-dropdown-animation-fade .sub-menu {
  --kb-nav-dropdown-transition: opacity 0.5s ease-in-out, transform 0.7s ease-in-out!important;
}

/* ------------------------------ */

/* Icône menu déroulant : +  blanc  →  ×  jaune  (CSS pur, piloté par aria-expanded + hover) */
.menu-desktop-principal .kb-nav-dropdown-toggle-btn svg {
  display: none
}

.menu-desktop-principal .kb-nav-dropdown-toggle-btn::before,
.menu-desktop-principal .kb-nav-dropdown-toggle-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 90%;
  width: 12px;
  height: 2px;
  border-radius: 2px;
  background: #FFFDED;
  transition: transform .25s ease, background-color .25s ease;
}

.menu-desktop-principal .kb-nav-dropdown-toggle-btn::before {
  transform: translate(-50%, -50%)
}

.menu-desktop-principal .kb-nav-dropdown-toggle-btn::after {
  transform: translate(-50%, -50%) rotate(90deg)
}

.menu-desktop-principal .menu-item-has-children:hover .kb-nav-dropdown-toggle-btn::before,
.menu-desktop-principal .kb-nav-dropdown-toggle-btn[aria-expanded="true"]::before {
  transform: translate(-50%, -50%) rotate(45deg);
  background: #FFCC02;
  width: 14px;
  height: 2px;
}

.menu-desktop-principal .menu-item-has-children:hover .kb-nav-dropdown-toggle-btn::after,
.menu-desktop-principal .kb-nav-dropdown-toggle-btn[aria-expanded="true"]::after {
  transform: translate(-50%, -50%) rotate(135deg);
  background: #FFCC02;
  width: 14px;
  height: 2px;
}

/* Libellé du parent en #FFCC02 quand survolé Ou focus OU sous-menu ouvert (synchro avec l'icône) */

.menu-desktop-principal .menu-item .kal-nav-btn:focus::after,
.menu-desktop-principal .menu-item .kal-nav-btn:focus::before {
  background: #FFCC02;
}


.header-mobile-row a.kb-advanced-image-link {
    display: block;
}

/* Responsive */

@media (prefers-reduced-motion:reduce) {
  .menu-desktop-principal .kb-nav-dropdown-toggle-btn::before,
  .menu-desktop-principal .kb-nav-dropdown-toggle-btn::after {
    transition: none
  }
}

@media screen and (min-width: 768px) {
  .display-mobile-none {
    display: block;
  }

  .display-desktop-none {
    display: none;
  }
}


@media screen and (max-width: 1023.98px) {
	.ipd-custom-acc .ipd-custom-acc .kt-accordion-inner-wrap .kt-accordion-panel .kt-accordion-panel-inner {
		padding-top: 24px;
	}
  .d-none-resp {
    display: none!important;
  }
  .steps-lists li {
    flex-direction: column;
    align-items: start;
    gap: 20px;
  }

  .steps-lists .title {
    min-width: auto;
    width: 100%;
    margin: 0;
  }
  .table-3-cols-equal {
    overflow-x: scroll;
    table-layout: auto;
  }

  .table-3-cols-equal th,
  .table-3-cols-equal td {
    padding: 12px!important;
  }
}

@media screen and (max-width: 767.98px) {
  .simple-order li .title {
    flex-direction: column;
    align-items: start;
  }
  .steps-lists li .desc-in,
  .etap-list .steps-lists li .desc-in {
    padding-left: 0;
  }
  .dates-lists li {
    flex-direction: column;
    align-items: start;
    gap: 20px;
  }
  .dates-lists li .desc-in {
    padding-left: 0;
  }
  .dates-lists .title {
    min-width: auto;
    width: 100%;
    flex-direction: column;
        align-items: start;
  }
  .ipd-custom-acc h3 strong {
    margin-bottom: 24px;
	width: fit-content;
	  display: flex !important;
  }
  .ipd-custom-acc span.kt-blocks-accordion-icon-trigger {
    display: none;
  }
  
  .ipd-custom-acc .kt-blocks-accordion-title, .ipd-custom-acc .overflow-tab .kt-blocks-accordion-title {
     flex-direction: column;
     align-items: flex-start;
	  margin-bottom: 15px;
  }
  .ipd-custom-acc .kt-accordion-inner-wrap .kt-accordion-panel .kt-accordion-panel-inner {
    padding-bottom: 24px!important;
  }
  .display-mobile-none {
    display: none;
  }

  .display-desktop-none {
    display: block;
  }
}

@media (max-width: 600px) {
    .ipedis-filter__list {
        flex-direction: column;
    }
}

@media (max-width: 475px) {
    .steps-lists .title {
        font-size: 25px !important;
    }
}


/* ------------------------------ */

/* Bandeau jaune : reste collé en haut au scroll ; fermeture via ses boutons (JS inchangé). */
#ipd-webinar{ position: sticky !important; top: 0 !important; z-index: 1001; transition: none !important; animation: none !important; }
/* Menu mobile ouvert : passer le bandeau DERRIÈRE (visible mais ne recouvre plus le menu). */
html.ipdbrand-opened #ipd-webinar{ z-index: 1 !important; }

/* Header figé - DESKTOP : 15px de gap sous le bandeau (40+15=55) ; 15px du haut si bandeau fermé. */
.wp-block-kadence-header-desktop.kb-header-container{ position: fixed !important; top: 55px !important; left: 0 !important; right: 0 !important; width: 100% !important; z-index: 1000; transition: none !important; animation: none !important; }
body:not(:has(#ipd-webinar)) .wp-block-kadence-header-desktop.kb-header-container{ top: 15px !important; }

/* Header figé - TABLETTE/MOBILE : gap 0 (barre collée). Sans bandeau -> collée en haut ; avec bandeau -> collée juste dessous. Le bandeau wrappe en mobile (hauteur variable 47-83px) : l'offset exact est posé par JS (ressource #670, section « Header responsive »). Les valeurs ci-dessous sont un REPLI avant JS (bandeau supposé ~40px). */
.wp-block-kadence-header-tablet.kb-header-container{ position: fixed !important; top: 40px !important; left: 0 !important; right: 0 !important; width: 100% !important; z-index: 1000; transition: none !important; animation: none !important; }
body:not(:has(#ipd-webinar)) .wp-block-kadence-header-tablet.kb-header-container{ top: 0px !important; }

/* Décalage sous la barre d'admin WP (aperçu connecté ; sans effet pour les visiteurs). */
body.admin-bar #ipd-webinar{ top: 32px !important; }
body.admin-bar .wp-block-kadence-header-desktop.kb-header-container{ top: 87px !important; }
body.admin-bar:not(:has(#ipd-webinar)) .wp-block-kadence-header-desktop.kb-header-container{ top: 47px !important; }
body.admin-bar .wp-block-kadence-header-tablet.kb-header-container{ top: 72px !important; }
body.admin-bar:not(:has(#ipd-webinar)) .wp-block-kadence-header-tablet.kb-header-container{ top: 32px !important; }
@media screen and (max-width: 782px){
  body.admin-bar #ipd-webinar{ top: 46px !important; }
  body.admin-bar .wp-block-kadence-header-tablet.kb-header-container{ top: 86px !important; }
  body.admin-bar:not(:has(#ipd-webinar)) .wp-block-kadence-header-tablet.kb-header-container{ top: 46px !important; }
}

/* Responsive */ 

@media (max-width: 1140px) {
  .header-middle-row .kadence-header-row-inner {
    display: flex;
    justify-content: space-between;
  }
}

@media (max-width: 499px) {
  .mob-tag .kb-adv-heading-icon {
      display: flex;
      align-items: flex-start;
      justify-content: flex-start;
      margin-top: 5px;
    }
}

/* ==== Aucune animation ni transition sur le header (ex "reveal" kalReveal retiré) ==== */

.wp-block-kadence-header .kb-header-sticky-wrapper,
.wp-block-kadence-header .wp-block-kadence-header-row,
.wp-block-kadence-header .item-is-fixed{ transition: none !important; animation: none !important; }


/* ============================================================
   IPD_MENU_CURRENT - Repère visuel « page courante » dans les menus.
   Les classes/attributs sont posés par la ressource JS #670 (section
   IPD_MENU_CURRENT) : le bloc Kadence Navigation ne les émet pas côté serveur.
   Modèle : ipedis.com/axe-devtools-web (parent actif jaune + icône, lien de
   sous-menu actif en gras).
   ============================================================ */

/* Parent de la section courante (desktop) : libellé en jaune, comme au survol /
   sous-menu ouvert, mais PERSISTANT tant qu'on est sur une page de la section. */
.menu-desktop-principal .menu-item-has-children.current-menu-ancestor > .kb-nav-dropdown-toggle-btn {
    color: #FFCC02 !important;
  border-bottom: 2px solid;
}

/* Son icône (caret « + ») en jaune, SANS rotation (le « + » reste un « + » :
   l'état ouvert/fermé demeure porté par aria-expanded via les règles existantes). */
.menu-desktop-principal .menu-item-has-children.current-menu-ancestor > .kb-nav-dropdown-toggle-btn::before,
.menu-desktop-principal .menu-item-has-children.current-menu-ancestor > .kb-nav-dropdown-toggle-btn::after {
    background: #FFCC02;
}

/* Lien de sous-menu correspondant à la page courante (desktop) : gras. */
.menu-desktop-principal .current-menu-item > a,
.menu-desktop-principal a[aria-current="page"] {
	font-weight: 700 !important;
	text-decoration: none !important;
	background: #f5f1d8;
	border-radius: 4px!important;
}
.menu-desktop-principal a[aria-current="page"] .kt-svg-icon-list-text {
    font-weight: 700 !important;
}

/* Menu mobile (tiroir) : lien de la page courante en gras (repère cohérent avec
   le desktop ; aria-current="page" posé par le même script). */
.ipdbrand a[aria-current="page"],
#main-navigation a[aria-current="page"] {
    font-weight: 700 !important;
	background: #f5f1d8;
    border-radius: 10px !important;
    color: #04162f;
}


/* =====================================================================
   IPD_MENU_HOVER_CLICK — Harmonisation CLIC / SURVOL des parents (menu desktop).
   Contexte : un parent ouvert au CLIC reste épinglé (classe native Kadence
   menu-item--toggled-on, posée par le contrôleur clavier #670) jusqu'au clic
   ailleurs. Avant ce correctif, survoler un AUTRE parent pendant ce temps
   ouvrait aussi son méga-menu -> dropdowns superposés (retour QA).
   Règle : tant qu'UN parent est épinglé au clic, le SURVOL des AUTRES parents
   n'ouvre plus rien. Par défaut (aucun épinglé), le survol ouvre normalement.
   100 % CSS (via :has), aucun impact sur le clavier/ARIA déjà validés : ne
   cible QUE :hover des parents NON épinglés, et uniquement si un parent est
   épinglé (:has(.menu-item--toggled-on)). Les parents épinglés (clic ou
   clavier) ne sont jamais neutralisés.
   ===================================================================== */

/* 1) Méga-menu d'un parent NON épinglé : rester fermé au survol tant qu'un parent est épinglé. */
.menu-desktop-principal:has(.menu-item--toggled-on) .menu-item-has-children:not(.menu-item--toggled-on):hover > .sub-menu {
	visibility: hidden !important;
	opacity: 0 !important;
	clip: rect(1px, 1px, 1px, 1px) !important;
	pointer-events: none !important;
}

/* 2) Caret + libellé des parents NON épinglés, tant qu'un parent est épinglé : rester FERMÉ.
      Règle QA : le « + » ne passe en « × » QUE si le sous-menu est réellement déployé.
      - 2a) FORME « + » (pas de rotation) pour TOUS les parents non épinglés, Y COMPRIS la page
            courante (son caret restait jaune mais tournait à tort en « × » au survol).
      - 2b) COULEUR « fermée » (crème) seulement hors page courante ; .current-menu-ancestor
            conserve son jaune (caret + libellé = indicateur de page active). */
.menu-desktop-principal:has(.menu-item--toggled-on) .menu-item-has-children:not(.menu-item--toggled-on):hover .kb-nav-dropdown-toggle-btn::before,
.menu-desktop-principal:has(.menu-item--toggled-on) .menu-item-has-children:not(.menu-item--toggled-on) .kb-nav-dropdown-toggle-btn[aria-expanded="true"]::before {
	transform: translate(-50%, -50%) !important;
}
.menu-desktop-principal:has(.menu-item--toggled-on) .menu-item-has-children:not(.menu-item--toggled-on):hover .kb-nav-dropdown-toggle-btn::after,
.menu-desktop-principal:has(.menu-item--toggled-on) .menu-item-has-children:not(.menu-item--toggled-on) .kb-nav-dropdown-toggle-btn[aria-expanded="true"]::after {
	transform: translate(-50%, -50%) rotate(90deg) !important;
}
.menu-desktop-principal:has(.menu-item--toggled-on) .menu-item-has-children:not(.menu-item--toggled-on):not(.current-menu-ancestor):hover .kal-nav-btn,
.menu-desktop-principal:has(.menu-item--toggled-on) .menu-item-has-children:not(.menu-item--toggled-on):not(.current-menu-ancestor) .kal-nav-btn[aria-expanded="true"] {
	color: #FFFDED !important;
}
.menu-desktop-principal:has(.menu-item--toggled-on) .menu-item-has-children:not(.menu-item--toggled-on):not(.current-menu-ancestor):hover .kb-nav-dropdown-toggle-btn::before,
.menu-desktop-principal:has(.menu-item--toggled-on) .menu-item-has-children:not(.menu-item--toggled-on):not(.current-menu-ancestor):hover .kb-nav-dropdown-toggle-btn::after,
.menu-desktop-principal:has(.menu-item--toggled-on) .menu-item-has-children:not(.menu-item--toggled-on):not(.current-menu-ancestor) .kb-nav-dropdown-toggle-btn[aria-expanded="true"]::before,
.menu-desktop-principal:has(.menu-item--toggled-on) .menu-item-has-children:not(.menu-item--toggled-on):not(.current-menu-ancestor) .kb-nav-dropdown-toggle-btn[aria-expanded="true"]::after {
	background: #FFFDED !important;
}


/* ---------------------------------------------------------------------------
   Correctif espaces dans les titres d'accordeon (2026-10-04)
   display:flex sur un conteneur de texte supprime les espaces autour des
   balises en ligne (sigles du glossaire, em, a...). On repasse le titre en
   flux normal ; le badge <strong> reste un bloc flex en ligne, aligne au
   milieu, avec sa marge droite existante (15px).
   --------------------------------------------------------------------------- */
.ipd-custom-acc .kt-blocks-accordion-title {
	display: block;
}

.ipd-custom-acc .overflow-tab .kt-blocks-accordion-title {
	display: flex;
	gap: 7px;
	margin-bottom: 10px;

}

.ipd-custom-acc h3 strong {
	display: inline-flex;
	vertical-align: middle;
}

@media screen and (max-width: 1023px) {
	.ipd-custom-acc .kt-blocks-accordion-title {
		display: flex !important;
	}
}


/* ---------------------------------------------------------------------------
   Correctif espaces - listes a badge et accordeon pays (2026-10-04)
   Meme principe que pour .ipd-custom-acc : un conteneur de texte ne doit pas
   etre en display:flex (les espaces autour des balises en ligne sont perdus,
   ou remplaces par le gap). Le titre repasse en flux normal, le gap est
   remplace par une marge droite sur le badge <strong>.
   --------------------------------------------------------------------------- */
.dates-lists .title {
	display: block;
	gap: 0;
}

.dates-lists strong {
	display: inline-flex;
	vertical-align: middle;
	margin-right: 20px;
}

.simple-order li .title {
	display: block;
	gap: 0;
}

.simple-order li .title strong {
	display: inline-flex;
	vertical-align: middle;
	margin-right: 15px;
}

.ipd-pays-acc .kt-blocks-accordion-title {
	display: block;
	gap: 0;
}

.ipd-pays-acc h3 strong {
	display: inline-flex;
	vertical-align: middle;
	margin-right: 15px;
}

/* Drapeau du titre pays : l'image est en display:block par le theme (global.min.css), on la remet en ligne. */
.ipd-pays-acc .kt-blocks-accordion-title img {
	display: inline-block;
	vertical-align: middle;
	margin-right: 15px;
}

@media screen and (max-width: 767.98px) {
	.dates-lists .title,
	.simple-order li .title {
		display: block;
	}

	.dates-lists strong {
		display: flex;
		margin-right: 0;
		margin-bottom: 20px;
	}

	.simple-order li .title strong {
		display: flex;
		margin-right: 0;
		margin-bottom: 15px;
	}
}

@media (max-width: 600px) {
    .ipedis-filter--select .ipedis-filter__field {
        width: 100%;
        box-sizing: border-box;
        justify-content: space-between;
    }
}

/* IPD_MOBILE_ACTIVE_PARENT — Parent actif du tiroir mobile : soulignement jaune
   (équivalent desktop) ; aria-current="true" posé par #670. */
.ipdbrand .submenu-trigger[aria-current="true"] {
    text-decoration: underline !important;
    background-color: #f5f1d8 !important;
    border-radius: 10px !important;
    color: #04162f !important;
    text-underline-offset: .25em;
	background-blend-mode: difference;
}

/* === Ressource #64 — css_footer === */
/*----EAA FORM----*/
.cf-wrap {
      --cf-error:   #9B1C1C;
      --cf-success: #0F5132;
      --cf-border:  #5C6670; /* field borders: >3:1 on cream #F5F1D8 (WCAG 1.4.11) */
      
    }
    .cf-note { 
      font-size: 12px; 
      color: var(--global-palette3); 
      margin-bottom: 1.5rem; 
    }

    .cf-row { 
      display: grid; 
      grid-template-columns: 1fr 1fr; 
      gap: 1rem; 
    }

    .cf-field { 
      margin-bottom: 1.25rem; 
    }
    .cf-field label { 
      display: block; 
      font-size: 14px; 
      font-weight: 500; 
      color: var(--global-palette3); 
      margin-bottom: 6px; 
    }

    .cf-req { 
      color: var(--cf-error); 
      margin-left: 2px; 
      font-size: 13px; 
    }

    .cf-field input,
    .cf-field select {
      width: 100%; 
      padding: 10px 12px;
      border: 1px solid var(--cf-border); 
      border-radius: 6px;
      font-size: 15px; 
      background: var(--global-palette9); 
      color: var(--global-palette3);
    }
    .cf-field input:focus,
    .cf-field select:focus { 
      outline: 2px solid var(--global-palette1); 
      outline-offset: 2px; 
    }

    .cf-field input[aria-invalid="true"],
    .cf-field select[aria-invalid="true"] { 
      border-color: var(--cf-error); 
    }

    .cf-error { 
      display: block; 
      font-size: 13px; 
      color: var(--cf-error); 
      margin-top: 0; 
    }

    .cf-error:not(:empty) { 
      margin-top: 4px; 
    }
 
    .cf-footer {
      display: flex; 
      align-items: center; 
      justify-content: space-between;
      gap: 1.5rem;
      border-top: 1px solid var(--global-palette7);
      padding-top: 1.25rem; margin-top: 0.5rem;
    }
    .cf-legal {
      font-size: 13px; line-height: 1.5;
      color: var(--global-palette4);
      margin: 0; max-width: 60%;
    }
    .cf-legal a { 
      color: var(--global-palette3); 
      text-decoration: underline; 
    }
 
    #cf-submit {
      display: inline-flex; 
      align-items: center; 
      gap: 10px;
      padding: 4px 12px 4px 4px;
      font-size: 15px; 
      font-weight: 600;
      text-transform: uppercase; 
      letter-spacing: 1px;
      cursor: pointer;
      border: 1px solid #04162F; 
      border-radius: 8px;
      background-color: #04162F; 
      color: #ffffff;
      white-space: nowrap; 
      flex-shrink: 0;
      transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    }
    .cf-btn-icon {
      flex-shrink: 0;
      transition: all 0.3s ease;
      background-color: #F5F1D8;
      color: #04162F;
      padding: 4px;
      border-radius: 4px;
      width: 30px;
      height: auto;
    }
    #cf-submit:hover,
    #cf-submit:focus-visible {
      background-color: transparent;
      color: #04162F;
      border-color: #04162F;
    }
    #cf-submit:hover .cf-btn-icon,
    #cf-submit:focus-visible .cf-btn-icon {
      transform: rotate(45deg);
      background-color: transparent;
    }
    #cf-submit:focus-visible {
      outline: 2px solid currentColor;
      outline-offset: 2px;
    }
    #cf-submit[aria-disabled="true"] {
      opacity: 0.6;
      cursor: not-allowed;
    }
    #cf-submit[aria-disabled="true"]:hover,
    #cf-submit[aria-disabled="true"]:focus-visible {
      background-color: #04162F;
      color: #ffffff;
      border-color: #04162F;
    }
    #cf-submit[aria-disabled="true"]:hover .cf-btn-icon,
    #cf-submit[aria-disabled="true"]:focus-visible .cf-btn-icon {
      transform: none;
      background-color: #F5F1D8;
    }
 
    #cf-btn-hint {
      display: block;
      font-size: 14px; color: var(--cf-error);
      max-height: 0; overflow: hidden; opacity: 0;
      margin-top: 0; 
      transition: max-height 0.3s ease, opacity 0.3s ease, margin-top 0.3s ease;
    }
    #cf-btn-hint.is-visible { max-height: 40px; opacity: 1; margin-top: 8px; }
    #cf-status {
      display: block;
      font-size: 14px;
      max-height: 0; overflow: hidden; opacity: 0;
      margin-top: 0;
      transition: max-height 0.3s ease, opacity 0.3s ease, margin-top 0.3s ease;
    }
    #cf-status.is-visible { 
      max-height: 60px; 
      opacity: 1; 
      margin-top: 1rem; 
    }
    #cf-status.success { 
      color: var(--cf-success); 
    }
    #cf-status.error   { 
      color: var(--cf-error); 
    }
    @media (max-width: 450px) {
      #cf-btn-hint.is-visible, #cf-status.is-visible { 
        max-height: 80px; 
      }
    }
    @media (prefers-reduced-motion: reduce) {
      #cf-submit, .cf-btn-icon, #cf-btn-hint, #cf-status { 
        transition: none; 
      }
    }
 
    @media (max-width: 600px) {
      .cf-row { 
        grid-template-columns: 1fr; 
      }
      .cf-footer { 
        flex-direction: column; 
        align-items: stretch; 
      }
      .cf-legal { 
        max-width: 100%; 
      }
      #cf-submit { 
        justify-content: center; 
        width: fit-content;
      }
      #cf-btn-hint { 
        text-align: 
        left; 
      }
    }
/*--------------------*/
/*----NEWSLETTER FORM----*/

.news-sr-only {
  width: 1px;
  height: 1px;
  padding: 0px;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0px;
  position: absolute !important;
}

.nl-form {
	margin-bottom: 0px !important;
}
.nl-wrap { 
    max-width: 100%; 
    
}

.nl-wrap label { 
    display: block; 
    font-size: 18px; 
    font-weight: 500; 
    color: #ffffff; 
    margin-bottom: 6px; 
}

.nl-input {
    width: 100%;
    padding: 16px 12px !important;
    border-radius: 10px !important;
    background-color: #FFFDED !important;
	color: #04162F !important;
    border-color: rgba(4, 22, 47, 0.6) !important;
}

.nl-input:focus-visible {
  outline: 2px solid #04162F;
  outline-offset: 2px;
}

.nl-input:focus {
  outline: 2px solid #04162F !important;
  outline-offset: 2px;
}

#nl-email[aria-invalid="true"] { 
    border-color: rgba(4, 22, 47, 0.6) !important;
}


#nl-status { 
    font-size: 14px; 
	max-height: 0;
  overflow: hidden;
  opacity: 0;
  margin-top: 0;
  transition: max-height 0.3s ease, opacity 0.3s ease, margin-top 0.3s ease;
}

#nl-status.is-visible {
  max-height: 40px;
  opacity: 1;
  margin-top: 0.75rem; /* match your Figma spacing */
}

#nl-status.success { 
    color: #127e4b; 
}

#nl-status.error { 
    color: #9B1C1C; 
}

.nl-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 4px 12px 4px 4px;
  margin-top: 12px;
  border-radius: 8px;
  border: 1px solid #04162F;
  background-color: #04162F;
  color: #ffffff;
  letter-spacing: 1px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.nl-btn-icon {
  flex-shrink: 0;
  transition: all 0.3s ease;
  background-color: #F5F1D8;
  color: #04162F;
  padding: 4px;
  border-radius: 4px;
  width: 30px;
  height: auto;
}

.nl-btn:hover,
.nl-btn:focus-visible {
  background-color: transparent;
  color: #04162F;
  border-color: #04162F;
}

.nl-btn:hover .nl-btn-icon,
.nl-btn:focus-visible .nl-btn-icon {
  transform: rotate(45deg);
  background-color: transparent;
}

.nl-btn:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.nl-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.nl-btn[aria-disabled="true"] {
  opacity: 0.6;
  cursor: not-allowed;
}
.nl-btn[aria-disabled="true"]:hover,
.nl-btn[aria-disabled="true"]:focus-visible {
  background-color: #04162F;
  color: #ffffff;
  border-color: #04162F;
}
.nl-btn[aria-disabled="true"]:hover .nl-btn-icon,
.nl-btn[aria-disabled="true"]:focus-visible .nl-btn-icon {
  transform: none;
  background-color: #F5F1D8;
}

.nl-input::placeholder {
  color: #595959;
	opacity: 1;
  letter-spacing: 0.5px;
}
.nl-input::-webkit-input-placeholder {
  color: rgba(111, 111, 111, 0.5);
}

.nl-btn-hint {
  display: block;
  font-size: 14px;
  color: #9B1C1C;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  margin-top: 0;
  transition: max-height 0.3s ease, opacity 0.3s ease, margin-top 0.3s ease;
}
.nl-btn-hint.is-visible {
  max-height: 40px;
  opacity: 1;
  margin-top: 6px;
}
@media (max-width: 450px) {
  .nl-btn-hint.is-visible, #nl-status.is-visible {
    max-height: 60px;
  }
}

/*----------------------------*/
/*Footer list - "footer .default-list" à supprimer car non utilisé suite changemement structure*/
footer .default-list nav ul li a {
	transition: all .3s ease !important;
	font-size: 16px;
	text-decoration: none;
	position: relative;
	width: fit-content !important;
	padding-bottom: 0px !important;
	padding-top: 0px !important;
}

footer .default-list nav ul li a::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background-color: #ffffff;
	transition: all .3s ease;
}

footer .default-list nav ul li a:hover::before, 
footer .default-list nav ul li a:focus::before,
footer .default-list nav ul li a:active::before {
	width: 100%;
}

/*Footer list - "footer .default-list" à supprimer car non utilisé suite changemement structure*/
/*----------------------------*/

.outil-list {
	display: flex;
    flex-direction: column;
    align-items: flex-start;
	gap: 7px;
	list-style-type: none;
    margin: 0 0 28px;
	padding: 0!important;
}

.outil-list li {
	line-height: 1.1;
}
.outil-list li a {
	transition: all .3s ease !important;
	font-size: 15px;
	text-decoration: none;
	position: relative;
	width: fit-content !important;
	padding-bottom: 0px !important;
	padding-top: 0px !important;
}



.outil-list li a::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background-color: #ffffff;
	transition: all .3s ease;
}

.outil-list li a:hover::before, 
.outil-list li a:focus::before,
.outil-list li a:active::before
{
	width: 100%;
}

.bottom-info ul.bottom-list {
    display: flex;
    gap: 20px;
    margin: 0;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

@media (max-width: 1024px) {
	.bottom-info ul.bottom-list {
		border-left: 0px solid #04162F;
    	padding-left: 0px;
		border-top: 1px solid #04162F;
    	padding-top: 20px;
		gap: 10px;
        text-align: center;
        list-style-type: none;
        flex-direction: column;
        text-align: center;
        
	}
	
	/*.bottom-info ul.bottom-list li:nth-child(1) {
    list-style: initial !important;
	}*/
}

@media (min-width: 1025px) {
.w1200 {
	max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
}

/* @media (min-width: 1025px) and (max-width: 1181px) {
	.bottom-info ul.bottom-list {
		margin-top: 20px;
		border-left: 0px solid #04162F;
    	padding-left: 0px;
	}
} */


.bottom-info ul.bottom-list li {
    color: #04162F;
	text-align: center;
	line-height: 1;
    font-size: 15px;
    letter-spacing: 1px;
	font-weight: 600;
}

.bottom-info ul.bottom-list li:nth-child(1) {
    list-style: none;
}

.bottom-info ul.bottom-list a {
    color: #04162F;
	transition: all .3s ease !important;
	text-decoration: none;
	position: relative;
	width: fit-content !important;
}

.bottom-info ul.bottom-list li a::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background-color: #04162F;
	transition: all .3s ease;
}

.bottom-info ul.bottom-list li a:hover::before, 
.bottom-info ul.bottom-list li a:focus::before,
.bottom-info ul.bottom-list li a:active::before
{
	width: 100%;
}

.bottom-info ul.bottom-list li:last-child {
    border-right: none;
    padding-right: 0;
}

@media (max-width: 410px) {
      .logo-list li img {
    max-width: 38px !important;
}
    }

/* === Ressource #674 — Mobile/Webinar CSS === */
/* MENU MOBILE */

/*----ICON MENU MOBILE-----*/
.ipdbrand .submenu ul.audit-nav-1 > li:nth-child(1) > a::before {background: url(/wp-content/uploads/2026/10/ListMagnifyingGlass.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.audit-nav-1 > li:nth-child(2) > a::before {background: url(/wp-content/uploads/2026/10/Browser.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.audit-nav-1 > li:nth-child(3) > a::before {background: url(/wp-content/uploads/2026/10/DeviceMobile.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.audit-nav-1 > li:nth-child(4) > a::before {background: url(/wp-content/uploads/2026/10/Swatches.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.audit-nav-1 > li:nth-child(5) > a::before {background: url(/wp-content/uploads/2026/10/Display.svg) center / contain no-repeat;}

.ipdbrand .submenu ul.audit-nav-2 > li:nth-child(1) > a::before {background: url(/wp-content/uploads/2026/10/Handshake.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.audit-nav-2 > li:nth-child(2) > a::before {background: url(/wp-content/uploads/2026/10/Schema.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.audit-nav-2 > li:nth-child(3) > a::before {background: url(/wp-content/uploads/2026/10/FilePdf.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.audit-nav-2 > li:nth-child(4) > a::before {background: url(/wp-content/uploads/2026/10/AppWindow.svg) center / contain no-repeat;}
/*----------------*/

.ipdbrand .submenu ul.formation-nav-1 > li:nth-child(1) > a::before {background: url(/wp-content/uploads/2026/10/Formation.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.formation-nav-1 > li:nth-child(2) > a::before {background: url(/wp-content/uploads/2026/10/FileArrowDown.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.formation-nav-1 > li:nth-child(3) > a::before {background: url(/wp-content/uploads/2026/10/Finance.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.formation-nav-1 > li:nth-child(4) > a::before {background: url(/wp-content/uploads/2026/10/ChalkboardTeacher.svg) center / contain no-repeat;}

.ipdbrand .submenu ul.formation-nav-2 > li:nth-child(1) > a::before {background: url(/wp-content/uploads/2026/10/SealCheck.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.formation-nav-2 > li:nth-child(2) > a::before {background: url(/wp-content/uploads/2026/10/Code.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.formation-nav-2 > li:nth-child(3) > a::before {background: url(/wp-content/uploads/2026/10/Design.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.formation-nav-2 > li:nth-child(4) > a::before {background: url(/wp-content/uploads/2026/10/MonitorPlay.svg) center / contain no-repeat;}
/*----------------*/

.ipdbrand .submenu ul.ressources-nav-1 > li:nth-child(1) > a::before {background: url(/wp-content/uploads/2026/10/Law.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.ressources-nav-1 > li:nth-child(2) > a::before {background: url(/wp-content/uploads/2026/10/Gavel.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.ressources-nav-1 > li:nth-child(3) > a::before {background: url(/wp-content/uploads/2026/10/PersonArmsSpread.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.ressources-nav-1 > li:nth-child(4) > a::before {background: url(/wp-content/uploads/2026/10/RocketLaunch.svg) center / contain no-repeat;}

.ipdbrand .submenu ul.ressources-nav-2 > li:nth-child(1) > a::before {background: url(/wp-content/uploads/2026/10/Newspaper.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.ressources-nav-2 > li:nth-child(2) > a::before {background: url(/wp-content/uploads/2026/10/BookOpenText.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.ressources-nav-2 > li:nth-child(3) > a::before {background: url(/wp-content/uploads/2026/10/VideoConference.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.ressources-nav-2 > li:nth-child(4) > a::before {background: url(/wp-content/uploads/2026/10/Swatches.svg) center / contain no-repeat;}
/*----------------*/

.ipdbrand .submenu ul.societe-nav > li:nth-child(1) > a::before {background: url(/wp-content/uploads/2026/10/Group.svg) center / contain no-repeat;}
.ipdbrand .submenu ul.societe-nav > li:nth-child(2) > a::before {background: url(/wp-content/uploads/2026/10/NewspaperClipping.svg) center / contain no-repeat;}
/*--------------------*/

.ipdbrand-opened body {
  overflow: hidden;
}
.ipdbrand {
  right: auto;
  left: 0;
  background-color: #ffffff;
  color: #404143;
  width: 390px;
  bottom: 0;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
  pointer-events: none;
  position: fixed;
  top: 0;
  transform: translateX(-100%) translateZ(0px);
  z-index: 1011;
  max-width: 100%;
}
.ipdbrand:not(.no-transition),
.ipdbrand .submenu:not(.no-transition) {
  transition: all 250ms;
}
.ipdbrand.opened {
  pointer-events: auto;
  transform: translateX(0px) translateZ(0px);
  padding: 0 32px 32px;
  transition: transform .5s cubic-bezier(.75, 0, .175, 1), visibility .5s cubic-bezier(.75, 0, .175, 1);
}
.ipdbrand.submenu-opened {
  overflow: hidden;
}
.ipdbrand ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  margin: 20px auto;
}
.ipdbrand > ul {
  padding-top: 0;
}
.ipdbrand ul > li {
  display: block;
  padding: 0 15px;
}
.ipdbrand ul > li > a,
.ipdbrand ul > li > button.submenu-trigger {
  width: 100%;
  text-align: left;
  border: none;
  border-bottom: 1px solid #e8e8e8;
  cursor: pointer;
  font-family: inherit;
  color: #2E3243;
  display: block;
  font-size: 18px;
  font-weight: 600;
  padding: 20px;
  text-decoration: none;
  transition: all 150ms;
}
.ipdbrand .submenu ul > li > a:active, .ipdbrand ul > li > button.submenu-trigger:active, .ipdbrand .submenu ul > li > a:focus, .ipdbrand ul > li > button.submenu-trigger:focus {
  border-radius: 50px;
  background-color: #2E3243;
  color: white;
}
.ipdbrand ul > li.has-submenu > button.submenu-trigger {
  position: relative;
  background-image: url(/wp-content/uploads/2026/02/submenu-arrow.svg);
  background-position: right 20px center;
  background-repeat: no-repeat;
  background-size: 7px 15px;
  color: #2E3243;
  display: block;
  font-size: 18px;
  font-weight: 600;
  padding: 20px;
  text-decoration: none;
  transition: all 150ms;
  border-bottom: 1px solid #DCDCDC;
  background-color: transparent;
}
.ipdbrand ul > li.has-submenu > button.submenu-trigger:active, .ipdbrand ul > li.has-submenu > button.submenu-trigger:focus {
  background-image: url(/wp-content/uploads/2026/02/arrow-white.svg);
  border-radius: 50px;
  background-color: #2E3243;
  color: white;
}
.ipdbrand ul > li > a:hover,
.ipdbrand ul > li > button.submenu-trigger:hover {
  background-color: #DCDCDC;
  border-radius: 50px;
}
.ipdbrand .submenu {
  background-color: #ffffff;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;       /* couvre tout le tiroir ; le padding ci-dessous inset le contenu de 15px */
  right: 0;
  width: auto;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
  pointer-events: none;
  z-index: 1;
  transform: translateX(100%);   /* fermé : hors écran à droite */
  will-change: transform;
}
/* Sous-menus (niveau 2) : glissement fluide (drill-down). Le panneau entre
   par la droite à l'ouverture, ressort par la droite au retour. Positionné en
   absolute DANS le tiroir (overflow-x:hidden) -> aucun débordement horizontal.
   Fermé = visibility:hidden (retiré du focus + lecteur d'écran, tous
   navigateurs) + inert posé par le JS (navigateurs modernes). */
.ipdbrand .submenu:not(.no-transition) {
  transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.38s;
}
.ipdbrand .submenu.opened {
  transform: translateX(0);
  pointer-events: auto;
  z-index: 10;
  padding: 0 32px;
}
.ipdbrand .submenu[aria-hidden="true"] {
  visibility: hidden;
  pointer-events: none;
  transform: translateX(100%);
}
.ipdbrand .submenu[aria-hidden="false"] {
  visibility: visible;
  transform: translateX(0);
}
@media (prefers-reduced-motion: reduce) {
  .ipdbrand .submenu:not(.no-transition) { transition: none; }
}

.ipdbrand-hidden {
  visibility: hidden !important;
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.ipdbrand .submenu-header .submenu-close-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  padding: 0px;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
  background: #eff7ff;
  box-shadow: none;
}

.ipdbrand .submenu-header .submenu-back-btn {
  display: flex;  
  align-items: center;
  justify-content: right;
  flex: 1;
  padding: 0 10px;
  height: 50px;
  border: none;
  cursor: pointer;
  font-weight: 600;
  color: #404143;
  font-family: inherit;
  text-align: left;
  gap: 15px;
  background: #eff7ff;
  border-left: 1px solid #767676;
  margin-left: 0px;
  box-shadow: none;
}
.ipdbrand .submenu-header .submenu-back-btn:hover {
  outline: 2px solid #474747;
  outline-offset: -2px;
}
.ipdbrand .submenu-header .submenu-back-btn .back-icon {
  width: 20px;
}
.ipdbrand .submenu-header .submenu-back-btn .back-label {
  color: #2E3243;
  font-size: 18px;
  font-weight: 600;
}
.ipdbrand-close-btn {
  display: flex;
  align-items: center;
  gap: 15px;
  text-decoration: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  color: #2E3243;
  box-shadow: 0px 0px 7px 0px rgba(32, 114, 183, 0.1);
  border: 1px solid rgba(32, 114, 183, 0.1);
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  background: #f0f7ff;
  height: 70px;
  padding: 20px;
  font-size: 18px;
  font-weight: 600;
  transition: all 150ms;
}
.ipdbrand-close-btn:active, .ipdbrand-close-btn:focus {
  color: #2E3243;
}
.ipdbrand-close-btn:hover {
  background-color: #f0f7ff;
  color: #2072b7;
}
.close-div {
    padding: 5px;
    border-radius: 50%;
}
.ipdbrand-close-btn:hover .close-div, .submenu-close-btn:hover .close-div {
    background: #2072b7;
}
.close-div, .close-icon {
  transition: all 250ms;
}
.ipdbrand-close-btn:hover .close-icon, .submenu-close-btn:hover .close-icon {
  filter: brightness(0) saturate(100%) invert(1);
}
.close-icon {
  width: 25px;
}
.ipdbrand-overlay {
  background-color: rgba(0, 0, 0, .42);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1010;
}
.ipdbrand-opened .ipdbrand-overlay {
  display: block;
}
a.ipdbrand-logo:focus-within {
	background: transparent;
	border-radius: 0 !important;
	outline: 3px solid #1a1a1a !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px #ffffff !important;
}
.ipdbrand a:focus-visible, .ipdbrand button:focus-visible {
  outline: 2px solid #474747;
  outline-offset: -2px;
  background-color: #f0f7ff;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* =====================================================================
   Ipedis - Menu mobile : habillage d'après la maquette Figma (2026-07-17)
   Tokens : navy #04162f · jaune #FFCC02 · crème #FFFDED · beige #F5F1D8
   ===================================================================== */

/* Fond crème du tiroir et des sous-menus */
.ipdbrand,
.ipdbrand .submenu {
  background-color: #FFFDED;
}

/* Fiabilité focus : pas d'animation de visibilité/position sur les éléments
   révélés (retrait de .ipdbrand-hidden). Le glissement du tiroir reste animé. */
.ipdbrand ul.parent-nav > li > button.submenu-trigger,
.ipdbrand .ipdbrand-logo,
.ipdbrand .ipdbrand-cta,
.ipdbrand ul.ipdbrand-legal > li > a {
  transition-property: background-color, color, border-radius, outline-color, filter;
}

/* ---------- En-tête du tiroir : barre bleu nuit, logo + fermer -------- */
.ipdbrand .ipdbrand-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  height: 50px;
  padding: 0 12px;
  margin: 20px 0 24px;
  background: #04162f;
  border-radius: 8px;
}
.ipdbrand .ipdbrand-logo {
  display: inline-flex;
  align-items: center;
  padding: 0;
}
.ipdbrand .ipdbrand-logo img {
  display: block;
  width: 104px;
  height: auto;
}

/* ---------- Boutons carrés (fermer / retour) : le SVG EST le carré ---- */
.ipdbrand .ipdbrand-drawer-header .ipdbrand-close-btn,
.ipdbrand .submenu-header .submenu-close-btn,
.ipdbrand .submenu-header .submenu-back-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 30px;      /* zone cliquable ≥ 44px (l'icône reste à 40px) */
  height: 30px;
  min-width: 30px;
  padding: 0;
  gap: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  border-radius: 8px;
  transition: filter 150ms ease, outline-color 150ms ease;
}
.ipdbrand .ipdbrand-drawer-header .ipdbrand-close-btn img,
.ipdbrand .submenu-header .submenu-close-btn img,
.ipdbrand .submenu-header .submenu-back-btn img {
  display: block;
  width: 30px;
  height: 30px;
}
.ipdbrand .ipdbrand-drawer-header .ipdbrand-close-btn:hover,
.ipdbrand .submenu-header .submenu-close-btn:hover,
.ipdbrand .submenu-header .submenu-back-btn:hover {
  background: transparent;
  filter: brightness(0.92);
}
.ipdbrand .ipdbrand-drawer-header .ipdbrand-close-btn:focus-visible,
.ipdbrand .submenu-header .submenu-close-btn:focus-visible,
.ipdbrand .submenu-header .submenu-back-btn:focus-visible {
  outline: 2px solid #FFFDED;
  outline-offset: 2px;
}

/* ---------- En-tête de sous-menu : barre bleu nuit (retour + fermer) -- */
.ipdbrand .submenu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  height: 50px;
  padding: 0 10px;
  margin: 20px 0 24px;
  background: #04162f;
  border: none;
  border-radius: 8px;
  box-shadow: none;
}
/* Titre de sous-menu (sous la barre) */
.ipdbrand .ipdbrand-submenu-title {
  margin: 0 12px 24px;
  padding: 0;
  color: #04162f;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}

/* ---------- Items de 1er niveau : texte + chevron (carré beige) ------- */
.ipdbrand ul.parent-nav { 
    margin: 0px auto 24px;
    border-bottom: 1px solid #BBBBBB;
	padding: 0;
    padding-bottom: 12px;
}
.ipdbrand ul.parent-nav > li { padding: 0; }
.ipdbrand ul.parent-nav > li > button.submenu-trigger,
.ipdbrand ul.parent-nav > li.has-submenu > button.submenu-trigger {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 14px 12px;
  color: #04162f;
  font-size: 18px;
  font-weight: 600;
  text-align: left;
  background-color: transparent;
  background-image: url(/wp-content/uploads/2026/07/CTA.svg);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 30px 30px;
  border: none;
  border-bottom: none;
  border-radius: 0;
  transition: background-color 150ms ease, color 150ms ease, border-radius 150ms ease;
}

/* Survol / focus / actif : fond navy, texte crème */
.ipdbrand ul.parent-nav > li > button.submenu-trigger:hover,
.ipdbrand ul.parent-nav > li.has-submenu > button.submenu-trigger:hover,
.ipdbrand ul.parent-nav > li > button.submenu-trigger:active,
.ipdbrand ul.parent-nav > li.has-submenu > button.submenu-trigger:active {
  background-color: #04162f;
  color: #FFFDED;
  border-radius: 12px;
}
.ipdbrand ul.parent-nav > li > button.submenu-trigger:focus-visible,
.ipdbrand ul.parent-nav > li.has-submenu > button.submenu-trigger:focus-visible {
  background-color: #04162f;
  color: #FFFDED;
  border-radius: 12px;
  outline: 2px solid #FFCC02;
  outline-offset: -2px;
}

/* ---------- Items de sous-menu : icône + texte ---------------------- */
.ipdbrand .submenu ul { margin: 0 auto 24px; }
.ipdbrand .submenu ul > li { padding: 0; }
.ipdbrand .submenu ul > li > a {
  display: flex;
  align-items: start;
  gap: 16px;
  width: 100%;
  padding: 12px 10px;
  color: #04162f;
  font-size: 18px;
  font-weight: 500;
  text-decoration: none;
  border: none;
  border-radius: 0;
  transition: background-color 150ms ease, color 150ms ease, border-radius 150ms ease;
}
.ipdbrand .submenu ul > li > a::before {
  content: '';
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  background-color: var(--global-palette13) !important;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 5px;
  background-size: 77% !important; /*so the icon sits inside the colored box */
  
}

.ipdbrand .submenu ul > li > a:hover,
.ipdbrand .submenu ul > li > a:active {
  background-color: var(--global-palette13);
  color: var(--global-palette4, #2D3748);
  border-radius: 4px;
}
.ipdbrand .submenu ul > li > a:focus-visible {
  background-color: var(--global-palette13);
  color: var(--global-palette4, #2D3748);
  border-radius: 4px;
  outline: 2px solid #FFCC02;
  outline-offset: -2px;
}

/* ---------- Pastilles de catégorie ----------------------------------- */
.ipdbrand .ipdbrand-cat {
	display: inline-block;
    margin: 0 12px 24px;
    padding: 6px 12px;
    border-radius: 10px;
    background: #B9E9FF;
    color: #04162f;
    font-size: 16px;
    font-weight: 800;
}

/* ---------- CTA de pied de sous-menu (encart beige) ------------------ */
.ipdbrand .ipdbrand-submenu-cta {
	margin: 0 0 46px;
    padding: 18px;
    background: var(--global-palette6);
    border-radius: 10px;
}
.ipdbrand .ipdbrand-submenu-cta-text {
  margin: 0 0 12px;
  color: #04162f;
  font-size: 15px;
  font-weight: 500;
}
.ipdbrand .ipdbrand-btn-arrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #04162f;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
}
.ipdbrand .ipdbrand-btn-arrow:hover { text-decoration: underline; }
.ipdbrand .ipdbrand-btn-arrow:focus-visible {
  outline: 2px solid #04162f;
  outline-offset: 3px;
  border-radius: 4px;
}

/* ---------- Icône flèche ↗ (SVG Bouton.svg, en currentColor) --------- */
.ipdbrand .ipdbrand-arrow {
  display: inline-block;
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  background-color: currentColor;
  -webkit-mask: url(/wp-content/uploads/2026/07/Bouton.svg) center / contain no-repeat;
          mask: url(/wp-content/uploads/2026/07/Bouton.svg) center / contain no-repeat;
}

/* ---------- Boutons d'action : Contact / IpedisConnect --------------- */
.ipdbrand .ipdbrand-actions {
	display: flex;
    flex-direction: column;
    gap: 24px;
    margin: 0;
    border-bottom: 1px solid #BBBBBB;
    padding: 0 12px 24px;
}
.ipdbrand .ipdbrand-cta {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 6px 12px 6px 6px;
  border-radius: 4px;
  text-decoration: none;
  font-size: 17px;
  font-weight: 700;
  color: #04162f;
  text-transform: uppercase;
  transition: filter 150ms ease, outline-color 150ms ease;
  width: fit-content;
}
.ipdbrand .ipdbrand-cta-contact { background: #FFCC02; }
.ipdbrand .ipdbrand-cta-connect { background: #CABDF2; }
.ipdbrand .ipdbrand-cta:hover { filter: brightness(0.95); }
.ipdbrand .ipdbrand-cta:focus-visible {
  outline: 2px solid #04162f;
  outline-offset: 2px;
}

/* ---------- Liens de pied + adresse ---------------------------------- */
.ipdbrand ul.ipdbrand-legal {
	margin: 0;
    margin-bottom: 24px;
    padding: 24px 12px;
    
}
.ipdbrand ul.ipdbrand-legal > li {
  display: block;
  padding: 0;
}
.ipdbrand ul.ipdbrand-legal > li > a {
    display: inline-block;
    width: auto;
    padding: 0;
    border: none;
    color: #04162f;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 4px;
}
.ipdbrand ul.ipdbrand-legal > li > a:hover { text-decoration: underline; background: transparent; }
.ipdbrand ul.ipdbrand-legal > li > a:focus-visible {
  outline: 2px solid #04162f;
  outline-offset: 1px;
}
.ipdbrand .ipdbrand-address {
	margin: 0;
    padding: 0 12px;
    color: #545861;
    font-size: 16px;
    font-weight: 500;
}

/* === Ressource #686 — TOC Scrollspy - Style === */
/* ==========================================================================
   Sticky Scroll Progress Nav - reusable component (Ipedis)
   Ported from prototype (sticky-scroll-progress-nav). Classes namespaced
   with `tocsp-` to avoid collisions with Kadence's own `.content`,
   `.site-header`, etc.
   Colours chosen to meet WCAG 1.4.11 (3:1 non-text) / 1.4.3 (4.5:1 text)
   against the card background (#f6f1e8, cream).
   ========================================================================== */

:root {
  --tocsp-ink: #1f1f38;        /* active label / filled dot */
  --tocsp-ink-muted: #4a4a68;  /* inactive dot */
  --tocsp-text-inactive: #55566b; /* inactive link text, checked 4.5:1 on cream */
  --tocsp-line: #7a7a7a;       /* connecting line, ~3.8:1 on cream, safe margin above 3:1 */
  --tocsp-card-bg: #f6f1e8;    /* cream card background from reference design */
  --tocsp-focus: #0b5fff;      /* focus-visible ring, distinct from active-state styling */
}

.tocsp-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 3rem;
  align-items: start;
}

/* ---------- Sticky TOC block ---------- */
.cta-sticky {
  position: sticky;
  top: 195px;
  align-self: start;
  /* Reserve space so 400% zoom / 320px reflow doesn't force overlap silently;
     re-verify with real browser zoom, not just resize. */
  max-height: calc(100vh - 4rem);
}

.tocsp-toc {
  position: sticky;
  top: 195px;
  align-self: start;
  background: var(--global-palette13);
  border-radius: 16px;
  padding: 1.5rem 1.5rem 1.5rem 1.75rem;
  /* Reserve space so 400% zoom / 320px reflow doesn't force overlap silently;
     re-verify with real browser zoom, not just resize. */
  max-height: calc(100vh - 4rem);
  overflow-y: auto;
}

/* ipedis_scrollspy_toc_inject() (inc/toc-scrollspy.php) empties this
   element rather than rendering a broken/empty nav when the content
   column it scanned has fewer than 2 headings - hide the resulting
   blank card outright instead of showing an empty cream box. */
.tocsp-toc:empty {
  display: none;
}

.tocsp-toc__title {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.tocsp-toc ul {
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 1.2rem !important;
  position: relative;
}

.tocsp-toc ul::before {
  content: "";
  position: absolute;
  left: -2px;
  top: calc(0.45em + 4px);
  height: var(--tocsp-line-length, calc(100% - (0.45em + 5px) * 2));
  width: 2px;
  background: var(--tocsp-line);
}

/* Progress fill overlay: a second line drawn on top of the grey one,
   whose height is driven by --scroll-progress (0..1) set from script.js.
   Purely decorative - aria-hidden by construction, no semantic meaning. */
.tocsp-toc ul::after {
  content: "";
  position: absolute;
  left: -2px;
  top: calc(0.45em + 4px);
  width: 2px;
  height: calc(var(--tocsp-line-length, calc(100% - (0.45em + 5px) * 2)) * var(--scroll-progress, 0));
  background: var(--tocsp-ink);
  transition: height 0.15s linear;
}

@media (prefers-reduced-motion: reduce) {
  .tocsp-toc ul::after { transition: none; }
}

.tocsp-toc li {
  position: relative;
  margin: 0 0 1.1rem;
}
.tocsp-toc li:last-child { margin-bottom: 0; }

/* Decorative dot per item */
.tocsp-toc li::before {
  content: "";
  position: absolute;
  left: -1.5rem;
  top: 0.45em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--tocsp-ink-muted);
  transition: all 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .tocsp-toc li::before { transition: none; }
}

.tocsp-toc a {
  display: inline-block;
  min-height: 24px;
  min-width: 24px;
  padding: 0.35rem 0.25rem;
  margin: -0.35rem -0.25rem;
  color: var(--tocsp-text-inactive);
  text-decoration: none;
  font-size: 0.95rem;
  line-height: 1.1;
}

/* Focus indicator - distinct from the active/current-section style below */
.tocsp-toc a:focus-visible {
  outline: 3px solid var(--tocsp-focus);
  outline-offset: 2px;
  border-radius: 3px;
}

/* Current section: weight + style + colour + bigger dot - never colour alone */
.tocsp-toc a[aria-current="true"] {
  color: var(--tocsp-ink);
  font-weight: 700;
  transform: skewX(-5deg);
  transition: all 0.3s ease-in-out;
}
.tocsp-toc li:has(a[aria-current="true"])::before {
  width: 12px;
  height: 12px;
	left: -1.65rem;
  background: var(--tocsp-ink);
}

/* ---------- Tracked content ---------- */

.tocsp-content h2,
.tocsp-content h3 {
  scroll-margin-top: 0; /* keeps heading clear of viewport edge on jump */
}
.tocsp-content h2:focus-visible,
.tocsp-content h3:focus-visible {
  outline: 3px solid var(--tocsp-focus);
  outline-offset: 4px;
}

/* ---------- Responsive: no TOC on tablet/mobile ----------
   Below the tablet breakpoint (matches this site's own Kadence
   header/menu breakpoint) the sidebar TOC isn't needed - the article is
   short enough on these screens that readers just scroll manually. Hide
   it outright rather than collapsing it behind a toggle, and let the
   content take the full width. */

@media (max-width: 1024px) {
  .tocsp-layout {
    grid-template-columns: 1fr;
  }
  .tocsp-toc {
    display: none;
  }
  .cta-sticky{
	position: relative;
	top: 0px;
	max-height: 100%;
  }
}


/* Offset sticky : sous le header FIXE. Bandeau présent → header bas ~178px ;
   bandeau fermé (:has) → header remonte, offset réduit. Aligné sur le pattern header. */
body:not(:has(#ipd-webinar)) .tocsp-toc,
body:not(:has(#ipd-webinar)) .cta-sticky { top: 123px; }


/* Offset d'ancrage des titres quand le bandeau est fermé. */
body:not(:has(#ipd-webinar)) .tocsp-content h2,
body:not(:has(#ipd-webinar)) .tocsp-content h3 { scroll-margin-top: 0; }


/* Ancrage des titres (clic TOC / lien #) : offset = niveau des sidebars, jamais
   sous le header + bandeau. scroll-padding sur le conteneur de défilement (standard,
   respecté par scrollIntoView et les ancres natives). */
html { scroll-padding-top: 195px; }
html:not(:has(#ipd-webinar)) { scroll-padding-top: 123px; }

/* -----------------------------------------------------------------------------
   Sommaire : hauteur disponible REELLE + barre verticale discrete (RGAA 2.4.11).

   Le seul defaut de fond etait la HAUTEUR : `max-height: calc(100vh - 4rem)` (plus haut)
   ignore que le sommaire demarre a `top: 195px` (ou 123px sans bandeau). Sa hauteur
   autorisee depassait donc la place restante : le bloc sortait par le BAS de la fenetre et
   ses derniers liens devenaient inatteignables, sans qu'aucune barre n'apparaisse puisqu'il
   n'y avait pas de debordement INTERNE. Mesure : 650px demarrant a 205px dans une fenetre
   de 730px, soit 125px hors ecran.

   La hauteur se deduit du decalage collant REEL via une variable partagee avec les regles
   `top` existantes : les deux ne peuvent plus diverger, et le cas « bandeau ouvert / ferme »
   passe par la meme condition `:has()` que le reste du fichier.

   Le defilement reste porte par `.tocsp-toc` lui-meme, exactement comme a l'origine
   (`overflow-y: auto` plus haut) : la structure interne, la ligne verticale du scrollspy et
   les angles arrondis ne sont pas touches. On ajoute seulement :
     - `overflow-x: hidden` : JAMAIS de defilement horizontal ;
     - une barre verticale fine et discrete, aux couleurs de la charte ;
     - `scroll-padding-block` : le lien focalise et son anneau ne sont jamais rognes.

   Borne a >=1025px : en dessous le sommaire est masque (bloc @media plus haut, intact).
   -------------------------------------------------------------------------- */
@media (min-width: 1025px) {
  :root { --tocsp-top: 195px; }
  body:not(:has(#ipd-webinar)) { --tocsp-top: 123px; }

  .tocsp-toc,
  .cta-sticky {
    max-height: calc(100vh - var(--tocsp-top) - 1.5rem);
    max-height: calc(100dvh - var(--tocsp-top) - 1.5rem);
  }

  .tocsp-toc {
    overflow-x: hidden;               /* jamais de defilement horizontal */
    scroll-padding-block: 14px;
    scrollbar-width: thin;
    scrollbar-color: rgba(4, 22, 47, 0.25) transparent;
  }

  /* WebKit/Blink : meme finesse, meme discretion que `scrollbar-width: thin`. */
  .tocsp-toc::-webkit-scrollbar { width: 6px; }
  .tocsp-toc::-webkit-scrollbar-track { background: transparent; }
  .tocsp-toc::-webkit-scrollbar-thumb {
    background: rgba(4, 22, 47, 0.25);
    border-radius: 999px;
  }
  .tocsp-toc::-webkit-scrollbar-thumb:hover { background: rgba(4, 22, 47, 0.45); }
}

/* === Ressource #1592 — Bento-grid === */
/*-------BENTO GRID ACCUEIL---*/
.ipedis-bento {
/*   max-width: 660px; */
  margin: 0 auto;
}

@media (max-width: 1024px) {
 .ipedis-bento {
  max-width: 100%;
  margin: 0 auto;
}
	
}
.ipedis-bento .bento-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "cadrer concevoir"
    "cadrer autonomiser"
    "access mesurer"
    "outiller outiller";
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.ipedis-bento .bento-grid > li { display: contents; }

.ipedis-bento .bento-card {
  display: flex;
  border-radius: 16px;
  padding: 24px;
  text-decoration: none;
  color: var(--global-palette3);
  box-sizing: border-box;
  position: relative;
  isolation: isolate;
}

@media (prefers-reduced-motion: no-preference) {
  .ipedis-bento a.bento-card {
      transition: transform .2s ease, box-shadow .2s ease, background-color .3s ease, color .3s ease;
  }
}

  .ipedis-bento a.bento-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(4, 22, 47, 0.12);
  }
  
  .ipedis-bento .card-concevoir:hover,
  .ipedis-bento .card-access:hover,
  .ipedis-bento .card-mesurer:hover {
    background: var(--global-palette3);
	color: var(--global-palette7);
  }

  .ipedis-bento .card-concevoir:hover h3,
  .ipedis-bento .card-access:hover h3,
  .ipedis-bento .card-mesurer:hover h3 {
	color: var(--global-palette7);
  }
  /* Image cards (Cadrer, Outiller): no lift/shadow - just a contained image zoom */
  .ipedis-bento .card-cadrer:hover,
  .ipedis-bento .card-outiller:hover,
  .ipedis-bento .card-autonomiser:hover {
    transform: none;
    box-shadow: none;
  }
  .ipedis-bento a.bento-card img {
    transition: transform .4s ease;
  }
  .ipedis-bento .card-cadrer:hover img,
  .ipedis-bento .card-outiller:hover img,
  .ipedis-bento .card-doc:hover img{
    transform: scale(1.06);
  }

.ipedis-bento .card-autonomiser:hover img {
	transform: scale(1.15);
}

.ipedis-bento .bento-card:focus-visible {
  outline: 2px solid var(--global-palette3);
  outline-offset: 3px;
  border-radius: 18px;
}

.ipedis-bento .bento-card h3 {
  font-size: 30px;
  font-weight: 700;
  line-height: normal;
  /*color: var(--global-palette3);*/
  margin: 0 0 8px;
}
.ipedis-bento .bento-card p {
  font-size: 18px;
  font-weight: 500;
  line-height: 150%;
  letter-spacing: 0.5px;
/*   color: var(--global-palette3); */
  margin: 0;
}

.ipedis-bento .card-concevoir {
  grid-area: concevoir;
  background: var(--global-palette1);
  min-height: 246px;
  align-items: flex-end;
}
.ipedis-bento .card-autonomiser {
  grid-area: autonomiser;
  background: var(--global-palette5);
  min-height: 334px;
  align-items: flex-end;
}
.ipedis-bento .card-access {
  grid-area: access;
  background: var(--global-palette13);
  min-height: 225px;
  align-items: flex-end;
}
.ipedis-bento .card-mesurer {
  grid-area: mesurer;
  background: var(--global-palette6);
  min-height: 205px;
  align-items: flex-end;
}

.ipedis-bento .card-cadrer,
.ipedis-bento .card-outiller,
.ipedis-bento .card-autonomiser {
  align-items: flex-end;
  overflow: hidden;
}
.ipedis-bento .card-cadrer { grid-area: cadrer; }
.ipedis-bento .card-outiller { grid-area: outiller; min-height: 275px; }

.ipedis-bento .bento-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}
.ipedis-bento .bento-card .bento-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(206deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0) 59%);
  z-index: -1;
}

.ipedis-bento .bento-label {
  background: var(--global-palette7);
  border-radius: 16px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.ipedis-bento .bento-label p {
  font-size: 18px;
}

@media (max-width: 640px) {
  .ipedis-bento .bento-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "cadrer"
      "access"
      "outiller"
      "concevoir"
      "autonomiser"
      "mesurer";
  }
  .ipedis-bento .card-cadrer { min-height: 320px; }
	
  .ipedis-bento .card-concevoir,
  .ipedis-bento .card-mesurer,
  .ipedis-bento .card-access {
		align-items: center;
	}
}

@media (min-width: 641px) {
  /* Offset effect: Autonomiser extends half the row-gap (12px) lower
     than Cadrer, instead of finishing flush with it */
  .ipedis-bento .card-autonomiser {
    min-height: calc(334px + 24px / 2); /* 346px */
    align-self: end;
  }

	
	.ipedis-bento .card-access {
    min-height: calc(225px + 18px); /* 243px */
    margin-top: -18px; /* pulls the top edge up 18px, halving the 36px gap to 18px */
  }
  .ipedis-bento .card-cadrer {
    height: calc(246px + 24px + 325px); /* 604px - unaffected by the offset */
    align-self: start;
  }
}

/*------------------------*/
/*-------AUDIT-DESIGN SYSTHEM ---*/
.ipedis-bento--kit {
  max-width: 100%;
}

.ipedis-bento--kit .bento-grid {
  grid-template-areas:
    "tokens doc"
    "composants doc";
}

.ipedis-bento--kit .card-tokens { grid-area: tokens; background: var(--global-palette1); }
.ipedis-bento--kit .card-composants { grid-area: composants; background: var(--global-palette5); }
.ipedis-bento--kit .card-doc {
  grid-area: doc;
  overflow: hidden;
  align-items: flex-end;
}

/* Static cards: no min-height math needed - the doc card stretches
   automatically (default grid item behaviour) to match tokens + gap + composants */
.ipedis-bento--kit .card-tokens,
.ipedis-bento--kit .card-composants {
  flex-direction: column;
  gap: 12px;
}

.ipedis-bento--kit .bento-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 18px;
  line-height: 150%;
}

@media (max-width: 640px) {
  .ipedis-bento--kit .bento-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "tokens"
      "composants"
      "doc";
  }
}

/*------------------------*/
/*-------ACCOMPAGNEMENT-HOME ---*/
.ipedis-bento--parcours {
  max-width: 100%;
}

.ipedis-bento--parcours .bento-grid {
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-areas:
    "conception     industrialisation piloter"
    "correction     industrialisation piloter"
    "schema         schema            piloter";
}

.ipedis-bento--parcours .card-parcours-conception {
  grid-area: conception;
  background: var(--global-palette5);
  align-items: flex-end;
}
.ipedis-bento--parcours .card-parcours-correction {
  grid-area: correction;
  background: var(--global-palette13);
  align-items: flex-end;
}
.ipedis-bento--parcours .card-parcours-schema {
  grid-area: schema;
  background: var(--global-palette6);
  align-items: flex-end;
}
.ipedis-bento--parcours .card-parcours-industrialisation {
  grid-area: industrialisation;
  background: var(--global-palette1);
	min-height: calc(500px + 24px / 2);
  overflow: hidden;
  align-items: flex-end;
}

.ipedis-bento--parcours .card-parcours-industrialisation img {
    object-fit: contain;
    top: 0;
    height: fit-content;
}

.ipedis-bento--parcours .card-parcours-piloter {
  grid-area: piloter;
  overflow: hidden;
  align-items: flex-end;
}

@media (prefers-reduced-motion: no-preference) {
  /* Cards with an image (Industrialisation, Piloter): contained zoom, no lift - same rule as Cadrer/Outiller/Autonomiser */
  .ipedis-bento--parcours a.card-parcours-industrialisation:hover,
  .ipedis-bento--parcours a.card-parcours-piloter:hover {
    transform: none;
    box-shadow: none;
  }
  
  .ipedis-bento--parcours a.card-parcours-piloter:hover img {
    transform: scale(1.06);
  }
	
	.ipedis-bento--parcours a.card-parcours-industrialisation:hover img {
		transform: scale(1.15);
	}

  /* Solid-color, image-free cards: same navy background swap as Concevoir/Access/Mesurer */
  .ipedis-bento--parcours a.card-parcours-conception:hover,
  .ipedis-bento--parcours a.card-parcours-correction:hover,
  .ipedis-bento--parcours a.card-parcours-schema:hover {
    background: var(--global-palette3);
    color: var(--global-palette7);
  }
  .ipedis-bento--parcours a.card-parcours-conception:hover h3,
  .ipedis-bento--parcours a.card-parcours-correction:hover h3,
  .ipedis-bento--parcours a.card-parcours-schema:hover h3 {
    color: var(--global-palette7);
  }
}
@media (max-width: 360px) {
	.ipedis-bento--parcours .card-parcours-industrialisation {
		min-height: calc(600px + 24px / 2);
	}
}
@media (max-width: 640px) {
  .ipedis-bento--parcours .bento-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "conception"
      "correction"
      "industrialisation"
      "schema"
      "piloter";
  }
}

@media (min-width: 641px) and (max-width: 975px) {
  .ipedis-bento--parcours .bento-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "conception        correction"
      "industrialisation         industrialisation"
      "schema              schema"
	  "piloter             piloter";
    /* placeholder - adjust these area names/positions as needed */
  }
	
  .ipedis-bento--parcours .card-parcours-industrialisation {
    min-height: calc(300px + 24px / 2);
  }

.ipedis-bento--parcours .card-parcours-industrialisation img {
    max-height: 125px;
	left: 0;
    width: fit-content;
    margin-left: auto;
}
}
/*------------------------*/
/*-------PDF-HOME ---*/
.ipedis-bento--pdf .bento-grid {
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "transformation remediation"
    "transformation accompagnement";
}

.ipedis-bento--pdf .card-pdf-transformation {
  grid-area: transformation;
  overflow: hidden;
  align-items: flex-end;
}
.ipedis-bento--pdf .card-pdf-remediation {
  grid-area: remediation;
  background: var(--global-palette6);
  overflow: hidden;
  align-items: flex-end;
	min-height: calc(334px + 24px / 2);
}
.ipedis-bento--pdf .card-pdf-accompagnement {
  grid-area: accompagnement;
  background: var(--global-palette5);
  align-items: center;
}

@media (prefers-reduced-motion: no-preference) {
  /* Cards with an image: contained zoom, no lift */
  .ipedis-bento--pdf a.card-pdf-transformation:hover,
  .ipedis-bento--pdf a.card-pdf-remediation:hover {
    transform: none;
    box-shadow: none;
  }
  .ipedis-bento--pdf a.card-pdf-transformation:hover img,
  .ipedis-bento--pdf a.card-pdf-remediation:hover img {
    transform: scale(1.06);
  }

  /* Solid, image-free card: navy background swap, same as Concevoir/Access/Mesurer */
  .ipedis-bento--pdf a.card-pdf-accompagnement:hover {
    background: var(--global-palette3);
    color: var(--global-palette7);
  }
  .ipedis-bento--pdf a.card-pdf-accompagnement:hover h3 {
    color: var(--global-palette7);
  }
}

@media (max-width: 640px) {
  .ipedis-bento--pdf .bento-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "transformation"
      "remediation"
      "accompagnement";
  }
}
/*------------------------*/
/*-------unique-cta-remediation ---*/
.ipedis-kb-bento .kb-bento-cta {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 8px;
  height: 100%;
  min-height: 500px;
  border-radius: 16px;
  text-decoration: none;
  color: var(--global-palette3);
  box-sizing: border-box;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--global-palette1);
}

.ipedis-kb-bento .kb-bento-cta img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: auto;
  object-fit: contain;
  z-index: 1;
}

.ipedis-kb-bento .kb-bento-cta .cta-content {
	padding: 24px;
}

.kb-bento-cta h3 { font-size: 30px; line-height:1.1; font-weight: 700; margin: 0; }
@media (prefers-reduced-motion: no-preference) {
  .ipedis-kb-bento .kb-bento-cta img { transition: transform .4s ease; }
  .ipedis-kb-bento .kb-bento-cta:hover img { transform: scale(1.15); }
}
.ipedis-kb-bento .kb-bento-cta:focus-visible {
  outline: 2px solid var(--global-palette3);
  outline-offset: -3px; /* stays inward - this card still has overflow: hidden for the image */
  border-radius: 13px;
}

@media (max-width: 640px) {
	.ipedis-kb-bento .kb-bento-cta {
		min-height: 450px;
	}
}


@media (min-width: 572px) and (max-width: 1024px) {
	.ipedis-kb-bento .kb-bento-cta img {
		width: 70% !important;
		margin-left: auto !important;
		
	}
}
/*------------------------*/
/*-------BENTO-ACCUEIL-AUDIT ---*/
.ipedis-bento--perimetre {
  max-width: 100%;
}
.ipedis-bento--perimetre .bento-grid {
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-areas:
    "siteweb design    mobile"
    "siteweb mobilier  pdf"
    "siteweb supports  supports";
}

.ipedis-bento--perimetre .card-perimetre-siteweb {
  grid-area: siteweb;
  overflow: hidden;
  align-items: flex-end;
}
.ipedis-bento--perimetre .card-perimetre-design {
  grid-area: design;
  background: var(--global-palette1);
  overflow: hidden;
  align-items: flex-end;
}
.ipedis-bento--perimetre .card-perimetre-design img {
	object-fit: contain;
    top: 0;
    height: fit-content;
}

.ipedis-bento--perimetre .card-perimetre-mobile {
  grid-area: mobile;
  overflow: hidden;
  align-items: flex-end;
}
.ipedis-bento--perimetre .card-perimetre-mobilier {
  grid-area: mobilier;
  background: var(--global-palette13);
  align-items: center;
}
.ipedis-bento--perimetre .card-perimetre-pdf {
  grid-area: pdf;
  background: var(--global-palette6);
  align-items: center;
}
.ipedis-bento--perimetre .card-perimetre-supports {
  grid-area: supports;
  background: var(--global-palette5);
  align-items: center;
}

@media (prefers-reduced-motion: no-preference) {
  /* Cards with an image: contained zoom, no lift 
  .ipedis-bento--perimetre a.card-perimetre-siteweb:hover,
  .ipedis-bento--perimetre a.card-perimetre-design:hover,
  .ipedis-bento--perimetre a.card-perimetre-mobile:hover {
    transform: none;
    box-shadow: none;
  }*/
  .ipedis-bento--perimetre a.card-perimetre-siteweb:hover img,
  .ipedis-bento--perimetre a.card-perimetre-design:hover img,
  .ipedis-bento--perimetre a.card-perimetre-mobile:hover img {
    transform: scale(1.06);
  }

  /* Solid, image-free cards: navy background swap */
  .ipedis-bento--perimetre a.card-perimetre-mobilier:hover,
  .ipedis-bento--perimetre a.card-perimetre-pdf:hover,
  .ipedis-bento--perimetre a.card-perimetre-supports:hover {
    background: var(--global-palette3);
    color: var(--global-palette7);
  }
  .ipedis-bento--perimetre a.card-perimetre-mobilier:hover h3,
  .ipedis-bento--perimetre a.card-perimetre-pdf:hover h3,
  .ipedis-bento--perimetre a.card-perimetre-supports:hover h3 {
    color: var(--global-palette7);
  }
}

@media (max-width: 640px) {
  .ipedis-bento--perimetre .bento-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "siteweb"
      "design"
      "mobilier"
      "mobile"
      "pdf"
      "supports";
  }
	.ipedis-bento--perimetre .card-perimetre-siteweb {
		height: 400px;
	}
	.ipedis-bento--perimetre .card-perimetre-design {
    height: 310px; /* pinned to its safe pre-offset height - prevents the corner-deco image from re-cropping over the text */
    align-self: start;
  }
	.ipedis-bento--perimetre .card-perimetre-design img {
    max-width: 70%;
    margin-left: auto;
  }
}

@media (min-width: 641px) and (max-width: 1024px) {
	.ipedis-bento--perimetre .bento-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "siteweb siteweb"
      "design mobilier"
      "mobile mobile"
      "pdf supports";
  }
	
	.ipedis-bento--perimetre .card-perimetre-design {
		min-height: 300px;
	}
}
@media (min-width: 1025px) {
  .ipedis-bento--perimetre .card-perimetre-design {
    height: 300px; /* pinned to its safe pre-offset height - prevents the corner-deco image from re-cropping over the text */
    align-self: start;
  }
  .ipedis-bento--perimetre .card-perimetre-mobile {
    padding-bottom: calc(24px + 24px / 2);
	min-height: 335px;
  }
	
  .ipedis-bento--perimetre .card-perimetre-mobilier {
	min-height: calc(200px + 18px);
    margin-top: -35px;
 }
}
/*------------------------*/
@media screen and (max-width: 475px) {
	.ipedis-bento .bento-card h3 {
		font-size: 23px !important;
	}
}
/*------------------------*/
/*-----------bento gallery-------------*/
.ipedis-bento-galerie {
display: grid;
/* grid-template-columns: repeat(5, 1fr); */
	grid-template-columns: repeat(5, minmax(0, 1fr)); /* instead of 1fr */
grid-template-rows: repeat(4, 220px);
grid-column-gap: 20px;
grid-row-gap: 20px;

}

.ipedis-bento-galerie img {
  width: 100%;
  height: 100%;
	/*---test for safari*/
  min-width: 0;
  min-height: 0;
  align-self: stretch;
  justify-self: stretch;
	/*----*/
  object-fit: cover;
  display: block;
  border-radius: 16px;
}

@media (min-width: 769px) {
/*.bento-mosaic-1 { grid-area: 1 / 1 / 3 / 3; }
  .bento-mosaic-2 { grid-area: 1 / 3 / 2 / 5; }
  .bento-mosaic-3 { grid-area: 2 / 3 / 4 / 4; }
  .bento-mosaic-4 { grid-area: 2 / 4 / 3 / 5; }
  .bento-mosaic-5 { grid-area: 1 / 5 / 3 / 6; }
  .bento-mosaic-6 { grid-area: 3 / 4 / 5 / 6; }
  .bento-mosaic-7 { grid-area: 4 / 3 / 5 / 4; }
  .bento-mosaic-8 { grid-area: 4 / 1 / 5 / 3; }
  .bento-mosaic-9 { grid-area: 3 / 2 / 4 / 3; }
  .bento-mosaic-10 { grid-area: 3 / 1 / 4 / 2; } */
	
  .bento-mosaic-1 { grid-area: 1 / 1 / 3 / 3; }
  .bento-mosaic-2 { grid-area: 1 / 3 / 2 / 5; }
  .bento-mosaic-3 { grid-area: 1 / 5 / 3 / 6; }
  .bento-mosaic-4 { grid-area: 2 / 3 / 4 / 4; }
  .bento-mosaic-5 { grid-area: 2 / 4 / 3 / 5; }
  .bento-mosaic-6 { grid-area: 3 / 4 / 5 / 6; }
  .bento-mosaic-7 { grid-area: 4 / 3 / 5 / 4; }
  .bento-mosaic-8 { grid-area: 4 / 1 / 5 / 3; }
  .bento-mosaic-9 { grid-area: 3 / 2 / 4 / 3; }
  .bento-mosaic-10 { grid-area: 3 / 1 / 4 / 2; }
}

@media (max-width: 768px) {
  .ipedis-bento-galerie {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(10, auto);
    grid-column-gap: 0px;
    grid-row-gap: 20px;
  }
  
	.ipedis-bento-galerie img {
		height: auto;
	}
}

@media screen and (min-width: 1921px) {
    .ipedis-bento-galerie {
        grid-template-rows: repeat(4, 320px) !important;
    }
}
/*------------------------*/

/* === Ressource #1868 — Global Page CSS === */
.d-block {
	display: block !important;
}

.b-sticky {
  position: sticky;
  top: 125px;
  align-self: start;
  /* Reserve space so 400% zoom / 320px reflow doesn't force overlap silently;
     re-verify with real browser zoom, not just resize. */
  max-height: calc(100vh - 4.5rem);
}

/* Only affects the column that also has .b-sticky-sidebar */
.b-sticky.b-sticky-sidebar {
  max-height: calc(100vh - 125px - 1.5rem); /* subtract the top offset + breathing room */
  overflow-y: auto;
}

.b-sticky.b-sticky-sidebar::-webkit-scrollbar { width: 4px; }
.b-sticky.b-sticky-sidebar::-webkit-scrollbar-thumb { background: rgba(0,0,0,.2); border-radius: 4px; }
.b-sticky.b-sticky-sidebar { scrollbar-width: thin; } /* Firefox */

.ipdc-reveal-more__btn {
  padding: 4px 12px 4px 4px;
}

.medium-txt {
    font-size: 20px;
}

.w-1200 {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.ipdc-reveal-more__btn:hover .ipdc-reveal-more__ico, .ipdc-reveal-more__btn:focus-visible .ipdc-reveal-more__ico {
    background: var(--global-palette7);
    color: var(--global-palette3);
    transform: rotate(45deg);
}


/*-----------------------------*/

.letter-level-span {
  width: fit-content;
  padding: 2px 10px!important;
}

/*-----------------------------*/

@media screen and (min-width: 1367px) {
	.ipr-bg-fix .ipr-bg-col {
	   padding-left: 180px;
	   padding-right: 180px;
    }
}


.ipr-desktop-none {
	display: none;
}

@media screen and (max-width: 1280px) {
	.b-sticky {
		position: relative;
	    top: 0px;
	    max-height: 100%;
	}
	
	.ipr-res-non {
    display: none;
}
	
	.ipr-desktop-none {
	  display: block;
   }
}

.h-100 {
	height: 100%;
}
.h-100 .kt-row-column-wrap {
    height: 100%;
}

.ipr-num {
    width: fit-content;
    aspect-ratio: 1 / 1;
    padding: 12px;
    min-width: 48px;
    font-size: 32px;
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    margin-bottom: 24px;
}
/* --------HERO HEADER--------*/
.ipr-hero {
	min-height: 1000px;
	display: flex;
    align-items: flex-end;
}

.ipr-hero .kt-row-column-wrap.kt-has-1-columns.kt-row-layout-equal.kt-tab-layout-inherit.kt-mobile-layout-row.kt-row-valign-top.kb-theme-content-width {
    min-width: 1440px;
}

.ipr-hero .hero-col {
    max-width: 720px;
	margin-bottom: 0px !important;
}
.ipr-hero .hero-col h1 {
    color: var(--global-palette7);
	letter-spacing: 1px;
	font-size: clamp(1.6rem, 5vw, 3.5rem) !important;
}

.ipr-hero .hero-col p {
    color: var(--global-palette7);
}

.ipr-hero .hero-col h1 .highlight {
    display: inline-block;
    background-color: var(--global-palette1);
    color: var(--global-palette3);
    width: fit-content;
    padding: 4px 12px 12px;
    border-radius: 8px;
    transform: rotate(358deg);
}

.ipr-hero .hero-col h1 .h-white {
	background-color: var(--global-palette8) !important;
}

.ipr-top-hero h1 .h-white {
	background-color: var(--global-palette8) !important;
} 
.hero-col h1 small {
  display: flex;
  font-size: 20px;
  margin-bottom: 24px;
}

.hero-col h1 .icon-in {
  display: flex!important;
  line-height: 1;
  margin-top: 24px!important;
  gap: 10px!important;
  align-items: center;
}

@media screen and (max-width: 371px){
	.hero-col h1 .icon-in {
	align-items: flex-start;
    flex-direction: column;
   }
	
	.ipr-hero .hero-col h1 .highlight {
		padding: 4px 12px;
	}
}

.hero-col h1 .icon-in img {
  position: relative;
  top: 5px;
  left: 5px;
}

.hero-col h1 small img {
  margin-right: 15px;
}

.hero-col h1 small sup {
  font-size: 10px;
  top: 0;
}
.mt-15 {
	margin-top: 15px;
}

.mb-15 {
	margin-bottom: 15px;
}
.sky-tag h1 .highlight {
	display: block;
	background-color: var(--global-palette6);
    color: var(--global-palette3);
    width: fit-content;
    padding: 4px 12px 12px;
    border-radius: 8px;
    transform: rotate(358deg);
    margin-top: 15px;
	font-weight: 700;
	margin-left: auto;
    margin-right: auto;
}

@media screen and (min-width: 1025px){
	.ipr-hero {
		min-height: 100vh;
	}

}

@media screen and (max-width: 1024px){
	.ipr-hero, .hero-col {
		min-height: 600px;
	}
	
	.ipr-hero .kt-row-column-wrap.kt-has-1-columns.kt-row-layout-equal.kt-tab-layout-inherit.kt-mobile-layout-row.kt-row-valign-top.kb-theme-content-width {
        margin-left: 0;
		min-width: 100%;
    }
	
	.ipr-hero .hero-col {
		justify-content: flex-end;
		max-width: 100%;
	}
	
}

@media screen and (max-width: 782px){
	.ipr-hero, .hero-col {
		min-height: 700px;
	}

	.ipr-hero .hero-col h1 .highlight {
		font-style: italic;
		transform: rotate(0deg);
	}
	.sky-tag h1 .highlight {
		font-style: italic;
		transform: rotate(0deg);
	}
	
}
@media screen and (max-width: 485px){
	.ipr-hero, .hero-col {
		min-height: 900px;
	}
	
	.wp-block-kadence-advancedbtn a.kb-button.kt-button.button {
    text-align: left;
   }
}
/* -----------------------------*/

.default-tab .kt-tabs-title-list {
    background: var(--global-palette14);
    border-radius: 8px;
    width: fit-content;
    padding: 8px 12px;
}

.default-tab .kt-tabs-title-list li.kt-tab-title-active .kt-tab-title {
	font-weight: 800;
	transition: all 0.3s ease-in-out;
}

.default-tab .kt-tabs-content-wrap > .wp-block-kadence-tab {
		padding-bottom: 24px !important;
}
/* .default-tab .kt-tabs-content-wrap {
    background: var(--global-palette14);
    border-radius: 8px;
    width: 100%;
    padding: 8px 12px;
} */

@media screen and (max-width: 767px){
    .wp-block-kadence-tabs .kt-tabs-id1780_368ddd-6f > .kt-tabs-title-list li .kt-tab-title, .wp-block-kadence-tabs .kt-tabs-id1780_368ddd-6f > .kt-tabs-content-wrap >       .kt-tabs-accordion-title .kt-tab-title {
	justify-content: center;
	}

	.kt-tabs-content-wrap > .kt-tabs-accordion-title.kt-tab-title-active .kt-tab-title {
		background: var(--global-palette14) !important;
	}
}

/* .kt-accordion-id1780_417dfa-fb > .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header {
	margin-bottom: -15px;
} */

.accordion-default .kt-accordion-inner-wrap > .wp-block-kadence-pane > .kt-accordion-header-wrap > .kt-blocks-accordion-header {
	margin-bottom: -15px;
}
/*----------- TAB ICON -----*/
.ico-yellow .kt-blocks-accordion-icon-trigger {
    background: var(--global-palette1);
    padding: 8px;
    border-radius: 8px;
}

.ico-purple .kt-blocks-accordion-icon-trigger {
	background: var(--global-palette5) !important;
}

.ico-sky .kt-blocks-accordion-icon-trigger {
	background: var(--global-palette6) !important;
}

.ico-beige .kt-blocks-accordion-icon-trigger {
	background: var(--global-palette8) !important;
}

.ico-yellow .kt-blocks-accordion-icon-trigger:before,
.ico-yellow .kt-blocks-accordion-icon-trigger:after {
	left: 10px;
    top: 19px;
	height: 2px;
}
/*----------------------------*/
.side-cta p {
    max-width: 450px;
}

.ipr-inter-grid .kt-inside-inner-col {
    display: grid;
    grid-template-columns: repeat(3, auto);
    align-items: start;
    justify-content: start  !important;
    grid-column-gap: 20px !important;
}

@media screen and (max-width: 782px){
    .ipr-inter-grid .kt-inside-inner-col {
        grid-template-columns: auto 1fr;
        grid-template-areas:
            "intra-icon intra-titre"
            "intra-icon intra-desc";
    }
    .ipr-inter-grid .kt-inside-inner-col > *:nth-child(1) { grid-area: intra-icon; }
    .ipr-inter-grid .kt-inside-inner-col > *:nth-child(2) { grid-area: intra-titre; }
    .ipr-inter-grid .kt-inside-inner-col > *:nth-child(3) { grid-area: intra-desc; }
}

/*----SUB LIST---*/
/* Remove only the first-level bullets */
.ipr-sub-list {
    list-style: none;
    margin: 0;
    padding-left: 0 !important;
}

.ipr-sub-list > li {
    position: relative;
    padding-left: 65px; /* icon width + gap */
}

.ipr-sub-list li:not(:last-child) {
	margin-bottom: 35px;
}

/* Decorative icon */
.ipr-sub-list > li::before {
    content: "";

    position: absolute;
    top: -10px;
    left: 0;
    width: 48px;
    height: 48px;
    border-radius: 12%;
    background-color: var(--global-palette14)!important;
    background-image: url("/wp-content/uploads/2026/08/check.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px; /* Adjust to suit your SVG */
}

/* Nested lists keep their bullets */
.ipr-sub-list > li > ul {
    list-style: disc;
    margin-top: .75rem;
    padding-left: 1.5rem;
}

.ipr-sub-list > li > ul > li, .ipr-sub-list > li > ul > li > ul > li {
    margin-top: .35rem;
	margin-bottom: 0 !important;
}

.ipr-sub-list > li:has(> ul) {
    margin-bottom: 20px !important;
}

/*--------Icon list + Title---------*/
.ipr-list-title ul li strong em {
	display: block;
	font-size: 20px;
/* 	margin-bottom: 10px; */
}
/*------------------------------------*/
/*----TAG LIST FORMATEUR-----*/
.ipr-tag-list {
	list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
	padding-left: 0px !important;
}

.ipr-tag-list li {
	font-size: 14px;
	line-height: 1;
	font-weight: 700;
	width: fit-content;
	padding: 7px !important;
	border-radius: 4px;
}
.ipr-tag-list li.li-yellow { background-color: var(--global-palette1);}
.ipr-tag-list li.li-mauve { background-color: var(--global-palette5);}
.ipr-tag-list li.li-sky { background-color: var(--global-palette6);}

/* @media screen and (max-width: 782px) {
	.ipr-tag-list {
		
	}
} */
/*--------------------------*/


/*----------number steps----------------*/
.numbered-steps {
  list-style: none;
  counter-reset: step;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.numbered-steps li {
  counter-increment: step;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  line-height: 1.6;
}

.numbered-steps li::before {
  content: counter(step);
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 55px;
  aspect-ratio: 1 / 1;
  height: fit-content;
  line-height: 1;
    font-size: 32px;
    font-weight: 500;
  border-radius: 8px;
  background: var(--global-palette6);
}
/*--------------------------*/
/*----------timeline----------------*/
.ipr-timeline {
  padding-left: 1px !important;
  padding-top: 24px;
  padding-bottom: 24px;
  list-style: none;
  counter-reset: none;
  border-left: 2px dotted #6F6F6F;
}

.ipr-timeline li {
  position: relative;
  display: flex;
  gap: 24px;
  flex-direction: row;
  font-style: italic;
  margin: 0 0 48px 0;
  padding: 0 0 0 1.5rem;
  line-height: 1.6;
  font-size: 20px;
  line-height: 1.1;
  font-weight: 700;
  color: var(--global-palette3);
}
 
.ipr-timeline li:last-child {
  margin-bottom: 0px;
}
 
/* petit point sur la ligne verticale, devant chaque item */
.ipr-timeline li::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 17px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #6F6F6F;
}
 
/* met en valeur l'année tapée en gras (<strong>) en tête de chaque item */
.ipr-timeline li .year {
  position: relative;
  background: var(--global-palette1);
  padding: 12px;
  border-radius: 8px;
  width: fit-content;
  min-width: 75px;
  height: fit-content;
  
}

.ipr-timeline li .year:after {
    right: 100%;
	top: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(255, 204, 2, 0);
	border-right-color: var(--global-palette1);
	border-width: 10px;
	margin-top: -10px;
  
}

.ipr-timeline li .purple {
  background: var(--global-palette5);  
}
.ipr-timeline li .purple:after {
  border-right-color: var(--global-palette5);
}

.ipr-timeline li .sky {
  background: var(--global-palette6);  
}
.ipr-timeline li .sky:after {
  border-right-color: var(--global-palette6);
}

@media screen and (max-width: 475px){
	.ipr-timeline li {
		flex-direction: column;
	}
}
/*--------------------------*/

/*----------TABLE----------------*/
.default-table {
	max-width: 100%;
    overflow-x: auto;
	border-collapse: collapse;
}

.default-table tbody tr:not(:last-child) {
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.default-table th, .default-table td {
	text-align: left;
	vertical-align: top;
}

.default-table tbody th, .default-table tbody td {
	padding: 16px 0;
}

.default-table tbody tr:last-child th,
.default-table tbody tr:last-child td {
    padding-bottom: 0;
}
.default-table tbody th {
    font-weight: normal;
	padding-right: 16px;
}

.default-table tfoot th[scope="row"],
.default-table tfoot td {
    background-color: var(--global-palette14);
    font-weight: 700;
    padding: 1.25rem;
    text-align: left;
    vertical-align: middle;
    color: #1a1a2e;
	padding: 12px 0;
  }

.default-table:has(tfoot) tbody tr:last-child th, 
.default-table:has(tfoot) tbody tr:last-child td {
	padding-bottom: 24px;
}

.default-table tfoot th[scope="row"] {
    border-bottom-left-radius: 12px;
	border-top-left-radius: 12px;
    padding-left: 12px;
  }
.default-table tfoot td:last-child {
    border-top-right-radius: 12px;
	border-bottom-right-radius: 12px;
  }

.blog-table {
	border: 2px solid var(--global-palette4);
}
.blog-table tbody th, .blog-table tbody td {
	padding: 10px !important;
}

.blog-table tbody th {
	font-weight: 600 !important;
}

.blog-table tbody tr:not(:last-child) {
  border-bottom: 1px solid var(--global-palette4);
}
.table-blue thead tr th {
	padding-top: 8px;
    padding-bottom: 8px;
    background-color: var(--global-palette6)!important;
}

.table-blue thead tr th:nth-child(1) {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    padding-left: 12px;
}

.table-blue thead tr th:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

.table-blue .row-pill {
    background-color: var(--global-palette14);
	display: flex;
    padding: 8px 12px;
    border-radius: 8px;
	font-weight: 700;
	flex-direction: column;
}
.table-mauve thead tr th {
    padding-top: 8px;
    padding-bottom: 8px;
    background-color: var(--global-palette5);
}

.table-mauve thead tr th:nth-child(1) {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    padding-left: 12px;
}

.table-mauve thead tr th:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

.table-mauve .row-pill {
    background-color: var(--global-palette14);
	display: flex;
    padding: 8px 12px;
    border-radius: 8px;
	font-weight: 700;
}
.table-yellow thead tr th {
    padding-top: 8px;
    padding-bottom: 8px;
    background-color: var(--global-palette1);
}

.table-yellow tbody td {
    padding: 24px 24px 24px 0px;
}
.table-yellow tbody th {
	padding: 24px 28px 24px 0;
}

.table-yellow tbody th, .table-yellow tbody td {
	vertical-align: top;
}

.table-yellow thead tr th:nth-child(1) {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    padding-left: 12px;
}

.table-yellow thead tr th:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

.table-yellow .row-pill {
    background-color: var(--global-palette14);
	display: inline-block;
    padding: 8px 12px;
    border-radius: 8px;
	font-weight: 700;
	width: 100%;
}

.table-besoin thead th, .table-besoin tbody td {
	text-align: center;
	vertical-align: middle;
}

.table-besoin thead th {
	padding-bottom: 24px;
}
.table-besoin thead th .col-pill {
    display: inline-block;
    background: var(--global-palette7);
    border-radius: 8px;
    padding: 8px 16px;
    min-width: 120px;
  }


.table-besoin tbody tr {
    border-top: 1px solid #e2dcc0;
  }

.table-besoin tbody th {
    padding: 24px 0;
  }
@media screen and (max-width: 782px){
	.default-table, .table-col .kt-inside-inner-col {
      overflow-x: scroll;
    }
	.default-table thead th {
		white-space: nowrap;
	}

	.default-table th, .default-table td {
		padding: 12px!important;
	}
}

/*-------------------Anja------------------*/

.page-template-default .h-100-first > div,
.page-template-default .h-100-all div{height:100%}
@media screen and (max-width: 767px){
.page-template-default .h-100-first > div,
.page-template-default .h-100-all div{height:auto}
}

/*-----List icon----*/
@media screen and (max-width: 782px){
	.wp-block-kadence-iconlist ul.kt-svg-icon-list .kt-svg-icon-list-item-wrap {
		align-items: flex-start;
	}
}

@media screen and (max-width: 375px){
.btn-long {
    align-items: flex-start;
}
}

/* === Ressource #2621 — General CSS / Only Front === */
/* Focus General */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body, input, select, optgroup, textarea {
  letter-spacing: 0.5px;
}

h3 a {
	text-decoration: underline;
}

.ipdc-card:has(a.ipg-term__link:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
	outline-offset: 0 !important;
}

.ipedis-card:has(a.ipg-term__link:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
	outline-offset: 0 !important;
}

.ipdc-compact:has(a.ipg-term__link:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
	outline-offset: 0 !important;
}

.ipdc-card .ipdc-badge--date {
    display: none;
}

a:focus, button:focus, a img:focus, .btn:focus, input:focus, select:focus, textarea:focus {
    border-radius: inherit;
    outline: 2px solid var(--global-palette3) !important;
    outline-offset: 2px !important;
    -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 1) !important;
    -moz-box-shadow: 0 0 0 2px rgba(255,255,255,1)!important;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 1) !important;
}

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  border-radius: inherit;
    outline: 2px solid var(--global-palette3) !important;
    outline-offset: 2px !important;
    -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 1) !important;
    -moz-box-shadow: 0 0 0 2px rgba(255,255,255,1)!important;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 1) !important;
}

[tabindex]:focus, [tabindex]:focus-within, [tabindex]:focus-visible {
    outline: none!important;
    outline-offset: 0px!important;
}

button.ipedis-filter__tab:focus-visible {
  border-radius: inherit;
    outline: 2px solid var(--global-palette3) !important;
    outline-offset: 2px !important;
    -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 1) !important;
    -moz-box-shadow: 0 0 0 2px rgba(255,255,255,1)!important;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 1) !important;
}

a.kt-tab-title:focus-visible {
    outline: 2px solid #04162F !important;
    outline-offset: 2px !important;
}

.external-link {
	position: relative;
}

/* .external-link::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: 0.35em;
    vertical-align: middle;
    background: url("https://www.ipedis.com/wp-content/uploads/2026/10/external-link-1.svg")
        center / contain no-repeat;
} */

.external-link__icon {
  display: inline-block;
  margin-inline-start: 0.3em;
  vertical-align: -0.125em;
  flex-shrink: 0; /* keeps its size inside flex containers like Kadence buttons */
}

body:has(.remove-item-ipedis.ipedis-style) #ipd-webinar p {
    margin-bottom: 0 !important;
}

.ipr-hero .ipg-term__link {
    text-decoration-color: inherit!important;
}

.slides-in-actus .ipdc-slider__controls {
    margin-top: 32px!important;
}

/* Fix Header Nav */

.ipedis-breadcrumb {
/*  margin-bottom: clamp(1.5rem, 4vw, 2.5rem); */
}

.ipedis-breadcrumb ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  padding-left: 0px !important;
  font-size: 0.95rem;
  color: var(--ipedis-navy);
}

.mblist-0 ul {
  margin-bottom: 0!important;
}

.ipedis-breadcrumb li { display: flex; align-items: center; margin: 6px!important;}

.ipedis-breadcrumb__sep {
  margin-right: 12px!important;
  opacity: 0.9;
}
.ipedis-breadcrumb a {
  color: var(--ipedis-navy);
  text-decoration: none;
}
.ipedis-breadcrumb a:hover { text-decoration: underline; }
.ipedis-breadcrumb [aria-current="page"] { font-weight: 700; }


@media (max-width: 500px) {
    .ipedis-breadcrumb li {
        display: inline;
        text-overflow: clip !important;
        white-space: normal !important;
        margin-left: 0px !important;
    }
}

.kal-crumb-sep {
  margin: 0;
  margin-right: 12px!important;
}

@media (max-width: 768px) {
    .ipedis-breadcrumb ol > li:last-child, .ipedis-breadcrumb ol > li:last-child > [aria-current="page"] {
        display: inline!important;
    }
}

@media only screen and (max-device-width: 1366px) {
    .ipd-breadcrumb-wrap {
        background: transparent!important;
    }
}

/* ************************ */

.ipdc-logo:focus {
    outline: 3px solid var(--ipdc-navy)!important;
    outline-offset: -3px!important;
}

.ipdc-compact__cta:focus-visible, .ipdc-card__cta:focus-visible {
    outline: none!important;
  box-shadow: none!important;
}

/*--------------------------------*/

.ipd-list-flag ul {
    list-style: none;
    margin: 0;
    padding-left: 0 !important;
  gap: 24px;
}

.ipd-list-flag ul > li {
    position: relative;
}

.ipd-list-flag ul > li::before {
    content: "";
    position: relative;
    top: 0;
    left: 0;
    width: 32px;
    height: 32px;
    border-radius: 4px;
    background-image: url("/wp-content/uploads/2026/08/Flag.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 32px;
}

.ipd-list-flag ul > li.fl-germany::before {
	background-image: url("/wp-content/uploads/2026/10/FlagGermany-DE.svg");
}

.ipd-list-flag ul > li.fl-ontario::before {
	background-image: url("/wp-content/uploads/2026/10/FlagOntario-CA-ON.svg");
}

.ipd-list-flag ul > li.fl-quebec::before {
	background-image: url("/wp-content/uploads/2026/10/FlagQuebec-CA-QC.svg");
}

.ipd-list-flag ul > li.fl-australia::before {
	background-image: url("/wp-content/uploads/2026/10/FlagAustralia-AU.svg");
}

.ipd-list-flag ul > li.fl-uk::before {
	background-image: url("/wp-content/uploads/2026/10/FlagUnited-Kingdom-GB.svg");
}

.ipd-list-flag ul > li.fl-usa::before {
	background-image: url("/wp-content/uploads/2026/10/FlagUnited-States-of-America-US.svg");
}

.ipd-list-flag ul > li.fl-hongkong::before {
	background-image: url("/wp-content/uploads/2026/10/FlagHong-Kong-HK.svg");
	width: 42px;
	height: 34px;
}

.ipd-list-flag ul > li.fl-canada::before {
	background-image: url("/wp-content/uploads/2026/10/FlagCanada-CA.svg");
	width: 42px;
	height: 34px;
}

.ipd-list-flag ul li .kt-svg-icon-list-single {
    display: none!important;
}

.ipd-list-flag ul li .kt-svg-icon-list-text {
    margin-left: 15px;
}

/*--------------------------------*/

.icon-reverse a {
  flex-direction: row-reverse;
  gap: 7px;
}

.icon-reverse a span.kb-svg-icon-wrap {
  margin-right: 0!important;
}

/* === Ressource #14668 — Custom-Forms-CSS === */
.news-sr-only {
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
    position: absolute !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mt-12 {
    margin-top: 12px !important;
}

.mb-12 {
    margin-bottom: 12px !important;
}

.d-block {
    display: block;
}

.ip-form-container {
    width: 100%;
    max-width: 720px;
    height: 100%;
    margin: 0 auto;
    padding: 24px;
    background-color: var(--global-palette13);
    border-radius: 18px;
}

/*form header*/
.ip-form-header {
    margin-bottom: 24px;
}

.ip-form-header .ip-form-heading {
    color: var(--global-palette3);
    font-size: 30px;
    font-weight: 700;
    line-height: 1.0;
    margin-bottom: 8px;
}

.ip-form-header .ip-form-heading .txt-med {
    font-weight: 500;
}

.ip-form-header .ip-form-tag {
    color: var(--global-palette3);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}

/*form progress*/
.ip-form-progress-wrapper {
    margin-bottom: 24px;
}

.ip-form-progress-wrapper .form-step-status {
    margin-bottom: 12px;
    color: var(--global-palette3);
    font-size: 14px;
    font-weight: 700;
    text-align: center;
}

.ip-form-progress-wrapper .form-progress-nav {
    width: 62%;
    margin: 0 auto;
}

.ip-form-progress-wrapper .form-progress-nav .form-progress-list {
    position: relative;
    display: flex;
    align-items: flex-start;
    list-style: none;
    padding: 0;
}

.ip-form-progress-wrapper .form-progress-nav .form-progress-list .form-progress-item {
    position: relative;
    flex: 1;
    min-width: 0;
    text-align: center;
}

.ip-form-progress-wrapper .form-progress-nav .form-progress-list .form-progress-item .step-number {
    position: relative;
    z-index: 1;
    display: block;
    width: 8px;
    height: 8px;
    margin: 0 auto;
    border-radius: 50%;
    background: #BBBBBB;
    font-size: 0;
}

.ip-form-progress-wrapper .form-progress-nav .form-progress-list .form-progress-item.active .step-number {
    background-color: var(--global-palette3);
    transform: scale(1.2);
}

.ip-form-progress-wrapper .form-progress-nav .form-progress-list .form-progress-item.completed .step-number {
    background-color: var(--global-palette3);
}

.ip-form-progress-wrapper .form-progress-nav .form-progress-list .form-progress-item .step-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

.ip-form-progress-wrapper .form-progress-nav .form-progress-list .form-progress-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 50%;
    right: -50%;
    height: 1px;
    background: #BBBBBB;
    z-index: 0;
}

.ip-form-progress-wrapper .form-progress-nav .form-progress-list .form-progress-item.active:not(:last-child)::after {
    background-color: var(--global-palette3);
}

.ip-form-progress-wrapper .form-progress-nav .form-progress-list .form-progress-item.completed:not(:last-child)::after {
    background-color: var(--global-palette3);
}

/*form content*/
.ip-form-container .ip-forms {
    margin: 0;
    padding: 0;
    border: 0;
}

.ip-form-container .ip-forms .ip-form-fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

.ip-form-signification {
    color: var(--global-palette3);
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 24px;
}

.ip-form-container .ip-forms .ip-form-fieldset .ip-form-legend {
    font-size: 0;
}

.ip-form-legend-visible {
    color: var(--global-palette3);
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 8px;
}

.ip-form-field {
    margin-bottom: 16px;
}

.ip-form-field .ip-form-label {
    display: block;
    margin-bottom: 8px;
    padding-left: 16px;
    color: var(--global-palette3);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.0;
}

.ip-projet-intro {
    color: var(--global-palette3);
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 12px !important;
}

.ip-form-field .ip-form-input,
.ip-form-select .custom-select,
.ip-form-field .ip-form-textarea {
    display: block;
    width: 100%;
    min-height: 40px;
    padding: 12px 16px;
    border: 1px solid rgba(4, 22, 47, 0.6);
    border-radius: 12px;
    background-color: var(--global-palette13);
    color: var(--global-palette3);
    font-size: 16px;
    font-weight: 500;
    box-shadow: none;
}

.ip-form-field .ip-form-input::placeholder {
    color: rgba(4, 22, 47, 0.6);
}

.ip-form-field .ip-form-input:focus,
.ip-form-select .custom-select:focus,
.ip-form-field .ip-form-textarea:focus {
    outline: 2px solid var(--global-palette3);
    outline-offset: 2px;
    border-color: var(--global-palette3) !important;
}

.ip-form-field .ip-form-textarea {
    min-height: 140px;
    resize: vertical;
}

.ip-form-field .ip-field-error:empty {
    display: none;
}

.ip-form-field .ip-field-error {
    display: block;
    margin-top: 8px;
    padding-left: 16px;
    color: #8B0000;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.0;
}

.ip-form-privacy-notice .privacy-notice-text {
    margin: 24px 0 0 0;
    color: var(--global-palette3);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
}

.ip-form-privacy-notice .privacy-notice-text .privacy-link {
    color: var(--global-palette3);
    font-size: 12px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    position: relative;
}

.ip-form-privacy-notice .privacy-notice-text .privacy-link::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--global-palette3);
    transition: all 0.3s ease-in-out;
}


.ip-form-privacy-notice .privacy-notice-text .privacy-link:hover,
.ip-form-privacy-notice .privacy-notice-text .privacy-link:focus {
    font-weight: 700;
}

.ip-form-privacy-notice .privacy-notice-text .privacy-link:hover::before,
.ip-form-privacy-notice .privacy-notice-text .privacy-link:focus::before {
    bottom: -2px;
}

.ip-form-privacy-notice .privacy-notice-text .privacy-link:focus {
    outline: 2px solid var(--global-palette3);
    outline-offset: 2px;
}

/*dropdown*/
.ip-form-select {
    position: relative;
    width: 100%;
}

.ip-form-select .custom-select {
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    background: none !important;
}

.ip-form-select .custom-arrow {
    position: absolute;
    top: 50%;
    right: 16px;
    width: 14px;
    height: 7px;
    transform: translateY(-50%) rotate(0deg);
    pointer-events: none;
    transition: transform 0.3s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ip-form-select.is-open  .custom-arrow {
    transform: translateY(-50%) rotate(180deg);
}

@media only screen and (max-width: 375px) {
    .ip-form-field .ip-form-input,
    .ip-form-select .custom-select,
    .ip-form-field .ip-form-textarea {
        font-size: 14px;
    }
}

/*checkbox*/
.ip-checkbox-group {
    margin: 0;
    padding: 0;
    border: none;
}

.ip-checkbox-group .ip-checkbox-option {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    margin-bottom: 8px;
    padding: 0;
}

.ip-checkbox-group .ip-checkbox-option .ip-checkbox-input {
    appearance: none;
    -webkit-appearance: none;
    background-color: var(--global-palette7);
    width: 24px;
    height: 24px;
    border: 1px solid var(--global-palette3);
    border-radius: 8px;
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease-in-out;
}

.ip-checkbox-group .ip-checkbox-option .ip-checkbox-input:checked {
    background-color: var(--global-palette3);
}

.ip-checkbox-group .ip-checkbox-option .ip-checkbox-input:checked::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    background-color: var(--global-palette13);
    border-radius: 2px;
    transform: translate(-50%, -50%);
    transition: transform 0.1s ease-in-out;
}

.ip-checkbox-group .ip-checkbox-option .checkbox-text {
    color: var(--global-palette3);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.0;
}

/*grid*/
.ip-form-grid-2 {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 20px;
}

@media only screen and (max-width: 767px) {
    .ip-form-grid-2 {
        grid-template-columns: 1fr;
        gap: 0;
    }
}

/*form buttons*/
.ip-form-navigation {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 24px;
}

.ip-form-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 4px 12px 4px 4px;
    border: 1px solid var(--global-palette3);
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    text-transform: uppercase;
    background-color: var(--global-palette3);
    color: var(--global-palette13);
    transition: all 0.3s ease-in-out;
    letter-spacing: 0.5px;
}

.ip-form-btn .button-icon {
    color: var(--global-palette3);
    background-color: var(--global-palette13);
    padding: 7px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ip-form-btn .button-icon svg {
    width: 1em;
    height: 1em;
    transition: all 0.3s ease-in-out;
}

.ip-form-btn:hover,
.ip-form-btn:focus {
    background-color: var(--global-palette13);
    color: var(--global-palette3);
}

.ip-form-btn:focus {
    outline: 2px solid var(--global-palette3);
    outline-offset: 2px;
}

.ip-form-btn:hover .button-icon svg,
.ip-form-btn:focus .button-icon svg {
    transform: rotate(45deg);
}

.ip-send-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 12px;
    background-color: var(--global-palette3);
    border: 1px solid var(--global-palette3);
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--global-palette13);
    letter-spacing: 0.5px;
}

/*form success message*/
.ip-form-success[hidden] {
    display: none;
}

.ip-form-success {
    display: flex;
    flex-direction: column;
    padding: 24px;
}

.ip-form-success .icon-validate {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    margin: 0 auto 12px auto;
}

.ip-form-success .icon-validate svg {
    width: 100%;
    height: 100%;
}

.ip-form-success .thanks {
    color: var(--global-palette3);
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 16px;
    text-align: center;
}

.ip-form-success .info {
    color: var(--global-palette3);
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 16px;
    text-align: center;
    line-height: 1.5;
}

.ip-form-success .list-txt {
    color: var(--global-palette3);
    margin-bottom: 12px;
    font-size: 16px;
    font-weight: 700;
}

.ip-form-success .success-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ip-form-success .success-list .success-list-item {
    font-size: 16px;
}

.ip-form-success .success-list .success-list-item:not(:last-child) {
    margin-bottom: 12px;
}

.success-form-link {
    color: var(--global-palette3);
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    transition: font-weight 0.3s ease-in-out;
    background-image: linear-gradient(to right, var(--global-palette3), var(--global-palette3));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 100% 1px;
}

.success-form-link:hover,
.success-form-link:focus {
    font-weight: 700;
}

.success-form-link:focus {
    outline: 2px solid var(--global-palette3);
    outline-offset: 2px;
}

.nl-wrap .nl-form .ip-form-fieldset {
	border: none;
	padding: 0;
	margin: 0;
}
