/* Unified production catalogue. The media remains the entry point; controls stay in the Korner player. */
html, body { background: #0b0b0c; }
[data-film-grid] {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 52px 24px !important;
  padding-bottom: 128px !important;
}

[data-film-grid] [data-film-card] {
  display: flex !important;
  min-width: 0;
  flex-direction: column;
  gap: 13px;
  align-items: stretch !important;
}

[data-film-stage] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  /* The catalogue is a deliberate, consistent 16:9 rhythm. Individual films
     are cropped inside the frame, never allowed to change a card's height. */
  aspect-ratio: 16 / 9 !important;
  background: #151518;
  border: 1px solid rgba(var(--studio-rgb), .12);
}

[data-film-media],
[data-film-media] img,
[data-film-media] iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

[data-film-media] img,
[data-film-media] iframe {
  object-fit: cover;
  transition: opacity .38s ease, transform .7s cubic-bezier(.16, 1, .3, 1);
}

[data-film-media] iframe {
  border: 0;
  opacity: 0;
  pointer-events: none;
  background: #151518;
  transform: scale(var(--korner-film-fill-scale, 1.012)) !important;
  transform-origin: 50% 50%;
}

[data-film-card][data-preview-playing="true"] [data-film-media] iframe { opacity: 1; }
[data-film-card][data-preview-playing="true"] [data-film-media] img { opacity: 0; transform: scale(1.025); }

[data-film-shade] {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(5, 5, 6, .05) 20%, rgba(5, 5, 6, .82) 100%);
  transition: opacity .35s ease;
}

[data-film-card][data-preview-playing="true"] [data-film-shade] { opacity: .17; }

[data-film-overlay] {
  position: absolute;
  z-index: 2;
  inset: auto 20px 18px;
  display: grid;
  gap: 5px;
  color: #fff;
  pointer-events: none;
  transition: opacity .3s ease, transform .35s cubic-bezier(.16, 1, .3, 1);
}

[data-film-card][data-preview-playing="true"] [data-film-overlay] { opacity: 0; transform: translateY(7px); }
[data-film-card-no] { color: var(--accent, #ff5b23); font-family: 'Bebas Neue', sans-serif; font-size: 12px; letter-spacing: .16em; }
[data-film-overlay] h2 { margin: 0; font-size: clamp(24px, 2.8vw, 42px); line-height: .98; letter-spacing: -.035em; font-weight: 800; }
[data-film-overlay] p { margin: 0; color: rgba(255,255,255,.72); font-family: 'Wix Madefor Display', sans-serif; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
[data-film-overlay] p span::before { content: ' · '; }

[data-film-open] {
  position: absolute;
  z-index: 3;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}

[data-film-open]:focus-visible { outline: 2px solid var(--accent, #ff5b23); outline-offset: -5px; }

[data-film-card-foot] {
  display: flex;
  min-height: 24px;
  align-items: center;
  gap: 10px;
  color: rgba(var(--studio-rgb), .58);
  font-family: 'Wix Madefor Display', sans-serif;
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

[data-film-card-foot] [data-film-case] {
  margin-left: auto;
  color: var(--accent, #ff5b23);
  text-decoration: none;
  transition: color .25s ease;
}

[data-film-card-foot] [data-film-case]:hover,
[data-film-card-foot] [data-film-case]:focus-visible { color: rgba(var(--studio-rgb), .98); }

[data-film-pending] { color: rgba(var(--studio-rgb), .48); }

@media (max-width: 760px) {
  [data-film-grid] { grid-template-columns: minmax(0, 1fr); gap: 38px !important; padding: 0 20px 82px !important; }
  [data-film-stage] { aspect-ratio: 16 / 9 !important; }
  [data-film-overlay] { inset: auto 15px 14px; }
  [data-film-overlay] h2 { font-size: clamp(25px, 9vw, 38px); }
  [data-film-card-foot] { font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  [data-film-media] img, [data-film-media] iframe, [data-film-shade], [data-film-overlay] { transition: none; }
}
