



.site-builder .section-2colonnes .container.full{
  width: 100%;
  max-width: none;
}

.site-builder > .section-2colonnes.has-custom-padding{
  padding: var(--site-pad-top, clamp(48px, 5vw, 96px))
           var(--site-pad-right, 0)
           var(--site-pad-bottom, clamp(48px, 5vw, 96px))
           var(--site-pad-left, 0);
}

.section-2colonnes .cols2{
  display: grid;
  grid-template-columns: minmax(0, var(--site-column-first, 1fr)) minmax(0, var(--site-column-second, 1fr));
  gap: 60px;
  align-items: stretch;
}

.section-2colonnes .cols2.full{
  gap: 0;
}


@media (min-width: 981px){
  #temoignage .cols2{
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }

  #temoignage .cols2.-reverse > :first-child{
    grid-column: 1;
  }

  #temoignage .cols2.-reverse > :last-child{
    grid-column: 2;
  }
}

.site-builder .section-2colonnes blockquote,
.site-builder .section-2colonnes blockquote p{
  font-size: clamp(18px, 2vw, 22px);
}

.site-builder .section-2colonnes .text blockquote{
  margin-bottom: clamp(28px, 3vw, 40px);
}

@media (max-width: 980px){
  #temoignage .cols2{
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(24px, 4vw, 40px);
  }

  #temoignage .cols2.-reverse > :first-child,
  #temoignage .cols2.-reverse > :last-child{
    grid-column: auto;
    grid-row: auto;
  }

  #temoignage .cols2 > .w-img{
    max-width: 420px;
  }
}


.section-2colonnes .cols2.-reverse > :first-child{
  grid-column: 2;
  grid-row: 1;
}

.section-2colonnes .cols2.-reverse > :last-child{
  grid-column: 1;
  grid-row: 1;
}


.section-2colonnes .cols2.no-media{
  grid-template-columns: minmax(0, var(--site-column-first, 1fr)) minmax(0, var(--site-column-second, 1fr));
}

.section-2colonnes .cols2.no-media .txt{
  grid-column: 1 / 2;
  max-width: 100%;
}






.section-2colonnes .w-img{
  width: 100%;
  min-width: 0;
  margin: 0;
  position: relative;
  left: auto;
  right: auto;
  transform: none;
}

.section-2colonnes .w-img.-left,
.section-2colonnes .w-img.-right,
.section-2colonnes .cols2.-reverse .w-img{
  position: relative;
  left: auto;
  right: auto;
  transform: none;
}

.section-2colonnes .w-img img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius);
  aspect-ratio: var(--site-media-ratio, 4 / 3);
  object-fit: var(--site-image-fit, cover);
  object-position: var(--site-media-position, center center);
}


@media (min-width: 769px){
  .section-2colonnes .cols2 > picture.w-img,
  .section-2colonnes .cols2 > .slider-w-img{
    align-self: stretch;
  }

  .section-2colonnes .cols2.text-middle > .w-img{
    align-self: center;
  }

  .section-2colonnes .cols2 > picture.w-img::before,
  .section-2colonnes .cols2 > .slider-w-img::before{
    content: '';
    display: block;
    width: 100%;
    aspect-ratio: var(--site-media-ratio, 4 / 3);
  }

  .section-2colonnes .cols2 > picture.w-img > img{
    position: absolute;
    inset: 0;
    height: 100%;
  }

  .section-2colonnes .slider-w-img > :is(.slider-img, .slider-vid),
  .section-2colonnes .slider-w-img .scroll,
  .section-2colonnes .slider-w-img .scroll > div,
  .section-2colonnes .slider-w-img :is(figure, .video-trigger, picture){
    height: 100%;
  }

  .section-2colonnes .slider-w-img > :is(.slider-img, .slider-vid){
    position: absolute;
    inset: 0;
  }

  .section-2colonnes .slider-w-img .scroll > div{
    align-self: stretch;
  }

  .section-2colonnes .slider-w-img :is(.slider-img, .slider-vid) img{
    height: 100%;
  }
}






.section-2colonnes .txt{
  min-width: 0;
  max-width: 100%;
  align-self: start;
}

.section-2colonnes .cols2.text-middle .txt{ align-self: center; }
.section-2colonnes .cols2.text-bottom .txt{ align-self: end; }
.section-2colonnes .cols2.text-center .txt{ text-align: center; }
.section-2colonnes .cols2.text-right .txt{ text-align: right; }


.section-2colonnes .cols2.full .txt{
  padding: clamp(24px, 4vw, 80px);
}

.section-2colonnes .txt h2{
  margin-bottom: 20px;
}

.section-2colonnes .txt .text h2{
  margin-top: clamp(28px, 3vw, 44px);
  margin-bottom: clamp(18px, 2vw, 28px);
}

.section-2colonnes .txt .text > h2:first-child{
  margin-top: 0;
}

.section-2colonnes .txt .text{
  margin-bottom: 30px;
  font-weight: 400;
}






.section-2colonnes .slider-w-img{
  width: 100%;
  min-width: 0;
}





.slider-vid,
.slider-img{
  position: relative;
  width: 100%;
  --gap: 15px;
}

.slider-vid .scroll,
.slider-img .scroll{
  display: flex;
  flex-wrap: nowrap;
  gap: 0 var(--gap);
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.slider-vid .scroll::-webkit-scrollbar,
.slider-img .scroll::-webkit-scrollbar{
  display: none;
}

.slider-vid .scroll > div,
.slider-img .scroll > div{
  flex: 0 0 100%;
  min-width: 0;
  align-self: center;
}

.slider-vid picture,
.slider-img picture{
  display: block;
}

.section-2colonnes .slider-vid img,
.section-2colonnes .slider-img img{
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: var(--site-media-ratio, 4 / 3);
  object-fit: var(--site-image-fit, cover);
  object-position: var(--site-media-position, center center);
  border-radius: var(--radius);
}






.slider-vid .bts button,
.slider-img .bts button{
  position: absolute;
  top: 50%;
  z-index: 10;
  padding: 24px;
  transform: translateY(-50%);
  border-radius: var(--radius);
  border: 0;
  background-color: var(--color-accent);
}

.slider-vid .bts button::before,
.slider-img .bts button::before{
  display: none;
}

.slider-vid .prev,
.slider-img .prev{
  left: 15px;
  border-radius: var(--radius);
}

.slider-vid .prev::after,
.slider-img .prev::after{
  transform: rotate(180deg);
}

.slider-vid .next,
.slider-img .next{
  right: 15px;
  border-radius: var(--radius);
}

.slider-vid .bts button:hover,
.slider-img .bts button:hover{
  background-color: var(--color-accent-light);
}






.h-scroll-nav{
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}

.h-scroll-nav span{
  display: block;
  width: 8px;
  height: 8px;
  margin: 0 3px;
  border-radius: var(--radius);
  background-color: var(--color-muted-light);
}

.h-scroll-nav .selected{
  background-color: var(--color-muted);
}






.section-2colonnes .grid-w-img{
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.section-2colonnes .img-grid{
  width: 100%;
}

.section-2colonnes .img-grid__item{
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius);
  background: transparent;
}

.section-2colonnes .img-grid__item picture{
  display: block;
  width: 100%;
  height: 100%;
}

.section-2colonnes .img-grid__item img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: var(--site-image-fit, cover);
  object-position: var(--site-media-position, center center);
  border-radius: var(--radius);
}



.section-2colonnes .img-grid__item{
  aspect-ratio: var(--site-media-ratio, 4 / 3);
}

.section-2colonnes :is(.img-grid-2, .img-grid-3, .img-grid-4){
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}





.video-trigger{
  display: block;
  width: 100%;
  padding: 0;
  background: none;
  border: 0;
  cursor: pointer;
  text-align: inherit;
}

.video-card{
  position: relative;
  margin: 0;
}

.video-card::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--radius);
  background: var(--overlay-ink-soft);
  pointer-events: none;
}

.video-play{
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  width: 72px;
  height: 72px;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.video-play svg{
  display: block;
  width: 100%;
  height: 100%;
}

.video-play circle{
  fill: var(--overlay-ink-strong);
}

.video-play polygon{
  fill: var(--palette-white);
}

.video-trigger:hover .video-play circle{
  fill: var(--color-accent);
}






.video-modal{
  width: min(1000px, calc(100vw - 40px));
  max-width: 1000px;
  padding: 0;
  border: 0;
  background: transparent;
}

.video-modal::backdrop{
  background: var(--overlay-ink-strong);
}

.video-modal .inner{
  position: relative;
  padding: 20px;
  background: var(--palette-white);
  border-radius: var(--radius);
}

.video-modal .overlay{
  display: none;
}

.video-modal .close{
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 5;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: var(--radius);
  background: var(--palette-ink);
  color: var(--palette-white);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.video-modal__content{
  width: 100%;
}

.video-embed.-ratio{
  position: relative;
  padding-top: 56.25%;
}

.video-embed.-ratio iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.video-embed video{
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius);
}







@media (max-width: 768px){
  .section-2colonnes .cols2{
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .section-2colonnes .cols2.full{
    gap: 40px;
  }

  .section-2colonnes .cols2.-reverse > :first-child,
  .section-2colonnes .cols2.-reverse > :last-child{
    grid-column: auto;
    grid-row: auto;
  }

  .section-2colonnes .cols2.no-media{
    grid-template-columns: 1fr;
  }

  .section-2colonnes .cols2.no-media .txt{
    grid-column: auto;
  }

  .section-2colonnes .txt{
    max-width: 100%;
  }

  .video-play{
    width: 58px;
    height: 58px;
  }

  .section-2colonnes .grid-w-img{
    width: 100%;
    max-width: none;
    overflow: hidden;
    margin-left: 0;
    margin-right: 0;
  }

  
  .section-2colonnes .img-grid{
    display: flex;
    flex-wrap: nowrap;
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: 2px;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  .section-2colonnes .img-grid::-webkit-scrollbar{
    display: none;
  }

  .section-2colonnes .img-grid__item{
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    aspect-ratio: var(--site-media-ratio, 4 / 3);
    scroll-snap-align: start;
    margin: 0;
    grid-column: auto;
    grid-row: auto;
  }

  .section-2colonnes .img-grid__item picture,
  .section-2colonnes .img-grid__item img{
    width: 100%;
    height: 100%;
  }

  .section-2colonnes .img-grid__item img{
    object-fit: var(--site-image-fit, cover);
  }
}


@media screen and (max-width: 810px){
  .slider-vid .bts,
  .slider-img .bts{
    display: none;
  }
}


.site-builder .section-2colonnes.image-fit-contain :is(.w-img, .slider-img, .img-grid__item) img {
  object-fit: contain;
}
.site-builder .section-2colonnes.image-fit-cover :is(.w-img, .slider-img, .img-grid__item) img {
  object-fit: cover;
}


@media(min-width:769px) {
  .site-builder > .section-2colonnes.site-media-bleed { overflow:visible; }
  .site-builder > .section-2colonnes.site-media-bleed--right > .cols2 > .w-img {
    --site-media-overhang:max(0px,calc(var(--site-section-margin-right,var(--site-section-margin,0px)) + var(--site-active-pad-right,var(--site-section-pad-right,0px))));
    width:calc(100% + var(--site-media-overhang));
    max-width:none;
  }
  .site-builder > .section-2colonnes.site-media-bleed--left > .cols2 > .w-img {
    --site-media-overhang:max(0px,calc(var(--site-section-margin-left,var(--site-section-margin,0px)) + var(--site-active-pad-left,var(--site-section-pad-left,0px))));
    width:calc(100% + var(--site-media-overhang));
    max-width:none;
    margin-left:calc(-1 * var(--site-media-overhang));
  }
}


.section-2colonnes .slider-w-img figure { margin:0; }
.section-2colonnes .slider-w-img picture { display:block; }
.section-2colonnes .bts .hide { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.section-2colonnes .bts button { cursor:pointer; }
.section-2colonnes .bts button::after { content:''; display:block; width:9px; height:9px; border-top:2px solid #fff; border-right:2px solid #fff; transform:rotate(45deg); }
.section-2colonnes .bts .prev::after { transform:rotate(-135deg); }
