.theme-icon-link {
    width: 2.5rem;
    height: 2.5rem;
    padding: 0 !important;
    line-height: 1;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: .5rem;
    color: var(--bs-body-color);
    transform: translateY(2px);
}

.theme-icon-link:hover,
.theme-icon-link:focus {
    color: var(--bs-primary);
    background: var(--bs-tertiary-bg);
}

.theme-icon-link:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

.theme-dropdown-menu {
    --bs-dropdown-min-width: 8rem;
}

.theme-dropdown-menu .dropdown-item.active {
    font-weight: 600;
}