/* CASAPLAISIR V2.5 — Luxury Cards */
:root{
  --cp-black:#050505;
  --cp-panel:#101012;
  --cp-gold:#d4af37;
  --cp-gold-light:#f1d878;
  --cp-rose:#e91e63;
  --cp-white:#fff;
}

.casaplaisir-v25 .cp-lux-card{
  position:relative;
  width:100%;
  margin:0 0 22px;
  overflow:hidden;
  border:1px solid rgba(212,175,55,.42);
  border-radius:10px;
  background:var(--cp-panel);
  box-shadow:0 16px 38px rgba(0,0,0,.38);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.casaplaisir-v25 .cp-lux-card:hover{
  transform:translateY(-6px);
  border-color:var(--cp-gold);
  box-shadow:0 25px 55px rgba(0,0,0,.55),0 0 25px rgba(212,175,55,.13);
}
.casaplaisir-v25 .cp-lux-card__link{display:block;color:#fff!important;text-decoration:none!important}
.casaplaisir-v25 .cp-lux-card__media{position:relative;min-height:520px;overflow:hidden;background:#111}
.casaplaisir-v25 .cp-lux-card__image{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  background-position:center top!important;background-size:cover!important;background-repeat:no-repeat!important;
  transform:scale(1.002);transition:transform .55s ease;
}
.casaplaisir-v25 .cp-lux-card:hover .cp-lux-card__image{transform:scale(1.035)}
.casaplaisir-v25 .cp-lux-card__shade{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(to bottom,rgba(5,5,5,.03) 32%,rgba(5,5,5,.28) 55%,rgba(5,5,5,.96) 100%);
}
.casaplaisir-v25 .cp-lux-card__favorite{
  position:absolute;z-index:8;right:13px;top:13px;width:38px;height:38px;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(5,5,5,.55);cursor:pointer;
  color:#fff;font-size:25px;line-height:1;backdrop-filter:blur(8px);transition:.2s ease
}
.casaplaisir-v25 .cp-lux-card__favorite:hover{color:#fff;background:var(--cp-rose);border-color:var(--cp-rose)}
.casaplaisir-v25 .cp-lux-heart--on{display:none;color:var(--cp-rose)}
.casaplaisir-v25 .cp-lux-card.isFavs .cp-lux-heart--off{display:none}
.casaplaisir-v25 .cp-lux-card.isFavs .cp-lux-heart--on{display:inline}
.casaplaisir-v25 .cp-lux-card__content{position:absolute;z-index:4;left:0;right:0;bottom:0;padding:24px 19px 18px;color:#fff}
.casaplaisir-v25 .cp-lux-card__title{margin:0 0 8px!important;color:#fff!important;font-family:Georgia,'Times New Roman',serif!important;font-size:30px!important;line-height:1.05!important;font-weight:700!important;text-shadow:0 3px 14px rgba(0,0,0,.9)}
.casaplaisir-v25 .cp-lux-card__title span{font-weight:400;color:var(--cp-gold-light)}
.casaplaisir-v25 .cp-lux-card__facts{display:flex;flex-wrap:wrap;gap:0;color:#f3f3f3;font-size:12px;font-weight:700}
.casaplaisir-v25 .cp-lux-card__facts span:not(:last-child)::after{content:'•';margin:0 7px;color:var(--cp-gold)}
.casaplaisir-v25 .cp-lux-card__price{color:var(--cp-gold-light)}
.casaplaisir-v25 .cp-lux-card__excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:10px 0 13px!important;color:rgba(255,255,255,.76)!important;font-size:12px!important;line-height:1.48!important}
.casaplaisir-v25 .cp-lux-card__city{display:flex;align-items:center;gap:5px;padding-top:11px;border-top:1px solid rgba(212,175,55,.32);font-size:12px;font-weight:800;color:#fff}
.casaplaisir-v25 .cp-lux-card__city b{margin-left:auto;font-size:16px}



/* ==========================================================
   CASAPLAISIR V2.5 — GRILLE PREMIUM STABLE
   La grille est créée par PremiumPress en PHP.
   Le JS ajoute .cp-lux-grid-row uniquement sur la vraie ligne
   qui contient directement les colonnes des profils.
   ========================================================== */

.casaplaisir-v25 .cp-lux-grid-row{
  --bs-gutter-x:14px!important;
  --bs-gutter-y:14px!important;
  margin-left:-7px!important;
  margin-right:-7px!important;
  width:calc(100% + 14px)!important;
}

.casaplaisir-v25 .cp-lux-grid-row > [class*="col-"],
.casaplaisir-v25 .cp-lux-grid-row > .col{
  padding-left:7px!important;
  padding-right:7px!important;
  margin-bottom:0!important;
}

/* Retire la marge verticale interne de la carte:
   l'espacement est désormais géré par la vraie ligne PremiumPress. */
.casaplaisir-v25 .cp-lux-grid-row .cp-lux-card{
  margin-bottom:0!important;
}

/* Proportions plus larges et plus proches de la référence */
.casaplaisir-v25 .cp-lux-card__media{
  min-height:0!important;
  aspect-ratio:3 / 4!important;
}

/* Le contenu reste compact pour privilégier la photo */
.casaplaisir-v25 .cp-lux-card__content{
  padding:22px 17px 15px!important;
}
.casaplaisir-v25 .cp-lux-card__excerpt{
  margin:8px 0 11px!important;
}



/* Tablettes */
@media(max-width:1199px){
  .casaplaisir-v25 .cp-lux-grid-row{
    --bs-gutter-x:12px!important;
    --bs-gutter-y:12px!important;
    margin-left:-6px!important;
    margin-right:-6px!important;
    width:calc(100% + 12px)!important;
  }
  .casaplaisir-v25 .cp-lux-grid-row > [class*="col-"],
  .casaplaisir-v25 .cp-lux-grid-row > .col{
    padding-left:6px!important;
    padding-right:6px!important;
  }
}

/* Mobile: PremiumPress utilise col-6 grâce au réglage mobileperrow=2 */
@media(max-width:767px){
  .casaplaisir-v25 .cp-lux-grid-row{
    --bs-gutter-x:8px!important;
    --bs-gutter-y:8px!important;
    margin-left:-4px!important;
    margin-right:-4px!important;
    width:calc(100% + 8px)!important;
  }
  .casaplaisir-v25 .cp-lux-grid-row > [class*="col-"],
  .casaplaisir-v25 .cp-lux-grid-row > .col{
    padding-left:4px!important;
    padding-right:4px!important;
  }

  .casaplaisir-v25 .cp-lux-mobile{display:block!important}
  .casaplaisir-v25 .cp-lux-mobile .cp-lux-card{
    margin-bottom:0!important;
    border-radius:7px!important;
  }
  .casaplaisir-v25 .cp-lux-mobile .cp-lux-card__media{
    min-height:0!important;
    aspect-ratio:3 / 4!important;
  }
  .casaplaisir-v25 .cp-lux-mobile .cp-lux-card__content{
    padding:14px 10px 10px!important;
  }
  .casaplaisir-v25 .cp-lux-mobile .cp-lux-card__title{
    font-size:18px!important;
    margin-bottom:5px!important;
  }
  .casaplaisir-v25 .cp-lux-mobile .cp-lux-card__facts,
  .casaplaisir-v25 .cp-lux-mobile .cp-lux-card__city{
    font-size:9px!important;
  }
  .casaplaisir-v25 .cp-lux-mobile .cp-lux-pill{
    padding:5px 7px!important;
    font-size:7px!important;
  }
  .casaplaisir-v25 .cp-lux-card__excerpt{
    display:none!important;
  }
}


/* ==========================================================
   V2.5 — BADGES TOP RIGHT + PRIX MAROC
   ========================================================== */

/* Favori déplacé en haut à gauche afin de libérer le coin droit */
.casaplaisir-v25 .cp-lux-card__favorite{
  left:13px!important;
  right:auto!important;
}

/* Verified, VIP, New et Video empilés à droite comme la référence */
.casaplaisir-v25 .cp-lux-card__badge-stack{
  position:absolute;
  z-index:8;
  top:13px;
  right:0;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
  max-width:76%;
  pointer-events:none;
}

.casaplaisir-v25 .cp-lux-status{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:31px;
  padding:7px 12px;
  border-radius:5px 0 0 5px;
  background:#358bb0;
  color:#fff;
  font-size:10px;
  font-weight:900;
  line-height:1;
  letter-spacing:.35px;
  text-transform:uppercase;
  box-shadow:0 8px 20px rgba(0,0,0,.24);
}

.casaplaisir-v25 .cp-lux-status--vip{
  background:linear-gradient(135deg,var(--cp-gold-light),var(--cp-gold))!important;
  color:#111!important;
}

.casaplaisir-v25 .cp-lux-status--video{
  background:var(--cp-rose)!important;
  color:#fff!important;
}

.casaplaisir-v25 .cp-lux-card__price{
  color:var(--cp-gold-light)!important;
  white-space:nowrap;
}

/* Mobile */
@media(max-width:767px){
  .casaplaisir-v25 .cp-lux-card__badge-stack{
    top:7px;
    gap:4px;
    max-width:82%;
  }
  .casaplaisir-v25 .cp-lux-status{
    min-height:23px;
    padding:5px 7px;
    font-size:7px;
  }
  .casaplaisir-v25 .cp-lux-card__favorite{
    left:7px!important;
    top:7px!important;
    width:31px!important;
    height:31px!important;
    font-size:20px!important;
  }
}
