/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Description: Child Theme for Astra
Author: CBP
Template: astra
Version: 1.0.0
Text Domain: astra-child
*/


/*
.elementor-button-icon svg {width: auto !important;}
.elementor-button-content-wrapper {align-items: center;}
*/

@media(max-width: 1150px) and (min-width:1025px) {
    .btn-header .elementor-button {
        padding: 14px 20px;
    }
    .menu-bloc a.elementor-item.menu-link {
        padding-left: 0 !important;
    }
}

.elementor-button:hover .elementor-button-icon svg,
.elementor-button:hover .elementor-button-icon svg path {
    fill: currentColor !important;
    stroke: currentColor;
    transition: fill 0.3s ease, stroke 0.3s ease;
}


/*home accordions*/

.values-list {
    width: 100%;
    margin: 0 auto;
    display: block !important;
}

.values-list>.value-item {
    display: grid !important;
    /* 3 zones distinctes : (1) titre — jamais plus étroit que sa largeur
       naturelle (max-content), donc jamais de retour à la ligne, et peut
       grandir (1fr) si la place est libre ; (2) description — largeur
       bornée (voir .value-description), avec un vrai column-gap pour ne
       jamais coller au titre ; (3) toggle +/X, largeur fixe. */
    grid-template-columns: minmax(max-content, 1fr) minmax(320px, 420px) 70px;
    column-gap: 60px;
    align-items: center;
    width: 100% !important;
    height: 115px;
    min-height: 115px;
    padding: 0;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

/* Ligne ouverte : la hauteur suit le contenu (une description sur 5-6
   lignes ne doit jamais être coupée), jamais en dessous de la hauteur
   fermée. Les lignes fermées gardent exactement 115px. Comme .value-item
   est un bloc empilé normalement dans le flux, une ligne plus haute pousse
   simplement la suivante plus bas : aucune superposition possible. */
.values-list>.value-item.active {
    height: auto;
    min-height: 115px;
    overflow: visible;
}

.values-list>.value-item>.elementor-element {
    width: auto !important;
    flex: none !important;
}

.values-list .value-title {
    grid-column: 1;
    z-index: 1;
    justify-self: start;
    align-self: center;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(80%);
    transition: transform 0.45s ease;
    width:80%;
}



.value-before {
    position: relative;
    overflow: hidden;
}

.values-list .value-title .elementor-heading-title {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0.95;
    transition: color 0.4s ease;
}

.values-list .value-item.active .value-title {
    transform: translateY(0);
}

.values-list .value-item.active .value-title .elementor-heading-title {
    color: var(--e-global-color-primary) !important;
}

.value-item .e-con-inner {
    max-width: 900px;
}

.values-list .value-description {
    grid-column: 2;
    justify-self: start;
    align-self: center;
    width: 100%;
    max-width: 380px;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    pointer-events: none;
    transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s ease;
}

.values-list .value-description p {
    margin: 0 !important;
    line-height: 1.15;
}

.values-list .value-toggle {
    grid-column: 3;
    justify-self: end;
    align-self: center;
    margin: 0 !important;
    padding: 0 !important;
    transform: rotate(0deg);
    transform-origin: center center;
    transition: transform 0.4s ease;
}

.values-list .value-item.active .value-description {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.values-list .value-item.active .value-toggle {
    transform: rotate(45deg);
}

.values-list .value-item.active .value-toggle svg path {
    fill: var(--e-global-color-primary) !important;
}

.values-list .value-item.active .value-toggle i {
    color: var(--e-global-color-primary) !important;
}

@media screen and (max-width: 1024px) {
    .value-item .e-con-inner {
        width: 100%;
    }
    .values-list {
        padding-left: 30px;
        padding-right: 30px;
        box-sizing: border-box;
    }
    .values-list>.value-item {
        grid-template-columns: minmax(max-content, 1fr) minmax(230px, 320px) 60px;
        column-gap: 40px;
        height: 105px;
        min-height: 105px;
    }
    .values-list>.value-item.active {
        min-height: 105px;
    }
}
@media(max-width: 992px) and (min-width:767px) {
    .values-list .value-description{    max-width: 380px !important; }
    .values-list .value-item.active .value-description{width: 50% !important;}
}
@media screen and (max-width: 767px) {
    .values-list {
        width: 100%;
        max-width: none;
        padding-left: 20px;
        padding-right: 20px;
    }
    .values-list>.value-item {
        grid-template-columns: minmax(0, 1fr) 45px;
        grid-template-rows: auto auto;
        column-gap: 15px;
        height: auto;
        min-height: 90px;
        padding: 18px 0;
        overflow: visible;
    }
    .values-list .value-title {
        grid-column: 1;
        grid-row: 1;
        transform: none;
                width: 40%;
    }
    .values-list .value-toggle {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        transform: rotate(0deg);
    }
    .values-list .value-description {
        grid-column: 1 / -1;
        grid-row: 2;
        max-width: 100%;
        max-height: 0;
        overflow: hidden;
        margin-top: 0 !important;
        opacity: 0;
        transition: max-height 0.4s ease, opacity 0.4s ease, margin-top 0.4s ease;
    }
    .values-list .value-description p {
        max-width: 100%;
    }
    .values-list .value-item.active .value-description {
        /* Plafond volontairement large (transition CSS max-height oblige) :
           sert uniquement à animer l'ouverture, ne doit jamais tronquer un
           texte réel. */
        max-height: 1000px;
        margin-top: 14px !important;
        opacity: 1;
    }
    .values-list .value-item.active .value-toggle {
        transform: rotate(45deg);
    }
}

header .menu-home-icon>a {
    font-size: 0 !important;
}
header .menu-home-icon>a::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url("/wp-content/uploads/sites/2/2026/08/home-ic.png");
    background-color: transparent !important;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
    opacity: 1 !important;
}

header .menu-home-icon {
    margin-right: 20px !important;
}

.text-orange {
    color: #ff4200;
}
.text-jaune {
    color: #ed9e00;
}
@media(max-width: 992px) and (min-width:767px) {
    .values-list .value-title .elementor-heading-title{
            font-size: 60px !important;
    }
    .values-list .value-title{
            white-space: nowrap;
            width: max-content;
    }
}
@media(max-width: 766px) and (min-width:543px) {
    .values-list .value-title .elementor-heading-title{
            font-size:28px !important;
    }
        .value-item .e-con-inner {
        flex-wrap: nowrap !important; 
        flex-direction: row !important;
    }
}

@media (max-width: 542px) {

     .values-list .value-title .elementor-heading-title{
            font-size: 30px !important;
    }

    .values-list .value-item {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

    /* Titre */
    .values-list .value-title {
        width: auto;
        flex: 0 0 auto;
        order:1;
    }

    /* Icône */
    .values-list .value-toggle {
        width: auto;
        flex: 0 0 auto;
        margin-left: 15px;
        order:2;
    }

    .values-list .value-toggle  .elementor-icon{font-size:30px !important;}

    /* Description en dessous */
    .values-list .value-description {
        flex: 0 0 100%;
        width: 100%;
        order:3;
    }

}

/* ==========================================================
   BACK TO TOP - ASTRA
   ========================================================== */

/* Bouton principal */
#ast-scroll-top {
    width: 66px !important;
    height: 66px !important;

    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 50% !important;

    /* Couleur du cercle */
    background-color: var(--ast-global-color-2) !important;

    right: 32px !important;
    bottom: 32px !important;

    line-height: 1 !important;
    border:2px solid var(--ast-global-color-5);
}


/* ----------------------------------------------------------
   Cacher complètement l'icône / SVG d'origine d'Astra
   ---------------------------------------------------------- */

#ast-scroll-top .ast-icon {
    display: none !important;
}

#ast-scroll-top::before {
    content: "";
    display: block;
    width: 16px;
    height: 19px;
    background-color: var(--ast-global-color-2) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='19' viewBox='0 0 16 19' fill='none'%3E%3Cpath d='M0.324946 6.93082L6.93194 0.323827C7.03424 0.22117 7.1558 0.139716 7.28965 0.0841382C7.4235 0.0285618 7.567 -5.02778e-05 7.71193 -5.02651e-05C7.85686 -5.02524e-05 8.00036 0.0285619 8.13421 0.0841382C8.26806 0.139716 8.38962 0.22117 8.49192 0.323827L15.0989 6.93082C15.3058 7.13769 15.422 7.41826 15.422 7.71081C15.422 8.00337 15.3058 8.28394 15.0989 8.4908C14.892 8.69767 14.6115 8.81389 14.3189 8.81389C14.0264 8.81389 13.7458 8.69767 13.5389 8.4908L8.81218 3.76405L8.81218 17.2533C8.81218 17.5454 8.69616 17.8255 8.48965 18.032C8.28314 18.2385 8.00306 18.3545 7.71101 18.3545C7.41896 18.3545 7.13888 18.2385 6.93237 18.032C6.72586 17.8255 6.60985 17.5454 6.60985 17.2533L6.60985 3.76405L1.8831 8.49172C1.67623 8.69859 1.39566 8.8148 1.1031 8.8148C0.810551 8.8148 0.529979 8.69859 0.323112 8.49172C0.116245 8.28485 2.66541e-05 8.00428 2.66796e-05 7.71173C2.67052e-05 7.41917 0.116245 7.1386 0.323113 6.93174L0.324946 6.93082Z' fill='%23F2F2F2'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 19px;

    pointer-events: none;
    
}

#ast-scroll-top {
    transition:
        transform 0.25s ease,
        opacity 0.25s ease;
}

#ast-scroll-top:hover {transform: translateY(-3px);}

.cbtp-article-media, .cbtp-realisation-media {
	min-height: 250px;
}

.site-signalisation .expertise-card.is-expanded{
    background-color: #F5CD80 !important;
}

.site-imprimerie .expertise-card.is-expanded{
    background-color: #F08AA1 !important;
}

body.site-signalisation
.expertise-slider__arrow--prev img {
    content: url("/wp-content/uploads/sites/3/2026/08/sig-ic.png") !important;
}

/* Flèche suivante */
body.site-signalisation
.expertise-slider__arrow--next img {
    content: url("/wp-content/uploads/sites/3/2026/08/sig-ic-r.png") !important;
}

body.site-imprimerie
.expertise-slider__arrow--prev img {
    content: url("/wp-content/uploads/sites/4/2026/08/imp-ic-l.png") !important;
}

/* Flèche suivante */
body.site-imprimerie
.expertise-slider__arrow--next img {
    content: url("/wp-content/uploads/sites/4/2026/08/imp-ic.png") !important;
}

body.site-maconnerie #ast-scroll-top::before{
    background-color: var(--ast-global-color-5) !important;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='19' viewBox='0 0 16 19' fill='none'%3E%3Cpath d='M0.324946 6.93082L6.93194 0.323827C7.03424 0.22117 7.1558 0.139716 7.28965 0.0841382C7.4235 0.0285618 7.567 -5.02778e-05 7.71193 -5.02651e-05C7.85686 -5.02524e-05 8.00036 0.0285619 8.13421 0.0841382C8.26806 0.139716 8.38962 0.22117 8.49192 0.323827L15.0989 6.93082C15.3058 7.13769 15.422 7.41826 15.422 7.71081C15.422 8.00337 15.3058 8.28394 15.0989 8.4908C14.892 8.69767 14.6115 8.81389 14.3189 8.81389C14.0264 8.81389 13.7458 8.69767 13.5389 8.4908L8.81218 3.76405L8.81218 17.2533C8.81218 17.5454 8.69616 17.8255 8.48965 18.032C8.28314 18.2385 8.00306 18.3545 7.71101 18.3545C7.41896 18.3545 7.13888 18.2385 6.93237 18.032C6.72586 17.8255 6.60985 17.5454 6.60985 17.2533L6.60985 3.76405L1.8831 8.49172C1.67623 8.69859 1.39566 8.8148 1.1031 8.8148C0.810551 8.8148 0.529979 8.69859 0.323112 8.49172C0.116245 8.28485 2.66541e-05 8.00428 2.66796e-05 7.71173C2.67052e-05 7.41917 0.116245 7.1386 0.323113 6.93174L0.324946 6.93082Z' fill='%23FF4200'/%3E%3C/svg%3E");
}

body.site-maconnerie #ast-scroll-top, 
body.site-signalisation #ast-scroll-top, 
body.site-imprimerie #ast-scroll-top{
        background-color: var(--ast-global-color-5) !important;
}

body.site-signalisation #ast-scroll-top::before{
    background-color: var(--ast-global-color-5) !important;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='19' viewBox='0 0 16 19' fill='none'%3E%3Cpath d='M0.324946 6.93082L6.93194 0.323827C7.03424 0.221169 7.1558 0.139717 7.28965 0.0841391C7.4235 0.028561 7.567 -4.95736e-05 7.71193 -4.9561e-05C7.85686 -4.95483e-05 8.00036 0.0285611 8.13421 0.0841391C8.26806 0.139717 8.38962 0.22117 8.49192 0.323828L15.0989 6.93082C15.3058 7.13769 15.422 7.41826 15.422 7.71081C15.422 8.00337 15.3058 8.28394 15.0989 8.4908C14.892 8.69767 14.6115 8.81389 14.3189 8.81389C14.0264 8.81389 13.7458 8.69767 13.5389 8.4908L8.81218 3.76405L8.81218 17.2533C8.81218 17.5454 8.69616 17.8255 8.48965 18.032C8.28314 18.2385 8.00306 18.3545 7.71101 18.3545C7.41896 18.3545 7.13888 18.2385 6.93237 18.032C6.72586 17.8255 6.60985 17.5454 6.60985 17.2533L6.60985 3.76405L1.8831 8.49172C1.67623 8.69859 1.39566 8.8148 1.1031 8.8148C0.81055 8.8148 0.529979 8.69859 0.323112 8.49172C0.116245 8.28485 2.61908e-05 8.00428 2.62164e-05 7.71173C2.6242e-05 7.41918 0.116245 7.1386 0.323112 6.93174L0.324946 6.93082Z' fill='%23ED9E00'/%3E%3C/svg%3E");
}

body.site-imprimerie #ast-scroll-top::before{
    background-color: var(--ast-global-color-5) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='19' viewBox='0 0 16 19' fill='none'%3E%3Cpath d='M0.324946 6.93082L6.93194 0.323827C7.03424 0.221169 7.1558 0.139717 7.28965 0.0841391C7.4235 0.028561 7.567 -4.95736e-05 7.71193 -4.9561e-05C7.85686 -4.95483e-05 8.00036 0.0285611 8.13421 0.0841391C8.26806 0.139717 8.38962 0.22117 8.49192 0.323828L15.0989 6.93082C15.3058 7.13769 15.422 7.41826 15.422 7.71081C15.422 8.00337 15.3058 8.28394 15.0989 8.4908C14.892 8.69767 14.6115 8.81389 14.3189 8.81389C14.0264 8.81389 13.7458 8.69767 13.5389 8.4908L8.81218 3.76405L8.81218 17.2533C8.81218 17.5454 8.69616 17.8255 8.48965 18.032C8.28314 18.2385 8.00306 18.3545 7.71101 18.3545C7.41896 18.3545 7.13888 18.2385 6.93237 18.032C6.72586 17.8255 6.60985 17.5454 6.60985 17.2533L6.60985 3.76405L1.8831 8.49172C1.67623 8.69859 1.39566 8.8148 1.1031 8.8148C0.81055 8.8148 0.529979 8.69859 0.323112 8.49172C0.116245 8.28485 2.61908e-05 8.00428 2.62164e-05 7.71173C2.6242e-05 7.41918 0.116245 7.1386 0.323112 6.93174L0.324946 6.93082Z' fill='%23E11D48'/%3E%3C/svg%3E");
}

.text-rose {
color: #e11d48;
}

@media(max-width: 1500px) and (min-width:1025px) {
    #gouvernance.bg-mission:before{background-position: 700px 0px !important; background-repeat: repeat-y !important;}
}

@media(min-width:1025px) {
    .value-before:last-child .value-title {     transform: translateY(100%);}
}

div#realisations {
    overflow: hidden;
}