/*
Theme Name:     Thème enfant
Description:    Thème enfant de B&C concept pour personnalisation des thèmes clients
Author:         B&C concept
Author URI:     http://www.bandcconcept.com
Template:       Divi                           
Version:        0.1.0
*/

/* enlever icone bouton */
body #page-container .et_pb_button:after {
	display: none !important;
}

body #page-container .et_pb_button,
body #page-container .et_pb_button:hover {
	border-radius: 10px !important;
}
/* enlever le mauvais padding du bouton */
body #page-container .et_button_icon_visible .et_pb_button,
body #page-container .et_pb_button {
	padding-right: 1em !important;
	padding-left: 1em !important;
}

/* ajouter du padding en mobile dans les vignettes */

@media (max-width: 980px) {
	.pt-cv-colwrap {
		padding: 1rem !important;
	}
	#et-secondary-nav,
	#et-secondary-menu {
		display: inline-block !important;
	}
}
/* @media (max-width:648px){#et-secondary-nav, #et-secondary-menu{margin-top:10px;}
} */
.et-social-viadeo a.icon:before {
	content: '\f2a9';
	font-family: fontawesome !important;
	font-size: 25px !important;
}
.error404 #main-content .container {
	max-width: 2000px;
	width: 89%;
	padding-top: 58px;
}
.error404
	.et_pb_text.et_pb_module.et_pb_bg_layout_light.et_pb_text_align_left.et_pb_text_0 {
	font-size: 24px;
	color: #000;
}
.error404 .et_pb_bg_layout_light.et_pb_module.et_pb_button {
	color: #000;
}
.error404 #sidebar {
	float: right !important;
}
.error404 #left-area {
	float: right;
}
.error404 .not_found {
	margin-bottom: 0 !important;
}
.et_pb_fullwidth_header_404 {
	margin-top: -12%;
}
.error404 .footer-widget {
	width: 25%;
}
.error404 .footer-widget {
	margin: 0 5.5% 5.5% 0;
}
.error404 #main-content .container:before {
	background: transparent !important;
}
body.search #main-content .container {
	max-width: 2000px;
	width: 89%;
	padding-top: 58px;
}
body.search
	.et_pb_text.et_pb_module.et_pb_bg_layout_light.et_pb_text_align_left.et_pb_text_0 {
	font-size: 24px;
	color: #000;
}
body.search .et_pb_bg_layout_light.et_pb_module.et_pb_button {
	color: #000;
}
body.search #sidebar {
	float: right !important;
}
body.search #left-area {
	float: right;
	padding-left: 20px;
}
body.search .not_found {
	margin-bottom: 0 !important;
}
.et_pb_fullwidth_header_404 {
	margin-top: -12%;
}
body.search .footer-widget {
	width: 25%;
}
body.search .footer-widget {
	margin: 0 5.5% 5.5% 0;
}
body.search #main-content .container:before {
	background: transparent !important;
}
.widget-title.widgettitle.h4 {
	padding-bottom: 10px;
	font-size: 20px !important;
}
@media (max-width: 980px) {
	#top-header > .container.clearfix {
		width: 100%;
	}
	#et-secondary-menu,
	#et-secondary-nav {
		display: block !important;
	}
	/* #et-secondary-nav{padding:10px 5px 0px;} */
	#et-secondary-nav li:first-child {
		width: 100%;
		text-align: center;
	}
}

a {
	text-decoration: none;
}
#top-header a,
.button a,
.more-link,
.et_pb_button,
.et_pb_promo_button,
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
	text-decoration: none;
}

#sidebar input[type='email'] {
	width: 100%;
}

.pt-cv-thumbnail img-none {
	height: auto !important;
}

#pt-cv-view-767ceaaron .pt-cv-thumbnail:not(.pt-cv-thumbnailsm) {
	height: auto !important;
}

button.cmplz-btn.cmplz-manage-consent {
	border: 5px solid #1a5891 !important;
	border-radius: 8px !important;
}

/* #page-container {
  padding-top: 0 !important;
} */

/* ============================================================
   Reco #35 (audit SEO Duffez, mai 2026) — taille typo + interligne
   Objectif : lisibilite (typo jugee trop petite sur tout le site).
   NB : ajustement transitoire, a revalider apres migration Divi 5.
   ============================================================ */
body,
.et_pb_text,
.et_pb_text_inner,
.et_pb_blurb_description,
.et_pb_toggle_content,
.et_pb_tab_content,
.entry-content,
.post-content {
	font-size: 1.2rem !important;
	line-height: 1.75;
}
.et_pb_text p,
.et_pb_blurb_description p,
.et_pb_toggle_content p,
.entry-content p,
.post-content p,
.et_pb_post_content p {
	font-size: 1.2rem !important;
	line-height: 1.75;
	margin-bottom: 1.15em;
}
li {
	line-height: 1.7;
}

/* ============================================================
   #30 — En-tete mobile de la page d'accueil (audit Duffez 3.2.7)
   La barre secondaire noire (#top-header, ~189px) masque le logo + le
   debut du H1 ; ses liens sont 100% redondants avec le menu hamburger.
   Correctif CSS builder-independant -> survit a la migration Divi 5.
   ============================================================ */

@media (max-width: 767px) {
	#main-header {
		top: 45px !important;
	}
}

@media (max-width: 980px) {
	.et_search_icon {
		display: none !important;
	}

	#top-header .menu-item-33472 {
		display: none !important;
	}

	#top-header .menu-item-33481 {
		display: none !important;
	}

	#top-header .menu-item-13787 {
		display: none !important;
	}

	#mobile_menu .lang-item {
		display: none !important;
	}

	.et_duplicate_social_icons,
	.et-info,
	.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-42041,
	.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-42042,
	.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-42043,
	.lang-item
		.lang-item-116
		.lang-item-fr
		.current-lang
		.lang-item-first
		.menu-item
		.menu-item-type-custom
		.menu-item-object-custom
		.current_page_item
		.menu-item-home
		.menu-item-33473-fr,
	.lang-item
		.lang-item-119
		.lang-item-en
		.menu-item
		.menu-item-type-custom
		.menu-item-object-custom
		.menu-item-33473-en,
	.lang-item
		.lang-item-6498
		.lang-item-de
		.menu-item
		.menu-item-type-custom
		.menu-item-object-custom
		.menu-item-33473-de,
	.menu-item-14728 {
		display: none !important;
	}

	#top-header {
		position: fixed !important;
		height: 10vh !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		z-index: 99998 !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
	}

	#main-header {
		position: fixed !important;
		/* top: 28px !important; */
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		z-index: 99999 !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
	}

	#et-info,
	#et-secondary-menu > ul > li a {
		padding-bottom: 1.3em;
		display: block;
	}

	#page-container {
		padding-top: 0 !important;
	}
}

/* style menu mobile */
.select_page {
	display: none !important;
}

.mobile-demo-button {
	display: none;
	background-color: #fff;
	padding: 10px 8px;
	color: #000 !important;
	border-radius: 150px;
	text-decoration: none;
	text-align: center;
	line-height: 1 !important;
	font-size: 12px !important;
}

@media (max-width: 980px) {
	.et_secondary_nav_two_panels #et-secondary-menu {
		margin-top: -23px !important;
	}

	#main-header .et_menu_container {
		width: 95% !important;
		display: flex !important;
		/* align-items: center !important;
    gap: 20px !important; */
	}

	.logo_container {
		/* order: 1 !important; */
		z-index: 10 !important;
	}

	/* #et-top-navigation {
    order: 2 !important;
  } */

	.mobile_nav {
		display: flex !important;
		align-items: center !important;
		gap: 10px !important;
		pointer-events: auto !important;
	}

	.mobile-demo-button {
		display: inline-block !important;
		position: relative !important;
		z-index: 11 !important;
		pointer-events: auto !important;
		margin-bottom: 24px;
	}

	#et-top-navigation {
		float: none !important;
		padding-left: 0 !important;
		margin-left: auto !important;
		display: flex !important;
		align-items: center !important;
	}

	.mobile_menu_bar_toggle {
		z-index: 12 !important;
		pointer-events: auto !important;
	}

	#mobile_menu .menu-item-8930 {
		display: none !important;
	}

	#et_top_search {
		display: none !important;
	}

	#mobile_menu {
		top: 70px !important;
	}
}

/* Rend les sous-menus scrollables quand ils sont trop longs */
#top-menu li.menu-item-has-children > ul.sub-menu {
	max-height: 70vh;
	overflow-y: auto;
	overflow-x: hidden;
}

#top-menu ul.sub-menu::-webkit-scrollbar {
	width: 6px;
}
#top-menu ul.sub-menu::-webkit-scrollbar-thumb {
	background: #ccc;
	border-radius: 3px;
}

@media (max-width: 980px) {
	#mobile_menu {
		max-height: 80vh;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	/* Sous-menus repliés par défaut — le !important contre le CSS de Divi */
	#mobile_menu .menu-item-has-children > ul.sub-menu {
		display: none !important;
	}

	/* Sous-menu déplié */
	#mobile_menu .menu-item-has-children > ul.sub-menu.is-open {
		display: block !important;
	}

	#mobile_menu .mobile-toggle {
		float: right;
		min-width: 44px;
		text-align: center;
		font-size: 22px;
		font-weight: bold;
		line-height: 1;
		cursor: pointer;
	}
}

.dp-dfg-filter:has(.nouveau-format) {
	display: none;
}

/* ==========================================================
   Breadcrumb moderne
   ========================================================== */

.breadcrumb-section {
	align-items: center !important;
	width: fit-content !important;
	max-width: 100% !important;

	margin: 15px 0 40px !important;
	padding: 12px 22px !important;

	background: #ffffff !important;
	border: 1px solid #e6edf5 !important;
	border-radius: 999px !important;

	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06) !important;

	overflow-x: auto !important;
}

/* Masquer l'icône Accueil */
#breadcrumbs .fa-home {
	display: none !important;
}

/* Texte */

#breadcrumbs {
	margin: 0 !important;
	padding: 0 !important;

	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;

	color: #7b8794 !important;
}

/* Tous les spans */

#breadcrumbs span {
	display: inline-flex !important;
	align-items: center !important;
}

/* Liens */

#breadcrumbs a {
	color: #1a5891 !important;
	font-weight: 600 !important;
	text-decoration: none !important;

	transition: all 0.2s ease !important;
}

#breadcrumbs a:hover {
	color: #0f3d68 !important;
}

/* Icône maison */

#breadcrumbs .fa-home {
	margin-left: 6px !important;
	font-size: 13px !important;
	color: #1a5891 !important;
}

/* Dernier élément */

#breadcrumbs .breadcrumb_last {
	color: #000d21 !important;
	font-weight: 700 !important;
}

#breadcrumbs strong {
	color: inherit !important;
	font-weight: inherit !important;
}

/* Séparateur */

#breadcrumbs > span > span + span::before {
	content: '›' !important;

	margin: 0 12px !important;

	color: #c8d1dc !important;

	font-size: 18px !important;
	font-weight: 400 !important;
}

/* Petit effet sur le hover */

#breadcrumbs a:hover {
	transform: translateY(-1px);
}

/* Responsive */

@media (max-width: 768px) {
	.breadcrumb-section {
		width: 100% !important;

		padding: 12px 16px !important;

		border-radius: 14px !important;

		overflow-x: auto !important;

		white-space: nowrap !important;

		scrollbar-width: none;
	}

	.breadcrumb-section::-webkit-scrollbar {
		display: none;
	}

	#breadcrumbs {
		font-size: 13px !important;
	}
}

/* ============================================================
   Lot 1 — corrections S43 (27/10/2026, chef de projet Knowllence)
   Tout est global (thème enfant) : rien n'est posé page par page.
   ============================================================ */

/* t4 — Titres d'articles en bleu gras, comme les autres H1.
   Le module « Titre de l'article » du Theme Builder impose son propre
   style (gris #333, poids 500 en prod) : on le surclasse ici.
   Les H1 posés dans un module avec une couleur choisie (ex. texte
   blanc sur les bannières de l'accueil) gardent leur couleur.
   En prod, le CSS personnalisé Divi contient aussi
   « .single-post #et-main-area .et_pb_post_title .entry-title » (gris,
   500, !important) : les sélecteurs avec #et-main-area le surclassent. */
h1 {
	color: #1a5891;
	font-weight: 700;
}
.et_pb_post_title h1,
.et_pb_post_title .entry-title,
#et-main-area .et_pb_post_title h1.entry-title,
body.single-post #et-main-area .et_pb_post_title h1.entry-title,
body.single-post #et-main-area .et_pb_post_title .et_pb_title_container h1.entry-title {
	color: #1a5891 !important;
	font-weight: 700 !important;
}

/* t6 — « Published on … // updated on … » plus petit.
   Repéré par les shortcodes [date_publi] / [date_modif] (balise
   .kno-date ajoutée dans functions.php), avec en secours le premier
   module texte du modèle « Tous les articles ». */
.et-l--body p:has(.kno-date),
body.single-post .et-l--body .et_pb_text_0_tb_body p {
	font-size: 14px !important;
	line-height: 1.5 !important;
	color: #7b8794 !important;
	margin-bottom: 0 !important;
}

/* t3 / t2 — Modèle d'article 2026 (bibliothèque Divi : « Modèle article
   2026 (1 colonne) » et « Template article 1 colonne »).
   L'image de l'article s'affiche toujours au format 1000 × 400.
   Largeur 80 % (1000 px max) : en prod, le CSS personnalisé Divi contient
   « .single-post #et-main-area .et_pb_post_content .et_pb_row » (100 %,
   !important), qui écrase le réglage de la ligne : on le surclasse ici,
   pour les seules lignes des modèles 2026 (classe kno-article-ligne). */
body.single-post #et-main-area .et_pb_post_content .et_pb_row.kno-article-ligne {
	width: 80% !important;
	max-width: 1000px !important;
}
.kno-article-image,
.kno-article-image .et_pb_image_wrap {
	width: 100% !important;
}
.kno-article-image img {
	width: 100% !important;
	aspect-ratio: 1000 / 400;
	object-fit: cover;
}
.kno-article-image {
	margin-bottom: 30px !important;
}

/* t5 — Articles « Events » : PRÊT, NON APPLIQUÉ tant que Sandrine n'a pas
   précisé de quels deux articles il s'agit. Pour l'activer sur un article :
   ajouter la classe CSS « kno-evenement » à sa section (onglet Avancé). */
.kno-evenement .et_pb_image img {
	max-width: 400px !important;
	width: 100%;
	height: auto;
}
.kno-evenement h1,
.kno-evenement h2,
.kno-evenement h3 {
	color: #000000 !important;
}

/* t2 (option, DÉSACTIVÉE) — mettre aussi les ANCIENS articles sur 1 colonne
   (image au-dessus du texte). À activer seulement si Sandrine le valide :
   enlever les marques de commentaire autour du bloc suivant.
body.single-post .et-l--post .et_pb_row:has(> .et_pb_column_2_5 + .et_pb_column_3_5) {
	display: block !important;
}
body.single-post .et-l--post .et_pb_row:has(> .et_pb_column_2_5 + .et_pb_column_3_5) > .et_pb_column {
	width: 100% !important;
	margin-right: 0 !important;
}
*/
