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

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

.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;
}
}
.margin-xxl{
    padding-left: 350px !important;
    padding-right: 350px !important;
}