
.luxury__cards-ellipses{
  position: relative;
  isolation: isolate;   /* évite les fuites de z-index */
  z-index: 0;
  --ellipse-size: 47rem;
  --ellipse-color: rgba(243, 204, 135, 0.6); /* #F3CC87 à 40% */
  --ellipse-blur: 300px;

  /* variables de position : ajuste-les comme tu veux */
  --ellipse-left-top: 22rem;   /* ⬇️ Descendre/monter l’ellipse du haut */
  --ellipse-right-bottom: 0rem;
}

/* ellipse haut-gauche */
.luxury__cards-ellipses::before{
  content:"";
  position:absolute;
  width:var(--ellipse-size);
  height:var(--ellipse-size);
  left:-20rem;
  top:var(--ellipse-left-top);
  background:var(--ellipse-color);
  border-radius:50%;
  filter: blur(var(--ellipse-blur));
  z-index:-1;
}

/* ellipse bas-droite */
.luxury__cards-ellipses::after{
  content:"";
  position:absolute;
  width:var(--ellipse-size);
  height:var(--ellipse-size);
  right:-22rem;
  bottom:var(--ellipse-right-bottom);
  background:var(--ellipse-color);
  border-radius:50%;
  filter: blur(var(--ellipse-blur));
  z-index:-1;
}

/* ====================================
GRILLE 4 CARDS
=====================================*/
.immobilier .panel, .immobilier .featured-listings, .immobilier .luxury__cards-grid, .immobilier .testimonials {
    overflow-anchor: none;
}

.luxury__cards-grid .luxury__card {
  will-change: transform;
  background-size: 100%;
  background-position: center;
  background-color: transparent;
  transition: transform 0.6s ease, background-size 10s ease;
}
.luxury__cards-grid .luxury__card:hover,
.luxury__cards-grid .luxury__card:focus-within {
  background-size: 110%;
}
.luxury__cards-grid {
  display: grid;
  grid-template-columns: repeat(2, 534px);
  grid-template-rows: repeat(2, 732px);
  gap: 40px 40px; /* row-gap / column-gap */
  justify-content: center;
  margin-top: 4rem;
}
.estimer .luxury__cards-grid {
    grid-template-rows: repeat(1, 732px);
}
@media (max-width: 1440px) {
  .luxury__cards-grid {
      scale: 0.8;
      margin-top: -10%;
      margin-bottom: -10%;
  }

}
@media (max-width: 1024px) {
  .luxury__cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    scale:1;
  }

  .luxury__cards-grid .luxury__card,
  .luxury__cards-grid .luxury__card--offset {
    width: 100%;
    height: auto;
    transform: none;
  }
}

.luxury__card {
    position: relative;
    width: 100%;
    max-width: 534px;
    height: 732px;
    border-radius: 24px;
    overflow: hidden;
    background-color: #0a0a0a;
    background-image: var(--card-bg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: #fff;
}
.luxury__card_overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0) 100%);
}
.luxury__card--offset {
  margin-top: 80px;
}


.luxury__card_content {
  position: relative;
  z-index: 2;
  padding: 2rem;
  text-align: left; /* ✅ alignement gauche */
}

.luxury__card-title {
  margin: 0 0 1rem;
  font: var(--h2-font);
}
.luxury__card_content p,
.luxury__card-text {
  margin: 0 0 1.5rem;
  font: var(--body);
  max-width: 90%;
  font-size: 0.9rem;
  line-height: 1.5;
}

.luxury__card-link {
  font: var(--h5-font);
  font-size: 18px;
  color: #fff;
}

.luxury__card-link:hover {
  opacity: 0.9;
  text-decoration: underline;
  color: #f1f1f1;

}
/*=========================================
6 CARDS 
==========================================*/

.luxury__cards-grid.six_cards {
    display: grid;
    grid-template-columns: repeat(3, 390px);
    grid-template-rows: repeat(2, 641px);
    justify-content: center;
    margin-top: 4rem;
    gap: 40px;
}
.six_cards .luxury__card {
    position: relative;
    width: 390px;
    height: 641px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: #fff;
    border-radius: 24px;
    overflow: hidden;
    background-image: var(--card-bg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 105%;
    transition: transform 0.6s ease, background-size 10s ease;
}
.six_cards .luxury__card:hover,
.six_cards .luxury__card:focus-within {
    background-size: 120%;
}
.six_cards .luxury__card_overlay {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    inset: 0;
  background: var(--lp-overlay-color);
  transition: opacity 0.28s;
}
.six_cards .luxury__card_content {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    opacity: 0;
    transform: translateY(8px) scale(0.98);
    pointer-events: initial;
    inset: 0;
    padding: 24px;
    transition: opacity 0.28s, transform 0.28s;
}
.six_cards .luxury__card-title {
    color: #fff;
  line-height: 1.2;
  text-shadow: rgba(0, 0, 0, 0.35) 0 10px 30px;
  margin: 0;
}

@media (max-width: 1024px) {
  .luxury__cards-ellipses .lp-horizontal-scroll {
    scale: 1;
    margin-top: 0;
    margin-bottom: 0;
  }

  .luxury__cards-grid,
  .luxury__cards-grid.six_cards {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: clamp(12px, 4vw, 24px);
    padding: 0 clamp(16px, 5vw, 36px) 1.25rem;
    width: 100vw;
    max-width: none;
    margin: 0;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    scroll-padding-left: clamp(16px, 5vw, 36px);
    scroll-padding-right: clamp(16px, 5vw, 36px);
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
  
  .luxury__cards-grid::-webkit-scrollbar,
  .luxury__cards-grid.six_cards::-webkit-scrollbar {
    display: none;
  }
  
  .luxury__cards-grid .luxury__card,
  .luxury__cards-grid .luxury__card--offset,
  .luxury__cards-grid.six_cards .luxury__card {
    flex: 0 0 auto;
    width: min(78vw, 360px);
    max-width: none;
    height: auto;
    margin: 0;
    transition: none;
    transform: none !important;
    background-size: cover;
    scroll-snap-align: start;
  }
  
  .luxury__cards-grid .luxury__card--offset,
  .luxury__cards-grid.six_cards .luxury__card--offset {
    margin-top: 0;
  }
  
  .luxury__cards-grid .luxury__card:hover,
  .luxury__cards-grid .luxury__card:focus-within,
  .luxury__cards-grid.six_cards .luxury__card:hover,
  .luxury__cards-grid.six_cards .luxury__card:focus-within {
    background-size: cover;
  }
  
  .six_cards .luxury__card_overlay,
  .six_cards .luxury__card_content {
    pointer-events: none;
  }
}

@media (max-width: 640px) {
  .luxury__cards-grid .luxury__card, .luxury__cards-grid .luxury__card--offset, .luxury__cards-grid.six_cards .luxury__card{
    height:60vh;
  }
}