/* =====================================================
   CSS RESPONSIVE HIDA MEDIA - VERSION FINALE CORRIGÉE
   Thème: Tenku | Production: hida-media.com
   Responsive mobile + Conservation desktop production
   Dernière mise à jour: 01/02/2026
   CORRECTIONS V10: Header tablette portrait uniquement
   ===================================================== */

/* ========================================
   CSS PRODUCTION DESKTOP (conservé intact)
   ======================================== */

/* Titre des articles */
.wp-block-post-template .wp-block-post-title a {
	line-height: 1.3;
}

/* Suppression gap entre blocs sur homepage */
.wp-site-blocks > *:last-child {
	--wp--style--block-gap: 0 !important;
}

body.home .wp-site-blocks > footer.wp-block-template-part.wp-block-template-part {
	margin-top: 0 !important;
}

html body.home .wp-site-blocks > footer {
	margin: 0 !important;
}

/* Page Contact - Suppression whitespace */
.page-template-page-sans-titre .wp-site-blocks > .wp-block-group {
	margin-bottom: 0 !important;
}

.page-template-page-sans-titre .wp-site-blocks > .wp-block-template-part:nth-child(3) {
	margin-top: 0 !important;
}

body.page .wp-block-template-part:has(.wp-block-columns) {
	margin-top: 0 !important;
}

.page-template-page-sans-titre .wp-site-blocks > main.wp-block-group {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.page-template-page-sans-titre .wp-site-blocks > main.wp-block-group + div.wp-block-group.alignfull {
	margin-top: 0 !important;
}

.page-template-page-sans-titre .wp-site-blocks {
	--wp--style--block-gap: 0 !important;
}

body.page-template-page-sans-titre main.wp-block-group.is-layout-flow {
	padding-bottom: 0 !important;
}

html body.page-template-page-sans-titre .wp-site-blocks > main.wp-block-group.wp-block-group-is-layout-flow {
	padding-bottom: 0 !important;
}

.page-template-page-sans-titre .wp-site-blocks > main.wp-block-group {
	--wp--preset--spacing--60: 0 !important;
}

/* Page Contact - Bouton sans hover effect */
.page-template-page-sans-titre .wp-block-jetpack-button .wp-block-button__link:hover {
	background-color: #000000 !important;
	color: #FFFFFF !important;
	opacity: 1 !important;
}

/* Formulaire Contact - Messages d'erreur en français */
.contact-form__input-error.has-errors > span {
	display: none !important;
}

.contact-form__input-error.has-errors::before {
	content: " Ce champ est requis.";
	color: #b94a48;
}

.contact-form__error.show-errors > span {
	display: none !important;
}

.contact-form__error.show-errors::before {
	content: " Veuillez remplir le formulaire correctement.";
}


/* ========================================
   RÈGLES GLOBALES (toutes tailles)
   ======================================== */

/* Images responsive par défaut */
img {
	max-width: 100%;
	height: auto;
}


/* ========================================
   RESPONSIVE MOBILE (max-width: 781px)
   ======================================== */

@media screen and (max-width: 781px) {

	/* ==================
	   RESET COMPLET MOBILE
	   ================== */
	
	html, body {
		overflow-x: hidden !important;
		max-width: 100vw !important;
		width: 100% !important;
	}

	/* ==================
	   COLONNES - PLEINE LARGEUR FORCÉE
	   ================== */
	
	.wp-block-columns {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	
	.wp-block-column {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: 100% !important;
		flex-grow: 0 !important;
		flex-shrink: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-bottom: 1.5rem !important;
	}
	
	.wp-block-columns.is-layout-flex,
	.wp-block-columns.wp-block-columns-is-layout-flex {
		display: block !important;
		flex-wrap: unset !important;
		gap: 0 !important;
	}

	.wp-block-column[style*="flex-basis"],
	.wp-block-column[style*="width"] {
		flex-basis: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	/* ==================
	   HEADER (non affecté par l'alignement gauche)
	   ================== */

	header .wp-block-social-links {
		display: none;
	}

	header,
	header.wp-block-template-part,
	.wp-block-template-part > header {
		width: 100% !important;
		max-width: 100vw !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		box-sizing: border-box !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	header .wp-block-group,
	header .wp-block-columns,
	header .wp-block-column {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}


	/* ==================
	   FOOTER - TOUT CENTRÉ
	   ================== */

	footer,
	footer.wp-block-template-part,
	.wp-block-template-part footer {
		text-align: center !important;
	}

	footer .wp-block-columns,
	footer.wp-block-template-part .wp-block-columns,
	.wp-block-template-part footer .wp-block-columns {
		display: block !important;
		text-align: center !important;
	}

	footer .wp-block-column,
	footer.wp-block-template-part .wp-block-column,
	.wp-block-template-part footer .wp-block-column {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-bottom: 1.5rem !important;
		border-left: 0 !important;
		border-right: 0 !important;
		text-align: center !important;
	}

	/* Footer - Tous les contenus centrés (sauf icônes sociales) */
	footer p,
	footer span,
	footer .wp-block-paragraph,
	footer .wp-block-navigation,
	footer .wp-block-navigation-item,
	footer .wp-block-navigation-item a,
	footer.wp-block-template-part p,
	.wp-block-template-part footer p {
		text-align: center !important;
	}

	/* Footer - Liens centrés (sauf icônes sociales) */
	footer a:not(.wp-block-social-link-anchor):not(.wp-social-link a),
	footer.wp-block-template-part a:not(.wp-block-social-link-anchor),
	.wp-block-template-part footer a:not(.wp-block-social-link-anchor) {
		text-align: center !important;
	}

	/* Footer - Colonnes avec liens centrés */
	footer .wp-block-column:nth-child(2),
	footer .wp-block-column:nth-child(3),
	footer.wp-block-template-part .wp-block-column:nth-child(2),
	footer.wp-block-template-part .wp-block-column:nth-child(3),
	.wp-block-template-part footer .wp-block-column:nth-child(2),
	.wp-block-template-part footer .wp-block-column:nth-child(3) {
		text-align: center !important;
	}

	footer .wp-block-column:nth-child(2) a,
	footer .wp-block-column:nth-child(2) p,
	footer .wp-block-column:nth-child(3) a,
	footer .wp-block-column:nth-child(3) p,
	footer.wp-block-template-part .wp-block-column:nth-child(2) a,
	footer.wp-block-template-part .wp-block-column:nth-child(2) p,
	.wp-block-template-part footer .wp-block-column:nth-child(2) a,
	.wp-block-template-part footer .wp-block-column:nth-child(2) p {
		text-align: center !important;
		display: block !important;
		width: 100% !important;
	}

	/* Footer - Listes de navigation centrées (sauf social links) */
	footer ul:not(.wp-block-social-links),
	footer ol,
	footer .wp-block-navigation__container,
	footer .wp-block-page-list,
	footer.wp-block-template-part ul:not(.wp-block-social-links),
	footer.wp-block-template-part ol,
	.wp-block-template-part footer ul:not(.wp-block-social-links),
	.wp-block-template-part footer ol {
		list-style: none !important;
		padding-left: 0 !important;
		margin-left: 0 !important;
		text-align: center !important;
		width: 100% !important;
	}

	/* Footer - Items de liste centrés (sauf icônes sociales) */
	footer li:not(.wp-social-link):not(.wp-block-social-link),
	footer .wp-block-navigation-item,
	footer.wp-block-template-part li:not(.wp-social-link):not(.wp-block-social-link),
	.wp-block-template-part footer li:not(.wp-social-link):not(.wp-block-social-link) {
		text-align: center !important;
		display: block !important;
		width: 100% !important;
		margin-bottom: 0.5rem !important;
	}

	/* Footer - Icônes sociales en LIGNE (flex row) */
	footer .wp-block-social-links,
	footer.wp-block-template-part .wp-block-social-links,
	.wp-block-template-part footer .wp-block-social-links {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		align-items: center !important;
		gap: 1rem !important;
		width: 100% !important;
		padding: 0 !important;
		margin: 0 auto !important;
		list-style: none !important;
	}

	footer .wp-social-link,
	footer .wp-block-social-link,
	footer.wp-block-template-part .wp-social-link,
	.wp-block-template-part footer .wp-social-link {
		display: inline-flex !important;
		width: auto !important;
		margin-bottom: 0 !important;
	}

	footer .wp-social-link a,
	footer .wp-block-social-link a,
	footer .wp-block-social-link-anchor {
		display: inline-flex !important;
		width: auto !important;
	}


	/* ==================
	   GROUPES ET CONTENEURS
	   ================== */
	
	.wp-block-group {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		box-sizing: border-box !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	
	.wp-block-group .wp-block-group {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	.wp-site-blocks {
		width: 100% !important;
		max-width: 100vw !important;
		overflow-x: hidden !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	.wp-site-blocks > * {
		max-width: 100% !important;
	}

	.alignfull {
		width: 100% !important;
		max-width: 100vw !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}


	/* ==================
	   TITRES - RÈGLES DE BASE (sans coupure de mots)
	   Appliqué partout SAUF header et footer
	   ================== */

	/* Règles générales pour tous les titres - sans coupure */
	h1, h2, h3, h4, h5, h6,
	.wp-block-post-title,
	.entry-title,
	.wp-block-heading,
	.wp-block-query-title {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		word-break: normal !important;
		word-wrap: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		-webkit-hyphens: none !important;
		-moz-hyphens: none !important;
		-ms-hyphens: none !important;
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: clip !important;
		-webkit-line-clamp: unset !important;
		line-clamp: unset !important;
		-webkit-box-orient: unset !important;
		line-height: 1.35 !important;
	}

	/* Liens dans les titres - règles de base sans coupure */
	h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
	.wp-block-post-title a,
	.entry-title a,
	.wp-block-heading a,
	.wp-block-query-title a {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		word-break: normal !important;
		word-wrap: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
		-webkit-hyphens: none !important;
		-moz-hyphens: none !important;
		-ms-hyphens: none !important;
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: clip !important;
		line-height: 1.35 !important;
	}


	/* ==================
	   TITRES CONTENU - ALIGNÉS À GAUCHE
	   (Exclut header, footer, bandeaux, site-title)
	   ================== */

	/* Titres d'articles dans les listes/grilles - ALIGNÉS À GAUCHE */
	.wp-block-post-title,
	.wp-block-post-title a,
	.wp-block-post-title > a,
	.wp-block-post-title a:link,
	.wp-block-post-title a:visited,
	.wp-block-post-title a:hover,
	.wp-block-post-title a:active,
	.entry-title,
	.entry-title a,
	.wp-block-query .wp-block-post-title,
	.wp-block-query .wp-block-post-title a,
	.wp-block-post-template .wp-block-post-title,
	.wp-block-post-template .wp-block-post-title a,
	article .entry-title,
	article .entry-title a,
	.hentry .entry-title,
	.hentry .entry-title a {
		text-align: left !important;
		font-size: 1.25rem !important;
		line-height: 1.35 !important;
		margin-bottom: 0.75rem !important;
	}

	/* Titre principal article single - ALIGNÉ À GAUCHE */
	body.single .entry-title,
	body.single .entry-title a,
	body.single-post .entry-title,
	body.single-post .entry-title a,
	body.single h1.wp-block-post-title,
	body.single h1.wp-block-post-title a,
	body.single-post h1.wp-block-post-title,
	body.single-post h1.wp-block-post-title a,
	.single .wp-block-post-title,
	.single .wp-block-post-title a {
		text-align: left !important;
		font-size: 1.5rem !important;
		line-height: 1.3 !important;
		margin-bottom: 1rem !important;
	}

	/* Sous-titres dans le contenu des articles - ALIGNÉS À GAUCHE */
	.entry-content h2,
	.entry-content h2 a,
	.entry-content h3,
	.entry-content h3 a,
	.entry-content h4,
	.entry-content h4 a,
	.entry-content h5,
	.entry-content h5 a,
	.entry-content h6,
	.entry-content h6 a,
	article h2,
	article h2 a,
	article h3,
	article h3 a,
	article h4,
	article h4 a,
	main h2,
	main h2 a,
	main h3,
	main h3 a,
	main h4,
	main h4 a {
		text-align: left !important;
		font-size: 1.125rem !important;
		line-height: 1.35 !important;
		margin-top: 1.5rem !important;
		margin-bottom: 0.75rem !important;
	}


	/* ==================
	   HEADER - CONSERVE SON PROPRE STYLE
	   (Non affecté par les règles d'alignement gauche)
	   ================== */

	header h1,
	header h1 a,
	header h2,
	header h2 a,
	header h3,
	header h3 a,
	header .wp-block-site-title,
	header .wp-block-site-title a,
	.wp-block-site-title,
	.wp-block-site-title a,
	.custom-logo-link {
		/* Ne pas forcer text-align - laisser le thème gérer */
		word-break: normal !important;
		hyphens: none !important;
		-webkit-hyphens: none !important;
	}


	/* ==================
	   FOOTER - TITRES CENTRÉS
	   ================== */

	footer h1,
	footer h1 a,
	footer h2,
	footer h2 a,
	footer h3,
	footer h3 a,
	footer h4,
	footer h4 a,
	footer h5,
	footer h5 a,
	footer h6,
	footer h6 a,
	footer .wp-block-heading,
	footer .wp-block-heading a,
	footer.wp-block-template-part h1,
	footer.wp-block-template-part h2,
	footer.wp-block-template-part h3,
	footer.wp-block-template-part h4,
	.wp-block-template-part footer h1,
	.wp-block-template-part footer h2,
	.wp-block-template-part footer h3,
	.wp-block-template-part footer h4 {
		text-align: center !important;
		font-size: 1.125rem !important;
		line-height: 1.3 !important;
		word-break: normal !important;
		hyphens: none !important;
		-webkit-hyphens: none !important;
	}


	/* ==================
	   BANDEAUX / SECTIONS SPÉCIALES - CENTRÉS
	   ================== */

	.wp-block-group.has-background h1,
	.wp-block-group.has-background h1 a,
	.wp-block-group.has-background h2,
	.wp-block-group.has-background h2 a,
	.wp-block-group.has-background h3,
	.wp-block-group.has-background h3 a,
	.wp-block-group.has-background h4,
	.wp-block-group.has-background h4 a,
	.wp-block-cover h1,
	.wp-block-cover h1 a,
	.wp-block-cover h2,
	.wp-block-cover h2 a,
	.wp-block-cover h3,
	.wp-block-cover h3 a,
	.wp-block-cover h4,
	.wp-block-cover h4 a {
		text-align: center !important;
		font-size: 1.375rem !important;
		line-height: 1.3 !important;
		word-break: normal !important;
		hyphens: none !important;
		-webkit-hyphens: none !important;
	}


	/* ==================
	   IMAGES - RÈGLES GÉNÉRALES
	   ================== */

	.wp-block-image,
	figure {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-bottom: 1rem !important;
		overflow: hidden !important;
		-webkit-overflow-scrolling: auto !important;
		position: relative !important;
		height: auto !important;
	}

	.wp-block-image img,
	figure img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		display: block !important;
		position: relative !important;
		object-fit: contain !important;
		object-position: center center !important;
	}

	.wp-block-image,
	figure,
	.wp-block-post-featured-image,
	.wp-block-cover,
	.wp-block-media-text__media {
		touch-action: pan-y !important;
		overscroll-behavior: none !important;
	}


	/* ==================
	   IMAGES - PAGE D'ACCUEIL / LISTES D'ARTICLES
	   ================== */

	body.home .wp-block-post-featured-image,
	body.archive .wp-block-post-featured-image,
	body.search .wp-block-post-featured-image,
	body.blog .wp-block-post-featured-image,
	.wp-block-query .wp-block-post-featured-image,
	.wp-block-post-template .wp-block-post-featured-image {
		width: 100% !important;
		aspect-ratio: 16 / 9 !important;
		overflow: hidden !important;
		margin-bottom: 1rem !important;
	}

	body.home .wp-block-post-featured-image img,
	body.archive .wp-block-post-featured-image img,
	body.search .wp-block-post-featured-image img,
	body.blog .wp-block-post-featured-image img,
	.wp-block-query .wp-block-post-featured-image img,
	.wp-block-post-template .wp-block-post-featured-image img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center top !important;
	}


	/* ==================
	   IMAGES - PAGE ARTICLE SINGLE
	   ================== */

	body.single .wp-block-post-featured-image,
	body.single-post .wp-block-post-featured-image,
	.single .wp-block-post-featured-image,
	article.post .wp-block-post-featured-image,
	.post-template-default .wp-block-post-featured-image {
		width: 100% !important;
		aspect-ratio: unset !important;
		height: auto !important;
		overflow: visible !important;
		margin-bottom: 1.5rem !important;
	}

	body.single .wp-block-post-featured-image img,
	body.single-post .wp-block-post-featured-image img,
	.single .wp-block-post-featured-image img,
	article.post .wp-block-post-featured-image img,
	.post-template-default .wp-block-post-featured-image img {
		width: 100% !important;
		height: auto !important;
		object-fit: contain !important;
		object-position: center center !important;
	}

	body.single .entry-content img,
	body.single-post .entry-content img,
	.single .entry-content img,
	article.post .entry-content img,
	body.single .wp-block-image img,
	body.single-post .wp-block-image img {
		width: 100% !important;
		height: auto !important;
		object-fit: contain !important;
		object-position: center center !important;
	}


	/* ==================
	   COVER BLOCKS
	   ================== */

	.wp-block-cover {
		min-height: 250px !important;
		max-height: 400px !important;
		padding: 1.5rem !important;
		overflow: hidden !important;
		position: relative !important;
		width: 100% !important;
	}

	.wp-block-cover__image-background,
	.wp-block-cover img {
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center top !important;
		z-index: 0 !important;
	}

	.wp-block-cover__inner-container {
		position: relative !important;
		z-index: 1 !important;
	}


	/* ==================
	   MEDIA-TEXT BLOCKS
	   ================== */

	.wp-block-media-text {
		display: block !important;
		width: 100% !important;
	}

	.wp-block-media-text__media {
		width: 100% !important;
		overflow: hidden !important;
		margin-bottom: 1rem !important;
	}

	.wp-block-media-text__media img {
		width: 100% !important;
		height: auto !important;
		object-fit: contain !important;
	}

	.wp-block-media-text__content {
		width: 100% !important;
		padding: 1rem !important;
	}


	/* ==================
	   GALERIES
	   ================== */

	.wp-block-gallery {
		display: block !important;
		width: 100% !important;
	}

	.wp-block-gallery .wp-block-image {
		width: 100% !important;
		margin-bottom: 1rem !important;
		overflow: hidden !important;
	}

	.wp-block-gallery .wp-block-image img {
		width: 100% !important;
		height: auto !important;
		object-fit: contain !important;
	}


	/* ==================
	   LÉGENDES
	   ================== */

	figure figcaption {
		width: 100% !important;
		padding: 0.75rem !important;
		font-size: 0.875rem !important;
		position: relative !important;
		text-align: left !important;
	}


	/* ==================
	   NEWSLETTER BANDEAUX
	   ================== */

	.wp-block-group.has-background,
	[class*="newsletter"] {
		width: 100% !important;
		max-width: 100% !important;
		padding: 2rem 1.25rem !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}

	.wp-block-group.has-background .wp-block-columns,
	[class*="newsletter"] .wp-block-columns {
		display: block !important;
		width: 100% !important;
	}

	.wp-block-group.has-background .wp-block-column,
	[class*="newsletter"] .wp-block-column {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 0 1.5rem 0 !important;
		border: none !important;
	}

	.wp-block-group.has-background p {
		font-size: 0.938rem !important;
		line-height: 1.6 !important;
		text-align: center !important;
		margin-bottom: 1rem !important;
	}

	.wp-block-group.has-background .wp-block-social-links {
		display: flex !important;
		justify-content: center !important;
		margin: 1.5rem auto !important;
	}

	/* Formulaire newsletter */
	.wp-block-group.has-background form,
	.wp-block-group.has-background .wp-block-group form {
		width: 100% !important;
		max-width: 100% !important;
	}

	.wp-block-group.has-background input[type="email"],
	.wp-block-group.has-background input[type="text"],
	.wp-block-group input[type="email"],
	.wp-block-group input[type="text"] {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0.875rem 1rem !important;
		margin-bottom: 1rem !important;
		font-size: 1rem !important;
		box-sizing: border-box !important;
		display: block !important;
	}

	.wp-block-group.has-background .wp-block-button,
	.wp-block-group.has-background .wp-block-buttons {
		width: 100% !important;
	}

	.wp-block-group.has-background .wp-block-button__link,
	.wp-block-group.has-background button[type="submit"],
	.wp-block-group.has-background input[type="submit"] {
		width: 100% !important;
		padding: 0.875rem 1rem !important;
		font-size: 1rem !important;
		text-align: center !important;
		display: block !important;
		box-sizing: border-box !important;
	}


	/* ==================
	   ARTICLES / CONTENU TEXTE
	   ================== */

	.wp-block-post,
	.wp-block-query .wp-block-post,
	article {
		width: 100% !important;
		max-width: 100% !important;
		margin-bottom: 2rem !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Extraits et paragraphes - alignés à gauche */
	.wp-block-post-excerpt,
	.wp-block-post-excerpt__excerpt,
	.entry-summary,
	.entry-content p,
	main p,
	article p {
		width: 100% !important;
		max-width: 100% !important;
		font-size: 0.938rem !important;
		line-height: 1.6 !important;
		margin-bottom: 1rem !important;
		text-align: left !important;
		word-wrap: break-word !important;
		overflow-wrap: break-word !important;
		word-break: normal !important;
		hyphens: none !important;
		-webkit-hyphens: none !important;
		white-space: normal !important;
	}

	/* Métadonnées - alignées à gauche */
	.wp-block-post-date,
	.wp-block-post-terms,
	.entry-meta {
		width: 100% !important;
		font-size: 0.875rem !important;
		margin-top: 0.5rem !important;
		margin-bottom: 0.5rem !important;
		text-align: left !important;
	}


	/* ==================
	   TEXTE GÉNÉRAL - ANTI-COUPURE
	   ================== */
	
	body,
	p, li, td, th, span,
	blockquote, figcaption,
	.wp-block-post-excerpt,
	.wp-block-post-excerpt__excerpt,
	.entry-summary,
	.entry-content,
	.entry-content p {
		word-wrap: break-word !important;
		overflow-wrap: break-word !important;
		word-break: normal !important;
		hyphens: none !important;
		-webkit-hyphens: none !important;
		white-space: normal !important;
		text-overflow: clip !important;
	}

	/* Exception: URLs longues peuvent être coupées */
	a[href*="://"],
	a[href^="mailto:"] {
		word-break: break-all !important;
	}
	
	/* MAIS PAS les liens titres - override de l'exception URLs */
	h1 a[href*="://"],
	h2 a[href*="://"],
	h3 a[href*="://"],
	h4 a[href*="://"],
	h5 a[href*="://"],
	h6 a[href*="://"],
	.wp-block-post-title a[href*="://"],
	.entry-title a[href*="://"] {
		word-break: normal !important;
		hyphens: none !important;
		-webkit-hyphens: none !important;
	}


	/* ==================
	   NAVIGATION
	   ================== */

	.wp-block-navigation__responsive-container {
		padding: 1rem !important;
		width: 100% !important;
	}

	.wp-block-navigation-item {
		width: 100% !important;
		margin-bottom: 0.5rem !important;
	}

	.wp-block-navigation-item a {
		word-break: normal !important;
		hyphens: none !important;
		-webkit-hyphens: none !important;
	}


	/* ==================
	   CATÉGORIES (Sidebar)
	   ================== */

	.widget_categories ul,
	.wp-block-categories-list {
		list-style: none;
		padding-left: 0;
		width: 100% !important;
	}

	.widget_categories li,
	.wp-block-categories-list li {
		width: 100% !important;
		padding: 0.5rem 0;
		border-bottom: 1px solid rgba(0,0,0,0.1);
		text-align: left !important;
	}


	/* ==================
	   BOUTONS
	   ================== */
	
	.wp-block-button {
		width: 100% !important;
		max-width: 100% !important;
	}
	
	.wp-block-button__link {
		width: 100% !important;
		max-width: 100% !important;
		display: block !important;
		text-align: center !important;
		box-sizing: border-box !important;
		word-break: normal !important;
		hyphens: none !important;
		-webkit-hyphens: none !important;
		white-space: normal !important;
	}
	
	.wp-block-buttons {
		width: 100% !important;
		display: block !important;
	}
	
	.wp-block-buttons .wp-block-button {
		margin-bottom: 0.75rem !important;
	}


	/* ==================
	   PRÉVENTION DÉBORDEMENT GLOBAL
	   ================== */

	* {
		max-width: 100vw !important;
	}
	
	.wp-site-blocks,
	.entry-content,
	.wp-block-group,
	main,
	article,
	section {
		overflow-x: hidden !important;
	}

} /* Fin de la media query mobile */


/* ========================================
   RESPONSIVE TABLETTE PORTRAIT (768px - 1024px vertical)
   CORRECTION HEADER : 2 lignes centrées comme mobile
   ======================================== */

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {

	/* Header - Structure en colonnes empilées */
	header,
	header.wp-block-template-part,
	.wp-block-template-part > header {
		padding-left: 2rem;
		padding-right: 2rem;
	}

	header .wp-block-columns {
		display: flex;
		flex-direction: column;
		gap: 0.75rem;
	}

	/* LIGNE 1 : Logo centré + Icônes sociales à droite */
	header .wp-block-column:first-child,
	header .wp-block-column:last-child {
		display: flex;
		align-items: center;
	}

	/* Container ligne 1 */
	header .wp-block-column:first-child {
		order: 1;
		position: relative;
		justify-content: center;
		width: 100%;
	}

	/* Logo centré */
	header .wp-block-site-logo,
	header .wp-block-site-title,
	header .custom-logo-link {
		margin: 0 auto;
	}

	header .custom-logo-link img,
	header .wp-block-site-logo img {
		max-height: 50px;
		width: auto;
	}

	/* Icônes sociales - Position absolue à droite */
	header .wp-block-column:last-child {
		order: 1;
		position: absolute;
		right: 2rem;
		top: 50%;
		transform: translateY(-50%);
		width: auto;
	}

	header .wp-block-social-links {
		display: flex;
		flex-direction: row;
		gap: 0.6rem;
	}

	header .wp-social-link {
		width: 34px;
		height: 34px;
	}

	/* LIGNE 2 : Navigation centrée */
	header .wp-block-column:nth-child(2) {
		order: 2;
		display: flex;
		justify-content: center;
		width: 100%;
		margin-top: 0.5rem;
	}

	header .wp-block-navigation {
		display: flex;
		justify-content: center;
	}

	header .wp-block-navigation__container {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0;
	}

	header .wp-block-navigation-item {
		display: inline-flex;
		margin: 0;
		padding: 0 0.5rem;
	}

	header .wp-block-navigation-item a {
		font-size: 0.95rem;
		padding: 0.4rem 0.6rem;
		white-space: nowrap;
	}

	/* S'assurer que tout est visible */
	header .wp-block-site-logo,
	header .wp-block-site-title,
	header .custom-logo-link,
	header .wp-block-navigation,
	header .wp-block-social-links {
		display: flex !important;
	}

}


/* ========================================
   RESPONSIVE TABLETTE (782px - 1024px)
   ======================================== */

@media screen and (min-width: 782px) and (max-width: 1024px) {

	.wp-block-columns {
		gap: 2rem;
	}

	.wp-block-group.has-background {
		padding: 2rem;
	}

}


/* ========================================
   PRINT (impression)
   ======================================== */

@media print {

	header .wp-block-social-links,
	.wp-block-navigation,
	.wp-block-group.has-background,
	footer .wp-block-social-links {
		display: none;
	}

	body {
		font-size: 12pt;
		line-height: 1.5;
	}

	img {
		max-width: 100%;
		page-break-inside: avoid;
	}

}