/**
 * YOOAdmin Dark Engine v2 — media layer.
 *
 * @package YOOAdmin_Studio_Hub
 */

/* Grid view. */
html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  #wpbody-content
  :is(.media-frame, .media-frame-content, .attachments-browser, .media-toolbar) {
  background: transparent;
  color: var(--yp-dark-text);
}

html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  #wpbody-content
  .media-toolbar {
  border-color: var(--yp-dark-border-soft);
}

html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  #wpbody-content
  .attachment .thumbnail {
  background: var(--yp-dark-surface-raised);
}

html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  #wpbody-content
  .attachment .attachment-preview {
  background: var(--yp-dark-surface-sunken);
}

/* Sidebar / attachment details. */
html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  #wpbody-content
  :is(.media-sidebar, .attachment-details, .attachment-info) {
  background: var(--yp-dark-surface);
  color: var(--yp-dark-text);
  border-color: var(--yp-dark-border);
}

html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  #wpbody-content
  :is(.media-sidebar .setting, .attachment-details label, .attachment-info .details) {
  color: var(--yp-dark-text-muted);
}

/* Form fields. */
html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  #wpbody-content
  :is(.media-sidebar, .attachment-details)
  :is(input[type='text'], input[type='url'], input[type='number'], textarea, select) {
  background: var(--yp-dark-field);
  border: 1px solid var(--yp-dark-field-border);
  color: var(--yp-dark-text);
  color-scheme: dark;
}

/* Uploader. */
html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  #wpbody-content
  :is(.uploader-inline, #plupload-upload-ui, .drag-drop-area, .upload-ui) {
  background: var(--yp-dark-surface);
  border-color: var(--yp-dark-border);
  color: var(--yp-dark-text);
}

html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  #wpbody-content
  :is(.drag-drop-info, .uploader-inline .drag-drop-buttons, #drag-drop-area p) {
  color: var(--yp-dark-text-muted);
}

/* Modal. */
html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  :is(
    .media-modal-content, .media-frame, .media-frame-menu, .media-frame-title,
    .media-frame-router, .media-frame-content, .media-frame-toolbar,
    .media-sidebar, .attachment-details, .attachment-info, .attachment-media-view,
    .attachment-details .settings, .media-frame .attachments-browser .media-toolbar
  ) {
  background-color: var(--yp-dark-surface) !important;
  color: var(--yp-dark-text);
}

html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  .media-modal-backdrop {
  background: rgba(0, 0, 0, 0.7);
}

html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  :is(
    .media-frame-title h1, .media-frame-menu .media-menu-item,
    .media-frame-router .media-router .media-menu-item,
    .attachment-info .details, .attachment-details .setting,
    .attachment-details label, .attachment-info a
  ) {
  color: var(--yp-dark-text);
}

html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  :is(.attachment-info .details, .attachment-details .name, .setting .description) {
  color: var(--yp-dark-text-muted);
}

html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  .attachment-details
  :is(input[type='text'], input[type='url'], input[type='number'], textarea, select) {
  background-color: var(--yp-dark-field) !important;
  border: 1px solid var(--yp-dark-field-border) !important;
  color: var(--yp-dark-text) !important;
  color-scheme: dark;
}

html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  .media-frame-menu .media-menu-item.active {
  color: var(--yp-dark-accent);
}

html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  :is(.media-frame-menu, .media-frame-content, .media-sidebar, .media-frame-title) {
  border-color: var(--yp-dark-border) !important;
}

/* Compat items — third-party plugin fields / notices injected into the
   attachment details sidebar (e.g. Image Optimizer, Smush, ShortPixel). */
html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  :is(.compat-item, .attachment-compat) {
  background: var(--yp-dark-surface) !important;
  color: var(--yp-dark-text) !important;
  border-color: var(--yp-dark-border) !important;
}

html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  :is(.compat-item, .attachment-compat)
  :is(th, td, label, span, p, div, a) {
  color: var(--yp-dark-text) !important;
}

html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  :is(.compat-item, .attachment-compat)
  :is(input[type='text'], input[type='url'], textarea, select) {
  background: var(--yp-dark-field) !important;
  border-color: var(--yp-dark-field-border) !important;
  color: var(--yp-dark-text) !important;
}

/* Notices / banners injected inside media sidebar by third-party plugins. */
html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  :is(.media-sidebar, .attachment-details, .attachment-info)
  :is(.notice, .updated, div.error, [class*='notice'], [class*='banner'],
      [class*='promo'], [class*='upsell'], [class*='upgrade'],
      [class*='optimizer'], [class*='Optimizer']) {
  background: var(--yp-dark-surface-raised) !important;
  border-color: var(--yp-dark-border) !important;
  color: var(--yp-dark-text) !important;
}

html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  :is(.media-sidebar, .attachment-details, .attachment-info)
  :is(.notice, .updated, div.error, [class*='notice'], [class*='banner'],
      [class*='promo'], [class*='upsell'], [class*='upgrade'],
      [class*='optimizer'], [class*='Optimizer'])
  :is(span, p, a, strong, em, div, h3, h4) {
  color: var(--yp-dark-text) !important;
}

html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  :is(.media-sidebar, .attachment-details, .attachment-info)
  :is(.notice, [class*='notice'], [class*='banner'], [class*='promo'])
  a {
  color: var(--yp-dark-link) !important;
}

/* Catch-all: any remaining light-background child inside media sidebar.
   Force background + text on all nested containers — many plugin banners
   are plain divs without identifiable class names. */
html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  :is(.media-sidebar, .attachment-details)
  :is(div, section, fieldset):not([class*='thumbnail']):not(.attachment-preview):not(.setting) {
  background-color: transparent !important;
  color: var(--yp-dark-text) !important;
}

html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  :is(.media-sidebar, .attachment-details)
  :is(div, section, fieldset):not([class*='thumbnail']):not(.attachment-preview):not(.setting)
  :is(span, p, strong, em, small, label, a:not(.button)) {
  color: inherit !important;
}

html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  :is(.media-sidebar, .attachment-details)
  a:not(.button):not(.button-primary) {
  color: var(--yp-dark-link) !important;
}

/* Dismiss / close buttons inside notices. */
html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  :is(.media-sidebar, .attachment-details)
  :is(.notice-dismiss, [class*='dismiss'], [class*='close'], [aria-label*='Dismiss']) {
  color: var(--yp-dark-text-muted) !important;
}

/* Delete / action links. */
html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  .attachment-details .delete-attachment,
html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  .attachment-details .trash-attachment {
  color: #e06c6c !important;
}

/* Selected attachment. */
html[data-yooadmin-studio-color-mode-effective='dark']
  body.yp-dark-v2-media
  .attachment.selected .thumbnail {
  box-shadow: inset 0 0 0 3px var(--yp-dark-surface), inset 0 0 0 7px var(--yp-dark-accent);
}
