/*
Theme Name: Divi Child
Theme URI: https://fabien-seo.com
Description: Thème enfant de divi par Fabien SEO
Author: Fabien SCHNEIDER - Fabien SEO
Auteur 2 : Alexandre SALQUE - ORSYS
Template: Divi
Version: 1.2
*/

.yarpp-thumbnails-horizontal .yarpp-thumbnail-title {max-height: none !important;}
.yarpp-thumbnail {height: auto !important;}
.yarpp-thumbnail {border: none !important;}
.yarpp-related h3 {text-transform: none !important;}

/* CSS pour le menu principal */

/* Ajuste la largeur des liens dans les sous-menus de .et-menu */
.et-menu li li a {
    width: 270px;
}


/* Ajuste la largeur des sous-menus dans .nav */
.nav li ul {
    width: 280px;
	padding-left: 0px;
}

/* Réduire l'espacement à gauche du texte des liens dans le sous-menu */
.et_pb_menu .et-menu-nav ul.sub-menu li a {
    padding-left: 0px;
}

.nav li  a:hover {
 	text-decoration:underline;
	background-color:transparent;
}

/* Styles spécifiques pour l'élément de menu avec la classe .menu-certif */
.et_pb_menu ul menu-certif a {
    color: yellow !important; /* Couleur jaune pour l'élément de menu avec la classe .menu-certif */
}

/* CSS de l'article mis en avant dans les catégories */
.module-blog a {
    text-decoration: none;
    color: inherit;
}

.module-blog a:hover {
    text-decoration: underline;
}

.module-blog .featured-image {
    width: 100%;
    height: 300px;
    border-radius: 10px;
    overflow: hidden;
    margin-top: 20px;
}

.module-blog .featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* FIN du css de l'article mis en avant dans les catégories */

/* CSS de la disposition des catégories */
.custom-category-blog {
    display: flex;
    flex-wrap: wrap;
    margin: -10px;
}



/* Styles existants pour .et_pb_post */
.create-category-template .et_pb_post {
    width: calc(33.33% - 20px);
    margin: 10px;
    display: flex;
    flex-direction: column;
    padding: 20px;
    box-sizing: border-box;
    border: 1px solid #eaeaea;
}

.create-category-template .et_pb_post {
    width: calc(33.33% - 20px);
    margin: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px;
    box-sizing: border-box;
    border: 1px solid #eaeaea;
}



/* Pages Catégories - catégories en maj et en bleu */
.post-category {
    color: #017493;
    text-transform: uppercase;
	font-weight:700;
}


/* Pages Catégories - Titre des articles */
.create-category-template .et_pb_post .entry-title {
    font-size: 16px;
	font-weight:700;
    line-height: 1.3em;
    margin-top: 10px;
}

/*Pages Catégories -Titre des articles - Couleur au survol */
.create-category-template .et_pb_post .entry-title  a:hover {
    color: #27CBCD;
}

	
.create-category-template .et_pb_post .entry-content {
    flex-grow: 1;
}

.create-category-template .et_pb_post .entry-content p {
    margin-bottom: 10px;
}

.create-category-template .et_pb_post .entry-content .post-meta {
    margin-bottom: 5px;
}


.create-category-template .et_pb_post .et_pb_image_container {
    margin-bottom: 10px;
}

.create-category-template .et_pb_post .et_pb_image_container img {
    width: 100%;
    height: 162px;
	border-radius: 10px;
	object-fit: cover; 
}

/* Styles pour les smartphones */
@media only screen and (max-width: 767px) {
    .custom-category-blog {
        justify-content: flex-start;
    }
  
    .et_pb_post {
        width: 100%;
    }
}

/* Fin de la disposition des catégories */

/* Css Début de la pagination des catégories */
.pagination {
    margin-top: 50px;
    text-align: center; /* Centre la pagination horizontalement */
}

.pagination a {
    display: inline-block;
    padding: 5px 10px;
    margin-right: 5px;
    background-color: #f1f1f1;
    text-decoration: none;
    color: #017493; /* Modifier la couleur des liens */
}

.pagination a.active {
    background-color: #017493; /* Modifier la couleur de fond du numéro actif */
    color: white;
}

.pagination a:hover {
    background-color: #ddd;
}
/* Fin de la pagination des catégories */

/* Image à la une accueil */
.article-module {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    height: auto;
}

.article-module .featured-image-wrapper {
    position: relative;
    width: 100%;
}

.article-module .featured-image-link {
    position: relative; /* Modifié de absolute à relative */
    display: block;
    width: 100%;
    height: auto;
}

.article-module .article-image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.article-module .overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 10px;
}

.article-module .category {
    display: block;
    margin-bottom: 5px;
    color: #017493;
    font-weight: bold;
    font-size: 16px;
}

.article-module .category a {
    color: #017493;
    text-decoration: none;
}

.article-module .title {
    display: block;
    font-size: 24px;
}

.article-module .title a {
    color: #000;
    text-decoration: none;
    font-weight: 700;
    line-height: 1.2;
}

/* Styles spécifiques pour les mobiles */
@media (max-width: 767px) {
    .article-module {
        overflow: visible; /* Permet à l'overlay de s'afficher en dehors du conteneur sur mobile */
    }

    .article-module .featured-image-wrapper {
        position: relative;
        width: 100%;
    }

    .article-module .featured-image-link {
        position: relative;
        display: block;
        width: 100%;
        height: auto;
    }

    .article-module .article-image {
        display: block;
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    .article-module .overlay {
        position: static; /* Change de position absolue à statique */
        background-color: transparent; /* Optionnel : si vous souhaitez un fond transparent sur mobile */
        padding: 10px 0; /* Ajuster le padding si nécessaire */
    }

    .article-module .title {
        font-size: 17px;
    }

    .article-module .category {
        font-size: 14px;
    }

    .article-module .overlay {
        padding: 4px 0;
    }
}
/* FIN Image à la une accueil */


/* CSS du top 3 articles accueil */ 
.custom-category-blog {
    display: flex;
    flex-wrap: wrap;
    margin: -10px;
}

.my-custom-post {
    width: calc(33.33% - 20px);
    margin: 10px;
    padding: 0;
    box-sizing: border-box;
    border: 1px solid #eaeaea;
    border-radius: 3px;
	background-color: white;
}

.my-custom-post .my-custom-post-image {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 75%; /* Aspect ratio 4:3 */
    overflow: hidden;
}

.my-custom-post .my-custom-post-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
	border-radius: 10px;
    transition: opacity 0.3s ease;
}

.my-custom-post .my-custom-post-image:hover img {
    opacity: 0.8;
}

.my-custom-post .my-custom-post-details {
    padding: 7px;
    text-align: left;
}

.my-custom-post .my-custom-post-category {
    margin-bottom: 10px;
    font-size: 14px;
	font-weight:700;
    line-height: 1.3em;
    color: #017493;
    text-transform: uppercase;
}

.my-custom-post .my-custom-post-date {
    margin-bottom: 10px;
    font-size: 13px;
    line-height: 1.3em;
	font-style: italic; 
}

.my-custom-post .my-custom-post-title {
    font-size: 18px;
	font-weight: 700;
    line-height: 1.3em;
    color: #000;
}


.my-custom-post .my-custom-post-title a {
    text-decoration: none
}

.h2.my-custom-post-title {
    margin-bottom: 0px;
    padding-bottom: 0px;
}


.my-custom-post .my-custom-post-title a:hover {
    color: #27CBCD;
}



@media (max-width: 767px) {
    .article-module .article-image {
        /* Assure que les images conservent un ratio de 16:9 sur les appareils mobiles */
        height: auto;
        aspect-ratio: 16 / 9;
    }

    .my-custom-post .my-custom-post-image {
        /* Mise à jour pour un aspect ratio de 16:9 */
        padding-bottom: 56.25%; /* Maintient le ratio de 16:9 */
    }

    /* Ajustements supplémentaires pour la taille des titres et des catégories sur les appareils mobiles */
    .article-module .title {
        font-size: var(--font-size-mobile-title, 17px);
    }

    .article-module .category {
        font-size: var(--font-size-mobile-category, 14px);
        margin-bottom: 0px;
    }

    .article-module .overlay {
        padding: 4px;
    }

    /* Ajustements pour les posts personnalisés en mode mobile */
    .my-custom-post {
        width: 100%; /* Pleine largeur sur mobile pour une meilleure visibilité */
    }
}

/* FIN de la customisation des 3 articles catégorie accueil */




/* CSS de la pagination sur les articles */
.navigation-articles {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.precedent {
    text-align: left;
}

.suivant {
    text-align: right;
}

.titre-navigation {
    margin: 0;
    color: #969696;
    text-transform: uppercase;
}

.lien-article-precedent,
.lien-article-suivant {
    color: #969696;
    text-decoration: none;
    display: flex;
    align-items: center;
}

.lien-article-precedent:hover,
.lien-article-suivant:hover {
    text-decoration: underline;
}

.lien-article-precedent-titre,
.lien-article-suivant-titre {
    color: #333;
    text-decoration: none;
}

.fa-chevron-left {
    margin-right: 5px;
    color: #0099a9;
}

.fa-chevron-right {
    margin-left: 5px;
    color: #0099a9;
}

/* FIN CSS de la pagination sur les articles */


/* Début css pour le moteur de recherche */

.et_pb_searchform {
    border: 1px solid #017493;
    border-radius: 30px;
    transition: box-shadow 0.3s ease-in-out;
}

.et_pb_searchform:hover {
    box-shadow: inset 0 0 0 0.20em #017493;
}



/* Styles spécifiques à la recherche personnalisée */
.custom-search-results {
    display: flex;
    flex-wrap: wrap;
    /*justify-content: space-between;*/ /* Permet de supprimer le gap d'espace entre les articles */ 
}

.custom-search-results .et_pb_post {
    width: calc(33.33% - 20px);
    margin: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #eaeaea;
}

.custom-search-results .et_pb_image_container {
    position: relative;
    overflow: hidden;
	height: 0;
	margin-bottom:5px;
    padding-bottom: 75%; /* Ratio pour un format 4/3 (3/4 = 0.75) */
}

.custom-search-results .et_pb_image_container img {
    width: calc(100% - 10px); /* Réduit la largeur de l'image de 10px */
    height: 100%;
	object-fit:cover;
    transition: filter 0.3s ease;
	position: absolute;
    top: 0;
}

.custom-search-results .et_pb_image_container:hover img {
    filter: brightness(90%);
}

.custom-search-results .et_pb_post_content {
    box-sizing: border-box;
}


.custom-search-results .post-category {
	margin-bottom :5px;  /* écart réduit entre image et catégorie*/ 
	font-size: 14px;
}
.custom-search-results .post-category a {
    color: #017493;
}

.custom-search-results .entry-title {
    font-size: 16px;
    line-height: 1.3em;
	padding-bottom : 0;
}

.custom-search-results .post-meta {
    margin-bottom: 10px;
    font-size: 14px;
    color: #999999;
}

/* Styles pour les smartphones */
@media only screen and (max-width: 767px) {
    .custom-search-results {
        justify-content: flex-start;
    }
	.et_pb_post {
        width: 100% !important;
    }
}

/* Fin CSS pour le moteur de recherche */




