/* ── Film page: poster + country → city → showtimes ── */
.fm-body::after{display:none}
.fm-back{font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}
.fm{position:relative;max-width:1300px;margin:auto;padding:7rem clamp(1rem,4vw,3rem) 4rem;overflow:hidden}
.fm-ambient{position:fixed;inset:-10%;z-index:-1;background-size:cover;background-position:center;filter:blur(80px) saturate(1.3);opacity:.22;pointer-events:none}
.fm-ambient::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,var(--ink) 75%)}
.fm-loading{color:var(--dim)}

/* hero */
.fm-hero{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.fm-poster{margin:0;box-shadow:0 50px 90px -30px #000,0 0 0 1px rgba(244,194,90,.3),0 0 120px -30px rgba(223,109,37,.6)}
.fm-poster img{display:block;width:100%;height:auto;border-radius:3px}
.fm-status{display:inline-flex;align-items:center;gap:.6rem;padding:.45rem 1rem;border:1px solid rgba(244,194,90,.4);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.fm-status i{width:8px;height:8px;border-radius:50%;background:var(--gold)}
.fm-status.live{color:#9fe0a6;border-color:rgba(159,224,166,.45)}
.fm-status.live i{background:#4cd964;box-shadow:0 0 10px #4cd964}
.fm-te{font-family:var(--telugu);font-weight:800;font-size:clamp(1.8rem,3.4vw,2.8rem);color:var(--fire);margin-top:1.2rem;line-height:1.2}
.fm-info h1{font-family:var(--display);font-weight:900;font-size:clamp(2.4rem,5.5vw,4.6rem);line-height:1;text-transform:uppercase;margin:.3rem 0 .7rem}
.fm-tag{font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.fm-credits{color:var(--dim);margin-top:.8rem}
.fm-credits b{color:var(--fire);font-weight:400;padding:0 .6rem}
.fm-release{margin:1.4rem 0 1.8rem;padding-top:1.2rem;border-top:1px solid rgba(244,194,90,.15);font-size:.85rem;color:var(--dim)}
.fm-release strong{color:var(--bone);font-weight:600}

/* steps */
.fm-where,.fm-none{margin-top:clamp(3.5rem,7vw,5.5rem)}
.fm-step+.fm-step{margin-top:3rem}
.fm-step h2,.fm-none h2{font-size:clamp(1.8rem,3.6vw,2.8rem);margin:.6rem 0 1.4rem}
.fm-step h2 small{font-family:var(--body);font-size:.42em;font-weight:400;letter-spacing:.1em;color:var(--dim);margin-left:.5rem;text-transform:none}
.fm-none p{color:var(--dim)}
.fm-social{display:flex;gap:.8rem;margin-top:1.4rem;flex-wrap:wrap}

.fm-picker[hidden],.fm-chosen[hidden]{display:none}
.fm-suggest{display:flex;align-items:center;gap:.9rem;width:100%;max-width:560px;padding:1rem 1.2rem;margin-bottom:1rem;text-align:left;
  border:1px solid var(--gold);background:linear-gradient(120deg,rgba(244,194,90,.16),rgba(223,109,37,.06));box-shadow:0 0 40px -18px rgba(244,194,90,.7);transition:transform .3s}
.fm-suggest:hover{transform:translateY(-2px)}
.fm-pin{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.fm-suggest b{display:block;font-family:var(--display);font-size:1.15rem}
.fm-suggest small{font-size:.76rem;color:var(--dim)}
.fm-arrow{margin-left:auto;font-size:1.4rem;color:var(--gold)}
.fm-search{display:flex;align-items:center;gap:.6rem;max-width:560px;padding:0 1rem;margin-bottom:1rem;border:1px solid rgba(244,194,90,.3);background:rgba(7,5,4,.5)}
.fm-search:focus-within{border-color:var(--gold)}
.fm-search[hidden]{display:none}
.fm-search svg{width:18px;flex:none;fill:none;stroke:var(--gold);stroke-width:2}
.fm-search input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--bone);font:inherit;font-size:1rem;padding:.8rem 0}
.fm-countries{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}
.fm-country{display:flex;align-items:center;gap:.65rem;padding:.6rem .8rem;text-align:left;border:1px solid rgba(244,194,90,.18);background:rgba(244,194,90,.03);transition:border-color .25s,background .25s}
.fm-country:hover,.fm-country:focus-visible{border-color:var(--gold);background:rgba(244,194,90,.1)}
.fm-flag{font-size:1.5rem;line-height:1}
.fm-country b{display:block;font-weight:600;font-size:.92rem;line-height:1.2}
.fm-country small{font-size:.68rem;color:var(--dim)}
.fm-nomatch{color:var(--dim);margin-top:.6rem}
.fm-chosen{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;max-width:620px;padding:1rem 1.2rem;border:1px solid var(--gold);
  background:linear-gradient(120deg,rgba(244,194,90,.16),rgba(223,109,37,.06))}
.fm-chosen .fm-flag{font-size:2rem}
.fm-chosen b{display:block;font-family:var(--display);font-size:1.25rem}
.fm-chosen small{font-size:.76rem;color:var(--dim)}
.fm-chosen button{margin-left:auto;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(244,194,90,.45);padding:.55rem .9rem}
.fm-chosen button:hover{background:rgba(244,194,90,.14)}
@media (max-width:520px){.fm-countries{grid-template-columns:1fr 1fr}.fm-country{padding:.55rem .6rem}.fm-flag{font-size:1.3rem}}
.fm-cityfilter{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.4rem}
.fm-cityfilter button{padding:.5rem .95rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);border:1px solid rgba(244,194,90,.22);transition:all .25s}
.fm-cityfilter button.on{background:var(--gold);color:var(--ink);border-color:var(--gold)}

.fm-cities{display:grid;gap:1.2rem}
.fm-city{border:1px solid rgba(244,194,90,.18);background:linear-gradient(160deg,rgba(244,194,90,.05),rgba(244,194,90,.01))}
.fm-city header{display:flex;justify-content:space-between;align-items:baseline;padding:1rem 1.3rem;border-bottom:1px solid rgba(244,194,90,.14)}
.fm-city h3{font-family:var(--display);font-size:1.5rem}
.fm-city header span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.fm-cinema{padding:1rem 1.3rem;border-bottom:1px solid rgba(244,194,90,.08)}
.fm-cinema:last-child{border-bottom:0}
.fm-cinema__name{font-weight:600;font-size:1.02rem;margin-bottom:.7rem}
.fm-day{display:grid;grid-template-columns:120px 1fr;gap:1rem;align-items:start;padding:.4rem 0}
.fm-date{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);padding-top:.7rem}
.fm-times{display:flex;flex-wrap:wrap;gap:.6rem}
.fm-time{position:relative;display:flex;flex-direction:column;align-items:center;min-width:104px;padding:.6rem .9rem .5rem;border:1px solid rgba(244,194,90,.35);background:rgba(7,5,4,.5);transition:background .25s,border-color .25s,transform .25s}
.fm-time b{font-family:var(--impact);font-weight:400;font-size:1.5rem;line-height:1.1;color:var(--bone)}
.fm-time small{font-size:.66rem;color:var(--dim);max-width:140px;text-align:center}
.fm-time em{font-style:normal;font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:.12rem .45rem;margin:-.95rem 0 .3rem}
.fm-time.prem{border-color:var(--gold);box-shadow:0 0 30px -14px rgba(244,194,90,.9)}
.fm-go{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--fire);margin-top:.2rem;opacity:.75}
.fm-time:hover{background:rgba(244,194,90,.14);border-color:var(--gold);transform:translateY(-2px)}
.fm-time:hover .fm-go{opacity:1}
.fm-fine{margin-top:1.4rem;font-size:.8rem;color:var(--dim)}

@media (max-width:860px){
  .fm-hero{grid-template-columns:1fr}
  .fm-poster{max-width:360px;margin:0 auto}
  .fm-day{grid-template-columns:1fr;gap:.4rem}
  .fm-date{padding-top:0}
}
