/**
 * Theme Name: Swebetech
 * Template:   twentytwentyfour
 * Description: Ce thème est 100% sur-mesure. Il est donc entièrement compatible avec l'éditeur Gutenberg et la technologie Full Site Editing (FSE), technologie intégrée nativement à WordPress et permettant la construction de sites Internet sur-mesure, performants et qualitatifs.
 * Author: Swebetech
 * Author URI: https://swebetech.com
 */


/**
 * Custom fonts loading
 */

@font-face {
    font-family: 'Font Awesome 6 Free';
    font-style: normal;
    font-weight: 900;
    font-display: block;
    src: url("./fonts/fontawesome/fa-solid-900.woff2") format("woff2"), url("./fonts/fontawesome/fa-solid-900.ttf") format("truetype");
}


html {
    scroll-behavior: smooth;
    scroll-padding: 75px;
}

body,
.wp-site-blocks,
.entry-content,
.wp-block-post-content {
    color: var(--wp--preset--color--bleu-expertise);
}

/* Sticky sur le wrapper FSE : top négatif = hauteur de la barre supérieure
   mesurée par front.js → seule la barre de nav reste visible au scroll. */
header.wp-block-template-part {
    position: sticky !important;
    top: calc(-1 * var(--top-bar-height, 50px)) !important;
    z-index: 1000 !important;
    transition: top 0.3s ease;
}

/* Scroll vers le haut : la barre supérieure réapparaît */
header.wp-block-template-part.header-show-top-bar {
    top: 0 !important;
}

.is-position-sticky {
    position: sticky !important;
    top: 0;
    z-index: 999 !important;
}

/* Dans le header sticky, la nav bar n'a pas besoin d'être sticky elle-même */
header.wp-block-template-part .is-position-sticky {
    position: relative !important;
    top: auto !important;
    z-index: auto !important;
}

html>body {
    transition: 0.3s ease;
    scroll-padding: 75px;
}

.simple-popup--show {
    z-index: 99999;
}

:root :where(body) {
    --wp--style--root--padding-right: var(--wp--preset--spacing--20) !important;
    --wp--style--root--padding-left: var(--wp--preset--spacing--20) !important;
}

:where(.wp-site-blocks *:focus) {
    outline-width: inherit !important;
    outline-style: inherit !important;
}

.hide {
    display: none !important;
}

.no-scroll {
    overflow: hidden;
    height: 100%;
}

.horizontal-center {
    justify-content: center;
    margin-left: auto !important;
    margin-right: auto !important;
}

/**
 * Transitions ciblées pour de meilleures performances
 * Évite la transition globale sur tous les éléments (*)
 */
a,
button,
input,
select,
textarea,
.wp-block-button__link {
    transition: all 0.3s ease;
}

h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    text-decoration: none;
    color: var(--wp--preset--color--bleu-expertise);
    transition: 0.3s ease;
}

h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover {
    color: var(--wp--preset--color--bleu-partage);
    text-decoration: none;
}

/* Inline Blocks */
.wp-block-group.inline-block > * {
    display: inline;
    vertical-align: middle;
}
.wp-block-group.inline-block img {
    vertical-align: middle;
}

/* Width */
.max-width-825 {
    max-width: 825px;
}

.max-width-950 {
    max-width: 950px !important;
}

.min-width-100 {
    min-width: 100%;
}

/* Overflow */
.overflow-hidden {
    overflow: hidden;
}

/* Text Decoration */
.decoration-none,
.decoration-none a {
    text-decoration: none;
}

/* Text Align */
.text-align-center {
    text-align: center;
}

/* Z-Index */
.z-index-10 {
    z-index: 10 !important;
}

/* Border Radius */
.border-radius-100pct {
    border-radius: 100%;
}

/* Aspect Ratio */
.aspect-ratio-1-1 {
    aspect-ratio: 1 / 1!important;
}

/* Icônes Font Awesome */
.icon-container {
    display: inline-block;
}
.wp-block-font-awesome-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 0px !important;
    margin-left: 0px !important;
}

/* Traitement des SVGs */
.style-svg.fill-ffffff path {
    fill: #ffffff!important;
}
.style-svg.fill-f4f8ff path {
    fill: #f4f8ff!important;
}
.style-svg.fill-d3f9ff path {
    fill: #d3f9ff!important;
}
.style-svg.fill-beffff path {
    fill: #beffff!important;
}
.style-svg.fill-ebf3ff path {
    fill: #ebf3ff!important;
}
.style-svg.fill-e3e3ff path {
    fill: #e3e3ff!important;
}
/**
 * Gestion du Responsive
 */





/* =========================================
   FORMAT — Mise en avant (.text-featured)
   ========================================= */

.text-featured {
    font-family: 'Shelby', serif;
    background: linear-gradient(89.72deg, #3661AB 0.25%, #00B4D2 102.32%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: block;
    font-size: 250%;
    line-height: 0.65;
    /* padding-top  : le dégradé couvre les ascendantes qui sortent par le haut
       padding-bottom : le dégradé couvre le bas du G (et autres glyphes bas)
       margin-bottom  : valeur négative = tire la ligne suivante vers le haut
                        pour créer l'overlap visuel sans perdre la couleur */
    padding: 0.35em 0.15em 0.5em 0.15em;
    margin-bottom: -0.55em;
    overflow: visible;
    position: relative;
    z-index: -1;
}

/* Le parent crée un contexte d'empilement isolé pour contenir le z-index: -1
   (sans ça, le span passerait derrière le fond de page entier) */
h1 .text-featured {
    font-size: 150%;
}

h1:has(.text-featured),
h2:has(.text-featured),
h3:has(.text-featured),
h4:has(.text-featured),
h5:has(.text-featured),
h6:has(.text-featured),
p:has(.text-featured),
.wp-block-heading:has(.text-featured) {
    overflow: visible;
    background: transparent !important;
    isolation: isolate;
}


/* =========================================
   FORMAT — Dégradé Accent (.text-accent-gradient)
   ========================================= */

.text-accent-gradient {
    background: var(--gradient-accent);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-size: 130%;
}

.textAccentGradient {
    background: var(--gradient-accent);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}


/* =========================================
   FONT : SHELBY
   ========================================= */

@font-face {
    font-family: 'Shelby';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/Shelby/Shelby.woff2") format("woff2"),
         url("../fonts/Shelby/Shelby.woff") format("woff"),
         url("../fonts/Shelby/Shelby.ttf") format("truetype");
}

/* =========================================
   HEADER — .site-header
   ========================================= */

.site-header {
    background-color: var(--wp--preset--color--white);
}

/* La barre de nav (.is-position-sticky) reçoit l'ombre portée */
.site-header .is-position-sticky {
    box-shadow: var(--shadow-sm);
    transition: box-shadow 0.3s ease;
}
.site-header .is-position-sticky.is-scrolled {
    box-shadow: var(--shadow-md);
}

/* Logo */
.site-header .wp-block-site-logo img {
    display: block;
    width: auto;
    max-height: 50px;
}

.site-header .wp-block-navigation a {
    color: var(--wp--preset--color--bleu-expertise);
    text-decoration: none;
    font-size: var(--wp--preset--font-size--medium);
    position: relative;
    padding-bottom: 2px;
    transition: color 0.3s ease;
}

/* Soulignement animé au survol */
.site-header .wp-block-navigation a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--gradient-accent);
    border-radius: var(--radius-full);
    transition: width 0.3s ease;
}
.site-header .wp-block-navigation a:hover {
    color: var(--wp--preset--color--bleu-partage);
}
.site-header .wp-block-navigation a:hover::after {
    width: 100%;
}

/* Lien actif (page courante) */
.site-header .wp-block-navigation .current-menu-item > a,
.site-header .wp-block-navigation .current-page-ancestor > a {
    color: var(--wp--preset--color--bleu-partage);
}
.site-header .wp-block-navigation .current-menu-item > a::after,
.site-header .wp-block-navigation .current-page-ancestor > a::after {
    width: 100%;
}

/* Sous-menu */
.site-header .wp-block-navigation__submenu-container {
    background-color: var(--wp--preset--color--white);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-lg);
    border-top: 2px solid var(--wp--preset--color--bleu-partage);
    padding: var(--spacing-2) 0;
    min-width: 200px;
}
.site-header .wp-block-navigation__submenu-container a {
    padding: var(--spacing-2) var(--spacing-3);
    display: block;
    transition: background-color 0.3s ease, color 0.3s ease, padding-left 0.3s ease;
}
.site-header .wp-block-navigation__submenu-container a:hover {
    background-color: var(--wp--preset--color--gris-clair);
    padding-left: calc(var(--spacing-3) + 4px);
}
.site-header .wp-block-navigation__submenu-container a::after {
    display: none;
}

/* Burger mobile */
.site-header .wp-block-navigation__responsive-container-open,
.site-header .wp-block-navigation__responsive-container-close {
    color: var(--wp--preset--color--bleu-expertise);
    transition: color 0.3s ease, transform 0.3s ease;
}
.site-header .wp-block-navigation__responsive-container-open:hover,
.site-header .wp-block-navigation__responsive-container-close:hover {
    color: var(--wp--preset--color--bleu-partage);
    transform: scale(1.1);
}

/* Menu mobile ouvert */
.site-header .wp-block-navigation__responsive-container.is-menu-open {
    background-color: var(--wp--preset--color--white);
}
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-right: 2rem;
    padding-top: calc(4rem + 24px);
}
.site-header .wp-block-navigation__responsive-container.is-menu-open a {
    color: var(--wp--preset--color--bleu-expertise);
    font-size: var(--wp--preset--font-size--large);
    padding: var(--spacing-3) var(--spacing-4);
    border-bottom: 1px solid var(--wp--preset--color--muted);
}
.site-header .wp-block-navigation__responsive-container.is-menu-open a:hover {
    color: var(--wp--preset--color--bleu-partage);
    background-color: var(--wp--preset--color--gris-clair);
}
.site-header .wp-block-navigation__responsive-container-close {
    right: 2rem;
    top: 2rem;
}



/* =========================================
   FOOTER — .site-footer
   ========================================= */

.site-footer {
    background-color: var(--wp--preset--color--bleu-expertise);
    color: var(--wp--preset--color--white);
}

/* Texte général dans le footer */
.site-footer p,
.site-footer li {
    color: rgba(255, 255, 255, 0.75);
    font-size: var(--wp--preset--font-size--small);
    line-height: 1.7;
}

/* Titres des colonnes footer */
.site-footer h4,
.site-footer .wp-block-heading {
    color: var(--wp--preset--color--white);
    font-weight: 600;
    font-size: var(--wp--preset--font-size--medium);
    position: relative;
}
.site-footer h4::after,
.site-footer .wp-block-heading::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 17px;
    width: 32px;
    height: 2px;
    background: var(--gradient-accent);
    border-radius: var(--radius-full);
}

/* Site title dans le footer */
.site-footer .wp-block-site-title {
    display: flex;
}
.site-footer .wp-block-site-title a {
    color: var(--wp--preset--color--white)!important;
    font-weight: 700;
    text-decoration: none;
    font-size: var(--wp--preset--font-size--large);
    transition: color 0.3s ease;
}
.site-footer .wp-block-site-title a:hover {
    color: var(--wp--preset--color--bleu-partage);
}
.site-footer h3.wp-block-heading {
    padding-left: 17px;
}


/* Liens dans le footer */
.site-footer a,
.site-footer a span {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    transition: color 0.3s ease, padding-left 0.3s ease;
}
.site-footer a:hover,
.site-footer a:hover span {
    color: var(--wp--preset--color--bleu-partage);
}
.site-footer a[target="_blank"]::after {
    content: '';
    display: inline-block;
    width: 0.75em;
    height: 0.75em;
    margin-left: 4px;
    vertical-align: middle;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M384 64C366.3 64 352 78.3 352 96C352 113.7 366.3 128 384 128L466.7 128L265.3 329.4C252.8 341.9 252.8 362.2 265.3 374.7C277.8 387.2 298.1 387.2 310.6 374.7L512 173.3L512 256C512 273.7 526.3 288 544 288C561.7 288 576 273.7 576 256L576 96C576 78.3 561.7 64 544 64L384 64zM144 160C99.8 160 64 195.8 64 240L64 496C64 540.2 99.8 576 144 576L400 576C444.2 576 480 540.2 480 496L480 416C480 398.3 465.7 384 448 384C430.3 384 416 398.3 416 416L416 496C416 504.8 408.8 512 400 512L144 512C135.2 512 128 504.8 128 496L128 240C128 231.2 135.2 224 144 224L224 224C241.7 224 256 209.7 256 192C256 174.3 241.7 160 224 160L144 160z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M384 64C366.3 64 352 78.3 352 96C352 113.7 366.3 128 384 128L466.7 128L265.3 329.4C252.8 341.9 252.8 362.2 265.3 374.7C277.8 387.2 298.1 387.2 310.6 374.7L512 173.3L512 256C512 273.7 526.3 288 544 288C561.7 288 576 273.7 576 256L576 96C576 78.3 561.7 64 544 64L384 64zM144 160C99.8 160 64 195.8 64 240L64 496C64 540.2 99.8 576 144 576L400 576C444.2 576 480 540.2 480 496L480 416C480 398.3 465.7 384 448 384C430.3 384 416 398.3 416 416L416 496C416 504.8 408.8 512 400 512L144 512C135.2 512 128 504.8 128 496L128 240C128 231.2 135.2 224 144 224L224 224C241.7 224 256 209.7 256 192C256 174.3 241.7 160 224 160L144 160z'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

/* Navigation footer (verticale) */
.site-footer nav.wp-block-navigation:not([aria-label="Légal"]) ul {
    padding-right: 10px; /* 4px (padding-left hover) + 6px (margin-right flèche) */
}
.site-footer nav.wp-block-navigation:not([aria-label="Légal"]) a {
    color: rgba(255, 255, 255, 0.75);
    font-size: var(--wp--preset--font-size--small);
    position: relative;
    padding-left: 0;
    transition: color 0.3s ease, padding-left 0.3s ease;
}
.site-footer nav.wp-block-navigation:not([aria-label="Légal"]) a::before {
    content: '→';
    opacity: 0;
    margin-right: 6px;
    transition: opacity 0.3s ease;
}
.site-footer nav.wp-block-navigation:not([aria-label="Légal"]) a:hover {
    color: var(--wp--preset--color--bleu-partage);
}
.site-footer nav.wp-block-navigation:not([aria-label="Légal"]) a:hover::before {
    opacity: 1;
}

/* Séparateur footer */
.site-footer .wp-block-separator {
    border-color: rgba(255, 255, 255, 0.12) !important;
    background-color: rgba(255, 255, 255, 0.12) !important;
}

/* Barre de bas de page */
.site-footer .wp-block-group:last-child p {
    color: rgba(255, 255, 255, 0.5);
    font-size: var(--wp--preset--font-size--small);
}


.site-footer .wp-block-social-links .wp-social-link svg {
    width: var(--wp--preset--font-size--medium);
    height: var(--wp--preset--font-size--medium);
}

.wp-block-social-links .wp-social-link span:not(.screen-reader-text) {
    font-size: var(--wp--preset--font-size--small) !important;
}

/* LinkedIn CTA */
footer .wp-social-link-linkedin {
    transform: none !important;
}
footer .wp-social-link-linkedin:hover {
    transform: none !important;
}
footer .wp-social-link-linkedin .wp-block-social-link-anchor {
    display: inline-flex !important;
    flex-direction: row;
    align-items: center;
    gap: 0.5em;
    background-color: #ffffff !important;
    border: 1px solid #ffffff !important;
    border-radius: 50px !important;
    padding: 10px 20px !important;
    font-size: var(--wp--preset--font-size--small) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
footer .wp-social-link-linkedin .wp-block-social-link-anchor:hover {
    background-color: var(--wp--preset--color--bleu-partage) !important;
    border-color: var(--wp--preset--color--bleu-partage) !important;
    transform: none !important;
}
footer .wp-social-link-linkedin .wp-block-social-link-anchor,
footer .wp-social-link-linkedin .wp-block-social-link-anchor span {
    color: #1D1D3E !important;
}
footer .wp-social-link-linkedin .wp-block-social-link-anchor:hover,
footer .wp-social-link-linkedin .wp-block-social-link-anchor:hover span {
    color: #ffffff !important;
}
footer .wp-social-link-linkedin svg {
    fill: #1D1D3E !important;
    width: 18px !important;
    height: 18px !important;
    transition: fill 0.3s ease;
}
footer .wp-social-link-linkedin .wp-block-social-link-anchor:hover svg {
    fill: #ffffff !important;
}

/* Menu Légal */
.site-footer #coordonnees .btnPrincipal a {
    min-width: 170px;
}

.site-footer #coordonnees .center-on-mobile.max-width-825 {
    flex-grow: 1;
}

.site-footer nav[aria-label="Légal"] li:not(:first-child)::before {
    content: "¤";
    padding-right: var(--wp--preset--spacing--10);
}


.site-footer #legalMenu {
    column-gap: 2rem !important;
    row-gap: 0rem !important;
}

#legalMenu .wp-block-separator {
    flex-grow: 1;
    width: unset !important;
}

#legalMenu ul.wp-block-navigation__container {
    display: flex;
    justify-content: flex-end;
    gap: var(--wp--preset--spacing--10);
}

#legalMenu ul.wp-block-social-links {
    flex-wrap: nowrap;
}



/* =========================================
   IMAGES & CARDS — border-radius 10px
   ========================================= */

.wp-block-image img,
.wp-block-image figure {
    border-radius: 10px;
    overflow: hidden;
}

.wp-block-cover {
    border-radius: 10px;
    overflow: hidden;
}


/* =========================================
   VARIATIONS DE BOUTONS
   ========================================= */

/* Base commune */
body .wp-block-buttons>.wp-block-button {
    display: flex;
}
.wp-block-button__link {
    border-radius: 50px;
    padding: 10px 20px;
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase !important;
}

/* 1. CTA Principal Foncé */
.wp-block-button.is-style-cta-primary-dark .wp-block-button__link {
    background-color: #1D1D3E !important;
    border: 1px solid #1D1D3E !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
}
.wp-block-button.is-style-cta-primary-dark .wp-block-button__link:hover {
    background-color: var(--wp--preset--color--bleu-partage) !important;
    border-color: var(--wp--preset--color--bleu-partage) !important;
    color: #ffffff !important;
}

/* 2. CTA Principal Clair */
.wp-block-button.is-style-cta-primary-light .wp-block-button__link {
    background-color: #ffffff !important;
    border: 1px solid #ffffff !important;
    color: #1D1D3E !important;
}
.wp-block-button.is-style-cta-primary-light .wp-block-button__link:hover {
    background-color: var(--wp--preset--color--bleu-partage) !important;
    border-color: var(--wp--preset--color--bleu-partage) !important;
    color: #ffffff !important;
}

/* 3. CTA Secondaire Foncé */
.wp-block-button.is-style-cta-secondary-dark .wp-block-button__link {
    background-color: transparent !important;
    border: 1px solid #1D1D3E !important;
    color: #1D1D3E !important;
}
.wp-block-button.is-style-cta-secondary-dark .wp-block-button__link:hover {
    background-color: #1D1D3E !important;
    color: #ffffff !important;
}

/* 4. CTA Secondaire Clair */
.wp-block-button.is-style-cta-secondary-light .wp-block-button__link {
    background-color: transparent !important;
    border: 1px solid #ffffff !important;
    color: #ffffff !important;
}
.wp-block-button.is-style-cta-secondary-light .wp-block-button__link:hover {
    background-color: #ffffff !important;
    color: #1D1D3E !important;
}


/* =========================================
   BOUTONS AVEC ICÔNE SVG
   ========================================= */

.headerPhone a {
    text-decoration: none;
}

.sweblang-switcher__toggle {
    padding-left: 10px;
    padding-right: 10px;
}

.wp-block-button.online-meeting .wp-block-button__link,
.wp-block-button.online-meeting-revert .wp-block-button__link,
.wp-block-button.candidate-space .wp-block-button__link,
.wp-block-button.candidate-space-revert .wp-block-button__link,
.wp-block-button.launch-project .wp-block-button__link,
.wp-block-button.launch-project-revert .wp-block-button__link {
    display: inline-flex !important;
    align-items: center;
    gap: 0.5em;
}

.wp-block-button.online-meeting .wp-block-button__link::before,
.wp-block-button.online-meeting-revert .wp-block-button__link::before,
.wp-block-button.candidate-space .wp-block-button__link::before,
.wp-block-button.candidate-space-revert .wp-block-button__link::before,
.wp-block-button.launch-project .wp-block-button__link::before,
.wp-block-button.launch-project-revert .wp-block-button__link::before {
    position: static !important;
    width: 1.5em !important;
    height: 1.5em !important;
    min-width: 1.5em;
    background-color: transparent !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    transform: none !important;
    flex-shrink: 0;
}

.wp-block-button.online-meeting .wp-block-button__link:hover::before,
.wp-block-button.online-meeting-revert .wp-block-button__link:hover::before,
.wp-block-button.candidate-space .wp-block-button__link:hover::before,
.wp-block-button.candidate-space-revert .wp-block-button__link:hover::before,
.wp-block-button.launch-project .wp-block-button__link:hover::before,
.wp-block-button.launch-project-revert .wp-block-button__link:hover::before {
    animation: none !important;
}

.wp-block-button.online-meeting .wp-block-button__link::before {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g><path fill='%23FFFFFF' d='M1.6,43.7c1.7-13.1,8.6-24.9,19.1-32.8c10.2-7.7,23-11.1,35.7-9.5c13,1.7,24.8,8.6,32.8,19c7.8,10.4,11.2,23.4,9.4,36.2c-1.8,13-8.6,24.7-19.1,32.6c-9.5,7.1-21.2,10.6-33.1,9.7c-6.2-0.5-12.2-2.1-17.8-4.8c-1.3-0.6-4.3,0.5-5.7,0.8l-9.8,2.7c-3.9,1-7.7,2.8-10.7-1.1c-2.3-2.9-0.6-6.7,0.3-9.8l2.6-9.2c0.2-0.8,1.3-4.4,1.1-5c-1-3.1-2.7-6.3-3.4-9.5c-0.4-1.2-0.7-2.5-0.9-3.8c-0.3-1.1-0.5-3.5-0.6-4.6c0-0.2,0.1,0.8,0,0c-0.6-2.9-0.3-4.4-0.4-6.4C1,46.2,1.4,44.8,1.6,43.7z'/><path fill='%231D1D3E' d='M23.3,38.3c0.1-2.5,1.4-5.2,3.2-6.9c1.2-1.1,2.9-2,4.5-2.3c3.1-0.6,6.4-0.3,9.5-0.4c2.7,0,5.3,0,8,0.1c2.7,0.1,5.3,1.2,7.1,3.3c2.7,3.1,2.5,6.5,2.5,10.4l0,6.5l0,6.9c0,1.5,0,2.9-0.1,4.3c-0.1,4.6-3.3,8.4-7.5,9.4c-1.4,0.3-2.9,0.3-4.3,0.3c-4.4,0-8.9,0.1-13.3-0.1c-4.1-0.1-7.8-2.9-9-6.9c-0.3-0.9-0.5-1.8-0.5-2.8c-0.1-0.5-0.1-2.6-0.1-3.2l0-8.5l0-7C23.3,40.8,23.2,38.8,23.3,38.3z'/><path fill='%231D1D3E' d='M63.7,42.6c-0.6,0.5-1.3,1-1.3,1.9c-0.1,0.5-0.1,1.4-0.1,2c0,1.3,0,2.6,0,3.9c0,0.6,0,1.5,0,2.3c0,1.2,0.5,2.4,1.4,3.3c0.7,0.7,1.5,1.5,2.2,2l4,3.3c1.1,0.9,2.3,2.1,3.8,2.2c2.4,0.2,4.2-1.3,4.3-3.5c0.1-1.3,0-2.5,0-3.8l0-6.8l0-7.1c0-1.6,0.3-4.8-0.8-6c-1.6-1.6-4-1.8-5.8-0.3C68.8,38.3,66.2,40.4,63.7,42.6z'/></g></svg>") !important;
}

.wp-block-button.online-meeting-revert .wp-block-button__link::before {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path fill='%231D1D3E' d='M1.6,43.7c1.7-13.1,8.6-24.9,19.1-32.8c10.2-7.7,23-11.1,35.7-9.5c13,1.7,24.8,8.6,32.8,19c7.8,10.4,11.2,23.4,9.4,36.2c-1.8,13-8.6,24.7-19.1,32.6c-9.5,7.1-21.2,10.6-33.1,9.7c-6.2-0.5-12.2-2.1-17.8-4.8c-1.3-0.6-4.3,0.5-5.7,0.8l-9.8,2.7c-3.9,1-7.7,2.8-10.7-1.1c-2.3-2.9-0.6-6.7,0.3-9.8l2.6-9.2c0.2-0.8,1.3-4.4,1.1-5c-1-3.1-2.7-6.3-3.4-9.5c-0.4-1.2-0.7-2.5-0.9-3.8c-0.3-1.1-0.5-3.5-0.6-4.6c0-0.2,0.1,0.8,0,0c-0.6-2.9-0.3-4.4-0.4-6.4C1,46.2,1.4,44.8,1.6,43.7z'/><path fill='%23FFFFFF' d='M23.3,38.3c0.1-2.5,1.4-5.2,3.2-6.9c1.2-1.1,2.9-2,4.5-2.3c3.1-0.6,6.4-0.3,9.5-0.4c2.7,0,5.3,0,8,0.1s5.3,1.2,7.1,3.3c2.7,3.1,2.5,6.5,2.5,10.4V49v6.9c0,1.5,0,2.9-0.1,4.3c-0.1,4.6-3.3,8.4-7.5,9.4c-1.4,0.3-2.9,0.3-4.3,0.3c-4.4,0-8.9,0.1-13.3-0.1c-4.1-0.1-7.8-2.9-9-6.9c-0.3-0.9-0.5-1.8-0.5-2.8c-0.1-0.5-0.1-2.6-0.1-3.2v-8.5v-7C23.3,40.8,23.2,38.8,23.3,38.3z'/><path fill='%23FFFFFF' d='M63.7,42.6c-0.6,0.5-1.3,1-1.3,1.9c-0.1,0.5-0.1,1.4-0.1,2c0,1.3,0,2.6,0,3.9c0,0.6,0,1.5,0,2.3c0,1.2,0.5,2.4,1.4,3.3c0.7,0.7,1.5,1.5,2.2,2l4,3.3c1.1,0.9,2.3,2.1,3.8,2.2c2.4,0.2,4.2-1.3,4.3-3.5c0.1-1.3,0-2.5,0-3.8v-6.8v-7.1c0-1.6,0.3-4.8-0.8-6c-1.6-1.6-4-1.8-5.8-0.3C68.8,38.3,66.2,40.4,63.7,42.6z'/></svg>") !important;
}

.wp-block-button.candidate-space .wp-block-button__link::before {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path fill='none' stroke='%231D1D3E' stroke-width='5' stroke-miterlimit='10' d='M20.1,50l-15-10L50,15.1L94.9,40l-15,10'/><path fill='none' stroke='%231D1D3E' stroke-width='5' stroke-miterlimit='10' d='M20.1,52.5v20L50,84.9l29.9-12.5v-20c0,0-5-9.9-29.9-9.9S20.1,52.5,20.1,52.5z'/><path fill='%231D1D3E' d='M56.2,55.7c0,2,1.7,3.7,3.7,3.7s3.7-1.7,3.7-3.7h-3.7H56.2z M59.9,20.8h-3.7v34.9h3.7h3.7V20.8H59.9z'/></svg>") !important;
}

.wp-block-button.candidate-space-revert .wp-block-button__link::before {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path fill='none' stroke='%23FFFFFF' stroke-width='5' stroke-miterlimit='10' d='M20.1,50l-15-10L50,15.1L94.9,40l-15,10'/><path fill='none' stroke='%23FFFFFF' stroke-width='5' stroke-miterlimit='10' d='M20.1,52.5v20L50,84.9l29.9-12.5v-20c0,0-5-9.9-29.9-9.9S20.1,52.5,20.1,52.5z'/><path fill='%23FFFFFF' d='M56.2,55.7c0,2,1.7,3.7,3.7,3.7s3.7-1.7,3.7-3.7h-3.7H56.2z M59.9,20.8h-3.7v34.9h3.7h3.7V20.8H59.9z'/></svg>") !important;
}

.wp-block-button.launch-project .wp-block-button__link::before {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path fill='%231D1D3E' d='M53.3,11.5c-2.3,2.6-3.7,6-3.7,9.7c0,8.1,6.5,14.6,14.6,14.6c0,8.1,6.5,14.6,14.6,14.6c3.7,0,7.1-1.4,9.7-3.7c0,2.5,0,5.4,0,8.6c0,13.6,0,20.4-2.2,25.8c-3,7.2-8.6,12.8-15.8,15.8c-5.4,2.2-12.2,2.2-25.8,2.2H30.2c-13.8,0-20.6,0-24.9-4.3C1,90.5,1,83.7,1,69.9V55.3c0-13.6,0-20.4,2.2-25.8c3-7.2,8.6-12.8,15.8-15.8c5.4-2.2,12.2-2.2,25.8-2.2C48,11.5,50.8,11.5,53.3,11.5z M30.2,60.2c-2.7,0-4.9,2.2-4.9,4.9c0,2.7,2.2,4.9,4.9,4.9h14.6c2.7,0,4.9-2.2,4.9-4.9c0-2.7-2.2-4.9-4.9-4.9H30.2z M30.2,40.7c-2.7,0-4.9,2.2-4.9,4.9c0,2.7,2.2,4.9,4.9,4.9h29.2c2.7,0,4.9-2.2,4.9-4.9c0-2.7-2.2-4.9-4.9-4.9H30.2z'/><path fill='none' stroke='%231D1D3E' stroke-width='13' stroke-linecap='round' stroke-linejoin='round' d='M77.5,36.6V7.4 M62.9,22h29.2'/></svg>") !important;
}

.wp-block-button.launch-project-revert .wp-block-button__link::before {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path fill='%23FFFFFF' d='M53.3,11.5c-2.3,2.6-3.7,6-3.7,9.7c0,8.1,6.5,14.6,14.6,14.6c0,8.1,6.5,14.6,14.6,14.6c3.7,0,7.1-1.4,9.7-3.7c0,2.5,0,5.4,0,8.6c0,13.6,0,20.4-2.2,25.8c-3,7.2-8.6,12.8-15.8,15.8c-5.4,2.2-12.2,2.2-25.8,2.2H30.2c-13.8,0-20.6,0-24.9-4.3C1,90.5,1,83.7,1,69.9V55.3c0-13.6,0-20.4,2.2-25.8c3-7.2,8.6-12.8,15.8-15.8c5.4-2.2,12.2-2.2,25.8-2.2C48,11.5,50.8,11.5,53.3,11.5z M30.2,60.2c-2.7,0-4.9,2.2-4.9,4.9c0,2.7,2.2,4.9,4.9,4.9h14.6c2.7,0,4.9-2.2,4.9-4.9c0-2.7-2.2-4.9-4.9-4.9H30.2z M30.2,40.7c-2.7,0-4.9,2.2-4.9,4.9c0,2.7,2.2,4.9,4.9,4.9h29.2c2.7,0,4.9-2.2,4.9-4.9c0-2.7-2.2-4.9-4.9-4.9H30.2z'/><path fill='none' stroke='%23FFFFFF' stroke-width='13' stroke-linecap='round' stroke-linejoin='round' d='M77.5,36.6V7.4 M62.9,22h29.2'/></svg>") !important;
}


/* =========================================
   TOKENS — Variables issues du theme.json
   ========================================= */

:root {
    /* Couleurs */
    --color-white:           #ffffff;
    --color-page-bg:         #ffffff;
    --color-bleu-expertise:  #1D1D3E;
    --color-bleu-moyen:      #3661AB;
    --color-bleu-partage:    #00B4D2;
    --color-gris-clair:      #F4F8FF;
    --color-muted:           #E8E8E8;
    --color-gris-texte:      #6C757D;
    --color-success:         #059669;
    --color-warning:         #F59E0B;
    --color-danger:          #EF4444;
    --color-info:            #00B4D2;
    --separator-color:       #ffffff;

    /* Dégradés */
    --gradient-primary: linear-gradient(135deg, #1D1D3E 0%, #00B4D2 100%);
    --gradient-dark:    linear-gradient(135deg, #0D0D20 0%, #1D1D3E 100%);
    --gradient-hero:    linear-gradient(180deg, #F4F8FF 0%, #DDE8FD 100%);
    --gradient-accent:  linear-gradient(89.72deg, #3661AB 0.25%, #00B4D2 102.32%);
    --gradient-text:    linear-gradient(89.72deg, #3661AB 0.25%, #00B4D2 102.32%);

    /* Border-radius */
    --radius-sm:   0.25rem;
    --radius-md:   0.5rem;
    --radius-lg:   1rem;
    --radius-full: 9999px;
    --radius-card: 10px;

    /* Ombres */
    --shadow-sm:   0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md:   0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg:   0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl:   0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --shadow-card: 0px 0px 26px 0px #1D327C33;

    /* Espacement */
    --spacing-1: 1rem;
    --spacing-2: min(1.5rem, 2vw);
    --spacing-3: min(2.5rem, 3vw);
    --spacing-4: min(4rem, 5vw);
    --spacing-5: min(6.5rem, 8vw);
    --spacing-6: min(10.5rem, 13vw);
    --spacing-7: 3.38rem;
    --spacing-8: 5.06rem;
}


/* =========================================
   TYPOGRAPHIE GLOBALE — issue du theme.json
   ========================================= */

body {
    font-family: var(--wp--preset--font-family--inter);
    font-size: var(--wp--preset--font-size--medium);
    line-height: 1.6;
    background-color: var(--wp--preset--color--page-bg);
    color: var(--wp--preset--color--bleu-expertise);
}

h1, .wp-block-heading.is-style-h1 {
    font-family: var(--wp--preset--font-family--inter);
    font-size: var(--wp--preset--font-size--xxx-large);
    font-weight: 700;
    line-height: 1.2;
}

h2, .wp-block-heading.is-style-h2 {
    font-family: var(--wp--preset--font-family--inter);
    font-size: var(--wp--preset--font-size--xx-large);
    font-weight: 700;
    line-height: 1.3;
}

h3, .wp-block-heading.is-style-h3 {
    font-family: var(--wp--preset--font-family--inter);
    font-size: var(--wp--preset--font-size--x-large);
    font-weight: 600;
    line-height: 1.4;
}

h4, .wp-block-heading.is-style-h4 {
    font-size: var(--wp--preset--font-size--large);
    font-weight: 600;
}

h5, .wp-block-heading.is-style-h5 {
    font-size: var(--wp--preset--font-size--medium);
    font-weight: 600;
}

h6, .wp-block-heading.is-style-h6 {
    font-size: var(--wp--preset--font-size--small);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}


/* =========================================
   LIENS — issue du theme.json elements.link
   ========================================= */

a {
    color: var(--wp--preset--color--bleu-partage);
}
a:hover {
    color: var(--wp--preset--color--bleu-expertise);
}


/* =========================================
   BOUTONS — BASE + ANIMATIONS DE SURVOL
   ========================================= */

/*
 * Shimmer : reflet lumineux qui balaie le bouton au survol
 */
@keyframes btn-shimmer {
    from { left: -80%; }
    to   { left: 130%; }
}

/*
 * Base issue du theme.json elements.button :
 * background: bleu-expertise, text: white, radius: 20px, padding: 10px 20px
 */
.wp-block-button__link {
    position: relative !important;
    overflow: hidden !important;
    transition: background-color 0.3s ease,
                color 0.3s ease,
                border-color 0.3s ease,
                box-shadow 0.3s ease !important;
    will-change: box-shadow;
}

/* Reflet shimmer commun à tous les boutons */
.wp-block-button__link::before {
    content: '';
    position: absolute;
    top: 0;
    left: -80%;
    width: 50%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.22) 50%,
        transparent 100%
    );
    transform: skewX(-15deg);
    pointer-events: none;
}
.wp-block-button__link:hover::before {
    animation: btn-shimmer 0.55s ease forwards;
}
.wp-block-button__link:active {
    filter: brightness(0.92) !important;
}

/* Bouton par défaut (non stylisé) */
.wp-block-button:not([class*="is-style-"]) .wp-block-button__link {
    background-color: var(--wp--preset--color--bleu-expertise) !important;
    color: var(--wp--preset--color--white) !important;
    border: 1px solid var(--wp--preset--color--bleu-expertise) !important;
}
.wp-block-button:not([class*="is-style-"]) .wp-block-button__link:hover {
    background-color: var(--wp--preset--color--bleu-partage) !important;
    border-color: var(--wp--preset--color--bleu-partage) !important;
    box-shadow: 0 0 0 4px rgba(0, 180, 210, 0.2) !important;
}


/* =========================================
   CLASSES UTILITAIRES — DÉGRADÉS
   ========================================= */

.has-gradient-primary-background {
    background: var(--gradient-primary);
}
.has-gradient-dark-background {
    background: var(--gradient-dark);
}
.has-gradient-hero-background {
    background: var(--gradient-hero);
}
.has-gradient-accent-background {
    background: var(--gradient-accent);
}

/* Texte en dégradé */
.has-text-gradient {
    background: var(--gradient-text);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}


/* =========================================
   CLASSES UTILITAIRES — OMBRES
   ========================================= */

.has-shadow-sm   { box-shadow: var(--shadow-sm); }
.has-shadow-md   { box-shadow: var(--shadow-md); }
.has-shadow-lg   { box-shadow: var(--shadow-lg); }
.has-shadow-xl   { box-shadow: var(--shadow-xl); }
.has-shadow-card { box-shadow: var(--shadow-card); }


/* =========================================
   CAROUSEL — Logos clients (Splide AutoScroll)
   ========================================= */

#customerLogos {
    max-width: var(--wp--style--global--wide-size);
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

#customerLogos::before,
#customerLogos::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 190px;
    z-index: 2;
    pointer-events: none;
}

#customerLogos::before {
    left: 0;
    background: linear-gradient(to right, #ffffff 10%, transparent 100%);
}

#customerLogos::after {
    right: 0;
    background: linear-gradient(to left, #ffffff 10%, transparent 100%);
}


#customerLogos.splide > .splide__track {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden;
    cursor: grab;
}

#customerLogos.splide > .splide__track:active {
    cursor: grabbing;
}

#customerLogos .splide__slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

#customerLogos .customerLogoImage {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0;
}

#customerLogos .customerLogoImage img {
    height: 50px !important;
    width: auto !important;
    max-width: none !important;
    object-fit: contain !important;
}


/* =========================================
   CAROUSEL — Avis clients (Splide)
   ========================================= */

.customerReviewsCarousel {
    width: 100%;
    min-width: 0;
}

.customerReviewsCarousel .splide__track {
    padding-top: var(--wp--preset--spacing--10);
    padding-bottom: var(--wp--preset--spacing--10);
    overflow: hidden;
}

.customerReviewsCarousel .splide__arrow {
    background-color: transparent;
    opacity: 1;
    width: 2.5rem;
    height: 2.5rem;
    box-shadow: none;
}

.customerReviewsCarousel .splide__arrow svg {
    fill: var(--wp--preset--color--bleu-expertise);
    width: 1.2rem;
    height: 1.2rem;
}

.customerReviewsCarousel .splide__arrow:hover {
    background-color: transparent;
}

.customerReviewsCarousel .splide__arrow:hover svg {
    fill: var(--wp--preset--color--bleu-partage);
}

.customerReviewsCarousel .splide__arrow:disabled {
    opacity: 0.3;
}

/* Étoiles en jaune */
.customerReviewsStars path {
    fill: #FCD503 !important;
}


/* =========================================
   SOLUTIONS CARDS — Hover / Focus / Active
   ========================================= */

#solutionsCards .wp-block-column > .wp-block-group {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

#solutionsCards .wp-block-column > .wp-block-group:hover,
#solutionsCards .wp-block-column > .wp-block-group:focus-within,
#solutionsCards .wp-block-column > .wp-block-group:active {
    transform: translateY(-6px);
    box-shadow: var(--wp--preset--shadow--card);
}

/* =========================================
   RESPONSIVE
   ========================================= */

/* ── Réduction typographie & espacements 769px–989px (-20%) ──────────────
   Redéfinit les variables à la source : tout ce qui les consomme
   (titres, corps, boutons, badges, paddings…) est réduit automatiquement.
   calc(clamp(…) * 0.8) et calc(min(…) * 0.8) sont valides en CSS moderne.
   ──────────────────────────────────────────────────────────────────────── */
@media screen and (min-width: 769px) and (max-width: 989px) {
    :root {
        /* Typographie -30% */
        --wp--preset--font-size--small:        calc(clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.035), 0.9rem)   * 0.8);
        --wp--preset--font-size--medium:       calc(clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.242), 1.05rem)  * 0.8);
        --wp--preset--font-size--medium-large: calc(clamp(1.15rem,  1.15rem  + ((1vw - 0.2rem) * 0.3),   1.35rem)  * 0.8);
        --wp--preset--font-size--large:        calc(clamp(1.39rem,  1.39rem  + ((1vw - 0.2rem) * 0.637), 1.85rem)  * 0.8);
        --wp--preset--font-size--x-large:      calc(clamp(1.85rem,  1.85rem  + ((1vw - 0.2rem) * 0.9),   2.5rem)   * 0.8);
        --wp--preset--font-size--xx-large:     calc(clamp(2.5rem,   2.5rem   + ((1vw - 0.2rem) * 1.067), 3.27rem)  * 0.8);
        --wp--preset--font-size--xxx-large:    calc(clamp(3.27rem,  3.27rem  + ((1vw - 0.2rem) * 1.4),   4.5rem)   * 0.8);

        /* Espacements -30% */
        --wp--preset--spacing--10: calc(1rem            * 0.8);
        --wp--preset--spacing--20: calc(min(2.5rem, 4vw)  * 0.8);
        --wp--preset--spacing--30: calc(min(4rem, 10vw)   * 0.8);
        --wp--preset--spacing--40: calc(min(6rem, 10vw)   * 0.8);
        --wp--preset--spacing--50: calc(min(8rem, 8vw)    * 0.8);
        --wp--preset--spacing--60: calc(min(12rem, 13vw)  * 0.8);
        --wp--preset--spacing--70: calc(3.38rem           * 0.8);
        --wp--preset--spacing--80: calc(5.06rem           * 0.8);
    }
}

/* ── Très petits écrans ≤ 380px : masquage du téléphone et LinkedIn ── */
@media screen and (max-width: 380px) {
    .site-header .headerPhone {
        display: none !important;
    }

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

/* ── Bouton Candidats : icône masquée en dessous de 500px ── */
@media screen and (max-width: 500px) {
    .wp-block-button.candidate-space .wp-block-button__link::before,
    .wp-block-button.candidate-space-revert .wp-block-button__link::before {
        display: none !important;
    }

    .wp-block-button.candidate-space .wp-block-button__link::after,
    .wp-block-button.candidate-space-revert .wp-block-button__link::after {
        margin-left: 0 !important;
    }

    .site-header .wp-block-button.candidate-space .wp-block-button__link,
    .site-header .wp-block-button.candidate-space-revert .wp-block-button__link {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

@media screen and (max-width: 1440px) {
    /* Boutons header : texte court */
    .wp-block-button.online-meeting .wp-block-button__link,
    .wp-block-button.candidate-space .wp-block-button__link {
        font-size: 0 !important;
    }

    /* Icône ::before : passer en rem pour ne pas hériter du font-size: 0 */
    .wp-block-button.online-meeting .wp-block-button__link::before,
    .wp-block-button.candidate-space .wp-block-button__link::before {
        width: 1.3rem !important;
        height: 1.3rem !important;
        min-width: 1.3rem;
    }

    /* Texte court via ::after */
    .wp-block-button.online-meeting .wp-block-button__link::after {
        content: 'RDV Visio';
        font-size: 0.82rem;
        font-weight: 600;
        text-transform: uppercase;
        margin-left: 10px;
    }

    .wp-block-button.candidate-space .wp-block-button__link::after {
        content: 'Candidats';
        font-size: 0.82rem;
        font-weight: 600;
        text-transform: uppercase;
        margin-left: 10px;
    }

}

@media screen and (max-width: 768px) {
    /* Lien téléphone : masquer le texte, garder uniquement le numéro */
    .headerPhone a {
        font-size: 0 !important;
    }

    .headerPhone a strong {
        font-size: 0.82rem;
        font-weight: 600;
    }
}

@media screen and (max-width: 1250px) {
    /* Menu burger Gutenberg */
    .site-header .wp-block-navigation__responsive-container-open {
        display: flex !important;
    }
    .site-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
        display: none !important;
    }

    /* Ordre : LinkedIn — RDV Visio — Hamburger */
    .site-header .wp-block-social-links {
        order: 1;
    }
    .site-header .wp-block-buttons {
        order: 2;
    }
    .site-header .wp-block-navigation.is-responsive {
        order: 3;
    }
}

@media screen and (min-width: 1251px) {
    .site-header .wp-block-navigation__responsive-container-open {
        display: none !important;
    }
    .site-header .wp-block-navigation__responsive-container {
        display: flex !important;
    }
}

@media screen and (max-width: 950px) {
    .site-footer .wp-block-social-link-label {
        display: none;
    }
}

@media screen and (max-width: 780px) {
    .column-inverse {
        display: flex;
        flex-direction: column-reverse;
    }

    .hide-on-tablet {
        display: none !important;
    }

    .alignfull>.has-global-padding {
        padding-right: var(--wp--style--root--padding-right) !important;
        padding-left: var(--wp--style--root--padding-left) !important;
    }

    .site-header .wp-block-site-logo img {
        max-width: 90px;
    }

    .site-footer .wp-block-group.alignwide > .wp-block-group {
        min-width: 100%;
    }
}

@media screen and (max-width: 760px) {
    footer #coordonnees {
        flex-direction: row;
        display: flex;
        justify-content: space-between;
        width: 100%;
        padding-left: 17px;
    }

    footer #navigation {
        display: flex;
        justify-content: space-between;
        width: 100%;
    }
}

@media screen and (min-width: 781px) {
    .display-on-mobile {
        display: none !important;
    }
}

@media screen and (max-width: 600px) {
    .hide-on-mobile {
        display: none !important;
    }

    .center-on-mobile {
        justify-content: center;
        text-align: center;
    }
}

@media screen and (max-width: 491px) {
    .site-footer .nav[aria-label="Légal"] li:not(:first-child):before {
        content: unset !important;
        display: none !important;
    }
}

@media (max-width: 750px) {
    .site-footer #legalMenu {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center;
        gap: var(--wp--preset--spacing--20) !important;
        margin-bottom: var(--wp--preset--spacing--20) !important;
    }

    .site-footer #legalMenu .wp-block-social-links {
        justify-content: center !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .site-footer #legalMenu .wp-block-navigation__container {
        flex-direction: column !important;
        align-items: center !important;
    }

    .site-footer #legalMenu .wp-block-navigation-item__content {
        text-align: center;
    }

    .site-footer #legalMenu .wp-block-navigation-item::before,
    .site-footer #legalMenu li::before {
        display: none !important;
        content: none !important;
    }

    .site-footer #legalMenu .wp-block-group.is-content-justification-right {
        justify-content: center !important;
    }

    .has-text-align-right.wp-block-paragraph:has(a[href*="swebetech"]) {
        text-align: center !important;
    }
}

/* ── #solutionsCards ─────────────────────────────────────── */
#solutionsCards .iconContainer {
    padding: 0.85rem !important;
    margin-top: calc(0px - var(--wp--preset--spacing--20));
    transform: translateY(-50%);
    max-width: 74px !important;
    aspect-ratio: 1 / 1 !important;
    display: flex;
    justify-content: center;
}

/* ── .heroBenefitsBullets ────────────────────────────────── */
.heroBenefitsBullets {
    flex-wrap: wrap !important;
    row-gap: 0 !important;
}

.heroBenefitsBullets p + p::before {
    content: '·';
    margin-right: 1rem;
    font-weight: 900;
}

/* ── #benefitsGrid — mobile ───────────────────────────────── */
@media screen and (max-width: 780px) {
    #benefitsGrid .wp-block-group.is-layout-grid {
        display: flex !important;
        flex-direction: column;
        gap: 0.75rem;
    }

    #benefitsGrid .iconContainer {
        flex-shrink: 0;
    }

    #benefitsGrid .iconContainer .svg-inline--fa {
        font-size: 1rem !important;
    }

    h1 {
        font-size: var(--wp--preset--font-size--xx-large) !important;
    }

    .text-featured {
        font-size: 150% !important;
    }

    .solutionsBenefitsList {
        columns: 1 !important;
    }

    .site-header .wp-block-navigation__responsive-container.is-menu-open a {
        font-size: var(--wp--preset--font-size--medium) !important;
    }

    .heroBenefitsBullets {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .heroBenefitsBullets p:first-child::before {
        content: '·' !important;
        margin-right: 1rem;
        font-weight: 900;
        display: inline-block !important;
    }

    .heroBenefitsBullets p {
        text-align: left !important;
    }
}

figure.mediaToBuy,
figure[class*="mediaToBuy-"] {
    position: relative;
}

figure.mediaToBuy:after,
figure[class*="mediaToBuy-"]:after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: red;
    font-weight: bold;
    font-size: var(--wp--preset--font-size--large);
    white-space: nowrap;
}

figure.mediaToBuy:after { content: "À acquérir"; }

figure.mediaToBuy-25:after { content: "À acquérir - 25€"; }
figure.mediaToBuy-30:after { content: "À acquérir - 30€"; }
figure.mediaToBuy-35:after { content: "À acquérir - 35€"; }
figure.mediaToBuy-40:after { content: "À acquérir - 40€"; }
figure.mediaToBuy-45:after { content: "À acquérir - 45€"; }
figure.mediaToBuy-50:after { content: "À acquérir - 50€"; }
figure.mediaToBuy-55:after { content: "À acquérir - 55€"; }
figure.mediaToBuy-60:after { content: "À acquérir - 60€"; }
figure.mediaToBuy-65:after { content: "À acquérir - 65€"; }
figure.mediaToBuy-70:after { content: "À acquérir - 70€"; }
figure.mediaToBuy-75:after { content: "À acquérir - 75€"; }
figure.mediaToBuy-80:after { content: "À acquérir - 80€"; }
figure.mediaToBuy-85:after { content: "À acquérir - 85€"; }
figure.mediaToBuy-90:after { content: "À acquérir - 90€"; }

@media screen and (max-width: 1024px) {
    .wp-block-button__link {
        font-size: 0.82rem;
    }
}

#worldMap h2.text-featured {
    padding-top: 0.15em !important;
    padding-bottom: 0.35em !important;
}


/* =========================================
   BADGE "Nouveau" — temporaire (newMedia)
   ========================================= */

figure.wp-block-image.newMedia {
    position: relative;
}

figure.wp-block-image.newMedia .badge-nouveau {
    position: absolute;
    top: 0;
    right: 0;
    background-color: yellow;
    color: var(--wp--preset--color--bleu-expertise);
    padding: 5px 10px;
    border-radius: 8px;
    font-weight: bold;
}

:root :where(.wp-block-quote) {
    padding: 0 !important;
    padding-left: var(--wp--preset--spacing--10) !important;
}

