/*///// BLOG /////*/

/*.ba-logo-wrapper {
  position: relative;
  z-index: 9999;
}*/

.ba-blog-posts-pagination span a {
  margin-top:15px;
}

/*///// BREADCRUMB /////*/
.ba-item-breadcrumbs .ba-breadcrumbs-wrapper ul {
margin-left: -10px;
}

.ba-item-breadcrumbs ul li a { 
	text-decoration : none;
}

/*///// MAIN BODY /////*/

.main-body a {
  text-decoration: underline;
}

.main-body b, .main-body strong { 
  font-weight: bold;
}

.main-body h1{
    padding:0 0 1rem 0;
}

.main-body h2 {
/*  padding : 0;*/
  padding:1rem 0 1rem 0;
}

.main-body h3 {
/*  padding : 0;  */
 padding:0.75rem 0 0.75rem 0;
}

.main-body h4 {
  padding: 0.25rem 0 0.25rem 0;
}

.main-body h5 {
  padding: 0.25rem 0 0.25rem 0;
}
.main-body li {
/*li {*/
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 300;
}

.main-body p {
  padding: 0 0 1.1rem 0;
}

.main-body ul {
/*ul {*/
  padding: 0 0 1.1rem 0;
}


/*////// MENU /////*/



/*///// MEGA MENU /////*/

.megamenu-center li {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.megamenu-center ul {
  padding: 0 0 1.1rem 0;
}


.megamenu-center ul {
  /*list-style-type: none; /* Supprime les puces par défaut */
  margin-left: 15px;
  margin-bottom: 0;
  padding-bottom: 0;

}

.megamenu-center ul li {
  color : #ffffff;
  font-size: 1.17rem;

  display: list-item;
  list-style-type: "›";
  padding-inline-start: 0.5rem; /* Espace entre le chevron et le texte */ 
}

.megamenu-center ul li a:hover { /*Hover sur les liens du MegaMenu*/
  font-weight: bold;
  text-decoration: underline;  /* soulignage */ 
  text-decoration-thickness: 2px;
  text-decoration-color: rgba(255, 255, 255, 0.5);
}


/*/////////////////////////////*/
/*////// TABLEAUX /////////////*/
/*/////////////////////////////*/

table.politique-confidentialite {
  border-spacing: 10px;
  font-weight: 300;
  margin : 15px 0 15px 0;
}

table.politique-confidentialite thead {
  text-transform: uppercase;
}

table.politique-confidentialite th, table.politique-confidentialite td {
  width: 25%; 
  vertical-align:top;
}


/*///////////////////////////////////////////////////////*/
/*/// Styles TABLEAUX RESPONSIVE ET RGAA (desktop)     //*/
/*///////////////////////////////////////////////////////*/

div.ba-item-custom-html.ba-item {
    margin : 0 !important;
    padding : 0 !important;
  }

.tableau-responsive {
    border: 0px solid #ccc;
    border-collapse: collapse;
    width: 100%;
    margin: 0 0 20px 0;
    font-weight: 300;
}

.tableau-responsive caption {
    font-size: 1.2rem;
    font-weight: bold;
    margin: 10px 0;
    text-align: left;
}

.tableau-responsive th, 
.tableau-responsive td {
    padding: 10px;
    text-align: left;
    border: 1px solid #ccc;
    vertical-align:top;
}

.tableau-responsive thead {
    background-color: #f2f2f2;
}


/* ------------------------------------------- */
/* Styles pour les écrans mobiles (responsive) */
/* ------------------------------------------- */
@media screen and (max-width: 768px) {
    
    /* Cacher les en-têtes du tableau, on utilisera les data-labels à la place */
    .tableau-responsive thead {
        display: none;
    }
    
    /* Transformer les lignes en blocs pour un affichage vertical */
    .tableau-responsive tr {
        display: block;
        margin-bottom: 25px; /* Espace entre chaque "carte" */
        border: 0px solid #ccc;
    }

    /* Transformer les cellules et l'en-tête de ligne en blocs */
    .tableau-responsive td,
    .tableau-responsive th[scope="row"] {
        display: block;
        text-align: right; /* Aligner le contenu à droite */
        border: none;
        border-bottom: 1px solid #eee; /* Ligne de séparation entre les champs */
        position: relative;
        padding-left: 50%; /* Laisser de la place pour le libellé à gauche */
          font-weight: 300;
    }

    /* Styles pour la dernière cellule d'une carte */
    .tableau-responsive td:last-of-type {
        border-bottom: none;
    }

    /* Afficher le libellé (data-label) avant le contenu de la cellule */
    .tableau-responsive td::before {
        content: attr(data-label); /* Récupère le texte du data-label */
        position: absolute;
        left: 10px;
        top: 10px;
        width: calc(50% - 20px); /* Calcul de la largeur du libellé */
        text-align: left;
        font-weight: bold;
    }

    /* Style pour la première ligne de chaque carte pour la faire ressortir comme un titre */
    .tableau-responsive td:first-child {
        background-color: #f2f2f2;
        font-weight: bold; /* Rend le texte de la valeur gras, comme le libellé */
    }
    
    
    /* L'en-tête de ligne (Finalité du traitement) devient le titre de la carte */
    .tableau-responsive th[scope="row"] {
        padding-left: 10px;
        text-align: left;
        font-weight: bold;
        background-color: #f2f2f2;
        width: 100%;
    }
}


/*//////////////////////////////////////////*/
/*//// TABLEAU CALENDRIER CENTRES EDUCATIFS */
/*//////////////////////////////////////////*/

    /* Conteneur pour le tableau pour une meilleure gestion de la mise en page */
    .calendrier-vacances-responsive {
        font-family: sans-serif;
        line-height: 1.6;
        margin: 20px 0; /* Ajoute un peu d'espace autour du tableau */
        overflow-x: auto; /* Permet le défilement horizontal si nécessaire */
        background-color: #ffffff;
        /*border-radius: 8px;
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);*/
    }

    /* Styles de base du tableau à l'intérieur de notre conteneur */
    .calendrier-vacances-responsive table {
        width: 100%;
        border-collapse: collapse;
        margin: 0;
    }

    /* Titre du tableau pour l'accessibilité */
    .calendrier-vacances-responsive caption {
        font-size: 1.125rem;
        margin-bottom: 10px;
        padding: 10px;
        /*font-weight: bold;*/
        text-align: left;
        /*color: #333;*/
    }

    /* Styles pour les cellules d'en-tête et les cellules de données */
    .calendrier-vacances-responsive th, 
    .calendrier-vacances-responsive td {
        padding: 12px 15px;
        text-align: left;
        border-bottom: 1px solid #ddd;
    }

    /* En-têtes du tableau */
    .calendrier-vacances-responsive thead th {
        background-color: #3866a1;
        color: #ffffff;
        font-weight: bold;
    }

    /* Lignes du corps du tableau en alternance pour la lisibilité */
    .calendrier-vacances-responsive tbody tr:nth-of-type(even) {
        background-color: #f8f9fa;
    }

    .calendrier-vacances-responsive tbody tr:hover {
        background-color: #e9ecef;
    }

    /* Styles pour les en-têtes de ligne (périodes de vacances) */
    .calendrier-vacances-responsive th[scope="row"] {
        background-color: #f2f2f2;
        font-weight: bold;
        text-align: center;
    }

    /* ----- Styles pour la responsivité ----- */
    @media screen and (max-width: 768px) {
        /* On cache les en-têtes du tableau sur les petits écrans */
        .calendrier-vacances-responsive thead {
            display: none;
        }

        /* Chaque ligne du tableau devient un bloc */
        .calendrier-vacances-responsive tr {
            display: block;
            margin-bottom: 15px;
            border: 1px solid #ddd;
            border-radius: 5px;
            overflow: hidden;
        }
        
        /* Les cellules deviennent des blocs */
        .calendrier-vacances-responsive td {
            display: block;
            text-align: right; /* Aligne le contenu à droite */
            border-bottom: 1px solid #eee;
            position: relative;
            padding-left: 50%; /* Laisse de la place pour le label */
        }

        /* Le contenu de la cellule est précédé de son en-tête pour le contexte */
        .calendrier-vacances-responsive td::before {
            content: attr(data-label);
            position: absolute;
            left: 10px;
            width: calc(50% - 20px);
            padding-right: 10px;
            white-space: nowrap;
            text-align: left;
            font-weight: bold;
        }
        
        /* L'en-tête de ligne (la période) est stylisé comme un titre de bloc */
        .calendrier-vacances-responsive th[scope="row"] {
            display: block;
            background-color: #3866a1;
            color: white;
            padding: 10px;
            border-radius: 5px 5px 0 0;
            text-align: center;
        }
    }


/*/////////////////////////////////////////*/
/*/////////// ACCORDEONS //////////////////*/
/*/////////////////////////////////////////*/

div.ba-item-accordion.ba-item div.accordion div.accordion-group div.accordion-heading {
    border-radius: 0px; /*Ne pas supprimer, ni fusionner. Permet de forcer le Border Dashed*/
}

div.ba-item-accordion.ba-item div.accordion div.accordion-group div.accordion-heading { /*BORDER DASHED*/
    border-radius: 0px; /*Ne pas supprimer, force le border dashed*/
    border-top: 1px dashed rgba(26,22,26,0.75) !important;
   padding-bottom: 0px  !important; /*Ajustez la valeur pour plus ou moins d'espace */
}

div.ba-item-accordion.ba-item div.accordion div.accordion-group:last-child { /*BORDER BOTTOM DASHED LAST CHILD*/
    border-radius: 0px; /*Ne pas supprimer, force le border dashed*/
    border-bottom: 1px dashed rgba(26,22,26,0.75) !important;

}

div.ba-item-accordion.ba-item div.accordion div.accordion-group div.accordion-heading a.accordion-toggle { /*Espace du heading*/
    padding: 0 !important;
    margin: 0 !important;
}

i.ba-icons.ba-icon-chevron-right.accordion-icon { /*Epaisseur du chevron*/ 
  color: #1a161a;
  -webkit-text-stroke-width: 1px; /* L'épaisseur du contour */
  -webkit-text-stroke-color: #1a161a; /* La couleur du contour (doit correspondre à la couleur de l'icône) */
}

div.ba-item-accordion.ba-item div.accordion div.accordion-group div.accordion-heading a.accordion-toggle span i { /*Couleur et espace Icones de l'accordeon*/
  color: #1A161A;
  margin-right:10px;
  margin-left:0;
}



/*/////// FOOTER LIBRAIRIE GLOBALE HORAIRES ///////////*/
footer #item-17528253419340 .content-text p {
  color: white !important;
  font-size: 1.17rem;
  line-height: 1.7rem
}

/*//////// GRIDBOX BALBOOA GALLERY ////////////*/

.ba-album .ba-album-items .ba-caption h3 { 
    letter-spacing: 2px; /*Espacement entre les lettres du Title des albums*/
    font-weight: normal !important; /*empecher le surgras*/
}


.ba-album .ba-album-items .ba-caption div p {
    padding-top : 0 !important;
    margin-top : 0 !important;
    padding-bottom : 0 !important;
    margin-bottom : 15px !important;
    font-weight: normal !important; /*empecher le surgras*/
}

div.ba-gallery div.ba-album div.ba-album-items div.ba-caption h3 {
  margin-top:40px !important; /*permet d'ajustrer la hauteur du dégradé transparent*/
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

@media (max-width: 1024px) {
  .ba-album.css-style-13 .ba-image + .ba-caption{
  display: flex !important;
  }
}


div.ba-gallery div.ba-album div.ba-album-items div.ba-caption {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.9) 100%) !important; /*Ajout d'un dégradé noir vertical*/
}

div.ba-item-gallery.ba-item div.integration-wrapper div.ba-gallery.album-in-lightbox div.ba-gallery-row-wrapper i {
    /* On superpose plusieurs ombres pour un effet de halo plus marqué */
    text-shadow: 0 0 3px rgba(0, 0, 0, 0.9), 
                 0 0 10px rgba(0, 0, 0, 0.7), 
                 0 0 15px rgba(0, 0, 0, 0.5);
}

div.ba-item-gallery.ba-item div.integration-wrapper div.ba-gallery.album-in-lightbox i.albums-backdrop-close {
   font-size: 2.5rem !important; /*Taille de la croix pour fermeture*/
   color: white !important; /*couleur croix*/
}

div.ba-gallery.album-in-lightbox h2 { /*alignement gauche du title H2 blanc sur lightbox*/
    margin-left: -110px;
}

/*////////////// TUILES NIV1 FEATURE BOX ///////////////*/
div.ba-item-feature-box.ba-item div.ba-feature-box-wrapper.ba-feature-grid-layout div.ba-feature-box:not(:has(a)) { /* Empecher hover si aucun lien */
  pointer-events: none;
  cursor: default;
}


/*//////////////////////////////////////////////////////*/
/*/////////////////// LE KIOSQUE ACCUEIL ///////////////*/



div.ba-grid-column div.ba-item-recent-posts.ba-item div.ba-blog-posts-wrapper.ba-grid-layout div.ba-blog-post div.ba-blog-post-content div.ba-blog-post-intro-wrapper div.options-lecture, div.ba-grid-column div.ba-item-blog-posts.ba-item div.ba-blog-posts-wrapper.ba-grid-layout div.ba-blog-post div.ba-blog-post-content div.ba-blog-post-intro-wrapper div.options-lecture { /* Accueil et Toutes les publications */
  display: flex;
  align-items: center; /* Aligne verticalement les icônes, le texte et le séparateur */
  gap: 10px; /* Ajoute un espace entre chaque élément (ajustez 8px selon vos besoins) */
  margin-top: 15px;  /* Espace au dessus des icones */
}

/*div.ba-grid-column div.ba-item-recent-posts.ba-item div.ba-blog-posts-wrapper.ba-grid-layout div.ba-blog-post div.ba-blog-post-content div.ba-blog-post-intro-wrapper div.options-lecture { /* espace au dessus icones 
    margin-top: 15px;
}*/

div.ba-grid-column div.ba-item-recent-posts.ba-item div.ba-blog-posts-wrapper.ba-grid-layout div.ba-blog-post div.ba-blog-post-content div.ba-blog-post-intro-wrapper div.options-lecture i, div.ba-grid-column div.ba-item-blog-posts.ba-item div.ba-blog-posts-wrapper.ba-grid-layout div.ba-blog-post div.ba-blog-post-content div.ba-blog-post-intro-wrapper div.options-lecture i { /* icones Accueil et Toutes les publications */
    font-size: 16px;
    color: black;
}


/*///////////////////////////////////////*/
/*           SEARCH FLUID                */
/*///////////////////////////////////////*/
.ba-checkout-order-product-row:not(:last-child), .ba-live-search-product-row:not(:last-child), .ba-wishlist-product-row:not(:last-child), .ba-cart-product-row:not(:last-child)
{
border-bottom: 1px dashed rgba(26,22,26,0.5) !important;

}

.ba-checkout-order-product-extra-options-title, .ba-checkout-order-product-extra-option-title, .ba-wishlist-product-extra-options-title, .ba-wishlist-product-extra-option-title, .ba-cart-product-extra-options-title, .ba-checkout-order-product-extra-option-title, .ba-wishlist-product-extra-option-title, .ba-cart-product-extra-option-title, .ba-empty-live-search, .ba-live-search-price-wrapper, .ba-live-search-product-title a, .ba-empty-cart-products-message, .ba-wishlist-checkout-title, .ba-cart-checkout-title, .ba-cart-product-title, .ba-wishlist-product-title a, .ba-cart-product-title a, .ba-wishlist-price-wrapper, .ba-cart-price-wrapper
 {
    font-weight: 500 !important;
}

div.ba-live-search-body div.ba-live-search-product-row.row-fluid div.ba-live-search-product-content-cell div.ba-live-search-product-content-inner-cell div.ba-live-search-product-title-cell span.ba-live-search-product-title a:hover {
  color:#ff6105 !important;
}

.ba-live-search-product-category a:hover, .ba-live-search-product-title a:hover, .ba-wishlist-product-title a:hover, .ba-store-cart .ba-cart-product-title a:hover {
  opacity:1 !important;
}


/*////////////////////////////////////*/
/*///// ICONE HAMBURGER MENU /////////*/
/*////////////////////////////////////*/
div.ba-item-main-menu.ba-item div.ba-menu-wrapper.ba-hamburger-menu.ba-collapse-submenu div.open-menu i {
   padding : 8px !important;
}

/*////////////////////////////////////*/
/*/////  IMAGE ACTU MOBILE   /////////*/
/*////////////////////////////////////*/
@media screen and (max-width: 768px) {
   div.ba-grid-column-wrapper.ba-col-10.ba-sm-la-12 div.ba-grid-column div.ba-item-recent-posts.ba-item div.ba-blog-posts-wrapper.ba-grid-layout div.ba-blog-post div.ba-blog-post-image  {
      display: none !important; /*TOUTES LES ACTUALITES*/
   }

   div.ba-grid-column-wrapper.ba-col-10.ba-sm-la-12 div.ba-grid-column div.ba-item-blog-posts.ba-item div.ba-blog-posts-wrapper.ba-grid-layout div.ba-blog-post div.ba-blog-post-image {
      display: none !important; /*BLOG CATEGORY LAYOUT A LA UNE*/
   }

}

/*////////////////////////////////////*/
/*/////  ALBUM PHOTO   /////////*/
/*////////////////////////////////////*/
@media screen and (max-width: 420px) { /*Galerie sur mobile*/
	.album-in-lightbox .ba-gallery-row-wrapper {
	  margin: 1rem 0 0 0 !important;
	  padding: 2rem 0 !important;
	}
}