/*
Theme Name: Generatepress Child
Description: Thème enfant de Generatepress
Author: Jules Torres
Template: generatepress
Version: 1.0
Text Domain: generatepress-child
*/

/* Footer collé en bas de l'écran (sticky footer) */
html {
	min-height: 100%;
}

body {
	min-height: 100vh;
	display: flex !important;
	flex-direction: column !important;
}

 .site.grid-container{
	width: 100%;
 }

p:not(.main-title) {
	text-align: justify;
}

/* Pousse le footer en bas : prend tout l'espace au-dessus */
.site-footer {
	margin-top: auto !important;
	flex-shrink: 0;
}

/* Liste simple pour les pages d'archive (catégories, etc.) */
.archive-listing {
	list-style: none;
	margin: 1.5em 0;
	padding: 0;
}

.archive-listing-item {
	padding: 0.5em 0;
	border-bottom: 1px solid #eee;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1em;
}

.archive-listing-item a {
	text-decoration: none;
}

.archive-listing-date {
	color: #666;
	font-size: 0.9em;
	white-space: nowrap;
}

.category-archive-empty .category-no-posts {
	margin: 0;
	color: #495057;
}

/* Page « Liens utiles » (template-liens-utiles.php) : listes comme les archives catégorie */
.jfdp-liens-utiles-layout .liens-utiles-archive-wrap .entry-content > ul,
.jfdp-liens-utiles-layout .liens-utiles-archive-wrap .entry-content .wp-block-list,
.jfdp-liens-utiles-layout .liens-utiles-archive-wrap .entry-content .wp-block-list > ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.jfdp-liens-utiles-layout .liens-utiles-archive-wrap .entry-content > ul > li,
.jfdp-liens-utiles-layout .liens-utiles-archive-wrap .entry-content .wp-block-list li {
	padding: 0.5em 0;
	border-bottom: 1px solid #eee;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1em;
}
.jfdp-liens-utiles-layout .liens-utiles-archive-wrap .entry-content > ul > li > a,
.jfdp-liens-utiles-layout .liens-utiles-archive-wrap .entry-content .wp-block-list li a {
	text-decoration: none;
}
.separate-containers .page-header.liens-utiles-archive-wrap{
	padding: 0;
}

.jfdp-liens-utiles-layout .liens-utiles-archive-wrap .entry-content figure {
	margin-bottom: 1.75rem;
}
.jfdp-liens-utiles-layout .liens-utiles-archive-wrap .entry-content figure figcaption{
	text-align: left;
}

/* Menu search only : ne pas dépasser la nav (flex + champ search) */
#site-navigation #primary-menu,
#site-navigation ul#menu-menu-search-only {
	min-width: 0;
	max-width: 100%;
}

.search-only-item {
	list-style: none;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.search-only-item .search-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
	margin: 0;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* WP html5 : <form><label><span.sr-only/><input.search-field/></label><input.submit/></form> */
.search-only-item .search-form > label {
	flex: 1 1 0;
	display: flex;
	align-items: center;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.search-only-item .search-form > label .search-field {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.search-only-item .search-form .search-submit {
	flex: 0 0 auto;
}

/* Colonne Articles récents : séparation visuelle des rubriques à gauche */
.column-recents-articles {
	background: #f8f9fa;
	border-left: 2px solid #dee2e6;
	padding: 1.5rem 1.5rem 1.5rem 2rem;
	margin-left: 1.5rem;
	border-radius: 0 8px 8px 0;
}
.column-recents-articles h2 {
	margin-top: 0;
	margin-bottom: 1rem;
	font-size: 1.1rem;
}
.column-recents-articles .wp-block-latest-posts__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.column-recents-articles .wp-block-latest-posts__list li {
	background: #fff;
	border: 1px solid #e9ecef;
	border-radius: 8px;
	padding: 1rem 1.25rem;
	margin-bottom: 0.75rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.column-recents-articles .wp-block-latest-posts__list li:last-child {
	margin-bottom: 0;
}
.column-recents-articles .wp-block-latest-posts__list .wp-block-latest-posts__post-title {
	display: block;
	margin-bottom: 0.5rem;
	font-weight: 600;
}
.column-recents-articles .wp-block-latest-posts__list .wp-block-latest-posts__post-excerpt {
	margin: 0;
	font-size: 0.9em;
	line-height: 1.5;
	color: #495057;
}
.column-recents-articles .wp-block-latest-posts__list .read-more {
	font-size: 0.875em;
}
.column-recents-articles .MathJax_Display{
    display: none !important;
}

.home-subcat-section {
	margin-bottom: 3rem;
}
.home-subcat-section:last-child {
	margin-bottom: 0;
}
.home-subcat-parent-title {
	margin: 0 0 0.75rem;
}
.home-subcat-parent-desc {
	margin: 0 0 1.25rem;
	line-height: 1.6;
}
.home-subcat-parent-desc > *:last-child {
	margin-bottom: 0;
}

.home-subcats-cards{
    display:flex;
    flex-direction:column;
    gap:16px;
  }
  
  .home-subcat-card{
    display:flex;
    align-items:center;
    gap:16px;
    padding:14px 16px;
    border:1px solid #e6e6e6;
    border-radius:12px;
    text-decoration:none;
  }
  
  .home-subcat-img{
    width:225px;
    height:160px;
    object-fit:cover;
    border-radius:10px;
    flex:0 0 auto;
  }
  
  .home-subcat-img.placeholder{
    background:#f0f0f0;
  }
  
  .home-subcat-title{
    font-size:18px;
    line-height:1.3;
  }
  
.column-recents-articles-container.widget-area .widget,
.archive .widget,
.widget-area .widget{
    padding: 0;
}

.column-recents-articles-container.widget-area .widget .column-recents-articles,
.archive .widget .column-recents-articles,
.widget-area .widget .column-recents-articles{
    margin-left: 0;
    border-left: none;
}

/* Import docx (Mammoth) : bordures Word souvent en style inline — il faut écraser */
.single-post .inside-article table {
	border: none !important;
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
	max-width: 100%;
	table-layout: fixed;
}

.single-post .inside-article table td,
.single-post .inside-article table th {
	border: none !important;
	vertical-align: bottom;
	/* Table fixe : permet aux enfants (MathJax) de respecter la largeur de colonne */
	min-width: 0;
	overflow: visible;
}

/* Images docx : cadre identique par colonne (écrase tailles intrinsèques / inline Word) */
.single-post .inside-article table td img,
.single-post .inside-article table th img {
	display: block;
	box-sizing: border-box;
	width: 100% !important;
	height: min(36vh, 280px) !important;
	max-height: min(36vh, 280px) !important;
	object-fit: contain !important;
	object-position: bottom center !important;
	margin: 0 auto;
}

.single-post .inside-article table p,
.single-post .inside-article table td{
	text-align: center;
}

/* Paragraphes dans les cellules : pas de overflow ici (évite scrollbar verticale sur le texte courant) */
.single-post .inside-article table th p,
.single-post .inside-article table td p {
	max-width: 100%;
	box-sizing: border-box;
	overflow: visible;
}

/*
 * MathJax : les styles du script passent souvent après le thème → !important.
 * Sans largeur bornée sur le bloc « display », le span interne (width en em)
 * élargit toute la colonne sur mobile.
 */
.content-area,
.inside-article,
.inside-article .entry-content {
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

/* Paragraphes avec maths inline très longues (pas de .MathJax_Display) */
@supports selector(:has(*)) {
	.inside-article .entry-content p:has(span.MathJax, mjx-container) {
		overflow-x: auto;
		max-width: 100%;
		-webkit-overflow-scrolling: touch;
	}
}

.inside-article .MathJax_Display {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	-webkit-overflow-scrolling: touch;
}

/* MJ3 CHTML : display="true" = formule centrée type display (pas l’inline) */
.inside-article .entry-content mjx-container[jax="CHTML"][display="true"],
.inside-article mjx-container[jax="CHTML"][display="true"] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	-webkit-overflow-scrolling: touch;
}

.single-post .inside-article p,
.inside-article p,
.archive .taxonomy-description p {
	margin-bottom: .5rem;
}

.single-post .inside-article .wp-block-heading{
	margin-top: 1.5rem;
	margin-bottom: .7rem;
}

.wp-block-table thead{
	border-bottom: none !important;
}

.entete-home{
	margin-bottom: 40px;
}

/*
 * Débordement horizontal (mobile) : textarea / CF7 (voir aussi min-width sur
 * .content-area / .inside-article / .entry-content avec le bloc MathJax plus haut).
 */
.comments-area {
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.comments-area .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.comments-area textarea,
.comments-area input[type="text"],
.comments-area input[type="email"],
.comments-area input[type="url"],
.comments-area input[type="tel"],
.comments-area input[type="number"],
.comments-area input[type="search"],
.comments-area select {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}


@media screen and (max-width: 480px) {
	.home-subcat-card {
		flex-direction: column;
	}
}

@media screen and (max-width: 781px) {
	.home .column-recents-articles{
		padding: 0;
		border: none;
		background: white;
	}
}