.elementor-125 .elementor-element.elementor-element-b446eb7{--display:flex;}.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-125 .elementor-element.elementor-element-0ae4127 .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-125 .elementor-element.elementor-element-0ae4127 .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-125 .elementor-element.elementor-element-0ae4127{--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:#01090C;--galleries-pointer-bg-color-hover:#FFFFFF;--galleries-pointer-bg-color-active:#FFFFFF;}:root{--page-title-display:none;}/* Start custom CSS for gallery, class: .elementor-element-0ae4127 *//* ================================
   GALERIE PREMIUM — ELEMENTOR
   Classe à ajouter au widget :
   fd-premium-gallery
================================ */

.fd-premium-gallery {
  max-width: 1180px;
  margin: 0 auto;
  padding: 70px 24px 90px;
}

/* ================================
   FILTRES / ONGLETS
================================ */

.fd-premium-gallery .elementor-gallery__titles-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-bottom: 42px !important;
}

.fd-premium-gallery .elementor-gallery-title {
  position: relative;
  margin: 0 !important;
  padding: 11px 18px !important;
  border: 1px solid rgba(21, 18, 17, 0.10);
  border-radius: 999px;
  color: rgba(21, 18, 17, 0.62) !important;
  background: rgba(250, 248, 245, 0.78);
  font-family: "Manrope", system-ui, sans-serif;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.01em;
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
}

.fd-premium-gallery .elementor-gallery-title:hover {
  color: #151211 !important;
  background: #ffffff;
  border-color: rgba(21, 18, 17, 0.18);
  transform: translateY(-1px);
}

.fd-premium-gallery .elementor-gallery-title.elementor-item-active,
.fd-premium-gallery .elementor-gallery-title[data-gallery-index="all"].elementor-item-active {
  color: #ffffff !important;
  background: #151211;
  border-color: #151211;
}

/* ================================
   GRILLE
================================ */

.fd-premium-gallery .elementor-gallery__container {
  gap: 18px !important;
}

/* Cartes images */
.fd-premium-gallery .e-gallery-item {
  overflow: hidden;
  border-radius: 28px;
  background: #e8e4df;
  box-shadow: 0 18px 45px rgba(21, 18, 17, 0.10);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.fd-premium-gallery .e-gallery-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 70px rgba(21, 18, 17, 0.16);
}

/* Image Elementor Pro Gallery */
.fd-premium-gallery .e-gallery-image {
  filter: saturate(0.96) contrast(1.03);
  transition:
    transform 0.75s ease,
    filter 0.75s ease,
    opacity 0.75s ease;
}

.fd-premium-gallery .e-gallery-item:hover .e-gallery-image {
  transform: scale(1.045);
  filter: saturate(1.03) contrast(1.06);
}

/* Si Elementor sort des <img> classiques */
.fd-premium-gallery img {
  border-radius: 28px;
  filter: saturate(0.96) contrast(1.03);
}

/* Overlay au survol */
.fd-premium-gallery .elementor-gallery-item__overlay,
.fd-premium-gallery .e-gallery-item::after {
  background:
    linear-gradient(
      180deg,
      rgba(21, 18, 17, 0) 0%,
      rgba(21, 18, 17, 0.22) 100%
    ) !important;
  opacity: 0;
  transition: opacity 0.35s ease;
}

.fd-premium-gallery .e-gallery-item:hover::after,
.fd-premium-gallery .e-gallery-item:hover .elementor-gallery-item__overlay {
  opacity: 1;
}

/* Icône zoom / lightbox si présente */
.fd-premium-gallery .elementor-gallery-item__content {
  opacity: 0;
  transition: opacity 0.35s ease;
}

.fd-premium-gallery .e-gallery-item:hover .elementor-gallery-item__content {
  opacity: 1;
}

/* ================================
   LIGHTBOX / FOCUS
================================ */

.fd-premium-gallery a:focus-visible {
  outline: 2px solid #b98b68;
  outline-offset: 4px;
  border-radius: 28px;
}

/* ================================
   RESPONSIVE
================================ */

@media (max-width: 1024px) {
  .fd-premium-gallery {
    padding: 58px 20px 76px;
  }

  .fd-premium-gallery .elementor-gallery__container {
    gap: 16px !important;
  }

  .fd-premium-gallery .e-gallery-item {
    border-radius: 24px;
  }
}

@media (max-width: 767px) {
  .fd-premium-gallery {
    padding: 44px 14px 64px;
  }

  .fd-premium-gallery .elementor-gallery__titles-container {
    justify-content: flex-start;
    gap: 8px;
    margin-bottom: 30px !important;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 6px;
  }

  .fd-premium-gallery .elementor-gallery-title {
    flex: 0 0 auto;
    padding: 10px 15px !important;
    font-size: 0.78rem !important;
    white-space: nowrap;
  }

  .fd-premium-gallery .elementor-gallery__container {
    gap: 14px !important;
  }

  .fd-premium-gallery .e-gallery-item {
    border-radius: 22px;
    box-shadow: 0 14px 35px rgba(21, 18, 17, 0.10);
  }

  .fd-premium-gallery img {
    border-radius: 22px;
  }
}/* End custom CSS */