/**
 * Styles d'intégration des blocs Gutenberg pour le thème hybride etbdaniel
 * Respecte strictement la charte DESIGN.md et les styles identitaires du thème (citations, listes, etc.)
 */

.page-column-blocks {
	width: 100% !important;
	max-width: 100% !important;
	padding-left: 0;
	padding-right: 0;
}

.page-column-blocks .entry-content {
	width: 100%;
	padding-left: var(--wp--preset--spacing--small, 1rem);
	padding-right: var(--wp--preset--spacing--small, 1rem);
}

/* Alignement grande largeur (alignwide) */
.page-column-blocks .entry-content > .alignwide {
	max-width: var(--wp--style--global--wide-size, 93.75rem);
	margin-left: auto;
	margin-right: auto;
}

/* Alignement pleine largeur (alignfull) */
.page-column-blocks .entry-content > .alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}

/* Typographie générale & Lisibilité optimale du design system */
.mainsite .wysiwyg-content,
.page-column-content .wysiwyg-content,
.postdetail-content .wysiwyg-content,
.infobloc-desc .wysiwyg-content,
.entry-content,
.editor-styles-wrapper {
	font-size: var(--wp--preset--font-size--medium, 1.1875rem);
}

.mainsite .wysiwyg-content p,
.mainsite .wysiwyg-content li,
.page-column-content .wysiwyg-content p,
.page-column-content .wysiwyg-content li,
.postdetail-content .wysiwyg-content p,
.postdetail-content .wysiwyg-content li,
.infobloc-desc .wysiwyg-content p,
.infobloc-desc .wysiwyg-content li,
.entry-content p,
.entry-content li,
.editor-styles-wrapper p,
.editor-styles-wrapper li {
	font-family: var(--wp--preset--font-family--dm-sans, "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
	color: var(--wp--preset--color--contrast, #464646);
	line-height: 1.5;
}

.entry-content p:not([class*="-font-size"]),
.editor-styles-wrapper p:not([class*="-font-size"]) {
	font-size: var(--wp--preset--font-size--medium, 1.1875rem);
}

.mainsite .wysiwyg-content p.lead,
.page-column-content .wysiwyg-content p.lead,
.entry-content p.lead,
.editor-styles-wrapper p.lead {
	font-size: var(--wp--preset--font-size--large, 1.4375rem);
	line-height: 1.42;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3 {
	font-family: var(--wp--custom--font-family--heading, var(--wp--preset--font-family--playfair-display, "Playfair Display", Georgia, Cambria, "Times New Roman", Times, serif));
	font-weight: 600;
	color: var(--wp--preset--color--primary, #28394F);
}

.entry-content h4,
.entry-content h5,
.entry-content h6,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6 {
	font-family: var(--wp--custom--font-family--body, var(--wp--preset--font-family--dm-sans, "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif));
	font-weight: 700;
	color: var(--wp--preset--color--primary, #28394F);
}

.entry-content h1,
.editor-styles-wrapper h1 {
	text-transform: none;
}

/* Citations & Témoignages fidèles à l'identité du thème (guillemets géants Skelpress) */
.entry-content blockquote,
.entry-content .wp-block-quote,
.editor-styles-wrapper .wp-block-quote {
	display: block;
	width: 100%;
	max-width: 44rem;
	position: relative;
	color: var(--wp--preset--color--contrast, #464646);
	font-family: var(--wp--preset--font-family--dm-sans, "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
	font-style: italic;
	font-size: var(--wp--preset--font-size--large, 1.4375rem);
	line-height: 1.45;
	padding: 2.25rem 3rem;
	margin: 2.5rem auto;
	font-weight: 400;
	border: none !important;
	text-align: center;
	background: transparent;
}

.entry-content blockquote p,
.entry-content .wp-block-quote p,
.editor-styles-wrapper .wp-block-quote p {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	font-style: inherit;
	position: relative;
	z-index: 2;
	margin-bottom: 0.75rem;
	color: var(--wp--preset--color--contrast, #464646);
}

.entry-content blockquote cite,
.entry-content blockquote footer,
.entry-content .wp-block-quote cite,
.editor-styles-wrapper .wp-block-quote cite {
	display: block;
	margin-top: 1.25rem;
	font-family: var(--wp--preset--font-family--dm-sans, "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif) !important;
	font-style: normal;
	font-size: var(--wp--preset--font-size--small, 1rem);
	font-weight: 500;
	color: var(--wp--preset--color--contrast, #464646);
}

.entry-content blockquote cite:before,
.entry-content .wp-block-quote cite:before,
.editor-styles-wrapper .wp-block-quote cite:before {
	content: none !important;
	display: none !important;
}

.entry-content blockquote cite strong,
.entry-content .wp-block-quote cite strong,
.editor-styles-wrapper .wp-block-quote cite strong {
	font-family: var(--wp--preset--font-family--dm-sans, "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif) !important;
	color: var(--wp--preset--color--primary, #28394F);
	font-weight: 600;
}

.entry-content blockquote:before,
.entry-content blockquote:after,
.entry-content .wp-block-quote:before,
.entry-content .wp-block-quote:after,
.editor-styles-wrapper .wp-block-quote:before,
.editor-styles-wrapper .wp-block-quote:after {
	display: block;
	position: absolute;
	z-index: 1;
	font-size: 6.875rem;
	color: rgba(40, 57, 79, 0.15);
	line-height: 1;
	width: 2.8125rem;
	height: 2.8125rem;
	font-family: Georgia, serif;
	pointer-events: none;
}

.entry-content blockquote:before,
.entry-content .wp-block-quote:before,
.editor-styles-wrapper .wp-block-quote:before {
	content: '“';
	top: -0.3125rem;
	left: -0.5rem;
}

.entry-content blockquote:after,
.entry-content .wp-block-quote:after,
.editor-styles-wrapper .wp-block-quote:after {
	content: '”';
	right: 0.9375rem;
	bottom: 0.625rem;
}

/* Boutons Gutenberg */
.wp-block-buttons {
	gap: var(--wp--preset--spacing--small, 1rem);
}

.wp-block-button__link {
	font-family: var(--wp--preset--font-family--dm-sans, "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
	font-weight: 600;
	border-radius: 0.25rem;
	padding: 0.75rem 1.5rem;
	transition: all 0.24s ease-in-out;
	text-decoration: none !important;
	display: inline-block;
	background-color: var(--wp--preset--color--primary, #28394F);
	color: #ffffff !important;
	border: 1px solid var(--wp--preset--color--primary, #28394F);
}

.wp-block-button__link:hover,
.wp-block-button__link:focus {
	background-color: var(--wp--preset--color--secondary, #7B1631);
	border-color: var(--wp--preset--color--secondary, #7B1631);
	color: #ffffff !important;
}

.wp-block-button.is-style-outline .wp-block-button__link {
	border: 1px solid var(--wp--preset--color--primary, #28394F) !important;
	color: var(--wp--preset--color--primary, #28394F) !important;
	background-color: transparent !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus {
	border-color: var(--wp--preset--color--secondary, #7B1631) !important;
	background-color: var(--wp--preset--color--secondary, #7B1631) !important;
	color: #ffffff !important;
}

/* Listes */
.entry-content ul.wp-block-list {
	padding-left: 1.5rem;
	margin-bottom: var(--wp--preset--spacing--medium, 1.5rem);
}

.entry-content ul.wp-block-list li {
	margin-bottom: 0.5rem;
	line-height: 1.5;
}

.entry-content ul.wp-block-list.is-style-no-bullet,
.entry-content ul.wp-block-list.no-bullet,
.editor-styles-wrapper ul.wp-block-list.is-style-no-bullet,
.editor-styles-wrapper ul.wp-block-list.no-bullet {
	list-style: none !important;
	padding-left: 0 !important;
}

.entry-content ul.wp-block-list.is-style-no-bullet li,
.entry-content ul.wp-block-list.no-bullet li,
.editor-styles-wrapper ul.wp-block-list.is-style-no-bullet li,
.editor-styles-wrapper ul.wp-block-list.no-bullet li {
	list-style: none !important;
	padding-left: 0 !important;
	margin-bottom: 0.75rem;
}

.entry-content ul.wp-block-list.is-style-no-bullet li:before,
.entry-content ul.wp-block-list.no-bullet li:before,
.editor-styles-wrapper ul.wp-block-list.is-style-no-bullet li:before,
.editor-styles-wrapper ul.wp-block-list.no-bullet li:before {
	display: none !important;
	content: none !important;
}

/* Images */
.entry-content figure.wp-block-image img {
	height: auto;
	max-width: 100%;
	display: block;
	margin: 0 auto;
}

/* Liens textuels éditoriaux & Accessibilité WCAG 2.1 AAA */
.entry-content a:not(.wp-block-button__link):not(.wp-element-button):not(.button):not(.btn):not(.tag):not(.badge),
.wysiwyg-content a:not(.wp-block-button__link):not(.wp-element-button):not(.button):not(.btn):not(.tag):not(.badge),
.editor-styles-wrapper .block-editor-block-list__layout a:not(.wp-block-button__link):not(.wp-element-button):not(.button):not(.btn):not(.tag):not(.badge) {
	color: var(--wp--preset--color--primary, #28394F);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-color: rgba(40, 57, 79, 0.45);
	text-decoration-thickness: max(1.5px, 0.08em);
	text-underline-offset: 3px;
	transition: color 0.18s ease-in-out, text-decoration-color 0.18s ease-in-out, text-decoration-thickness 0.18s ease-in-out;
}

.entry-content a:not(.wp-block-button__link):not(.wp-element-button):not(.button):not(.btn):not(.tag):not(.badge):hover,
.entry-content a:not(.wp-block-button__link):not(.wp-element-button):not(.button):not(.btn):not(.tag):not(.badge):active,
.wysiwyg-content a:not(.wp-block-button__link):not(.wp-element-button):not(.button):not(.btn):not(.tag):not(.badge):hover,
.wysiwyg-content a:not(.wp-block-button__link):not(.wp-element-button):not(.button):not(.btn):not(.tag):not(.badge):active,
.editor-styles-wrapper .block-editor-block-list__layout a:not(.wp-block-button__link):not(.wp-element-button):not(.button):not(.btn):not(.tag):not(.badge):hover,
.editor-styles-wrapper .block-editor-block-list__layout a:not(.wp-block-button__link):not(.wp-element-button):not(.button):not(.btn):not(.tag):not(.badge):active {
	color: var(--wp--preset--color--secondary, #7B1631);
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--secondary, #7B1631);
	text-decoration-thickness: 2px;
}

.entry-content a:not(.wp-block-button__link):not(.wp-element-button):not(.button):not(.btn):not(.tag):not(.badge):focus-visible,
.wysiwyg-content a:not(.wp-block-button__link):not(.wp-element-button):not(.button):not(.btn):not(.tag):not(.badge):focus-visible,
.editor-styles-wrapper .block-editor-block-list__layout a:not(.wp-block-button__link):not(.wp-element-button):not(.button):not(.btn):not(.tag):not(.badge):focus-visible {
	outline: 2px solid var(--wp--preset--color--primary, #28394F);
	outline-offset: 3px;
	border-radius: 2px;
	text-decoration-color: transparent;
}

/* Préservation stricte de la typographie compacte du footer */
.footersite,
.footersite p,
.footersite li,
.footersite a,
.footersite span,
.footersite address,
.footersite .wysiwyg-content,
.footersite .wysiwyg-content p,
.footersite .wysiwyg-content li {
	font-size: 0.875rem !important; /* 14px */
	line-height: 1.45 !important;
}

.footersite-menu ul li a {
	font-size: 0.875rem !important;
	line-height: 1.4 !important;
}

.footersite-seotext,
.footersite-seotext p,
.footersite-seotext .wysiwyg-content,
.footersite-seotext .wysiwyg-content p {
	font-size: 0.8125rem !important; /* 13px */
	line-height: 1.4 !important;
}

.footersite-author,
.footersite-author-company,
.footersite-author a {
	font-size: 0.75rem !important; /* 12px */
	line-height: 1.4 !important;
}

/* Suppression formelle du soulignement sur la section Soutien et les cartes d'action */
.section-support-link,
.section-support-link:hover,
.section-support-link:active,
.section-support-link:focus,
.section-support-link .section-support-link-title,
.section-support-link .section-support-link-ico,
.section-btninfo-link,
.section-btninfo-link:hover,
.section-btninfo-link:active,
.section-btninfo-link:focus,
.section-btninfo-link .section-btninfo-link-title,
.section-btninfo-link .section-btninfo-link-desc,
.section-btninfo-link .section-btninfo-link-txt {
	text-decoration: none !important;
}

/* Contact Form 7 — Design System Unifié pour Gutenberg */
.wpcf7 form input:not([type=submit]):not([type=file]):not([type=checkbox]):not([type=radio]),
.wpcf7 form select,
.wpcf7 form textarea {
	box-shadow: none !important;
	background-color: #ffffff !important;
	color: #464646 !important;
	border: 1.5px solid #C4CCD3 !important;
	border-radius: 0.25rem !important;
	font-family: var(--wp--preset--font-family--dm-sans, "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif) !important;
	font-size: 0.9375rem !important;
	line-height: 1.5 !important;
	padding: 0.75rem 1rem !important;
	transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out !important;
	width: 100% !important;
}

.wpcf7 form input:not([type=submit]):not([type=file]):not([type=checkbox]):not([type=radio]) {
	height: 3rem !important;
}

.wpcf7 form textarea {
	min-height: 8.75rem !important;
	resize: vertical !important;
}

.wpcf7 form input:not([type=submit]):focus,
.wpcf7 form select:focus,
.wpcf7 form textarea:focus {
	border-color: #28394F !important;
	box-shadow: 0 0 0 3px rgba(40, 57, 79, 0.12) !important;
	outline: none !important;
}

.wpcf7 input.wpcf7-not-valid,
.wpcf7 textarea.wpcf7-not-valid,
.wpcf7 [aria-invalid="true"] {
	border-color: #7B1631 !important;
	background-color: rgba(123, 22, 49, 0.025) !important;
}

.wpcf7-not-valid-tip {
	display: block !important;
	color: #7B1631 !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	font-style: normal !important;
	margin-top: 0.375rem !important;
	margin-bottom: 0.875rem !important;
}

.wpcf7 .wpcf7-response-output {
	display: none;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
	text-align: center !important;
	border-radius: 0.25rem !important;
	font-weight: 600 !important;
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output,
.wpcf7 form[data-status="init"] .wpcf7-response-output,
.wpcf7 form[data-status="resetting"] .wpcf7-response-output,
.wpcf7 form[data-status="submitting"] .wpcf7-response-output,
.wpcf7 .wpcf7-response-output:empty {
	display: none !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.wpcf7 .wpcf7-response-output.wpcf7-validation-errors,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form[data-status="invalid"] .wpcf7-response-output {
	display: block !important;
	margin: 1.5rem 0 0.75rem !important;
	padding: 0.875rem 1.375rem !important;
	border: 1.5px solid #7B1631 !important;
	background-color: rgba(123, 22, 49, 0.05) !important;
	color: #7B1631 !important;
}

.wpcf7 .wpcf7-response-output.wpcf7-mail-sent-ok,
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form[data-status="sent"] .wpcf7-response-output {
	display: block !important;
	margin: 1.5rem 0 0.75rem !important;
	padding: 0.875rem 1.375rem !important;
	border: 1.5px solid #2E7D32 !important;
	background-color: rgba(46, 125, 50, 0.08) !important;
	color: #1B5E20 !important;
}

.wpcf7 .wpcf7-submit,
.wpcf7 input[type=submit] {
	background-color: #28394F !important;
	color: #ffffff !important;
	border: 1.5px solid #28394F !important;
	padding: 0.75rem 1.75rem !important;
	font-family: var(--wp--preset--font-family--dm-sans, "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif) !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	border-radius: 0.25rem !important;
	cursor: pointer !important;
	transition: all 0.2s ease-in-out !important;
}

.wpcf7 .wpcf7-submit:hover,
.wpcf7 input[type=submit]:hover,
.wpcf7 .wpcf7-submit:focus,
.wpcf7 input[type=submit]:focus {
	background-color: #7B1631 !important;
	border-color: #7B1631 !important;
	color: #ffffff !important;
}

/* Intégration aérée de reCAPTCHA et du pied de formulaire */
.formcontact .form-row-footer,
.formrecru .form-row-footer,
.wpcf7-form .row:has(.g-recaptcha),
.wpcf7-form .row:has(.wpcf7-recaptcha) {
	margin-top: 1.75rem !important;
	margin-bottom: 1rem !important;
}

.form-col-captcha,
.formrecru-captcha,
.wpcf7-form-control-wrap[data-name="recaptcha"] {
	min-height: 78px;
	display: flex;
	align-items: center;
}

@media (max-width: 639px) {
	.form-col-captcha,
	.formrecru-captcha,
	.wpcf7-form-control-wrap[data-name="recaptcha"] {
		justify-content: center !important;
		margin-bottom: 1.375rem !important;
		width: 100% !important;
	}

	.formcontact-col-submit,
	.formrecru-col-submit {
		justify-content: center !important;
		text-align: center !important;
		margin-top: 0.5rem !important;
		margin-bottom: 0.875rem !important;
		width: 100% !important;
	}
}

.g-recaptcha,
.wpcf7-recaptcha {
	display: inline-block;
	max-width: 100%;
	line-height: 1;
	margin: 0.375rem 0;
}

.g-recaptcha iframe,
.wpcf7-recaptcha iframe {
	display: block;
	border-radius: 0.25rem;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

@media (max-width: 350px) {
	.g-recaptcha,
	.wpcf7-recaptcha {
		transform: scale(0.9);
		transform-origin: center top;
	}
}



