/* EscortNavi - uniform, non-destructive listing photo watermark.
   White logo, one scale (66% of container width) and opacity (16%) everywhere.
   Existing and future listing images automatically use this overlay. */
:root{--en-photo-logo:url('/assets/logo.svg');--en-photo-mark-opacity:.16;--en-photo-mark-size:66% auto}
.premiumEscortPhoto:has(>img),
.profileMainPhotoWrap:has(>img),
.profileThumb:has(img),
.profileGalleryTile:has(img),
.profileRelatedPhoto:has(img){position:relative;overflow:hidden;isolation:isolate}
.premiumEscortPhoto:has(>img)::after,
.profileMainPhotoWrap:has(>img)::after,
.profileThumb:has(img)::after,
.profileGalleryTile:has(img)::after,
.profileRelatedPhoto:has(img)::after{
  content:'';position:absolute;inset:0;
  background-color:#fff;
  -webkit-mask-image:var(--en-photo-logo);
  mask-image:var(--en-photo-logo);
  -webkit-mask-position:center center;
  mask-position:center center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:var(--en-photo-mark-size);
  mask-size:var(--en-photo-mark-size);
  opacity:var(--en-photo-mark-opacity);
  pointer-events:none;
  z-index:2;
}
/* Respect the original absolute positioning of card titles and badges.
   Do NOT set position:relative on those elements. */
.profileRelatedPhoto .profileRelatedInfo,
.profileRelatedPhoto .profileRelatedPackage,
.profileRelatedPhoto .profileRelatedNow{z-index:4!important;}

/* Consistent edge-to-edge photo crop on profile cards across the platform.
   Applies to listings/search/cities/favorites/verified/related cards;
   leaves full-size photos, thumbnails and original files unchanged. */
.premiumEscortCard .premiumEscortPhoto > img.premiumEscortImg {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}
.premiumEscortCard .premiumEscortPhoto > .premiumEscortBackdrop {
  display: none !important;
}
