/* Theme picker + admin profile menu + gallery */

.theme-picker-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 999px;
  border: 1px solid var(--border, #232838);
  background: var(--surface, #12161f);
  color: var(--text-muted, #8b93a7);
  text-decoration: none !important;
  transition: color .15s, border-color .15s, background .15s;
}
.theme-picker-btn:hover {
  color: var(--accent);
  border-color: var(--accent-dim, var(--accent));
  background: var(--surface-2, var(--surface));
}

.theme-card-selected {
  outline: 2px solid var(--accent, #e3b341);
  outline-offset: 1px;
}

.admin-profile { position: relative; }
.admin-profile-btn {
  display: inline-flex;
  padding: 0;
  border: 2px solid var(--border, #232838);
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  overflow: hidden;
  width: 2.35rem;
  height: 2.35rem;
  transition: border-color .15s;
}
.admin-profile-btn:hover,
.admin-profile-btn[aria-expanded="true"] {
  border-color: var(--accent);
}
.admin-profile-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 999px;
}
.admin-profile-dropdown.dropdown-menu {
  width: min(18rem, 90vw);
  padding: 0 !important;
  margin-top: .4rem !important;
  background: var(--surface) !important;
  border: 1px solid var(--border-soft) !important;
  border-radius: 12px !important;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}
.admin-profile-dropdown.dropdown-menu.show {
  display: flex !important;
  flex-direction: column;
}
.admin-profile-head {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .85rem 1rem;
  border-bottom: 1px solid var(--border-soft);
  background: var(--surface-2);
}
.admin-profile-head .admin-profile-avatar {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}
.admin-profile-list { padding: .35rem 0; }
.admin-profile-item {
  display: block;
  padding: .55rem 1rem;
  color: var(--text) !important;
  text-decoration: none !important;
  font-size: .88rem;
}
.admin-profile-item:hover {
  background: var(--surface-2);
  color: var(--accent) !important;
}
.admin-profile-foot {
  padding: .65rem 1rem;
  border-top: 1px solid var(--border-soft);
  background: var(--surface-2);
}

.admin-topbar-start .admin-profile { margin-inline-end: .25rem; }
.admin-topbar-end .theme-picker-btn { margin-inline: .15rem; }

/* Public navbar icon alignment */
.nav-quick .theme-picker-btn {
  width: 2.25rem;
  height: 2.25rem;
}
