/* Layout: авторская подборка — обложка-коллаж, вступление автора и прогресс «вы посмотрели», затем нумерованный список фильмов: у каждого постер, почему он здесь и действия. */

.c-hero{position:relative;overflow:hidden;isolation:isolate;padding-top:clamp(110px,12vw,150px);padding-bottom:40px}
.c-hero .bg{position:absolute;inset:0;z-index:-2;display:grid;grid-template-columns:repeat(4,1fr);opacity:.55;filter:grayscale(1) contrast(1.1)}
.c-hero .bg img{width:100%;height:100%;object-fit:cover}
.c-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,var(--bg) 0%,rgba(0,0,0,.75) 45%,rgba(0,0,0,.55) 100%)}
.c-hero .wrap{display:grid;gap:18px;justify-items:start}
.c-hero h1{font:800 clamp(2.4rem,5.6vw,4.6rem)/1 var(--font-display);letter-spacing:-.045em;max-width:18ch;text-wrap:balance}
.c-hero .dek{font-size:clamp(1.05rem,1.5vw,1.25rem);color:rgba(245,245,247,.85);max-width:56ch}
.facts-line{display:flex;flex-wrap:wrap;gap:8px}
.facts-line span{font:600 .82rem/1 var(--font-ui);padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.byline{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:.9rem;color:rgba(245,245,247,.72)}
.byline .ava{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#3a3a40,#1d1d21);display:inline-grid;place-items:center;font:700 .75rem/1 var(--font-display);color:var(--fg);vertical-align:middle;margin-right:8px}
.byline b{color:var(--fg);font-weight:600}
.actions{display:flex;flex-wrap:wrap;gap:10px}

.c-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start;margin-top:24px}
.intro{font-size:1.15rem;line-height:1.7;color:rgba(245,245,247,.88);max-width:680px}
.intro p+p{margin-top:1em}
.progress-box{position:sticky;top:96px;background:var(--card);border-radius:var(--r-lg);padding:22px;display:grid;gap:12px}
.progress-box b{font:800 2.2rem/1 var(--font-display);letter-spacing:-.03em}
.progress-box p{color:var(--fg-2);font-size:.9rem}
.bar{height:8px;border-radius:4px;background:rgba(255,255,255,.1);overflow:hidden}
.bar i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--accent),#ff6b81);border-radius:4px;transition:width .4s}
.legend{display:grid;gap:6px;font-size:.85rem;color:var(--fg-3);padding-top:6px;border-top:1px solid var(--line)}
@media (max-width:1000px){.c-layout{grid-template-columns:minmax(0,1fr)}.progress-box{position:static}}

.list{display:grid;gap:14px;margin-top:40px;counter-reset:n}
.it{display:grid;grid-template-columns:72px 150px minmax(0,1fr) auto;gap:24px;align-items:center;padding:18px;border-radius:var(--r-lg);background:var(--card);transition:background .2s}
.it:hover{background:var(--card-2)}
.it .n{font:800 3rem/1 var(--font-display);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px rgba(245,245,247,.45);text-align:center;font-variant-numeric:lining-nums}
.it .img{aspect-ratio:2/3;border-radius:var(--r-sm)}
.it .body{display:grid;gap:8px;min-width:0}
.it h2{font:700 1.4rem/1.15 var(--font-display);letter-spacing:-.025em}
.it .m{font-size:.85rem;color:var(--fg-3)}
.it p{color:var(--fg-2);font-size:1rem;max-width:64ch}
.it .side{display:grid;gap:8px;justify-items:end}
.score{display:inline-flex;align-items:center;gap:6px;font:700 .82rem/1 var(--font-ui);padding:6px 9px;border-radius:8px;background:var(--fg);color:#000}
.it.seen{outline:1px solid rgba(48,209,88,.35)}
.it .btn[aria-pressed="true"]{background:rgba(48,209,88,.18);color:var(--up)}
.it.wide{grid-template-columns:72px minmax(0,1fr) auto;background:none;padding:0;overflow:hidden;position:relative;border-radius:var(--r-lg);min-height:300px;isolation:isolate}
.it.wide>img,.it.wide>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:grayscale(.2)}
.it.wide::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.55) 60%,rgba(0,0,0,.2))}
.it.wide .n{-webkit-text-stroke-color:rgba(245,245,247,.8);padding-left:18px}
.it.wide .body{padding-block:28px}
.it.wide .side{padding-right:22px}
.it.wide h2{font-size:2rem}
.it.wide p{color:rgba(245,245,247,.85)}
@media (max-width:760px){
  .it{grid-template-columns:44px 96px minmax(0,1fr);gap:14px;padding:14px}.it .n{font-size:2rem}
  .it .side{grid-column:1 / -1;grid-auto-flow:column;justify-content:start;justify-items:start}
  .it h2{font-size:1.15rem}.it p{font-size:.92rem}
  .it.wide{grid-template-columns:44px minmax(0,1fr)}.it.wide .n{padding-left:12px}.it.wide .side{padding:0 14px 18px}.it.wide h2{font-size:1.5rem}.it.wide .body{padding-right:14px}
}
.more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tile{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--card);isolation:isolate;aspect-ratio:16/10;display:block}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s}
.tile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,.88),transparent 65%)}
.tile:hover img{transform:scale(1.04)}
.tile .txt{position:absolute;left:0;right:0;bottom:0;padding:20px;display:grid;gap:6px}
.tile h3{font:700 1.2rem/1.2 var(--font-display)}
.tile span{font-size:.8rem;color:rgba(245,245,247,.75)}
@media (max-width:860px){.more{grid-template-columns:minmax(0,1fr)}}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fg);color:#000;font:600 .9rem/1 var(--font-ui);padding:12px 18px;border-radius:999px;z-index:60}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
