/* MLS Client Tracker promo refinements. Loaded after frontend.css. */
.mlsct-promo-photo-visual{
  --mlsct-px:0px;
  --mlsct-py:0px;
  --mlsct-rx:0deg;
  --mlsct-ry:0deg;
  --mlsct-glow-x:72%;
}

.mlsct-promo-photo-frame{
  transform:translateY(12px) scale(.985) rotateX(var(--mlsct-rx)) rotateY(var(--mlsct-ry))!important;
  transform-style:preserve-3d!important;
  will-change:transform!important;
  transition:transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease!important;
}

.mlsct-promo.is-visible .mlsct-promo-photo-frame{
  transform:translateY(0) scale(1) rotateX(var(--mlsct-rx)) rotateY(var(--mlsct-ry))!important;
}

.mlsct-promo-photo-frame:before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at var(--mlsct-glow-x) 24%,rgba(255,184,194,.18),transparent 26%);
  mix-blend-mode:screen;
  transition:background-position .25s ease!important;
}

.mlsct-promo-photo-frame>img{
  transform-origin:56% 42%!important;
  will-change:transform!important;
  animation:mlsct-promo-photo-interactive 6.8s ease-in-out infinite!important;
}

.mlsct-promo-photo-caption{
  z-index:6!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  min-height:104px!important;
  padding:20px 24px 19px 30px!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
  border-left:0!important;
  background:linear-gradient(90deg,rgba(20,1,5,.96),rgba(42,4,10,.89))!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}

.mlsct-promo-photo-caption:before{
  content:"";
  position:absolute;
  top:20px;
  bottom:19px;
  left:17px;
  width:3px;
  background:#d72540;
}

.mlsct-promo-photo-caption strong{
  position:relative!important;
  z-index:1!important;
  max-width:390px!important;
  font-size:20px!important;
  line-height:1.18!important;
  text-shadow:0 2px 16px rgba(0,0,0,.55)!important;
}

.mlsct-promo-photo-visual .mlsct-promo-float-one{
  animation:mlsct-promo-badge-one 4.8s ease-in-out infinite!important;
}

.mlsct-promo-photo-visual .mlsct-promo-float-two{
  bottom:126px!important;
  left:-24px!important;
  animation:mlsct-promo-badge-two 5.2s .35s ease-in-out infinite!important;
}

.mlsct-promo-photo-visual:hover .mlsct-promo-photo-frame{
  box-shadow:0 45px 105px rgba(0,0,0,.56),0 0 0 1px rgba(226,73,94,.16)!important;
}

@keyframes mlsct-promo-photo-interactive{
  0%,100%{transform:translate3d(var(--mlsct-px),var(--mlsct-py),0) scale(1.025)}
  50%{transform:translate3d(var(--mlsct-px),calc(var(--mlsct-py) - 5px),0) scale(1.045)}
}

@keyframes mlsct-promo-badge-one{
  0%,100%{margin-top:0}
  50%{margin-top:-7px}
}

@keyframes mlsct-promo-badge-two{
  0%,100%{margin-bottom:0}
  50%{margin-bottom:7px}
}

@media(max-width:600px){
  .mlsct-promo-photo-caption{
    min-height:92px!important;
    padding:16px 18px 15px 25px!important;
  }
  .mlsct-promo-photo-caption:before{top:16px;bottom:15px;left:13px}
  .mlsct-promo-photo-caption strong{font-size:16px!important}
}

@media(hover:none),(pointer:coarse){
  .mlsct-promo-photo-frame{transform:translateY(0) scale(1)!important}
}

@media(prefers-reduced-motion:reduce){
  .mlsct-promo-photo-frame,.mlsct-promo-photo-frame>img,.mlsct-promo-float{
    animation:none!important;
    transition:none!important;
    transform:none!important;
  }
}
