#movie-metadata-plugin-section {
  margin-top: 20px;
  padding: 16px;
  border-radius: 8px;
  border: 1px solid var(--secondary-icon-color, #444);
}

.meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}

.meta-field {
  display: flex;
  flex-direction: column;
}

.meta-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--fg-muted-1, #adb5bd);
  margin-bottom: 5px;
}

.meta-hint {
  font-weight: 400;
  color: var(--fg-muted-2, #6c757d);
  font-size: 11px;
}

.meta-input {
  background: var(--bg-secondary-400, #2a2f3d);
  border: 1px solid var(--border, #3a4050);
  color: var(--fg-color, #fff);
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 13px;
  outline: none;
}

.meta-input:focus {
  border-color: var(--primary, #fd5050);
}

.meta-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
}

.meta-btn {
  background: var(--primary, #fd5050);
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.15s;
}

.meta-btn:hover {
  opacity: 0.9;
}

#meta-save-status {
  font-size: 13px;
  font-weight: 500;
}
/* Premium Content Plugin Styles */

#premium-toggle-section {
  margin-top: 20px;
}

.premium-toggle-root {
  padding: 1rem 1.5rem;
  border-radius: 4px;
  border: 1px solid var(--secondary-icon-color, #6c757d);
}

.premium-toggle-row {
  display: flex;
  align-items: center;
  gap: 14px;
}

.premium-toggle-label {
  flex: 1;
}

.premium-muted {
  color: var(--fg-muted-2, #868e96);
  font-size: 0.8125rem;
  margin-top: 2px;
}

/* Toggle switch */
.premium-switch {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 26px;
  flex-shrink: 0;
}

.premium-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.premium-slider {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: #555;
  transition: 0.3s;
  border-radius: 26px;
}

.premium-slider:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: 0.3s;
  border-radius: 50%;
}

.premium-switch input:checked + .premium-slider {
  background-color: #ff9800;
}

.premium-switch input:checked + .premium-slider:before {
  transform: translateX(24px);
}

/* Premium badge */
.premium-badge {
  display: inline-block;
  background: linear-gradient(135deg, #ff9800, #f57c00);
  color: white;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 3px;
  margin-left: 10px;
  vertical-align: middle;
  letter-spacing: 0.5px;
}

/* Admin receipt panel */
#receipt-admin-panel {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #444;
}
/* Poster Image Plugin - matching PeerTube thumbnail manager style */

#poster-image-plugin-section {
  margin-top: 20px;
}

#poster-image-plugin-section > label {
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 10px;
  display: block;
}

.poster-root {
  min-height: 260px;
  text-align: center;
  padding: 2rem 1.5rem;
  border-radius: 4px;
  border: 1px dashed var(--secondary-icon-color, #6c757d);
}

.poster-root.poster-dragover {
  background-color: var(--bg-secondary-400, rgba(255,255,255,0.05));
  border-color: var(--primary, #fd5050);
}

/* Preview image */
#poster-preview-container #poster-preview-img {
  max-width: 200px;
  max-height: 300px;
  border-radius: 4px;
  object-fit: cover;
}

.poster-caption {
  color: var(--fg-muted-2, #868e96);
  font-size: 0.75rem;
  margin-top: 0.25rem;
}

/* No-image placeholder */
.poster-no-image {
  color: var(--bg-secondary-450, #495057);
}

.poster-no-image svg {
  width: 80px;
  height: 80px;
}

/* Info text */
.poster-info-section {
  margin-top: 1rem;
}

.poster-muted-1 {
  color: var(--fg-muted-1, #adb5bd);
  font-size: 0.875rem;
}

.poster-muted-2 {
  color: var(--fg-muted-2, #868e96);
  font-size: 0.8125rem;
  margin-top: 2px;
}

/* Buttons */
.poster-buttons {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1rem;
  justify-content: center;
  gap: 0.75rem;
}

.poster-btn {
  display: inline-flex;
  align-items: center;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  transition: background-color 0.15s, opacity 0.15s;
  line-height: 1.5;
}

.poster-btn-secondary {
  background-color: var(--bg-secondary-400, #3a3a3a);
  color: var(--fg-color, #fff);
}

.poster-btn-secondary:hover {
  opacity: 0.85;
}

.poster-btn-danger {
  background-color: #c0392b;
  color: #fff;
}

.poster-btn-danger:hover {
  background-color: #a93226;
}

/* Watch page poster */
.poster-watch-container img {
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  transition: transform 0.2s;
}

.poster-watch-container img:hover {
  transform: scale(1.02);
}
/* Playlist Metadata Plugin */

/* Walk-up ancestor tagging (applied by JS on the playlist update page only)
   widens every parent of the wrapper so PeerTube's centered narrow column
   doesn't squeeze the form. Tag is removed on cleanup. */
.plm-ancestor {
  max-width: none !important;
}

/* Breadcrumb / title on its own full-width row above the grid */
.plm-breadcrumb-row {
  display: block !important;
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto 16px !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 2-column grid wrapping PeerTube's form: form on left, plugin UI on right */
.plm-layout-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 24px;
  align-items: start;
  margin: 8px auto 0;
  width: 100%;
  max-width: 1100px;
}

/* Limit form field width so description / textarea doesn't stretch wide */
.plm-layout-wrapper > .plm-right form .form-group,
.plm-layout-wrapper > .plm-right form > div,
.plm-layout-wrapper > .plm-right form textarea,
.plm-layout-wrapper > .plm-right form input[type="text"],
.plm-layout-wrapper > .plm-right form input[type="email"] {
  max-width: 100%;
}
.plm-layout-wrapper > .plm-right form {
  max-width: 720px;
}

.plm-layout-wrapper > .plm-right {
  min-width: 0;
}
.plm-layout-wrapper > .plm-right form {
  width: 100%;
  max-width: 100%;
}
.plm-layout-wrapper > .plm-right form label,
.plm-layout-wrapper > .plm-right form .form-group > label {
  white-space: nowrap;
}

.plm-layout-wrapper .plm-left {
  position: sticky;
  top: 16px;
  min-width: 0;
}

.plm-layout-wrapper .plm-right {
  min-width: 0;
}

.plm-layout-wrapper > .plm-right > form {
  width: 100%;
  max-width: 100%;
}

/* Collapse to single column on narrow screens */
@media (max-width: 900px) {
  .plm-layout-wrapper {
    grid-template-columns: 1fr !important;
  }
  .plm-layout-wrapper .plm-left {
    position: static;
  }
}

/* Keep the breadcrumb / page title on one line */
my-account-video-playlist-update .breadcrumb,
my-video-playlist-edit .breadcrumb,
.sub-menu-entry,
my-my-account ~ h1 {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#playlist-metadata-plugin-section {
  padding: 16px;
  border-radius: 6px;
  background: var(--bg-secondary-500, rgba(255,255,255,0.02));
  border: 1px solid var(--bg-secondary-400, #2b2b2b);
}

.plm-title {
  font-size: 15px;
  font-weight: 600;
  margin: 20px 0 12px;
  color: var(--fg-color, #fff);
}

.plm-label {
  display: block;
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 10px;
  color: var(--fg-color, #fff);
}

.plm-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
.plm-grid .plm-field:first-child,
.plm-grid .plm-field-wide {
  grid-column: 1 / -1;
}

.plm-field select {
  background-color: var(--input-bg, #1e1e1e);
  color: var(--input-fg, #fff);
  border: 1px solid var(--input-border, #3a3a3a);
  border-radius: 3px;
  padding: 6px 10px;
  font-size: 14px;
  line-height: 1.4;
}
.plm-field select:focus {
  outline: none;
  border-color: var(--primary, #fd5050);
}

.plm-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
  color: var(--fg-muted-1, #adb5bd);
}

.plm-field > span {
  font-weight: 600;
  color: var(--fg-color, #fff);
  font-size: 13px;
}

.plm-field input {
  background-color: var(--input-bg, #1e1e1e);
  color: var(--input-fg, #fff);
  border: 1px solid var(--input-border, #3a3a3a);
  border-radius: 3px;
  padding: 6px 10px;
  font-size: 14px;
  line-height: 1.4;
}

.plm-field input:focus {
  outline: none;
  border-color: var(--primary, #fd5050);
}

.plm-field small {
  color: var(--fg-muted-2, #868e96);
  font-size: 12px;
}

.plm-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.plm-status {
  font-size: 13px;
}

.plm-status-info { color: var(--fg-muted-1, #adb5bd); }
.plm-status-ok   { color: #4caf50; }
.plm-status-err  { color: #ff4d4f; }

.plm-sep {
  border: none;
  border-top: 1px solid var(--bg-secondary-400, #2b2b2b);
  margin: 24px 0 16px;
}

.plm-btn {
  display: inline-flex;
  align-items: center;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  line-height: 1.5;
  transition: background-color 0.15s, opacity 0.15s;
}

.plm-btn-primary {
  background-color: var(--primary, #fd5050);
  color: #fff;
}
.plm-btn-primary:hover { opacity: 0.9; }

.plm-btn-secondary {
  background-color: var(--bg-secondary-400, #3a3a3a);
  color: var(--fg-color, #fff);
}
.plm-btn-secondary:hover { opacity: 0.85; }

.plm-btn-danger {
  background-color: #c0392b;
  color: #fff;
}
.plm-btn-danger:hover { background-color: #a93226; }

/* Poster */
.plm-poster-root {
  min-height: 180px;
  text-align: center;
  padding: 1rem;
  border-radius: 4px;
  border: 1px dashed var(--secondary-icon-color, #6c757d);
  position: relative;
  background: var(--bg-secondary-600, rgba(0,0,0,0.15));
}

#plm-poster-img {
  width: 100%;
  max-width: 260px;
  max-height: 360px;
}

.plm-poster-root.plm-dragover {
  background-color: var(--bg-secondary-400, rgba(255,255,255,0.05));
  border-color: var(--primary, #fd5050);
}

#plm-poster-preview {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

#plm-poster-img {
  max-width: 200px;
  max-height: 300px;
  border-radius: 4px;
  object-fit: cover;
}

.plm-caption {
  color: var(--fg-muted-2, #868e96);
  font-size: 12px;
}

.plm-poster-empty {
  color: var(--bg-secondary-450, #495057);
}

.plm-poster-empty .plm-muted {
  color: var(--fg-muted-2, #868e96);
  font-size: 13px;
  margin-top: 8px;
}

.plm-poster-buttons {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-top: 14px;
}

.plm-progress {
  margin-top: 12px;
  background: var(--bg-secondary-400, #333);
  border-radius: 4px;
  overflow: hidden;
  height: 4px;
}

#plm-poster-bar {
  height: 4px;
  width: 0%;
  background: var(--primary, #fd5050);
  transition: width 0.3s;
}

.plm-msg {
  margin-top: 8px;
  font-size: 13px;
}
.plm-msg-ok  { color: #4caf50; }
.plm-msg-err { color: #ff4d4f; }
