/* Single film template. */
.nihrff-single { max-width: 1100px; margin: 2rem auto; padding: 0 1rem; }
.nihrff-single__poster img { width: 100%; height: auto; display: block; }
.nihrff-single__poster .ph { width: 100%; aspect-ratio: 16 / 9; background: linear-gradient(135deg, #e9e9e9, #cfcfcf); }
.nihrff-single__title { margin: 1.25rem 0 0.25rem; }
.nihrff-single__sections { text-align: center; margin: 1.25rem 0; }
.nihrff-single__sections a { font-weight: 600; text-decoration: underline; }
.nihrff-single__metacols { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem 3rem; margin: 1.5rem 0 2rem; }
@media (max-width: 640px) { .nihrff-single__metacols { grid-template-columns: 1fr; } }
.nihrff-single dl { display: grid; grid-template-columns: max-content 1fr; gap: 0.4rem 1rem; margin: 0; }
.nihrff-single dt { font-weight: 700; text-transform: uppercase; font-size: 0.8rem; letter-spacing: 0.02em; }
.nihrff-single dt::after { content: ":"; }
.nihrff-single dd { margin: 0; }
.nihrff-single__lead { max-width: 760px; font-size: 1.2rem; font-weight: 500; line-height: 1.45; margin: 0 0 1rem; }
.nihrff-single__body { max-width: 760px; }
.nihrff-single__trailer { margin: 2rem 0; }
.nihrff-single__trailer iframe { max-width: 100%; }
.nihrff-single__section { margin-top: 2rem; }
.nihrff-single__section h2 { font-size: 1.2rem; }
.nihrff-single__screenings { list-style: none; padding: 0; margin: 0; }
.nihrff-single__screenings li { padding: 0.5rem 0; border-bottom: 1px solid #eee; }
