/*
 Theme Name: GeneratePress Child
 Theme URI: https://example.com
 Description: Thème enfant de GeneratePress
 Author: Ton Nom
 Author URI: https://example.com
 Template: generatepress
 Version: 1.0.3
*/

/* ===== Thème Enfant GeneratePress - style.css ===== */

/* Barre adminb */
#wpadminbar:hover
{
	opacity:1;
	top:0px;
}

#wpadminbar
{
	top:-24px;
	opacity:0;
	-webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;  
	
}

/**
* Gestion du logo du site
**/


/* Quand l'Element "Logo blanc" est DÉSACTIVÉ sur une page
   => le body n'a PAS la classe .logo-blanc-actif
   => on inverse : vert visible, blanc caché
*/
body:not(.logo-blanc-actif) .logo-blanc {
    display: none !important;
}

body:not(.logo-blanc-actif) .logo-vert {
    display: block !important;
}



/**
* Générique
**/


body{
    overflow-x: hidden;
}

.line-height-normal{
    line-height: normal;
}

.border-radius-32{
    border-radius:32px;
    overflow: hidden;
}



a.generate-back-to-top.generate-back-to-top__show {
    background: var(--accent-2);
    border-radius: 999px;
}

a.generate-back-to-top.generate-back-to-top__show:hover {
    background: var(--base-2);
}

/**
* Header
**/

.cadre-nav {
    box-shadow: -1px 0 0 0 #FFF;
}
 
.ctn-sous-header {
    box-shadow: 0 -1px 0 0 #FFF;
}


/**
* Citations
**/

blockquote {
    border-left: none;
    padding: 0px 0px 0px 24px;
    font-size: 16px;
    line-height: 25px;
    letter-spacing: 0.5px;
    font-style: italic;
    font-weight: 400;
    margin: 0;
    position: relative;
    color:var(--contrast-4);
}

blockquote:before{
    content: '';
    display: inline-block;
    height: 100%;
    width: 4px;
    border-radius:32px;
    background-color: var(--accent-2);
    position: absolute;
    left: 0px;
}




/**
* Fil d'ariane
**/

.fil-ariane>span {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.fil-ariane>span>span{
    white-space: pre;
}

.fil-ariane a{
    text-decoration: none;
    transition: color 0.3s ease-in-out; 
}

.fil-ariane a, 
.fil-ariane span{
font-weight: 500;
font-size: 14px;
line-height: 17px;
letter-spacing: 0.5px;
color:var(--contrast-3);
}

.fil-ariane span{
    padding:4px 0px 4px 0px;
}

.fil-ariane span > span:after{
    content:'';
    height:14px;
    width:32px;
    display:inline-block;
    background:url(assets/img/separ-ariane.svg) no-repeat center center;
    background-size: contain;
    margin-bottom:-2px;
}

.fil-ariane a:hover{
    color:var(--accent-2);
}

.fil-ariane span > span:last-child:after{
display: none;
}

/* Comportement de base de la galerie de base (pour les logos de certif) */
.wp-block-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 16px!important;

}

/* Alignement à gauche */
.wp-block-gallery.alignleft {
    float: none;
    margin-left: 0;
    margin-right: auto;
    justify-content: flex-start;
}

/* Alignement à droite */
.wp-block-gallery.alignright {
    float: none;
    margin-left: auto;
    margin-right: 0;
    justify-content: flex-end;
}

/* Alignement centré (au cas où) */
.wp-block-gallery.aligncenter {
    float: none;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
}




/**
* Texte courant
**/

.txt-courant{
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    letter-spacing: 0.5px;
}

/**
* Titres H1 à H6
**/


.h1, .h1 a,
.h2, .h2 a,
.h3, .h3 a,
.h4, .h4 a,
.h5, .h5 a,
.h6, .h6 a {
    font-family: var(--gp-font--roboto);
}

.h1,
.h1 a{
       font-size: 57px;
        line-height: 60px;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0.5px;
}	

.h2,
.h2 a{
       font-size: 45px;
        line-height: 52px;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0px;

}																		

.h3,
.h3 a{
       font-size: 36px;
        line-height: 44px;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0px;
}											

.h4,
.h4 a{
    font-size: 28px;
    line-height: 36px;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0px;
}												

.h5,
.h5 a{
    font-size: 24px;
    line-height: 32px;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0px;
}
																																			
.h6,
.h6 a {
	font-size: 18px;    
    line-height: 24px;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0.15px;
}

.wsp-pages-title.h4,
.wsp-posts-title.h4,
.wsp-offres-title.h4{
    margin-bottom:15px;
}

/**
* style surlignage avec arondis
**/
mark[class*=-background], mark[style*="background-color:#"], mark[style*="background-color:var("] {
    padding: 0px 5px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    border-radius:12px;
}

.h1 mark, h1 mark{
    line-height: 67px;
}

/**
* grille bloc-coin-arrondi-vert-clair
**/

.bloc-coin-arrondi-vert-clair:hover{
    cursor: pointer;
}

.bloc-coin-arrondi-vert-clair .gb-shape:not(.gb-shape--divider)>svg {
    transition: fill 0.3s ease-in-out;
}

.bloc-coin-arrondi-vert-clair .gb-shape + .gb-text{
    transition: color 0.3s ease-in-out;
}

.bloc-coin-arrondi-vert-clair:hover .gb-shape:not(.gb-shape--divider)>svg {
   fill:var(--accent-2);
}

.bloc-coin-arrondi-vert-clair:hover .gb-shape + .gb-text{
    color:var(--accent-2);
}

.bloc-coin-arrondi-vert-clair .fleche{
    transition: transform 0.3s ease-in-out;
}

.bloc-coin-arrondi-vert-clair:hover .fleche{
    transform:rotate(-45deg);
}

/**
* grille bloc-coin-arrondi-orange-clair
**/

.bloc-coin-arrondi-orange-clair:hover{
    cursor: pointer;
}

.bloc-coin-arrondi-orange-clair .gb-shape:not(.gb-shape--divider)>svg {
    transition: fill 0.3s ease-in-out;
}

.bloc-coin-arrondi-orange-clair .gb-shape + .gb-text{
    transition: color 0.3s ease-in-out;
}

.bloc-coin-arrondi-orange-clair:hover .gb-shape:not(.gb-shape--divider)>svg {
   fill:var(--accent-9);
}

.bloc-coin-arrondi-orange-clair:hover .gb-shape + .gb-text{
    color:var(--accent);
}

.bloc-coin-arrondi-orange-clair .fleche{
    transition: transform 0.3s ease-in-out;
}

.bloc-coin-arrondi-orange-clair:hover .fleche{
    transform:rotate(-45deg);
}

/**
* Mask image
**/

.mask-croix{
    mask-image: url(assets/img/mask-croix.svg);
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
}

.mask-trefle{
    mask-image: url(assets/img/mask-trefle.svg);
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
}

.mask-metaball{
    mask-image: url(assets/img/mask-metaballe.svg);
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: right center;
}

/**
* footer
**/

body .gbp-footer a:not(.gbp-button--secondary){
    color:var(--base-3);
}

body .gbp-footer a:hover{
    color:var(--base-3);
}

body .gbp-footer .wp-block-gallery.has-nested-images figure.wp-block-image{
    flex-grow: inherit!important;
}

body .gbp-footer .wp-block-gallery{
   flex-wrap:inherit!important;
   max-width: 520px!important;
}

body .gbp-footer .gbp-button--secondary:hover{
    color:var(--accent-3);
}

.lien-bas-footer:hover{
    cursor: pointer;
}

/* Effet hover "Underline Hover - Full Side" pour les liens de footer */
.lien-bas-footer {
    position: relative;
    display: inline-block;
    text-decoration: none;
    color: inherit; /* garde la couleur de texte existante */
}

/* Soulignement animé */
.lien-bas-footer::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -5px; /* distance entre le texte et la ligne (ajuste si besoin) */
    width: 0;
    height: 1px; /* épaisseur de la ligne */
    background-color: currentColor; /* utilise la couleur du texte */
    transform: translateX(-50%);
    transition:
        width 0.35s cubic-bezier(0.4, 0, 0.2, 1),
        background-color 0.35s ease;
}

/* État survol / focus : ligne pleine largeur */
.lien-bas-footer:hover::after,
.lien-bas-footer:focus-visible::after {
    width: 100%;
}


/**
* Section actus home
**/
.etiquette-actus{
font-weight: 400;
font-size: 14px;
line-height: 20px;
letter-spacing: 0.25px;
}

.date-actus{
font-weight: 400;
font-size: 12px;
line-height: 16px;
letter-spacing: 0.4px;

}

/*--bloc actus orange--*/

.trois-actus-home div>.gb-loop-item.category-actualites{
    background-color: var(--base-7);
}

.trois-actus-home div>.gb-loop-item.category-actualites .fleche{
    background-color:var(--base-7);
}

.trois-actus-home div>.gb-loop-item.category-actualites .fleche + .gb-shape>svg{
    fill:var(--base-7);
}

.trois-actus-home div>.gb-loop-item.category-actualites:hover .h5>a{
    color:var(--accent-9);
}

/*--bloc cas-client vert--*/

.trois-actus-home div>.gb-loop-item.category-cas-client{
    background-color: var(--base-5);
}

.trois-actus-home div>.gb-loop-item.category-cas-client .fleche{
    background-color:var(--base-5);
}

.trois-actus-home div>.gb-loop-item.category-cas-client .fleche + .gb-shape>svg{
    fill:var(--base-5);
}

.trois-actus-home div>.gb-loop-item.category-cas-client:hover .h5>a{
    color:var(--accent-2);
}

/*--bloc recherches et innovations (bleu) */

.trois-actus-home div>.gb-loop-item.category-recherches-et-innovations{
    background-color: var(--base-4);
}

.trois-actus-home div>.gb-loop-item.category-recherches-et-innovations .fleche{
    background-color:var(--base-4);
}

.trois-actus-home div>.gb-loop-item.category-recherches-et-innovations .fleche + .gb-shape>svg{
    fill:var(--base-4);
}

.trois-actus-home div>.gb-loop-item.category-recherches-et-innovations:hover .h5>a{
    color:var(--accent-4);
}

/* Effets communs à tous les blocs */

.trois-actus-home div>.gb-loop-item .h5>a{
    transition:color 0.3s ease-in-out;
}

.trois-actus-home div>.gb-loop-item:hover{
    cursor: pointer;
}

.trois-actus-home div>.gb-loop-item .fleche{
    transition:transform 0.3s ease-in-out;
}

.trois-actus-home div>.gb-loop-item:hover .fleche{
    transform:rotate(-45deg);
}

/*--filtres actus home--*/

.filtres-actus-home ul{
    margin:0px;
    padding:0px;
    list-style:none;
    display: flex;
    width: 100%;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.filtres-actus-home ul li a{
    padding:8px 16px;
    border-radius: 999px;   
    font-weight: 700;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0.5px;
    color:var(--contrast);
    background-color:var(--base-6);
    transition:background-color 0.3s ease-in-out;
}

.filtres-actus-home ul li a:hover{
    background-color: var(--base-8);
}

.filtres-actus-home ul:not(:has(.current)) li:first-child a,
.filtres-actus-home ul li.current a{
    background-color:var(--accent-5);  
}

/**
* plugin simply gallery
**/

.pgcsimplygalleryblock-grid-item .pgcsimplygalleryblock-grid-item-inner:focus {
    box-shadow: none!important;
}

.pgcsimplygalleryblock-grid-main-wrap {
       border-radius: 32px!important;
}

.pgc-rev-lb-b-view .pgc-rev-lb-b-next-prev-button svg{
    width: 80%!important;
    height: 80%!important;
}

.pgc-rev-lb-b-view .pgc-rev-lb-b-next-prev-button {

    width: 50px!important;
    border-radius: 999px!important;
}

.pgc-rev-lb-b-view .pgc-rev-lb-b-next-prev-button.prev svg {
    margin-left: 2px!important;
    margin-top: 5px !important;
}


.pgc-rev-lb-b-view .pgc-rev-lb-b-next-prev-button.next svg {
    margin-left: 7px!important;
    margin-top: 5px !important;
}


.pgc-rev-lb-b-next-prev-button {
    background-color: var(--base-7)!important;
    fill: var(--accent)!important;
}

.pgc-rev-lb-b-next-prev-button:hover{
    background-color: var(--base-5)!important;
    fill: var(--accent-2)!important;
}

/* ===== Simply Gallery – 5 images, 3 colonnes, 1ère sur 2 lignes ===== */

/* Conteneur du bloc spécifique (class ajoutée dans Gutenberg) */
.pgc-sgb-cb.galerie-5-images-hero .pgcsimplygalleryblock-grid-content {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 1fr;
    gap: 32px;
    padding: 16px 32px!important;
}

/* 1ère image : occupe la hauteur de 2 lignes */
.pgc-sgb-cb.galerie-5-images-hero
.pgcsimplygalleryblock-grid-content > .pgcsimplygalleryblock-grid-item:first-child {
    grid-row: span 2;
}

/* Les items de la grille prennent toute la cellule */
.pgc-sgb-cb.galerie-5-images-hero
.pgcsimplygalleryblock-grid-content > .pgcsimplygalleryblock-grid-item {
    width: 100% !important;
    height: 100% !important;
}

/* Wrappers internes full-size et base pour le positionnement */
.pgc-sgb-cb.galerie-5-images-hero
.pgcsimplygalleryblock-grid-content .pgcsimplygalleryblock-grid-main-wrap,
.pgc-sgb-cb.galerie-5-images-hero
.pgcsimplygalleryblock-grid-content .pgcsimplygalleryblock-grid-item-wrap {
    width: 100% !important;
    height: 100% !important;
    min-height: 200px!important; /* hauteur minimale pour éviter que l’image disparaisse si trop petite */
    position: relative;
    padding: 0; /* on enlève un éventuel padding parasite sur le wrap interne */
}

/* Image en cover dans sa cellule, on neutralise les styles inline */
.pgc-sgb-cb.galerie-5-images-hero
.pgcsimplygalleryblock-grid-content .pgcsimplygalleryblock-grid-item-wrap img {
    position: absolute;
    inset: 0; /* équivaut à top/right/bottom/left: 0 */
    width: 100% !important;
    height: 100% !important;
    
    object-fit: cover;
    object-position: center;
    left: 0 !important;
    top: 0 !important;
}

/* On coupe le débordement de l'image cover */
.pgc-sgb-cb.galerie-5-images-hero
.pgcsimplygalleryblock-grid-content .pgcsimplygalleryblock-grid-item-wrap {
    overflow: hidden;
}

/*---*/

/*****************************************************
 * WP Video Lightbox / PrettyPhoto - Habillage custom
 *****************************************************/

/* === SUPPRIMER CADRES / FOND BLANC AUTOUR DE LA VIDÉO === */
div.pp_pic_holder,
div.pp_default .pp_content,
div.pp_default .pp_content_container,
div.pp_default .pp_left,
div.pp_default .pp_middle,
div.pp_default .pp_right,
div.pp_default .pp_top,
div.pp_default .pp_bottom {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

div.pp_default .pp_details{
    position: absolute;
    top:0px;
}

/* enlever les barres haut/bas de prettyPhoto */
div.pp_default .pp_top,
div.pp_default .pp_bottom {
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* supprimer les marges internes autour du média */
div.pp_default .pp_content {
    padding: 0 !important;
}

/* le conteneur s’adapte à la vidéo, sans bordure */
div.pp_default .pp_content_container {
    padding: 0 !important;
}

/* Optionnel : masquer le titre et la barre de navigation sous la vidéo */
div.pp_default .pp_description,
div.pp_default .pp_nav,
div.pp_default .pp_bottom .pp_left,
div.pp_default .pp_bottom .pp_right {
    display: none !important;
}

/* Centrer la lightbox proprement (au cas où) */
div.pp_pic_holder {
    margin: 0 !important;
}

/* === BOUTON FERMER EN HAUT À DROITE DE LA VIDÉO (CROIX CSS) === */
div.pp_default .pp_close {
    position: absolute !important;
    right: -15px;   /* ajuste la position horizontale */
    top: -15px;     /* ajuste la position verticale */
    bottom: auto;
    left: auto;

    width: 32px;
    height: 32px;

    background-color: var(--base-3); /* fond du bouton */
    border-radius: 50%;
    cursor: pointer;
    text-indent: 0;
    line-height: 0; /* pas de texte */
    overflow: visible;

    display: flex;
    align-items: center;
    justify-content: center;
    background-image: none;
    font-size:0px;
    z-index: 9999;
}

/* cacher l'image d'origine éventuelle du bouton fermer */
div.pp_default .pp_close img {
    display: none !important;
}

/* croix en CSS : deux barres qui se croisent */
div.pp_default .pp_close::before,
div.pp_default .pp_close::after {
    content: "";
    position: absolute;
    width: 18px;          /* longueur des traits */
    height: 2px;          /* épaisseur des traits */
    background-color:var(--accent);  /* couleur de la croix */
    border-radius: 2px;
}

/* barre diagonale 1 */
div.pp_default .pp_close::before {
    transform: rotate(45deg);
}

/* barre diagonale 2 */
div.pp_default .pp_close::after {
    transform: rotate(-45deg);
}

/* effet hover (optionnel) */
div.pp_default .pp_close:hover {
    background-color:var(--accent); /* couleur accent au survol */
    opacity: 1;
}
div.pp_default .pp_close:hover::before,
div.pp_default .pp_close:hover::after {
    background-color:var(--base-3);
}


/****/

/**
* Fiche agence
**/

/* 3 cas clients */
/* bloc actus (orange) */

.trois-cas-clients div>.gb-loop-item.category-actualites{
    background-color:var(--base-7);
}

.trois-cas-clients div>.gb-loop-item.category-actualites .fleche{
    background-color:var(--base-7);
}

.trois-cas-clients div>.gb-loop-item.category-actualites .fleche + .gb-shape>svg{
    fill:var(--base-7);
}

.trois-cas-clients div>.gb-loop-item.category-actualites .h5>a {
    color:var(accent-9);
}

/* bloc cas clients (vert) */
.trois-cas-clients div>.gb-loop-item.category-cas-client{
    background-color:var(--base-5);
}

.trois-cas-clients div>.gb-loop-item.category-cas-client .fleche{
    background-color:var(--base-5);
}

.trois-cas-clients div>.gb-loop-item.category-cas-client .fleche + .gb-shape>svg{
    fill:var(--base-5);
}

.trois-cas-clients div>.gb-loop-item.category-cas-client:hover .h5>a {
    color:var(--accent-2);
}
/* bloc recherches et innovations (bleu) */

.trois-cas-clients div>.gb-loop-item.category-recherches-et-innovations{
    background-color:var(--base-4);
}

.trois-cas-clients div>.gb-loop-item.category-recherches-et-innovations .fleche{
    background-color:var(--base-4);
}

.trois-cas-clients div>.gb-loop-item.category-recherches-et-innovations .fleche + .gb-shape>svg{
    fill:var(--base-4);
}

.trois-cas-clients div>.gb-loop-item.category-recherches-et-innovations:hover .h5>a{
    color:var(--accent-4);
}

/* Effets communs à tous les blocs */

.trois-cas-clients div>.gb-loop-item .h5>a{
    transition:color 0.3s ease-in-out;
}

.trois-cas-clients div>.gb-loop-item:hover .h5>a{
    color:var(--accent-3);
}

.trois-cas-clients div>.gb-loop-item:hover{
    cursor: pointer;
}

.trois-cas-clients div>.gb-loop-item .fleche{
    transition:transform 0.3s ease-in-out;
}

.trois-cas-clients div>.gb-loop-item:hover .fleche{
    transform:rotate(-45deg);
}

.trois-cas-clients .gb-loop-item>a>img {
    aspect-ratio: 1/.8;
    object-fit: cover;
}

@keyframes removeLoopItem {
    to{transform:translateY(100px); opacity:0;}
}
@keyframes addLoopItem {
    to{transform:translateY(0); opacity:1;}
}
.trois-actus-home .gb-loop-item.to-come{
    /* pointer-events: none; */
    opacity:0;
    transform:translateY(-100px);
    animation:addLoopItem .3s ease-in-out forwards;
}
.trois-actus-home .gb-loop-item.to-come:nth-child(2){
    animation-delay: 0.05s;
}
.trois-actus-home .gb-loop-item.to-come:nth-child(3){
    animation-delay: 0.1s;
}
.trois-actus-home .gb-loop-item.to-remove{
    pointer-events: none;
    opacity:1;
    transform:translateY(0);
    animation:removeLoopItem .3s ease-in-out forwards;
}
.trois-actus-home .gb-loop-item.to-remove:nth-child(2){
    animation-delay: 0.05s;
}
.trois-actus-home .gb-loop-item.to-remove:nth-child(3){
    animation-delay: 0.1s;
}

/**
* Article cas clients
**/



.trois-articles div>.gb-loop-item .h5>a{
    transition:color 0.3s ease-in-out;
}

.trois-articles div>.gb-loop-item:hover .h5>a{
    color:var(--accent-3);
}

.trois-articles div>.gb-loop-item:hover{
    cursor: pointer;
}

.trois-articles div>.gb-loop-item .fleche{
    transition:transform 0.3s ease-in-out;
}

.trois-articles div>.gb-loop-item:hover .fleche{
    transform:rotate(-45deg);
}

/**
* Listes à puces
**/

/*-classiques par défaut disc-*/


ul.wp-block-list {
    
    margin: 0;
    list-style: disc;
    list-style-position: outside;
    padding: 0 0 0 17px;
}

ul.wp-block-list li {
    margin: 0 0 12px 0;
}


/*-listes numérotés-*/

ol.wp-block-list {
    margin: 0;
    list-style: decimal;
    list-style-position: outside;
    padding: 0 0 0 17px;
}

ol.wp-block-list li{
    margin: 0 0 12px 0;
}

/**
* Liste à puces avec coche verte
**/

ul.wp-block-list.liste-coche-vert{
  list-style: none;
  margin: 0;
  padding: 0;
  
}

ul.wp-block-list.liste-coche-vert li{
  position: relative;
  padding-left: 34px;     /* = taille puce + espace */
  margin: 0 0 12px 0;     /* espacement vertical entre li */
}

ul.wp-block-list.liste-coche-vert li:last-child{
  margin-bottom: 0;
}

ul.wp-block-list.liste-coche-vert li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;             /* ajuste l’alignement vertical */
  width: 22px;            /* taille puce */
  height: 22px;           /* taille puce */
background: url(assets/img/coche-vert.svg) no-repeat center center;
  background-size: contain;
}

/**
* Liste à puces avec coche verte foncée
**/

ul.wp-block-list.liste-coche-vert-fonce{
  list-style: none;
  margin: 0;
  padding: 0;
  
}

ul.wp-block-list.liste-coche-vert-fonce li{
  position: relative;
  padding-left: 34px;     /* = taille puce + espace */
  margin: 0 0 12px 0;     /* espacement vertical entre li */
}

ul.wp-block-list.liste-coche-vert-fonce li:last-child{
  margin-bottom: 0;
}

ul.wp-block-list.liste-coche-vert-fonce li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;             /* ajuste l’alignement vertical */
  width: 22px;            /* taille puce */
  height: 22px;           /* taille puce */
background: url(assets/img/coche-vert-fonce.svg) no-repeat center center;
  background-size: contain;
}


/**
* Liste à puces avec coche orange
**/

ul.wp-block-list.liste-coche-orange{
  list-style: none;
  margin: 0;
  padding: 0;
  
}

ul.wp-block-list.liste-coche-orange li{
  position: relative;
  padding-left: 34px;     /* = taille puce + espace */
  margin: 0 0 12px 0;     /* espacement vertical entre li */
}

ul.wp-block-list.liste-coche-orange li:last-child{
  margin-bottom: 0;
}

ul.wp-block-list.liste-coche-orange li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;             /* ajuste l’alignement vertical */
  width: 22px;            /* taille puce */
  height: 22px;           /* taille puce */
background: url(assets/img/coche-orange.svg) no-repeat center center;
  background-size: contain;
}

/**
* Liste à puces avec coche bleue
**/

ul.wp-block-list.liste-coche-bleu{
  list-style: none;
  margin: 0;
  padding: 0;
  
}

ul.wp-block-list.liste-coche-bleu li{
  position: relative;
  padding-left: 34px;     /* = taille puce + espace */
  margin: 0 0 12px 0;     /* espacement vertical entre li */
}

ul.wp-block-list.liste-coche-bleu li:last-child{
  margin-bottom: 0;
}

ul.wp-block-list.liste-coche-bleu li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;             /* ajuste l’alignement vertical */
  width: 22px;            /* taille puce */
  height: 22px;           /* taille puce */
background: url(assets/img/coche-bleu.svg) no-repeat center center;
  background-size: contain;
}



/**
* Liste à puces avec croix verte
**/

ul.wp-block-list.liste-croix-vert{
  list-style: none;
  margin: 0;
  padding: 0;

}

ul.wp-block-list.liste-croix-vert li{
  position: relative;
  padding-left: 34px;     /* = taille puce + espace */
  margin: 0 0 12px 0;     /* espacement vertical entre li */
}

ul.wp-block-list.liste-croix-vert li:last-child{
  margin-bottom: 0;
}

ul.wp-block-list.liste-croix-vert li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;             /* ajuste l’alignement vertical */
  width: 22px;            /* taille puce */
  height: 22px;           /* taille puce */
background: url(assets/img/croix-vert.svg) no-repeat center center;
  background-size: contain;
}

/**
* Liste à puces avec croix orange
**/

ul.wp-block-list.liste-croix-orange{
  list-style: none;
  margin: 0;
  padding: 0;

}

ul.wp-block-list.liste-croix-orange li{
  position: relative;
  padding-left: 34px;     /* = taille puce + espace */
  margin: 0 0 12px 0;     /* espacement vertical entre li */
}

ul.wp-block-list.liste-croix-orange li:last-child{
  margin-bottom: 0;
}

ul.wp-block-list.liste-croix-orange li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;             /* ajuste l’alignement vertical */
  width: 22px;            /* taille puce */
  height: 22px;           /* taille puce */
background: url(assets/img/croix-orange.svg) no-repeat center center;
  background-size: contain;
}

/**
* Liste à puces avec croix bleue
**/

ul.wp-block-list.liste-croix-bleu{
  list-style: none;
  margin: 0;
  padding: 0;

}

ul.wp-block-list.liste-croix-bleu li{
  position: relative;
  padding-left: 34px;     /* = taille puce + espace */
  margin: 0 0 12px 0;     /* espacement vertical entre li */
}

ul.wp-block-list.liste-croix-bleu li:last-child{
  margin-bottom: 0;
}

ul.wp-block-list.liste-croix-bleu li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;             /* ajuste l’alignement vertical */
  width: 22px;            /* taille puce */
  height: 22px;           /* taille puce */
background: url(assets/img/croix-bleu.svg) no-repeat center center;
  background-size: contain;
}

/**
* Liste à puces avec croix vert fonce
**/

ul.wp-block-list.liste-croix-vert-fonce{
  list-style: none;
  margin: 0;
  padding: 0;

}

ul.wp-block-list.liste-croix-vert-fonce li{
  position: relative;
  padding-left: 34px;     /* = taille puce + espace */
  margin: 0 0 12px 0;     /* espacement vertical entre li */
}

ul.wp-block-list.liste-croix-vert-fonce li:last-child{
  margin-bottom: 0;
}

ul.wp-block-list.liste-croix-vert-fonce li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;             /* ajuste l’alignement vertical */
  width: 22px;            /* taille puce */
  height: 22px;           /* taille puce */
background: url(assets/img/croix-vert-fonce.svg) no-repeat center center;
  background-size: contain;
}

/**
* Accordéon
**/

.gb-block-is-current .gb-accordion__toggle-icon {
   background: #fff!important;
}



/**
* Contact Form 7 – Styles globaux
* Appliqués à tous les formulaires CF7 du site.
* (Anciennement scoppé sur l’ID 50181, ce qui cassait lors d’une duplication.)
**/

/* Grille */
.wpcf7 .cf7-grid{
	margin-top: 30px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.wpcf7 .cf7-col{
	margin: 0;
}

.wpcf7 .cf7-col-full{
	grid-column: 1 / -1;
}

/* Labels */
.wpcf7 label{
	display: block;
	font-weight: 600;
	color: var(--contrast);
}

/* Espacement CF7 (évite les <p> automatiques) */
.wpcf7 .cf7-grid p{
	margin: 0;
}

/* Champs */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea{
	width: 100% !important;
	max-width: 100% !important;
	border: 1px solid #d7dbe2;
	border-radius: 10px;
	background: #fff;
	padding: 12px 14px;
	box-shadow: none;
	outline: none;
	color: #333 !important;
}

/* Placeholders */
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder{
	color: #AEB2AF !important;
	opacity: 1;
}

/* Placeholders (compat) */
.wpcf7 input::-webkit-input-placeholder,
.wpcf7 textarea::-webkit-input-placeholder{
	color: #AEB2AF !important;
}
.wpcf7 input::-moz-placeholder,
.wpcf7 textarea::-moz-placeholder{
	color: #AEB2AF !important;
	opacity: 1;
}
.wpcf7 input:-ms-input-placeholder,
.wpcf7 textarea:-ms-input-placeholder{
	color: #AEB2AF !important;
}

/* Select : même hauteur + flèche custom (décalée de 12px du bord droit) */
.wpcf7 select{
	height: 48px;
	padding-right: 44px !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	background-color: #fff !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5l5-5' fill='none' stroke='%237A869A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	background-size: 14px 14px !important;
}

/* Select : couleur de la valeur "placeholder" (quand aucune sélection) */
.wpcf7 select.is-placeholder{
	color: #AEB2AF !important;
}

/* Select : couleur une fois sélectionné */
.wpcf7 select:not(.is-placeholder){
	color: #333 !important;
}

/* Textarea */
.wpcf7 textarea{
		resize: vertical;
}

/* Focus */
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus{
	border-color: #9aa4b2;
}

/* Upload */
.wpcf7 input[type="file"]{
	width: 100% !important;
	border: 0;
	padding: 0;
	background: transparent;
	font-size: 16px;
	color: #AEB2AF;
}

/* Bouton "Choisir un fichier" */
.wpcf7 input[type="file"]::file-selector-button{
	border: 1px solid #2f3a2f;
	background: #ffffff;
	border-radius: 999px;
	padding: 10px 18px;
	margin-right: 14px;
	font-weight: 600;
	color: #2f3a2f;
	cursor: pointer;
}

/* WebKit compat */
.wpcf7 input[type="file"]::-webkit-file-upload-button{
	border: 1px solid #2f3a2f;
	background: #ffffff;
	border-radius: 999px;
	padding: 10px 18px;
	margin-right: 14px;
	font-weight: 600;
	color: #2f3a2f;
	cursor: pointer;
}

.wpcf7 input[type="file"]::file-selector-button:hover,
.wpcf7 input[type="file"]::-webkit-file-upload-button:hover{
	background: #f7f7f7;
}

.wpcf7 .cf7-file-hint{
	display: inline-block;
	margin-top: 6px;
	font-size: 13px;
	color: var(--accent-5);
}

/* RGPD */
.wpcf7 .wpcf7-acceptance{
	display: block;
}

.wpcf7 .wpcf7-acceptance .wpcf7-list-item{
	margin: 0;
}

.wpcf7 .wpcf7-acceptance label{
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-weight: 500;
	font-size: 14px;
	line-height: 20px;
	color: var(--contrast-3);
}

.wpcf7 .wpcf7-acceptance input[type="checkbox"]{
	margin-top: 3px;
}

/* Bouton */
.wpcf7 input.wpcf7-submit{
	border-radius: 999px;
	padding: 12px 20px;
	background: var(--accent);
	color: var(--contrast);
	font-weight: 600;
	border: none;
	transition: background 0.3s ease-in-out;
}

.wpcf7 input.wpcf7-submit:hover{
	background: var(--base);
}

/**
* Grille actus
**/

/*--bloc orange--*/

.grille-actus div>.gb-loop-item.category-actualites{
    background-color: var(--base-7);
}

.grille-actus div>.gb-loop-item.category-actualites .fleche{
    background-color:var(--base-7);
}

.grille-actus div>.gb-loop-item.category-actualites .fleche + .gb-shape>svg{
    fill:var(--base-7);
}


.grille-actus div>.gb-loop-item.category-actualites:hover .h5>a{
    color:var(--accent-9);
}

/*--bloc vert--*/

.grille-actus div>.gb-loop-item.category-cas-client{
    background-color: var(--base-5);
}

.grille-actus div>.gb-loop-item.category-cas-client .fleche{
    background-color:var(--base-5);
}

.grille-actus div>.gb-loop-item.category-cas-client .fleche + .gb-shape>svg{
    fill:var(--base-5);
}

.grille-actus div>.gb-loop-item.category-cas-client:hover .h5>a{
    color:var(--accent-2);
}



/*--bloc bleu--*/

.grille-actus div>.gb-loop-item.category-recherches-et-innovations{
    background-color: var(--base-4);
}

.grille-actus div>.gb-loop-item.category-recherches-et-innovations .fleche{
    background-color:var(--base-4);
}

.grille-actus div>.gb-loop-item.category-recherches-et-innovations .fleche + .gb-shape>svg{
    fill:var(--base-4);
}

.grille-actus div>.gb-loop-item.category-recherches-et-innovations:hover .h5>a{
    color:var(--accent-4);
}

/*--*/

.grille-actus div>.gb-loop-item .h5>a{
    transition:color 0.3s ease-in-out;
}

.grille-actus div>.gb-loop-item:hover{
    cursor: pointer;
}

.grille-actus div>.gb-loop-item .fleche{
    transition:transform 0.3s ease-in-out;
}

.grille-actus div>.gb-loop-item:hover .fleche{
    transform:rotate(-45deg);
}

.grille-actus .gb-loop-item>a>img {
    aspect-ratio: 1/.8;
    object-fit: cover;
}


/**
* Ne pas afficher la section lorsqu'il n'y a pas d'article en lien avec la thématique
**/

.a-voir-egalement:not(:has(.gb-loop-item)){
    display:none;
}

.menu-item-has-children .gb-menu-link{
    column-gap: 5px;
}

body :where(.gb-submenu-toggle) {
    width: 11px;
}

/**
* sous-menu simple
**/

.gb-sub-menu{
    background-color: var(--base-3);
    border-radius: 12px;
    margin-top: 7px!important;
    left: 0px;
    right: auto;
    box-shadow: 0 2px 4px rgba(0,0,0,0.06),0 8px 16px rgba(0,0,0,0.1);
    width: 100%!important;
    min-width:200px;
    padding:15px 0px!important;
}

.gb-sub-menu:before{
    content: "";
    position: absolute;
    top: -7px;
    left: 0px;
    width: 100%;
    height: 7px;
    background: transparent;
   cursor: pointer;
}



.gb-sub-menu .menu-item{
    background: transparent!important;
}
.gb-sub-menu .gb-menu-item .gb-menu-link {
    color: var(--contrast-2);
    background-color: transparent!important;
    border-radius:0px!important;    
}
.gb-sub-menu .gb-menu-item:is(:hover,:focus) .gb-menu-link {
    color: var(--accent-2);
    background-color: transparent!important;
    border-radius:0px!important;
}
.trois-actus-home .gb-loop-item>a>img {
    aspect-ratio: 1/.8;
    object-fit: cover;
}


/**
* Menu mobile actu - contact - recrutement
**/

.nav-principale .menu-mobile{
    display:none;
}