/* Local hero-film review proposal; original Opus player files stay untouched. */
.cm-hero-film { width: min(264px, 100%); min-width: 0; margin: 0; color: #fff; }
.cm-hero-film-frame { aspect-ratio: 9 / 16; overflow: hidden; background: #0a1626; }
.cm-hero-film-frame picture { display: block; width: 100%; height: 100%; }
.hero-visual .cm-hero-film img, .cm-hero-film video {
  display: block; width: 100%; height: 100%; max-width: 100%;
  object-fit: contain; animation: none; transform: none; filter: none;
}
.cm-hero-film [hidden] { display: none !important; }
.cm-hero-film-controls { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.cm-hero-film-controls button, .cm-hero-film-controls a {
  min-height: 44px; min-width: 44px; flex: 1; padding: 8px 12px;
  border: 1px solid #8195aa; border-radius: 4px; background: #122a43;
  color: #fff; font: inherit; text-align: center; cursor: pointer;
}
.cm-hero-film-controls button:disabled { opacity: .6; cursor: default; }
.cm-hero-film-controls :focus-visible { outline: 3px solid #82ccff; outline-offset: 3px; }
.cm-hero-film-status { margin: 8px 0 0; font-size: 13px; line-height: 1.4; color: #dbe6f0; }
.cm-hero-film-caption { position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 900px) {
  .cm-hero-film { width: min(360px, 100%); }
  .cm-hero-film-frame { aspect-ratio: 16 / 9; }
}
