/* Shared compact previews. Full titles, credits and descriptions remain on detail pages.
   Explicit text slots keep a long anthology credit from stretching any card or row. */
.catalog-grid .catalog-card{min-width:0}
:root .catalog-grid .catalog-info{min-width:0;display:grid;grid-template-rows:46.4px 22.4px 22.4px 51.2px;gap:6px;align-content:start}
:root .catalog-grid .catalog-info>:is(h2,h3),:root .catalog-grid .catalog-info>:has(>h2,>h3){grid-row:1;min-width:0}
:root .catalog-grid .catalog-info :is(h2,h3){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;font:600 16px/1.45 Inter,Arial,sans-serif;margin:0;min-height:46.4px;max-height:46.4px}
:root .catalog-grid .catalog-info .catalog-meta{grid-row:2;display:block;min-width:0;margin:0;padding:0;font-size:14px;line-height:22.4px;height:22.4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
:root .catalog-grid .catalog-info :is(.catalog-director,.person-film-role){grid-row:3;display:block;min-width:0;margin:0;padding:0;font-size:14px;line-height:22.4px;height:22.4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
:root .catalog-grid .catalog-info .person-film-role br{display:none}
:root .catalog-grid .catalog-info .catalog-description{grid-row:4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-width:0;margin:0;padding:0;font-size:16px;line-height:25.6px;max-height:51.2px;overflow:hidden;overflow-wrap:anywhere}
.catalog-grid:not(.search-results-grid):not(.person-profile-films)>.catalog-card{height:198px;min-height:198px;max-height:198px;align-self:start;overflow:hidden}
/* Preserve the existing poster-first search/profile designs, but bound their copy too. */
:root .search-results .search-results-grid{grid-auto-rows:auto;align-items:start}
:root .search-results .search-results-grid .search-result-card{height:auto;min-height:0}
:root .search-results .search-results-grid .catalog-info{display:grid;flex:none;grid-template-rows:46.4px 22.4px 51.2px 40px;gap:6px;height:216px;padding:14px 12px;align-content:start}
:root .search-results .search-results-grid .catalog-info .catalog-description{grid-row:3;max-height:51.2px;margin:0}
:root .search-results .search-results-grid .catalog-info .search-trailer-status{grid-row:4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:0;max-height:40px;margin:0;padding:0;font-size:13px;line-height:20px;overflow:hidden;overflow-wrap:anywhere}
:root .person-profile .person-profile-films{align-items:start}
:root .person-profile .person-profile-films .catalog-card{height:auto;min-height:0}
:root .person-profile .person-profile-films .catalog-info{height:190px;padding:12px;flex:none}
/* Poster shelves retain their artwork proportions; only the text is abbreviated. */
.poster-grid .film-card .card-meta h3,#filmer.reference-featured .film-card .card-meta h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;line-height:1.25;min-height:2.5em;max-height:2.5em}
.poster-grid .film-card .card-meta>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5;height:1.5em}
.content .poster-grid .film-card-link>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.6;max-height:3.2em;overflow:hidden}
/* Compact people and cast previews follow the same bounded-content rule. */
:root .people-directory .browse-person{height:108px;min-height:108px;max-height:108px;overflow:hidden}
:root .people-directory .person-compact-link{height:70px;min-height:70px}
:root .people-directory .person-compact-info{min-width:0}
:root .people-directory .person-compact-info h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.4;max-height:2.8em;margin-top:0}
:root .people-directory .person-compact-info p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:root .film-dossier .cast-card{height:126px;min-height:126px;max-height:126px;overflow:hidden}
:root .film-dossier .cast-card h3{max-height:2.8em}
:root .film-dossier .cast-card p{max-height:2.9em}
/* Collection overview doors are previews too, not unbounded descriptions. */
:root .film-series-doors{align-items:start}
:root .film-series-doors>.film-series-door{height:280px;min-height:280px;max-height:280px}
:root .film-series-door h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.2;min-height:2.4em;max-height:2.4em;margin:8px 0;overflow:hidden;overflow-wrap:anywhere}
:root .film-series-door p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.7;max-height:3.4em;margin-bottom:12px;overflow:hidden}
