.elementor-306 .elementor-element.elementor-element-09a90a4{--display:flex;}.elementor-306 .elementor-element.elementor-element-215c60b{--spacer-size:50px;}.elementor-widget-gallery .elementor-gallery-item__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-gallery .elementor-gallery-item__description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-gallery{--galleries-title-color-normal:var( --e-global-color-primary );--galleries-title-color-hover:var( --e-global-color-secondary );--galleries-pointer-bg-color-hover:var( --e-global-color-accent );--gallery-title-color-active:var( --e-global-color-secondary );--galleries-pointer-bg-color-active:var( --e-global-color-accent );}.elementor-widget-gallery .elementor-gallery-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-306 .elementor-element.elementor-element-43f045d .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-306 .elementor-element.elementor-element-43f045d .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-306 .elementor-element.elementor-element-43f045d{--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;--galleries-title-color-normal:#000000;--galleries-pointer-bg-color-hover:#F30202;--galleries-pointer-bg-color-active:#000000;}.elementor-306 .elementor-element.elementor-element-5e07fb5{--display:flex;}.elementor-306 .elementor-element.elementor-element-a4ab386{--spacer-size:50px;}.elementor-306 .elementor-element.elementor-element-2d5054e{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for container, class: .elementor-element-09a90a4 *//* =========================================================
   GALERIE ELEMENTOR — PREMIUM (scopée)
   Classe à mettre sur le conteneur: dg-gallery
   ========================================================= */

.dg-gallery{
  --dg-radius: 16px;
  --dg-line: rgba(0,0,0,.10);
  --dg-shadow: 0 18px 50px rgba(0,0,0,.10);
  --dg-shadow2: 0 12px 30px rgba(0,0,0,.12);
  --dg-zoom: 1.04;
}

/* 1) Cibles génériques (marche sur la plupart des galeries Elementor) */
.dg-gallery img{
  display:block;
  width:100%;
  height:auto;
  border-radius: var(--dg-radius);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

/* 2) Enveloppes cliquables : coins + bord + ombre */
.dg-gallery a,
.dg-gallery .gallery-item,
.dg-gallery .elementor-image-carousel .swiper-slide{
  border-radius: var(--dg-radius);
  overflow: hidden;
}

/* 3) Hover premium */
@media (hover:hover){
  .dg-gallery a:hover img,
  .dg-gallery .gallery-item:hover img,
  .dg-gallery .swiper-slide:hover img{
    transform: scale(var(--dg-zoom));
    filter: saturate(1.03) contrast(1.02);
  }
}

/* 4) “Carte” autour de chaque image (si structure le permet) */
.dg-gallery .gallery-item,
.dg-gallery .elementor-gallery-item{
  background: #fff;
  border: 1px solid var(--dg-line);
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  transition: transform .2s ease, box-shadow .2s ease;
}

@media (hover:hover){
  .dg-gallery .gallery-item:hover,
  .dg-gallery .elementor-gallery-item:hover{
    transform: translateY(-2px);
    box-shadow: var(--dg-shadow2);
  }
}

/* 5) Espacements plus “luxe” (gap) */
.dg-gallery .gallery{
  display: grid;
  gap: 14px;
}

/* 6) Grille responsive (si la galerie sort en <div class="gallery">) */
@media (min-width: 1024px){
  .dg-gallery .gallery{ grid-template-columns: repeat(4, minmax(0,1fr)); }
}
@media (min-width: 768px) and (max-width: 1023px){
  .dg-gallery .gallery{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 767px){
  .dg-gallery .gallery{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* 7) Ratio stable (évite les sauts) — optionnel si tes images sont mixtes */
.dg-gallery img{
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* 8) Lightbox Elementor : fond + controls plus propres (sans plugin) */
.elementor-lightbox{
  backdrop-filter: blur(10px);
}
.elementor-lightbox .swiper-slide img{
  border-radius: 18px !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.35) !important;
}
.elementor-lightbox .dialog-lightbox-close-button{
  border-radius: 12px !important;
  background: rgba(255,255,255,.10) !important;
  backdrop-filter: blur(8px);
}
.elementor-lightbox .dialog-lightbox-close-button:hover{
  background: rgba(255,255,255,.18) !important;
}

/* 9) Carrousel (si utilisé) : coins + pas d’images “collées” */
.dg-gallery .swiper-slide{
  border-radius: var(--dg-radius);
}
.dg-gallery .swiper-slide img{
  border-radius: var(--dg-radius);
}/* End custom CSS */