/* ЖК «Невский»: корректное отображение планировок */
:root{scroll-behavior:smooth}
#nevsky-tilda-native .apartment-image,
#nevsky-tilda-native .apartment-grid.single .apartment-image{
  position:relative!important;
  height:clamp(330px,42vw,540px)!important;
  min-height:330px!important;
  overflow:hidden!important;
  background:#fff!important;
}
#nevsky-tilda-native .apartment-image img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  box-sizing:border-box!important;
  padding:18px!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  transition:opacity .32s ease!important;
  background:#fff!important;
}
#nevsky-tilda-native .apartment-card:hover .apartment-image img{transform:none!important}
#nevsky-tilda-native .apartment-grid{animation:nevsky-card-in .42s ease both}
@keyframes nevsky-card-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:640px){
  #nevsky-tilda-native .apartment-image,
  #nevsky-tilda-native .apartment-grid.single .apartment-image{height:clamp(290px,86vw,350px)!important;min-height:290px!important}
  #nevsky-tilda-native .apartment-image img{padding:12px!important}
}
@media (prefers-reduced-motion:no-preference){
  html.nevsky-motion #nevsky-tilda-native .nevsky-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
  html.nevsky-motion #nevsky-tilda-native .nevsky-reveal.is-visible{opacity:1;transform:translateY(0)}
  #nevsky-tilda-native .button,#nevsky-tilda-native .filters button,#nevsky-tilda-native .apartment-card{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease,opacity .22s ease}
}
/* Сохраняем заданный поворот отдельных вариантов без кадрирования */
#nevsky-tilda-native .apartment-image.rotate-left img{
  inset:50% auto auto 50%!important;
  width:100cqh!important;
  height:100cqw!important;
  transform:translate(-50%,-50%) rotate(-90deg)!important;
}
#nevsky-tilda-native .apartment-image.rotate-180 img{transform:rotate(180deg)!important}


/* Единое мягкое появление страницы */
html.nevsky-page-loading,
html.nevsky-page-loading body{background:#123B35!important}
html.nevsky-page-loading #nevsky-tilda-native{
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(8px)!important;
  pointer-events:none!important;
}
html.nevsky-page-ready #nevsky-tilda-native{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0)!important;
  transition:opacity .65s cubic-bezier(.22,.65,.25,1),transform .65s cubic-bezier(.22,.65,.25,1)!important;
}


/* Единое мягкое появление страницы */
html.nevsky-page-loading,
html.nevsky-page-loading body{background:#123B35!important}
html.nevsky-page-loading #nevsky-tilda-native{
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(8px)!important;
  pointer-events:none!important;
}
html.nevsky-page-ready #nevsky-tilda-native{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0)!important;
  transition:opacity .65s cubic-bezier(.22,.65,.25,1),transform .65s cubic-bezier(.22,.65,.25,1)!important;
}


/* Появление без рывков: только прозрачность */
#nevsky-tilda-native .apartment-grid{animation:nevsky-card-fade .4s ease both!important}
@keyframes nevsky-card-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:no-preference){
  html.nevsky-motion #nevsky-tilda-native .nevsky-reveal{
    transform:none!important;
    transition:opacity .55s ease!important;
  }
  html.nevsky-motion #nevsky-tilda-native .nevsky-reveal.is-visible{transform:none!important}
}
