/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Willy Swendra
 Author URI:   https://we-deve.com
 Template:     generatepress
 Version:      0.1
*/

/* Liens avec soulignement animé */
a{
    color: #2fabda;
    position: relative;
    text-decoration: none;
}

/* Le trait */
a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px; /* distance sous le texte */
    width: 100%;
    height: 2px;
    /*background-color: currentColor;*/ /* reprend la couleur du lien */
    background: linear-gradient(90deg, #0074D9, #00AEEF);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

/* Animation au hover */
a:hover::after,
a:focus::after {
    transform: scaleX(1);
}

/* Exception pour les liens qui contiennent une image */
.site-logo a::after{
    display: none;
}

h1 {
    font-size: clamp(2.2rem, 4vw, 3.2rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
}

h2 {
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.015em;
    margin-bottom: 0.8rem;

    padding: 0px;
    background-color: #2fabda;
    padding: 10px;
    color: white;
}

h1::after {
    content: "";
    display: block;
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, #0074D9, #00AEEF);
    margin-top: 0.4rem;
}

h3 {
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -0.01em;
    margin-bottom: 0.5rem;
}

h4 {
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.005em;
    margin-bottom: 0.4rem;
    position: relative;
    padding-bottom: 0.4rem; /* espace pour la ligne */
}

/*
h4::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 3px;
    width: 24px;       
    height: 2px;       
    background: linear-gradient(90deg, #0074D9, #00AEEF);
    border-radius: 1px;
}
*/
h4 a:hover::after {
    background: linear-gradient(90deg, #0074D9, #00AEEF);
}

/*** Entête */
.inside-header{
    padding: 0px;
}

.site-header{
    position: sticky;
    top: 10px;
    z-index: 9999;
}

/*** Entête n°1 */
.we-deve-top-bar {
    background-color: #2fabda;
    color: #ffffff;
    font-size: 14px;
    text-align: center;
    padding: 5px 0;
    position: sticky;
    top: 0;
    z-index: 9999;
}

.we-deve-top-bar-content {
    display: flex;
    justify-content: center;
    gap: 20px; 
    flex-wrap: wrap; 
}

.we-deve-top-bar-content .we-deve-contact {
    display: inline-block;
}

.we-deve-top-bar-content .we-deve-contact a{
    color: white;
    text-decoration: none;
}

/*** Menu */
.main-navigation .main-nav ul li a, .main-navigation .menu-toggle, .main-navigation .menu-bar-items{
    font-family:Open Sans,Arial,sans-serif;
    color: rgba(0, 0, 0, 0.6);
    font-weight: 600;
    transition: opacity 0.4s ease-in-out, background-color 0.4s ease-in-out;
}

.main-navigation .main-nav ul li a:hover, 
.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a, .main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a, .main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]) > a, .main-navigation .menu-bar-item:hover > a, .main-navigation .menu-bar-item.sfHover > a{
    color: #2fabda;
}

.main-navigation .main-nav ul li a, .main-navigation .menu-toggle, .main-navigation .menu-bar-items{
    text-transform: uppercase;
}
.main-navigation ul ul{
    width : 230px;
}

/*** Les boutons */
button, html input[type="button"], input[type="reset"], input[type="submit"], a.button, a.wp-block-button__link:not(.has-background){
    background-color: transparent;
}

button:hover, html input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover, a.button:hover, button:focus, html input[type="button"]:focus, input[type="reset"]:focus, input[type="submit"]:focus, a.button:focus, a.wp-block-button__link:not(.has-background):active, a.wp-block-button__link:not(.has-background):focus, a.wp-block-button__link:not(.has-background):hover{
    color: #2fabda!important;
    background-color: transparent;
}

/*** Le slider */
.n2-ss-slider .n2-ss-button-container .n2-ow{
    transition: background-color 0.3s ease, color 0.3s ease;
}
.n2-ss-button-container .n2-ow:hover, 
.n2-ss-button-container .n2-ow:active, 
.n2-ss-button-container .n2-ow:focus{
    background-color:#4992AC!important;
}

/*** Nos expertises */
.expertise_item{
    display: flex;
    flex-direction: column;    /* empile le texte verticalement */
    justify-content: center;   /* centre verticalement */
    align-items: center;       /* centre horizontalement */
    height: 800px;             /* hauteur du bloc */
    background-size: cover;    /* remplit le bloc sans déformer */
    background-position: center;
    background-repeat: no-repeat;
    text-align: center;
    position: relative;        /* si tu veux ajouter overlay */
}
.expertise_item:before{
     content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    /*background: rgba(0,0,0,0.2);*/  /* overlay léger */
    z-index: 0;
}

/*** Nos conseils + retour d'expérience */
.page-conseil-expertise-numerique .wp-block-post-featured-image :where(img){
    max-height: 200px;
    margin-bottom: 10px;
}
.wp-block-post-excerpt__excerpt{
    max-height: 100px;
    overflow: hidden;
}
/*** Avis des clients */
.single-item-wrapper .item-content{
    max-height: 100px;
    overflow: hidden;
}
.tss-meta-info{
    display: none;
}
.tss-wrapper .single-item-wrapper h3.author-name{
    color: #2fabda;
}
.tss-carousel-main .swiper-pagination-bullet, .tss-carousel .swiper-pagination-bullet{
    background-color: #2fabda;
}

/*** Pourquoi travailler avec nous ? */
.indicateur{
    color:white;
    border: 4px solid white;
    font-size: 4vw!important;
    width: 15vw;
    height: 15vw;
    border-radius: 50%;
    display: flex;
    justify-content: center; 
    align-items: center;     
    margin: 0 auto;
    font-weight: bold;
    line-height: 1 !important;
    padding: 0 !important;
}
.indicateur_texte{
    font-size: 1.5vw!important;
    margin: 5px;
}

/*** Retour Expérience */
.retour_experiences .wp-block-group{
    padding: 0px!important;
}
.site-main .wp-block-group__inner-container{
 
    padding: 0px;
}

/*** Ils nous font confiance */
.wp-block-lcb-logo-carousel.alcb__active_pagination{
    padding: 0px;
}

.wp-block-lcb-logo-carousel .alcb__logo-image img{
    max-height: 250px;
    height: 100%;
}

/*** Pages : Portfolio + blog */
.page-portfolio h2, 
.page-blog h2{
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.005em;
    margin-bottom: 0.4rem;
    position: relative;
    padding-bottom: 0.4rem; 
}
.page-portfolio h2 a, 
.page-blog h2 a{
    color: white;
}

/*** Blog */
.page-blog .gb-loop-item{
    padding: 10px;

}

/*** Portoflio */
.page-portfolio .gb-loop-item{
    padding: 10px;
}

.page-portfolio .wp-block-post-featured-image{
    height: 320px;
}

.page-portfolio .gb-text{
margin-top: 10px;
}

/*** Pages profondes : */
.page-prestashop-e-commerce h2,
.page-hebergement-web h2,
.page-wordpress-cms-gestion-de-contenu-dynamique h2, 
.page-dolibarr-erp-crm h2,
.page-gestion-numerique h2{
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -0.01em;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    /*background-color: transparent;*/
    /*color: black;*/
    /*padding: 0px;*/
}

.competence_item_text{
    margin-top: 10px!important;
}

.page-gestion-numerique .quote-image-container {
  display: flex;
  flex-wrap: wrap;      /* pour empiler sur mobile */
  gap: 2%;              /* espace entre les blocs */
}

.page-gestion-numerique .quote-image-container .wp-block-quote,
.page-gestion-numerique .quote-image-container .wp-block-image {
  flex: 1 1 42%;        /* deux blocs côte à côte sur desktop */
  min-width: 300px;     /* empile sur mobile si écran trop petit */
}
