.elementor-2561 .elementor-element.elementor-element-c3aaf12{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:50px;--padding-bottom:25px;--padding-left:50px;--padding-right:50px;}.elementor-2561 .elementor-element.elementor-element-5d10b96{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 20px;--row-gap:0px;--column-gap:20px;}.elementor-2561 .elementor-element.elementor-element-6eb8a2f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.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-2561 .elementor-element.elementor-element-0694417{text-align:left;}.elementor-2561 .elementor-element.elementor-element-0694417 .elementor-heading-title{font-family:var( --e-global-typography-142cd61-font-family ), Sans-serif;font-size:var( --e-global-typography-142cd61-font-size );font-weight:var( --e-global-typography-142cd61-font-weight );line-height:var( --e-global-typography-142cd61-line-height );color:var( --e-global-color-e23ac43 );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2561 .elementor-element.elementor-element-7c8c03d{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:var( --e-global-typography-c53c9cd-font-family ), Sans-serif;font-size:var( --e-global-typography-c53c9cd-font-size );font-weight:var( --e-global-typography-c53c9cd-font-weight );color:#000000;}.elementor-2561 .elementor-element.elementor-element-7c8c03d.elementor-element{--align-self:center;}.elementor-2561 .elementor-element.elementor-element-bc0bc51{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2561 .elementor-element.elementor-element-2c73be5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2561 .elementor-element.elementor-element-73c9239{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:100px;--padding-bottom:100px;--padding-left:50px;--padding-right:50px;}.elementor-2561 .elementor-element.elementor-element-73c9239:not(.elementor-motion-effects-element-type-background), .elementor-2561 .elementor-element.elementor-element-73c9239 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-4c75b5c );}.elementor-2561 .elementor-element.elementor-element-2e933f9{text-align:left;}.elementor-2561 .elementor-element.elementor-element-2e933f9 .elementor-heading-title{font-family:var( --e-global-typography-142cd61-font-family ), Sans-serif;font-size:var( --e-global-typography-142cd61-font-size );font-weight:var( --e-global-typography-142cd61-font-weight );line-height:var( --e-global-typography-142cd61-line-height );color:#000000;}.elementor-2561 .elementor-element.elementor-element-6537fa7.elementor-element{--align-self:center;}.elementor-2561 .elementor-element.elementor-element-6537fa7{text-align:left;font-family:"Quicksand", Sans-serif;font-size:18px;font-weight:400;color:#000000;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-2561 .elementor-element.elementor-element-4ff68ab{--grid-columns:3;}@media(min-width:768px){.elementor-2561 .elementor-element.elementor-element-6eb8a2f{--width:80%;}.elementor-2561 .elementor-element.elementor-element-bc0bc51{--width:50%;}}@media(max-width:1366px){.elementor-2561 .elementor-element.elementor-element-0694417 .elementor-heading-title{font-size:var( --e-global-typography-142cd61-font-size );line-height:var( --e-global-typography-142cd61-line-height );}.elementor-2561 .elementor-element.elementor-element-7c8c03d{font-size:var( --e-global-typography-c53c9cd-font-size );}.elementor-2561 .elementor-element.elementor-element-73c9239{--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-2561 .elementor-element.elementor-element-2e933f9 .elementor-heading-title{font-size:var( --e-global-typography-142cd61-font-size );line-height:var( --e-global-typography-142cd61-line-height );}.elementor-2561 .elementor-element.elementor-element-6537fa7{font-size:17px;line-height:30px;}.elementor-2561 .elementor-element.elementor-element-4ff68ab{--grid-columns:2;}}@media(max-width:1024px){.elementor-2561 .elementor-element.elementor-element-0694417 .elementor-heading-title{font-size:var( --e-global-typography-142cd61-font-size );line-height:var( --e-global-typography-142cd61-line-height );}.elementor-2561 .elementor-element.elementor-element-7c8c03d{font-size:var( --e-global-typography-c53c9cd-font-size );}.elementor-2561 .elementor-element.elementor-element-73c9239{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-2561 .elementor-element.elementor-element-2e933f9 .elementor-heading-title{font-size:var( --e-global-typography-142cd61-font-size );line-height:var( --e-global-typography-142cd61-line-height );}.elementor-2561 .elementor-element.elementor-element-6537fa7{font-size:18px;}.elementor-2561 .elementor-element.elementor-element-4ff68ab{--grid-columns:2;}}@media(max-width:767px){.elementor-2561 .elementor-element.elementor-element-c3aaf12{--padding-top:50px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-2561 .elementor-element.elementor-element-0694417 .elementor-heading-title{font-size:var( --e-global-typography-142cd61-font-size );line-height:var( --e-global-typography-142cd61-line-height );}.elementor-2561 .elementor-element.elementor-element-7c8c03d{font-size:var( --e-global-typography-c53c9cd-font-size );}.elementor-2561 .elementor-element.elementor-element-73c9239{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-2561 .elementor-element.elementor-element-2e933f9 .elementor-heading-title{font-size:var( --e-global-typography-142cd61-font-size );line-height:var( --e-global-typography-142cd61-line-height );}.elementor-2561 .elementor-element.elementor-element-4ff68ab{--grid-columns:1;}}/* Start custom CSS for text-editor, class: .elementor-element-3a82b77 */.elementor-2561 .elementor-element.elementor-element-3a82b77 .cat-button {
    padding: 4px 12px !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    border: 1px solid var(--e-global-color-1cb4fcc) !important;
    background-color: transparent !important;
    color: var(--e-global-color-e23ac43) !important;
    transition: all 0.2s ease !important;
}

.elementor-2561 .elementor-element.elementor-element-3a82b77 .cat-button:hover {
    background-color: var(--e-global-color-1cb4fcc) !important;
    color: var(--e-global-color-a342412) !important;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(250, 73, 3, 0.2);
}

.elementor-2561 .elementor-element.elementor-element-3a82b77 .realisation-category-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.elementor-2561 .elementor-element.elementor-element-3a82b77 .cat-count {
    font-size: 11px;
    opacity: 0.7;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-21ba658 *//* === Infos Projet === */

.custom-icon-list {
    list-style: none;
    padding: 25px;
    margin: 20px 0;
    border: 1px solid #000000;
    border-radius: 20px;
    background-color: #ffffff;
}

.custom-icon-list-item {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    gap: 12px;
}

.custom-icon-list-item:last-child {
    margin-bottom: 0;
}

.custom-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #333;
}

.custom-icon svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.custom-icon-text {
    font-family: 'Quicksand', sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #000000;
}

/* === RESPONSIVE MOBILE === */

@media (max-width: 768px) {
    .custom-icon-list {
        padding: 20px;
        margin: 15px 0;
        border-radius: 16px;
    }
    
    .custom-icon-list-item {
        margin-bottom: 12px;
        gap: 10px;
    }
    
    .custom-icon svg {
        width: 18px;
        height: 18px;
    }
    
    .custom-icon-text {
        font-size: 14px;
        line-height: 1.4;
    }
}

@media (max-width: 480px) {
    .custom-icon-list {
        padding: 15px;
        margin: 10px 0;
        border-radius: 12px;
    }
    
    .custom-icon-list-item {
        margin-bottom: 10px;
        gap: 8px;
    }
    
    .custom-icon svg {
        width: 16px;
        height: 16px;
    }
    
    .custom-icon-text {
        font-size: 13px;
        line-height: 1.4;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-c966fe9 *//* === GALERIE PROJET === */

.projet-galerie-wrapper {
    max-width: 1400px;
    padding: 0 20px;
}

.galerie-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 20px;
    max-height: 550px;
    margin-bottom: 30px;
}

/* Image principale - FIX BANDEAU BLANC */
.image-principale {
    grid-row: span 2;
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    transition: all 0.4s ease;
    height: 550px;
}

.image-principale:hover {
    box-shadow: 0 15px 60px rgba(0, 0, 0, 0.25);
    transform: translateY(-5px);
}

.image-principale a {
    display: block;
    height: 100%;
    width: 100%;
}

.image-principale img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    vertical-align: bottom;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.image-principale:hover img {
    transform: scale(1.05);
}

/* Images secondaires */
.images-secondaires {
    display: grid;
    gap: 20px;
    grid-template-rows: 1fr 1fr;
    position: relative;
}

.images-secondaires a {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    display: block;
    height: 265px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    transition: all 0.4s ease;
}

.images-secondaires a:hover {
    box-shadow: 0 12px 45px rgba(0, 0, 0, 0.2);
    transform: translateY(-5px);
}

.images-secondaires img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    vertical-align: bottom;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.images-secondaires a:hover img {
    transform: scale(1.05);
}

/* Overlay au hover */
.galerie-grid a::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.4));
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 1;
    border-radius: 16px;
}

.galerie-grid a:hover::before {
    opacity: 1;
}

/* Bouton galerie complète */
.btn-galerie-complete {
    position: absolute;
    bottom: 30px;
    right: 0;
    font-family: 'Quicksand', sans-serif;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.5px;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(10px);
    color: #fff;
    padding: 12px 22px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.btn-galerie-complete:hover {
    background: rgba(0, 0, 0, 0.95);
    border-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.4);
}

/* === PERSONNALISATION LIGHTBOX GLIGHTBOX === */

/* Fond avec opacité pour voir le site derrière */
.glightbox-container {
    background: rgba(0, 0, 0, 0.75) !important;
    backdrop-filter: blur(8px);
}

/* Masquer complètement les titres et descriptions */
.gslide-title,
.gslide-desc,
.gslide-description,
.glightbox-clean .gslide-title,
.glightbox-clean .gslide-desc,
.glightbox-clean .gslide-description {
    display: none !important;
}

/* Boutons de navigation */
.glightbox-button {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(10px);
    border-radius: 50%;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.glightbox-button:hover {
    background: rgba(255, 255, 255, 0.25) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    transform: scale(1.1);
}

/* Bouton fermer (X) */
.gclose {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(10px);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gclose:hover {
    background: rgba(255, 255, 255, 0.25) !important;
}

/* Flèches de navigation */
.gnext,
.gprev {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(10px);
}

.gnext:hover,
.gprev:hover {
    background: rgba(255, 255, 255, 0.25) !important;
}

/* Image centrée et bien dimensionnée */
.gslide-image img {
    max-height: 85vh !important;
    max-width: 90vw !important;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 10px 50px rgba(0, 0, 0, 0.5);
}

/* === RESPONSIVE === */

@media (max-width: 1024px) {
    .galerie-grid {
        grid-template-columns: 1.4fr 1fr;
        gap: 15px;
        max-height: 450px;
    }
    
    .image-principale {
        height: 450px;
    }
    
    .images-secondaires a {
        height: 217px;
    }
}

/* Tablette et Mobile optimisé */
@media (max-width: 768px) {
    .projet-galerie-wrapper {
        padding: 0;
    }
    
    .galerie-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        max-height: none;
    }
    
    /* Image principale 100% largeur */
    .image-principale {
        grid-row: span 1;
        height: 350px;
        grid-column: 1 / -1;
    }
    
    /* Images secondaires côte à côte */
    .images-secondaires {
        grid-column: 1 / -1;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr;
        gap: 12px;
    }
    
    .images-secondaires a {
        height: 200px;
    }
    
    /* Bouton en dessous */
    .btn-galerie-complete {
        position: static;
        width: 100%;
        margin-top: 15px;
        grid-column: 1 / -1;
    }
}

/* Petits mobiles */
@media (max-width: 480px) {
    /* Image principale plus petite sur petit écran */
    .image-principale {
        height: 280px;
    }
    
    .galerie-grid {
        gap: 10px;
    }
    
    /* Images secondaires côte à côte avec moins de hauteur */
    .images-secondaires a {
        height: 180px;
    }
    
    .btn-galerie-complete {
        font-size: 12px;
        padding: 10px 18px;
    }
}

/* Très petits écrans (iPhone SE, etc.) */
@media (max-width: 375px) {
    .image-principale {
        height: 240px;
    }
    
    .images-secondaires a {
        height: 160px;
    }
}/* End custom CSS */