/* Zoom tactile des albums photo uniquement — aucun impact sur les plans */
.gallery-modal__slide{
  overflow:hidden!important;
  touch-action:none!important;
}
.gallery-modal__slide img{
  transform-origin:center center!important;
  will-change:transform;
  transition:transform .18s ease;
  user-select:none;
  -webkit-user-drag:none;
  touch-action:none!important;
}
.gallery-modal__slide img.is-zoomed{cursor:grab}
.gallery-modal__slide img.is-dragging{cursor:grabbing;transition:none}

/* Carte de localisation cliquable */
#rawai-lifestyle .map-wrap img{
  cursor:zoom-in!important;
}
#rawai-lifestyle .map-wrap{
  position:relative;
}
#rawai-lifestyle .map-wrap::after{
  content:"↗";
  position:absolute;
  right:24px;
  bottom:24px;
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(7,19,29,.82);
  color:#fff;
  font-size:20px;
  pointer-events:none;
  backdrop-filter:blur(8px);
}

.map-photo-modal{
  position:fixed;
  inset:0;
  z-index:12050;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(2,8,13,.96);
  padding:18px;
}
.map-photo-modal.open{display:flex}
.map-photo-modal__viewport{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  touch-action:none;
}
.map-photo-modal__img{
  max-width:96vw;
  max-height:92vh;
  object-fit:contain;
  transform-origin:center center;
  transition:transform .18s ease;
  touch-action:none;
  user-select:none;
  -webkit-user-drag:none;
}
.map-photo-modal__close{
  position:absolute;
  top:max(14px,env(safe-area-inset-top));
  right:16px;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  background:rgba(7,19,29,.8);
  color:#fff;
  font-size:28px;
  line-height:1;
  z-index:2;
}
.map-photo-modal__hint{
  position:absolute;
  left:50%;
  bottom:max(16px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  color:#fff;
  background:rgba(7,19,29,.72);
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  padding:9px 14px;
  font-size:.78rem;
  white-space:nowrap;
  pointer-events:none;
}

.final-hero{
min-height:65vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
padding:80px 20px;
color:#fff;
background-image:linear-gradient(90deg,rgba(2,10,16,.95) 0%,rgba(3,12,18,.72) 35%,rgba(3,12,18,.16) 70%),url('data:image/jpeg;
background-size:cover;
background-position:center;
}
.final-hero h2{font-size:18px;letter-spacing:.35em;text-transform:uppercase;color:#e0b665;margin:0}
.final-hero .price{font-family:Georgia,serif;font-size:clamp(46px,8vw,90px);font-weight:700;margin:18px 0}
.final-hero p{font-size:clamp(18px,2vw,28px);margin:0}

.contact button,.contact .btn-email,.contact button i,.contact .btn-email i{
color:#fff!important;
fill:#fff!important;
}
.contact button{
display:inline-flex!important;
align-items:center;
justify-content:center;
gap:12px;
font-weight:700;
}
