/* CSS RESPONSIVE HIDA MEDIA - V14.1
   Theme: Tenku | Production: hida-media.com
   Derniere mise a jour: 19/03/2026
*/

/* ========================================
   CSS PRODUCTION DESKTOP (conserve intact)
   ======================================== */

.wp-block-post-template .wp-block-post-title a {
	line-height: 1.3;
}

.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 erreur en francais */
.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.";
}

/* ========================================
   REGLES GLOBALES (toutes tailles)
   ======================================== */

img {
	max-width: 100%;
	height: auto;
}

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

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

	/* --- VARIABLES SPACING MOBILE ---
	   Redefini les custom properties WP pour reduire les
	   grands espaces en mobile. Les styles inline qui utilisent
	   var(--wp--preset--spacing--70) recevront cette valeur. */
	main {
		--wp--preset--spacing--70: 0.75rem;
		--wp--preset--spacing--50: 1rem;
	}

	/* --- HOMEPAGE : gap image-titre article mis en avant --- */
	body.home main .wp-block-column .wp-block-group.wp-block-group-is-layout-constrained {
		--wp--style--block-gap: 0 !important;
	}

	body.home main .wp-block-column .wp-block-group.wp-block-group-is-layout-constrained > * + * {
		margin-block-start: 0 !important;
		margin-top: 0 !important;
	}

	body.home main .wp-block-column .wp-block-group.wp-block-group-is-layout-constrained > figure + h3 {
		margin-block-start: 0 !important;
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	body.home main .wp-block-column .wp-block-group.wp-block-group-is-layout-constrained > figure + h3 a {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	/* Conteneur image+titre homepage : supprimer padding vertical uniquement
	   Le padding horizontal est conserve pour eviter le texte coupe */
	body.home .wp-block-column > .wp-block-group.has-global-padding.is-layout-constrained:not(.has-background) {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

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

	/* --- COLONNES - PLEINE LARGEUR FORCEE --- */
	.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 MOBILE --- */
	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;
		margin-bottom: 0 !important;
		box-sizing: border-box !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Header wrapper fond noir : 1px padding bas pour border-bottom du nav */
	header .wp-block-group.has-contrast-background-color {
		padding-bottom: 1px !important;
	}

	/* Colonnes header en flex row */
	header .wp-block-columns {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		flex-wrap: nowrap !important;
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
		gap: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Colonnes header : flex, centrees verticalement */
	header .wp-block-column {
		flex: 0 0 auto !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
	}

	/* Colonne logo : espace central */
	header .wp-block-column:first-child {
		flex: 1 1 auto !important;
		justify-content: center !important;
	}

	/* --- HEADER LOGO 196px + rognage whitespace --- */
	header .custom-logo-link img,
	header figure.wp-block-image img {
		width: 196px !important;
		max-width: 196px !important;
		height: auto !important;
		aspect-ratio: unset !important;
		object-fit: unset !important;
		object-position: unset !important;
		display: block !important;
		margin: 0 auto !important;
	}

	header .custom-logo-link {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		overflow: hidden !important;
		height: 50px !important;
	}

	header .custom-logo-link img {
		display: block !important;
		flex-shrink: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	/* --- HEADER ICONES SOCIALES --- */
	header .wp-block-social-links {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: center !important;
		flex-wrap: nowrap !important;
		gap: 0.8rem !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* --- HEADER NAV : pas de marge basse --- */
	header .wp-block-group.alignfull.is-layout-flex {
		margin-bottom: 0 !important;
	}

	/* --- GAP HEADER-MAIN --- */
	.wp-site-blocks > main,
	.wp-site-blocks > .wp-block-template-part + main,
	.wp-site-blocks > header + main,
	.wp-site-blocks > header.wp-block-template-part + main {
		margin-top: 0 !important;
	}

	main.wp-block-group {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}

	/* --- FOOTER CENTRE --- */
	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: 0 !important;
		text-align: center !important;
	}

	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 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 .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 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 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 .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:not(.entry-content):not(.wp-block-post-content) {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Contenu d'article : garder le padding horizontal et contenir le debordement */
	.entry-content,
	.wp-block-post-content,
	.entry-content.alignfull,
	.wp-block-post-content.alignfull {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		box-sizing: border-box !important;
		max-width: 100% !important;
		width: 100% !important;
		overflow-wrap: break-word !important;
		overflow-x: hidden !important;
	}

	/* Images dans articles : respecter la largeur du conteneur */
	.entry-content img,
	.wp-block-post-content img {
		max-width: 100% !important;
		width: 100% !important;
		height: auto !important;
	}

	/* Images avec width inline (ex: width:650px) : forcer 100% */
	.entry-content img[style*="width"],
	.wp-block-post-content img[style*="width"] {
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Figures redimensionnees dans articles */
	.entry-content .wp-block-image.is-resized,
	.wp-block-post-content .wp-block-image.is-resized {
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Embeds/iframes dans articles */
	.entry-content .wp-block-embed,
	.wp-block-post-content .wp-block-embed {
		max-width: 100% !important;
	}

	.entry-content iframe,
	.wp-block-post-content iframe {
		max-width: 100% !important;
		width: 100% !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 - REGLES DE BASE --- */
	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;
	}

	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;
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: clip !important;
		line-height: 1.35 !important;
	}

	/* --- TITRES CONTENU - ALIGNES A 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;
	}

	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;
	}

	.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 TITRES --- */
	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 {
		word-break: normal !important;
		hyphens: none !important;
		-webkit-hyphens: none !important;
	}

	/* --- FOOTER TITRES CENTRES --- */
	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 SPECIALES CENTRES --- */
	.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 GENERALES --- */
	.wp-block-image,
	figure {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-bottom: 0 !important;
		overflow: hidden !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 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 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;
	}

	/* --- LEGENDES --- */
	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;
	}

	.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;
		box-sizing: border-box !important;
	}

	/* Titres et contenus post : garantir qu'ils ne debordent pas */
	.wp-block-post-title,
	.wp-block-post-title a,
	h3.wp-block-heading,
	h3.wp-block-heading a {
		max-width: 100% !important;
		overflow-wrap: break-word !important;
		word-wrap: break-word !important;
	}

	/* Query loops et post templates : padding lateral */
	.wp-block-query,
	.wp-block-post-template {
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}

	.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;
	}

	.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 GENERAL 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;
	}

	a[href*="://"],
	a[href^="mailto:"] {
		word-break: break-all !important;
	}

	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;
	}

	/* --- FORMULAIRE RECHERCHE OVERLAY MOBILE --- */
	.wp-block-navigation__responsive-container .wp-block-search,
	.wp-block-navigation__overlay-container .wp-block-search {
		width: 100% !important;
		max-width: 100% !important;
	}

	.wp-block-navigation__responsive-container .wp-block-search__inside-wrapper,
	.wp-block-navigation__overlay-container .wp-block-search__inside-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		display: flex !important;
		flex-direction: row !important;
		align-items: stretch !important;
		flex-wrap: nowrap !important;
		box-sizing: border-box !important;
	}

	.wp-block-navigation__responsive-container .wp-block-search__input,
	.wp-block-navigation__overlay-container .wp-block-search__input {
		flex: 1 1 auto !important;
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		font-size: 1rem !important;
		padding: 0.5rem 0.75rem !important;
	}

	.wp-block-navigation__responsive-container .wp-block-search__button,
	.wp-block-navigation__overlay-container .wp-block-search__button {
		flex: 0 0 auto !important;
		width: auto !important;
		max-width: none !important;
		padding: 0.5rem 0.75rem !important;
		margin-left: 0 !important;
		box-sizing: border-box !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	/* --- CATEGORIES --- */
	.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;
	}

	/* --- PREVENTION DEBORDEMENT GLOBAL --- */
	* {
		max-width: 100vw !important;
	}

	.wp-site-blocks,
	.entry-content,
	main,
	article,
	section {
		overflow-x: hidden !important;
	}

	/* --- SPACERS DANS NAV --- */
	.wp-block-navigation__responsive-container-content .wp-block-spacer {
		height: 0 !important;
		min-height: 0 !important;
	}

}

/* ========================================
   RESPONSIVE TABLETTE PORTRAIT (768-1024)
   ======================================== */

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

	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;
	}

	header .wp-block-column:first-child,
	header .wp-block-column:last-child {
		display: flex;
		align-items: center;
	}

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

	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;
	}

	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;
	}

	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 !important;
		width: 100%;
	}

	header .wp-block-navigation__container {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 0.1rem 0;
		width: auto;
	}

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

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

	/* Loupe recherche */
	header .wp-block-search {
		display: inline-flex !important;
		align-items: center;
		margin: 0 !important;
		padding: 0 !important;
		flex-shrink: 0;
		position: relative;
	}

	header .wp-block-search__button {
		padding: 0.25rem;
	}

	header .wp-block-search__button svg {
		width: 18px;
		height: 18px;
	}

	/* Champ de recherche ouvert : overlay absolu
	   Cible uniquement quand le champ est visible (pas searchfield-hidden) */
	header .wp-block-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper {
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		z-index: 100 !important;
		background: #fff !important;
		border: 1px solid #ccc !important;
		border-radius: 4px !important;
		box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
		min-width: 250px !important;
	}

	header .wp-block-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
		font-size: 0.85rem !important;
		padding: 0.5rem 0.75rem !important;
		width: 200px !important;
	}

	/* Bloc nav parent : tout centrer */
	header .wp-block-group.alignfull.is-layout-flex {
		justify-content: center !important;
		gap: 0 !important;
	}

	/* Nav : forcer centrage meme avec items-justified-left */
	header nav.wp-block-navigation,
	header nav.wp-block-navigation.items-justified-left,
	header nav.wp-block-navigation.is-content-justification-left {
		justify-content: center !important;
	}

	/* Conteneur responsive dans la nav : centrer */
	header .wp-block-navigation__responsive-container-content {
		display: flex !important;
		flex-wrap: wrap;
		justify-content: center !important;
		align-items: center !important;
		gap: 0 !important;
	}

	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 (782-1024)
   ======================================== */

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

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

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

}

/* ========================================
   PRINT
   ======================================== */

@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;
	}

}