/* Approved Cinema Randomizer layout — controls left, results right. */
body.cinema-v2.cinema-randomizer-page .page-intro.compact-page-intro {
  display: none !important;
}

body.cinema-v2.cinema-randomizer-page .cinema-page-frame {
  padding-top: 8px !important;
}

body.cinema-v2.cinema-randomizer-page .cinema-header-block {
  margin-bottom: 8px !important;
}

body.cinema-v2.cinema-randomizer-page .cinema-primary-tabs {
  min-height: 48px !important;
  gap: 22px !important;
}

body.cinema-v2.cinema-randomizer-page .cinema-primary-tabs a {
  min-height: 46px !important;
  padding-inline: 11px !important;
  font-size: .92rem !important;
}

body.cinema-v2.cinema-randomizer-page .cinema-primary-tabs svg {
  width: 19px !important;
  height: 19px !important;
}

body.cinema-v2.cinema-randomizer-page .cinema-filter-card > .section-header .eyebrow {
  display: none !important;
}

body.cinema-v2.cinema-randomizer-page .cinema-filter-card > .section-header h2 {
  margin-top: 0 !important;
}

body.cinema-v2.cinema-randomizer-page .cinema-randomizer-idle > img {
  width: min(430px, 78%) !important;
  max-height: 360px !important;
  border-radius: 16px !important;
}

body.cinema-v2.cinema-randomizer-page .cinema-topbar-avatar {
  overflow: hidden;
}

body.cinema-v2.cinema-randomizer-page .cinema-topbar-avatar img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

@media (max-width: 620px) {
  body.cinema-v2.cinema-randomizer-page .cinema-primary-tabs {
    gap: 6px !important;
  }

  body.cinema-v2.cinema-randomizer-page .cinema-primary-tabs a {
    padding-inline: 8px !important;
    font-size: .74rem !important;
  }
}

body.cinema-v2.cinema-randomizer-page .cinema-randomizer-workspace {
  display: grid;
  grid-template-columns: minmax(420px, .86fr) minmax(0, 1.14fr);
  gap: 16px;
  align-items: stretch;
  min-height: 700px;
}

body.cinema-v2.cinema-randomizer-page .cinema-filter-card,
body.cinema-v2.cinema-randomizer-page .cinema-results-card {
  min-width: 0;
  min-height: 700px;
  margin-top: 0 !important;
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(15,20,34,.98), rgba(8,11,19,.99));
}

body.cinema-v2.cinema-randomizer-page .cinema-filter-card {
  padding: 26px 24px 24px;
}

body.cinema-v2.cinema-randomizer-page .cinema-results-card {
  position: relative;
  padding: 22px;
  overflow: hidden;
  background:
    radial-gradient(circle at 52% 45%, rgba(112,49,186,.14), transparent 35%),
    linear-gradient(145deg, rgba(12,16,28,.98), rgba(7,10,17,.995));
}

body.cinema-v2.cinema-randomizer-page .cinema-filter-card > .section-header {
  margin: 0 0 22px;
}

body.cinema-v2.cinema-randomizer-page .cinema-filter-card > .section-header h2 {
  position: relative;
  display: inline-block;
  width: max-content;
  max-width: 100%;
  margin: 7px 0 10px;
  font-size: clamp(2rem, 2.6vw, 2.75rem);
  line-height: .98;
  letter-spacing: -.05em;
  white-space: nowrap;
  color: #f7f4fb;
  background: linear-gradient(90deg, #f7f4fb 0 55%, #c98aff 59%, #9d4dff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

body.cinema-v2.cinema-randomizer-page .cinema-filter-card > .section-header h2::after {
  content: "✦";
  position: absolute;
  top: -.42em;
  right: -.48em;
  color: #b86cff;
  -webkit-text-fill-color: #b86cff;
  font-size: .42em;
  line-height: 1;
  letter-spacing: 0;
  text-shadow: 0 0 12px rgba(184,108,255,.52);
}

body.cinema-v2.cinema-randomizer-page .cinema-filter-card > .section-header p {
  max-width: 500px;
  margin: 0;
  color: #9a9faf;
  font-size: .92rem;
  line-height: 1.55;
}

/* Keep every Randomizer procedure in the left panel. */
body.cinema-v2.cinema-randomizer-page .randomizer-tool-row {
  margin: 0 0 15px;
  padding: 13px;
  grid-template-columns: 1fr;
  gap: 8px;
  border-radius: 14px;
  background: rgba(255,255,255,.018);
}

body.cinema-v2.cinema-randomizer-page .randomizer-preset-field {
  grid-column: 1 / -1;
}

/* The approved sketch keeps preset management out of the primary decision flow. */
body.cinema-v2.cinema-randomizer-page .randomizer-tool-row > button {
  display: none !important;
}

body.cinema-v2.cinema-randomizer-page .randomizer-tool-status {
  grid-column: 1 / -1;
}

body.cinema-v2.cinema-randomizer-page .randomizer-filter-panel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

body.cinema-v2.cinema-randomizer-page .genre-field,
body.cinema-v2.cinema-randomizer-page .decade-field,
body.cinema-v2.cinema-randomizer-page .cinema-advanced-filters,
body.cinema-v2.cinema-randomizer-page .pick-field {
  grid-column: 1 / -1;
}

body.cinema-v2.cinema-randomizer-page .randomizer-preset-field select,
body.cinema-v2.cinema-randomizer-page .filter-field select,
body.cinema-v2.cinema-randomizer-page .genre-dropdown summary,
body.cinema-v2.cinema-randomizer-page .decade-dropdown summary {
  min-height: 44px;
  border-radius: 11px;
  background: #0e1320;
}

body.cinema-v2.cinema-randomizer-page .cinema-advanced-filter-grid {
  grid-template-columns: 1fr;
  gap: 11px;
}

body.cinema-v2.cinema-randomizer-page .filter-action-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}

body.cinema-v2.cinema-randomizer-page .filter-action-row .primary-button,
body.cinema-v2.cinema-randomizer-page .filter-action-row .secondary-button {
  width: 100%;
  min-width: 0;
}

body.cinema-v2.cinema-randomizer-page .filter-action-row .primary-button {
  min-height: 52px;
  order: 1;
  font-size: .98rem;
}

body.cinema-v2.cinema-randomizer-page .filter-action-row .secondary-button {
  min-height: 46px;
  order: 2;
}

body.cinema-v2.cinema-randomizer-page .filter-summary {
  display: none;
}

body.cinema-v2.cinema-randomizer-page .status-message {
  margin-top: 11px;
}

body.cinema-v2.cinema-randomizer-page .rpg-randomizer-quest {
  margin: 0 0 15px;
}

/* The right panel is exclusively the Randomizer result state. */
body.cinema-v2.cinema-randomizer-page .cinema-results-card > .section-header {
  display: none !important;
}

body.cinema-v2.cinema-randomizer-page .cinema-results-card [data-randomizer-result] {
  width: 100%;
  min-height: 612px;
  align-content: start;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

/* Real Plex posters are vertical. Force the full result card into the same vertical flow. */
body.cinema-v2.cinema-randomizer-page .cinema-results-card .poster-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  min-width: 0;
  width: 100%;
  max-width: none;
  overflow: hidden;
}

body.cinema-v2.cinema-randomizer-page .cinema-results-card .poster-card > * {
  min-width: 0;
  max-width: 100%;
}

body.cinema-v2.cinema-randomizer-page .cinema-results-card .poster-frame {
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 2 / 3;
  border-radius: 14px 14px 0 0;
  background: #090d16;
  overflow: hidden;
}

body.cinema-v2.cinema-randomizer-page .cinema-results-card .poster-frame img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

body.cinema-v2.cinema-randomizer-page .cinema-results-card .poster-content,
body.cinema-v2.cinema-randomizer-page .cinema-results-card .poster-body,
body.cinema-v2.cinema-randomizer-page .cinema-results-card .poster-details {
  width: 100% !important;
  max-width: none !important;
}

body.cinema-v2.cinema-randomizer-page .cinema-results-card .poster-title {
  font-size: .82rem;
}

body.cinema-v2.cinema-randomizer-page .cinema-results-card .poster-meta {
  font-size: .69rem;
}

body.cinema-v2.cinema-randomizer-page .cinema-results-card .poster-actions {
  width: 100%;
  margin-top: auto;
}

body.cinema-v2.cinema-randomizer-page .below-results-actions {
  margin-top: 16px;
  justify-content: flex-end;
}

body.cinema-v2.cinema-randomizer-page .below-results-actions [data-try-again] {
  min-width: 140px;
}

/* Idle / loading / no-match state lives in the same green-box area from the sketch. */
body.cinema-v2.cinema-randomizer-page .cinema-randomizer-idle,
body.cinema-v2.cinema-randomizer-page .cinema-randomizer-loading,
body.cinema-v2.cinema-randomizer-page .cinema-randomizer-no-match {
  grid-column: 1 / -1;
  width: 100% !important;
  min-height: 600px !important;
  padding: 28px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Use the seated popcorn mascot as a CSS-backed idle visual so a stale/broken <img> cannot leave the panel blank. */
body.cinema-v2.cinema-randomizer-page .cinema-randomizer-idle > img {
  display: none !important;
}

body.cinema-v2.cinema-randomizer-page .cinema-randomizer-idle::before {
  content: "";
  display: block;
  width: min(430px, 78%);
  aspect-ratio: 430 / 340;
  margin: 0 auto 18px;
  background-image:
    url("../assets/images/mascot/static/comrade-mascot-randomizer-ready.webp?v=2"),
    url("../assets/images/section/comrade-randomizer.png?v=1");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border-radius: 16px;
  filter: drop-shadow(0 24px 45px rgba(0,0,0,.42));
}

body.cinema-v2.cinema-randomizer-page .cinema-randomizer-loading-mascot img,
body.cinema-v2.cinema-randomizer-page .cinema-randomizer-no-match > img {
  width: min(360px, 70%) !important;
  max-height: 390px;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  filter: drop-shadow(0 24px 45px rgba(0,0,0,.42));
}

body.cinema-v2.cinema-randomizer-page .cinema-randomizer-idle-copy {
  display: grid;
  gap: 8px;
  justify-items: center;
  text-align: center;
}

body.cinema-v2.cinema-randomizer-page .cinema-randomizer-idle-copy strong {
  color: #c17cff;
  font-size: clamp(1.35rem, 2.3vw, 2rem);
  font-weight: 850;
}

body.cinema-v2.cinema-randomizer-page .cinema-randomizer-idle-copy span {
  max-width: 430px;
  color: #9a9faf;
  font-size: .92rem;
  line-height: 1.55;
}

body.cinema-v2.cinema-randomizer-page .cinema-randomizer-idle-copy em {
  color: #59e58b;
  font-style: normal;
}

body.cinema-v2.cinema-randomizer-page .cinema-results-card[data-result-state="idle"] .below-results-actions,
body.cinema-v2.cinema-randomizer-page .cinema-results-card[data-result-state="loading"] .below-results-actions,
body.cinema-v2.cinema-randomizer-page .cinema-results-card[data-result-state="empty"] .below-results-actions {
  display: none;
}

/* Reconcile the older shared Cinema transformer with the approved Randomizer shell. */
body.cinema-v2.cinema-randomizer-page .cinema-title-row {
  display: none !important;
}

body.cinema-v2.cinema-randomizer-page .cinema-header-block {
  margin: 0 0 16px;
}

body.cinema-v2.cinema-randomizer-page .cinema-primary-tabs {
  min-height: 52px;
  padding: 0;
  justify-content: flex-start;
  gap: 18px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.cinema-v2.cinema-randomizer-page .cinema-primary-tabs a {
  min-height: 50px;
  padding: 0 10px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #a0a3b1;
  font-size: .84rem;
}

body.cinema-v2.cinema-randomizer-page .cinema-primary-tabs a:hover {
  color: #f1edf7;
  background: transparent;
}

body.cinema-v2.cinema-randomizer-page .cinema-primary-tabs a.is-active,
body.cinema-v2.cinema-randomizer-page .cinema-primary-tabs a[aria-current="page"] {
  color: #f4effb;
  border-color: #b05cff;
  background: transparent;
}

/* Approved order: Randomizer, Search, Watchlist, History, Cinema Journey. */
body.cinema-v2.cinema-randomizer-page .cinema-primary-tabs a:nth-child(3) { order: 4; }
body.cinema-v2.cinema-randomizer-page .cinema-primary-tabs a:nth-child(4) { order: 3; }

/* The static first-pass subnav is superseded by the shared icon tabs above. */
body.cinema-v2.cinema-randomizer-page .cinema-subnav {
  display: none !important;
}

body.cinema-v2.cinema-randomizer-page .cinema-page {
  width: 100%;
  margin: 0;
  padding-top: 0;
}

/* Match the approved shared sidebar without changing the shared Cinema engine. */
@media (min-width: 981px) {
  body.cinema-v2.cinema-randomizer-page .sidebar {
    overflow: visible;
  }

  body.cinema-v2.cinema-randomizer-page .cinema-minimize-button {
    position: absolute;
    z-index: 40;
    top: 106px;
    right: -17px;
    width: 34px;
    height: 42px;
    min-height: 42px;
    margin: 0;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 10px;
    background: #090c14;
    color: #a2a6b6;
    box-shadow: 0 10px 28px rgba(0,0,0,.24);
    font-size: 0;
  }

  body.cinema-v2.cinema-randomizer-page .cinema-minimize-button svg,
  body.cinema-v2.cinema-randomizer-page .cinema-minimize-button span {
    display: none !important;
  }

  body.cinema-v2.cinema-randomizer-page .cinema-minimize-button::before {
    content: "‹";
    font-size: 25px;
    font-weight: 500;
    line-height: 1;
  }

  body.cinema-v2.cinema-randomizer-page.cinema-sidebar-minimized .cinema-minimize-button::before {
    content: "›";
  }

  body.cinema-v2.cinema-randomizer-page .cinema-account-control {
    display: none !important;
  }

  body.cinema-v2.cinema-randomizer-page.cinema-sidebar-minimized .home-brand {
    width: 58px;
    height: 58px;
    background: url("../assets/images/comrade-logo-compact.png?v=1") center / contain no-repeat;
  }

  body.cinema-v2.cinema-randomizer-page.cinema-sidebar-minimized .home-brand img {
    opacity: 0;
  }
}

/* The approved top bar keeps connection state + account, without a separate level tile. */
body.cinema-v2.cinema-randomizer-page .home-level-badge {
  display: none !important;
}

/* When the Plex avatar loads it must fully replace the fallback initial, not sit above it. */
body.cinema-v2.cinema-randomizer-page .cinema-topbar-avatar {
  position: relative;
  overflow: hidden;
}

body.cinema-v2.cinema-randomizer-page .cinema-topbar-avatar:has(img) {
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
}

body.cinema-v2.cinema-randomizer-page .cinema-topbar-avatar img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  display: block;
  object-fit: cover;
}

@media (max-width: 1280px) {
  body.cinema-v2.cinema-randomizer-page .cinema-randomizer-workspace {
    grid-template-columns: minmax(380px, .92fr) minmax(0, 1.08fr);
  }

  body.cinema-v2.cinema-randomizer-page .cinema-results-card [data-randomizer-result] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  body.cinema-v2.cinema-randomizer-page .cinema-randomizer-workspace {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  body.cinema-v2.cinema-randomizer-page .cinema-filter-card,
  body.cinema-v2.cinema-randomizer-page .cinema-results-card {
    min-height: 0;
  }

  body.cinema-v2.cinema-randomizer-page .cinema-results-card [data-randomizer-result] {
    min-height: 430px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.cinema-v2.cinema-randomizer-page .cinema-randomizer-idle,
  body.cinema-v2.cinema-randomizer-page .cinema-randomizer-loading,
  body.cinema-v2.cinema-randomizer-page .cinema-randomizer-no-match {
    min-height: 420px !important;
  }
}

@media (max-width: 620px) {
  body.cinema-v2.cinema-randomizer-page .cinema-filter-card,
  body.cinema-v2.cinema-randomizer-page .cinema-results-card {
    padding: 18px;
  }

  body.cinema-v2.cinema-randomizer-page .randomizer-tool-row {
    grid-template-columns: 1fr;
  }

  body.cinema-v2.cinema-randomizer-page .cinema-primary-tabs {
    gap: 5px;
  }

  body.cinema-v2.cinema-randomizer-page .cinema-primary-tabs a {
    min-height: 42px;
    padding: 0 9px;
    font-size: .7rem;
  }

  body.cinema-v2.cinema-randomizer-page .cinema-results-card [data-randomizer-result] {
    min-height: 360px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
  }

  body.cinema-v2.cinema-randomizer-page .cinema-randomizer-idle,
  body.cinema-v2.cinema-randomizer-page .cinema-randomizer-loading,
  body.cinema-v2.cinema-randomizer-page .cinema-randomizer-no-match {
    min-height: 350px !important;
    padding: 16px !important;
  }

  body.cinema-v2.cinema-randomizer-page .cinema-randomizer-idle::before {
    width: min(300px, 86%);
  }

  body.cinema-v2.cinema-randomizer-page .cinema-randomizer-loading-mascot img,
  body.cinema-v2.cinema-randomizer-page .cinema-randomizer-no-match > img {
    width: min(250px, 78%) !important;
  }
}
