/* ======================================
   PARAGRAPH ILLUSTRE
====================================== */
.paragraph--type--paragraphe-illustre {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 2em;
}

.paragraph--type--paragraphe-illustre > div {
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* Empêche le débordement flex */
.paragraph--type--paragraphe-illustre .col1,
.paragraph--type--paragraphe-illustre .col2 {
  width: 100%;
  min-width: 0;
}

.paragraph--type--paragraphe-illustre .img-left,
.paragraph--type--paragraphe-illustre .img-right {
  flex-direction: column;
}

.paragraph--type--paragraphe-illustre img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* ======================================
   CTA
====================================== */
.field--name-field-cta {
  max-width: fit-content;
}

.field--name-field-cta > a {
  display: inline-block;
  width: 100%;
  padding: 12px 24px;

  color: var(--color-tertiary--dark);
  font-family: var(--font--poppins);
  font-size: 1rem;
  font-weight: 400;
  text-align: center;

  border: 3px solid var(--color-primary--1);
  border-radius: 32px;
  box-sizing: border-box;

  background-color: transparent;

  transition: background-color 0.3s ease, color 0.3s ease;
}

.field--name-field-cta > a:hover,
.field--name-field-cta > a:focus {
  background-color: var(--color-primary--1);
  color: var(--color-white);
}

/* ======================================
   LAYOUT HELPERS
====================================== */
.par-70 {
  width: 100%;
  padding: 0 1em 2em;
}

.par-100 .field--name-field-texte,
.par-100 .field--name-field-cta {
  padding: 0 1em 1.5em;
}

/* Background bleu — désactivé mobile */
.col2--bg-blue::before {
  display: none;
}

.col2--bg-blue > * {
  position: relative;
  z-index: 0;
}

/* ======================================
   TABLET (600px+)
====================================== */
@media (min-width: 600px) {
  .par-70 {
    padding: 0 2em 2em;
  }

  .par-100 .field--name-field-texte,
  .par-100 .field--name-field-cta {
    padding: 0 2em 2em;
  }
}

/* ======================================
   DESKTOP (999px+)
====================================== */
@media (min-width: 999px) {
  .paragraph--type--paragraphe-illustre > div {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 2em;
  }

  .paragraph--type--paragraphe-illustre .img-left {
    flex-direction: row;
  }

  .paragraph--type--paragraphe-illustre .img-right {
    flex-direction: row-reverse;
  }

  /* Les colonnes ne débordent jamais */
  .paragraph--type--paragraphe-illustre .col1,
  .paragraph--type--paragraphe-illustre .col2 {
    flex: 1 1 50%;
    min-width: 0;
    width: auto;
  }

  .col2 {
    position: relative;
    overflow: visible;
  }

  .col2--bg-blue::before {
    display: block;
    content: "";
    position: absolute;
    top: -90px;
    right: 0;
    width: 70vw;
    height: calc(100% + 190px);
    background: var(--color-tertiary);
    border-radius: 10px;
    z-index: -1;
  }

  .col2--bg-blue > * {
    position: relative;
    z-index: 1;
  }

  .par-70 {
    width: 70%;
    margin: 0 15%;
    padding: 0 4em 2em;
  }

  .par-100 .field--name-field-texte {
    padding: 0 6em 20px;
  }

  .par-100 .field--name-field-cta {
    padding: 0 6em 2em;
  }
}

/* ======================================
   DESKTOP XL (1400px+)
====================================== */
@media (min-width: 1400px) {
  .col2--bg-blue::before {
    width: 70vw;
  }

  .par-70 {
    width: 60%;
    margin: 0 20%;
    padding: 0 6em 2em;
  }

  .par-100 .field--name-field-texte,
  .par-100 .field--name-field-cta {
    padding: 0 8em 2em;
  }
}
