.nn-afisha-home{
  --ah-line:#e5e7eb;
  --ah-muted:#667085;
  --ah-gap:14px;
  margin:22px 0 28px;
}
.nn-afisha-home *{box-sizing:border-box}
.nn-afisha-home[hidden]{display:none!important}
.nn-afisha-home-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:12px;
}
.nn-afisha-home-heading{min-width:0}
.nn-afisha-home-kicker{
  display:block;
  margin-bottom:4px;
  color:var(--red,#b40000);
  font-size:10px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.nn-afisha-home-head h2{
  margin:0;
  color:#111;
  font-size:clamp(28px,3.4vw,38px);
  line-height:1;
  font-weight:900;
  letter-spacing:-.052em;
}
.nn-afisha-home-head-right{
  display:flex;
  align-items:center;
  gap:8px;
}
.nn-afisha-home-counter{
  min-width:48px;
  color:#7b8490;
  font-size:11px;
  line-height:1;
  font-weight:850;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.nn-afisha-home-arrow{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0 0 2px;
  border:1px solid var(--ah-line);
  border-radius:50%;
  background:#fff;
  color:#111;
  font-size:23px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.nn-afisha-home-arrow:hover:not(:disabled){
  border-color:#111;
  background:#111;
  color:#fff;
  transform:translateY(-1px);
}
.nn-afisha-home-arrow:disabled{
  opacity:.28;
  cursor:default;
}
.nn-afisha-home-all{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  justify-content:center;
  margin-left:3px;
  padding:0 13px;
  border:1px solid #111;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:11px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}
.nn-afisha-home-all:hover{
  background:var(--red,#b40000);
  border-color:var(--red,#b40000);
  color:#fff;
}
.nn-afisha-slider-shell{
  min-width:0;
  overflow:hidden;
}
.nn-afisha-slider-track{
  display:flex;
  align-items:stretch;
  gap:var(--ah-gap);
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px 10px;
  scroll-snap-type:x mandatory;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.nn-afisha-slider-track::-webkit-scrollbar{display:none}
.nn-afisha-poster{
  position:relative;
  flex:0 0 calc((100% - var(--ah-gap)*3)/4);
  min-width:0;
  overflow:hidden;
  scroll-snap-align:start;
  border:1px solid var(--ah-line);
  border-radius:18px;
  background:#fff;
  color:#111;
  box-shadow:0 8px 24px rgba(17,24,39,.045);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.nn-afisha-poster:hover{
  border-color:#d2d6dc;
  color:#111;
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(17,24,39,.09);
}
.nn-afisha-poster-media{
  --nn-poster:none;
  position:relative;
  aspect-ratio:3/4.1;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#171717;
}
.nn-afisha-poster-media::before{
  content:"";
  position:absolute;
  inset:-18px;
  background-image:var(--nn-poster);
  background-position:center;
  background-size:cover;
  filter:blur(17px);
  opacity:.52;
  transform:scale(1.08);
}
.nn-afisha-poster-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.5),transparent 42%);
  pointer-events:none;
}
.nn-afisha-poster-image{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  background:transparent;
  transition:transform .32s ease;
}
.nn-afisha-poster:hover .nn-afisha-poster-image{
  transform:scale(1.018);
}
.nn-afisha-poster-day{
  position:absolute;
  left:11px;
  top:11px;
  z-index:3;
  min-height:25px;
  display:inline-flex;
  align-items:center;
  padding:0 8px;
  border-radius:999px;
  background:rgba(255,255,255,.95);
  color:#111;
  box-shadow:0 5px 14px rgba(0,0,0,.13);
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  backdrop-filter:blur(7px);
}
.nn-afisha-poster-time{
  position:absolute;
  right:11px;
  bottom:10px;
  z-index:3;
  min-height:25px;
  display:inline-flex;
  align-items:center;
  padding:0 8px;
  border-radius:999px;
  background:rgba(17,17,17,.78);
  color:#fff;
  font-size:9px;
  line-height:1;
  font-weight:900;
  backdrop-filter:blur(7px);
}
.nn-afisha-poster-body{
  min-height:124px;
  display:flex;
  flex-direction:column;
  padding:12px 13px 13px;
}
.nn-afisha-poster-title{
  margin:0;
  display:-webkit-box;
  overflow:hidden;
  color:#111;
  font-size:15px;
  line-height:1.17;
  font-weight:900;
  letter-spacing:-.025em;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.nn-afisha-poster-place{
  margin:7px 0 0;
  display:-webkit-box;
  overflow:hidden;
  color:#6b7280;
  font-size:10px;
  line-height:1.3;
  font-weight:700;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.nn-afisha-poster-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:auto;
  padding-top:10px;
}
.nn-afisha-poster-price{
  min-width:0;
  overflow:hidden;
  color:#697386;
  font-size:9px;
  line-height:1;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nn-afisha-poster-price[data-type="free"]{color:#087443}
.nn-afisha-poster-price[data-type="paid"]{color:#9a4c00}
.nn-afisha-poster-more{
  flex:0 0 auto;
  color:#111;
  font-size:17px;
  line-height:1;
  font-weight:900;
}
.nn-afisha-home-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:18px;
  margin-top:4px;
}
.nn-afisha-home-dot{
  width:6px;
  height:6px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#d3d6da;
  cursor:pointer;
  transition:width .18s ease,background-color .18s ease;
}
.nn-afisha-home-dot.is-active{
  width:20px;
  background:#111;
}
.nn-afisha-home-loading{
  min-height:360px;
  border:1px solid var(--ah-line);
  border-radius:18px;
  background:linear-gradient(90deg,#f4f4f4 25%,#fafafa 42%,#f4f4f4 62%);
  background-size:300% 100%;
  animation:nnAfishaPosterLoading 1.2s linear infinite;
}
@keyframes nnAfishaPosterLoading{
  to{background-position:-150% 0}
}
@media(max-width:980px){
  .nn-afisha-poster{
    flex-basis:calc((100% - var(--ah-gap)*2)/3);
  }
}
@media(max-width:720px){
  .nn-afisha-home{
    --ah-gap:11px;
    margin:18px 0 24px;
  }
  .nn-afisha-home-head{
    align-items:center;
  }
  .nn-afisha-home-head h2{
    font-size:28px;
  }
  .nn-afisha-home-counter,
  .nn-afisha-home-arrow{
    display:none;
  }
  .nn-afisha-home-all{
    width:38px;
    min-width:38px;
    padding:0;
    font-size:0;
  }
  .nn-afisha-home-all::after{
    content:"→";
    font-size:17px;
  }
  .nn-afisha-slider-shell{
    margin-right:-9px;
  }
  .nn-afisha-slider-track{
    padding-right:38px;
    scroll-padding-left:0;
  }
  .nn-afisha-poster{
    flex-basis:min(67vw,250px);
    border-radius:16px;
  }
  .nn-afisha-poster-body{
    min-height:116px;
    padding:11px 12px 12px;
  }
  .nn-afisha-poster-title{
    font-size:14px;
  }
  .nn-afisha-home-dots{
    justify-content:flex-start;
    overflow:hidden;
    padding-left:2px;
  }
}
@media(max-width:420px){
  .nn-afisha-poster{
    flex-basis:min(72vw,236px);
  }
}
@media(prefers-reduced-motion:reduce){
  .nn-afisha-poster,
  .nn-afisha-poster-image,
  .nn-afisha-home-arrow,
  .nn-afisha-home-dot{
    transition:none;
  }
  .nn-afisha-home-loading{
    animation:none;
  }
}
