.elementor-956 .elementor-element.elementor-element-49d5840{--display:flex;--min-height:282px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-956 .elementor-element.elementor-element-49d5840:not(.elementor-motion-effects-element-type-background), .elementor-956 .elementor-element.elementor-element-49d5840 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://a2l-contractant-general.fr/wp-content/uploads/2025/01/couverture-nos-realisations-a2l-contractant-general.webp");background-position:bottom center;background-repeat:no-repeat;background-size:cover;}.elementor-956 .elementor-element.elementor-element-49d5840.e-con{--align-self:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-956 .elementor-element.elementor-element-d63aaa1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-956 .elementor-element.elementor-element-d63aaa1{text-align:center;}.elementor-956 .elementor-element.elementor-element-d63aaa1 .elementor-heading-title{font-family:"Gotham", Sans-serif;font-weight:900;text-transform:uppercase;color:var( --e-global-color-accent );}.elementor-956 .elementor-element.elementor-element-177a658{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:030px;--padding-bottom:60px;--padding-left:050px;--padding-right:50px;}.elementor-956 .elementor-element.elementor-element-0adfc8e.elementor-element{--align-self:center;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-956 .elementor-element.elementor-element-177a658{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-956 .elementor-element.elementor-element-177a658.e-con{--align-self:center;}}@media(max-width:767px){.elementor-956 .elementor-element.elementor-element-49d5840{--min-height:37vh;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:65px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-956 .elementor-element.elementor-element-d63aaa1 .elementor-heading-title{font-size:30px;}.elementor-956 .elementor-element.elementor-element-177a658{--padding-top:20px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}}/* Start custom CSS for shortcode, class: .elementor-element-0adfc8e */.page-realisation-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin: 0 auto;
    width: 100%;
}

.filter-bar {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px; /* Espacement entre les boutons */
    padding: 10px;
    position: relative;
}

/* Style des boutons */
.filter-button {
    position: relative;
    padding: 10px 15px;
    cursor: pointer;
    font-size: 16px;
    text-transform: uppercase;
    background: transparent;
    color: #ffffff
}


.filter-button .filter-border-top::before {
    content: "";
    position: absolute;
    top: -5px; /* Place la barre juste au-dessus du bouton */
    right: 0;
    width: 0;  /* Largeur par défaut est 0 */
    height: 2px;
    background: #88634E;
    transition: width 0.3s ease-in-out;
}


.filter-button:hover .filter-border-top::before {
    width: 20px;
}

.filter-button .filter-border-top::after {
    content: "";
    position: absolute;
    top: -5px; /* Place la barre juste au-dessus du bouton */
    right: 0;
    width: 2px;  /* Largeur par défaut est 0 */
    height: 0px;
    background: #88634E;
    transition: height 0.3s ease-in-out;
}


.filter-button:hover .filter-border-top::after {
    height: 20px; 
}

.filter-button .filter-border-bottom::before {
    content: "";
    position: absolute;
    bottom: -2px; /* Place la barre juste au-dessus du bouton */
    left: 0;
    width: 0;  /* Largeur par défaut est 0 */
    height: 2px;
    background: #88634E;
    transition: width 0.3s ease-in-out;
}


.filter-button:hover .filter-border-bottom::before {
    width: 20px;
}

.filter-button .filter-border-bottom::after {
    content: "";
    position: absolute;
    bottom: -2px; /* Place la barre juste au-dessus du bouton */
    left: 0;
    width: 2px;  /* Largeur par défaut est 0 */
    height: 0px;
    background: #88634E;
    transition: height 0.3s ease-in-out;
}

.filter-button:hover .filter-border-bottom::after {
    height: 20px; 
}
.filter-button.active {font-weight: bold}
/* 🌟 Quand un bouton est actif, la barre reste visible */
.filter-button.active .filter-border-top::before {
    width: 20px;  /* Largeur de la barre quand le bouton est actif */
}

.filter-button.active .filter-border-top::after {
    height: 20px;  /* Hauteur de la barre quand le bouton est actif */
}

.filter-button.active .filter-border-bottom::before {
    width: 20px;  /* Largeur de la barre quand le bouton est actif */
}

.filter-button.active .filter-border-bottom::after {
    height: 20px;  /* Hauteur de la barre quand le bouton est actif */
}

.realisation-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px !important;
    justify-items: center;
    align-items: center;
    text-align: center;
    width: 100%;
}

.realisation-item {
    width: 400px;
    height: 280px; 
    position: relative;
}

.realisation-thumbnail {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: #f2f2f2;
}

.realisation-thumbnail {
    text-decoration: none !important;
    color: inherit !important;
    display: block !important;
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: #f2f2f2;
    cursor: pointer !important;
}

.realisation-info {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(23, 34, 58, 0.6); 
    color: #fff;
    opacity: 0;
    visibility: hidden;
    padding-left: 20px;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    text-align: left;  /* Aligner le texte à gauche */
}


.realisation-item:hover .realisation-info {
    opacity: 1;
    visibility: visible;
}

.realisation-title {
    font-size: 23px !important;
    font-weight: bold;
    text-transform: uppercase;
    margin: 0;
}

.realisation-description {
    font-size: 18px;
    margin: 0;
}

.realisation-categorie {
    text-transform: uppercase;
    margin: 0 0 10px 0;
    padding: 0;
}

/* Bordures animées */
.realisation-item .bordureHaut:after,
.realisation-item .bordureHaut:before,
.realisation-item .bordureBas:after,
.realisation-item .bordureBas:before {
    opacity: 0;
    position: absolute;
    content: "";
    background: #88634E;
    transition: all 0.3s ease-in-out;
}

.realisation-item .bordureHaut:after {
    width: 3px;
    height: 0px;
    top: -21px;
    left: -3px;
}

.realisation-item .bordureHaut:before {
    width: 0px;
    height: 3px;
    top: -3px;
    left: -23px;
}

.realisation-item:hover .bordureHaut:before,
.realisation-item:hover .bordureHaut:after {
    opacity: 1;
}

.realisation-item:hover .bordureHaut:before {
    width: 80px;
}

.realisation-item:hover .bordureHaut:after {
    height: 80px;
}

.realisation-item .bordureBas:after {
    width: 3px;
    height: 0px;
    bottom: -15px;
    right: -3px;
}

.realisation-item .bordureBas:before {
    width: 0px;
    height: 3px;
    bottom: -3px;
    right: -20px;
}

.realisation-item:hover .bordureBas:before,
.realisation-item:hover .bordureBas:after {
    opacity: 1;
}

.realisation-item:hover .bordureBas:before {
    width: 80px;
}

.realisation-item:hover .bordureBas:after {
    height: 80px;
}

.text-load-more {
    width:fit-content;
    font-size: 20px;
    font-weight: 400;
    position: relative;
    padding: 20px 0 10px 0;
    margin-top: 30px;
    text-align: center;
    text-transform: uppercase;
    color: #ffffff;
    padding : 9px 9px 10px 10px;
        border-right: 0px;
    border-top: 0px ;
    cursor: pointer;
}

.text-load-more::before {
    width: 1px;
    height: 90%;
    bottom: -10px;
    content: '';
    position: absolute;
    background: #ffffff;
    margin-left: -20px;
    transition: height .3s ease-out;
    
}

.text-load-more::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: -20px;
    width: 96%;
    height: 1px;
    background: #ffffff;
    transition: width .3s ease-out;
}

.text-load-more:hover::after {
    width: 120%;
}

.text-load-more:hover::before {
    height: 120%;
}

.text-load-more:hover{color: #ffffff;}

@media screen and (max-width: 767px) {
    .filter-bar {
        flex-wrap: wrap;
        gap:0;
    }
    
    .realisation-grid {
        grid-template-columns: 1fr;
    }
    
    .realisation-item {
        width: 350px;
        height: 230px;
        position: relative;
    }
    
.realisation-item .bordureHaut:after,
.realisation-item .bordureHaut:before,
.realisation-item .bordureBas:after,
.realisation-item .bordureBas:before {
    opacity: 1 !important;
}
.realisation-overlay .realisation-info {
    opacity: 1;
}

.realisation-item .bordureBas:before {
    width: 80px;
}

.realisation-item .bordureBas:after {
    height: 80px;
}

.realisation-item .bordureHaut:before {
    width: 80px;
}

.realisation-item .bordureHaut:after {
    height: 80px;
}

.realisation-item .realisation-info {
    opacity: 1;
    visibility: visible;
}
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    
    .filter-bar {
        flex-wrap: wrap;
    }
    
    .realisation-grid {
        grid-template-columns: repeat(2, 1fr);
    }
        .realisation-item {
        width: 350px;
        height: 230px;
        position: relative;
    }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Gotham';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://a2l-contractant-general.fr/wp-content/uploads/2025/01/Gotham-Book.ttf') format('truetype');
}
@font-face {
	font-family: 'Gotham';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://a2l-contractant-general.fr/wp-content/uploads/2025/01/Gotham-Light.ttf') format('truetype');
}
@font-face {
	font-family: 'Gotham';
	font-style: italic;
	font-weight: 300;
	font-display: auto;
	src: url('https://a2l-contractant-general.fr/wp-content/uploads/2025/01/Gotham-LightItalic.ttf') format('truetype');
}
@font-face {
	font-family: 'Gotham';
	font-style: normal;
	font-weight: bold;
	font-display: auto;
	src: url('https://a2l-contractant-general.fr/wp-content/uploads/2025/01/Gotham-Bold.ttf') format('truetype');
}
@font-face {
	font-family: 'Gotham';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://a2l-contractant-general.fr/wp-content/uploads/2025/01/Gotham-Medium.ttf') format('truetype');
}
/* End Custom Fonts CSS */