.elementor-1146 .elementor-element.elementor-element-2041d76{--display:flex;--min-height:65px;--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;--margin-top:21px;--margin-bottom:19px;--margin-left:0px;--margin-right:0px;}.elementor-1146 .elementor-element.elementor-element-2041d76:not(.elementor-motion-effects-element-type-background), .elementor-1146 .elementor-element.elementor-element-2041d76 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );color:var( --e-global-color-primary );}.elementor-1146 .elementor-element.elementor-element-977dec4 > .elementor-widget-container{margin:14px 0px 0px 0px;}.elementor-1146 .elementor-element.elementor-element-977dec4{text-align:center;}.elementor-1146 .elementor-element.elementor-element-977dec4 .elementor-heading-title{font-family:"Rock Salt", Sans-serif;font-size:1.8rem;color:#000000;}.elementor-1146 .elementor-element.elementor-element-b1fb884{--display:flex;}.elementor-widget-gallery .elementor-gallery-item__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-gallery .elementor-gallery-item__description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.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-size:var( --e-global-typography-primary-font-size );}.elementor-1146 .elementor-element.elementor-element-18b1456 .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-1146 .elementor-element.elementor-element-18b1456 .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-1146 .elementor-element.elementor-element-18b1456{--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-gallery .elementor-gallery-item__title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-gallery .elementor-gallery-item__description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-gallery .elementor-gallery-title{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-gallery .elementor-gallery-item__title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-gallery .elementor-gallery-item__description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-gallery .elementor-gallery-title{font-size:var( --e-global-typography-primary-font-size );}}/* Start custom CSS for container, class: .elementor-element-b1fb884 *//* =========================================================
   THE DARN — GALERIE ELEMENTOR (Premium)
   Usage : ajoute la classe CSS "td-gallery" au widget Galerie Elementor
========================================================= */

:root{
  --tdg-radius: 18px;
  --tdg-gap: 14px;
  --tdg-line: rgba(255,255,255,.12);
  --tdg-txt: rgba(255,255,255,.92);
  --tdg-muted: rgba(255,255,255,.70);
  --tdg-bg: rgba(12,14,18,.72);
  --tdg-shadow: 0 18px 55px rgba(0,0,0,.45);
  --tdg-soft: 0 10px 30px rgba(0,0,0,.28);
  --tdg-glow: rgba(110,140,255,.55);
}

/* Conteneur : garde la grille Elementor, ajoute un gap cohérent */
.td-gallery{
  --e-gallery-gap: var(--tdg-gap);
}

/* Cible la plupart des variantes Elementor (gallery / image gallery) */
.td-gallery .elementor-gallery__container,
.td-gallery .gallery,
.td-gallery .elementor-image-gallery{
  gap: var(--tdg-gap) !important;
}

/* Item / carte */
.td-gallery .elementor-gallery-item,
.td-gallery .gallery-item,
.td-gallery figure{
  position: relative;
  border-radius: var(--tdg-radius);
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border: 1px solid var(--tdg-line);
  box-shadow: var(--tdg-soft);
  transform: translateZ(0);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

/* Lien cliquable (si lightbox) */
.td-gallery .elementor-gallery-item__link,
.td-gallery a{
  display: block;
  position: relative;
  outline: none;
}

/* Image : rendu premium */
.td-gallery img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform .35s ease, filter .35s ease;
  filter: saturate(1.03) contrast(1.02);
}

/* Overlay */
.td-gallery .elementor-gallery-item::before,
.td-gallery .gallery-item::before,
.td-gallery figure::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(1200px 260px at 50% 110%, rgba(110,140,255,.22), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.42));
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events:none;
}

/* Icône loupe (sans image) */
.td-gallery .elementor-gallery-item::after,
.td-gallery .gallery-item::after,
.td-gallery figure::after{
  content:"+";
  position:absolute;
  right: 12px;
  bottom: 12px;
  width: 38px;
  height: 38px;
  display:grid;
  place-items:center;
  border-radius: 999px;
  background: rgba(15,17,23,.55);
  border: 1px solid rgba(255,255,255,.18);
  color: var(--tdg-txt);
  font: 700 18px/1 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .22s ease, transform .22s ease, box-shadow .22s ease, background .22s ease;
  pointer-events:none;
  box-shadow: 0 10px 28px rgba(0,0,0,.35);
}

/* Hover premium */
@media (hover:hover){
  .td-gallery .elementor-gallery-item:hover,
  .td-gallery .gallery-item:hover,
  .td-gallery figure:hover{
    transform: translateY(-3px);
    border-color: rgba(191,200,255,.28);
    box-shadow: var(--tdg-shadow);
  }

  .td-gallery .elementor-gallery-item:hover::before,
  .td-gallery .gallery-item:hover::before,
  .td-gallery figure:hover::before{
    opacity: 1;
  }

  .td-gallery .elementor-gallery-item:hover::after,
  .td-gallery .gallery-item:hover::after,
  .td-gallery figure:hover::after{
    opacity: 1;
    transform: translateY(0);
    box-shadow: 0 0 22px var(--tdg-glow);
  }

  .td-gallery .elementor-gallery-item:hover img,
  .td-gallery .gallery-item:hover img,
  .td-gallery figure:hover img{
    transform: scale(1.08);
    filter: saturate(1.10) contrast(1.05);
  }
}

/* Légende (si activée) */
.td-gallery figcaption,
.td-gallery .gallery-caption,
.td-gallery .elementor-gallery-item__title{
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  color: var(--tdg-txt);
  background: rgba(10,12,16,.55);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font: 700 12px/1.25 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .22s ease, transform .22s ease;
}

/* Affiche la légende au hover seulement (si légende existante) */
@media (hover:hover){
  .td-gallery .elementor-gallery-item:hover figcaption,
  .td-gallery .gallery-item:hover .gallery-caption,
  .td-gallery .elementor-gallery-item:hover .elementor-gallery-item__title{
    opacity: 1;
    transform: translateY(0);
  }
}

/* Focus clavier (accessibilité) */
.td-gallery a:focus-visible{
  outline: 2px solid rgba(191,200,255,.75);
  outline-offset: 4px;
  border-radius: 16px;
}

/* Mobile : moins d’effets, plus léger */
@media (max-width: 767px){
  .td-gallery{ --e-gallery-gap: 10px; }
  .td-gallery .elementor-gallery-item::after,
  .td-gallery .gallery-item::after,
  .td-gallery figure::after{ opacity: 1; }
  .td-gallery figcaption,
  .td-gallery .gallery-caption,
  .td-gallery .elementor-gallery-item__title{
    opacity: 1;
    transform: none;
  }
}

/* Option : homogénéiser le ratio des vignettes (active si tu veux)
   -> ajoute la classe "td-gallery--ratio" au widget galerie
*/
.td-gallery.td-gallery--ratio .elementor-gallery-item,
.td-gallery.td-gallery--ratio .gallery-item,
.td-gallery.td-gallery--ratio figure{
  aspect-ratio: 4 / 3;
}
.td-gallery.td-gallery--ratio img{ height: 100%; }

/* PHOTOS_HEADER_FOOTER_FIX_20260216 */
body.elementor-page-1146 .td-header{
  background: linear-gradient(180deg, rgba(11,12,16,.94), rgba(11,12,16,.88)) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.elementor-page-1146 .td-footer{
  background:
    radial-gradient(1000px 420px at 15% 0%, rgba(110,140,255,.10), transparent 60%),
    radial-gradient(900px 380px at 85% 15%, rgba(191,200,255,.08), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.55)),
    #0b0c10 !important;
}
body.elementor-page-1146 .td-footer__bottom{ background: rgba(0,0,0,.28) !important; }

/* PHOTOS_GALLERY_HARMONY_20260216 */
body.elementor-page-1146{
  background:
    radial-gradient(1200px 460px at 15% -10%, rgba(95,120,255,.16), transparent 60%),
    linear-gradient(180deg, #0b0c10 0%, #10131a 42%, #0b0c10 100%) !important;
}

body.elementor-page-1146 .elementor-element.elementor-element-2041d76,
body.elementor-page-1146 .elementor-element.elementor-element-2041d76 > .elementor-motion-effects-container > .elementor-motion-effects-layer{
  background: transparent !important;
}

body.elementor-page-1146 .elementor-element.elementor-element-2041d76{
  --margin-top: 34px;
  --margin-bottom: 10px;
}

body.elementor-page-1146 .elementor-element.elementor-element-977dec4 .elementor-heading-title{
  font-family: var(--td-font, "Inter Tight", system-ui, sans-serif);
  font-size: clamp(1.25rem, 2.3vw, 1.9rem);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.95);
  text-shadow: 0 8px 30px rgba(0,0,0,.35);
}

body.elementor-page-1146 .td-gallery{
  max-width: 1240px;
  margin: 0 auto;
  padding: 8px 22px 42px;
}

body.elementor-page-1146 .td-gallery .e-con-inner{
  width: 100%;
  max-width: none;
}

body.elementor-page-1146 .td-gallery .elementor-gallery-item,
body.elementor-page-1146 .td-gallery .gallery-item,
body.elementor-page-1146 .td-gallery figure{
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 14px 38px rgba(0,0,0,.34);
}

body.elementor-page-1146 .td-gallery .elementor-gallery-item:hover,
body.elementor-page-1146 .td-gallery .gallery-item:hover,
body.elementor-page-1146 .td-gallery figure:hover{
  border-color: rgba(191,200,255,.36);
  box-shadow: 0 20px 50px rgba(0,0,0,.45);
}

body.elementor-page-1146 .td-gallery a:focus-visible{
  outline-color: rgba(220,226,255,.92);
}

@media (max-width: 767px){
  body.elementor-page-1146 .elementor-element.elementor-element-2041d76{
    --margin-top: 20px;
    --margin-bottom: 8px;
  }

  body.elementor-page-1146 .td-gallery{
    padding: 6px 12px 28px;
  }

  body.elementor-page-1146 .elementor-element.elementor-element-977dec4 .elementor-heading-title{
    letter-spacing: .09em;
    font-size: clamp(1.05rem, 5.2vw, 1.4rem);
  }
}/* End custom CSS */