.elementor-kit-6{--e-global-color-primary:#003142;--e-global-color-secondary:#217594;--e-global-color-text:#FFFFFF;--e-global-color-accent:#E8CE14;--e-global-color-cf7db89:#1AC8DB;--e-global-color-e0963a0:#000000;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-size:20px;--e-global-typography-primary-font-weight:300;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-size:18px;--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-size:12px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-size:20px;--e-global-typography-accent-font-weight:400;background-color:#000000;color:#FFFFFF;font-family:"Roboto", Sans-serif;font-size:17px;font-weight:300;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Roboto", Sans-serif;font-size:12px;font-weight:200;font-style:normal;letter-spacing:1.2px;color:var( --e-global-color-text );}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-secondary );color:var( --e-global-color-text );}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-primary );font-family:"Roboto", Sans-serif;font-size:16px;}.elementor-kit-6 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-6 h1{color:#FFFFFF;font-family:"Roboto", Sans-serif;font-size:48px;}.elementor-kit-6 h2{color:#FFFFFF;font-family:"Roboto", Sans-serif;font-size:18px;font-weight:400;line-height:50px;}.elementor-kit-6 h3{color:#1AC8DB;font-size:50px;font-weight:300;}.elementor-kit-6 h4{color:#FFFFFF;font-family:"Roboto", Sans-serif;font-size:20px;}.elementor-kit-6 h5{color:#1AC8DB;font-size:16px;}.elementor-kit-6 h6{color:#FFFFFF;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{--lightbox-header-icons-size:0px;--lightbox-navigation-icons-size:0px;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ==========================================================
   1) NOS RÉALISATIONS : GRILLE MASONRY (Elementor containers)
   ========================================================== */

.projects-masonry > .e-con-inner{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  grid-auto-flow: dense;
  grid-auto-rows: 220px;
}

/* Chaque tuile (widget image) */
.projects-masonry > .e-con-inner > .elementor-element{
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}

/* Variantes (à mettre sur le widget Image > Avancé > Classes CSS) */
.projects-masonry > .e-con-inner > .elementor-element.big{
  grid-column: span 2;
  grid-row: span 2;
}
.projects-masonry > .e-con-inner > .elementor-element.wide{
  grid-column: span 2;
}
.projects-masonry > .e-con-inner > .elementor-element.tall{
  grid-row: span 2;
}

/* Lien + image doivent remplir la tuile */
.projects-masonry .elementor-widget-container,
.projects-masonry a,
.projects-masonry img{
  width: 100%;
  height: 100%;
  display: block;
}
.projects-masonry img{
  object-fit: cover;
}

/* Responsive */
@media (max-width: 1024px){
  .projects-masonry > .e-con-inner{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px){
  .projects-masonry > .e-con-inner{
    grid-template-columns: 1fr;
    grid-auto-rows: 200px;
  }
}


/* ==========================================================
   2) VIGNETTES CLIQUABLES : CURSEUR + HOVER
   (mets "project-trigger" sur chaque vignette cliquable)
   ========================================================== */

.project-trigger,
.project-trigger a,
.project-trigger img{
  cursor: pointer;
}

.project-trigger img{
  transition: transform .28s ease, filter .28s ease, opacity .28s ease;
}

.project-trigger:hover img{
  transform: scale(1.04);
  filter: brightness(1.08) contrast(1.05);
}


/* ===============================
   OVERLAY (fond derrière la modale)
   =============================== */
.elementor-popup-modal .dialog-overlay {
  background: rgba(0, 0, 0, 0.35); /* très transparent */
}

/* ===============================
   BOÎTE DE LA MODALE
   =============================== */
.elementor-popup-modal .dialog-widget-content {
  background: rgba(15, 15, 18, 0.60); /* translucide clean */
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.15);
  box-shadow: 0 30px 80px rgba(0,0,0,0.6);
  overflow: hidden;
}

/* ===============================
   CONTENU INTERNE
   =============================== */
.elementor-popup-modal .dialog-message {
  padding: 32px;
}

/* ===============================
   BOUTON FERMETURE
   =============================== */
.elementor-popup-modal .dialog-close-button {
  opacity: 0.85;
  transition: opacity .2s ease, transform .2s ease;
}

.elementor-popup-modal .dialog-close-button:hover {
  opacity: 1;
  transform: scale(1.1);
}
/* ===== MOBILE : GRILLE PROPRE & VIGNETTES CENTRÉES ===== */
@media (max-width: 767px){

  /* Une seule colonne */
  .projects-masonry > .e-con-inner{
    grid-template-columns: 1fr;
    grid-auto-rows: 220px; /* centre les vignettes */
  }

  /* Toutes les vignettes = taille normale */
  .projects-masonry > .e-con-inner > .elementor-element{
    grid-column: span 1;
    grid-row: span 1;

    width: 100%;
    max-width: 380px; /* OPTIONNEL : limite élégante */
    margin: 0 auto;
  }

  /* Image bien centrée et contenue */
  .projects-masonry img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}/* End custom CSS */