/*
 * Promtek Mail — Betterbird-inspired folder identity colours.
 *
 * Roundcube keeps ownership of every native folder glyph, label, unread badge,
 * selection state, and folder action. This layer changes icon colour only.
 */

html:not(.iframe) body:not(.task-login) {
  --promtek-folder-inbox: #2e7cc4;
  --promtek-folder-drafts: #7a6bb5;
  --promtek-folder-sent: #2f9e5e;
  --promtek-folder-junk: #d8453a;
  --promtek-folder-trash: #7c8794;
  --promtek-folder-archive: #c08a3e;
  --promtek-folder-ordinary: #d9a63c;
  --promtek-folder-outbox: #2a9d9d;
}

html.dark-mode:not(.iframe) body:not(.task-login) {
  --promtek-folder-inbox: #5aa6e8;
  --promtek-folder-drafts: #a398dc;
  --promtek-folder-sent: #4cc47d;
  --promtek-folder-junk: #f0685c;
  --promtek-folder-trash: #9ba6b3;
  --promtek-folder-archive: #dca95c;
  --promtek-folder-ordinary: #efc161;
  --promtek-folder-outbox: #46c0c0;
}

/*
 * Assign one inherited identity colour to each native mailbox row. The direct
 * pseudo-element rule below then survives hover and selection automatically.
 */
html:not(.iframe) body:not(.task-login) #mailboxlist li.mailbox,
html:not(.iframe) body:not(.task-login) .folderlist li.mailbox,
html:not(.iframe) body:not(.task-login) .listing.iconized li.mailbox {
  --promtek-folder-icon: var(--promtek-folder-ordinary);
}

html:not(.iframe) body:not(.task-login) #mailboxlist li.mailbox.inbox,
html:not(.iframe) body:not(.task-login) .folderlist li.mailbox.inbox,
html:not(.iframe) body:not(.task-login) .listing.iconized li.mailbox.inbox {
  --promtek-folder-icon: var(--promtek-folder-inbox);
}

html:not(.iframe) body:not(.task-login) #mailboxlist li.mailbox.drafts,
html:not(.iframe) body:not(.task-login) .folderlist li.mailbox.drafts,
html:not(.iframe) body:not(.task-login) .listing.iconized li.mailbox.drafts {
  --promtek-folder-icon: var(--promtek-folder-drafts);
}

html:not(.iframe) body:not(.task-login) #mailboxlist li.mailbox.sent,
html:not(.iframe) body:not(.task-login) .folderlist li.mailbox.sent,
html:not(.iframe) body:not(.task-login) .listing.iconized li.mailbox.sent {
  --promtek-folder-icon: var(--promtek-folder-sent);
}

html:not(.iframe) body:not(.task-login) #mailboxlist li.mailbox.junk,
html:not(.iframe) body:not(.task-login) .folderlist li.mailbox.junk,
html:not(.iframe) body:not(.task-login) .listing.iconized li.mailbox.junk {
  --promtek-folder-icon: var(--promtek-folder-junk);
}

html:not(.iframe) body:not(.task-login) #mailboxlist li.mailbox.trash,
html:not(.iframe) body:not(.task-login) .folderlist li.mailbox.trash,
html:not(.iframe) body:not(.task-login) .listing.iconized li.mailbox.trash {
  --promtek-folder-icon: var(--promtek-folder-trash);
}

html:not(.iframe) body:not(.task-login) #mailboxlist li.mailbox.archive,
html:not(.iframe) body:not(.task-login) .folderlist li.mailbox.archive,
html:not(.iframe) body:not(.task-login) .listing.iconized li.mailbox.archive {
  --promtek-folder-icon: var(--promtek-folder-archive);
}

/* Outbox is not a standard Roundcube special-folder class. Cover common IDs. */
html:not(.iframe) body:not(.task-login) #mailboxlist li.mailbox.outbox,
html:not(.iframe) body:not(.task-login) #mailboxlist li#rcmli_outbox,
html:not(.iframe) body:not(.task-login) #mailboxlist li[id$="_Outbox"],
html:not(.iframe) body:not(.task-login) #mailboxlist li[id$="_OUTBOX"] {
  --promtek-folder-icon: var(--promtek-folder-outbox);
}

/*
 * Colour only the icon itself. The row background, orange selected edge,
 * unread badge, unread dot, text, indentation, and hit area remain untouched.
 */
html:not(.iframe) body:not(.task-login) #mailboxlist li.mailbox > a::before,
html:not(.iframe) body:not(.task-login) #mailboxlist li.mailbox > div > a::before,
html:not(.iframe) body:not(.task-login) .folderlist li.mailbox > a::before,
html:not(.iframe) body:not(.task-login) .folderlist li.mailbox > div > a::before,
html:not(.iframe) body:not(.task-login) .listing.iconized li.mailbox > a::before,
html:not(.iframe) body:not(.task-login) .listing.iconized li.mailbox > div > a::before {
  color: var(--promtek-folder-icon) !important;
}

/* Keep Settings → Folders visually consistent where those native rows exist. */
html:not(.iframe) body:not(.task-login) #subscription-table tr.mailbox,
html:not(.iframe) body:not(.task-login) #folders-table tr.mailbox {
  --promtek-folder-icon: var(--promtek-folder-ordinary);
}

html:not(.iframe) body:not(.task-login) #subscription-table tr.mailbox.inbox,
html:not(.iframe) body:not(.task-login) #folders-table tr.mailbox.inbox {
  --promtek-folder-icon: var(--promtek-folder-inbox);
}

html:not(.iframe) body:not(.task-login) #subscription-table tr.mailbox.drafts,
html:not(.iframe) body:not(.task-login) #folders-table tr.mailbox.drafts {
  --promtek-folder-icon: var(--promtek-folder-drafts);
}

html:not(.iframe) body:not(.task-login) #subscription-table tr.mailbox.sent,
html:not(.iframe) body:not(.task-login) #folders-table tr.mailbox.sent {
  --promtek-folder-icon: var(--promtek-folder-sent);
}

html:not(.iframe) body:not(.task-login) #subscription-table tr.mailbox.junk,
html:not(.iframe) body:not(.task-login) #folders-table tr.mailbox.junk {
  --promtek-folder-icon: var(--promtek-folder-junk);
}

html:not(.iframe) body:not(.task-login) #subscription-table tr.mailbox.trash,
html:not(.iframe) body:not(.task-login) #folders-table tr.mailbox.trash {
  --promtek-folder-icon: var(--promtek-folder-trash);
}

html:not(.iframe) body:not(.task-login) #subscription-table tr.mailbox.archive,
html:not(.iframe) body:not(.task-login) #folders-table tr.mailbox.archive {
  --promtek-folder-icon: var(--promtek-folder-archive);
}

html:not(.iframe) body:not(.task-login) #subscription-table tr.mailbox > td.name::before,
html:not(.iframe) body:not(.task-login) #folders-table tr.mailbox > td.name::before {
  color: var(--promtek-folder-icon) !important;
}
