.elementor-867 .elementor-element.elementor-element-c7c06d0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:25px;--padding-bottom:25px;--padding-left:175px;--padding-right:175px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-867 .elementor-element.elementor-element-25a9b09{--display:flex;--border-radius:10px 10px 10px 10px;--padding-top:32px;--padding-bottom:32px;--padding-left:24px;--padding-right:24px;}.elementor-867 .elementor-element.elementor-element-25a9b09:not(.elementor-motion-effects-element-type-background), .elementor-867 .elementor-element.elementor-element-25a9b09 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-b90fd09 );}.elementor-867 .elementor-element.elementor-element-923b373{font-family:"Open Sans", Sans-serif;font-size:18px;font-weight:500;color:var( --e-global-color-f53ce76 );}.elementor-867 .elementor-element.elementor-element-5f4f0ad{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 80px;--row-gap:0px;--column-gap:80px;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-867 .elementor-element.elementor-element-7a21cd6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:32px;--padding-right:0px;}.elementor-867 .elementor-element.elementor-element-45b790a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-867 .elementor-element.elementor-element-b1c3b80 img{width:100%;height:350px;object-fit:cover;object-position:center center;}.elementor-867 .elementor-element.elementor-element-638329d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 80px;--row-gap:0px;--column-gap:80px;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-867 .elementor-element.elementor-element-66479c4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-867 .elementor-element.elementor-element-1c370cb img{width:100%;height:450px;object-fit:cover;object-position:center center;}.elementor-867 .elementor-element.elementor-element-28b8a13{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:32px;}.elementor-867 .elementor-element.elementor-element-04e08a0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:25px;--padding-bottom:25px;--padding-left:175px;--padding-right:175px;}.elementor-867 .elementor-element.elementor-element-cd4383d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-867 .elementor-element.elementor-element-f051d50{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-867 .elementor-element.elementor-element-5e1bc29 .elementor-button{background-color:var( --e-global-color-secondary );font-family:"Open Sans", Sans-serif;font-weight:700;fill:var( --e-global-color-text );color:var( --e-global-color-text );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-secondary );}.elementor-867 .elementor-element.elementor-element-5e1bc29 .elementor-button:hover, .elementor-867 .elementor-element.elementor-element-5e1bc29 .elementor-button:focus{background-color:var( --e-global-color-bed47a6 );color:var( --e-global-color-text );border-color:var( --e-global-color-primary );}.elementor-867 .elementor-element.elementor-element-5e1bc29 .elementor-button:hover svg, .elementor-867 .elementor-element.elementor-element-5e1bc29 .elementor-button:focus svg{fill:var( --e-global-color-text );}.elementor-867 .elementor-element.elementor-element-70df832{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-867 .elementor-element.elementor-element-0e9291a > .elementor-widget-container{padding:0px 0px 0px 0px;}@media(min-width:768px){.elementor-867 .elementor-element.elementor-element-7a21cd6{--width:50%;}.elementor-867 .elementor-element.elementor-element-45b790a{--width:50%;}.elementor-867 .elementor-element.elementor-element-66479c4{--width:50%;}.elementor-867 .elementor-element.elementor-element-28b8a13{--width:50%;}}@media(max-width:1024px){.elementor-867 .elementor-element.elementor-element-c7c06d0{--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px;}.elementor-867 .elementor-element.elementor-element-5f4f0ad{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-867 .elementor-element.elementor-element-7a21cd6{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-867 .elementor-element.elementor-element-638329d{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-867 .elementor-element.elementor-element-28b8a13{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-867 .elementor-element.elementor-element-04e08a0{--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px;}}@media(max-width:767px){.elementor-867 .elementor-element.elementor-element-c7c06d0{--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-867 .elementor-element.elementor-element-b1c3b80 img{height:200px;}.elementor-867 .elementor-element.elementor-element-66479c4.e-con{--order:2;}.elementor-867 .elementor-element.elementor-element-1c370cb img{height:200px;}.elementor-867 .elementor-element.elementor-element-04e08a0{--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}}/* Start custom CSS *//* ── COULEURS ── */
:root {
  --pi-red:        #C41E3A;
  --pi-red-light:  rgba(196, 30, 58, 0.12);
  --pi-dark:       #19171B;
  --pi-grey:       #888888;
  --pi-grey-light: #EDEBE6;
  --pi-white:      #ffffff;
}

/* ── WRAPPER CARTE ── */
.pi-card {
  background: var(--pi-white);
  border-radius: 8px;
  padding: clamp(28px, 4vw, 48px) clamp(20px, 4vw, 40px) clamp(32px, 4vw, 48px);
  box-shadow: 0 2px 24px rgba(25, 23, 27, 0.07);
  width: 100%;
}

/* ── BLOCS HAUT (Année lumière / Danemark) ── */
.pi-phases {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 16px;
  margin-bottom: 0;
  align-items: stretch;
}

.pi-phase {
  border: 1.5px solid var(--pi-red);
  border-radius: 4px;
  padding: clamp(16px, 2.5vw, 24px) clamp(16px, 2.5vw, 24px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.pi-phase-title {
  font-family: 'Exo', sans-serif;
  font-size: clamp(13px, 1.8vw, 17px);
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pi-dark);
  margin: 0 0 4px;
}

.pi-phase-sub {
  font-family: 'Open Sans', sans-serif;
  font-size: clamp(10px, 1.2vw, 12px);
  font-weight: 600;
  color: var(--pi-red);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0;
}

/* ── CONNECTEUR VERTICAL (lignes qui descendent vers la timeline) ── */
.pi-connectors {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 16px;
  position: relative;
}

.pi-connector {
  display: flex;
  justify-content: space-between;
  height: 24px;
  position: relative;
}

/* Lignes verticales aux coins des blocs */
.pi-connector::before,
.pi-connector::after {
  content: '';
  width: 1.5px;
  height: 100%;
  background: var(--pi-red);
  display: block;
}

/* ── ZONE TIMELINE + ANNOTATIONS ── */
.pi-timeline-area {
  position: relative;
  height: 100px;
}

/* Barre de fond (hachurée visuellement via gradient) */
.pi-track {
  position: absolute;
  left: 0; right: 0;
  top: 20px;
  height: 8px;
  background: repeating-linear-gradient(
    90deg,
    var(--pi-red-light) 0px,
    var(--pi-red-light) 6px,
    transparent 6px,
    transparent 12px
  );
  border-radius: 2px;
}

/* Segment "Danemark" plein */
.pi-track-solid {
  position: absolute;
  top: 20px;
  height: 8px;
  background: var(--pi-red-light);
  border: 1px solid var(--pi-red);
  border-radius: 2px;
}

/* Marqueur vertical */
.pi-marker {
  position: absolute;
  width: 1.5px;
  background: var(--pi-red);
  border-radius: 1px;
  transform: translateX(-50%);
}

/* Labels sous la timeline */
.pi-tl-label {
  position: absolute;
  transform: translateX(-50%);
  text-align: center;
  font-family: 'Open Sans', sans-serif;
  font-size: clamp(8px, 1.1vw, 10.5px);
  color: var(--pi-grey);
  line-height: 1.35;
}
.pi-tl-label.pi-bold  { font-weight: 700; color: var(--pi-dark); }
.pi-tl-label.pi-left  { transform: translateX(0); left: 0 !important; }
.pi-tl-label.pi-right { transform: translateX(0); right: 0 !important; left: auto !important; }

/* ── ICÔNES MILIEU (drapeau + document) ── */
.pi-icons {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 6px;
  transform: translateX(-50%);
}

.pi-icons svg {
  width: clamp(18px, 2.2vw, 26px);
  height: auto;
}

/* ── ENCADRÉ "BILAN" ── */
.pi-bilan {
  position: absolute;
  border: 1.5px solid var(--pi-red);
  border-radius: 4px;
  padding: 6px 10px;
  background: var(--pi-white);
  font-family: 'Open Sans', sans-serif;
  font-size: clamp(8px, 1vw, 10px);
  font-weight: 600;
  color: var(--pi-dark);
  text-align: center;
  line-height: 1.35;
  white-space: nowrap;
  transform: translateX(-50%);
}

/* ── RESPONSIVE ── */
@media (max-width: 600px) {
  .pi-phases {
    grid-template-columns: 1fr;
  }
  .pi-connectors {
    display: none;
  }
  .pi-timeline-area { display: none; }
  .pi-mobile        { display: flex !important; }
}

/* Timeline mobile fallback */
.pi-mobile {
  display: none;
  flex-direction: column;
  margin-top: 16px;
}
.pi-mobile-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid var(--pi-grey-light);
}
.pi-mobile-item:last-child { border-bottom: none; }
.pi-mobile-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--pi-red);
  flex-shrink: 0;
  margin-top: 4px;
}
.pi-mobile-item span {
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  line-height: 1.4;
  color: var(--pi-dark);
}
.pi-mobile-item span.pi-m-dim { color: var(--pi-grey); font-weight: 400; }
.pi-mobile-item span.pi-m-em  { font-weight: 700; }/* End custom CSS */