/*
Theme Name: Extra Child - Journal du Web
Theme URI: https://le-journal-du-web.fr
Template: Extra
Author: Adrien
Author URI: https://le-journal-du-web.fr
Description: Theme enfant du theme Extra (Elegant Themes), personnalise pour Le Journal du Web : nouvelle palette de couleurs, typographies, header/footer retravailles, grille d'articles et responsive ameliore.
Version: 1.6.0
Text Domain: extra-child-jdw
*/

/* ==========================================================================
   1. VARIABLES
   ========================================================================== */
:root {
	--jdw-primary: #2b3648;
	--jdw-primary-light: #394a63;
	--jdw-accent: #ff7a3d;
	--jdw-accent-dark: #e8621f;
	--jdw-accent-2: #17b8a6;
	--jdw-text: #262b33;
	--jdw-text-light: #6b7280;
	--jdw-bg: #f4f6f8;
	--jdw-card-bg: #ffffff;
	--jdw-border: #e7e9ee;
	--jdw-radius: 12px;
	--jdw-radius-sm: 8px;
	--jdw-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
	--jdw-shadow-hover: 0 16px 28px rgba(15, 23, 42, 0.14);
	--jdw-font-heading: "Poppins", "Helvetica Neue", Arial, sans-serif;
	--jdw-font-body: "Inter", "Helvetica Neue", Arial, sans-serif;
}

/* ==========================================================================
   2. BASE / TYPOGRAPHIE
   ========================================================================== */
body {
	background-color: var(--jdw-bg);
	color: var(--jdw-text);
	font-family: var(--jdw-font-body);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.entry-title, .et_pb_post h2, .et_pb_post h1,
#et-menu, .widget-title {
	font-family: var(--jdw-font-heading);
	font-weight: 700;
	letter-spacing: 0;
}

a {
	color: var(--jdw-accent);
	transition: color 0.2s ease;
}

a:hover {
	color: var(--jdw-accent-dark);
}

::selection {
	background: var(--jdw-accent);
	color: #fff;
}

/* ==========================================================================
   3. HEADER
   ========================================================================== */
#main-header-wrapper,
#main-header {
	background: linear-gradient(180deg, var(--jdw-primary) 0%, var(--jdw-primary-light) 100%);
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.15);
}

.logo {
	transition: transform 0.2s ease;
}

.logo:hover {
	transform: scale(1.03);
}

/* Correctif bug : le fichier logo uploade fait 1024x1024px. Sans cette regle,
   le navigateur peut afficher le logo a sa taille reelle (tres grand) le temps
   que le CSS du theme se charge (effet de "flash" au chargement de page).
   Voir aussi le CSS critique injecte inline dans <head> via functions.php. */
#main-header .logo,
#main-header a.logo {
	display: inline-block;
	max-height: 60px;
}

#main-header .logo img#logo,
#main-header img#logo {
	max-height: 60px !important;
	width: auto !important;
	height: auto !important;
}

/* Correctif bug : le menu etait aligne en bas d'une zone de 120px alors que
   le logo est centre, ce qui le faisait paraitre decale sur une "2e ligne".
   On centre verticalement le menu par rapport au logo. */
#et-navigation {
	align-items: center !important;
}

#et-menu.nav {
	align-items: center;
}

#et-navigation #et-menu.nav > li > a {
	font-family: var(--jdw-font-heading);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	padding: 0 16px;
	/* Correctif bug : texte gris clair (60% opacite) peu lisible sur le
	   nouveau fond fonce du header -> on l'eclaircit. */
	color: rgba(255, 255, 255, 0.88);
	transition: color 0.2s ease, opacity 0.2s ease;
}

#et-navigation #et-menu.nav > li > a:hover {
	color: var(--jdw-accent) !important;
	opacity: 1;
}

#et-navigation #et-menu.nav > li.current-menu-item > a,
#et-navigation #et-menu.nav > li.current_page_item > a {
	color: var(--jdw-accent) !important;
	border-bottom: 2px solid var(--jdw-accent);
}

/* Icones de categories dans le menu (garder mais harmoniser la couleur) */
#et-menu .menu-item i,
#et-menu .menu-item .et-pb-icon {
	color: var(--jdw-accent);
}

/* ==========================================================================
   4. CONTENU / GRILLE D'ARTICLES (cards)
   ========================================================================== */
.et_pb_post,
article.et_pb_post,
.et_pb_extra_column .et_pb_post {
	background: var(--jdw-card-bg);
	border: 1px solid var(--jdw-border);
	border-radius: var(--jdw-radius);
	box-shadow: var(--jdw-shadow);
	overflow: hidden;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.et_pb_post:hover {
	box-shadow: var(--jdw-shadow-hover);
	transform: translateY(-3px);
}

.et_pb_post .entry-featured-image-wrapper,
.et_pb_post .et_pb_image_wrap {
	border-radius: var(--jdw-radius) var(--jdw-radius) 0 0;
	overflow: hidden;
}

.et_pb_post .entry-title,
.et_pb_post h2 a {
	font-size: 18px;
	line-height: 1.35;
	letter-spacing: 0.2px;
}

.et_pb_post .entry-title a:hover,
.et_pb_post h2 a:hover {
	color: var(--jdw-accent);
}

.et_pb_post .post-meta,
.et_pb_post .et_pb_extra_top_meta,
.et_pb_post .et_pb_extra_bottom_meta {
	color: var(--jdw-text-light);
	font-size: 12px;
}

.et_pb_post .post-meta a,
.et_pb_post .et_pb_extra_top_meta a {
	color: var(--jdw-accent-2);
}

/* Badges / categories */
.et_pb_extra_category,
.et_pb_post .categories a,
.et-post-meta-category {
	background: var(--jdw-accent);
	color: #fff !important;
	border-radius: 4px;
	padding: 2px 8px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
}

/* Boutons "En savoir plus" / call to action */
.more-link,
.et_pb_button,
button,
input[type="submit"] {
	background: var(--jdw-accent);
	color: #fff !important;
	border: none;
	border-radius: var(--jdw-radius-sm);
	padding: 10px 22px;
	font-weight: 600;
	letter-spacing: 0.3px;
	transition: background 0.2s ease, transform 0.2s ease;
}

.more-link:hover,
.et_pb_button:hover,
button:hover,
input[type="submit"]:hover {
	background: var(--jdw-accent-dark);
	transform: translateY(-1px);
}

/* Onglets "Populaire / Les mieux notes / Dernier" */
.et_pb_extra_tabs .et_pb_extra_tab_link,
.et-tabs-nav a {
	font-family: var(--jdw-font-heading);
	font-weight: 700;
	border-bottom: 3px solid transparent;
}

.et_pb_extra_tabs .et_pb_extra_tab_link.active,
.et-tabs-nav a.active {
	border-bottom-color: var(--jdw-accent-2);
	color: var(--jdw-primary);
}

/* Cartes d'articles sur les pages d'archives / categories (template par
   defaut d'Extra : balise "article.post", differente du widget "Onglets" de
   la page d'accueil qui genere des ".et_pb_post"). Correctif (v1.5.2) : ces
   cartes n'avaient aucun habillage du theme enfant (juste l'ombre tres
   discrete du parent Extra, fond blanc plat) et leur hauteur variait
   fortement d'une carte a l'autre car chaque image mise en avant garde ses
   proportions d'origine (les photos uploadees n'ont pas toutes le meme ratio
   largeur/hauteur). On harmonise l'apparence avec les cartes de la page
   d'accueil et on fixe une hauteur identique pour toutes les images
   (recadrees proprement avec object-fit), ce qui uniformise fortement la
   hauteur des cartes sans casser la repartition automatique en colonnes. */
article.post {
	background: var(--jdw-card-bg);
	border: 1px solid var(--jdw-border);
	border-radius: var(--jdw-radius);
	box-shadow: var(--jdw-shadow);
	overflow: hidden;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

article.post:hover {
	box-shadow: var(--jdw-shadow-hover);
	transform: translateY(-3px);
}

article.post .featured-image img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
}

article.post .post-title.entry-title {
	font-size: 18px;
	line-height: 1.35;
	letter-spacing: 0.2px;
}

article.post .post-title.entry-title a:hover {
	color: var(--jdw-accent);
}

/* Limite le texte d'extrait a 3 lignes pour eviter que les cartes dont
   l'extrait est plus long ne deviennent beaucoup plus hautes que les autres. */
article.post .excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ==========================================================================
   5. SIDEBAR / WIDGETS
   ========================================================================== */
.widget {
	background: var(--jdw-card-bg);
	border: 1px solid var(--jdw-border);
	border-radius: var(--jdw-radius);
	box-shadow: var(--jdw-shadow);
	padding: 20px;
	margin-bottom: 24px;
}

.widget-title {
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--jdw-primary);
	border-bottom: 2px solid var(--jdw-accent);
	padding-bottom: 8px;
	margin-bottom: 14px;
}

/* ==========================================================================
   6. FOOTER
   ========================================================================== */
/*
 * Le footer de ce site n'utilise PAS le template classique d'Extra (#footer,
 * #footer-widgets...) : il est construit avec le Theme Builder Divi/Extra
 * (balise <footer class="et-l et-l--footer">, modules et_pb_*). Les regles
 * ci-dessous ciblent donc directement cette structure, qui comporte en
 * realite DEUX lignes (et_pb_row) : la premiere avec 4 colonnes (Acces
 * rapide / Suivez nous / Recherche / Logo), la seconde avec 1 seule colonne
 * (Mentions legales + copyright).
 */
footer.et-l--footer {
	background: var(--jdw-primary);
	color: #cfd6e0;
}

footer.et-l--footer a {
	color: #cfd6e0;
}

footer.et-l--footer a:hover {
	color: var(--jdw-accent);
}

footer.et-l--footer .et_pb_row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 32px;
	width: 100%;
	max-width: 100%;
	padding: 32px 5% !important;
}

/* La 2e ligne (mentions legales / copyright) n'a besoin que d'un petit
   espace, pas des memes 32px hauts+bas que la ligne des widgets : sinon
   les deux paddings s'additionnent et laissent un grand vide au milieu
   du footer. */
footer.et-l--footer .et_pb_row_1_tb_footer {
	padding: 8px 5% 24px !important;
	/* Correctif v1.5.1 - cause reelle du "grand vide" au-dessus de "Mentions
	   legales" (visible aussi bien sur desktop que sur mobile) : la regle
	   generale ".et_pb_row" plus haut definit "flex-wrap:wrap" et "gap:32px"
	   pour repartir les 4 colonnes de la 1ere ligne. Applique a cette 2e
	   ligne, qui ne contient qu'UNE SEULE colonne, Chrome reservait quand
	   meme l'espace du "gap" (32px) comme s'il devait separer une 2e ligne
	   invisible, ce qui poussait la colonne vers le bas et donnait
	   l'impression d'un grand espace vide. Comme cette ligne n'a jamais
	   besoin de retour a la ligne ni d'espacement entre colonnes, on
	   desactive simplement les deux ici. */
	flex-wrap: nowrap !important;
	gap: 0 !important;
}

/* Correctif bug : les colonnes etaient forcees a grandir (flex-grow) pour
   occuper toute la largeur disponible, ce qui etirait chaque colonne bien
   au-dela de son contenu (texte cale a gauche) et donnait l'impression de
   grands vides entre "Categories", "Suivez nous", le champ de recherche et
   le logo. On laisse maintenant chaque colonne s'ajuster a son contenu. */
footer.et-l--footer .et_pb_column {
	flex: 0 1 auto;
	width: auto !important;
	max-width: 260px !important;
	margin: 0 !important;
}

/* Le logo (derniere colonne de la 1ere ligne, 4 colonnes au total) est
   pousse a droite plutot que de laisser un vide flottant au milieu de la
   ligne. */
footer.et-l--footer .et_pb_row_0_tb_footer > .et_pb_column:last-child {
	margin-left: auto !important;
}

/* Correctif bug : la regle ci-dessus (largeur limitee a 260px, pensee pour
   les colonnes de widgets de la 1ere ligne) s'appliquait aussi a l'unique
   colonne de la 2e ligne (mentions legales + copyright), qui se retrouvait
   compressee dans une boite etroite et centree au milieu de la page, donc
   visuellement desalignee par rapport au reste du footer. Cette colonne
   doit au contraire occuper toute la largeur, texte centre. */
footer.et-l--footer .et_pb_row_1_tb_footer > .et_pb_column {
	max-width: 100% !important;
	width: 100% !important;
	flex: 1 1 100% !important;
	text-align: center;
}

/* Correctif bug : la carte blanche/bordee des widgets (definie plus haut pour
   la sidebar du blog) s'appliquait aussi au widget "Categories" du footer,
   creant un grand encart vide sous le menu deroulant. On neutralise ce style
   dans le footer. */
footer.et-l--footer .widget {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
	margin-bottom: 0;
}

/* Divi donne par defaut une carte blanche avec ombre a chaque widget
   (".et_pb_widget"), ce qui laissait un rectangle blanc visible derriere le
   menu deroulant "Categories" sur le fond fonce du footer. */
footer.et-l--footer .et_pb_widget {
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Titres "Acces rapide" / "Suivez nous" */
footer.et-l--footer .et_pb_text h1,
footer.et-l--footer .et_pb_text h2,
footer.et-l--footer .et_pb_text h3 {
	font-family: var(--jdw-font-heading);
	color: #fff;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-bottom: 2px solid var(--jdw-accent);
	padding-bottom: 8px;
	margin-bottom: 14px;
}

/* Widget "Categories" (menu deroulant) - correctif de contraste :
   texte sombre sur fond sombre, illisible dans la version d'origine. */
footer.et-l--footer .et_pb_widget_area,
footer.et-l--footer select,
footer.et-l--footer .widget_categories select {
	color: #eef1f5 !important;
}

/* Correctif (v1.5.2, renforce en v1.5.3) : le fond (8% blanc) et la bordure
   (25% blanc, sous 1px affiche a l'ecran) etaient trop proches du fond du
   footer pour qu'on distingue clairement qu'il s'agit d'une liste deroulante
   cliquable. Un premier passage (v1.5.2) avait deja augmente le contraste,
   mais restait trop discret sur certains ecrans/luminosites. On reprend donc
   completement l'apparence en v1.5.3 : "appearance:none" pour desactiver le
   rendu natif du navigateur (qui limite les personnalisations possibles,
   notamment l'epaisseur de bordure) et dessiner une bordure blanche epaisse
   et une fleche personnalisee bien visibles, sans ambiguite possible. */
/* Correctif v1.5.4 : en eclaircissant le fond pour rendre la bordure plus
   visible, le texte clair (#eef1f5, prevu pour un fond sombre) perdait tout
   son contraste et devenait a son tour illisible - on avait deplace le
   probleme au lieu de le resoudre. On revient donc a un fond sombre (proche
   de l'original) pour que le texte clair reste bien lisible, et on compte
   uniquement sur la bordure epaisse + la fleche personnalisee (rendues
   possibles par "appearance:none", inefficace sans cela) pour que le
   controle se distingue clairement du fond du footer. */
footer.et-l--footer select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-color: rgba(255, 255, 255, 0.1) !important;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 14px 10px;
	border: 2px solid rgba(255, 255, 255, 0.85) !important;
	border-radius: var(--jdw-radius-sm);
	padding: 8px 34px 8px 10px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

footer.et-l--footer select:hover,
footer.et-l--footer select:focus {
	background-color: rgba(255, 255, 255, 0.18) !important;
	border-color: var(--jdw-accent) !important;
	outline: none;
}

/* Correctif bug : la liste deroulante elle-meme (une fois ouverte) est
   affichee par le navigateur avec un fond blanc qu'on ne peut pas
   personnaliser de façon fiable. Le texte clair defini juste au-dessus
   (pour la case fermee, lisible sur fond fonce) devenait donc du texte
   quasi blanc sur fond blanc une fois la liste ouverte -> illisible.
   On force ici une couleur sombre uniquement pour les options de la liste. */
footer.et-l--footer select option {
	color: #1a1f27;
	background: #ffffff;
}

/* Correctif v1.5.5 : une fois la liste ouverte, la barre de surlignage et
   l'entete restent bleus (couleur imposee par le systeme/navigateur, non
   personnalisable en CSS classique, quel que soit le navigateur) - ce qui
   jurait avec le orange/marine du site. La liste deroulante native est
   donc remplacee par une version personnalisee (voir custom-select.js) : le
   <select> d'origine est conserve dans le DOM (repli si JavaScript est
   desactive) mais masque visuellement, et habille par ce bloc de regles. */
.jdw-custom-select {
	position: relative;
}

.jdw-custom-select select {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	pointer-events: none;
}

.jdw-custom-select__trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-color: rgba(255, 255, 255, 0.1);
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 14px 10px;
	border: 2px solid rgba(255, 255, 255, 0.85);
	border-radius: var(--jdw-radius-sm);
	padding: 8px 34px 8px 10px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
	color: #eef1f5;
	font-family: var(--jdw-font-body);
	font-size: 14px;
	text-align: left;
	cursor: pointer;
}

.jdw-custom-select__trigger:hover,
.jdw-custom-select.is-open .jdw-custom-select__trigger {
	background-color: rgba(255, 255, 255, 0.18);
	border-color: var(--jdw-accent);
}

.jdw-custom-select__label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.jdw-custom-select__list {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	z-index: 60;
	margin: 0;
	padding: 6px;
	list-style: none;
	background: var(--jdw-primary);
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-radius: var(--jdw-radius-sm);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
	max-height: 280px;
	overflow-y: auto;
}

.jdw-custom-select__option {
	padding: 8px 10px;
	border-radius: var(--jdw-radius-sm);
	color: #eef1f5;
	font-size: 14px;
	cursor: pointer;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.jdw-custom-select__option:hover {
	background: var(--jdw-accent);
	color: #fff;
}

.jdw-custom-select__option.is-active {
	background: rgba(255, 255, 255, 0.12);
	font-weight: 600;
}

footer.et-l--footer .widget-title,
footer.et-l--footer .et_pb_widget_area h4 {
	color: #fff;
}

/* Champ de recherche */
footer.et-l--footer .et_pb_search input[type="text"],
footer.et-l--footer .et_pb_search input[type="search"] {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.25);
	color: #fff;
	border-radius: var(--jdw-radius-sm);
}

footer.et-l--footer .et_pb_search input[type="text"]::placeholder,
footer.et-l--footer .et_pb_search input[type="search"]::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

footer.et-l--footer .et_pb_search button,
footer.et-l--footer .et_pb_search input[type="submit"] {
	background: var(--jdw-accent);
	border-radius: var(--jdw-radius-sm);
}

/* Logo en pied de page */
footer.et-l--footer .et_pb_image img {
	max-width: 170px !important;
	height: auto !important;
}

/* Icones reseaux sociaux */
footer.et-l--footer .et_pb_social_media_follow a {
	transition: transform 0.2s ease, opacity 0.2s ease;
}

footer.et-l--footer .et_pb_social_media_follow a:hover {
	transform: translateY(-2px);
	opacity: 0.85;
}

/* Colonne "logo" (derniere colonne de la 1ere ligne) : centree verticalement
   par rapport aux colonnes de widgets, plus courtes, situees a sa gauche.
   Correctif v1.5.1 : cette regle ciblait auparavant TOUTES les dernieres
   colonnes du footer (":last-child" sans plus de precision), y compris par
   accident celle de la 2e ligne (mentions legales + copyright). Cette derniere
   se retrouvait alors centree verticalement dans sa ligne au lieu de suivre
   son padding-haut, ce qui donnait l'impression d'un grand vide au-dessus du
   texte, quel que soit l'ecran (desktop ou mobile). La regle est maintenant
   limitee a la colonne du logo (1ere ligne). */
footer.et-l--footer .et_pb_row_0_tb_footer > .et_pb_column:last-child {
	text-align: center;
	align-self: center;
}

/* Correctif v1.5.1 : la colonne de la 2e ligne doit rester en haut de sa
   ligne (juste apres son padding-haut de 8px), pas centree verticalement. */
footer.et-l--footer .et_pb_row_1_tb_footer > .et_pb_column {
	align-self: flex-start;
}

/* ==========================================================================
   7. RESPONSIVE
   ========================================================================== */
@media (max-width: 980px) {
	#et-navigation #et-menu.nav > li > a {
		padding: 10px 16px;
	}

	.et_pb_post .entry-title,
	.et_pb_post h2 a {
		font-size: 16px;
	}
}

@media (max-width: 767px) {
	footer.et-l--footer .et_pb_row {
		flex-direction: column;
		align-items: center;
		gap: 24px;
		padding: 32px 20px !important;
		text-align: center;
	}

	footer.et-l--footer .et_pb_column {
		width: 100% !important;
		flex-basis: auto;
	}

	/* Correctif v1.5.1 : la regle generale juste au-dessus (qui s'applique a
	   TOUTES les lignes du footer sur mobile) redefinit "padding:32px 20px"
	   et "gap:24px", ce qui annule le padding reduit (8px/24px) et le
	   "gap:0" poses plus haut (section 6) specifiquement pour la 2e ligne
	   (une seule colonne, qui n'a jamais besoin d'espacement). Sans cette
	   reprise ici, le meme "grand vide" que sur desktop reapparaissait sur
	   mobile au-dessus de "Mentions legales". */
	footer.et-l--footer .et_pb_row_1_tb_footer {
		padding: 8px 20px 24px !important;
		gap: 0 !important;
	}

	/* Correctif v1.5.1 : sur mobile, les colonnes passent en pile verticale
	   (flex-direction:column) et sont toutes centrees horizontalement via
	   align-items:center ci-dessus. La regle desktop qui poussait le logo a
	   droite ("margin-left:auto", pensee pour une ligne horizontale) restait
	   active et decalait le logo vers la droite au lieu de le centrer comme
	   les autres colonnes empilees. */
	footer.et-l--footer .et_pb_row_0_tb_footer > .et_pb_column:last-child {
		margin-left: 0 !important;
	}

	.widget-title {
		border-bottom-width: 1px;
	}

	.et_pb_post {
		margin-bottom: 20px;
	}

	.et_pb_post .entry-title,
	.et_pb_post h2 a {
		font-size: 17px;
	}
}

@media (max-width: 479px) {
	.more-link,
	.et_pb_button,
	button,
	input[type="submit"] {
		width: 100%;
		text-align: center;
	}

	/* Correctif v1.5.1 : la regle ci-dessus (boutons pleine largeur sur tres
	   petit ecran) s'appliquait aussi, sans le vouloir, au bouton "Chercher"
	   du champ de recherche du footer. Le champ de recherche et son bouton
	   sont normalement organises en ligne flexible (le texte prend le plus de
	   place, le bouton s'ajuste a son contenu) ; en forcant le bouton a
	   100% de largeur, cet equilibre etait casse et le champ de texte se
	   retrouvait ecrase a quelques pixels de large, quasiment invisible. On
	   restaure ici sa largeur naturelle pour ce bouton precis. */
	footer.et-l--footer .et_pb_search button,
	footer.et-l--footer .et_pb_search input[type="submit"] {
		width: auto;
	}
}

/* ==========================================================================
   8. TARTEAUCITRON - bandeau de gestion des cookies (harmonisation visuelle)
   ========================================================================== */
#tarteaucitronRoot #tarteaucitronAlertBig,
#tarteaucitronRoot #tarteaucitronAlertSmall {
	background: var(--jdw-primary) !important;
	font-family: var(--jdw-font-body) !important;
}

#tarteaucitronRoot #tarteaucitronDisclaimerAlert {
	color: #cfd6e0 !important;
}

#tarteaucitronRoot button#tarteaucitronAllAllowed,
#tarteaucitronRoot button#tarteaucitronPersonalize2 {
	background: var(--jdw-accent) !important;
	color: #fff !important;
	border-radius: var(--jdw-radius-sm) !important;
	font-family: var(--jdw-font-heading) !important;
	font-weight: 600 !important;
}

#tarteaucitronRoot button#tarteaucitronAllAllowed:hover,
#tarteaucitronRoot button#tarteaucitronPersonalize2:hover {
	background: var(--jdw-accent-dark) !important;
}

#tarteaucitronRoot button#tarteaucitronAllDenied2 {
	background: transparent !important;
	color: #cfd6e0 !important;
	border: 1px solid #cfd6e0 !important;
	border-radius: var(--jdw-radius-sm) !important;
}

#tarteaucitronRoot .tarteaucitronCheck input:checked ~ .tarteaucitronCheckOn,
#tarteaucitronRoot .tarteaucitronAllow {
	background: var(--jdw-accent-2) !important;
	color: #fff !important;
}

/*
 * Icone flottante (rouvre le bandeau une fois le choix fait) : "#tarteaucitronIcon"
 * est un element racine independant, PAS un descendant de "#tarteaucitronRoot"
 * (voila pourquoi l'ancienne regle #tarteaucitronRoot #tarteaucitronIcon ne
 * s'appliquait jamais). Bug corrige (v1.3.0) : la feuille de style de
 * tarteaucitron n'etait pas chargee du tout sur le site.
 *
 * Correctif v1.4.4 : 3 tentatives infructueuses avec le fichier fourni par la
 * librairie (jaune vif a l'origine) :
 * - v1.3.0 : couleur d'origine (jaune) -> pas la bonne couleur.
 * - v1.4.2 : filtre "brightness(0) invert(1)" -> deformait le dessin (pave
 *   blanc au lieu d'un cadenas net).
 * - v1.4.3 : filtre "grayscale(1)" -> gris trop proche du fond sombre du
 *   rond, cadenas quasi invisible.
 * On abandonne cette fois le fichier de la librairie : le cadenas est
 * dessine directement en CSS (petit SVG integre, une seule couleur, contours
 * nets), en blanc pur pour garantir un bon contraste quel que soit le fond.
 * L'image d'origine est masquee (elle reste dans le DOM pour ne pas casser
 * le script, mais n'est plus affichee).
 */
#tarteaucitronIcon #tarteaucitronManager {
	background: rgba(0, 0, 0, 0.45) !important;
	border-radius: 50% !important;
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25);
	width: 34px !important;
	height: 34px !important;
	padding: 0 !important;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10V7a5 5 0 0 1 10 0v3'/%3E%3Crect x='5' y='10' width='14' height='10' rx='2' fill='%23ffffff' stroke='none'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 18px 18px !important;
}

#tarteaucitronIcon #tarteaucitronManager img {
	opacity: 0 !important;
}
