/* ===============================
SECTION 2 COLONNES
=============================== */

.section-2colonnes .cols2{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 60px;
  align-items: center;
}

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

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

/* Aucun média : texte garde 50% */
.section-2colonnes .cols2.no-media{
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

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


/* ===============================
COLONNE IMAGE
=============================== */

.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;
}


/* ===============================
COLONNE TEXTE
=============================== */

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

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

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


/* ===============================
SLIDER WRAPPER
=============================== */

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

.section-2colonnes .slider-w-img img{
  width: 100%;
  height: auto;
}


/* ===============================
SLIDER HORIZONTAL
=============================== */

.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;
}

.slider-vid img,
.slider-img img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 20px;
}


/* ===============================
BOUTONS PREV / NEXT
=============================== */

.slider-vid .bts button,
.slider-img .bts button{
  position: absolute;
  top: 50%;
  z-index: 10;
  padding: 24px;
  transform: translateY(-50%);
  border-radius: 50px;
  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: 50px;
}

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

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

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


/* ===============================
DOTS
=============================== */

.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: 50%;
  background-color: #999;
}

.h-scroll-nav .selected{
  background-color: #666;
}


/* ===============================
VIDEO CARD
=============================== */

.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: 20px;
  background: rgba(0, 0, 0, 0.18);
  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: rgba(0, 0, 0, 0.72);
}

.video-play polygon{
  fill: #fff;
}

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


/* ===============================
VIDEO MODAL
=============================== */

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

.video-modal::backdrop{
  background: rgba(0, 0, 0, 0.75);
}

.video-modal .inner{
  position: relative;
  padding: 20px;
  background: #fff;
  border-radius: 16px;
}

.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: 50%;
  background: #000;
  color: #fff;
  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: 12px;
}


/* ===============================
MOBILE
=============================== */

@media (max-width: 768px){
  .section-2colonnes .cols2{
    grid-template-columns: 1fr;
    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;
  }
}

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