.cc {
  background-image: none;
  background-color: #f1f2ee !important;
}

.cc .page__element {
  background-color: #f1f2ee !important;
  box-shadow: none;
}
/* .container__grid.no_image {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transition: transform 0.3s ease-out;
  z-index: 1000;
} */

.fullwidth {
  /*overflow: hidden;*/
  position: relative;
  /* img {
    height: 686px;
    @media (max-width: 600px) {
      height: initial;
    }
    margin: 0 auto;
  } */
}

.fullwidth picture {
  position: sticky;
  top: 0;
  z-index: 1;
}
.fullwidth picture img {
  display: block;
  width: 100%;
  height: auto;
  transition: opacity 0.6s ease;
  opacity: 1;
}
/* Fondu de l'image une fois que le grid vient se coller par-dessus */
.fullwidth.is-pinned picture img {
  opacity: 0;
}

/* Le bloc qui vient se coller tout en haut de la page, PAR-DESSUS l'image */
.container__grid.no_image {
  position: sticky;
  top: 0;
  z-index: 2;
  min-height: 100vh; /* pour bien occuper l'écran une fois collé, à ajuster */
  opacity: 1;
  transform: translateY(60px);
  transition:
    opacity 0.6s ease,
    transform 0.6s ease;
  background-color: #f1f2ee;
}
.container__grid.no_image.is-visible {
  opacity: 1;
  transform: translateY(0);
  background-color: #f1f2ee;
}

/* Sentinel invisible utilisé uniquement pour détecter le moment du "collage" */
.sticky-sentinel {
  position: relative;
  height: 1px;
  width: 100%;
}

.hero__intro {
  display: none;
}

header.hero.imageless {
  padding-top: 0;
}

.ctxt-article section.page__element.detail > .detail__paragraph:first-child {
  margin-top: initial;
  margin-bottom: initial;
}

.detail__title {
  color: #282828;
  text-align: center;
  font-family: Fabrikat;
  font-size: 34px;
  font-style: normal;
  font-weight: 900;
  line-height: 120%; /* 40.8px */
}

.detail__paragraph p {
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 32px;
  text-align: center;
}

.detail__paragraph p strong {
  font-weight: 700;
}

.detail__paragraph .button {
  text-align: center;
  width: 310px;
  margin: 40px auto 16px auto;
  display: block;
  background-color: black;
  border: 1px solid black;
  box-shadow: 5px 5px rgba(0, 0, 0, 0.6);
}

.detail__paragraph .button:active,
.detail__paragraph .button:hover {
  border: 1px dotted #60615f;
}

.cc .jeuConcours {
  background-color: #e7e9e4;

  margin: 48px auto;
  width: 1088px;
    
  @media (max-width: 1024px) {
    width: 100%;
    height: 717px;
    display: initial;
  }

}

.cc .jeuConcours__container {
  border: 0;
  background: none;
  padding: 56px 48px;
  grid-template-rows: auto;
  margin-bottom: 0;
  @media (max-width: 1024px) {
    padding: 24px 8px;
    
  }
}

.cc .jeuConcours__content h3 {
  font-size: 24px;
  font-style: normal;
  font-weight: 900;
  line-height: 120%; /* 28.8px */
  margin-top: 0;
  margin-bottom: 24px;
  color: #282828;
}

.cc .jeuConcours__content p {
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 32px;
  color: #282828;
  margin: 24px 0;
}

.cc .jeuConcours__form--inputs {
  border: 0;
  box-shadow: none;
  max-height: fit-content;
  margin-bottom: 0;
  @media (max-width: 1024px) {
    max-height: fit-content;
  }
}

.cc .i_blocgenform fieldset {
  border: 0;
  background: none;
}

#formContent {
  margin: 0 48px;
  @media (max-width: 1024px) {
    margin: 0;
  }
  #btnEnvoyer {
    width: 100%;
    background-color: black;
    border: 1px solid black;
  }
}

.form__input {
  max-width: 330px;
}

p.form__required a {
  text-align: center;
}

.cc .i_blocgenform {
  background: none;
}

.cc
  .i_blocgenform
  .form--floating-label
  .form__control
  .form__input
  input:not([type="radio"])
  + label {
  color: #757575;
  font-weight: 400;
}

.cc
  .i_blocgenform
  .form--floating-label
  .form__control
  .form__input
  input:not([type="radio"]),
.cc .i_blocgenform .form--floating-label .form__control .form__input textarea {
  border: 1px solid rgba(0, 0, 0, 0.55);
}

.cc.ctxt-article
  .page__element.detail
  .jeuConcours__container
  .jeuConcours__content
  ul {
  li {
    color: #282828;
    font-size: 18px;
    font-weight: 600;
    line-height: 150%;
    list-style-type: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin: 16px 0;
  }
  li::before {
    content: " ";
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    /* border-radius: 100px; */
    background: rgba(129, 128, 117, 0.2);
  }
  li:nth-child(1)::before {
    background-image: url("https://cdnwmsi.e-i.com/SITW/wm/global/1.0.0/af/assets/articles/jeu-concours-campagne-visa-celine/bookmark.svg");
    background-repeat: no-repeat;
    background-position: center;
    mask: inherit;
  }
  li:nth-child(2)::before {
    background-image: url("https://cdnwmsi.e-i.com/SITW/wm/global/1.0.0/af/assets/articles/jeu-concours-campagne-visa-celine/home.svg");
    background-repeat: no-repeat;
    background-position: center;
    mask: inherit;
  }
  li:nth-child(3)::before {
    background-image: url("https://cdnwmsi.e-i.com/SITW/wm/global/1.0.0/af/assets/articles/jeu-concours-campagne-visa-celine/car.svg");
    background-repeat: no-repeat;
    background-position: center;
    mask: inherit;
  }
  li:nth-child(4)::before {
    background-image: url("https://cdnwmsi.e-i.com/SITW/wm/global/1.0.0/af/assets/articles/jeu-concours-campagne-visa-celine/jetty.svg");
    background-repeat: no-repeat;
    background-position: center;
    mask: inherit;
  }
}
.cc.ctxt-article .cbInfinite {
  height: 342.513px;
  width: 216.078px;
  float: right;
  @media (max-width: 1024px) {
    height: 175.867px;
    width: 110.948px;
    margin: 0 auto;
    float: initial;
    display: block;
  }
  /* transform: rotate(90deg); */
  /* flex-shrink: 0; */
}

.cc.ctxt-article ul.avantages {
  li {
    color: #4d4d4d;
    font-size: 16px;
    font-weight: 400;
    line-height: 160%;
    list-style-type: none;
    /* display: flex;
    flex-direction: row;
    align-items: center; */
    gap: 16px;
    margin: 40px 0;
    max-width: 1024px;
    strong {
      font-size: 20px;
      font-style: normal;
      font-weight: 700;
      line-height: 140%; /* 28px */
    }
  }
  li::before {
    content: " ";
    width: 64px;
    height: 64px;
    background: rgba(0, 0, 0, 0.8);
    box-shadow: 0 0 24px 0 rgba(0, 49, 146, 0.15);
    display: block;
    margin-bottom: 24px;
  }
  li:nth-child(1)::before {
    background-image: url("https://cdnwmsi.e-i.com/SITW/wm/global/1.0.0/af/assets/articles/jeu-concours-campagne-visa-celine/agent.svg");
    background-repeat: no-repeat;
    background-position: center;
    mask: inherit;
  }
  li:nth-child(2)::before {
    background-image: url("https://cdnwmsi.e-i.com/SITW/wm/global/1.0.0/af/assets/articles/jeu-concours-campagne-visa-celine/credit_card_premium.svg");
    background-repeat: no-repeat;
    background-position: center;
    mask: inherit;
  }
  li:nth-child(3)::before {
    background-image: url("https://cdnwmsi.e-i.com/SITW/wm/global/1.0.0/af/assets/articles/jeu-concours-campagne-visa-celine/jetty_white.svg");
    background-repeat: no-repeat;
    background-position: center;
    mask: inherit;
  }
  li:nth-child(4)::before {
    background-image: url("https://cdnwmsi.e-i.com/SITW/wm/global/1.0.0/af/assets/articles/jeu-concours-campagne-visa-celine/atm.svg");
    background-repeat: no-repeat;
    background-position: center;
    mask: inherit;
  }
}

#formContent div.form__group p.form__required {
  text-align: center;
}

#formContent > div.form__group:not(:last-child) {
  margin-bottom: 1rem;
}

.jeuConcours__form--optin .form__control.checkbox:not(:last-child) {
margin-bottom: 0.5rem;
}
.jeuConcours__form {
margin-bottom: 3rem;
 @media (min-width: 600px) {
      margin-bottom: 6rem;
    }
}

#formContent div.checkbox.error {
  flex-wrap:wrap
}
#formContent div.checkbox.error label {
  width: calc(100% - 2.5rem);
}