.elementor-23 .elementor-element.elementor-element-52d7462{--display:flex;--min-height:700px;--justify-content:center;--overlay-opacity:0.78;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-23 .elementor-element.elementor-element-52d7462:not(.elementor-motion-effects-element-type-background), .elementor-23 .elementor-element.elementor-element-52d7462 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://agc-france.eu/wp-content/uploads/2026/09/3-1.jpeg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-23 .elementor-element.elementor-element-52d7462::before, .elementor-23 .elementor-element.elementor-element-52d7462 > .elementor-background-video-container::before, .elementor-23 .elementor-element.elementor-element-52d7462 > .e-con-inner > .elementor-background-video-container::before, .elementor-23 .elementor-element.elementor-element-52d7462 > .elementor-background-slideshow::before, .elementor-23 .elementor-element.elementor-element-52d7462 > .e-con-inner > .elementor-background-slideshow::before, .elementor-23 .elementor-element.elementor-element-52d7462 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#6B3C01;--background-overlay:'';}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-23 .elementor-element.elementor-element-2d55ef0 img{height:411px;border-style:solid;border-width:7px 7px 7px 7px;border-color:#915E0E59;border-radius:0px 66px 66px 0px;}.elementor-23 .elementor-element.elementor-element-7d20a18{--display:flex;--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-arrow{display:flex !important;color:#EF7724;-webkit-transition-duration:0.1s;transition-duration:0.1s;font-size:14px;width:21px;height:21px;border-style:none;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-dots{display:inline-table !important;top:96%;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-content-inner{background-color:#EF7724AB;padding:25px 25px 27px 25px;border-style:none;border-radius:33px 33px 33px 33px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-dot{width:7px;height:7px;margin-right:6px;background-color:#d1d1d1;border-style:none;border-radius:50% 50% 50% 50%;}.elementor-23 .elementor-element.elementor-element-65f1460{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-item{padding:0px 100px 15px 100px;}.elementor-23 .elementor-element.elementor-element-65f1460.wpr-testimonial-meta-position-left .wpr-testimonial-meta{padding-top:25px;margin-right:10px;}.elementor-23 .elementor-element.elementor-element-65f1460.wpr-testimonial-meta-position-right .wpr-testimonial-meta{padding-top:25px;margin-left:10px;}.elementor-23 .elementor-element.elementor-element-65f1460.wpr-testimonial-meta-position-top:not(.wpr-testimonial-meta-align-center) .wpr-testimonial-meta,
					 .elementor-23 .elementor-element.elementor-element-65f1460.wpr-testimonial-meta-position-bottom:not(.wpr-testimonial-meta-align-center) .wpr-testimonial-meta{padding:0 25px 0 25px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-content-inner:before{border-top-color:#f7f7f7;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-icon i{color:#FFFFFF;font-size:35px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-icon svg{fill:#FFFFFF;width:35px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-icon{margin-bottom:10px;text-align:center;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-title{color:#222222;font-family:"Cormorant Garamond", Sans-serif;font-size:22px;margin:0 0 3px;text-align:center;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-content{color:#444444;font-family:"Montserrat", Sans-serif;margin-bottom:15px;text-align:center;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-date{color:#FFFFFF;font-family:"Montserrat", Sans-serif;text-align:center;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-rating i:before{color:#FFFFFF;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-rating-icon .wpr-rating-marked svg{fill:#FFFFFF;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-rating i{color:#d8d8d8;font-size:22px;margin-right:0px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-rating svg{fill:#d8d8d8;width:22px;height:22px;margin-right:0px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-rating span{color:#ffd726;margin-left:0px;font-family:"Montserrat", Sans-serif;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-rating{text-align:center;margin-bottom:5px;}.elementor-23 .elementor-element.elementor-element-65f1460.wpr-testimonial-meta-position-top .wpr-testimonial-meta{margin-bottom:10px;}.elementor-23 .elementor-element.elementor-element-65f1460.wpr-testimonial-meta-position-bottom .wpr-testimonial-meta{margin-top:10px;}.elementor-23 .elementor-element.elementor-element-65f1460.wpr-testimonial-meta-position-extra .wpr-testimonial-content-wrap{margin-bottom:10px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-image img{width:65px;border-radius:0px 0px 0px 0px;}.elementor-23 .elementor-element.elementor-element-65f1460.wpr-testimonial-meta-position-top.wpr-testimonial-meta-align-left .wpr-testimonial-content-inner:before,
					.elementor-23 .elementor-element.elementor-element-65f1460.wpr-testimonial-meta-position-bottom.wpr-testimonial-meta-align-left .wpr-testimonial-content-inner:before{left:calc( 25px + 1px + (65px / 2) );}.elementor-23 .elementor-element.elementor-element-65f1460.wpr-testimonial-meta-position-top.wpr-testimonial-meta-align-right .wpr-testimonial-content-inner:before,
					.elementor-23 .elementor-element.elementor-element-65f1460.wpr-testimonial-meta-position-bottom.wpr-testimonial-meta-align-right .wpr-testimonial-content-inner:before{right:calc( 25px + 1px + (65px / 2) );}.elementor-23 .elementor-element.elementor-element-65f1460.wpr-testimonial-meta-position-left .wpr-testimonial-content-inner:before,
					.elementor-23 .elementor-element.elementor-element-65f1460.wpr-testimonial-meta-position-right .wpr-testimonial-content-inner:before{top:calc( 25px + 1px + (65px / 2) );}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-image{margin-bottom:8px;}.elementor-23 .elementor-element.elementor-element-65f1460.wpr-testimonial-image-position-right .wpr-testimonial-image{margin-left:8px;}.elementor-23 .elementor-element.elementor-element-65f1460.wpr-testimonial-image-position-left .wpr-testimonial-image{margin-right:8px;}.elementor-23 .elementor-element.elementor-element-65f1460.wpr-testimonial-image-position-center .wpr-testimonial-image{margin-bottom:8px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-name{color:#222222;font-family:"Montserrat", Sans-serif;margin-bottom:0px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-job{color:#D89856;font-family:"Montserrat", Sans-serif;margin:0 0 5px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-logo-image img{max-width:65px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-logo-image{margin-bottom:5px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-social{color:#ffffff;background-color:#919191;border-color:#b5b5b5;transition-duration:0.1s;width:30px;height:30px;font-size:9px;margin-right:3px;border-style:none;border-radius:1px 1px 1px 1px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-social:hover{color:#ffffff;background-color:#444444;border-color:#b5b5b5;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-social i{line-height:30px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-social svg{line-height:30px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-arrow svg{fill:#EF7724;-webkit-transition-duration:0.1s;transition-duration:0.1s;width:14px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-arrow:hover{color:#7E411D;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-arrow:hover svg{fill:#7E411D;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-dots .slick-active .wpr-testimonial-dot{background-color:#222222;}.elementor-23 .elementor-element.elementor-element-0afdb0d{--display:flex;}.elementor-23 .elementor-element.elementor-element-08676d1{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;}.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-23 .elementor-element.elementor-element-838433b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:5px 0px 0px 0px;text-align:start;font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:400;color:#2C2C2C;}.elementor-widget-image-gallery .gallery-item .gallery-caption{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-23 .elementor-element.elementor-element-60d18b4 .gallery-item .gallery-caption{display:none;}.elementor-23 .elementor-element.elementor-element-9fc117c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:5px 0px 0px 0px;text-align:start;font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:400;color:#2C2C2C;}.elementor-23 .elementor-element.elementor-element-89f54e9{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-23 .elementor-element.elementor-element-4ecb7fb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:5px 0px 0px 0px;text-align:start;font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:400;color:#2C2C2C;}.elementor-23 .elementor-element.elementor-element-1701098 .gallery-item .gallery-caption{display:none;}.elementor-23 .elementor-element.elementor-element-05890fd{--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;}.elementor-23 .elementor-element.elementor-element-1ad45d6{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:5px 0px 0px 0px;text-align:start;font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:400;color:#2C2C2C;}.elementor-23 .elementor-element.elementor-element-1bfd019 .gallery-item .gallery-caption{display:none;}.elementor-23 .elementor-element.elementor-element-f67b202{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:5px 0px 0px 0px;text-align:start;font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:400;color:#2C2C2C;}.elementor-23 .elementor-element.elementor-element-7f44ffe{--n-accordion-title-font-size:1rem;--n-accordion-item-title-space-between:13px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-icon-size:15px;--n-accordion-icon-normal-color:#7E411D;}.elementor-23 .elementor-element.elementor-element-7f44ffe > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title{background-color:#F3F1F0;}.elementor-23 .elementor-element.elementor-element-7f44ffe > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title:hover{background-color:#E1B081;}.elementor-23 .elementor-element.elementor-element-7f44ffe > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title{background-color:#E1B081;}:where( .elementor-23 .elementor-element.elementor-element-7f44ffe > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"Montserrat", Sans-serif;}:where( .elementor-23 .elementor-element.elementor-element-7f44ffe > .e-n-accordion > .e-n-accordion-item ) > .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-arrow{display:flex !important;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-dots{display:inline-table !important;}}@media(max-width:767px){.elementor-23 .elementor-element.elementor-element-52d7462{--min-height:246px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-23 .elementor-element.elementor-element-2d55ef0 img{height:269px;}.elementor-23 .elementor-element.elementor-element-7d20a18{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-carousel .slick-slide{margin-left:0px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-carousel .slick-list{margin-left:-0px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-arrow{display:flex !important;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-dots{display:inline-table !important;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-item{padding:0px 0px 0px 0px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-icon i{font-size:12px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-icon svg{width:12px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-title{font-size:20px;}.elementor-23 .elementor-element.elementor-element-65f1460 .wpr-testimonial-content{font-size:12px;}.elementor-23 .elementor-element.elementor-element-08676d1{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-23 .elementor-element.elementor-element-838433b{padding:0px 0px 0px 0px;text-align:justify;font-size:11px;}.elementor-23 .elementor-element.elementor-element-9fc117c{padding:0px 0px 0px 0px;text-align:justify;font-size:11px;}.elementor-23 .elementor-element.elementor-element-89f54e9{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-23 .elementor-element.elementor-element-4ecb7fb{padding:0px 0px 0px 0px;text-align:justify;font-size:11px;}.elementor-23 .elementor-element.elementor-element-05890fd{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-23 .elementor-element.elementor-element-1ad45d6{padding:0px 0px 0px 0px;text-align:justify;font-size:11px;}.elementor-23 .elementor-element.elementor-element-f67b202{padding:0px 0px 0px 0px;text-align:justify;font-size:11px;}.elementor-23 .elementor-element.elementor-element-7f44ffe{--n-accordion-title-font-size:12px;--n-accordion-icon-size:13px;}}/* Start custom CSS for image-gallery, class: .elementor-element-60d18b4 *//* ---------- 5‑COLUMN SQUARE GRID ---------- */
.elementor-image-gallery .gallery {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 15px !important;
    max-width: 2560px !important;  /* (500×5) + (15×4) */
    margin: 0 auto !important;
    text-align: center !important;
}

.elementor-image-gallery .gallery-item {
    width: 100% !important;
    max-width: 500px !important;
    aspect-ratio: 1 / 1 !important;    /* forces a perfect square */
    overflow: hidden !important;
    margin: 0 auto !important;
    display: block !important;
    position: relative !important;
}

.elementor-image-gallery .gallery-item .gallery-icon {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.elementor-image-gallery .gallery-item .gallery-icon a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    overflow: hidden !important;
}

.elementor-image-gallery .gallery-item .gallery-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;      /* crops cleanly to the square */
    display: block !important;
    transition: transform 0.4s ease !important;
}

/* ---------- HOVER: DARK OVERLAY + ZOOM ICON ---------- */
.elementor-image-gallery .gallery-item .gallery-icon a::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.5) !important; /* dark overlay */
    /* Magnifying glass + plus (zoom‑in) icon as inline SVG */
    background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3Cline x1='11' y1='8' x2='11' y2='14'/%3E%3Cline x1='8' y1='11' x2='14' y2='11'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 64px 64px !important;  /* icon size */
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    pointer-events: none !important;        /* click passes through to the link */
    z-index: 2 !important;
}

/* Show overlay + icon on hover */
.elementor-image-gallery .gallery-item .gallery-icon a:hover::after {
    opacity: 1 !important;
}

/* Slight image zoom on hover for a polished feel */
.elementor-image-gallery .gallery-item .gallery-icon a:hover img {
    transform: scale(1.06) !important;
}

/* ---------- RESPONSIVE FALLBACKS ---------- */
@media (max-width: 1400px) {
    .elementor-image-gallery .gallery {
        max-width: 100% !important;
        padding: 0 15px !important;
        gap: 12px !important;
    }
    .elementor-image-gallery .gallery-item {
        max-width: 100% !important;   /* shrink naturally on smaller screens */
    }
}

@media (max-width: 992px) {
    .elementor-image-gallery .gallery {
        grid-template-columns: repeat(3, 1fr) !important;  /* 3 columns on tablets */
        gap: 10px !important;
    }
}

@media (max-width: 480px) {
    .elementor-image-gallery .gallery {
        grid-template-columns: repeat(2, 1fr) !important; /* 2 columns on phones */
        gap: 8px !important;
    }
}/* End custom CSS */
/* Start custom CSS for image-gallery, class: .elementor-element-1bfd019 *//* Force 3 columns with 15px gap */
.elementor-image-gallery .gallery {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 15px !important;
    max-width: 1560px !important; /* (500×3) + (15×2) */
    margin: 0 auto !important;
    text-align: center !important;
}

/* Each gallery item: square, max 500px */
.elementor-image-gallery .gallery-item {
    width: 100% !important;           /* fill grid cell */
    max-width: 500px !important;
    aspect-ratio: 1 / 1 !important;   /* force square */
    overflow: hidden !important;
    margin: 0 auto !important;        /* center if cell is wider */
    display: block !important;
    position: relative !important;
}

/* The anchor and image fill the square */
.elementor-image-gallery .gallery-item .gallery-icon {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.elementor-image-gallery .gallery-item .gallery-icon a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.elementor-image-gallery .gallery-item .gallery-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* crops to square */
    display: block !important;
}

/* Responsive: shrink on smaller screens while keeping 3 columns */
@media (max-width: 1200px) {
    .elementor-image-gallery .gallery {
        max-width: 100% !important;
        padding: 0 15px !important;
        gap: 12px !important;
    }
    .elementor-image-gallery .gallery-item {
        max-width: 100% !important; /* allow natural shrink */
    }
}

@media (max-width: 768px) {
    .elementor-image-gallery .gallery {
        gap: 10px !important;
    }
}

@media (max-width: 480px) {
    .elementor-image-gallery .gallery {
        grid-template-columns: repeat(2, 1fr) !important; /* fallback to 2 columns on very small screens */
        gap: 8px !important;
    }
}/* End custom CSS */
/* Start custom CSS for image-gallery, class: .elementor-element-60d18b4 *//* ---------- 5‑COLUMN SQUARE GRID ---------- */
.elementor-image-gallery .gallery {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 15px !important;
    max-width: 2560px !important;  /* (500×5) + (15×4) */
    margin: 0 auto !important;
    text-align: center !important;
}

.elementor-image-gallery .gallery-item {
    width: 100% !important;
    max-width: 500px !important;
    aspect-ratio: 1 / 1 !important;    /* forces a perfect square */
    overflow: hidden !important;
    margin: 0 auto !important;
    display: block !important;
    position: relative !important;
}

.elementor-image-gallery .gallery-item .gallery-icon {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.elementor-image-gallery .gallery-item .gallery-icon a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    overflow: hidden !important;
}

.elementor-image-gallery .gallery-item .gallery-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;      /* crops cleanly to the square */
    display: block !important;
    transition: transform 0.4s ease !important;
}

/* ---------- HOVER: DARK OVERLAY + ZOOM ICON ---------- */
.elementor-image-gallery .gallery-item .gallery-icon a::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.5) !important; /* dark overlay */
    /* Magnifying glass + plus (zoom‑in) icon as inline SVG */
    background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3Cline x1='11' y1='8' x2='11' y2='14'/%3E%3Cline x1='8' y1='11' x2='14' y2='11'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 64px 64px !important;  /* icon size */
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    pointer-events: none !important;        /* click passes through to the link */
    z-index: 2 !important;
}

/* Show overlay + icon on hover */
.elementor-image-gallery .gallery-item .gallery-icon a:hover::after {
    opacity: 1 !important;
}

/* Slight image zoom on hover for a polished feel */
.elementor-image-gallery .gallery-item .gallery-icon a:hover img {
    transform: scale(1.06) !important;
}

/* ---------- RESPONSIVE FALLBACKS ---------- */
@media (max-width: 1400px) {
    .elementor-image-gallery .gallery {
        max-width: 100% !important;
        padding: 0 15px !important;
        gap: 12px !important;
    }
    .elementor-image-gallery .gallery-item {
        max-width: 100% !important;   /* shrink naturally on smaller screens */
    }
}

@media (max-width: 992px) {
    .elementor-image-gallery .gallery {
        grid-template-columns: repeat(3, 1fr) !important;  /* 3 columns on tablets */
        gap: 10px !important;
    }
}

@media (max-width: 480px) {
    .elementor-image-gallery .gallery {
        grid-template-columns: repeat(2, 1fr) !important; /* 2 columns on phones */
        gap: 8px !important;
    }
}/* End custom CSS */
/* Start custom CSS for image-gallery, class: .elementor-element-1bfd019 *//* Force 3 columns with 15px gap */
.elementor-image-gallery .gallery {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 15px !important;
    max-width: 1560px !important; /* (500×3) + (15×2) */
    margin: 0 auto !important;
    text-align: center !important;
}

/* Each gallery item: square, max 500px */
.elementor-image-gallery .gallery-item {
    width: 100% !important;           /* fill grid cell */
    max-width: 500px !important;
    aspect-ratio: 1 / 1 !important;   /* force square */
    overflow: hidden !important;
    margin: 0 auto !important;        /* center if cell is wider */
    display: block !important;
    position: relative !important;
}

/* The anchor and image fill the square */
.elementor-image-gallery .gallery-item .gallery-icon {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.elementor-image-gallery .gallery-item .gallery-icon a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.elementor-image-gallery .gallery-item .gallery-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* crops to square */
    display: block !important;
}

/* Responsive: shrink on smaller screens while keeping 3 columns */
@media (max-width: 1200px) {
    .elementor-image-gallery .gallery {
        max-width: 100% !important;
        padding: 0 15px !important;
        gap: 12px !important;
    }
    .elementor-image-gallery .gallery-item {
        max-width: 100% !important; /* allow natural shrink */
    }
}

@media (max-width: 768px) {
    .elementor-image-gallery .gallery {
        gap: 10px !important;
    }
}

@media (max-width: 480px) {
    .elementor-image-gallery .gallery {
        grid-template-columns: repeat(2, 1fr) !important; /* fallback to 2 columns on very small screens */
        gap: 8px !important;
    }
}/* End custom CSS */
/* Start custom CSS for image-gallery, class: .elementor-element-60d18b4 *//* ---------- 5‑COLUMN SQUARE GRID ---------- */
.elementor-image-gallery .gallery {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 15px !important;
    max-width: 2560px !important;  /* (500×5) + (15×4) */
    margin: 0 auto !important;
    text-align: center !important;
}

.elementor-image-gallery .gallery-item {
    width: 100% !important;
    max-width: 500px !important;
    aspect-ratio: 1 / 1 !important;    /* forces a perfect square */
    overflow: hidden !important;
    margin: 0 auto !important;
    display: block !important;
    position: relative !important;
}

.elementor-image-gallery .gallery-item .gallery-icon {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.elementor-image-gallery .gallery-item .gallery-icon a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    overflow: hidden !important;
}

.elementor-image-gallery .gallery-item .gallery-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;      /* crops cleanly to the square */
    display: block !important;
    transition: transform 0.4s ease !important;
}

/* ---------- HOVER: DARK OVERLAY + ZOOM ICON ---------- */
.elementor-image-gallery .gallery-item .gallery-icon a::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.5) !important; /* dark overlay */
    /* Magnifying glass + plus (zoom‑in) icon as inline SVG */
    background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3Cline x1='11' y1='8' x2='11' y2='14'/%3E%3Cline x1='8' y1='11' x2='14' y2='11'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 64px 64px !important;  /* icon size */
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    pointer-events: none !important;        /* click passes through to the link */
    z-index: 2 !important;
}

/* Show overlay + icon on hover */
.elementor-image-gallery .gallery-item .gallery-icon a:hover::after {
    opacity: 1 !important;
}

/* Slight image zoom on hover for a polished feel */
.elementor-image-gallery .gallery-item .gallery-icon a:hover img {
    transform: scale(1.06) !important;
}

/* ---------- RESPONSIVE FALLBACKS ---------- */
@media (max-width: 1400px) {
    .elementor-image-gallery .gallery {
        max-width: 100% !important;
        padding: 0 15px !important;
        gap: 12px !important;
    }
    .elementor-image-gallery .gallery-item {
        max-width: 100% !important;   /* shrink naturally on smaller screens */
    }
}

@media (max-width: 992px) {
    .elementor-image-gallery .gallery {
        grid-template-columns: repeat(3, 1fr) !important;  /* 3 columns on tablets */
        gap: 10px !important;
    }
}

@media (max-width: 480px) {
    .elementor-image-gallery .gallery {
        grid-template-columns: repeat(2, 1fr) !important; /* 2 columns on phones */
        gap: 8px !important;
    }
}/* End custom CSS */
/* Start custom CSS for image-gallery, class: .elementor-element-1bfd019 *//* Force 3 columns with 15px gap */
.elementor-image-gallery .gallery {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 15px !important;
    max-width: 1560px !important; /* (500×3) + (15×2) */
    margin: 0 auto !important;
    text-align: center !important;
}

/* Each gallery item: square, max 500px */
.elementor-image-gallery .gallery-item {
    width: 100% !important;           /* fill grid cell */
    max-width: 500px !important;
    aspect-ratio: 1 / 1 !important;   /* force square */
    overflow: hidden !important;
    margin: 0 auto !important;        /* center if cell is wider */
    display: block !important;
    position: relative !important;
}

/* The anchor and image fill the square */
.elementor-image-gallery .gallery-item .gallery-icon {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.elementor-image-gallery .gallery-item .gallery-icon a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.elementor-image-gallery .gallery-item .gallery-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* crops to square */
    display: block !important;
}

/* Responsive: shrink on smaller screens while keeping 3 columns */
@media (max-width: 1200px) {
    .elementor-image-gallery .gallery {
        max-width: 100% !important;
        padding: 0 15px !important;
        gap: 12px !important;
    }
    .elementor-image-gallery .gallery-item {
        max-width: 100% !important; /* allow natural shrink */
    }
}

@media (max-width: 768px) {
    .elementor-image-gallery .gallery {
        gap: 10px !important;
    }
}

@media (max-width: 480px) {
    .elementor-image-gallery .gallery {
        grid-template-columns: repeat(2, 1fr) !important; /* fallback to 2 columns on very small screens */
        gap: 8px !important;
    }
}/* End custom CSS */
/* Start custom CSS for image-gallery, class: .elementor-element-60d18b4 *//* ---------- 5‑COLUMN SQUARE GRID ---------- */
.elementor-image-gallery .gallery {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 15px !important;
    max-width: 2560px !important;  /* (500×5) + (15×4) */
    margin: 0 auto !important;
    text-align: center !important;
}

.elementor-image-gallery .gallery-item {
    width: 100% !important;
    max-width: 500px !important;
    aspect-ratio: 1 / 1 !important;    /* forces a perfect square */
    overflow: hidden !important;
    margin: 0 auto !important;
    display: block !important;
    position: relative !important;
}

.elementor-image-gallery .gallery-item .gallery-icon {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.elementor-image-gallery .gallery-item .gallery-icon a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    overflow: hidden !important;
}

.elementor-image-gallery .gallery-item .gallery-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;      /* crops cleanly to the square */
    display: block !important;
    transition: transform 0.4s ease !important;
}

/* ---------- HOVER: DARK OVERLAY + ZOOM ICON ---------- */
.elementor-image-gallery .gallery-item .gallery-icon a::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.5) !important; /* dark overlay */
    /* Magnifying glass + plus (zoom‑in) icon as inline SVG */
    background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3Cline x1='11' y1='8' x2='11' y2='14'/%3E%3Cline x1='8' y1='11' x2='14' y2='11'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 64px 64px !important;  /* icon size */
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    pointer-events: none !important;        /* click passes through to the link */
    z-index: 2 !important;
}

/* Show overlay + icon on hover */
.elementor-image-gallery .gallery-item .gallery-icon a:hover::after {
    opacity: 1 !important;
}

/* Slight image zoom on hover for a polished feel */
.elementor-image-gallery .gallery-item .gallery-icon a:hover img {
    transform: scale(1.06) !important;
}

/* ---------- RESPONSIVE FALLBACKS ---------- */
@media (max-width: 1400px) {
    .elementor-image-gallery .gallery {
        max-width: 100% !important;
        padding: 0 15px !important;
        gap: 12px !important;
    }
    .elementor-image-gallery .gallery-item {
        max-width: 100% !important;   /* shrink naturally on smaller screens */
    }
}

@media (max-width: 992px) {
    .elementor-image-gallery .gallery {
        grid-template-columns: repeat(3, 1fr) !important;  /* 3 columns on tablets */
        gap: 10px !important;
    }
}

@media (max-width: 480px) {
    .elementor-image-gallery .gallery {
        grid-template-columns: repeat(2, 1fr) !important; /* 2 columns on phones */
        gap: 8px !important;
    }
}/* End custom CSS */
/* Start custom CSS for image-gallery, class: .elementor-element-1bfd019 *//* Force 3 columns with 15px gap */
.elementor-image-gallery .gallery {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 15px !important;
    max-width: 1560px !important; /* (500×3) + (15×2) */
    margin: 0 auto !important;
    text-align: center !important;
}

/* Each gallery item: square, max 500px */
.elementor-image-gallery .gallery-item {
    width: 100% !important;           /* fill grid cell */
    max-width: 500px !important;
    aspect-ratio: 1 / 1 !important;   /* force square */
    overflow: hidden !important;
    margin: 0 auto !important;        /* center if cell is wider */
    display: block !important;
    position: relative !important;
}

/* The anchor and image fill the square */
.elementor-image-gallery .gallery-item .gallery-icon {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.elementor-image-gallery .gallery-item .gallery-icon a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.elementor-image-gallery .gallery-item .gallery-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* crops to square */
    display: block !important;
}

/* Responsive: shrink on smaller screens while keeping 3 columns */
@media (max-width: 1200px) {
    .elementor-image-gallery .gallery {
        max-width: 100% !important;
        padding: 0 15px !important;
        gap: 12px !important;
    }
    .elementor-image-gallery .gallery-item {
        max-width: 100% !important; /* allow natural shrink */
    }
}

@media (max-width: 768px) {
    .elementor-image-gallery .gallery {
        gap: 10px !important;
    }
}

@media (max-width: 480px) {
    .elementor-image-gallery .gallery {
        grid-template-columns: repeat(2, 1fr) !important; /* fallback to 2 columns on very small screens */
        gap: 8px !important;
    }
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-7f44ffe *//* ---------- 5‑COLUMN SQUARE GRID ---------- */
.elementor-image-gallery .gallery {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 15px !important;
    max-width: 2560px !important;  /* (500×5) + (15×4) */
    margin: 0 auto !important;
    text-align: center !important;
}

.elementor-image-gallery .gallery-item {
    width: 100% !important;
    max-width: 500px !important;
    aspect-ratio: 1 / 1 !important;    /* forces a perfect square */
    overflow: hidden !important;
    margin: 0 auto !important;
    display: block !important;
    position: relative !important;
}

.elementor-image-gallery .gallery-item .gallery-icon {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.elementor-image-gallery .gallery-item .gallery-icon a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    overflow: hidden !important;
}

.elementor-image-gallery .gallery-item .gallery-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;      /* crops cleanly to the square */
    display: block !important;
    transition: transform 0.4s ease !important;
}

/* ---------- HOVER: DARK OVERLAY + ZOOM ICON ---------- */
.elementor-image-gallery .gallery-item .gallery-icon a::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.5) !important; /* dark overlay */
    /* Magnifying glass + plus (zoom‑in) icon as inline SVG */
    background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3Cline x1='11' y1='8' x2='11' y2='14'/%3E%3Cline x1='8' y1='11' x2='14' y2='11'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 64px 64px !important;  /* icon size */
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    pointer-events: none !important;        /* click passes through to the link */
    z-index: 2 !important;
}

/* Show overlay + icon on hover */
.elementor-image-gallery .gallery-item .gallery-icon a:hover::after {
    opacity: 1 !important;
}

/* Slight image zoom on hover for a polished feel */
.elementor-image-gallery .gallery-item .gallery-icon a:hover img {
    transform: scale(1.06) !important;
}

/* ---------- RESPONSIVE FALLBACKS ---------- */
@media (max-width: 1400px) {
    .elementor-image-gallery .gallery {
        max-width: 100% !important;
        padding: 0 15px !important;
        gap: 12px !important;
    }
    .elementor-image-gallery .gallery-item {
        max-width: 100% !important;   /* shrink naturally on smaller screens */
    }
}

@media (max-width: 992px) {
    .elementor-image-gallery .gallery {
        grid-template-columns: repeat(3, 1fr) !important;  /* 3 columns on tablets */
        gap: 10px !important;
    }
}

@media (max-width: 480px) {
    .elementor-image-gallery .gallery {
        grid-template-columns: repeat(2, 1fr) !important; /* 2 columns on phones */
        gap: 8px !important;
    }
}/* End custom CSS */