.elementor-32 .elementor-element.elementor-element-183c6cc{--display:flex;--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-32 .elementor-element.elementor-element-4a66f5d{--display:flex;--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:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-32 .elementor-element.elementor-element-f1dd883{--grid-columns:3;}.elementor-32 .elementor-element.elementor-element-f1dd883 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-32 .elementor-element.elementor-element-f1dd883 .e-loop-item > .elementor-section, .elementor-32 .elementor-element.elementor-element-f1dd883 .e-loop-item > .elementor-section > .elementor-container, .elementor-32 .elementor-element.elementor-element-f1dd883 .e-loop-item > .e-con, .elementor-32 .elementor-element.elementor-element-f1dd883 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-32 .elementor-element.elementor-element-4a66f5d{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-32 .elementor-element.elementor-element-f1dd883{--grid-columns:2;}}@media(max-width:767px){.elementor-32 .elementor-element.elementor-element-4a66f5d{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-32 .elementor-element.elementor-element-f1dd883{--grid-columns:1;}}/* Start custom CSS *//* ════════════════════════════════════════════════════
   LOOP RÉALISATIONS — STYLE PREMIUM VILLA MEDITERRA
════════════════════════════════════════════════════ */

.elementor-widget-loop-grid .elementor-loop-container{
  gap:24px !important;
}

/* Card globale */
.elementor-widget-loop-grid .e-loop-item{
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  border-radius:18px !important;
  background:#fff !important;
  border:1px solid rgba(17,90,101,.08) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 12px 30px rgba(11,60,69,.06),
    0 28px 70px rgba(11,60,69,.05) !important;
  transition:
    transform .45s cubic-bezier(.19,1,.22,1),
    box-shadow .45s cubic-bezier(.19,1,.22,1),
    border-color .35s ease !important;
}

/* Demi cercle premium */
.elementor-widget-loop-grid .e-loop-item::before{
  content:'' !important;
  position:absolute !important;
  width:170px !important;
  height:170px !important;
  border-radius:50% !important;
  top:-98px !important;
  right:-98px !important;
  border:1.5px solid rgba(168,205,211,.18) !important;
  background:radial-gradient(circle,rgba(168,205,211,.12),transparent 68%) !important;
  z-index:1 !important;
  pointer-events:none !important;
  transition:all .45s cubic-bezier(.19,1,.22,1) !important;
}

/* Hover 3D */
.elementor-widget-loop-grid .e-loop-item:hover{
  transform:translateY(-7px) !important;
  border-color:rgba(17,90,101,.20) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 24px 52px rgba(11,60,69,.13),
    0 48px 100px rgba(11,60,69,.08) !important;
}

.elementor-widget-loop-grid .e-loop-item:hover::before{
  transform:scale(1.15) rotate(8deg) !important;
  border-color:rgba(17,90,101,.28) !important;
}

/* Conteneur interne */
.elementor-widget-loop-grid .e-loop-item .e-con-inner{
  padding:0 !important;
  max-width:100% !important;
}

/* Image box */
.elementor-widget-loop-grid .elementor-image-box-wrapper{
  position:relative !important;
  overflow:hidden !important;
  border-radius:18px !important;
  background:#fff !important;
}

/* Image */
.elementor-widget-loop-grid .elementor-image-box-img{
  margin:0 !important;
  width:100% !important;
  overflow:hidden !important;
  border-radius:18px 18px 0 0 !important;
  background:#EAF1F2 !important;
}

.elementor-widget-loop-grid .elementor-image-box-img img{
  width:100% !important;
  height:360px !important;
  object-fit:cover !important;
  object-position:center !important;
  transition:
    transform .8s cubic-bezier(.19,1,.22,1),
    filter .35s ease !important;
  filter:saturate(106%) contrast(103%) brightness(.96) !important;
}

.elementor-widget-loop-grid .e-loop-item:hover .elementor-image-box-img img{
  transform:scale(1.08) !important;
  filter:saturate(112%) contrast(105%) brightness(1) !important;
}

/* Si certaines réalisations n’ont pas d’image */
.elementor-widget-loop-grid .elementor-image-box-wrapper:not(:has(.elementor-image-box-img)){
  min-height:260px !important;
  display:flex !important;
  align-items:flex-end !important;
  background:
    radial-gradient(circle at 90% 0%,rgba(168,205,211,.22),transparent 34%),
    linear-gradient(135deg,#0B3C45,#072830) !important;
}

/* Contenu */
.elementor-widget-loop-grid .elementor-image-box-content{
  position:relative !important;
  z-index:2 !important;
  padding:26px 26px 28px !important;
  background:
    linear-gradient(180deg,#fff,#FAFAF8) !important;
  min-height:120px !important;
}

/* Titre */
.elementor-widget-loop-grid .elementor-image-box-title{
  font-family:'Cormorant Garamond',serif !important;
  font-size:clamp(24px,2vw,32px) !important;
  font-weight:700 !important;
  line-height:1.08 !important;
  letter-spacing:-.3px !important;
  color:#0E1C1F !important;
  margin:0 0 10px !important;
}

/* Catégorie / description */
.elementor-widget-loop-grid .elementor-image-box-description,
.elementor-widget-loop-grid .elementor-image-box-description span{
  font-family:'Jost',sans-serif !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:2px !important;
  text-transform:uppercase !important;
  color:#115A65 !important;
}

/* Ligne premium sous titre */
.elementor-widget-loop-grid .elementor-image-box-content::after{
  content:'' !important;
  display:block !important;
  width:52px !important;
  height:2px !important;
  margin-top:16px !important;
  background:linear-gradient(90deg,#115A65,#6AAAB4,rgba(106,170,180,0)) !important;
}

/* Card sans image : texte en blanc */
.elementor-widget-loop-grid .elementor-image-box-wrapper:not(:has(.elementor-image-box-img)) .elementor-image-box-content{
  background:transparent !important;
}

.elementor-widget-loop-grid .elementor-image-box-wrapper:not(:has(.elementor-image-box-img)) .elementor-image-box-title{
  color:#fff !important;
}

.elementor-widget-loop-grid .elementor-image-box-wrapper:not(:has(.elementor-image-box-img)) .elementor-image-box-content::after{
  background:linear-gradient(90deg,#A8CDD3,rgba(168,205,211,0)) !important;
}

/* Responsive */
@media(max-width:1024px){
  .elementor-widget-loop-grid .elementor-loop-container{
    gap:18px !important;
  }

  .elementor-widget-loop-grid .elementor-image-box-img img{
    height:320px !important;
  }
}

@media(max-width:767px){
  .elementor-widget-loop-grid .elementor-loop-container{
    gap:20px !important;
  }

  .elementor-widget-loop-grid .elementor-image-box-img img{
    height:300px !important;
  }

  .elementor-widget-loop-grid .elementor-image-box-content{
    padding:22px 22px 24px !important;
  }

  .elementor-widget-loop-grid .elementor-image-box-title{
    font-size:26px !important;
  }
}/* End custom CSS */