/* Retire le style lien — classe additionnelle : sans-lien */
.sans-lien,
.sans-lien a,
a.sans-lien {
	color: inherit !important;
	text-decoration: none !important;
}

.sans-lien a:hover,
.sans-lien a:focus,
.sans-lien a:active,
a.sans-lien:hover,
a.sans-lien:focus,
a.sans-lien:active {
	color: inherit !important;
	text-decoration: none !important;
}

/* Typo menu : 20px fixe (desktop + mobile) */
.has-menu-font-size,
.wp-block-navigation .wp-block-navigation-item__label,
.wp-block-navigation .wp-block-navigation-item__content,
.sphera-burger,
.sphera-top-nav__link {
	font-size: var(--wp--preset--font-size--menu, 20px) !important;
}

@media (max-width: 768px) {
/* Texte corps : 18px fixe sur mobile */
body.wp-site-blocks {
    font-size: 18px;
}

.has-corps-font-size,
.wp-block-paragraph:not([class*="-font-size"]),
.wp-block-list:not([class*="-font-size"]) {
    font-size: 18px;
}

/* Texte bouton : 17px fixe sur mobile */
.has-button-font-size,
.wp-element-button,
.wp-block-button__link {
    font-size: 17px;
}

/* H1 — spec mobile Figma (36px / Massilia 900 / line-height 100%) */
h1,
h1.wp-block-heading,
h1.wp-block-post-title,
.wp-block-cover .wp-block-cover__inner-container h1.wp-block-post-title,
.wp-block-cover .wp-block-cover__inner-container.is-layout-flow h1.wp-block-post-title,
.sphera-card--overlay h1.wp-block-post-title {
    font-family: var(--wp--preset--font-family--massilia), massilia-variable, system-ui, sans-serif !important;
    font-size: 36px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* H3 — 24px fixe sur mobile */
h3,
h3.wp-block-heading,
.has-h-3-font-size,
.has-h3-font-size {
    font-size: 24px !important;
}

/* H4 — 20px fixe sur mobile */
h4,
h4.wp-block-heading,
.has-h-4-font-size,
.has-h4-font-size {
    font-size: 20px !important;
}

/* Footer — conserve la typo colonne (note) */
.sphera-footer__col h3 {
    font-size: var(--wp--preset--font-size--note) !important;
}

/* Boutons : pleine largeur sur mobile */
.wp-block-buttons {
    width: 100%;
}

.wp-block-buttons > .wp-block-button {
    width: 100%;
}

.wp-block-button__link,
.wp-element-button,
.bg-share-btn,
.sphera-hero__cta {
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Bloc Partager — pleine largeur sur mobile */
.wp-block-blocks-gutenberg-share-socials,
.wp-block-blocks-gutenberg-share-socials .bg-share-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    align-self: stretch !important;
    box-sizing: border-box;
}

.btn-network:not(.wp-block-accordion-heading),
.btn-network-dropdown:not(.wp-block-accordion-heading),
.btn-network-dropdown__trigger {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

/* Header : padding vertical 36px (annule spacing--0 inline Gutenberg) */
.sphera-header {
    padding-top: var(--wp--preset--spacing--moyen, 36px) !important;
    padding-bottom: var(--wp--preset--spacing--moyen, 36px) !important;
}

.margin-mobile-bottom,
.margin-mobile-bottom-0 {
    margin-bottom: 0px !important;
}

.margin-mobile-top {
    margin-top: 0px !important;
}

.margin-mobile-start {
    margin-left: 0px !important;
}

.margin-mobile-end {
    margin-right: 0px !important;
}

.margin-mobile-top-24 {
    margin-top: 24px !important;
}

.margin-mobile-top-18 {
    margin-top: 18px !important;
}

.margin-mobile-top-12 {
    margin-top: 12px !important;
}

.margin-mobile-bottom-24 {
    margin-bottom: 24px !important;
}

.margin-mobile-bottom-18 {
    margin-bottom: 18px !important;
}

.margin-mobile-bottom-12 {
    margin-bottom: 12px !important;
}

.margin-mobile-bottom-6 {
    margin-bottom: 6px !important;
}

.padding-mobile-top-0 {
    padding-top: 0px !important;
}

.padding-mobile-top-24 {
    padding-top: 24px !important;
}

.padding-mobile-top-12 {
    padding-top: 12px !important;
}

.padding-mobile-bottom-0 {
    padding-bottom: 0px !important;
}

.padding-mobile-bottom-24 {
    padding-bottom: 24px !important;
}

.padding-mobile-bottom-12 {
    padding-bottom: 12px !important;
}

.padding-mobile-left-0 {
    padding-left: 0px !important;
}

.padding-mobile-left-24 {
    padding-left: 24px !important;
}

.padding-mobile-left-12 {
    padding-left: 12px !important;
}

.padding-mobile-left-20 {
    padding-left: 20px !important;
}

.padding-mobile-right-20 {
    padding-right: 20px !important;
}

.padding-mobile-right-12 {
    padding-right: 12px !important;
}

.padding-mobile-right-0 {
    padding-right: 0px !important;
}
.no-margin-mobile {
    margin: 0 !important;
    padding: 0 !important;
}

.margin-mobile {
    margin-left: 0px !important;
    margin-right: 0px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Largeur 100% sur mobile — classe additionnelle sur le bloc souhaité */
.full-width-mobile {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    align-self: stretch !important;
    box-sizing: border-box;
}

/* Variante : bouton / lien pleine largeur, contenu centré */
.full-width-mobile.is-button,
button.full-width-mobile,
a.full-width-mobile,
.bg-share-btn.full-width-mobile,
.wp-block-button__link.full-width-mobile,
.wp-element-button.full-width-mobile {
    display: flex !important;
    justify-content: center;
    align-items: center;
}

.padding-top-20 {
    padding-top: 20px !important;
}

.padding-bot-20-mobile {
    padding-bottom: 20px !important;
}

/* Flex : enfants à gauche, dernier élément à droite (ex. menu | logo) */
.split-mobile {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.55rem;
    width: 100%;
    min-width: 0;
}

.split-mobile > * {
    margin-block: 0;
}

.split-mobile > .split-mobile-end,
.split-mobile > *:last-child {
    margin-left: auto !important;
}

/* En-tête section : texte à gauche multi-lignes, « Voir tout » reste sur une ligne */
.wp-block-group.is-layout-flex:has(> .voir-tout) {
    flex-wrap: nowrap !important;
    align-items: flex-end;
    gap: var(--wp--preset--spacing--petit, 12px);
}

.wp-block-group.is-layout-flex:has(> .voir-tout) > .wp-block-paragraph:first-child {
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
}

.wp-block-group.is-layout-flex:has(> .voir-tout) > .voir-tout {
    flex: 0 0 auto;
    flex-shrink: 0;
}

.wp-block-group.voir-tout > .wp-block-paragraph {
    white-space: nowrap;
}

/* Recherche : bouton sous le champ sur mobile */
.sphera-search.wp-block-search {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: var(--wp--preset--spacing--petit, 12px);
    width: 100%;
}

.sphera-search .wp-block-search__inside-wrapper {
    display: contents !important;
}

.sphera-search .wp-block-search__input {
    display: block;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    border: 1px solid var(--wp--preset--color--gris-moyen) !important;
    border-radius: 6px;
    background: #fff;
}

.sphera-search .wp-block-search__button {
    display: flex !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
    margin: 0 !important;
}

/* Archive — padding vertical 24px sur mobile */
.sphera-archive-row {
    padding: 24px 0 !important;
}
}

/* Boucles de requête — grille responsive (3+ colonnes desktop) */
@media (max-width: 1465px) {
	.wp-block-post-template.is-layout-grid.columns-3,
	.wp-block-post-template.is-layout-grid.columns-4,
	.wp-block-post-template.is-layout-grid.columns-5,
	.wp-block-post-template.is-layout-grid.columns-6 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	.wp-block-post-template.is-layout-grid.columns-2,
	.wp-block-post-template.is-layout-grid.columns-3,
	.wp-block-post-template.is-layout-grid.columns-4,
	.wp-block-post-template.is-layout-grid.columns-5,
	.wp-block-post-template.is-layout-grid.columns-6 {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	/* Contenu article — URL longues / embeds : pas de scroll horizontal */
	main .is-layout-constrained > *,
	main .wp-block-group-is-layout-constrained > * {
		min-width: 0;
		max-width: 100%;
	}

	.wp-block-post-content,
	.entry-content {
		overflow-x: clip;
	}
}

.margin-xxl{
    padding-left: 350px !important;
    padding-right: 350px !important;
}