/* Movie detail: the live trailer and factual library content share one surface.
   Loaded after the shell styles; every rule stays inside the detail dialog. */
#movieModal {
  --md-bg:var(--m-bg,#101112);
  --md-surface:var(--m-surface,#1c1d20);
  --md-text:var(--m-text,#f5f1eb);
  --md-muted:var(--m-muted,#a5a5ac);
  --md-line:var(--m-border,#303136);
  --md-red:var(--m-accent,#e50914);
  --md-font:var(--m-font,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  color:var(--md-text);
}
#movieModal #modalContent {
  max-width:1040px;background:var(--md-bg);color:var(--md-text);
  border:1px solid var(--md-line);border-radius:20px;
  box-shadow:0 28px 100px #0008;font-family:var(--md-font);
}
#movieModal .mobile-movie-heading { position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:6px 18px;background:var(--md-bg);border-bottom:1px solid var(--md-line); }
#movieModal .mobile-movie-label { display:block;color:var(--md-muted);font:500 12px/1.5 var(--md-font); }
#movieModal .mobile-movie-heading .modal-close { position:static;display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;margin:0;padding:0;border:1px solid var(--md-line);border-radius:50%;background:var(--md-surface);color:var(--md-text);box-shadow:none;transform:none; }
#movieModal :is(.modal-cinema-hero,.modal-hero-info,.modal-detail-grid,.modal-editorial-column,.modal-watch-column) { min-width:0; }
#movieModal .modal-cinema-hero { position:relative;background:var(--md-bg); }
#movieModal .modal-trailer-media {
  position:relative;width:100%;height:clamp(240px,40vw,480px);min-height:202px;
  overflow:hidden;background:#08090a;isolation:isolate;
}
#movieModal .modal-trailer-media .modal-backdrop {
  position:absolute;inset:0;display:block;width:100%;height:100%;
  object-fit:cover;object-position:center;border:0;margin:0;
}
#movieModal .modal-trailer-media .modal-backdrop[hidden] { display:none!important; }
#movieModal .modal-trailer-media :is(.featured-trailer-player,iframe) {
  position:absolute;inset:0;width:100%!important;height:100%!important;border:0;
}
#movieModal .modal-trailer-media::before,#movieModal .modal-trailer-media::after { display:none; }
#movieModal .modal-cinema-hero .featured-trailer-controls {
  position:relative;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:8px 12px;min-height:54px;padding:8px 28px;background:var(--md-bg);
  border-bottom:1px solid var(--md-line);color:var(--md-text);font:12px/1.5 var(--md-font);
}
#movieModal .modal-cinema-hero :is(.featured-trailer-control,.featured-trailer-volume,.featured-trailer-external) {
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:44px;min-width:44px;padding:8px 12px;border:1px solid var(--md-line);
  border-radius:24px;background:transparent;color:var(--md-text);text-decoration:none;font:500 12px/1.4 var(--md-font);
}
#movieModal .modal-cinema-hero .featured-trailer-status { color:var(--md-muted);line-height:1.5; }
#movieModal .modal-hero-info { position:relative;isolation:isolate;overflow:hidden;padding:30px 32px;background:var(--md-bg); }
#movieModal .modal-hero-art {
  position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;opacity:.48;
}
#movieModal .modal-hero-art[hidden] { display:none; }
#movieModal .modal-hero-info::after {
  content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;
  background:linear-gradient(90deg,var(--md-bg),color-mix(in srgb,var(--md-bg) 84%,transparent) 45%,color-mix(in srgb,var(--md-bg) 66%,transparent)),linear-gradient(0deg,var(--md-bg),transparent 80%);
}
#movieModal .modal-hero-info .modal-head { display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:24px;margin:0; }
#movieModal .modal-hero-info .modal-poster { width:120px;min-width:0;border:1px solid var(--md-line);border-radius:10px;box-shadow:0 14px 30px #0005; }
#movieModal .modal-hero-info .modal-poster img { display:block;width:100%;aspect-ratio:2/3;object-fit:cover; }
#movieModal .modal-hero-info .modal-info { min-width:0;padding:0; }
#movieModal .modal-title { color:var(--md-text);font:400 clamp(36px,4.8vw,58px)/1.06 "Instrument Serif",Georgia,serif;letter-spacing:-.035em;overflow-wrap:anywhere;margin:0 0 14px; }
#movieModal .modal-meta { gap:8px 14px;margin:0 0 14px;color:var(--md-muted);font:13px/1.5 var(--md-font); }
#movieModal .modal-public-rating { color:var(--md-text); }
#movieModal .modal-genres { gap:6px;margin:0; }
#movieModal .genre-chip { padding:5px 10px;background:color-mix(in srgb,var(--md-bg) 76%,transparent);color:var(--md-text);border:1px solid var(--md-line);font:11px/1.3 var(--md-font); }
#movieModal .modal-body { padding:4px 32px 36px; }
#movieModal .modal-detail-grid { display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:start;gap:32px; }
#movieModal .modal-section-title {
  margin:0 0 12px;color:var(--md-red);font:500 11px/1.5 var(--md-font);letter-spacing:.14em;text-transform:uppercase;
}
#movieModal .modal-overview { margin:0;color:var(--md-muted);font:15px/1.75 var(--md-font);overflow-wrap:anywhere; }
#movieModal .modal-credits-title { margin-top:26px; }
#movieModal .modal-credits { display:grid;gap:0;margin:0;padding:4px 18px;background:var(--md-surface);border:1px solid var(--md-line);border-radius:13px; }
#movieModal .modal-credit-row { display:grid;grid-template-columns:76px minmax(0,1fr);align-items:baseline;gap:14px;padding:12px 0; }
#movieModal .modal-credit-row+.modal-credit-row { border-top:1px solid var(--md-line); }
#movieModal .modal-credit-row dt { margin:0;color:var(--md-muted);font:12px/1.65 var(--md-font); }
#movieModal .modal-credit-row dd { min-width:0;margin:0;color:var(--md-text);font:14px/1.7 var(--md-font);overflow-wrap:anywhere; }
#movieModal .modal-credits .clickable-name { color:inherit;font:inherit;text-decoration:none;text-underline-offset:4px; }
#movieModal .modal-credits .clickable-name:hover { color:var(--md-text);text-decoration:underline; }

/* Actual provider categories and confirmed cinema catalogues, not showtimes. */
#movieModal .movie-watch-section { margin:0;padding:18px;background:var(--md-surface);border:1px solid var(--md-line);border-radius:14px;text-align:left; }
#movieModal .movie-watch-heading { display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px; }
#movieModal .movie-watch-heading .modal-section-title { margin:0;text-align:left; }
#movieModal .movie-watch-heading>span { color:var(--md-muted);font:11px/1.5 var(--md-font); }
#movieModal .provider-group { margin:0 0 16px; }
#movieModal .provider-group-label { justify-content:flex-start;margin:0 0 8px;color:var(--md-muted);font:500 11px/1.5 var(--md-font);letter-spacing:0;text-transform:none; }
#movieModal .provider-group-label::before,#movieModal .provider-group-label::after { display:none; }
#movieModal .provider-list { display:grid;grid-template-columns:minmax(0,1fr);gap:8px; }
#movieModal .provider-card { display:flex;flex-direction:row;align-items:center;gap:10px;min-width:0;max-width:none;width:100%;min-height:62px;padding:10px;background:var(--md-bg);border:1px solid var(--md-line);border-radius:10px;text-align:left;transform:none;box-shadow:none; }
#movieModal .provider-card:hover { transform:none;box-shadow:none;border-color:var(--md-muted);background:var(--md-bg); }
#movieModal .provider-logo { width:36px;height:36px;flex:0 0 36px;object-fit:contain;border-radius:8px;background:#fff;box-shadow:none; }
#movieModal .provider-logo[hidden] { display:none; }
#movieModal .provider-name { flex:1;min-width:0;max-width:none;color:var(--md-text);font:500 13px/1.45 var(--md-font);white-space:normal;overflow:visible;overflow-wrap:anywhere; }
#movieModal .provider-action { flex:0 1 76px;max-width:76px;color:var(--md-muted);font:11px/1.4 var(--md-font);letter-spacing:0;text-align:right;text-transform:none;overflow-wrap:anywhere; }
#movieModal .movie-watch-note { margin:13px 0 0;color:var(--md-muted);font:12px/1.6 var(--md-font); }
#movieModal .providers-empty { padding:0;border-radius:0;background:none;text-align:left;color:var(--md-muted);font:13px/1.65 var(--md-font); }
#movieModal .providers-empty strong { margin:0 0 5px;color:var(--md-text);font:500 14px/1.5 var(--md-font); }
#movieModal .providers-empty p { margin:0; }
#movieModal .cinema-fallback { padding:0;background:none;border:0;border-radius:0;text-align:left; }
#movieModal .cinema-fallback .cf-label { display:block;margin:0 0 5px;padding:0;background:none;color:var(--md-muted);font:11px/1.5 var(--md-font);letter-spacing:0;text-transform:none; }
#movieModal .cinema-fallback .cf-label::before { display:none; }
#movieModal .cinema-fallback .cf-title { margin:0 0 14px;color:var(--md-text);font:400 24px/1.15 "Instrument Serif",Georgia,serif;letter-spacing:-.02em; }
#movieModal .cinema-fallback .cf-desc { margin:12px 0 0;color:var(--md-muted);font:12px/1.6 var(--md-font); }
#movieModal .cinema-fallback-buttons { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:start;gap:9px; }
#movieModal .modal-cinema-link { display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;min-width:0;min-height:110px;padding:12px;background:var(--md-bg);border:1px solid var(--md-line);border-radius:11px;color:var(--md-text);text-decoration:none; }
#movieModal .modal-cinema-logo { display:flex;align-items:center;justify-content:center;width:100%;height:40px;padding:5px 10px;border-radius:6px;background:#191a1c; }
#movieModal .modal-cinema-logo img { display:block;width:auto;max-width:100%;height:auto;max-height:30px;aspect-ratio:auto;object-fit:contain;background:none;border:0;border-radius:0; }
#movieModal .modal-cinema-logo img[hidden] { display:none; }
#movieModal .modal-cinema-link-copy { display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:3px 8px;width:100%; }
#movieModal .modal-cinema-link-copy strong { font:500 12px/1.5 var(--md-font); }
#movieModal .modal-cinema-link-copy>span { color:var(--md-muted);font:11px/1.5 var(--md-font); }
#movieModal .cinema-unconfirmed-links { margin-top:14px; }
#movieModal .cinema-unconfirmed-links a { display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;border:1px solid var(--md-line);border-radius:9px;color:var(--md-text);font:12px/1.4 var(--md-font);text-align:center;text-decoration:none; }
#movieModal .modal-cinema-link:hover,#movieModal .cinema-unconfirmed-links a:hover { border-color:var(--md-muted); }

/* Keep original, functional actions in flow instead of duplicate fixed controls. */
#movieModal #mobileMovieActions { display:none!important; }
#movieModal .modal-actions-centered { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0 0;padding:0;border:0; }
#movieModal .modal-actions-centered .btn { min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--md-line);border-radius:10px;background:var(--md-surface);color:var(--md-text)!important;box-shadow:none;white-space:normal;text-align:center;justify-content:center;gap:7px;font:500 12px/1.45 var(--md-font); }
#movieModal .modal-actions-centered #watchlistBtn { display:inline-flex!important;grid-column:1/-1;background:var(--md-red);border-color:var(--md-red)!important;color:#fff!important; }
#movieModal .modal-actions-centered #watchlistBtn { order:0; }
#movieModal .modal-actions-centered [onclick^="openAddToListPicker"] { order:1; }
#movieModal .modal-actions-centered [onclick="openReviewFromModal()"] { order:2; }
#movieModal .modal-actions-centered>a { order:3;grid-column:1/-1;background:transparent; }
#movieModal .modal-actions-centered [onclick="openReviewFromModal()"] { display:inline-flex!important; }
#movieModal .modal-actions-centered .btn-arrow { display:none; }
#movieModal .modal-share-row { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:16px 0 0;padding:0;background:none;border:0;border-radius:0;box-shadow:none; }
#movieModal .modal-share-row .msr-label { grid-column:1/-1;width:auto;margin:0 0 2px;text-align:left;color:var(--md-muted);font:500 10px/1.5 var(--md-font);letter-spacing:.1em; }
#movieModal .modal-share-row .msr-btn { display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:44px;padding:8px 7px;background:var(--md-surface);color:var(--md-text);border:1px solid var(--md-line);border-radius:10px;box-shadow:none;font:500 11px/1.4 var(--md-font);white-space:normal;text-align:center;transform:none; }
#movieModal .modal-share-row .msr-btn:hover { border-color:var(--md-muted);background:var(--md-surface);filter:none;transform:none; }
#movieModal .modal-share-row .msr-btn svg { flex:0 0 16px; }

/* The community area and recommendation rails remain real, unaltered content. */
#movieModal .film-community-section { margin:26px 0 0;padding:22px 0 0;border-top:1px solid var(--md-line); }
#movieModal .modal-community-title { margin-bottom:12px;color:var(--md-text); }
#movieModal .fc-head { justify-content:space-between;align-items:center;gap:14px;margin:0 0 12px;padding:16px;background:var(--md-surface);border:1px solid var(--md-line);border-radius:12px; }
#movieModal .fc-stats { flex:1;min-width:0;flex-wrap:wrap;gap:8px 12px; }
#movieModal .fc-empty { padding:0;color:var(--md-muted);font:13px/1.6 var(--md-font); }
#movieModal .fc-avg { padding:0;background:none;border:0;gap:8px; }
#movieModal .fc-avg-num { color:var(--md-text);font:400 32px/1 "Instrument Serif",Georgia,serif; }
#movieModal .fc-count { color:var(--md-muted);font:12px/1.5 var(--md-font);letter-spacing:0; }
#movieModal .fc-count strong { color:var(--md-text); }
#movieModal :is(.fc-write,.fc-more,.fc-sort-btn) { min-height:44px;padding:9px 14px;border-radius:9px;font:500 12px/1.4 var(--md-font); }
#movieModal .fc-write { flex-shrink:0;background:var(--md-red);border:1px solid var(--md-red);color:#fff; }
#movieModal .fc-reviews { gap:10px;margin:0; }
#movieModal .fc-review { gap:12px;padding:16px;background:var(--md-surface);border:1px solid var(--md-line);border-radius:12px; }
#movieModal .fc-review-avatar { width:40px;height:40px;background:var(--md-bg);border:1px solid var(--md-line);color:var(--md-text); }
#movieModal .fc-review-head { align-items:center;gap:6px;color:var(--md-muted);font:11px/1.6 var(--md-font);overflow-wrap:anywhere; }
#movieModal .fc-review-user { color:var(--md-text);font-weight:600; }
#movieModal .fc-review-text { color:var(--md-text);font:13px/1.65 var(--md-font);overflow-wrap:anywhere; }
#movieModal .fc-review-text em { color:var(--md-muted); }
#movieModal :is(.fc-more,.fc-sort-btn) { background:var(--md-surface);color:var(--md-text);border:1px solid var(--md-line); }
#movieModal .fc-sort-row { flex-wrap:wrap;color:var(--md-muted);font:11px/1.5 var(--md-font);letter-spacing:0; }
#movieModal .fc-sort-btn.active { color:var(--md-text);border-color:var(--md-muted);background:var(--md-surface); }
#movieModal .similar-section { min-width:0;margin-top:24px;padding-top:22px;border-top:1px solid var(--md-line); }
#movieModal .similar-title { margin:0 0 14px;color:var(--md-text);font:500 11px/1.5 var(--md-font);letter-spacing:.12em; }
#movieModal .similar-rail { gap:12px;padding:0 1px 12px;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scroll-padding-inline:1px; }
#movieModal .similar-item { display:block;width:112px;flex:0 0 112px;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;scroll-snap-align:start;transform:none; }
#movieModal .similar-item img { display:block;width:112px;height:auto;aspect-ratio:2/3;object-fit:cover;border:1px solid var(--md-line);border-radius:9px;background:var(--md-surface); }
#movieModal .similar-item-title { margin-top:8px;color:var(--md-text);font:12px/1.45 var(--md-font);overflow-wrap:anywhere; }
#movieModal .similar-item:hover { transform:none; }
#movieModal .similar-item:hover img { border-color:var(--md-muted); }
#movieModal .similar-rail-wrap::before { background:linear-gradient(90deg,var(--md-bg),transparent);width:22px; }
#movieModal .similar-rail-wrap::after { background:linear-gradient(270deg,var(--md-bg),transparent);width:22px; }
#movieModal .similar-nav { width:44px;height:44px;background:var(--md-bg);border-color:var(--md-line);color:var(--md-text);box-shadow:0 3px 15px #0003; }
#movieModal .mal-overlap { display:block;margin-top:4px;color:var(--md-muted);font:10px/1.4 var(--md-font); }
#movieModal :is(a,button):focus-visible { outline:2px solid var(--md-red);outline-offset:3px; }

@media(max-width:900px) {
  #movieModal .modal-detail-grid { grid-template-columns:minmax(0,1fr);gap:24px; }
  #movieModal .modal-trailer-media { height:auto;aspect-ratio:16/9; }
  #movieModal .modal-hero-info { padding:24px; }
  #movieModal .modal-body { padding:0 24px 30px; }
  #movieModal .modal-hero-info .modal-head { grid-template-columns:104px minmax(0,1fr);gap:18px; }
  #movieModal .modal-hero-info .modal-poster { width:104px; }
}
@media(max-width:720px) {
  #movieModal { padding:0; }
  #movieModal #modalContent { max-width:100%;max-height:96dvh;border-radius:18px 18px 0 0; }
  #movieModal .mobile-movie-heading { min-height:58px;padding:8px 14px;background:var(--md-bg);border-bottom:1px solid var(--md-line); }
  #movieModal .modal-hero-info { padding:20px; }
  #movieModal .modal-hero-info .modal-head { grid-template-columns:86px minmax(0,1fr);gap:16px; }
  #movieModal .modal-hero-info .modal-poster { width:86px;border-radius:8px; }
  #movieModal .modal-title { font-size:34px;margin-bottom:9px;letter-spacing:-.025em; }
  #movieModal .modal-meta { font-size:11px;gap:5px 9px;margin-bottom:10px; }
  #movieModal .genre-chip { padding:4px 7px;font-size:10px; }
  #movieModal .modal-body { padding:0 20px calc(28px + env(safe-area-inset-bottom,0px)); }
  #movieModal .modal-overview { font-size:14px;line-height:1.7; }
  #movieModal .modal-cinema-hero .featured-trailer-controls { gap:5px 8px;padding:6px 14px; }
  #movieModal .modal-credits { padding:2px 14px; }
  #movieModal .modal-credit-row { grid-template-columns:66px minmax(0,1fr);gap:12px;padding:7px 0; }
  #movieModal .modal-credit-row dt { padding-top:12px;font-size:11px; }
  #movieModal .modal-credits .clickable-name { display:inline-flex;align-items:center;min-height:44px;max-width:100%; }
  #movieModal .movie-watch-section { padding:16px; }
  #movieModal .modal-cinema-link { min-height:112px;padding:10px; }
  #movieModal .modal-cinema-link-copy { align-items:flex-start;flex-direction:column;gap:2px; }
  #movieModal .modal-share-row .msr-btn { min-height:48px;font-size:11px;gap:5px; }
  #movieModal .film-community-section { margin-top:22px;padding-top:20px; }
  #movieModal .fc-head { padding:14px;gap:12px; }
  #movieModal .fc-write { width:100%; }
  #movieModal .fc-review { padding:14px 12px;gap:10px; }
  #movieModal .fc-review-avatar { width:36px;height:36px;flex-basis:36px; }
  #movieModal .fc-review-user { display:inline-flex;align-items:center;min-height:44px; }
  #movieModal .similar-item { width:104px;flex-basis:104px; }
  #movieModal .similar-item img { width:104px; }
}
@media(prefers-reduced-motion:reduce) {
  #movieModal .similar-rail { scroll-behavior:auto; }
  #movieModal :is(.similar-item,.provider-card,.msr-btn,.btn,.modal-cinema-link) { animation:none;transition:none; }
}
