/**NEW CSS - DEBUT**/
.container_onglets_activites {
    padding: 0px !important;
    margin: 0px !important;
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}
.container_onglets_activites li{
	border-radius: 15px;
	display:inline-block;
	order: 3;
	padding:10px 20px 7px 20px;
	margin:20px 5px;
	background-color: #F5F5F5;
	cursor:pointer;
	border-bottom : solid 3px #f5f5f5;
	font-size:13px;
}
.container_onglets_activites_mobile {
	background-color: #1b1f32;
    padding: 10px 20px;
    border: none;
    border-radius: 15px;
	display: none;
    margin: auto;
}

.container_onglets_activites li.actif{
	/*border-bottom :solid 3px var(--couleur-principale);*/
	background-color: #191f39;
	/* background-color: var(--couleur-principale); */
    color: #ffffff;
	order: 1;
}

/*ACTIVITE EN PAGE DACCUEIL*/
.container_activites_accueil .single_activite{
	position: relative;
	width: 403px;
    height: 403px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 25px;
	
}
.container_activites_accueil .slick-prev{
	z-index: 100000;
	left: -50px;
}
.container_activites_accueil .slick-slide{
	margin-right: 20px;
}
.container_activites_accueil .single_activite::before {
    border-radius: 25px;
    display: block;
	position: absolute;
    content: "";
    background: rgb(0,0,0);
	background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0.17970938375350143) 30%, rgba(0,0,0,0) 100%);
    width: 100%;
    height: 100%;
}
.container_activites_accueil .single_activite .container {
    padding: 5px 20px;
    display: flex;
    align-items: center;
    position: absolute;
    width: 100%;
    bottom: 0px;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: nowrap;
}
.container_activites_accueil .single_activite .container .btn_activite {
    background-image: url("../../img/icon_arrow_activite copie.webp");
	content: "";
	width: 30px;
	height: 30px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-bottom: 5px;
	
}
.container_activites_accueil .single_activite .container .titre_activite {
    color: #ffffff;
	display: flex;
	align-items: center;
	font-size: 20px;
	height: 30px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	justify-content: center;
	
}

.container_activites_accueil .slick-list.draggable {
    overflow: visible;
}
/*ACTIVITE EN PAGE ACTIVITES*/
.container_accordeon_type_activite .single_activite{
	position: relative;
    height: 256px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 25px;
	width: 100%;
	
}
.container_accordeon_type_activite .single_activite::before {
    border-radius: 25px;
    display: block;
	position: absolute;
    content: "";
    /*background: rgb(0,0,0);
	background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0.17970938375350143) 30%, rgba(0,0,0,0) 100%);*/
    width: 100%;
    height: 100%;
}
.container_accordeon_type_activite .single_activite .container {
    padding: 5px 20px;
    display: flex;
    align-items: flex-end;
    position: absolute;
    width: 100%;
    bottom: 5px;
    justify-content: flex-end;
    flex-direction: row;
    flex-wrap: nowrap;
}
.container_accordeon_type_activite .single_activite .container .btn_activite {
    background-image: url("../../img/icon_arrow_activite copie.webp");
	content: "";
	width: 30px;
	height: 30px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-bottom: 5px;
	
}
.container_accordeon_type_activite .single_activite .container .titre_activite,
.container_related_activites .single_activite .container .titre_activite {
    font-family: "Poppins";
    color: #ffffff;
	display: flex;
	align-items: center;
	font-size: 20px;
	height: 30px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	justify-content: center;
	
}

.container_accordeon_type_activite .single_accordeon {
    background-color: var(--couleur-principale-light);
    border-radius: 25px;
    padding: 10px;
    position: relative;
    margin-bottom: 5px;
}
.container_accordeon_type_activite .header_accordeon .titre {
    font-size: 20px;
    font-weight: 400;
}
.container_accordeon_type_activite .header_accordeon {
	cursor: pointer;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}
.container_accordeon_type_activite .container_accordeon {
    position: relative;
    padding: 0px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 10px;
	max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease-in-out; /* Ajoutez une transition pour une animation douce */
}
.container_accordeon_type_activite .container_accordeon.active {
	max-height: 5000px; /* Réglez la valeur maximale pour la hauteur en fonction de votre contenu */
	padding: 25px 0px;
}

.container_accordeon_type_activite .header_accordeon .dropdown_accordeon {
	rotate: 90deg;
    background-image: url("../../img/icon_arrow_activite copie.webp");
	content: "";
	width: 30px;
	height: 30px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-bottom: 5px;
	transition: rotate 0.3s; 
	
}
.container_accordeon_type_activite .header_accordeon .dropdown_accordeon.active {
	rotate: 270deg !important;
}

/* STYLE TEMPLATE **************************************/
/*-TEMPLATE ARTICLE */
.template_single{
	margin-left: auto!important; margin-right: auto!important;  width: 95%;
    /*max-width: 1000px;*/
	margin-top: 30px;
	margin-bottom: 30px;
}
.template_single.activite .bg_thumbnail {
	padding: 15px;
	position: relative;
    width: 100%;
    min-height: 364px;
    background-size: cover;
    margin-bottom: 20px;
    border-radius: 25px;
    background-repeat: no-repeat;
}
.template_single.activite .bg_thumbnail .container_thumbnail {
    position: absolute;
    bottom: 15px;
}
.template_single.activite .bg_thumbnail .container_thumbnail h1{
    color: #ffffff !important;
	text-shadow: 0px 0px 4px #00000059;
	font-size: 2.6em;
}
.cours_empty{
	text-align: center;
}
.container_single_prochain_cours_reservation {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    align-items: center;
}
.container_single_prochain_cours_reservation .container_je_reserve{
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    align-items: center;
}
.container_single_prochain_cours_reservation img{
	width: 50px
}
.container_single_prochain_cours_reservation .cta_je_reserve{
	background-color: #191f39;
	/* background-color: var(--couleur-principale); */
    padding: 10px;
    color: #ffffff;
    width: 100%;
    position: relative;
    display: block;
    border-radius: 8px;
    font-size: 20px;
    text-align: center;

}
.template_single.activite .cta_je_reserve{
	background-color: #191f39;
	/* background-color: var(--couleur-principale); */
    padding: 15px;
    color: #ffffff;
   	width: fit-content;
    position: relative;
    display: block;
    border-radius: 8px;
    font-size: 20px;
    text-align: center;

}
.template_single.activite .cta_planning_cours {
    color: #000000;
}
.container_prochain_cours{
	margin-top: 20px;
	margin-bottom: 20px;
}
.container_materiel_necessaire, .container_prochain_cours, .container_content, .container_benefices, .container_parties_cibles, .container_conseil_coach, .container_planning_single, .container_activite_en_video, .bg_thumbnail{
	margin-bottom: 20px;
	max-width: 1000px;
    margin-left: auto!important;
    margin-right: auto!important;
}
.template_single.activite .container_conseil_coach {
    padding: 25px;
    border-radius: 25px;
}
.template_single.activite .container_conseil_coach strong {
    display: block;
    width: 100%;
	text-align: center;
}
/* Styles pour la liste personnalisée */
.template_single ul {
	display: inline-block;
	padding: 0px;
}
.template_single li {
    list-style: none; /* Supprime les puces par défaut */
    list-style-position: inside;
}
/*.template_single li::marker {
	content: '✓';
    font-size: 18px;
}*/
.template_single.activite .container_planning_cours {
	border-radius: 10px;
    padding: 0px 10px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    margin-right: 20px;
}
.template_single.activite .container_planning_cours img {
    width: 50px;
}
.template_single.activite .container_planning_single .center {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
}
.template_single.activite p {
	font-size: inherit;
	font-weight: 300;
}
.template_single.activite h2 {
	font-size: 48px;
	color: #191f39;
	/* color: var(--couleur-principale); */
	font-weight: 700;
}
.template_single.activite h3 {
	font-size: 28px;
	color: #1cbade;
	/* color: var(--couleur-secondaire); */
	font-weight: 700;
}


/* ==============================
   GRILLE DES ACTIVITÉS
============================== */
.container_accordeon_type_activite.grid-4 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.container_related_activites{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* Responsive */
@media (max-width: 1024px) {
    .container_accordeon_type_activite.grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 680px) {
    .container_accordeon_type_activite.grid-4 {
        grid-template-columns: 1fr;
    }
}

/* ==============================
   TUITE – SINGLE ACTIVITE
   (ratio exact 1920x910)
============================== */
.single_activite {
  position: relative;
  aspect-ratio: 1920 / 910; /* ratio exact ≈ 2.11 */
  background-position: center;
  background-size: cover;
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.single_activite:hover {
  transform: scale(1.03);
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

/* Logo dans la tuile */
.single_activite .img_logo {
    max-width: 100%;
    max-height: 70px;
    object-fit: contain;
    min-width: 260px;
}


/* ==============================
   BOUTON / OVERLAY DE LA TUITE
============================== */
.single_activite .container {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px;
}

.single_activite .container::before {
    width: 0 !important;
}


.single_activite .titre_activite {
    color: #fff;
    font-size: 22px;
    font-weight: 600;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

/* cercle flèche ou bouton (si présent dans ton HTML) */
.single_activite .btn_activite {
    width: 45px;
    height: 45px;
    margin-top: 15px;
    border-radius: 50%;
    background-color: rgba(255,255,255,0.25);
}

.single_activite .badge_besoin {
    margin-top: 0px;
    position: absolute;
    top: 15px;
    right: 15px;
}

.single_activite .badge_besoin .img_besoin {
    width: auto;
    height: 30px;
    object-fit: contain;
    display: block;
    background: #ffffff;
    border-radius: 50px;
}



/* ==========================================================================
   CONTAINER GLOBAL DES FILTRES
========================================================================== */
.container_filtres_activites {
    width: 100%;
    margin: 20px 0 35px 0;
    display: flex;
    flex-direction: row;
    gap: 18px;
		align-items: center;
}

/* ==========================================================================
   LIGNES DES FILTRES (espaces + types)
========================================================================== */
.filtre-espaces,
.filtre-types {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    position: relative;
}

.filtre-types {
    background-color: #f8f8f8;
		padding: 18px;
    border-radius: 999px;
}

/* ==========================================================================
   CHIPS (boutons de filtres)
========================================================================== */

.filtre-espaces span,
.filtre-types span {
    cursor: pointer;
    padding: 10px 22px;
    border: 2px solid transparent;
    font-weight: 600;
    font-size: 16px;
    border-radius: 999px;   /* forme pill */
    display: inline-flex;
    align-items: center;
    line-height: 1;
    transition: all 0.2s ease;
}
.filtre-espaces span{
    font-weight: 600;
}
.filtre-types span{
    font-weight: 300;
}


.filtre-espaces span {
		color: #ffffff;
		background: #191f39;
		/* background: var(--couleur-principale); */
}
.filtre-types span {
		color: #191f39;
		/* color: var(--couleur-principale); */
		background: #ffffff;
}


/* Hover */
.filtre-espaces span:hover{
  transform: scale(1.03);
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.filtre-types span:hover {
  transform: scale(1.03);
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}


/* On cache l'input pour cliquer sur tout le label */
.filtre-espaces input,
.filtre-types input {
    display: none;
}

/* ÉTAT CHECKÉ (chip bleue) */
.filtre-espaces input[type="checkbox"]:checked + span {
    background: #1cbade !important;
    /* background: var(--couleur-secondaire) !important; */
    color: #fff;
    /* padding: 10px 22px; */
    border-radius: 999px;
    box-shadow: 0 4px 12px rgba(37, 118, 201, 0.25);
}
.filtre-types input[type="checkbox"]:checked + span {
    background: #1cbade !important;
    /* background: var(--couleur-secondaire) !important; */
    color: #fff;
    /* padding: 10px 22px; */
    border-radius: 999px;
    box-shadow: 0 4px 12px rgba(37, 118, 201, 0.25);
}

/* Masquage dynamique par JS */
.type-filter-item[style*="none"] {
    display: none !important;
}

/* ==========================================================================
   BOUTONS RESET (premier et second niveau)
========================================================================== */
.btn-reset-filtre,
.btn-reset-type {
    cursor: pointer;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #F4F7FB;
    border: 2px solid #E5ECF5;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 22px;
    color: #2576C9;
    font-weight: 600;
    transition: all .2s ease;
    line-height: 0;
}

/* Hover reset */
.btn-reset-filtre:hover,
.btn-reset-type:hover {
	transform: scale(1.03);
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);

}

/* On cache quand pas actif */
.btn-reset-filtre:not(.visible),
.btn-reset-type:not(.visible) {
    display: none !important;
}

.btn-reset-type .icon-reset {
  width: 16px;
  height: 16px;
  stroke: currentColor;  /* prend la couleur du bouton */
  stroke-width: 2.2;
  stroke-linecap: round;
}

/* Mini loader SVG à droite du bouton reset */
.loader-mini-svg {
    width: 22px;
    height: 22px;
    margin-left: 12px;
    display: flex;
    align-items: center;
}

/* Cache par défaut via l’attribut hidden */
.loader-mini-svg[hidden] {
    display: none !important;
}

/* Animation du loader */
.svg-loader {
    animation: rotate 1.4s linear infinite;
}

.path {
    stroke: #2576C9; /* Couleur thème */
    stroke-linecap: round;
    animation: dash 1.4s ease-in-out infinite;
}

@keyframes rotate {
    100% { transform: rotate(360deg); }
}

@keyframes dash {
    0% {
        stroke-dasharray: 1, 150;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -35;
    }
    100% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -124;
    }
}

/* ==============================
   MENU - COULEUR ITEM ACTIF 
============================== */
.et-db #et-boc .et-l .et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item a,
.et-db #et-boc .et-l .et_pb_menu_1_tb_header.et_pb_menu ul li.current-menu-item a,
.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item a, 
.et_pb_menu_1_tb_header.et_pb_menu ul li.current-menu-item a{
  color: #1cbade !important;
  /* color: var(--couleur-secondaire) !important; */
}

.arx_besoin_image {
    max-width: 200px;
    height: auto;
    position: absolute;
    top: 20px;
    right: 20px;
}
