/*
Theme Name: Divi Child
Author: 
Description: Divi Child Theme
Version: 1.0
Template: Divi

This is the child theme for Divi theme, generated with Generate Child Theme plugin by catchthemes.

(optional values you can add: Theme URI, Author URI, License, License URI, Tags, Text Domain)
*/
/* ===== Config : ajuste seulement ces 3 valeurs ===== */
:root{
  --vw-mobile-min: 360;     /* largeur plancher côté mobile */
  --vw-base: 1280;          /* ta maquette */
  --vw-desktop-max: 1920;   /* cap desktop large */

  --fs-1280: 16;            /* base à 1280px (px) => 1rem = 16px */
  --fs-mobile-min: 12;      /* base à ~360px (px) => réglage mobile */
  --fs-desktop-max: 22;     /* base à 1920px (px) */
}

/* 360 → 1280 : 13px → 16px (fluide + cap) */
html{
  font-size: clamp(
    calc(var(--fs-mobile-min)*1px),
    calc( (var(--fs-mobile-min)*1px) + (var(--fs-1280) - var(--fs-mobile-min)) *
          ((100vw - var(--vw-mobile-min)*1px) / (var(--vw-base) - var(--vw-mobile-min))) ),
    calc(var(--fs-1280)*1px)
  );
}

/* 1280 → 1920 : 16px → 18px (fluide + cap) */
@media (min-width: 1280px){
  html{
    font-size: clamp(
      calc(var(--fs-1280)*1px),
      calc( (var(--fs-1280)*1px) + (var(--fs-desktop-max) - var(--fs-1280)) *
            ((100vw - var(--vw-base)*1px) / (var(--vw-desktop-max) - var(--vw-base))) ),
      calc(var(--fs-desktop-max)*1px)
    );
  }
}
body{
	background-color:#1E1E1E;
}
#enconstruction {
  height: 100vh; /* prend toute la hauteur du navigateur */
  display: flex;
  justify-content: center; /* centre horizontalement */
  align-items: center; /* centre verticalement */
}
.hero{
	text-align: center !important;
}

.hero .et_pb_button_module_wrapper {
    display: inline-block;
    margin: 0 10px; /* espace entre les boutons */
}

.rowpad80{
	padding: clamp(20px, calc(20px + 60 * ((100vw - 1280px) / 640)), 80px) !important;
}
.rowpad120{
	padding: clamp(60px, calc(60px + 60 * ((100vw - 1280px) / 640)), 120px) !important;
}
.rowpad35{
	padding: clamp(20px, calc(20px + 15 * ((100vw - 1280px) / 640)), 35px) !important;
}
/* Style de base du bouton custom */
a.style_hoverslide {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 2.5rem;

    color: #FFFFFF !important;
    border: 2px solid #212121;
    border-radius: 6px;
    font-size: 0.91rem;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-decoration: none;
    cursor: pointer;
    overflow: hidden;

    /* Le fond "normal" sera géré via ::after */
    background: transparent;

    /* Fallback si jamais la variable n'est pas définie */
    --hover-bg: #ffffff;
}

/* Fond "normal" (état de repos) */
a.style_hoverslide::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;

    background-color: #212121; /* Fond d'origine */
}

/* Fond animé blanc */
a.style_hoverslide::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;

    background: #fff;

    /* Effet initial : caché à gauche */
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.35s ease-out;
}

/* Hover : remplissage blanc */
a.style_hoverslide:hover::before {
    transform: scaleX(1);
}

/* Texte devient foncé sur le fond blanc */
a.style_hoverslide:hover {
    color: #212121 !important;
}

/* Style de base du bouton custom */
a.style_hoverslide2 {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 2.5rem;

    color: #212121 !important;
    border: 2px solid #fff;
    border-radius: 6px;
    font-size: 0.91rem;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-decoration: none;
    cursor: pointer;
    overflow: hidden;

    /* Le fond "normal" sera géré via ::after */
    background: transparent;

    /* Fallback si jamais la variable n'est pas définie */
    --hover-bg: #212121;
}

/* Fond "normal" (état de repos) */
a.style_hoverslide2::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;

    background-color: #fff; /* Fond d'origine */
}

/* Fond animé blanc */
a.style_hoverslide2::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;

    background: #212121;

    /* Effet initial : caché à gauche */
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.35s ease-out;
}

/* Hover : remplissage blanc */
a.style_hoverslide2:hover::before {
    transform: scaleX(1);
}

/* Texte devient foncé sur le fond blanc */
a.style_hoverslide2:hover {
    color: #fff !important;
}

/* Style de base du bouton custom */
a.style_hoverslide3 {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 2.5rem;

    color: #ffff !important;
    border: 2px solid #2414FF;
    border-radius: 6px;
    font-size: 0.91rem;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-decoration: none;
    cursor: pointer;
    overflow: hidden;

    /* Le fond "normal" sera géré via ::after */
    background: transparent;

    /* Fallback si jamais la variable n'est pas définie */
    --hover-bg: #000;
}

/* Fond "normal" (état de repos) */
a.style_hoverslide3::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;

    background-color: #2414FF; /* Fond d'origine */
}

/* Fond animé blanc */
a.style_hoverslide3::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;

    background: #000;

    /* Effet initial : caché à gauche */
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.35s ease-out;
}

/* Hover : remplissage blanc */
a.style_hoverslide3:hover::before {
    transform: scaleX(1);
}

/* Texte devient foncé sur le fond blanc */
a.style_hoverslide3:hover {
    color: #2414FF !important;
}
/* Effet zoom sur les colonnes dans .iconhover */
.iconhover .et_pb_column {
    transition: transform 0.3s ease; /* Animation fluide */
    transform: scale(1); /* État normal */
	cursor:pointer;
}

.iconhover .et_pb_column:hover {
    transform: scale(1.2); /* Zoom au survol */
    z-index: 10; /* Évite les recouvrements */
    position: relative;
}
.formcontactbdp .et_pb_contact_field_half {
    width: 47.4%;
    float: left;
    padding: 0 !important;
}
.formcontactbdp .wpcf7-text, 
.formcontactbdp .wpcf7-textarea {
    width: 100%;
    border: 1px solid #ccc !important;
	    border-radius: 4px;
    padding: 5px 15px !important;
    background: none !important;
    color: #fff;
    margin-bottom: 1rem !important;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-size: 0.7rem !important;
    line-height: 1.2rem !important;
    font-style: normal;
    font-weight: 400;
}
.parent-pageid-3314 .formcontactbdp .wpcf7-text,
.parent-pageid-3314 .formcontactbdp .wpcf7-textarea
{
	color: #000 !important;
}
.formcontactbdp .et_pb_contact_field_0 {
    margin-right: 30px;
}
.formcontactbdp p{
	padding-bottom:0px !important;
}
/* Bouton CF7 avec effet "slide" blanc au hover */
.formcontactbdp .wpcf7-submit {
    position: relative;
    appearance: none;
    -webkit-appearance: none;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0.75rem 2.5rem;

    border: 2px solid #ffff;
    border-radius: 6px;
    font-size: 0.91rem;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 700 !important;
    text-transform: uppercase !important;

    cursor: pointer;
    overflow: hidden;

    /* État normal : fond noir + texte blanc */
    background-color: #ffff;
    color: #212121 !important;

    /* On prépare un dégradé blanc par-dessus,
       mais réduit à 0% de largeur au départ */
    background-image: linear-gradient(to right, #212121 0%, #212121 100%);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 0% 100%;

    transition: background-size 0.35s ease-out, color 0.35s ease-out;
}
.formcontactbdp.fquote .wpcf7-submit{
	border: 2px solid #1E1E1E;
}
/* Hover : le "blanc" s’étend de gauche à droite */
.formcontactbdp .wpcf7-submit:hover {
    background-size: 100% 100%; /* le dégradé blanc recouvre tout */
    color: #fff !important;  /* texte noir sur fond blanc */
}
.et_pb_menu--style-centered .et_pb_menu__menu>nav>ul, 
.et_pb_menu--style-centered .et_pb_menu__wrap {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end !important;
}
/*** NEWSLETTER ****/
.formnewsletter .et_pb_contact_field_half {
    width: 48.1%;
    float: left;
    padding: 0 !important;
}
.formnewsletter .wpcf7-text {
    width: 100%;
    border: 1px solid #6C6C6C !important;
	border-radius:4px;
    padding: 5px 15px !important;
    background: none !important;
    color: #6C6C6C !important;
    margin-bottom: 1rem !important;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-size: 0.7rem !important;
    line-height: 1.2rem !important;
    font-style: normal;
    font-weight: 400;
}
.formcontactbdp .wpcf7-textarea {
    width: 100%;
    border: 1px solid #ccc !important;
	border-radius:4px;
    padding: 5px 15px !important;
    background: none !important;
    color: #fff !important;
    margin-bottom: 1rem !important;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-size: 0.7rem !important;
    line-height: 1.2rem !important;
    font-style: normal;
    font-weight: 400;
}
footer .formnewsletter .wpcf7-text {
    width: 100%;
    border: 1px solid #fff !important;
	border-radius:2px;
    padding: 5px 15px !important;
    background: none !important;
    color: #fff !important;
    margin-bottom: 1rem !important;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-size: 0.7rem !important;
    line-height: 1.2rem !important;
    font-style: normal;
    font-weight: 400;
}
.formcontactbdp.fquote .wpcf7-textarea {
	height:9rem;
}
.formcontactbdp.pagecontact .wpcf7-textarea{
	height:4rem;
}
.formcontactbdp.fquote .wpcf7-submit{
	width:100%;
}
.formcontactbdp.fquote  .et_pb_contact_field_half {
    width: 48.8%;
}
.formnewsletter .et_pb_contact_field_0 {
    margin-right: 30px;
}
footer .formnewsletter .et_pb_contact_field_0 {
    margin-right: 10px;
}
.formnewsletter p{
	padding-bottom:0px !important;
}
/* Bouton CF7 avec effet "slide" blanc au hover */
.formnewsletter .wpcf7-submit {
    position: relative;
    appearance: none;
    -webkit-appearance: none;
	border-radius:4px;
	width:100%;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0.5rem 0;

    border: 2px solid #fff;
    border-radius: 6px;
    font-size: 0.91rem;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 700 !important;

    cursor: pointer;
    overflow: hidden;

    /* État normal : fond noir + texte blanc */
    background-color: #fff;
    color: #212121 !important;

    /* On prépare un dégradé blanc par-dessus,
       mais réduit à 0% de largeur au départ */
    background-image: linear-gradient(to right, #212121 0%, #212121 100%);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 0% 100%;

    transition: background-size 0.35s ease-out, color 0.35s ease-out;
}

/* Hover : le "blanc" s’étend de gauche à droite */
.formnewsletter .wpcf7-submit:hover {
    background-size: 100% 100%; /* le dégradé blanc recouvre tout */
    color: #fff !important;  /* texte noir sur fond blanc */
}
footer .formnewsletter .wpcf7-submit {
    position: relative;
    appearance: none;
    -webkit-appearance: none;
	border-radius:4px;
	width:100%;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0.3rem 0;

    border: 2px solid #fff;
    border-radius: 2px;
    font-size: 0.91rem;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 700 !important;

    cursor: pointer;
    overflow: hidden;

    /* État normal : fond noir + texte blanc */
    background-color: #fff;
    color: #212121 !important;

    /* On prépare un dégradé blanc par-dessus,
       mais réduit à 0% de largeur au départ */
    background-image: linear-gradient(to right, #212121 0%, #212121 100%);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 0% 100%;

    transition: background-size 0.35s ease-out, color 0.35s ease-out;
}

/* Hover : le "blanc" s’étend de gauche à droite */
footer .formnewsletter .wpcf7-submit:hover {
    background-size: 100% 100%; /* le dégradé blanc recouvre tout */
    color: #fff !important;  /* texte noir sur fond blanc */
}


.et_pb_menu--style-centered .et_pb_menu__menu>nav>ul, 
.et_pb_menu--style-centered .et_pb_menu__wrap {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end !important;
}

.jeux-carousel-wrapper {
    margin: 2rem 0;
    position: relative;
}

.jeux-carousel-filters {
    margin-bottom: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.jeux-filter-btn{
    width:225px;
    height:56px;
    padding: 0.4rem 0.8rem;
    border-radius:999px;
    cursor:pointer;
    font-size:16px;
    color:#FFF;

    /* on n'utilise plus border/background ici */
    background: transparent;
    border: 0;

    position: relative;
    z-index: 0;           /* crée une référence */
    isolation: isolate;   /* empêche les z-index négatifs de sortir du bouton */

    transition: color .2s ease;
}

/* fond + 1er trait (DERrière le texte) */
.jeux-filter-btn::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:#000;
    border:2px solid #D6CFE3;

    z-index: -1;          /* ✅ derrière le texte */
    pointer-events:none;
}

/* 2e trait encore plus derrière */
.jeux-filter-btn::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    border:2px solid #D6CFE3;

    z-index: -2;          /* ✅ derrière le ::before */
    transform: translate(-3px, 10px);
    opacity:0;

    pointer-events:none;
    transition: transform .28s cubic-bezier(.2,.9,.2,1), opacity .2s ease;
}

/* apparition smooth */
.jeux-filter-btn:hover::after,
.jeux-filter-btn.is-active::after{
    opacity:1;
    transform: translate(-3px, 8px);
}



.jeux-carousel-viewport {
    overflow: hidden;
    position: relative;
}

.jeux-carousel-track {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 1rem 6vw 1rem 12vw; /* espace à gauche façon Netflix au départ */
    -webkit-overflow-scrolling: touch;
    cursor: grab;
    transition: padding-left 0.3s ease;
    scrollbar-width: none;        /* Firefox */
    -ms-overflow-style: none;     /* IE / Edge legacy */
}

.jeux-carousel-track::-webkit-scrollbar {
    display: none; /* Chrome / Safari / Edge */
}

.jeux-carousel-track.is-grabbing {
    cursor: grabbing;
}

/* Une fois que l'utilisateur a commencé à scroller/draguer,
   on réduit définitivement le padding gauche pour "coller" les slides */
.jeux-carousel-wrapper.has-started .jeux-carousel-track {
    padding-left: 1rem;
}

/* Pendant le drag, on enlève le scroll-snap pour plus de fluidité */
.jeux-carousel-wrapper.is-dragging .jeux-carousel-track {
    scroll-snap-type: none;
}

/* Pendant le drag, on désactive les clics sur les liens */
.jeux-carousel-wrapper.is-dragging a {
    pointer-events: none;
}

/**
 * Largeur des slides
 * - Mobile (par défaut) : ~1.2 slides visibles => 1 slide complet + 2e à ~20%
 * - Tablettes : ~2.2 slides visibles
 * - Desktop moyen : ~3.2 slides visibles
 * - Grand écran (~1920px+) : ~3.8 slides visibles (4e à ~80%)
 */

/* Mobile par défaut */
.jeux-slide {
    flex: 0 0 calc(100vw / 1.2); /* ~83.3% => 1 slide + 0.2 du second */
    max-width: none;
    background: #111;
    color: #fff;
    border-radius: 12px;
    overflow: hidden;
    scroll-snap-align: start;
    transition: transform 0.2s, box-shadow 0.2s;
}

/* Tablettes / petit desktop */
@media (min-width: 768px) {
    .jeux-slide {
        flex-basis: calc(100vw / 2.2); /* ~2.2 slides visibles */
    }
}

/* Desktop ≥ 1200px : ~3.2 slides visibles */
@media (min-width: 1200px) {
    .jeux-slide {
        flex-basis: calc(100vw / 3.2); /* ~3.2 slides visibles */
    }
}

/* Grand écran ≥ 1600px : 3 slides + 4e à ~80% */
@media (min-width: 1600px) {
    .jeux-slide {
        flex-basis: calc(100vw / 4.8); /* ~3.8 slides visibles */
    }
}

.jeux-slide a {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%;
}

.jeux-slide:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.4);
}

.jeux-slide-image img {
    width: 100%;
    display: block;
    height: auto;
}

.jeux-slide-content {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.jeux-slide-text p {
    margin: 0;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-size: 1rem;
    line-height: 1.4;
	color:#FFF;
}

.jeux-slide-title {
    margin: 0;
    font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    font-size: 1.5rem;
	color:#FFF;
	font-weight:800;
}
.liste2styles strong{
	font-size: 1.275rem;
	font-weight:700;
}
/* ============================
   BASE : Style général de la liste
=============================== */
.numeros ol {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: steps;
}

.numeros ol li {
    position: relative;
    padding-left: 4.5rem;
    margin: 3.5rem 0;
    font-size: 1rem;
	font-weight:300 !important;
    line-height: 1.4;
    color: #ffffff;
    counter-increment: steps;
    transition: color 0.3s ease;
}
.numeros.cond ol li{
	margin: 2rem 0 !important;
}
.numeros ol li:last-child {
	margin-bottom:0px !important;
}
/* ============================
   CERCLE + NUMÉRO (style normal)
=============================== */
.numeros ol li::before {
    content: counter(steps);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 68px;
    height: 68px;
    border-radius: 50%;
    border: 2px solid #ffffff;
    color: #ffffff;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.64rem;
    font-weight: 500;
    transition: all 0.3s ease;
}

/* ============================
   ÉTAT PAR DÉFAUT : le numéro 1 est actif
=============================== */
.numeros ol li:first-child::before {
    background-color: #ffffff;
    color: #000; 
    border-color: #ffffff;
}

/* ============================
   HOVER : l’élément survolé devient “actif”
=============================== */
.numeros ol li:hover::before {
    background-color: #ffffff;
    color: #000;
    border-color: #ffffff;
}

/* ============================
   Quand on survole un LI, les autres redeviennent style normal
=============================== */
.numeros ol:hover li::before {
    background-color: transparent;
    color: #ffffff;
    border-color: #ffffff;
}

/* Toujours appliquer le hover actif en priorité */
.numeros ol:hover li:hover::before {
    background-color: #ffffff;
    color: #000;
    border-color: #ffffff;
}

/* ----------------------------------------------------------
   ESPACE BAS POUR LES CONTROLES
---------------------------------------------------------- */
.sliderjeu.et_pb_slider {
  position: relative;
  padding-bottom: 110px;
}

/* On cache les points Divi */
.sliderjeu .et-pb-controllers {
  display: none !important;
}

/* On cache COMPLETEMENT les flèches d'origine Divi */
.sliderjeu .et-pb-slider-arrows {
  display: none !important;
}

/* ----------------------------------------------------------
   WRAPPER GLOBAL : COMPTEUR + FLÈCHES (bas droite)
---------------------------------------------------------- */
.sliderjeu .xd-slider-controls {
  position: absolute;
  bottom: 50px;
    right: 250px;
  display: flex;
  align-items: center;
  gap: 35px;
  z-index: 30;
}

/* ----------------------------------------------------------
   COMPTEUR 01 ——— 03
---------------------------------------------------------- */
.sliderjeu .xd-slider-counter {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #fff;
}

.sliderjeu .xd-slider-counter .xd-current,
.sliderjeu .xd-slider-counter .xd-total {
  font-size: 18px;
  letter-spacing: 0.15em;
}

/* Barre de progression */
.sliderjeu .xd-slider-counter .xd-bar {
  position: relative;
  width: 180px;
  height: 2px;
  border-radius: 999px;
  background: #fff;
  overflow: hidden;
}

.sliderjeu .xd-slider-counter .xd-bar-inner {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 0;
  background: #2414FF; /* violet maquette */
  transition: width 0.4s ease;
}

/* ----------------------------------------------------------
   NOUVELLES FLÈCHES CUSTOM
---------------------------------------------------------- */
.sliderjeu .xd-arrows {
  display: flex;
  gap: 20px;
}

/* boutons flèches : pilules bord blanc */
.sliderjeu .xd-arrow {
  background: transparent;
  border: 1px solid #ffffff;
  border-radius: 999px;
      width: 60px;
    height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  box-shadow: none;
  color: #ffffff;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: background 0.25s ease, color 0.25s ease, transform 0.2s ease;
}

/* Icônes flèches */
.sliderjeu .xd-arrow-prev::before,
.sliderjeu .xd-arrow-next::before {
  font-size: 18px;
  line-height: 1;
}

.sliderjeu .xd-arrow-prev::before {
  content: "\2190"; /* ← */
}

.sliderjeu .xd-arrow-next::before {
  content: "\2192"; /* → */
}

/* hover : fond blanc, flèche noire */
.sliderjeu .xd-arrow:hover {
  background: #ffffff;
  color: #111111;
  transform: translateY(-1px);
}

.sliderjeu .et_pb_gallery_image img, 
.sliderjeu .et_pb_gallery_item{
	height: 800px;
	object-fit: cover;
}
.page-id-3023 .sliderjeu .et_pb_gallery_image img, 
.page-id-3023 .sliderjeu .et_pb_gallery_item,
.page-id-3718 .sliderjeu .et_pb_gallery_image img,
.page-id-3718 .sliderjeu .et_pb_gallery_item,
.h535.sliderjeu .et_pb_gallery_item,
.h535.sliderjeu .et_pb_gallery_image img
{
	height: 535px;
	object-fit: cover;
}
.page-id-3718 .sliderjeu.sj2 .et_pb_gallery_image img,
.page-id-3718 .sliderjeu.sj2 .et_pb_gallery_item{
	height: 824px;
	object-fit: cover;
}
/* --------- ANIMATIONS GLOBALES --------- */
@keyframes typing {
  from {
    width: 0;
  }
}

@keyframes blink {
  50% {
    border-color: transparent;
  }
}

/* --------- STYLE COMMUN AUX 3 TEXTES --------- */
.typotext .et_pb_text_inner {
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  border-right: 3px solid currentColor; /* Curseur */
}

/* --------- TEXTE 1 --------- */
/* "Who’s hiding the truth?" → 23 caractères */
.typotext.text1 .et_pb_text_inner {
  width: 24ch;
  animation: typing 2.5s steps(23), blink .5s step-end infinite alternate;
}

/* --------- TEXTE 2 --------- */
/* "Who’s pulling the strings?" → 26 caractères */
.typotext.text2 .et_pb_text_inner {
  width: 27ch;
  animation: typing 3s steps(26), blink .5s step-end infinite alternate;
}

/* --------- TEXTE 3 --------- */
/* "And how far will you go to uncover the secrets behind the velvet curtain?"
   → 86 caractères */
.typotext.text3 .et_pb_text_inner {
  width: 76ch;
  animation: typing 6s steps(86), blink .5s step-end infinite alternate;
}

.supporton{
	position: absolute;
  top: 21rem;

  /* Valeurs par défaut (en dessous de 1280px) */
  width: 34rem;
  right: 9rem;
}
/* Zone fluide : entre 1280px et 1920px */
@media (min-width: 1280px) and (max-width: 1920px) {
  .supporton {
    /* 34rem → 38rem sur 1280–1920px */
    width: calc(
      34rem + (4 * ((100vw - 1280px) / (1920 - 1280)))
    ) !important;

    /* 9rem → 10rem sur 1280–1920px */
    right: calc(
      9rem + (1 * ((100vw - 1280px) / (1920 - 1280)))
    )!important;
  }
}

/* Au-delà de 1920px : valeur max en rem */
@media (min-width: 1920px) {
  .supporton {
    width: 38rem;
    right: 10rem;
  }
}
.formcontactbdp.fquote  label{
    font-size:0.865rem;
}
/* Wrapper des boutons */
.wpcf7-form .solution-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
	margin-top: 5px;
}

/* Chaque item */
.wpcf7-form .solution-buttons .wpcf7-list-item {
  margin: 0;
}

/* On cache la case à cocher réelle */
.wpcf7-form .solution-buttons input[type="checkbox"],
.wpcf7-form .solution-buttons input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Le label ne sert que de wrapper, pas de style bouton */
.wpcf7-form .solution-buttons label {
  padding: 0;
  border: none;
  background: transparent;
}

/* SPAN = bouton réel */
.wpcf7-form .solution-buttons .wpcf7-list-item-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 13px;
  border-radius: 4px;
  border: 2px solid #1e1e1e;
  background: #fff;
  color: #1e1e1e;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  font-size:0.8rem;
}

/* Hover */
.wpcf7-form .solution-buttons label:hover .wpcf7-list-item-label {
  background: #1e1e1e;
  color: #fff;
}

/* État sélectionné (bouton actif) */
.wpcf7-form .solution-buttons input:checked + .wpcf7-list-item-label {
  background: #1e1e1e;
  color: #fff;
}
/* Cacher les messages d'erreur sous les champs */
.wpcf7-not-valid-tip {
  display: none !important;
}

/* Cacher le message global standard de CF7 */
.wpcf7 form.invalid .wpcf7-response-output {
  display: none !important;
}

/* Style de ton bloc d'erreurs global */
.cf7-global-errors {
  display: none;         /* affiché seulement quand il y a des erreurs */
  margin-bottom: 15px;
  padding: 12px 15px;
  border-radius: 4px;
  background: #f8d7da;
  color: #721c24;
  font-size: 14px;
}

.cf7-global-errors ul {
  margin: 0;
  padding-left: 20px;
}

.cf7-global-errors li {
  margin: 3px 0;
}
/* Conteneur du bouton personnalisé */
.xd-file-upload {
	font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
    position: relative;
    display: inline-block;
	border-radius: 4px;
    width: 100%;
    margin: 0 auto;
    padding: 8px 16px;
    border: 2px solid #1e1e1e;
    background: #1e1e1e;
    color: #ffffff;
    text-align: center;
    font-size: 0.865rem;
	font-weight:700;
    cursor: pointer;
    box-sizing: border-box;
	height: 45px;
	margin-bottom:25px;
	 /* Ajout de l'icône */
    background-image: url("/wp-content/uploads/2025/12/Vector-8.svg");
    background-repeat: no-repeat;
    background-position: right 40% center; /* position à droite */
    background-size: 12px; /* taille de l’icône */
}
.xd-file-upload:hover{
	 background: #ffffff;
    color: #1e1e1e;
}
/* Texte "Joindre vos fichiers si besoin" */
.xd-file-upload .xd-file-text {
    display: block;
}

/* Champ file natif : on le rend invisible mais cliquable sur toute la barre */
.xd-file-upload .xd-real-file {
    position: absolute;
    inset: 0;          /* top/right/bottom/left: 0 */
    opacity: 0;
    cursor: pointer;
}

.et_pb_blurb.wc h4 span span{
	font-weight:300 !important;
}
.et_pb_menu .et_pb_menu__menu>nav>ul>li>ul {
    left: auto !important;
    right: 0 !important;
}
.nav li li {
    padding: 0 !important;
	border-bottom:1px solid #9c9c9c;
}
.nav li li:last-child {
	border-bottom:0px solid #9c9c9c;
}
.nav li li a{
	font-size:0.55rem !important;
	text-align:center;
}
.nav li ul{
	width:180px !important;
}
.et-menu li li a {
    padding: 6px 10px;
    width: 180px !important;
	font-size:0.73rem !important;
}
.et_pb_menu .et-menu-nav>ul ul {
    padding: 0;
}
.page-id-3574 .hero .et_pb_button_module_wrapper{
	display:block;
} 

/* =========================================================
   XD - Coverflow custom à partir d'un Diaporama Divi
   Module Diaporama:  .xd-univers-slider
   Module Texte (caption): .xd-univers-caption
   ========================================================= */

:root{
  /* DEMANDE : hauteur 886px @ 1920 => 55.375rem */
  --xd-center-w: clamp(26rem, 40vw, 48.5625rem);  /* max 777px (si tu veux garder 777) */
  --xd-center-h: clamp(24rem, 46vw, 55.375rem);   /* max 886px */

  --xd-side-w:   clamp(16rem, 22vw, 22rem);
  --xd-side-h:   clamp(18rem, 28vw, 30rem);

  /* Overlap (plus petit = plus caché derrière le centre) */
  --xd-gap: clamp(9rem, 14vw, 17rem);

  --xd-radius: 1.125rem; /* 18px */
  --xd-lift: 0.625rem;   /* 10px */
}

/* 1) On cache l'affichage natif Divi mais on garde les slides dans le DOM */
.xd-univers-slider .et_pb_slides,
.xd-univers-slider .et_pb_slides_container{
  display: none !important;
}

/* 2) Notre scène custom injectée en JS */
.xd-univers-slider .xd-stage{
  position: relative;
  width: 100%;
  height: var(--xd-center-h);
  overflow: visible;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* 3) Cartes */
.xd-univers-slider .xd-card{
  position: absolute;
  border-radius: var(--xd-radius);
  overflow: hidden;
  transition: transform .7s ease, opacity .7s ease;
  opacity: .22;
  z-index: 1;

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Centre */
.xd-univers-slider .xd-card.is-center{
  width: var(--xd-center-w);
  height: var(--xd-center-h);
  opacity: 1;
  z-index: 6;
  transform: translateY(calc(-1 * var(--xd-lift)));
}

/* Côtés (droits, même taille, derrière le centre) */
.xd-univers-slider .xd-card.is-left,
.xd-univers-slider .xd-card.is-right{
  width: var(--xd-side-w);
  height: var(--xd-side-h);
  opacity: .85;
  z-index: 3;
  transform: translateY(0);
}

.xd-univers-slider .xd-card.is-left{
  transform: translateX(calc(-1 * var(--xd-gap)));
}

.xd-univers-slider .xd-card.is-right{
  transform: translateX(var(--xd-gap));
}

/* Optionnel : cartes "loin" pour l'effet multi */
.xd-univers-slider .xd-card.is-far-left,
.xd-univers-slider .xd-card.is-far-right{
  width: var(--xd-side-w);
  height: var(--xd-side-h);
  opacity: .12;
  z-index: 1;
}

.xd-univers-slider .xd-card.is-far-left{
  transform: translateX(calc(-1 * (var(--xd-gap) + 14rem)));
}
.xd-univers-slider .xd-card.is-far-right{
  transform: translateX(calc(var(--xd-gap) + 14rem));
}

/* 4) Caption : centrée sous l'image principale, même largeur que la carte centrale */
.xd-univers-caption{
  width: var(--xd-center-w) !important;
  max-width: 100%;
  margin: 2rem auto 0 !important;
  text-align: center !important;
  position: relative;
  z-index: 10;
}

.xd-univers-caption h3{
	font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
  color:#fff;
  margin: 0;
	padding-bottom:0.2rem;
  font-size: 1.27rem;
  font-weight: 800;
  letter-spacing: .02em;
}

.xd-univers-caption p{
	font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif;
  color:#fff;
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
}

/* Mobile : si tu veux 1 carte plus tard, on pourra adapter.
   Là on garde simple. */
@media (max-width: 600px){
  .xd-univers-caption{ width: 100% !important; }
  .xd-univers-slider .xd-card.is-far-left,
  .xd-univers-slider .xd-card.is-far-right{
    display:none;
  }
}
/* Supprimer les flèches de navigation */
.xd-univers-slider .et-pb-arrow-prev,
.xd-univers-slider .et-pb-arrow-next {
  display: none !important;
}

/* Supprimer les points / contrôles */
.xd-univers-slider .et-pb-controllers,
.xd-univers-slider .et_pb_slider_dots,
.xd-univers-slider .et_pb_slider_controls {
  display: none !important;
}

/* Wrapper class added on the Divi Row: partners-carousel */
.partners-carousel{
  position: relative;

  /* Left spacing at start (like your screenshot) */
  padding-left: 48px;
  padding-right: 0;
}

/* Column container */
.partners-carousel .et_pb_column{
  position: relative;
}

/* Track injected by JS */
.partners-carousel .partners-track{
  /* Tweak these 2 variables */
  --pc-gap: 56px;        /* space between logos */
  --pc-visible: 6.35;    /* 6 full logos + a portion of 7th */

  display: flex;
  align-items: center;
  gap: var(--pc-gap);

  overflow-x: auto;
  overflow-y: hidden;

  /* For continuous autoplay, avoid snap */
  scroll-behavior: auto;
  -webkit-overflow-scrolling: touch;

  padding: 24px 0;

  /* Hide scrollbars */
  scrollbar-width: none;          /* Firefox */
}
.partners-carousel .partners-track::-webkit-scrollbar{
  display: none;                  /* Chrome/Safari */
}

/* Grab cursor for drag */
.partners-carousel .partners-track{
  cursor: grab;
}
.partners-carousel .partners-track:active{
  cursor: grabbing;
}

/* Each slide is a Divi .et_pb_image moved into the track */
.partners-carousel .partner-slide{
  flex: 0 0 auto;

  /* Key part: keep 6 + part of 7 visible on ANY screen width */
  width: calc(
    (100% - (var(--pc-gap) * (var(--pc-visible) - 1)))
    / var(--pc-visible)
  );

  display: flex;
  justify-content: center;
  align-items: center;
}

/* Make logos fit nicely */
.partners-carousel .partner-slide img{
  width: 100%;
  height: auto;
  max-height: 140px;      /* adjust if needed */
  object-fit: contain;
  display: block;
}

/* Optional: prevent selection while dragging */
.partners-carousel,
.partners-carousel *{
  -webkit-user-select: none;
  user-select: none;
}

/* But keep links clickable/selectable */
.partners-carousel a,
.partners-carousel a *{
  -webkit-user-select: auto;
  user-select: auto;
}

/* ----------------------------------------------------------
   ESPACE BAS POUR LES CONTROLES
---------------------------------------------------------- */
.sliderpagegames.et_pb_slider {
  position: relative;
  padding-bottom: 110px;
}

/* On cache les points Divi */
.sliderpagegames .et-pb-controllers {
  display: none !important;
}

/* On cache les flèches d'origine Divi sans bloquer le JS */
.sliderpagegames .et-pb-slider-arrows {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ----------------------------------------------------------
   WRAPPER GLOBAL : COMPTEUR + FLÈCHES
---------------------------------------------------------- */
/*.sliderpagegames .xd-slider-controls {
  position: absolute;
  bottom: 50px;
  right: 150px;
  display: flex;
  align-items: center;
  gap: 35px;
  z-index: 30;
  max-width: calc(100% - 40px);
}*/
.sliderpagegames .xd-slider-controls {
  display: flex;
  align-items: center;
  gap: 25px;
  z-index: 30;
  width: 450px;
  margin:25px auto 0px auto;
}

/* ----------------------------------------------------------
   COMPTEUR 01 ——— 03
---------------------------------------------------------- */
.sliderpagegames .xd-slider-counter {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #fff;
  flex-shrink: 0;
  white-space: nowrap;
}

.sliderpagegames .xd-slider-counter .xd-current,
.sliderpagegames .xd-slider-counter .xd-total {
  font-size: 18px;
  letter-spacing: 0.15em;
  line-height: 1;
}

.sliderpagegames .xd-slider-counter .xd-bar {
  position: relative;
  width: 180px;
  height: 2px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.3);
  overflow: hidden;
  flex-shrink: 0;
}

.sliderpagegames .xd-slider-counter .xd-bar-inner {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 0;
  background: #fff;
  transition: width 0.4s ease;
}

/* ----------------------------------------------------------
   FLÈCHES CUSTOM
---------------------------------------------------------- */
.sliderpagegames .xd-arrows {
  display: flex;
  gap: 20px;
  flex-shrink: 0;
}

.sliderpagegames .xd-arrow {
  background: transparent;
  border: 1px solid #ffffff;
  border-radius: 999px;
  width: 60px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  box-shadow: none;
  color: #ffffff;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: background 0.25s ease, color 0.25s ease, transform 0.2s ease;
}

.sliderpagegames .xd-arrow-prev::before,
.sliderpagegames .xd-arrow-next::before {
  font-size: 18px;
  line-height: 1;
}

.sliderpagegames .xd-arrow-prev::before {
  content: "\2190";
}

.sliderpagegames .xd-arrow-next::before {
  content: "\2192";
}

.sliderpagegames .xd-arrow:hover {
  background: #ffffff;
  color: #111111;
  transform: translateY(-1px);
}

/* ----------------------------------------------------------
   TABLETTE
---------------------------------------------------------- */
@media (max-width: 980px) {
  .sliderpagegames.et_pb_slider {
    padding-bottom: 100px;
  }

  .sliderpagegames .xd-slider-controls {
    right: 40px;
    bottom: 40px;
    gap: 24px;
  }

  .sliderpagegames .xd-slider-counter .xd-bar {
    width: 130px;
  }
	.sliderjeu .xd-slider-controls{
		right: 0px;
	}
}

/* ----------------------------------------------------------
   MOBILE
---------------------------------------------------------- */
@media (max-width: 767px) {
  .sliderpagegames.et_pb_slider {
    padding-bottom: 95px;
  }

  .sliderpagegames .xd-slider-controls {
    left: 20px;
    right: 20px;
    bottom: 35px;
    width: auto;
    max-width: none;
    justify-content: space-between;
    gap: 16px;
  }

  .sliderpagegames .xd-slider-counter {
    gap: 10px;
    min-width: 0;
  }

  .sliderpagegames .xd-slider-counter .xd-current,
  .sliderpagegames .xd-slider-counter .xd-total {
    font-size: 14px;
    letter-spacing: 0.12em;
  }

  .sliderpagegames .xd-slider-counter .xd-bar {
    width: 90px;
  }

  .sliderpagegames .xd-arrows {
    gap: 10px;
  }

  .sliderpagegames .xd-arrow {
    width: 48px;
    height: 28px;
  }
}

/* ----------------------------------------------------------
   PETITS MOBILES
---------------------------------------------------------- */
@media (max-width: 390px) {
  .sliderpagegames .xd-slider-controls {
    left: 15px;
    right: 15px;
    gap: 12px;
  }

  .sliderpagegames .xd-slider-counter .xd-bar {
    width: 70px;
  }

  .sliderpagegames .xd-arrow {
    width: 44px;
  }
}

/* Desktop : force 455x430 + centrage des images du slider "sliderpagegames" */
/* Desktop : force 455x430 + centrage SANS casser Divi */
@media (min-width: 981px) {

  /* IMPORTANT : on ne touche PAS au display des items (Divi en dépend) */
  .sliderpagegames.et_pb_gallery .et_pb_gallery_item {
    text-align: center; /* centrage horizontal "safe" */
  }

  /* Le wrapper doit avoir une largeur fixe et être centré */
  .sliderpagegames.et_pb_gallery .et_pb_gallery_item .et_pb_gallery_image {
    width: 455px !important;
    height: 430px !important;
    margin: 0 auto; /* centre dans le slide */
  }

  /* Lien en bloc + flex pour centrer verticalement sans impacter le slide */
  .sliderpagegames.et_pb_gallery .et_pb_gallery_item .et_pb_gallery_image a {
    width: 455px !important;
    height: 430px !important;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Image */
  .sliderpagegames.et_pb_gallery .et_pb_gallery_item .et_pb_gallery_image img {
    width: 455px !important;
    height: 430px !important;
    object-fit: cover;
    display: block;
  }
}

/* On cache le "champ catégories" dans les sections */
.xd-game-section .xd-cats{
  display:none !important;
}

/* Barre de filtres */
.xd-filters{
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
  margin: 10px 0 40px;
}

.xd-filter{
   color:#fff;
   padding: 0.85rem 2rem;
  border-radius: 999px;
	font-size:16px;
  cursor:pointer;
  /* on n'utilise plus border/background ici */
    background: transparent;
    border: 0;

    position: relative;
    z-index: 0;           /* crée une référence */
    isolation: isolate;   /* empêche les z-index négatifs de sortir du bouton */

    transition: color .2s ease;
}

/* fond + 1er trait (DERrière le texte) */
.xd-filter::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:#000;
    border:2px solid #D6CFE3;

    z-index: -1;          /* ✅ derrière le texte */
    pointer-events:none;
}

/* 2e trait encore plus derrière */
.xd-filter::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    border:2px solid #D6CFE3;

    z-index: -2;          /* ✅ derrière le ::before */
    transform: translate(-3px, 10px);
    opacity:0;

    pointer-events:none;
    transition: transform .28s cubic-bezier(.2,.9,.2,1), opacity .2s ease;
}

/* apparition smooth */
.xd-filter:hover::after,
.xd-filter.is-active::after{
    opacity:1;
    transform: translate(-3px, 8px);
}

/* =========================================================
   XD Netflix Carousel (Divi)
========================================================= */

.xd-netflix-carousel{
  overflow: visible;
}

/* Track horizontale */
.xd-netflix-carousel .et_pb_column{
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 24px;

  overflow-x: auto;
  overflow-y: hidden;

  scroll-snap-type: x proximity;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;

  cursor: grab;

  padding-left: calc((50vw - var(--et_pb_row_width, 1080px)) / 2);
  padding-right: 32px;

  scrollbar-width: none;

  touch-action: pan-y;
}

.xd-netflix-carousel .et_pb_column::-webkit-scrollbar{
  display: none;
}

/* Item */
.xd-netflix-carousel .et_pb_image{
  flex: 0 0 auto !important;
  width: clamp(260px, 22vw, 520px);
  margin: 0 !important;

  scroll-snap-align: start;

  transition: transform .2s ease;
}

/* Images */
.xd-netflix-carousel .et_pb_image .et_pb_image_wrap,
.xd-netflix-carousel .et_pb_image img{
  display: block;
  width: 100%;
}

.xd-netflix-carousel .et_pb_image img{
  height: 260px;
  object-fit: cover;
}

/* Hover */
.xd-netflix-carousel .et_pb_image:hover{
  transform: translateY(-2px);
}

/* Drag cursor */
.xd-netflix-carousel .et_pb_column.is-grabbing{
  cursor: grabbing;
}

/* Anti sélection */
.xd-netflix-carousel .et_pb_column,
.xd-netflix-carousel .et_pb_column *{
  user-select: none;
}

/* Évite drag natif image */
.xd-netflix-carousel img,
.xd-netflix-carousel a{
  -webkit-user-drag: none;
  user-drag: none;
}

/* Colonne = flex qui wrap */
.et_pb_column.col-images-bottom {
  display: flex !important;
  flex-wrap: wrap !important;
  align-content: flex-end !important;
}

/* Les textes prennent toute la largeur (au-dessus) */
.et_pb_column.col-images-bottom .et_pb_text {
  flex: 0 0 100% !important;
}

/* Groupe des images */
.et_pb_column.col-images-bottom .et_pb_image {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: flex-end !important; /* 🔥 clé du problème */
  margin: 0 16px 0 0 !important;    /* espace réel entre images */
}

/* Supprime l'espace après la dernière image */
.et_pb_column.col-images-bottom .et_pb_image:last-child {
  margin-right: 0 !important;
}

/* Empêcher Divi d'étirer les images */
.et_pb_column.col-images-bottom .et_pb_image_wrap,
.et_pb_column.col-images-bottom .et_pb_image_wrap img {
  width: auto !important;
  height: auto !important;
  display: block !important;
}

/* La colonne reste centrée */
.headerbtnapp .et_pb_column {
    align-items: center;
}

/* Affichage inline pour éviter l'empilement */
.headerbtnapp .et_pb_image_1,
.headerbtnapp .et_pb_image_2 {
    display: inline-flex;
}

/* Espace entre les deux boutons */
.headerbtnapp .et_pb_image_1 {
    margin-right: 16px;
}

/* Sécurité anti-retour à la ligne */
.headerbtnapp .et_pb_image_1,
.headerbtnapp .et_pb_image_2 {
    float: none;
    vertical-align: middle;
}

.et_pb_video,
.et_pb_video_box,
.et_pb_video_box video {
    width: 100%;
    max-width: 100%;
    display: block;
}

/* Hauteur 600px */
.video-h-600 .et_pb_video_box{
    height: 633px;
}
.video-h-658 .et_pb_video_box{
    height: 658px;
}
.video-h-600 .et_pb_video_box video,
.video-h-658 .et_pb_video_box video
{
    height: 100% !important;
    width: 100%  !important;
    object-fit: contain;
	background-color:#000;
}
.galproduits.et_pb_gallery .et_pb_gallery_item{
	margin-right:0.5rem !important;
	float:left;
	margin-bottom:1rem !important;
}
.galproduits .et_pb_gallery_image a {
	pointer-events: none;
	cursor: default;
}
.galproduits.et_pb_gallery .et_pb_gallery_item .et_overlay{
	display:none !important;
}
.listeespace li{
	margin-bottom:2rem !important;
}
.listeespace li:last-child{
	margin-bottom:0px !important;
}
.page-id-4553 .et-l--post .et_builder_inner_content{
	min-height: 100vh;         /* prend toute la hauteur écran */
  display: flex;
  flex-direction: column;    /* empile section_0 puis section_1 */
  justify-content: center;
}
.page-id-4553 .et-l--post .et_pb_section_0,
.page-id-4553 .et-l--post .et_pb_section_1 {
  padding-top: 0;
  padding-bottom: 0;
}
.formnl .et_pb_contact_field_half{
    width: 43.72%;
    float: left;
    padding: 0 !important;
}
.formnl .et_pb_contact_field_0{
    margin-right: 1rem;
}
.formnl .wpcf7-email{
	width: 100%;
	font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif;
	font-size: clamp(
        18px,
        calc(18px + 6 * ((100vw - 1280px) / 640)),
        24px
    );
	font-weight:400;
	background:#fff;
	border:1px solid #000;
	border-radius:50px;
	padding:10px 15px;
	display:inline-block;
	color:#8C0B29 !important;
}

.formnl .et_pb_contact_field_half.et_pb_contact_field_0 
input.wpcf7-email::placeholder {
    color: #8C0B29;
    opacity: 1;
}
.formnl .wpcf7-submit{
	width: 100%;
	font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif;
	font-size: clamp(
        18px,
        calc(18px + 6 * ((100vw - 1280px) / 640)),
        24px
    );
	font-weight:400;
	text-transform: uppercase;
	display:inline-block;
	background:#8C0B29;
	border:1px solid #8C0B29;
	border-radius:50px;
	padding:10px 15px;
	color:#fff;
	transition: all 300ms ease 0ms !important;
	cursor:pointer;
}
.formnl .wpcf7-submit:hover{
	background:#fff;
	border:1px solid #8C0B29;
	color:#8C0B29;
}
.wpcf7 form.sent .wpcf7-response-output{
	clear:both;
	    color: #808080;
}
.desclist ul{
	margin-top:25px;
}
.page-id-3488 .jeux-carousel-filters,
.page-id-4481 .jeux-carousel-filters,
.page-id-4503 .jeux-carousel-filters{
	display:none !important;
}
.page-id-3488 .jeux-carousel-wrapper,
.page-id-4481 .jeux-carousel-wrapper,
.page-id-4503 .jeux-carousel-wrapper{
	margin-top:0px !important;
}
.blogcontent .et_pb_title_featured_container{
	margin-top:20px;
}
/**** FOOTER ****/
footer ul{
	padding:0px !important;
}
.et_pb_text_5_tb_footer li,
.et_pb_text_7_tb_footer li,
.et_pb_text_9_tb_footer li{
	margin-bottom:0.6rem;
}

.page-id-3314 .et_pb_grid_item.et_pb_gallery_item.first_in_row{
	    clear: none;
}
/*change hamburger icon to x when mobile menu is open*/

#et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before,
.et_pb_module.et_pb_menu .et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before {
	content: '\4d';
}


/*adjust the new toggle element which is added via jQuery*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle {
	width: 44px;
	height: 100%;
	padding: 0px !important;
	max-height: 44px;
	border: none;
	position: absolute;
	right: -9px;
	top: -12px;
	z-index: 999;
	background-color: transparent;
}


/*some code to keep everyting positioned properly*/

ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
	position: relative;
}


/*remove default background color from menu items that have children*/

.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
	background-color: transparent;
}


/*hide the submenu by default*/

ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
	display: none !important;
	visibility: hidden !important;
}


/*show the submenu when toggled open*/

ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
	display: block !important;
	visibility: visible !important;
}


/*adjust the toggle icon position and transparency*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle {
	text-align: center;
	opacity: 1;
}


/*submenu toggle icon when closed*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {
	top: 10px;
	position: relative;
	font-family: "ETModules";
	content: '\33';
	color: #212121;
	background: #f0f3f6;
	border-radius: 50%;
	padding: 3px;
}


/*submenu toggle icon when open*/

ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after {
	content: '\32';
}


/*add point on top of the menu submenu dropdown*/

.et_pb_menu_0.et_pb_menu .et_mobile_menu:after {
	position: absolute;
	right: 5%;
	margin-left: -20px;
	top: -14px;
	width: 0;
	height: 0;
	content: '';
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-bottom: 20px solid #ffffff;
}


/*adjust the position of the hamburger menu*/

.mobile_menu_bar {
	position: relative;
	display: block;
	bottom: 3px;
	line-height: 0;
}


/*force the background color and add a rounded border*/

.et_pb_menu_0.et_pb_menu .et_mobile_menu,
.et_pb_menu_0.et_pb_menu .et_mobile_menu ul {
	background-color: #ffffff!important;
	border-radius: 10px;
}
#ct-ultimate-gdpr-cookie-popup{
	width:515px !important;
}

/** POUR MOBILE **/
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
	#ct-ultimate-gdpr-cookie-popup{
		width:100% !important;
	}
	.formnl .et_pb_contact_field_half {
		width: 38%;
	}
	#formobile .et_mobile_menu{
		background-color:#fff !important;
	}
	.et_mobile_menu li a{
		padding-top:0px !important;
		padding-bottom:0px !important;
	}
	.et_pb_text_5_tb_footer li,
	.et_pb_text_7_tb_footer li,
	.et_pb_text_9_tb_footer li{
		margin-bottom:0px !important;
		line-height: 20px;
		font-size: 1rem !important;
	}
    .jeux-carousel-filters {
        justify-content: center;
        text-align: center;
    }

    .jeux-filter-btn {
        flex: 0 0 auto;
    }
	.partners-carousel{
	  padding-left: 22px;
	}
	.partners-carousel .partner-slide{
		    width: 35%;
	}
	.et_pb_menu_0_tb_header.et_pb_menu ul li a{
		font-size:1rem !important;
	}
	.sliderjeu .xd-slider-counter .xd-bar {
	  width: 120px;
	}
	.sliderjeu .xd-arrow{
		width: 44px;
    	height: 22px;
	}
	.headerbtnapp .et_pb_image_1, 
	.headerbtnapp .et_pb_image_2{
		width:40% !important;
	}
	.et_pb_column.col-images-bottom .et_pb_image{
		margin:0 0 20px 0 !important;
		width:29% !important;
	}
	footer .formnewsletter .wpcf7-submit{
		padding: 0.5rem 0;
		font-size: 1rem;
	}
	footer .formnewsletter .wpcf7-text{
		font-size: 1rem !important;
	}
	.page-id-3718 .sliderjeu.sj2 .et_pb_gallery_image img,
	.page-id-3718 .sliderjeu.sj2 .et_pb_gallery_item{
		height: 400px !important;
	}
	.page-id-3527 .formcontactbdp .et_pb_contact_field_half {
		width: 100%;
		float: none;
	}
	.page-id-3527 .formcontactbdp .wpcf7-text, 
	.page-id-3527 .formcontactbdp .wpcf7-textarea{
		font-size:1.2rem !important;
	}
	.page-id-3314 .et_pb_column .et_pb_grid_item:nth-child(odd){
		clear:none !important;
	}
	.formcontactbdp.fquote .et_pb_contact_field_half {
		width: 100%;
		margin-right:0 !important;
	}
	.wpcf7-form .solution-buttons .wpcf7-list-item-label{
		padding: 2px 6px;
		border: 1px solid #1e1e1e;
	}
	.formcontactbdp .wpcf7-text, 
	.formcontactbdp .wpcf7-textarea,
	.formcontactbdp.fquote label {
		font-size:1rem !important;
	}
	.formcontactbdp.fquote .wpcf7-textarea {
		margin-top: 20px;
	}
	.xd-file-upload{
		background-position: right 9% center !important;
	}
	.parent-pageid-3314 .xd-hs-content{
		margin-top:155px !important;
	}
	.parent-pageid-3314 .xd-pro-packs .xd-pp-desc{
		margin-top:20px !important;
	}
	.parent-pageid-3314 .xd-pro-packs .xd-pp-desc p,
	.parent-pageid-3314 .entry-content li{
		font-size:1.3rem !important;
	}
	.parent-pageid-3314 .xd-pro-packs {
        padding: 0px !important;
    }
	.parent-pageid-3314 .xd-steps-image .xd-si-text p{
		font-size:1.5rem !important;
	}
	.parent-pageid-3314  a.style_hoverslide3{
		width:100% !important;
		font-size: 1.2rem !important;
	}
	.parent-pageid-3314  .xd-pro-packs .xd-pp-cta{
		font-size: 1.2rem !important;
	}
}
@media (max-width: 767px) {
  .entry-content h3,
  .entry-content h4,
  .entry-content h5,
  .entry-content h6,
  .entry-content li,
  .entry-content .et_pb_text_inner,
  .entry-content .et_pb_text_inner strong,
  .xd-hero-slider .xd-hs-btn,
  .jeux-carousel-wrapper .jeux-slide-title,
  .jeux-carousel-wrapper .jeux-slide-text,
  .page-id-3527 .entry-content .et_pb_text_inner p{
    font-size: calc(1em + 0.3rem) !important;
  }
  .parent-pageid-3314 .entry-content .et_pb_text_inner strong,
  .parent-pageid-3314 .entry-content .et_pb_text_inner p{
    font-size: 1.3rem !important;
  }
	.xd-hero-slider .xd-hs-text{
		font-size: calc(0.8em)!important;
	}
}
@media (max-width: 980px) {
    .reverse-mobile {
        display: flex;
        flex-wrap: wrap;
    }

    .reverse-mobile .et_pb_column:first-child {
        order: 2;
    }

    .reverse-mobile .et_pb_column:last-child {
        order: 1;
    }
}
.style_hoverslide2{
	font-family: 'Poppins', Helvetica, Arial, Lucida, sans-serif!important;
}
